]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliAnalysisTaskGammaConvDalitzV1.h
Update, according to macros on alien from latest running (LHC13g + update from T0...
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskGammaConvDalitzV1.h
CommitLineData
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
16class AliESDInputHandler;
17class AliMCEventHandler;
18class AliESDEvent;
19class AliESDtrack;
20class AliESDtrackCuts;
21class AliESDpidCuts;
22class AliV0Reader;
23class AliGammaConversionHistograms;
24class AliTriggerAnalysis;
25
26class 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();
ae947965 36 virtual Bool_t Notify();
2bb2434e 37 virtual void Terminate(const Option_t *);
38
39
40
41
ae947965 42 void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;}
43
44 void SetIsHeavyIon(Int_t flag){
45 if (flag == 1 || flag ==2 ){
46 fIsHeavyIon = 1;
47 } else {
48 fIsHeavyIon = 0;
49 }
50 }
51
52 void SetIsMC(Bool_t isMC){fIsMC=isMC;}
53 void SetConversionCutList(Int_t nCuts, TList *CutArray){
54 fnCuts= nCuts;
55 fCutGammaArray = CutArray;
56 }
57 void SetElectronCutList(TList *CutArray){
58 fCutElectronArray = CutArray;
59 }
60 void SetMesonCutList(TList *CutArray){
61 fCutMesonArray = CutArray;
62 }
63
2bb2434e 64
65 private:
66
2bb2434e 67 void InitBack();
68 void ProcessPhotonCandidates();
69 void ProcessTruePhotonCandidates(AliAODConversionPhoton*);
70 void ProcessTrueMesonCandidates(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate, AliAODConversionPhoton *TrueVirtualGammaCandidate);
71 void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex);
72 void ProcessElectronCandidates();
73 void ProcessMCParticles();
74 void CountESDTracks();
75 void CalculatePi0DalitzCandidates();
76 void CalculateBackground();
77 void UpdateEventByEventData();
a280ac15 78 Double_t GetPsiPair( const AliESDtrack *trackPos, const AliESDtrack *trackNeg ) const;
ae947965 79 Bool_t IsDalitz(TParticle *fMCMother) const;
ccfa8c0d 80 Bool_t IsPi0DalitzDaughter( Int_t label ) const;
2bb2434e 81
82
83
84 AliV0ReaderV1 *fV0Reader;
85 AliDalitzElectronSelector* fElecSelector;
86 AliGammaConversionAODBGHandler **fBGHandler;
87 AliESDEvent *fESDEvent;
88 AliMCEvent *fMCEvent;
89 AliStack *fMCStack;
90 TList **fCutFolder;
91 TList **fESDList;
92 TList **fBackList;
93 TList **fTrueList;
94 TList **fMCList;
95 TList *fOutputContainer;
96 TClonesArray *fReaderGammas;
97 vector<Int_t> fSelectorElectronIndex;
98 vector<Int_t> fSelectorPositronIndex;
99 TList *fGoodGammas;
100 TList *fGoodVirtualGammas;
101 TList *fGoodElectrons;
102 TList *fGoodPositrons;
103 TList *fCutGammaArray;
104 TList *fCutElectronArray;
105 TList *fCutMesonArray;
106 TList **fGammasPool;
107 AliConversionCuts *fConversionCuts;
108 TH1F **hESDConvGammaPt;
109 TH1F **hESDDalitzElectronPt;
110 TH1F **hESDDalitzPositronPt;
4803eb1f 111 TH1F **hESDDalitzElectronPhi;
112 TH1F **hESDDalitzPositronPhi;
113 TH1F **hESDDalitzElectronAfterPt;
114 TH1F **hESDDalitzPositronAfterPt;
115 TH1F **hESDDalitzElectronAfterPhi;
116 TH1F **hESDDalitzPositronAfterPhi;
117 TH2F **hESDDalitzElectronAfterNFindClsTPC;
118 TH2F **hESDDalitzPositronAfterNFindClsTPC;
119 TH2F **hESDDalitzPosEleAfterDCAxy;
120 TH2F **hESDDalitzPosEleAfterDCAz;
121 TH2F **hESDDalitzPosEleAfterTPCdEdx;
122 TH2F **hESDDalitzPosEleAfterTPCdEdxSignal;
123 TH1F **hESDMotherPhi;
2bb2434e 124 TH2F **hESDEposEnegPsiPairDPhi;
a280ac15 125 TH2F **hESDEposEnegInvMassPt;
0a2b2b4b 126 TH2F **hESDEposEnegLikeSignBackInvMassPt;
2bb2434e 127 TH2F **hESDMotherInvMassPt;
a280ac15 128 TH2F **hESDPi0MotherInvMassPt;
129 TH2F **hESDPi0MotherDiffInvMassPt;
ae947965 130 TH2F **hESDPi0MotherDiffLimInvMassPt;
2bb2434e 131 THnSparseF **sESDMotherInvMassPtZM;
132 TH2F **hESDMotherBackInvMassPt;
133 THnSparseF **sESDMotherBackInvMassPtZM;
ccfa8c0d 134 TH1F **hMCAllGammaPt;
ae947965 135 TH1F **hMCConvGammaPt;
136 TH1F **hMCConvGammaRSPt;
ccfa8c0d 137 TH1F **hMCAllPositronsPt;
138 TH1F **hMCAllElectronsPt;
139 TH1F **hMCPi0DalitzGammaPt;
140 TH1F **hMCPi0DalitzElectronPt;
141 TH1F **hMCPi0DalitzPositronPt;
2bb2434e 142 TH1F **hMCPi0Pt;
a280ac15 143 TH1F **hMCPi0GGPt;
2bb2434e 144 TH1F **hMCEtaPt;
a280ac15 145 TH1F **hMCEtaGGPt;
2bb2434e 146 TH1F **hMCPi0InAccPt;
147 TH1F **hMCEtaInAccPt;
0f8c33c1 148 TH1F **hMCChiCPt;
149 TH1F **hMCChiCInAccPt;
ccfa8c0d 150 TH2F **hESDEposEnegTruePi0DalitzInvMassPt;
151 TH2F **hESDEposEnegTrueEtaDalitzInvMassPt;
152 TH2F **hESDEposEnegTruePhotonInvMassPt;
0f8c33c1 153 TH2F **hESDEposEnegTrueJPsiInvMassPt;
154 TH2F **hESDTrueMotherChiCInvMassPt;
ae947965 155 TH2F **hESDTrueMotherChiCDiffInvMassPt;
2bb2434e 156 TH2F **hESDTrueMotherInvMassPt;
4803eb1f 157 TH2F **hESDTrueMotherDalitzInvMassPt;
2bb2434e 158 TH2F **hESDTrueMotherPi0GGInvMassPt;
159 TH2F **hESDTruePrimaryMotherInvMassMCPt;
160 TH2F **hESDTruePrimaryPi0DalitzESDPtMCPt;
161 TH2F **hESDTrueSecondaryMotherInvMassPt;
162 TH2F **hESDTrueSecondaryMotherFromK0sInvMassPt;
163 TH2F **hESDTrueBckGGInvMassPt;
164 TH2F **hESDTrueBckContInvMassPt;
165 TH2F **hESDTrueMotherGGInvMassPt;
166 TH1F **hESDTrueConvGammaPt;
ccfa8c0d 167 TH1F **hESDTruePositronPt;
168 TH1F **hESDTrueElectronPt;
ae947965 169 TH1F **hESDTrueSecConvGammaPt;
170 TH1F **hESDTrueSecPositronPt;
171 TH1F **hESDTrueSecElectronPt;
ccfa8c0d 172 TH1F **hESDTruePi0DalitzConvGammaPt;
173 TH1F **hESDTruePi0DalitzPositronPt;
174 TH1F **hESDTruePi0DalitzElectronPt;
ae947965 175 TH1F **hESDTruePi0DalitzSecConvGammaPt;
176 TH1F **hESDTruePi0DalitzSecPositronPt;
177 TH1F **hESDTruePi0DalitzSecElectronPt;
ccfa8c0d 178 //if(fDoMesonAnalysis){
179
180
2bb2434e 181 TH1I **hNEvents;
182 TH1I **hNGoodESDTracks;
183
184 TRandom3 fRandom;
185 Double_t *fUnsmearedPx;
186 Double_t *fUnsmearedPy;
187 Double_t *fUnsmearedPz;
188 Double_t *fUnsmearedE;
189 Int_t fnCuts;
190 Int_t fiCut;
191 Int_t fNumberOfESDTracks;
192 Bool_t fMoveParticleAccordingToVertex;
193 Bool_t fIsHeavyIon;
194 Bool_t fDoMesonAnalysis;
ae947965 195 Bool_t fIsFromMBHeader;
196 Bool_t fIsMC;
197
2bb2434e 198 private:
199 AliAnalysisTaskGammaConvDalitzV1( const AliAnalysisTaskGammaConvDalitzV1& ); // Not implemented
200 AliAnalysisTaskGammaConvDalitzV1& operator=( const AliAnalysisTaskGammaConvDalitzV1& ); // Not implemented
201
ae947965 202 ClassDef( AliAnalysisTaskGammaConvDalitzV1, 3 );
2bb2434e 203};
204
205#endif // ALIANALYSISTASKGAMMACONVDALITZV1_H
206