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
11 class AliAODPWG4Particle;
\r
15 #include "AliAnalysisTaskSE.h"
\r
17 class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {
\r
19 AliAnalysisTaskGammaJet();
\r
20 AliAnalysisTaskGammaJet(const char *name);
\r
21 virtual ~AliAnalysisTaskGammaJet() {}
\r
23 virtual void UserCreateOutputObjects();
\r
24 virtual void UserExec(Option_t *option);
\r
25 virtual void Terminate(Option_t *);
\r
27 void SetDeltaAODFileName(TString string) { fDeltaAODFileName = string;}
\r
28 //Move all of these somewhere
\r
29 inline Float_t GetMinPt() const { return fMinPt;}
\r
30 void SetMinPt( const Float_t pt ) { fMinPt = pt; }
\r
31 inline Float_t GetConeSize () const { return fConeSize; }
\r
32 void SetConeSize ( const Float_t cs ) { fConeSize = cs; }
\r
33 inline Float_t GetPtThreshold () const { return fPtThreshold; }
\r
34 void SetPtThreshold ( Float_t ptt ) { fPtThreshold = ptt; }
\r
45 //Get the AOD event from whereever it might be accessible
\r
46 AliAODEvent * GetAODEvent();
\r
48 //Get Conversion gammas branch
\r
49 TClonesArray * GetConversionGammas(const AliAODEvent * aodEvent);
\r
51 //Create PWG4 particles from the aod objects
\r
52 AliAODPWG4ParticleCorrelation * PWG4PartFromGammaConvAODObject(AliGammaConversionAODObject * gcObject, TString detector);
\r
54 //Fill AOD tree with PWG4 particles
\r
55 void FillPWG4PartCorrBranch( TClonesArray * gcBranch, TClonesArray * partCorrBranch, TString detector);
\r
57 //Is particle isolated
\r
58 Bool_t IsIsolated( AliAODPWG4Particle * particle, TClonesArray * tracks, Float_t coneSize, Float_t ptThreshold);
\r
60 //Process conv gamma
\r
61 void ProcessConvGamma( const AliAODEvent * const aodEvent );
\r
63 //Process calorimeters
\r
64 void ProcessCalorimeters( const AliAODEvent * const aodEvent );
\r
66 //Correlate particle with jets
\r
67 void CorrelateWithJets(AliAODPWG4ParticleCorrelation * photon, const TClonesArray * const jets);
\r
68 void CorrelateWithJets(AliAODPWG4Particle * photon, const TClonesArray * const jets, Bool_t const isolated);
\r
70 //Is eta - phi distance smaller than conesize ?
\r
71 inline Bool_t IsInCone(Float_t dEta, Float_t dPhi, Float_t coneSize) {
\r
72 return ( (dEta*dEta + dPhi*dPhi) < coneSize*coneSize);
\r
75 TList *fOutputList; //! Output list
\r
76 TH1F *fHistPt; //! Pt spectrum
\r
77 TH1F *fHistPtPhos; //! Pt spectrum
\r
78 TH1F *fHistPtEmcal; //! Pt spectrum
\r
79 TH1F *fHistPtJets; //! Pt spectrum
\r
80 TH1F *fHistGammaJets; //!Phi correlations
\r
81 TH1F *fHistGammaJetsIso; //!Phi correlations
\r
82 TH1F *fHistMaxdPhi; //!Phi correlations
\r
83 TH1F *fHistMaxdPhiIso; //!Phi correlations
\r
84 TH1F *fHistMaxdPhiIsoPt; //!Phi correlations
\r
87 Float_t fMinPt; //Minimum pt for correlation
\r
88 Float_t fConeSize; //cone size for isolation
\r
89 Float_t fPtThreshold; //Threshold pt for isolation
\r
91 TString fDeltaAODFileName;//! File where Gamma Conv AOD is located, if not in default AOD
\r
93 TClonesArray * fPhotons;
\r
95 AliAnalysisTaskGammaJet(const AliAnalysisTaskGammaJet&); // not implemented
\r
96 AliAnalysisTaskGammaJet& operator=(const AliAnalysisTaskGammaJet&); // not implemented
\r
98 ClassDef(AliAnalysisTaskGammaJet, 2); // example of analysis
\r