]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliAnalysisTaskGammaConvV1.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskGammaConvV1.h
CommitLineData
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
17class 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