]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/GammaConv/AliAnalysisTaskGCPartToPWG4Part.h
From Gustavo: Updates to make GCPart to PWG4Part conversion work.
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliAnalysisTaskGCPartToPWG4Part.h
CommitLineData
76b5ef6f 1#ifndef AliAnalysisTaskGCPartToPWG4Part_cxx
2#define AliAnalysisTaskGCPartToPWG4Part_cxx
3
4// example of an analysis task creating a p_t spectrum
5// Authors: Svein Lindal
6
7class TH1F;
8class AliESDEvent;
9class AliAODConversionPhoton;
10class AliAODPWG4ParticleCorrelation;
11class AliAODPWG4Particle;
12class TClonesArray;
13class TString;
14class AliMCAnalysisUtils;
15class AliAODMCHeader;
16
17#include "AliAnalysisTaskSE.h"
18
19class AliAnalysisTaskGCPartToPWG4Part : public AliAnalysisTaskSE {
20
21public:
22
23 AliAnalysisTaskGCPartToPWG4Part();
24 AliAnalysisTaskGCPartToPWG4Part(const char *name);
25 virtual ~AliAnalysisTaskGCPartToPWG4Part();
26
27 virtual void UserCreateOutputObjects();
28 virtual void UserExec(Option_t *option);
29 virtual void Terminate(Option_t *);
30
31 void SetDeltaAODFileName(TString string) { fDeltaAODFileName = string;}
32 void SetGammaBranchName(TString string) { fAODBranchName = string; }
33
34
35 void SetDebugLevel(Int_t debugLevel) { fDebugLevel = debugLevel; }
36 Int_t GetDebugLevel() const { return fDebugLevel; }
37
38 void SetGammaCutId(TString cut) { fGammaCutString = Form("GammaConv_%s", cut.Data());}
39 void SetPionCutId(TString cut) { fPionCutString = Form("GammaConv_%s", cut.Data());}
40
41
42 private:
43
44 //Clean up
45 void CleanUp();
46
47 //Get the AOD event from whereever it might be accessible
48 AliAODEvent * GetAODEvent();
49
50 Bool_t BothTracksPresent(const AliAODConversionPhoton * photon) ;
51 Bool_t BothGammaPresent (const AliAODConversionPhoton * pion,
52 const TClonesArray * photons);
53
54 //Get Conversion gammas branch
55 TClonesArray * GetConversionGammas(const AliAODEvent * aodEvent) const;
56 TClonesArray * GetPions(const AliAODEvent * aodEvent) const;
57 TClonesArray * GetAODBranch(const AliAODEvent * aodEvent, TString branchName) const;
58
59 //Fill AOD tree with PWG4 particles
60 AliAODPWG4ParticleCorrelation * AddToAOD(AliAODConversionPhoton * aodO, TClonesArray * branch, TString detector);
61 AliAODPWG4ParticleCorrelation * AddPionToAOD(AliAODConversionPhoton * pion, TClonesArray * branch, TString detector);
62 //Process conv gamma
63 void ProcessConvGamma( const AliAODEvent * const aodEvent );
64
65 TString fDeltaAODFileName;//! File where Gamma Conv AOD is located, if not in default AOD
66 TString fGammaCutString; //! The cut string of the conversion analysis used to produce input AOD
67 TString fPionCutString; //! The cut string of the conversion analysis used to produce input AOD
68 TString fAODBranchName;
69 TClonesArray * fAODPWG4Photons;
70 TClonesArray * fAODPWG4Pi0;
71
72
73 Int_t fDebugLevel;
74
75
76 AliAnalysisTaskGCPartToPWG4Part(const AliAnalysisTaskGCPartToPWG4Part&); // not implemented
77 AliAnalysisTaskGCPartToPWG4Part& operator=(const AliAnalysisTaskGCPartToPWG4Part&); // not implemented
78
79 //Int_t CheckTag(AliAODPWG4ParticleCorrelation * particle, TClonesArray * tracks, TClonesArray * arrayMC, AliAODMCHeader * mcHeader);
80
81 ClassDef(AliAnalysisTaskGCPartToPWG4Part, 1); // example of analysis
82};
83
84#endif