]>
Commit | Line | Data |
---|---|---|
b254f323 | 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 | ||
27 | AliAnalysisTaskSEPicoV0MakerMC(); | |
28 | AliAnalysisTaskSEPicoV0MakerMC(const char *name); | |
29 | virtual ~AliAnalysisTaskSEPicoV0MakerMC(); | |
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; } | |
41 | void SetVertexContributorN(Int_t i) { fCutMinEventVtxContr = i; } | |
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 | ||
61 | AliAnalysisTaskSEPicoV0MakerMC(const AliAnalysisTaskSEPicoV0MakerMC &); | |
62 | AliAnalysisTaskSEPicoV0MakerMC& operator=(const AliAnalysisTaskSEPicoV0MakerMC &); | |
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 | ||
100 | Int_t fCutMinEventVtxContr; // | |
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; // | |
119 | Double_t fCutMinDauXrowsOverFindableClusTPC; // | |
120 | ||
121 | Float_t fCutMaxKshortSigmaTPC; // | |
122 | Double_t fCutMinKshortCosPA; // | |
123 | Double_t fCutMaxKshortCtau; // | |
124 | Double_t fCutMaxKshortArmFrac; // | |
125 | Double_t fCutMinKshortDeltaM; // | |
126 | ||
127 | Float_t fCutMaxLambdaSigmaTPC; // | |
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 | ||
142 | TList *fListUserOutputs; //! | |
143 | ||
144 | ClassDef(AliAnalysisTaskSEPicoV0MakerMC, 1) | |
145 | }; | |
146 | ||
147 | #endif |