]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliAnalysisTaskEtaToPiPlPiMiGamma.h
- changes for QA part of standard GG task
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskEtaToPiPlPiMiGamma.h
CommitLineData
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
17class AliESDInputHandler;
18class AliMCEventHandler;
19class AliESDEvent;
20class AliESDtrack;
21class AliESDtrackCuts;
22class AliESDpidCuts;
23class AliV0Reader;
24class AliTriggerAnalysis;
25
26class 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