]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliAnalysisTaskGammaConvV1.h
modification in addTask.
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskGammaConvV1.h
CommitLineData
2bb2434e 1#ifndef ALIANLYSISTASKGAMMACONVV1_cxx
2#define ALIANLYSISTASKGAMMACONVV1_cxx
3
4#include "AliAnalysisTaskSE.h"
5#include "AliESDtrack.h"
6#include "AliV0ReaderV1.h"
7#include "AliKFConversionPhoton.h"
8#include "AliGammaConversionAODBGHandler.h"
e5b6e8a6 9#include "AliConversionAODBGHandlerRP.h"
ca91a3e1 10#include "AliConversionMesonCuts.h"
11c1e680 11#include "AliAnalysisManager.h"
526074e4 12#include "TProfile2D.h"
2bb2434e 13#include "TH3.h"
e5b6e8a6 14#include "TH3F.h"
2bb2434e 15
16class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
ca91a3e1 17 public:
2bb2434e 18
ca91a3e1 19 AliAnalysisTaskGammaConvV1();
20 AliAnalysisTaskGammaConvV1(const char *name);
21 virtual ~AliAnalysisTaskGammaConvV1();
2bb2434e 22
ca91a3e1 23 virtual void UserCreateOutputObjects();
11c1e680 24 virtual Bool_t Notify();
ca91a3e1 25 virtual void UserExec(Option_t *);
26 virtual void Terminate(const Option_t*);
27 void InitBack();
2bb2434e 28
0a2b2b4b 29 void SetIsHeavyIon(Int_t flag){
30 if (flag == 1 || flag ==2 ){
31 fIsHeavyIon = 1;
32 } else {
33 fIsHeavyIon = 0;
34 }
35 }
ae947965 36
37 void SetIsMC(Bool_t isMC){fIsMC=isMC;}
ca91a3e1 38 void SetDoMesonAnalysis(Bool_t flag){fDoMesonAnalysis = flag;}
0a2b2b4b 39 void SetDoMesonQA(Bool_t flag){fDoMesonQA = flag;}
40 void SetDoPhotonQA(Bool_t flag){fDoPhotonQA = flag;}
ca91a3e1 41 void ProcessPhotonCandidates();
42 void CalculatePi0Candidates();
43 void CalculateBackground();
e5b6e8a6 44 void CalculateBackgroundRP();
ca91a3e1 45 void ProcessMCParticles();
ae947965 46 void ProcessAODMCParticles();
47 void RelabelAODPhotonCandidates(Bool_t mode);
ca91a3e1 48 void ProcessTruePhotonCandidates( AliAODConversionPhoton* TruePhotonCandidate);
ae947965 49 void ProcessTruePhotonCandidatesAOD( AliAODConversionPhoton* TruePhotonCandidate);
ca91a3e1 50 void ProcessTrueMesonCandidates( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
ae947965 51 void ProcessTrueMesonCandidatesAOD(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
ca91a3e1 52 void RotateParticle(AliAODConversionPhoton *gamma);
53 void SetConversionCutList(Int_t nCuts, TList *CutArray){
54 fnCuts = nCuts;
55 fCutArray = CutArray;
56 }
57 void SetMesonCutList(Int_t nCuts, TList *CutArray){
58 fnCuts = nCuts;
59 fMesonCutArray = CutArray;
60 }
2bb2434e 61
ca91a3e1 62 // BG HandlerSettings
63 void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;}
ae947965 64 void CountTracks();
65 void FillPhotonCombinatorialBackgroundHist(AliAODConversionPhoton *TruePhotonCandidate, Int_t pdgCode[]);
ca91a3e1 66 void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex);
67 void UpdateEventByEventData();
68
69 protected:
70 AliV0ReaderV1 *fV0Reader;
71 AliGammaConversionAODBGHandler **fBGHandler;
e5b6e8a6 72 AliConversionAODBGHandlerRP **fBGHandlerRP;
73 AliVEvent *fInputEvent;
ca91a3e1 74 AliMCEvent *fMCEvent;
75 AliStack *fMCStack;
76 TList **fCutFolder;
77 TList **fESDList;
78 TList **fBackList;
79 TList **fMotherList;
0a2b2b4b 80 TList **fMotherRapList;
ca91a3e1 81 TList **fTrueList;
0a2b2b4b 82 TList **fTrueMotherRapList;
ca91a3e1 83 TList **fMCList;
84 TList **fHeaderNameList;
ae947965 85 TList **fTriggerNameList;
ca91a3e1 86 TList *fOutputContainer;
87 TClonesArray *fReaderGammas;
a280ac15 88 TList *fGammaCandidates;
ca91a3e1 89 TList *fCutArray;
90 AliConversionCuts *fConversionCuts;
e5b6e8a6 91 TList *fMesonCutArray;
92 AliConversionMesonCuts *fMesonCuts;
ca91a3e1 93 TH1F **hESDConvGammaPt;
e5b6e8a6 94 TH1F **hESDConvGammaR;
ca91a3e1 95 TH2F **hESDMotherInvMassPt;
96 THnSparseF **sESDMotherInvMassPtZM;
0a2b2b4b 97 THnSparseF **sESDMotherInvMassPtY;
ca91a3e1 98 TH2F **hESDMotherBackInvMassPt;
99 THnSparseF **sESDMotherBackInvMassPtZM;
100 TH2F **hESDMotherInvMassEalpha;
101 TH1F **hMCAllGammaPt;
102 TH1F **hMCDecayGammaPi0Pt;
103 TH1F **hMCDecayGammaRhoPt;
104 TH1F **hMCDecayGammaEtaPt;
105 TH1F **hMCDecayGammaOmegaPt;
106 TH1F **hMCDecayGammaEtapPt;
107 TH1F **hMCDecayGammaPhiPt;
e5b6e8a6 108 TH1F **hMCDecayGammaSigmaPt;
ca91a3e1 109 TH1F **hMCConvGammaPt;
110 TH1F **hMCConvGammaR;
111 TH1F **hMCConvGammaEta;
e5b6e8a6 112 TH1F **hMCConvGammaRSPt;
113 TH1F **hMCConvGammaRSR;
114 TH1F **hMCConvGammaRSEta;
ca91a3e1 115 TH1F **hMCPi0Pt;
ae947965 116 TH1F **hMCPi0WOWeightPt;
ca91a3e1 117 TH1F **hMCEtaPt;
118 TH1F **hMCPi0InAccPt;
119 TH1F **hMCEtaInAccPt;
0a2b2b4b 120 TH2F **hMCPi0PtY;
121 TH2F **hMCEtaPtY;
ae947965 122 TH1F **hMCK0sPt;
123 TH1F **hMCK0sWOWeightPt;
124 TH2F **hMCK0sPtY;
ca91a3e1 125 TH2F **hESDTrueMotherInvMassPt;
a280ac15 126 TH2F **hESDTruePrimaryMotherInvMassPt;
526074e4 127 TH2F **hESDTruePrimaryMotherW0WeightingInvMassPt;
128 TProfile2D **pESDTruePrimaryMotherWeightsInvMassPt;
0a2b2b4b 129 TH2F **hESDTruePrimaryPi0MCPtResolPt;
130 TH2F **hESDTruePrimaryEtaMCPtResolPt;
131 THnSparseF **sESDTruePrimaryMotherInvMassPtY;
ca91a3e1 132 TH2F **hESDTrueSecondaryMotherInvMassPt;
133 TH2F **hESDTrueSecondaryMotherFromK0sInvMassPt;
e5b6e8a6 134 TH1F **hESDTrueK0sWithPi0DaughterMCPt;
135 TH2F **hESDTrueSecondaryMotherFromEtaInvMassPt;
136 TH1F **hESDTrueEtaWithPi0DaughterMCPt;
ca91a3e1 137 TH2F **hESDTrueBckGGInvMassPt;
138 TH2F **hESDTrueBckContInvMassPt;
139 TH2F **hESDTrueMotherDalitzInvMassPt;
140 TH1F **hESDTrueConvGammaPt;
e5b6e8a6 141 TH2F **hESDCombinatorialPt;
ca91a3e1 142 TH1F **hESDTruePrimaryConvGammaPt;
143 TH1F **hESDTruePrimaryConvGammaR;
144 TH1F **hESDTruePrimaryConvGammaEta;
145 TH2F **hESDTruePrimaryConvGammaESDPtMCPt;
e5b6e8a6 146 TH2F **hESDTruePrimaryConvGammaRSESDPtMCPt;
ca91a3e1 147 TH1F **hESDTrueSecondaryConvGammaPt;
e5b6e8a6 148 TH1F **hESDTrueSecondaryConvGammaR;
ca91a3e1 149 TH1F **hESDTrueSecondaryConvGammaFromXFromK0sPt;
150 TH1I **hNEvents;
151 TH1I **hNGoodESDTracks;
a280ac15 152 TH1I **hNGammaCandidates;
ca91a3e1 153 TH1I **hNV0Tracks;
ae947965 154 TH1F **hEtaShift;
11c1e680 155
ca91a3e1 156 TRandom3 fRandom;
a280ac15 157 Int_t fnGammaCandidates;
158 Double_t *fUnsmearedPx; //[fnGammaCandidates]
159 Double_t *fUnsmearedPy; //[fnGammaCandidates]
160 Double_t *fUnsmearedPz; //[fnGammaCandidates]
161 Double_t *fUnsmearedE; //[fnGammaCandidates]
ae947965 162 Int_t *fMCStackPos; //[fnGammaCandidates]
163 Int_t *fMCStackNeg; //[fnGammaCandidates]
ca91a3e1 164 Int_t fnCuts;
165 Int_t fiCut;
166 Int_t fNumberOfESDTracks;
ca91a3e1 167 Bool_t fMoveParticleAccordingToVertex;
168 Bool_t fIsHeavyIon;
169 Bool_t fDoMesonAnalysis;
0a2b2b4b 170 Bool_t fDoMesonQA;
171 Bool_t fDoPhotonQA;
a280ac15 172 Bool_t fIsFromMBHeader;
ae947965 173 Bool_t fIsMC;
ca91a3e1 174
a280ac15 175private:
176
177 AliAnalysisTaskGammaConvV1(const AliAnalysisTaskGammaConvV1&); // Prevent copy-construction
178 AliAnalysisTaskGammaConvV1 &operator=(const AliAnalysisTaskGammaConvV1&); // Prevent assignment
179
180
ae947965 181 ClassDef(AliAnalysisTaskGammaConvV1, 7);
2bb2434e 182};
183
184#endif