]>
Commit | Line | Data |
---|---|---|
2bb2434e | 1 | #ifndef ALIANLYSISTASKGAMMACONVV1_cxx |
2 | #define ALIANLYSISTASKGAMMACONVV1_cxx | |
3 | ||
4 | #include "AliAnalysisTaskSE.h" | |
5 | #include "AliESDtrack.h" | |
6 | #include "AliV0ReaderV1.h" | |
344100c4 | 7 | #include "AliConvEventCuts.h" |
2bb2434e | 8 | #include "AliKFConversionPhoton.h" |
9 | #include "AliGammaConversionAODBGHandler.h" | |
e5b6e8a6 | 10 | #include "AliConversionAODBGHandlerRP.h" |
ca91a3e1 | 11 | #include "AliConversionMesonCuts.h" |
11c1e680 | 12 | #include "AliAnalysisManager.h" |
526074e4 | 13 | #include "TProfile2D.h" |
2bb2434e | 14 | #include "TH3.h" |
e5b6e8a6 | 15 | #include "TH3F.h" |
2bb2434e | 16 | |
17 | class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE { | |
2bb2434e | 18 | |
344100c4 | 19 | public: |
20 | AliAnalysisTaskGammaConvV1(); | |
21 | AliAnalysisTaskGammaConvV1(const char *name); | |
22 | virtual ~AliAnalysisTaskGammaConvV1(); | |
2bb2434e | 23 | |
344100c4 | 24 | virtual void UserCreateOutputObjects(); |
25 | virtual Bool_t Notify(); | |
26 | virtual void UserExec(Option_t *); | |
27 | virtual void Terminate(const Option_t*); | |
28 | void InitBack(); | |
2bb2434e | 29 | |
344100c4 | 30 | void SetIsHeavyIon(Int_t flag){ |
31 | fIsHeavyIon = flag; | |
32 | ||
33 | } | |
ae947965 | 34 | |
344100c4 | 35 | void SetIsMC(Bool_t isMC){fIsMC=isMC;} |
36 | void SetDoMesonAnalysis(Bool_t flag){fDoMesonAnalysis = flag;} | |
37 | void SetDoMesonQA(Int_t flag){fDoMesonQA = flag;} | |
38 | void SetDoPhotonQA(Int_t flag){fDoPhotonQA = flag;} | |
39 | void ProcessPhotonCandidates(); | |
40 | void CalculatePi0Candidates(); | |
41 | void CalculateBackground(); | |
42 | void CalculateBackgroundRP(); | |
43 | void ProcessMCParticles(); | |
44 | void ProcessAODMCParticles(); | |
45 | void RelabelAODPhotonCandidates(Bool_t mode); | |
46 | void ProcessTruePhotonCandidates( AliAODConversionPhoton* TruePhotonCandidate); | |
47 | void ProcessTruePhotonCandidatesAOD( AliAODConversionPhoton* TruePhotonCandidate); | |
48 | void ProcessTrueMesonCandidates( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1); | |
49 | void ProcessTrueMesonCandidatesAOD(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1); | |
50 | void RotateParticle(AliAODConversionPhoton *gamma); | |
51 | void RotateParticleAccordingToEP(AliAODConversionPhoton *gamma, Double_t previousEventEP, Double_t thisEventEP); | |
52 | void SetEventCutList(Int_t nCuts, TList *CutArray){ | |
53 | fnCuts = nCuts; | |
54 | fEventCutArray = CutArray; | |
55 | } | |
56 | void SetConversionCutList(Int_t nCuts, TList *CutArray){ | |
57 | fnCuts = nCuts; | |
58 | fCutArray = CutArray; | |
59 | } | |
60 | void SetMesonCutList(Int_t nCuts, TList *CutArray){ | |
61 | fnCuts = nCuts; | |
62 | fMesonCutArray = CutArray; | |
63 | } | |
2bb2434e | 64 | |
344100c4 | 65 | // BG HandlerSettings |
66 | void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;} | |
67 | void FillPhotonCombinatorialBackgroundHist(AliAODConversionPhoton *TruePhotonCandidate, Int_t pdgCode[]); | |
68 | void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex); | |
69 | void UpdateEventByEventData(); | |
70 | void SetLogBinningXTH2(TH2* histoRebin); | |
71 | Int_t GetSourceClassification(Int_t daughter, Int_t pdgCode); | |
72 | ||
73 | protected: | |
74 | AliV0ReaderV1 *fV0Reader; // | |
75 | AliGammaConversionAODBGHandler **fBGHandler; // | |
76 | AliConversionAODBGHandlerRP **fBGHandlerRP; // | |
77 | AliVEvent *fInputEvent; // | |
78 | AliMCEvent *fMCEvent; // | |
79 | AliStack *fMCStack; // | |
80 | TList **fCutFolder; // | |
81 | TList **fESDList; // | |
82 | TList **fBackList; // | |
83 | TList **fMotherList; // | |
84 | TList **fPhotonDCAList; // | |
85 | TList **fMesonDCAList; // | |
86 | TList **fTrueList; // | |
87 | TList **fMCList; // | |
88 | TList **fHeaderNameList; // | |
89 | TList *fOutputContainer; // | |
90 | TClonesArray *fReaderGammas; // | |
91 | TList *fGammaCandidates; // | |
92 | TList *fEventCutArray; // | |
93 | AliConvEventCuts *fEventCuts; // | |
94 | TList *fCutArray; // | |
95 | AliConversionPhotonCuts *fConversionCuts; // | |
96 | TList *fMesonCutArray; // | |
97 | AliConversionMesonCuts *fMesonCuts; // | |
98 | TH1F **hESDConvGammaPt; // | |
99 | TH1F **hESDConvGammaR; // | |
100 | TH1F **hESDConvGammaEta; // | |
101 | TTree **tESDConvGammaPtDcazCat; // | |
102 | Float_t fPtGamma; // | |
103 | Float_t fDCAzPhoton; // | |
104 | Float_t fRConvPhoton; // | |
105 | Float_t fEtaPhoton; // | |
106 | UChar_t iCatPhoton; // | |
107 | UChar_t iPhotonMCInfo; // | |
108 | // 0: garbage, | |
109 | // 1: background | |
110 | // 2: secondary photon not from eta or k0s, | |
111 | // 3: secondary photon from eta, | |
112 | // 4: secondary photon from k0s, | |
113 | // 5: dalitz | |
114 | // 6: primary gamma | |
115 | TH2F **hESDMotherInvMassPt; // | |
116 | THnSparseF **sESDMotherInvMassPtZM; // | |
117 | TH2F **hESDMotherBackInvMassPt; // | |
118 | THnSparseF **sESDMotherBackInvMassPtZM; // | |
119 | TH2F **hESDMotherInvMassEalpha; // | |
120 | TH2F **hESDMotherPi0PtY; // | |
121 | TH2F **hESDMotherEtaPtY; // | |
122 | TH2F **hESDMotherPi0PtAlpha; // | |
123 | TH2F **hESDMotherEtaPtAlpha; // | |
124 | TH2F **hESDMotherPi0PtOpenAngle; // | |
125 | TH2F **hESDMotherEtaPtOpenAngle; // | |
126 | TH1I **hMCHeaders; // | |
127 | TH1F **hMCAllGammaPt; // | |
128 | TH1F **hMCDecayGammaPi0Pt; // | |
129 | TH1F **hMCDecayGammaRhoPt; // | |
130 | TH1F **hMCDecayGammaEtaPt; // | |
131 | TH1F **hMCDecayGammaOmegaPt; // | |
132 | TH1F **hMCDecayGammaEtapPt; // | |
133 | TH1F **hMCDecayGammaPhiPt; // | |
134 | TH1F **hMCDecayGammaSigmaPt; // | |
135 | TH1F **hMCConvGammaPt; // | |
136 | TH1F **hMCConvGammaR; // | |
137 | TH1F **hMCConvGammaEta; // | |
138 | TH1F **hMCPi0Pt; // | |
139 | TH1F **hMCPi0WOWeightPt; // | |
140 | TH1F **hMCEtaPt; // | |
141 | TH1F **hMCEtaWOWeightPt; // | |
142 | TH1F **hMCPi0InAccPt; // | |
143 | TH1F **hMCEtaInAccPt; // | |
144 | TH2F **hMCPi0PtY; // | |
145 | TH2F **hMCEtaPtY; // | |
de752898 | 146 | TH2F **hMCPi0PtAlpha; // |
147 | TH2F **hMCEtaPtAlpha; // | |
344100c4 | 148 | TH1F **hMCK0sPt; // |
149 | TH1F **hMCK0sWOWeightPt; // | |
150 | TH2F **hMCK0sPtY; // | |
151 | TH2F **hMCSecPi0PtvsSource; // | |
152 | TH1F **hMCSecPi0Source; // | |
153 | TH1F **hMCSecEtaPt; // | |
154 | TH1F **hMCSecEtaSource; // | |
155 | TH2F **hESDTrueMotherInvMassPt; // | |
156 | TH2F **hESDTruePrimaryMotherInvMassPt; // | |
157 | TH2F **hESDTruePrimaryMotherW0WeightingInvMassPt; // | |
158 | TProfile2D **pESDTruePrimaryMotherWeightsInvMassPt; // | |
159 | TH2F **hESDTruePrimaryPi0MCPtResolPt; // | |
160 | TH2F **hESDTruePrimaryEtaMCPtResolPt; // | |
161 | TH2F **hESDTrueSecondaryMotherInvMassPt; // | |
162 | TH2F **hESDTrueSecondaryMotherFromK0sInvMassPt; // | |
163 | TH1F **hESDTrueK0sWithPi0DaughterMCPt; // | |
164 | TH2F **hESDTrueSecondaryMotherFromEtaInvMassPt; // | |
165 | TH1F **hESDTrueEtaWithPi0DaughterMCPt; // | |
166 | TH2F **hESDTrueSecondaryMotherFromLambdaInvMassPt; // | |
167 | TH1F **hESDTrueLambdaWithPi0DaughterMCPt; // | |
168 | TH2F **hESDTrueBckGGInvMassPt; // | |
169 | TH2F **hESDTrueBckContInvMassPt; // | |
170 | TH2F **hESDTruePi0PtY; // | |
171 | TH2F **hESDTrueEtaPtY; // | |
172 | TH2F **hESDTruePi0PtAlpha; // | |
173 | TH2F **hESDTrueEtaPtAlpha; // | |
174 | TH2F **hESDTruePi0PtOpenAngle; // | |
175 | TH2F **hESDTrueEtaPtOpenAngle; // | |
176 | TH2F **hESDTrueMotherDalitzInvMassPt; // | |
1a91a769 | 177 | TH1F **hESDTrueConvGammaPt; // |
178 | TH1F **hESDTrueConvGammaR; // | |
179 | TH1F **hESDTrueConvGammaPtMC; | |
180 | TH1F **hESDTrueConvGammaRMC; // | |
344100c4 | 181 | TH1F **hESDTrueConvGammaEta; // |
182 | TH2F **hESDCombinatorialPt; // | |
183 | TH1F **hESDTruePrimaryConvGammaPt; // | |
184 | TH2F **hESDTruePrimaryConvGammaESDPtMCPt; // | |
185 | TH1F **hESDTrueSecondaryConvGammaPt; // | |
186 | TH1F **hESDTrueSecondaryConvGammaFromXFromK0sPt; // | |
187 | TH1F **hESDTrueSecondaryConvGammaFromXFromLambdaPt; // | |
188 | TH2F **hESDTrueDalitzPsiPairDeltaPhi; // | |
189 | TH2F **hESDTrueGammaPsiPairDeltaPhi; // | |
190 | TH1I **hNEvents; // | |
191 | TH1I **hNGoodESDTracks; // | |
192 | TH1I **hNGammaCandidates; // | |
193 | TH2F **hNGoodESDTracksVsNGammaCanditates; // | |
194 | TH1I **hNV0Tracks; // | |
195 | TProfile **hEtaShift; // | |
196 | TTree **tESDMesonsInvMassPtDcazMinDcazMaxFlag; // | |
197 | Float_t fInvMass; // | |
198 | Float_t fPt; // | |
199 | Float_t fDCAzGammaMin; // | |
200 | Float_t fDCAzGammaMax; // | |
201 | UChar_t iFlag; // | |
202 | UChar_t iMesonMCInfo; // | |
203 | // 0: garbage, | |
204 | // 1: background | |
205 | // 2: secondary meson not from eta or k0s, | |
206 | // 3: secondary meson from eta, | |
207 | // 4: secondary meson from k0s, | |
208 | // 5: dalitz | |
209 | // 6: primary meson gamma-gamma-channel | |
210 | Double_t fEventPlaneAngle; // EventPlaneAngle | |
211 | TRandom3 fRandom; // | |
212 | Int_t fnGammaCandidates; // | |
213 | Double_t *fUnsmearedPx; //[fnGammaCandidates] | |
214 | Double_t *fUnsmearedPy; //[fnGammaCandidates] | |
215 | Double_t *fUnsmearedPz; //[fnGammaCandidates] | |
216 | Double_t *fUnsmearedE; //[fnGammaCandidates] | |
217 | Int_t *fMCStackPos; //[fnGammaCandidates] | |
218 | Int_t *fMCStackNeg; //[fnGammaCandidates] | |
219 | Int_t *fESDArrayPos; //[fnGammaCandidates] | |
220 | Int_t *fESDArrayNeg; //[fnGammaCandidates] | |
221 | Int_t fnCuts; // | |
222 | Int_t fiCut; // | |
223 | Bool_t fMoveParticleAccordingToVertex; // | |
224 | Int_t fIsHeavyIon; // | |
225 | Bool_t fDoMesonAnalysis; // | |
226 | Int_t fDoMesonQA; // | |
227 | Int_t fDoPhotonQA; // | |
228 | Bool_t fIsFromMBHeader; // | |
229 | Bool_t fIsMC; // | |
ca91a3e1 | 230 | |
344100c4 | 231 | private: |
a280ac15 | 232 | |
344100c4 | 233 | AliAnalysisTaskGammaConvV1(const AliAnalysisTaskGammaConvV1&); // Prevent copy-construction |
234 | AliAnalysisTaskGammaConvV1 &operator=(const AliAnalysisTaskGammaConvV1&); // Prevent assignment | |
de752898 | 235 | ClassDef(AliAnalysisTaskGammaConvV1, 14); |
2bb2434e | 236 | }; |
237 | ||
238 | #endif |