AliPhysics  9fe175b (9fe175b)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskSEPicoV0MakerMC.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKSEPICOV0MAKERMC_H
2 #define ALIANALYSISTASKSEPICOV0MAKERMC_H
3 
4 //*************************************************************************
5 // Class AliAnalysisTaskSEPicoV0MakerMC
6 // AliAnalysisTaskSE for V0s (K0 short, Lambda... ) filtering
7 // lite version only for MC
8 // Author: X-M. Zhang, xmzhang@lbl.gov
9 //*************************************************************************
10 
11 #include "AliAnalysisTaskSE.h"
12 
13 class TClonesArray;
14 
15 class AliAODv0;
16 class AliESDv0;
17 class AliAODEvent;
18 class AliESDEvent;
19 class AliCentrality;
20 class AliPIDResponse;
21 class AliAnalysisUtils;
22 
23 class AliAnalysisTaskSEPicoV0MakerMC : public AliAnalysisTaskSE {
24 
25  public :
26 
28  AliAnalysisTaskSEPicoV0MakerMC(const char *name);
30 
31  virtual void Init();
32  virtual void LocalInit() { Init(); }
33  virtual void UserCreateOutputObjects();
34  virtual void UserExec(Option_t *opt);
35  virtual void Terminate(Option_t *opt);
36  virtual void NotifyRun();
37 //=============================================================================
38 
39  void SetTriggerMask(UInt_t w) { fTriggerMask = w; }
40  void SetCollitionType(UInt_t w) { fCollisionType = w; }
42  void SetCentralityEstimator(TString s) { fCentEst = s; }
43 
44  void SetRefitV0ESD() { fIsRefitV0sESD = kTRUE; }
45  void SetSkipFastOnly() { fIsSkipFastOnly = kTRUE; }
46  void SetDMPjetMC() { fIsDPMjetMC = kTRUE; }
47 
48  void SetV0PtRange(Double_t dMin, Double_t dMax) { fCutMinV0Pt = dMin; fCutMaxV0Pt = dMax; }
49  void SetV0RapRange(Double_t dMin, Double_t dMax) { fCutMinV0Rap = dMin; fCutMaxV0Rap = dMax; }
50 
51  void SetDauPtRange(Double_t d) { fCutMinDauPt = d; }
52  void SetDauEtaRange(Double_t dMin, Double_t dMax) { fCutMinDauEta = dMin; fCutMaxDauEta = dMax; }
53 
54  void SetV0Cuts(Double_t d[14]);
55  void SetKaCutMaxKaArmFrac(Double_t d) { fCutMaxKshortArmFrac = d; }
56  void SetLaCutMaxLaArmFrac(Double_t d) { fCutMaxLambdaArmFrac = d; }
57 //=============================================================================
58 
59  private :
60 
63 //=============================================================================
64 
65  void FillPicoV0s();
66 
67  AliPicoV0MC* SelectV0Candidate(AliAODv0 const *pV0);
68  AliPicoV0MC* SelectV0Candidate(AliESDv0 const *pV0);
69 
70  Bool_t IsEventNotAcpt();
71  Bool_t IsEventNotINEL();
72  Bool_t IsEventNotMBsa();
73 
74  void FillHistograms();
75  void CreateHistograms();
76 
77  void InitAnalysis();
78 //=============================================================================
79 
80  AliAODEvent *fEventAOD;
81  AliESDEvent *fEventESD;
82  AliCentrality *fCentInfo;
83  AliPIDResponse *fRespoPID;
84  AliAnalysisUtils *fAnaUtils;
85 
86  UInt_t fEventAcptMask; //
87  Double_t fPrimaryVtx[3];
88 //=============================================================================
89 
90  UInt_t fTriggerMask; //
91  UInt_t fCollisionType; //
92 
93  TString fCentEst; //
94 
95  Bool_t fIsRefitV0sESD; //
96  Bool_t fIsSkipFastOnly; //
97  Bool_t fIsDPMjetMC; //
98 //=============================================================================
99 
101  Float_t fCutMaxEventVzAbs; //
102 
103  Double_t fCutMinV0Pt; //
104  Double_t fCutMaxV0Pt; //
105  Double_t fCutMinV0Rap; //
106  Double_t fCutMaxV0Rap; //
107 
108  Double_t fCutMinDauPt; //
109  Double_t fCutMinDauEta; //
110  Double_t fCutMaxDauEta; //
111 
112  Double_t fCutMaxV0Chi2; //
113  Double_t fCutMinV0Radius; //
114  Double_t fCutMaxV0Radius; //
115 
116  Double_t fCutMaxDausDCA; //
117  Double_t fCutMinDauDCAtoPV; //
118  Float_t fCutMinDauXrowsTPC; //
120 
122  Double_t fCutMinKshortCosPA; //
123  Double_t fCutMaxKshortCtau; //
124  Double_t fCutMaxKshortArmFrac; //
125  Double_t fCutMinKshortDeltaM; //
126 
128  Double_t fCutMinLambdaCosPA; //
129  Double_t fCutMaxLambdaCtau; //
130  Double_t fCutMaxLambdaArmFrac; //
131  Double_t fCutMinLambdaDeletaM; //
132 //=============================================================================
133 
134  static const Double_t fgkMassPion; //
135  static const Double_t fgkMassKshort; //
136  static const Double_t fgkMassLambda; //
137  static const Double_t fgkMassProton; //
138 //=============================================================================
139 
140  TClonesArray *fPicoV0sClArr;
141 
143 
144  ClassDef(AliAnalysisTaskSEPicoV0MakerMC, 1)
145 };
146 
147 #endif
void SetV0RapRange(Double_t dMin, Double_t dMax)
void SetV0PtRange(Double_t dMin, Double_t dMax)
AliPicoV0MC * SelectV0Candidate(AliAODv0 const *pV0)
AliAnalysisTaskSEPicoV0MakerMC & operator=(const AliAnalysisTaskSEPicoV0MakerMC &)
void SetDauEtaRange(Double_t dMin, Double_t dMax)