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