]>
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" | |
15 | ||
16 | class AliESDInputHandler; | |
17 | class AliMCEventHandler; | |
18 | class AliESDEvent; | |
19 | class AliESDtrack; | |
20 | class AliESDtrackCuts; | |
21 | class AliESDpidCuts; | |
22 | class AliV0Reader; | |
23 | class AliGammaConversionHistograms; | |
24 | class AliTriggerAnalysis; | |
25 | ||
26 | class AliAnalysisTaskGammaConvDalitzV1: public AliAnalysisTaskSE | |
27 | { | |
28 | public: | |
29 | ||
30 | AliAnalysisTaskGammaConvDalitzV1(); | |
31 | AliAnalysisTaskGammaConvDalitzV1( const char* name ); | |
32 | virtual ~AliAnalysisTaskGammaConvDalitzV1(); | |
33 | ||
34 | virtual void UserExec(Option_t *); | |
35 | virtual void UserCreateOutputObjects(); | |
36 | virtual void Terminate(const Option_t *); | |
37 | ||
38 | ||
39 | ||
40 | ||
41 | void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;} | |
42 | void SetIsHeavyIon(Bool_t flag){fIsHeavyIon = flag;} | |
43 | void SetConversionCutList(Int_t nCuts, TList *CutArray){ | |
44 | fnCuts= nCuts; | |
45 | fCutGammaArray = CutArray; | |
46 | } | |
47 | void SetElectronCutList(TList *CutArray){ | |
48 | fCutElectronArray = CutArray; | |
49 | } | |
50 | void SetMesonCutList(TList *CutArray){ | |
51 | fCutMesonArray = CutArray; | |
52 | } | |
53 | ||
54 | ||
55 | private: | |
56 | ||
2bb2434e | 57 | void InitBack(); |
58 | void ProcessPhotonCandidates(); | |
59 | void ProcessTruePhotonCandidates(AliAODConversionPhoton*); | |
60 | void ProcessTrueMesonCandidates(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate, AliAODConversionPhoton *TrueVirtualGammaCandidate); | |
61 | void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex); | |
62 | void ProcessElectronCandidates(); | |
63 | void ProcessMCParticles(); | |
64 | void CountESDTracks(); | |
65 | void CalculatePi0DalitzCandidates(); | |
66 | void CalculateBackground(); | |
67 | void UpdateEventByEventData(); | |
a280ac15 | 68 | Double_t GetPsiPair( const AliESDtrack *trackPos, const AliESDtrack *trackNeg ) const; |
ccfa8c0d | 69 | Bool_t IsDalitz(TParticle *fMCMother,Int_t &labelgamma, Int_t &labelelectron,Int_t &labelpositron); |
70 | Bool_t IsPi0DalitzDaughter( Int_t label ) const; | |
2bb2434e | 71 | |
72 | ||
73 | ||
74 | AliV0ReaderV1 *fV0Reader; | |
75 | AliDalitzElectronSelector* fElecSelector; | |
76 | AliGammaConversionAODBGHandler **fBGHandler; | |
77 | AliESDEvent *fESDEvent; | |
78 | AliMCEvent *fMCEvent; | |
79 | AliStack *fMCStack; | |
80 | TList **fCutFolder; | |
81 | TList **fESDList; | |
82 | TList **fBackList; | |
83 | TList **fTrueList; | |
84 | TList **fMCList; | |
85 | TList *fOutputContainer; | |
86 | TClonesArray *fReaderGammas; | |
87 | vector<Int_t> fSelectorElectronIndex; | |
88 | vector<Int_t> fSelectorPositronIndex; | |
89 | TList *fGoodGammas; | |
90 | TList *fGoodVirtualGammas; | |
91 | TList *fGoodElectrons; | |
92 | TList *fGoodPositrons; | |
93 | TList *fCutGammaArray; | |
94 | TList *fCutElectronArray; | |
95 | TList *fCutMesonArray; | |
96 | TList **fGammasPool; | |
97 | AliConversionCuts *fConversionCuts; | |
98 | TH1F **hESDConvGammaPt; | |
99 | TH1F **hESDDalitzElectronPt; | |
100 | TH1F **hESDDalitzPositronPt; | |
101 | TH2F **hESDEposEnegPsiPairDPhi; | |
a280ac15 | 102 | TH2F **hESDEposEnegInvMassPt; |
0a2b2b4b | 103 | TH2F **hESDEposEnegLikeSignBackInvMassPt; |
2bb2434e | 104 | TH2F **hESDMotherInvMassPt; |
a280ac15 | 105 | TH2F **hESDPi0MotherInvMassPt; |
106 | TH2F **hESDPi0MotherDiffInvMassPt; | |
2bb2434e | 107 | THnSparseF **sESDMotherInvMassPtZM; |
108 | TH2F **hESDMotherBackInvMassPt; | |
109 | THnSparseF **sESDMotherBackInvMassPtZM; | |
ccfa8c0d | 110 | TH1F **hMCAllGammaPt; |
111 | TH1F **hMCAllPositronsPt; | |
112 | TH1F **hMCAllElectronsPt; | |
113 | TH1F **hMCPi0DalitzGammaPt; | |
114 | TH1F **hMCPi0DalitzElectronPt; | |
115 | TH1F **hMCPi0DalitzPositronPt; | |
2bb2434e | 116 | TH1F **hMCPi0Pt; |
a280ac15 | 117 | TH1F **hMCPi0GGPt; |
2bb2434e | 118 | TH1F **hMCEtaPt; |
a280ac15 | 119 | TH1F **hMCEtaGGPt; |
2bb2434e | 120 | TH1F **hMCPi0InAccPt; |
121 | TH1F **hMCEtaInAccPt; | |
0f8c33c1 | 122 | TH1F **hMCChiCPt; |
123 | TH1F **hMCChiCInAccPt; | |
ccfa8c0d | 124 | TH2F **hESDEposEnegTruePi0DalitzInvMassPt; |
125 | TH2F **hESDEposEnegTrueEtaDalitzInvMassPt; | |
126 | TH2F **hESDEposEnegTruePhotonInvMassPt; | |
0f8c33c1 | 127 | TH2F **hESDEposEnegTrueJPsiInvMassPt; |
128 | TH2F **hESDTrueMotherChiCInvMassPt; | |
2bb2434e | 129 | TH2F **hESDTrueMotherInvMassPt; |
130 | TH2F **hESDTrueMotherPi0GGInvMassPt; | |
131 | TH2F **hESDTruePrimaryMotherInvMassMCPt; | |
132 | TH2F **hESDTruePrimaryPi0DalitzESDPtMCPt; | |
133 | TH2F **hESDTrueSecondaryMotherInvMassPt; | |
134 | TH2F **hESDTrueSecondaryMotherFromK0sInvMassPt; | |
135 | TH2F **hESDTrueBckGGInvMassPt; | |
136 | TH2F **hESDTrueBckContInvMassPt; | |
137 | TH2F **hESDTrueMotherGGInvMassPt; | |
138 | TH1F **hESDTrueConvGammaPt; | |
ccfa8c0d | 139 | TH1F **hESDTruePositronPt; |
140 | TH1F **hESDTrueElectronPt; | |
141 | TH1F **hESDTruePi0DalitzConvGammaPt; | |
142 | TH1F **hESDTruePi0DalitzPositronPt; | |
143 | TH1F **hESDTruePi0DalitzElectronPt; | |
144 | //if(fDoMesonAnalysis){ | |
145 | ||
146 | ||
2bb2434e | 147 | TH1I **hNEvents; |
148 | TH1I **hNGoodESDTracks; | |
149 | ||
150 | TRandom3 fRandom; | |
151 | Double_t *fUnsmearedPx; | |
152 | Double_t *fUnsmearedPy; | |
153 | Double_t *fUnsmearedPz; | |
154 | Double_t *fUnsmearedE; | |
155 | Int_t fnCuts; | |
156 | Int_t fiCut; | |
157 | Int_t fNumberOfESDTracks; | |
158 | Bool_t fMoveParticleAccordingToVertex; | |
159 | Bool_t fIsHeavyIon; | |
160 | Bool_t fDoMesonAnalysis; | |
161 | ||
162 | private: | |
163 | AliAnalysisTaskGammaConvDalitzV1( const AliAnalysisTaskGammaConvDalitzV1& ); // Not implemented | |
164 | AliAnalysisTaskGammaConvDalitzV1& operator=( const AliAnalysisTaskGammaConvDalitzV1& ); // Not implemented | |
165 | ||
166 | ClassDef( AliAnalysisTaskGammaConvDalitzV1, 2 ); | |
167 | }; | |
168 | ||
169 | #endif // ALIANALYSISTASKGAMMACONVDALITZV1_H | |
170 |