1 #ifndef AliAnalysisTaskGammaJet_cxx
\r
2 #define AliAnalysisTaskGammaJet_cxx
\r
4 // example of an analysis task creating a p_t spectrum
\r
5 // Authors: Panos Cristakoglou, Jan Fiete Grosse-Oetringhaus, Christian Klein-Boesing
\r
9 class AliGammaConversionAODObject;
\r
10 class AliAODPWG4ParticleCorrelation;
\r
14 #include "AliAnalysisTaskSE.h"
\r
16 class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {
\r
18 AliAnalysisTaskGammaJet();
\r
19 AliAnalysisTaskGammaJet(const char *name);
\r
20 virtual ~AliAnalysisTaskGammaJet() {}
\r
22 virtual void UserCreateOutputObjects();
\r
23 virtual void UserExec(Option_t *option);
\r
24 virtual void Terminate(Option_t *);
\r
26 void SetDeltaAODFileName(TString string) { fDeltaAODFileName = string;}
\r
27 //Move all of these somewhere
\r
28 inline Float_t GetMinPt() const { return fMinPt;}
\r
29 void SetMinPt( const Float_t pt ) { fMinPt = pt; }
\r
30 inline Float_t GetConeSize () const { return fConeSize; }
\r
31 void SetConeSize ( const Float_t cs ) { fConeSize = cs; }
\r
32 inline Float_t GetPtThreshold () const { return fPtThreshold; }
\r
33 void SetPtThreshold ( Float_t ptt ) { fPtThreshold = ptt; }
\r
44 //Get the AOD event from whereever it might be accessible
\r
45 AliAODEvent * GetAODEvent();
\r
47 //Get Conversion gammas branch
\r
48 TClonesArray * GetConversionGammas(const AliAODEvent * aodEvent);
\r
50 //Create PWG4 particles from the aod objects
\r
51 AliAODPWG4ParticleCorrelation * PWG4PartFromGammaConvAODObject(AliGammaConversionAODObject * gcObject, TString detector);
\r
53 //Fill AOD tree with PWG4 particles
\r
54 void FillPWG4PartCorrBranch( TClonesArray * gcBranch, TClonesArray * partCorrBranch, TString detector);
\r
56 //Is particle isolated
\r
57 Bool_t IsIsolated( AliAODPWG4ParticleCorrelation * particle, TClonesArray * tracks, Float_t coneSize, Float_t ptThreshold);
\r
59 //Process conv gamma
\r
60 void ProcessConvGamma( const AliAODEvent * const aodEvent );
\r
62 //Process calorimeters
\r
63 void ProcessCalorimeters( const AliAODEvent * const aodEvent );
\r
65 //Correlate particle with jets
\r
66 void CorrelateWithJets(AliAODPWG4ParticleCorrelation * photon, const TClonesArray * const jets);
\r
68 //Is eta - phi distance smaller than conesize ?
\r
69 inline Bool_t IsInCone(Float_t dEta, Float_t dPhi, Float_t coneSize) {
\r
70 return ( (dEta*dEta + dPhi*dPhi) < coneSize*coneSize);
\r
73 TList *fOutputList; //! Output list
\r
74 TH1F *fHistPt; //! Pt spectrum
\r
75 TH1F *fHistPtPhos; //! Pt spectrum
\r
76 TH1F *fHistPtEmcal; //! Pt spectrum
\r
77 TH1F *fHistPtJets; //! Pt spectrum
\r
78 TH1F *fHistGammaJets; //!Phi correlations
\r
79 TH1F *fHistGammaJetsIso; //!Phi correlations
\r
82 Float_t fMinPt; //Minimum pt for correlation
\r
83 Float_t fConeSize; //cone size for isolation
\r
84 Float_t fPtThreshold; //Threshold pt for isolation
\r
86 TString fDeltaAODFileName;//! File where Gamma Conv AOD is located, if not in default AOD
\r
88 TClonesArray * fPhotons;
\r
90 AliAnalysisTaskGammaJet(const AliAnalysisTaskGammaJet&); // not implemented
\r
91 AliAnalysisTaskGammaJet& operator=(const AliAnalysisTaskGammaJet&); // not implemented
\r
93 ClassDef(AliAnalysisTaskGammaJet, 2); // example of analysis
\r