]>
Commit | Line | Data |
---|---|---|
2bb2434e | 1 | #ifndef ALIANALYSISTASKGAMMACONVDALITZV1_H |
2 | #define ALIANALYSISTASKGAMMACONVDALITZV1_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // Analysis task for pi0->e+e-gamma (Dalitz decay) | |
8 | ||
9 | #include "AliAnalysisTaskSE.h" | |
10 | #include "AliV0ReaderV1.h" | |
11 | #include "AliKFConversionPhoton.h" | |
12 | #include "AliDalitzElectronSelector.h" | |
13 | #include "AliConversionMesonCuts.h" | |
14 | #include "AliGammaConversionAODBGHandler.h" | |
8a52eed5 | 15 | #include "TProfile2D.h" |
2bb2434e | 16 | |
17 | class AliESDInputHandler; | |
18 | class AliMCEventHandler; | |
19 | class AliESDEvent; | |
20 | class AliESDtrack; | |
21 | class AliESDtrackCuts; | |
22 | class AliESDpidCuts; | |
23 | class AliV0Reader; | |
24 | class AliGammaConversionHistograms; | |
25 | class AliTriggerAnalysis; | |
26 | ||
27 | class AliAnalysisTaskGammaConvDalitzV1: public AliAnalysisTaskSE | |
28 | { | |
29 | public: | |
30 | ||
31 | AliAnalysisTaskGammaConvDalitzV1(); | |
32 | AliAnalysisTaskGammaConvDalitzV1( const char* name ); | |
33 | virtual ~AliAnalysisTaskGammaConvDalitzV1(); | |
34 | ||
35 | virtual void UserExec(Option_t *); | |
36 | virtual void UserCreateOutputObjects(); | |
ae947965 | 37 | virtual Bool_t Notify(); |
2bb2434e | 38 | virtual void Terminate(const Option_t *); |
39 | ||
40 | ||
41 | ||
42 | ||
ae947965 | 43 | void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;} |
44 | ||
45 | void SetIsHeavyIon(Int_t flag){ | |
46 | if (flag == 1 || flag ==2 ){ | |
47 | fIsHeavyIon = 1; | |
48 | } else { | |
49 | fIsHeavyIon = 0; | |
50 | } | |
51 | } | |
52 | ||
53 | void SetIsMC(Bool_t isMC){fIsMC=isMC;} | |
54 | void SetConversionCutList(Int_t nCuts, TList *CutArray){ | |
55 | fnCuts= nCuts; | |
56 | fCutGammaArray = CutArray; | |
57 | } | |
58 | void SetElectronCutList(TList *CutArray){ | |
59 | fCutElectronArray = CutArray; | |
60 | } | |
61 | void SetMesonCutList(TList *CutArray){ | |
62 | fCutMesonArray = CutArray; | |
63 | } | |
fcc79cf5 | 64 | void SetDoChicAnalysis(Bool_t flag){ fDoChicAnalysis = flag; } |
65 | void SetDoMesonQA(Bool_t flag){ fDoMesonQA = flag; } | |
2d49ea4c | 66 | void SetProductionVertextoVGamma(Bool_t flag) { fSetProductionVertextoVGamma = flag; } |
ae947965 | 67 | |
2bb2434e | 68 | |
69 | private: | |
70 | ||
2bb2434e | 71 | void InitBack(); |
72 | void ProcessPhotonCandidates(); | |
73 | void ProcessTruePhotonCandidates(AliAODConversionPhoton*); | |
74 | void ProcessTrueMesonCandidates(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate, AliAODConversionPhoton *TrueVirtualGammaCandidate); | |
75 | void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex); | |
76 | void ProcessElectronCandidates(); | |
77 | void ProcessMCParticles(); | |
78 | void CountESDTracks(); | |
79 | void CalculatePi0DalitzCandidates(); | |
80 | void CalculateBackground(); | |
81 | void UpdateEventByEventData(); | |
d9d6352b | 82 | void FillElectronQAHistos(AliAODConversionPhoton *Vgamma) const; |
a280ac15 | 83 | Double_t GetPsiPair( const AliESDtrack *trackPos, const AliESDtrack *trackNeg ) const; |
ae947965 | 84 | Bool_t IsDalitz(TParticle *fMCMother) const; |
ccfa8c0d | 85 | Bool_t IsPi0DalitzDaughter( Int_t label ) const; |
2bb2434e | 86 | |
87 | ||
88 | ||
89 | AliV0ReaderV1 *fV0Reader; | |
90 | AliDalitzElectronSelector* fElecSelector; | |
91 | AliGammaConversionAODBGHandler **fBGHandler; | |
92 | AliESDEvent *fESDEvent; | |
93 | AliMCEvent *fMCEvent; | |
94 | AliStack *fMCStack; | |
95 | TList **fCutFolder; | |
96 | TList **fESDList; | |
97 | TList **fBackList; | |
fcc79cf5 | 98 | TList **fMotherList; |
2bb2434e | 99 | TList **fTrueList; |
100 | TList **fMCList; | |
d9d6352b | 101 | TList **fQAFolder; |
2bb2434e | 102 | TList *fOutputContainer; |
103 | TClonesArray *fReaderGammas; | |
104 | vector<Int_t> fSelectorElectronIndex; | |
105 | vector<Int_t> fSelectorPositronIndex; | |
106 | TList *fGoodGammas; | |
107 | TList *fGoodVirtualGammas; | |
108 | TList *fGoodElectrons; | |
109 | TList *fGoodPositrons; | |
110 | TList *fCutGammaArray; | |
111 | TList *fCutElectronArray; | |
112 | TList *fCutMesonArray; | |
113 | TList **fGammasPool; | |
114 | AliConversionCuts *fConversionCuts; | |
115 | TH1F **hESDConvGammaPt; | |
2279d237 | 116 | TH1F **hESDConvGammaEta; |
117 | TH2F **hESDConvGammaZR; | |
2bb2434e | 118 | TH1F **hESDDalitzElectronPt; |
119 | TH1F **hESDDalitzPositronPt; | |
4803eb1f | 120 | TH1F **hESDDalitzElectronPhi; |
121 | TH1F **hESDDalitzPositronPhi; | |
122 | TH1F **hESDDalitzElectronAfterPt; | |
123 | TH1F **hESDDalitzPositronAfterPt; | |
2279d237 | 124 | TH1F **hESDDalitzElectronAfterEta; |
125 | TH1F **hESDDalitzPositronAfterEta; | |
4803eb1f | 126 | TH1F **hESDDalitzElectronAfterPhi; |
127 | TH1F **hESDDalitzPositronAfterPhi; | |
d9d6352b | 128 | TH1F **hESDDalitzElectronAfterNClsITS; |
129 | TH1F **hESDDalitzPositronAfterNClsITS; | |
4803eb1f | 130 | TH2F **hESDDalitzElectronAfterNFindClsTPC; |
131 | TH2F **hESDDalitzPositronAfterNFindClsTPC; | |
d9d6352b | 132 | TH2F **hESDDalitzElectronAfterNClsTPC; |
133 | TH2F **hESDDalitzPositronAfterNClsTPC; | |
f47b2bb5 | 134 | TH2F **hESDDalitzElectronAfterNCrossedRowsTPC; |
135 | TH2F **hESDDalitzPositronAfterNCrossedRowsTPC; | |
4803eb1f | 136 | TH2F **hESDDalitzPosEleAfterDCAxy; |
137 | TH2F **hESDDalitzPosEleAfterDCAz; | |
d9d6352b | 138 | TH2F **hESDDalitzElectronAfterTPCdEdxVsP; |
139 | TH2F **hESDDalitzPositronAfterTPCdEdxVsP; | |
140 | TH2F **hESDDalitzElectronAfterTPCdEdxSignalVsP; | |
141 | TH2F **hESDDalitzPositronAfterTPCdEdxSignalVsP; | |
142 | TH2F **hESDDalitzElectronAfterTPCdEdxVsEta; | |
143 | TH2F **hESDDalitzPositronAfterTPCdEdxVsEta; | |
144 | TH2F **hESDDalitzElectronAfterTPCdEdxVsPhi; | |
145 | TH2F **hESDDalitzPositronAfterTPCdEdxVsPhi; | |
4803eb1f | 146 | TH1F **hESDMotherPhi; |
2bb2434e | 147 | TH2F **hESDEposEnegPsiPairDPhi; |
a280ac15 | 148 | TH2F **hESDEposEnegInvMassPt; |
0a2b2b4b | 149 | TH2F **hESDEposEnegLikeSignBackInvMassPt; |
2bb2434e | 150 | TH2F **hESDMotherInvMassPt; |
a280ac15 | 151 | TH2F **hESDPi0MotherInvMassPt; |
152 | TH2F **hESDPi0MotherDiffInvMassPt; | |
ae947965 | 153 | TH2F **hESDPi0MotherDiffLimInvMassPt; |
2bb2434e | 154 | THnSparseF **sESDMotherInvMassPtZM; |
155 | TH2F **hESDMotherBackInvMassPt; | |
156 | THnSparseF **sESDMotherBackInvMassPtZM; | |
ccfa8c0d | 157 | TH1F **hMCAllGammaPt; |
ae947965 | 158 | TH1F **hMCConvGammaPt; |
159 | TH1F **hMCConvGammaRSPt; | |
ccfa8c0d | 160 | TH1F **hMCAllPositronsPt; |
161 | TH1F **hMCAllElectronsPt; | |
2d49ea4c | 162 | TH1F **hMCConvGammaEta; |
163 | TH1F **hMCAllPositronsEta; | |
164 | TH1F **hMCAllElectronsEta; | |
ccfa8c0d | 165 | TH1F **hMCPi0DalitzGammaPt; |
166 | TH1F **hMCPi0DalitzElectronPt; | |
167 | TH1F **hMCPi0DalitzPositronPt; | |
2bb2434e | 168 | TH1F **hMCPi0Pt; |
a280ac15 | 169 | TH1F **hMCPi0GGPt; |
2bb2434e | 170 | TH1F **hMCEtaPt; |
a280ac15 | 171 | TH1F **hMCEtaGGPt; |
2bb2434e | 172 | TH1F **hMCPi0InAccPt; |
173 | TH1F **hMCEtaInAccPt; | |
0f8c33c1 | 174 | TH1F **hMCChiCPt; |
175 | TH1F **hMCChiCInAccPt; | |
f4d5bd23 | 176 | TH2F **hMCPi0EposEnegInvMassPt; |
177 | TH2F **hMCEtaEposEnegInvMassPt; | |
ccfa8c0d | 178 | TH2F **hESDEposEnegTruePi0DalitzInvMassPt; |
2d49ea4c | 179 | TH1F **hESDEposEnegTruePrimPi0DalitzInvMass; |
a072aeaa | 180 | TH2F **hESDEposEnegTruePi0DalitzPsiPairDPhi; |
ccfa8c0d | 181 | TH2F **hESDEposEnegTrueEtaDalitzInvMassPt; |
2d49ea4c | 182 | TH1F **hESDEposEnegTruePrimEtaDalitzInvMass; |
a072aeaa | 183 | TH2F **hESDEposEnegTrueEtaDalitzPsiPairDPhi; |
ccfa8c0d | 184 | TH2F **hESDEposEnegTruePhotonInvMassPt; |
f4d5bd23 | 185 | TH2F **hESDEposEnegTrueInvMassPt; |
a072aeaa | 186 | TH2F **hESDEposEnegTruePhotonPsiPairDPhi; |
0f8c33c1 | 187 | TH2F **hESDEposEnegTrueJPsiInvMassPt; |
188 | TH2F **hESDTrueMotherChiCInvMassPt; | |
ae947965 | 189 | TH2F **hESDTrueMotherChiCDiffInvMassPt; |
2bb2434e | 190 | TH2F **hESDTrueMotherInvMassPt; |
4803eb1f | 191 | TH2F **hESDTrueMotherDalitzInvMassPt; |
2bb2434e | 192 | TH2F **hESDTrueMotherPi0GGInvMassPt; |
86eaf9ae | 193 | TH2F **hESDTruePrimaryMotherPi0GGInvMassPt; |
194 | TH2F **hESDTrueSecondaryMotherPi0GGInvMassPt; | |
2bb2434e | 195 | TH2F **hESDTruePrimaryMotherInvMassMCPt; |
86eaf9ae | 196 | TH2F **hESDTruePrimaryMotherInvMassPt; |
197 | TH2F **hESDTruePrimaryMotherW0WeightingInvMassPt; | |
2bb2434e | 198 | TH2F **hESDTruePrimaryPi0DalitzESDPtMCPt; |
199 | TH2F **hESDTrueSecondaryMotherInvMassPt; | |
200 | TH2F **hESDTrueSecondaryMotherFromK0sInvMassPt; | |
201 | TH2F **hESDTrueBckGGInvMassPt; | |
202 | TH2F **hESDTrueBckContInvMassPt; | |
203 | TH2F **hESDTrueMotherGGInvMassPt; | |
204 | TH1F **hESDTrueConvGammaPt; | |
ccfa8c0d | 205 | TH1F **hESDTruePositronPt; |
206 | TH1F **hESDTrueElectronPt; | |
ae947965 | 207 | TH1F **hESDTrueSecConvGammaPt; |
208 | TH1F **hESDTrueSecPositronPt; | |
209 | TH1F **hESDTrueSecElectronPt; | |
ccfa8c0d | 210 | TH1F **hESDTruePi0DalitzConvGammaPt; |
211 | TH1F **hESDTruePi0DalitzPositronPt; | |
212 | TH1F **hESDTruePi0DalitzElectronPt; | |
ae947965 | 213 | TH1F **hESDTruePi0DalitzSecConvGammaPt; |
214 | TH1F **hESDTruePi0DalitzSecPositronPt; | |
215 | TH1F **hESDTruePi0DalitzSecElectronPt; | |
ccfa8c0d | 216 | //if(fDoMesonAnalysis){ |
217 | ||
218 | ||
2bb2434e | 219 | TH1I **hNEvents; |
220 | TH1I **hNGoodESDTracks; | |
58326f11 | 221 | TH2F **hNGoodESDTracksVsNGoodGammas; |
222 | TH2F **hNGoodESDTracksVsNGoodVGammas; | |
7b3733f6 | 223 | TH1I **hNV0Tracks; |
8a52eed5 | 224 | TProfile **hEtaShift; |
2bb2434e | 225 | |
226 | TRandom3 fRandom; | |
227 | Double_t *fUnsmearedPx; | |
228 | Double_t *fUnsmearedPy; | |
229 | Double_t *fUnsmearedPz; | |
230 | Double_t *fUnsmearedE; | |
231 | Int_t fnCuts; | |
232 | Int_t fiCut; | |
233 | Int_t fNumberOfESDTracks; | |
58326f11 | 234 | Int_t fNumberOfESDTrackskBoth; |
2bb2434e | 235 | Bool_t fMoveParticleAccordingToVertex; |
236 | Bool_t fIsHeavyIon; | |
237 | Bool_t fDoMesonAnalysis; | |
fcc79cf5 | 238 | Bool_t fDoChicAnalysis; |
239 | Bool_t fDoMesonQA; | |
2d49ea4c | 240 | Bool_t fSetProductionVertextoVGamma; |
ae947965 | 241 | Bool_t fIsFromMBHeader; |
2d49ea4c | 242 | Bool_t fIsMC; |
ae947965 | 243 | |
2bb2434e | 244 | private: |
245 | AliAnalysisTaskGammaConvDalitzV1( const AliAnalysisTaskGammaConvDalitzV1& ); // Not implemented | |
246 | AliAnalysisTaskGammaConvDalitzV1& operator=( const AliAnalysisTaskGammaConvDalitzV1& ); // Not implemented | |
247 | ||
ae947965 | 248 | ClassDef( AliAnalysisTaskGammaConvDalitzV1, 3 ); |
2bb2434e | 249 | }; |
250 | ||
251 | #endif // ALIANALYSISTASKGAMMACONVDALITZV1_H | |
252 |