]>
Commit | Line | Data |
---|---|---|
332f1f44 | 1 | #ifndef AliAnalysisTaskGammaJet_cxx\r |
2 | #define AliAnalysisTaskGammaJet_cxx\r | |
3 | \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 | |
6 | \r | |
7 | class TH1F;\r | |
8 | class AliESDEvent;\r | |
fae5f6bb | 9 | class AliGammaConversionAODObject;\r |
e0b4c21c | 10 | class AliAODConversionParticle;\r |
fae5f6bb | 11 | class AliAODPWG4ParticleCorrelation;\r |
96cca36c | 12 | class AliAODPWG4Particle;\r |
fae5f6bb | 13 | class TClonesArray;\r |
14 | class TString;\r | |
332f1f44 | 15 | \r |
16 | #include "AliAnalysisTaskSE.h"\r | |
17 | \r | |
18 | class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {\r | |
e0b4c21c | 19 | \r |
20 | public:\r | |
21 | \r | |
4dca60a8 | 22 | AliAnalysisTaskGammaJet(); \r |
332f1f44 | 23 | AliAnalysisTaskGammaJet(const char *name);\r |
e0b4c21c | 24 | virtual ~AliAnalysisTaskGammaJet();\r |
332f1f44 | 25 | \r |
26 | virtual void UserCreateOutputObjects();\r | |
27 | virtual void UserExec(Option_t *option);\r | |
28 | virtual void Terminate(Option_t *);\r | |
29 | \r | |
30 | void SetDeltaAODFileName(TString string) { fDeltaAODFileName = string;}\r | |
e0b4c21c | 31 | \r |
fae5f6bb | 32 | inline Float_t GetMinPt() const { return fMinPt;} \r |
33 | void SetMinPt( const Float_t pt ) { fMinPt = pt; }\r | |
34 | inline Float_t GetConeSize () const { return fConeSize; }\r | |
35 | void SetConeSize ( const Float_t cs ) { fConeSize = cs; }\r | |
36 | inline Float_t GetPtThreshold () const { return fPtThreshold; }\r | |
37 | void SetPtThreshold ( Float_t ptt ) { fPtThreshold = ptt; }\r | |
38 | \r | |
332f1f44 | 39 | \r |
40 | private:\r | |
41 | \r | |
fae5f6bb | 42 | //Clean up\r |
43 | void CleanUp();\r | |
44 | \r | |
4dca60a8 | 45 | //Get the AOD event from whereever it might be accessible\r |
46 | AliAODEvent * GetAODEvent();\r | |
47 | \r | |
fae5f6bb | 48 | //Get Conversion gammas branch\r |
49 | TClonesArray * GetConversionGammas(const AliAODEvent * aodEvent);\r | |
50 | \r | |
51 | //Create PWG4 particles from the aod objects\r | |
52 | AliAODPWG4ParticleCorrelation * PWG4PartFromGammaConvAODObject(AliGammaConversionAODObject * gcObject, TString detector);\r | |
53 | \r | |
54 | //Fill AOD tree with PWG4 particles\r | |
e0b4c21c | 55 | AliAODPWG4ParticleCorrelation * AddToAOD(AliGammaConversionAODObject * aodO, TClonesArray * branch, TString detector);\r |
56 | AliAODPWG4ParticleCorrelation * AddToAOD(AliAODConversionParticle * aodO, TClonesArray * branch, TString detector);\r | |
332f1f44 | 57 | \r |
fae5f6bb | 58 | //Is particle isolated\r |
96cca36c | 59 | Bool_t IsIsolated( AliAODPWG4Particle * particle, TClonesArray * tracks, Float_t coneSize, Float_t ptThreshold);\r |
fae5f6bb | 60 | \r |
61 | //Process conv gamma\r | |
62 | void ProcessConvGamma( const AliAODEvent * const aodEvent );\r | |
63 | \r | |
64 | //Process calorimeters\r | |
65 | void ProcessCalorimeters( const AliAODEvent * const aodEvent );\r | |
66 | \r | |
67 | //Correlate particle with jets\r | |
68 | void CorrelateWithJets(AliAODPWG4ParticleCorrelation * photon, const TClonesArray * const jets);\r | |
96cca36c | 69 | void CorrelateWithJets(AliAODPWG4Particle * photon, const TClonesArray * const jets, Bool_t const isolated);\r |
e0b4c21c | 70 | void CorrelateWithHadrons(AliAODPWG4Particle * photon, const TClonesArray * tracks, Bool_t const isolated);\r |
fae5f6bb | 71 | \r |
72 | //Is eta - phi distance smaller than conesize ?\r | |
73 | inline Bool_t IsInCone(Float_t dEta, Float_t dPhi, Float_t coneSize) { \r | |
74 | return ( (dEta*dEta + dPhi*dPhi) < coneSize*coneSize);\r | |
75 | }\r | |
76 | \r | |
332f1f44 | 77 | TList *fOutputList; //! Output list\r |
78 | TH1F *fHistPt; //! Pt spectrum\r | |
79 | TH1F *fHistPtPhos; //! Pt spectrum\r | |
80 | TH1F *fHistPtEmcal; //! Pt spectrum\r | |
e0b4c21c | 81 | \r |
82 | TH1F *fHistPhotPhi;\r | |
83 | TH1F *fHistHadPhi;\r | |
84 | TH1F *fHistJetPhi;\r | |
85 | \r | |
86 | \r | |
332f1f44 | 87 | TH1F *fHistPtJets; //! Pt spectrum\r |
4dca60a8 | 88 | TH1F *fHistGammaJets; //!Phi correlations\r |
fae5f6bb | 89 | TH1F *fHistGammaJetsIso; //!Phi correlations\r |
96cca36c | 90 | TH1F *fHistMaxdPhi; //!Phi correlations\r |
91 | TH1F *fHistMaxdPhiIso; //!Phi correlations\r | |
92 | TH1F *fHistMaxdPhiIsoPt; //!Phi correlations\r | |
e0b4c21c | 93 | \r |
94 | TH1F *fHadHistPt; //! Pt spectrum\r | |
95 | TH1F *fHadHistdPhi; //!Phi correlations\r | |
96 | TH1F *fHadHistdPhiIso; //!Phi correlations\r | |
97 | TH1F *fHadHistMaxdPhi; //!Phi correlations\r | |
98 | TH1F *fHadHistMaxdPhiIso; //!Phi correlations\r | |
99 | TH1F *fHadHistMaxdPhiIsoPt; //!Phi correlations\r | |
fae5f6bb | 100 | \r |
101 | \r | |
102 | Float_t fMinPt; //Minimum pt for correlation\r | |
103 | Float_t fConeSize; //cone size for isolation\r | |
104 | Float_t fPtThreshold; //Threshold pt for isolation\r | |
105 | \r | |
332f1f44 | 106 | TString fDeltaAODFileName;//! File where Gamma Conv AOD is located, if not in default AOD\r |
107 | \r | |
fae5f6bb | 108 | TClonesArray * fPhotons;\r |
109 | \r | |
332f1f44 | 110 | AliAnalysisTaskGammaJet(const AliAnalysisTaskGammaJet&); // not implemented\r |
111 | AliAnalysisTaskGammaJet& operator=(const AliAnalysisTaskGammaJet&); // not implemented\r | |
112 | \r | |
4dca60a8 | 113 | ClassDef(AliAnalysisTaskGammaJet, 2); // example of analysis\r |
332f1f44 | 114 | };\r |
115 | \r | |
116 | #endif\r |