1 #ifndef ALIANLYSISTASKGAMMACONVV1_cxx
2 #define ALIANLYSISTASKGAMMACONVV1_cxx
4 #include "AliAnalysisTaskSE.h"
5 #include "AliESDtrack.h"
6 #include "AliV0ReaderV1.h"
7 #include "AliKFConversionPhoton.h"
8 #include "AliGammaConversionAODBGHandler.h"
9 #include "AliConversionAODBGHandlerRP.h"
10 #include "AliConversionMesonCuts.h"
14 class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
17 AliAnalysisTaskGammaConvV1();
18 AliAnalysisTaskGammaConvV1(const char *name);
19 virtual ~AliAnalysisTaskGammaConvV1();
21 virtual void UserCreateOutputObjects();
22 virtual void UserExec(Option_t *);
23 virtual void Terminate(const Option_t*);
26 void SetIsHeavyIon(Int_t flag){
27 if (flag == 1 || flag ==2 ){
33 void SetDoMesonAnalysis(Bool_t flag){fDoMesonAnalysis = flag;}
34 void SetDoMesonQA(Bool_t flag){fDoMesonQA = flag;}
35 void SetDoPhotonQA(Bool_t flag){fDoPhotonQA = flag;}
36 void ProcessPhotonCandidates();
37 void CalculatePi0Candidates();
38 void CalculateBackground();
39 void CalculateBackgroundRP();
40 void ProcessMCParticles();
41 void ProcessTruePhotonCandidates( AliAODConversionPhoton* TruePhotonCandidate);
42 void ProcessTrueMesonCandidates( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
43 void RotateParticle(AliAODConversionPhoton *gamma);
44 void SetConversionCutList(Int_t nCuts, TList *CutArray){
48 void SetMesonCutList(Int_t nCuts, TList *CutArray){
50 fMesonCutArray = CutArray;
54 void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;}
55 void CountESDTracks();
56 void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex);
57 void UpdateEventByEventData();
60 AliV0ReaderV1 *fV0Reader;
61 AliGammaConversionAODBGHandler **fBGHandler;
62 AliConversionAODBGHandlerRP **fBGHandlerRP;
63 AliVEvent *fInputEvent;
70 TList **fMotherRapList;
72 TList **fTrueMotherRapList;
74 TList **fHeaderNameList;
75 TList *fOutputContainer;
76 TClonesArray *fReaderGammas;
77 TList *fGammaCandidates;
79 AliConversionCuts *fConversionCuts;
80 TList *fMesonCutArray;
81 AliConversionMesonCuts *fMesonCuts;
82 TH1F **hESDConvGammaPt;
83 TH1F **hESDConvGammaR;
84 TH2F **hESDMotherInvMassPt;
85 THnSparseF **sESDMotherInvMassPtZM;
86 THnSparseF **sESDMotherInvMassPtY;
87 TH2F **hESDMotherBackInvMassPt;
88 THnSparseF **sESDMotherBackInvMassPtZM;
89 TH2F **hESDMotherInvMassEalpha;
91 TH1F **hMCDecayGammaPi0Pt;
92 TH1F **hMCDecayGammaRhoPt;
93 TH1F **hMCDecayGammaEtaPt;
94 TH1F **hMCDecayGammaOmegaPt;
95 TH1F **hMCDecayGammaEtapPt;
96 TH1F **hMCDecayGammaPhiPt;
97 TH1F **hMCDecayGammaSigmaPt;
98 TH1F **hMCConvGammaPt;
100 TH1F **hMCConvGammaEta;
101 TH1F **hMCConvGammaRSPt;
102 TH1F **hMCConvGammaRSR;
103 TH1F **hMCConvGammaRSEta;
106 TH1F **hMCPi0InAccPt;
107 TH1F **hMCEtaInAccPt;
110 TH2F **hESDTrueMotherInvMassPt;
111 TH2F **hESDTruePrimaryMotherInvMassPt;
112 TH2F **hESDTruePrimaryPi0MCPtResolPt;
113 TH2F **hESDTruePrimaryEtaMCPtResolPt;
114 THnSparseF **sESDTruePrimaryMotherInvMassPtY;
115 TH2F **hESDTrueSecondaryMotherInvMassPt;
116 TH2F **hESDTrueSecondaryMotherFromK0sInvMassPt;
117 TH1F **hESDTrueK0sWithPi0DaughterMCPt;
118 TH2F **hESDTrueSecondaryMotherFromEtaInvMassPt;
119 TH1F **hESDTrueEtaWithPi0DaughterMCPt;
120 TH2F **hESDTrueBckGGInvMassPt;
121 TH2F **hESDTrueBckContInvMassPt;
122 TH2F **hESDTrueMotherDalitzInvMassPt;
123 TH1F **hESDTrueConvGammaPt;
124 TH2F **hESDCombinatorialPt;
125 TH1F **hESDTruePrimaryConvGammaPt;
126 TH1F **hESDTruePrimaryConvGammaR;
127 TH1F **hESDTruePrimaryConvGammaEta;
128 TH2F **hESDTruePrimaryConvGammaESDPtMCPt;
129 TH2F **hESDTruePrimaryConvGammaRSESDPtMCPt;
130 TH1F **hESDTrueSecondaryConvGammaPt;
131 TH1F **hESDTrueSecondaryConvGammaR;
132 TH1F **hESDTrueSecondaryConvGammaFromXFromK0sPt;
134 TH1I **hNGoodESDTracks;
135 TH1I **hNGammaCandidates;
139 Int_t fnGammaCandidates;
140 Double_t *fUnsmearedPx; //[fnGammaCandidates]
141 Double_t *fUnsmearedPy; //[fnGammaCandidates]
142 Double_t *fUnsmearedPz; //[fnGammaCandidates]
143 Double_t *fUnsmearedE; //[fnGammaCandidates]
146 Int_t fNumberOfESDTracks;
147 Bool_t fMoveParticleAccordingToVertex;
149 Bool_t fDoMesonAnalysis;
152 Bool_t fIsFromMBHeader;
156 AliAnalysisTaskGammaConvV1(const AliAnalysisTaskGammaConvV1&); // Prevent copy-construction
157 AliAnalysisTaskGammaConvV1 &operator=(const AliAnalysisTaskGammaConvV1&); // Prevent assignment
160 ClassDef(AliAnalysisTaskGammaConvV1, 4);