]>
Commit | Line | Data |
---|---|---|
209b710e | 1 | #ifndef ALIANALYSISTASKHEAVYMESONTHREEBODY_H |
2 | #define ALIANALYSISTASKHEAVYMESONTHREEBODY_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 "AliPrimaryPionSelector.h" | |
13 | #include "AliConversionMesonCuts.h" | |
14 | #include "AliGammaConversionAODBGHandler.h" | |
15 | #include "TProfile2D.h" | |
16 | ||
17 | class AliESDInputHandler; | |
18 | class AliMCEventHandler; | |
19 | class AliESDEvent; | |
20 | class AliESDtrack; | |
21 | class AliESDtrackCuts; | |
22 | class AliESDpidCuts; | |
23 | class AliV0Reader; | |
24 | class AliTriggerAnalysis; | |
25 | ||
26 | class AliAnalysisTaskEtaToPiPlPiMiGamma: public AliAnalysisTaskSE | |
27 | { | |
28 | public: | |
29 | ||
30 | AliAnalysisTaskEtaToPiPlPiMiGamma(); | |
31 | AliAnalysisTaskEtaToPiPlPiMiGamma( const char* name ); | |
32 | virtual ~AliAnalysisTaskEtaToPiPlPiMiGamma(); | |
33 | ||
34 | virtual void UserExec(Option_t *); | |
35 | virtual void UserCreateOutputObjects(); | |
36 | virtual Bool_t Notify(); | |
37 | virtual void Terminate(const Option_t *); | |
38 | ||
39 | ||
40 | void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;} | |
41 | ||
42 | void SetIsHeavyIon(Int_t flag){ | |
43 | if (flag == 1 || flag ==2 ){ | |
44 | fIsHeavyIon = 1; | |
45 | } else { | |
46 | fIsHeavyIon = 0; | |
47 | } | |
48 | } | |
49 | ||
50 | void SetIsMC(Bool_t isMC){fIsMC=isMC;} | |
51 | void SetConversionCutList(Int_t nCuts, TList *CutArray){ | |
52 | fnCuts= nCuts; | |
53 | fGammaCutArray = CutArray; | |
54 | } | |
55 | void SetPionCutList(TList *CutArray){ | |
56 | fPionCutArray = CutArray; | |
57 | } | |
58 | void SetMesonCutList(TList *CutArray){ | |
59 | fMesonCutArray = CutArray; | |
60 | } | |
61 | void SetDoMesonQA(Bool_t flag){ fDoMesonQA = flag; } | |
62 | ||
63 | ||
64 | private: | |
65 | ||
66 | void InitBack(); | |
67 | void ProcessPhotonCandidates(); | |
68 | void ProcessTruePhotonCandidates(AliAODConversionPhoton*); | |
69 | void ProcessTrueMesonCandidates(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate, AliAODConversionPhoton *TrueVirtualGammaCandidate); | |
70 | void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex); | |
71 | void ProcessPionCandidates(); | |
72 | void ProcessMCParticles(); | |
73 | void CalculateMesonCandidates(); | |
74 | void CalculateBackground(); | |
75 | void UpdateEventByEventData(); | |
76 | ||
77 | Bool_t IsPiPlPiMiGammaDecay(TParticle *fMCMother) const; | |
78 | Bool_t IsEtaPiPlPiMiGammaDaughter( Int_t label ) const; | |
79 | ||
80 | ||
81 | ||
82 | AliV0ReaderV1 *fV0Reader; | |
83 | AliPrimaryPionSelector* fPionSelector; | |
84 | AliGammaConversionAODBGHandler **fBGHandler; | |
85 | AliESDEvent *fESDEvent; | |
86 | AliMCEvent *fMCEvent; | |
87 | AliStack *fMCStack; | |
88 | TList **fCutFolder; | |
89 | TList **fESDList; | |
90 | TList **fBackList; | |
91 | TList **fMotherList; | |
92 | TList **fTrueList; | |
93 | TList **fMCList; | |
94 | TList *fOutputContainer; | |
95 | TClonesArray *fReaderGammas; | |
96 | vector<Int_t> fSelectorNegPionIndex; | |
97 | vector<Int_t> fSelectorPosPionIndex; | |
98 | TList *fGoodGammas; | |
99 | TList *fGoodVirtualParticles; | |
100 | TList *fGammaCutArray; | |
101 | TList *fPionCutArray; | |
102 | TList *fMesonCutArray; | |
103 | AliConversionCuts *fConversionCuts; | |
104 | ||
105 | // reconstructed particles | |
106 | TH1F **fHistoConvGammaPt; | |
107 | TH1F **fHistoConvGammaEta; | |
108 | TH1F **fHistoNegPionPt; | |
109 | TH1F **fHistoPosPionPt; | |
110 | TH1F **fHistoNegPionPhi; | |
111 | TH1F **fHistoPosPionPhi; | |
112 | TH1F **fHistoNegPionEta; | |
113 | TH1F **fHistoPosPionEta; | |
114 | TH2F **fHistoNegPionClsTPC; | |
115 | TH2F **fHistoPosPionClsTPC; | |
116 | TH2F **fHistoPionDCAxy; | |
117 | TH2F **fHistoPionDCAz; | |
118 | TH2F **fHistoPionTPCdEdxNSigma; | |
119 | TH2F **fHistoPionTPCdEdx; | |
899d014b | 120 | TH2F **fHistoPionPionInvMassPt; |
209b710e | 121 | TH2F **fHistoMotherInvMassPt; |
122 | THnSparseF **fTHnSparseMotherInvMassPtZM; | |
123 | TH2F **fHistoMotherBackInvMassPt; | |
124 | THnSparseF **fTHnSparseMotherBackInvMassPtZM; | |
125 | ||
126 | // pure MC properties | |
127 | TH1F **fHistoMCAllGammaPt; | |
128 | TH1F **fHistoMCConvGammaPt; | |
129 | TH1F **fHistoMCAllPosPionsPt; | |
130 | TH1F **fHistoMCAllNegPionsPt; | |
131 | TH1F **fHistoMCGammaFromEtaPt; | |
132 | TH1F **fHistoMCPosPionsFromEtaPt; | |
133 | TH1F **fHistoMCNegPionsFromEtaPt; | |
134 | TH1F **fHistoMCEtaPiPlPiMiGammaPt; | |
135 | TH1F **fHistoMCEtaGGPt; | |
136 | TH1F **fHistoMCEtaDalitzPt; | |
137 | TH1F **fHistoMCEtaPiPlPiMiGammaInAccPt; | |
138 | ||
139 | // reconstructed particles MC validated | |
140 | TH2F **fHistoTrueMotherPiPlPiMiGammaInvMassPt; | |
141 | TH2F **fHistoTrueMotherGammaGammaInvMassPt; | |
142 | TH2F **fHistoTrueMotherDalitzInvMassPt; | |
143 | TH1F **fHistoTrueConvGammaPt; | |
144 | TH1F **fHistoTrueConvGammaFromEtaPt; | |
145 | TH1F **fHistoTruePosPionPt; | |
146 | TH1F **fHistoTruePosPionFromEtaPt; | |
147 | TH1F **fHistoTrueNegPionPt; | |
148 | TH1F **fHistoTrueNegPionFromEtaPt; | |
899d014b | 149 | TH2F **fHistoTruePionPionInvMassPt; |
150 | TH2F **fHistoTruePionPionFromEtaInvMassPt; | |
209b710e | 151 | // Event properties |
152 | TH1I **fHistoNEvents; | |
153 | TH1I **fHistoNGoodESDTracks; | |
154 | TProfile **fProfileEtaShift; | |
155 | ||
156 | TRandom3 fRandom; | |
157 | Int_t fnCuts; | |
158 | Int_t fiCut; | |
159 | Int_t fNumberOfESDTracks; | |
160 | Bool_t fMoveParticleAccordingToVertex; | |
161 | Bool_t fIsHeavyIon; | |
162 | Bool_t fDoMesonAnalysis; | |
163 | Bool_t fDoMesonQA; | |
164 | Bool_t fIsFromMBHeader; | |
165 | Bool_t fIsMC; | |
d9d6352b | 166 | Bool_t fIsGammaEtaCand; |
209b710e | 167 | private: |
168 | AliAnalysisTaskEtaToPiPlPiMiGamma( const AliAnalysisTaskEtaToPiPlPiMiGamma& ); // Not implemented | |
169 | AliAnalysisTaskEtaToPiPlPiMiGamma& operator=( const AliAnalysisTaskEtaToPiPlPiMiGamma& ); // Not implemented | |
170 | ||
171 | ClassDef( AliAnalysisTaskEtaToPiPlPiMiGamma, 1 ); | |
172 | }; | |
173 | ||
174 | #endif // ALIANALYSISTASKHEAVYMESONTHREEBODY_H | |
175 |