#ifndef ALIANLYSISTASKGAMMACONVV1_cxx
#define ALIANLYSISTASKGAMMACONVV1_cxx
#include "AliAnalysisTaskSE.h"
#include "AliESDtrack.h"
#include "AliV0ReaderV1.h"
#include "AliConvEventCuts.h"
#include "AliKFConversionPhoton.h"
#include "AliGammaConversionAODBGHandler.h"
#include "AliConversionAODBGHandlerRP.h"
#include "AliConversionMesonCuts.h"
#include "AliAnalysisManager.h"
#include "TProfile2D.h"
#include "TH3.h"
#include "TH3F.h"
class AliAnalysisTaskGammaConvV1 : public AliAnalysisTaskSE {
public:
AliAnalysisTaskGammaConvV1();
AliAnalysisTaskGammaConvV1(const char *name);
virtual ~AliAnalysisTaskGammaConvV1();
virtual void UserCreateOutputObjects();
virtual Bool_t Notify();
virtual void UserExec(Option_t *);
virtual void Terminate(const Option_t*);
void InitBack();
void SetIsHeavyIon(Int_t flag){
fIsHeavyIon = flag;
}
void SetIsMC(Bool_t isMC){fIsMC=isMC;}
void SetDoMesonAnalysis(Bool_t flag){fDoMesonAnalysis = flag;}
void SetDoMesonQA(Int_t flag){fDoMesonQA = flag;}
void SetDoPhotonQA(Int_t flag){fDoPhotonQA = flag;}
void ProcessPhotonCandidates();
void CalculatePi0Candidates();
void CalculateBackground();
void CalculateBackgroundRP();
void ProcessMCParticles();
void ProcessAODMCParticles();
void RelabelAODPhotonCandidates(Bool_t mode);
void ProcessTruePhotonCandidates( AliAODConversionPhoton* TruePhotonCandidate);
void ProcessTruePhotonCandidatesAOD( AliAODConversionPhoton* TruePhotonCandidate);
void ProcessTrueMesonCandidates( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
void ProcessTrueMesonCandidatesAOD(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
void RotateParticle(AliAODConversionPhoton *gamma);
void RotateParticleAccordingToEP(AliAODConversionPhoton *gamma, Double_t previousEventEP, Double_t thisEventEP);
void SetEventCutList(Int_t nCuts, TList *CutArray){
fnCuts = nCuts;
fEventCutArray = CutArray;
}
void SetConversionCutList(Int_t nCuts, TList *CutArray){
fnCuts = nCuts;
fCutArray = CutArray;
}
void SetMesonCutList(Int_t nCuts, TList *CutArray){
fnCuts = nCuts;
fMesonCutArray = CutArray;
}
void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;}
void FillPhotonCombinatorialBackgroundHist(AliAODConversionPhoton *TruePhotonCandidate, Int_t pdgCode[]);
void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex);
void UpdateEventByEventData();
void SetLogBinningXTH2(TH2* histoRebin);
Int_t GetSourceClassification(Int_t daughter, Int_t pdgCode);
protected:
AliV0ReaderV1 *fV0Reader;
AliGammaConversionAODBGHandler **fBGHandler;
AliConversionAODBGHandlerRP **fBGHandlerRP;
AliVEvent *fInputEvent;
AliMCEvent *fMCEvent;
AliStack *fMCStack;
TList **fCutFolder;
TList **fESDList;
TList **fBackList;
TList **fMotherList;
TList **fPhotonDCAList;
TList **fMesonDCAList;
TList **fTrueList;
TList **fMCList;
TList **fHeaderNameList;
TList *fOutputContainer;
TClonesArray *fReaderGammas;
TList *fGammaCandidates;
TList *fEventCutArray;
AliConvEventCuts *fEventCuts;
TList *fCutArray;
AliConversionPhotonCuts *fConversionCuts;
TList *fMesonCutArray;
AliConversionMesonCuts *fMesonCuts;
TH1F **hESDConvGammaPt;
TH1F **hESDConvGammaR;
TH1F **hESDConvGammaEta;
TH1F **hESDConvGammaPhi;
TTree **tESDConvGammaPtDcazCat;
Float_t fPtGamma;
Float_t fDCAzPhoton;
Float_t fRConvPhoton;
Float_t fEtaPhoton;
UChar_t iCatPhoton;
UChar_t iPhotonMCInfo;
TH2F **hESDMotherInvMassPt;
THnSparseF **sESDMotherInvMassPtZM;
TH2F **hESDMotherBackInvMassPt;
THnSparseF **sESDMotherBackInvMassPtZM;
TH2F **hESDMotherInvMassEalpha;
TH2F **hESDMotherPi0PtY;
TH2F **hESDMotherEtaPtY;
TH2F **hESDMotherPi0PtAlpha;
TH2F **hESDMotherEtaPtAlpha;
TH2F **hESDMotherPi0PtOpenAngle;
TH2F **hESDMotherEtaPtOpenAngle;
TH1I **hMCHeaders;
TH1F **hMCAllGammaPt;
TH1F **hMCDecayGammaPi0Pt;
TH1F **hMCDecayGammaRhoPt;
TH1F **hMCDecayGammaEtaPt;
TH1F **hMCDecayGammaOmegaPt;
TH1F **hMCDecayGammaEtapPt;
TH1F **hMCDecayGammaPhiPt;
TH1F **hMCDecayGammaSigmaPt;
TH1F **hMCConvGammaPt;
TH1F **hMCConvGammaR;
TH1F **hMCConvGammaEta;
TH1F **hMCPi0Pt;
TH1F **hMCPi0WOWeightPt;
TH1F **hMCEtaPt;
TH1F **hMCEtaWOWeightPt;
TH1F **hMCPi0InAccPt;
TH1F **hMCEtaInAccPt;
TH2F **hMCPi0PtY;
TH2F **hMCEtaPtY;
TH2F **hMCPi0PtAlpha;
TH2F **hMCEtaPtAlpha;
TH1F **hMCK0sPt;
TH1F **hMCK0sWOWeightPt;
TH2F **hMCK0sPtY;
TH2F **hMCSecPi0PtvsSource;
TH1F **hMCSecPi0Source;
TH1F **hMCSecEtaPt;
TH1F **hMCSecEtaSource;
TH2F **hESDTrueMotherInvMassPt;
TH2F **hESDTruePrimaryMotherInvMassPt;
TH2F **hESDTruePrimaryMotherW0WeightingInvMassPt;
TProfile2D **pESDTruePrimaryMotherWeightsInvMassPt;
TH2F **hESDTruePrimaryPi0MCPtResolPt;
TH2F **hESDTruePrimaryEtaMCPtResolPt;
TH2F **hESDTrueSecondaryMotherInvMassPt;
TH2F **hESDTrueSecondaryMotherFromK0sInvMassPt;
TH1F **hESDTrueK0sWithPi0DaughterMCPt;
TH2F **hESDTrueSecondaryMotherFromEtaInvMassPt;
TH1F **hESDTrueEtaWithPi0DaughterMCPt;
TH2F **hESDTrueSecondaryMotherFromLambdaInvMassPt;
TH1F **hESDTrueLambdaWithPi0DaughterMCPt;
TH2F **hESDTrueBckGGInvMassPt;
TH2F **hESDTrueBckContInvMassPt;
TH2F **hESDTruePi0PtY;
TH2F **hESDTrueEtaPtY;
TH2F **hESDTruePi0PtAlpha;
TH2F **hESDTrueEtaPtAlpha;
TH2F **hESDTruePi0PtOpenAngle;
TH2F **hESDTrueEtaPtOpenAngle;
TH2F **hESDTrueMotherDalitzInvMassPt;
TH1F **hESDTrueConvGammaPt;
TH1F **hESDTrueConvGammaR;
TH1F **hESDTrueConvGammaPtMC;
TH1F **hESDTrueConvGammaRMC;
TH1F **hESDTrueConvGammaEta;
TH2F **hESDCombinatorialPt;
TH1F **hESDTruePrimaryConvGammaPt;
TH2F **hESDTruePrimaryConvGammaESDPtMCPt;
TH1F **hESDTrueSecondaryConvGammaPt;
TH1F **hESDTrueSecondaryConvGammaFromXFromK0sPt;
TH1F **hESDTrueSecondaryConvGammaFromXFromLambdaPt;
TH2F **hESDTrueDalitzPsiPairDeltaPhi;
TH2F **hESDTrueGammaPsiPairDeltaPhi;
TH1I **hNEvents;
TH1I **hNGoodESDTracks;
TH1I **hNGammaCandidates;
TH2F **hNGoodESDTracksVsNGammaCanditates;
TH1I **hNV0Tracks;
TProfile **hEtaShift;
TTree **tESDMesonsInvMassPtDcazMinDcazMaxFlag;
Float_t fInvMass;
Float_t fPt;
Float_t fDCAzGammaMin;
Float_t fDCAzGammaMax;
UChar_t iFlag;
UChar_t iMesonMCInfo;
Double_t fEventPlaneAngle;
TRandom3 fRandom;
Int_t fnGammaCandidates;
Double_t *fUnsmearedPx;
Double_t *fUnsmearedPy;
Double_t *fUnsmearedPz;
Double_t *fUnsmearedE;
Int_t *fMCStackPos;
Int_t *fMCStackNeg;
Int_t *fESDArrayPos;
Int_t *fESDArrayNeg;
Int_t fnCuts;
Int_t fiCut;
Bool_t fMoveParticleAccordingToVertex;
Int_t fIsHeavyIon;
Bool_t fDoMesonAnalysis;
Int_t fDoMesonQA;
Int_t fDoPhotonQA;
Bool_t fIsFromMBHeader;
Bool_t fIsMC;
private:
AliAnalysisTaskGammaConvV1(const AliAnalysisTaskGammaConvV1&);
AliAnalysisTaskGammaConvV1 &operator=(const AliAnalysisTaskGammaConvV1&);
ClassDef(AliAnalysisTaskGammaConvV1, 14);
};
#endif
AliAnalysisTaskGammaConvV1.h:1 AliAnalysisTaskGammaConvV1.h:2 AliAnalysisTaskGammaConvV1.h:3 AliAnalysisTaskGammaConvV1.h:4 AliAnalysisTaskGammaConvV1.h:5 AliAnalysisTaskGammaConvV1.h:6 AliAnalysisTaskGammaConvV1.h:7 AliAnalysisTaskGammaConvV1.h:8 AliAnalysisTaskGammaConvV1.h:9 AliAnalysisTaskGammaConvV1.h:10 AliAnalysisTaskGammaConvV1.h:11 AliAnalysisTaskGammaConvV1.h:12 AliAnalysisTaskGammaConvV1.h:13 AliAnalysisTaskGammaConvV1.h:14 AliAnalysisTaskGammaConvV1.h:15 AliAnalysisTaskGammaConvV1.h:16 AliAnalysisTaskGammaConvV1.h:17 AliAnalysisTaskGammaConvV1.h:18 AliAnalysisTaskGammaConvV1.h:19 AliAnalysisTaskGammaConvV1.h:20 AliAnalysisTaskGammaConvV1.h:21 AliAnalysisTaskGammaConvV1.h:22 AliAnalysisTaskGammaConvV1.h:23 AliAnalysisTaskGammaConvV1.h:24 AliAnalysisTaskGammaConvV1.h:25 AliAnalysisTaskGammaConvV1.h:26 AliAnalysisTaskGammaConvV1.h:27 AliAnalysisTaskGammaConvV1.h:28 AliAnalysisTaskGammaConvV1.h:29 AliAnalysisTaskGammaConvV1.h:30 AliAnalysisTaskGammaConvV1.h:31 AliAnalysisTaskGammaConvV1.h:32 AliAnalysisTaskGammaConvV1.h:33 AliAnalysisTaskGammaConvV1.h:34 AliAnalysisTaskGammaConvV1.h:35 AliAnalysisTaskGammaConvV1.h:36 AliAnalysisTaskGammaConvV1.h:37 AliAnalysisTaskGammaConvV1.h:38 AliAnalysisTaskGammaConvV1.h:39 AliAnalysisTaskGammaConvV1.h:40 AliAnalysisTaskGammaConvV1.h:41 AliAnalysisTaskGammaConvV1.h:42 AliAnalysisTaskGammaConvV1.h:43 AliAnalysisTaskGammaConvV1.h:44 AliAnalysisTaskGammaConvV1.h:45 AliAnalysisTaskGammaConvV1.h:46 AliAnalysisTaskGammaConvV1.h:47 AliAnalysisTaskGammaConvV1.h:48 AliAnalysisTaskGammaConvV1.h:49 AliAnalysisTaskGammaConvV1.h:50 AliAnalysisTaskGammaConvV1.h:51 AliAnalysisTaskGammaConvV1.h:52 AliAnalysisTaskGammaConvV1.h:53 AliAnalysisTaskGammaConvV1.h:54 AliAnalysisTaskGammaConvV1.h:55 AliAnalysisTaskGammaConvV1.h:56 AliAnalysisTaskGammaConvV1.h:57 AliAnalysisTaskGammaConvV1.h:58 AliAnalysisTaskGammaConvV1.h:59 AliAnalysisTaskGammaConvV1.h:60 AliAnalysisTaskGammaConvV1.h:61 AliAnalysisTaskGammaConvV1.h:62 AliAnalysisTaskGammaConvV1.h:63 AliAnalysisTaskGammaConvV1.h:64 AliAnalysisTaskGammaConvV1.h:65 AliAnalysisTaskGammaConvV1.h:66 AliAnalysisTaskGammaConvV1.h:67 AliAnalysisTaskGammaConvV1.h:68 AliAnalysisTaskGammaConvV1.h:69 AliAnalysisTaskGammaConvV1.h:70 AliAnalysisTaskGammaConvV1.h:71 AliAnalysisTaskGammaConvV1.h:72 AliAnalysisTaskGammaConvV1.h:73 AliAnalysisTaskGammaConvV1.h:74 AliAnalysisTaskGammaConvV1.h:75 AliAnalysisTaskGammaConvV1.h:76 AliAnalysisTaskGammaConvV1.h:77 AliAnalysisTaskGammaConvV1.h:78 AliAnalysisTaskGammaConvV1.h:79 AliAnalysisTaskGammaConvV1.h:80 AliAnalysisTaskGammaConvV1.h:81 AliAnalysisTaskGammaConvV1.h:82 AliAnalysisTaskGammaConvV1.h:83 AliAnalysisTaskGammaConvV1.h:84 AliAnalysisTaskGammaConvV1.h:85 AliAnalysisTaskGammaConvV1.h:86 AliAnalysisTaskGammaConvV1.h:87 AliAnalysisTaskGammaConvV1.h:88 AliAnalysisTaskGammaConvV1.h:89 AliAnalysisTaskGammaConvV1.h:90 AliAnalysisTaskGammaConvV1.h:91 AliAnalysisTaskGammaConvV1.h:92 AliAnalysisTaskGammaConvV1.h:93 AliAnalysisTaskGammaConvV1.h:94 AliAnalysisTaskGammaConvV1.h:95 AliAnalysisTaskGammaConvV1.h:96 AliAnalysisTaskGammaConvV1.h:97 AliAnalysisTaskGammaConvV1.h:98 AliAnalysisTaskGammaConvV1.h:99 AliAnalysisTaskGammaConvV1.h:100 AliAnalysisTaskGammaConvV1.h:101 AliAnalysisTaskGammaConvV1.h:102 AliAnalysisTaskGammaConvV1.h:103 AliAnalysisTaskGammaConvV1.h:104 AliAnalysisTaskGammaConvV1.h:105 AliAnalysisTaskGammaConvV1.h:106 AliAnalysisTaskGammaConvV1.h:107 AliAnalysisTaskGammaConvV1.h:108 AliAnalysisTaskGammaConvV1.h:109 AliAnalysisTaskGammaConvV1.h:110 AliAnalysisTaskGammaConvV1.h:111 AliAnalysisTaskGammaConvV1.h:112 AliAnalysisTaskGammaConvV1.h:113 AliAnalysisTaskGammaConvV1.h:114 AliAnalysisTaskGammaConvV1.h:115 AliAnalysisTaskGammaConvV1.h:116 AliAnalysisTaskGammaConvV1.h:117 AliAnalysisTaskGammaConvV1.h:118 AliAnalysisTaskGammaConvV1.h:119 AliAnalysisTaskGammaConvV1.h:120 AliAnalysisTaskGammaConvV1.h:121 AliAnalysisTaskGammaConvV1.h:122 AliAnalysisTaskGammaConvV1.h:123 AliAnalysisTaskGammaConvV1.h:124 AliAnalysisTaskGammaConvV1.h:125 AliAnalysisTaskGammaConvV1.h:126 AliAnalysisTaskGammaConvV1.h:127 AliAnalysisTaskGammaConvV1.h:128 AliAnalysisTaskGammaConvV1.h:129 AliAnalysisTaskGammaConvV1.h:130 AliAnalysisTaskGammaConvV1.h:131 AliAnalysisTaskGammaConvV1.h:132 AliAnalysisTaskGammaConvV1.h:133 AliAnalysisTaskGammaConvV1.h:134 AliAnalysisTaskGammaConvV1.h:135 AliAnalysisTaskGammaConvV1.h:136 AliAnalysisTaskGammaConvV1.h:137 AliAnalysisTaskGammaConvV1.h:138 AliAnalysisTaskGammaConvV1.h:139 AliAnalysisTaskGammaConvV1.h:140 AliAnalysisTaskGammaConvV1.h:141 AliAnalysisTaskGammaConvV1.h:142 AliAnalysisTaskGammaConvV1.h:143 AliAnalysisTaskGammaConvV1.h:144 AliAnalysisTaskGammaConvV1.h:145 AliAnalysisTaskGammaConvV1.h:146 AliAnalysisTaskGammaConvV1.h:147 AliAnalysisTaskGammaConvV1.h:148 AliAnalysisTaskGammaConvV1.h:149 AliAnalysisTaskGammaConvV1.h:150 AliAnalysisTaskGammaConvV1.h:151 AliAnalysisTaskGammaConvV1.h:152 AliAnalysisTaskGammaConvV1.h:153 AliAnalysisTaskGammaConvV1.h:154 AliAnalysisTaskGammaConvV1.h:155 AliAnalysisTaskGammaConvV1.h:156 AliAnalysisTaskGammaConvV1.h:157 AliAnalysisTaskGammaConvV1.h:158 AliAnalysisTaskGammaConvV1.h:159 AliAnalysisTaskGammaConvV1.h:160 AliAnalysisTaskGammaConvV1.h:161 AliAnalysisTaskGammaConvV1.h:162 AliAnalysisTaskGammaConvV1.h:163 AliAnalysisTaskGammaConvV1.h:164 AliAnalysisTaskGammaConvV1.h:165 AliAnalysisTaskGammaConvV1.h:166 AliAnalysisTaskGammaConvV1.h:167 AliAnalysisTaskGammaConvV1.h:168 AliAnalysisTaskGammaConvV1.h:169 AliAnalysisTaskGammaConvV1.h:170 AliAnalysisTaskGammaConvV1.h:171 AliAnalysisTaskGammaConvV1.h:172 AliAnalysisTaskGammaConvV1.h:173 AliAnalysisTaskGammaConvV1.h:174 AliAnalysisTaskGammaConvV1.h:175 AliAnalysisTaskGammaConvV1.h:176 AliAnalysisTaskGammaConvV1.h:177 AliAnalysisTaskGammaConvV1.h:178 AliAnalysisTaskGammaConvV1.h:179 AliAnalysisTaskGammaConvV1.h:180 AliAnalysisTaskGammaConvV1.h:181 AliAnalysisTaskGammaConvV1.h:182 AliAnalysisTaskGammaConvV1.h:183 AliAnalysisTaskGammaConvV1.h:184 AliAnalysisTaskGammaConvV1.h:185 AliAnalysisTaskGammaConvV1.h:186 AliAnalysisTaskGammaConvV1.h:187 AliAnalysisTaskGammaConvV1.h:188 AliAnalysisTaskGammaConvV1.h:189 AliAnalysisTaskGammaConvV1.h:190 AliAnalysisTaskGammaConvV1.h:191 AliAnalysisTaskGammaConvV1.h:192 AliAnalysisTaskGammaConvV1.h:193 AliAnalysisTaskGammaConvV1.h:194 AliAnalysisTaskGammaConvV1.h:195 AliAnalysisTaskGammaConvV1.h:196 AliAnalysisTaskGammaConvV1.h:197 AliAnalysisTaskGammaConvV1.h:198 AliAnalysisTaskGammaConvV1.h:199 AliAnalysisTaskGammaConvV1.h:200 AliAnalysisTaskGammaConvV1.h:201 AliAnalysisTaskGammaConvV1.h:202 AliAnalysisTaskGammaConvV1.h:203 AliAnalysisTaskGammaConvV1.h:204 AliAnalysisTaskGammaConvV1.h:205 AliAnalysisTaskGammaConvV1.h:206 AliAnalysisTaskGammaConvV1.h:207 AliAnalysisTaskGammaConvV1.h:208 AliAnalysisTaskGammaConvV1.h:209 AliAnalysisTaskGammaConvV1.h:210 AliAnalysisTaskGammaConvV1.h:211 AliAnalysisTaskGammaConvV1.h:212 AliAnalysisTaskGammaConvV1.h:213 AliAnalysisTaskGammaConvV1.h:214 AliAnalysisTaskGammaConvV1.h:215 AliAnalysisTaskGammaConvV1.h:216 AliAnalysisTaskGammaConvV1.h:217 AliAnalysisTaskGammaConvV1.h:218 AliAnalysisTaskGammaConvV1.h:219 AliAnalysisTaskGammaConvV1.h:220 AliAnalysisTaskGammaConvV1.h:221 AliAnalysisTaskGammaConvV1.h:222 AliAnalysisTaskGammaConvV1.h:223 AliAnalysisTaskGammaConvV1.h:224 AliAnalysisTaskGammaConvV1.h:225 AliAnalysisTaskGammaConvV1.h:226 AliAnalysisTaskGammaConvV1.h:227 AliAnalysisTaskGammaConvV1.h:228 AliAnalysisTaskGammaConvV1.h:229 AliAnalysisTaskGammaConvV1.h:230 AliAnalysisTaskGammaConvV1.h:231 AliAnalysisTaskGammaConvV1.h:232 AliAnalysisTaskGammaConvV1.h:233 AliAnalysisTaskGammaConvV1.h:234 AliAnalysisTaskGammaConvV1.h:235 AliAnalysisTaskGammaConvV1.h:236 AliAnalysisTaskGammaConvV1.h:237 AliAnalysisTaskGammaConvV1.h:238 AliAnalysisTaskGammaConvV1.h:239