]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/GammaConv/AliAnalysisTaskGammaJet.h
added ntuple
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliAnalysisTaskGammaJet.h
CommitLineData
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
7class TH1F;\r
8class AliESDEvent;\r
fae5f6bb 9class AliGammaConversionAODObject;\r
e0b4c21c 10class AliAODConversionParticle;\r
fae5f6bb 11class AliAODPWG4ParticleCorrelation;\r
96cca36c 12class AliAODPWG4Particle;\r
fae5f6bb 13class TClonesArray;\r
14class TString;\r
332f1f44 15\r
16#include "AliAnalysisTaskSE.h"\r
17\r
18class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {\r
e0b4c21c 19\r
20public:\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