]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/GammaConv/AliAnalysisTaskGammaJet.h
62193070a3d58a32b2028d5521630010cdf55322
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliAnalysisTaskGammaJet.h
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
9 class AliGammaConversionAODObject;\r
10 class AliAODPWG4ParticleCorrelation;\r
11 class AliAODPWG4Particle;\r
12 class TClonesArray;\r
13 class TString;\r
14 \r
15 #include "AliAnalysisTaskSE.h"\r
16 \r
17 class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {\r
18  public:\r
19   AliAnalysisTaskGammaJet(); \r
20   AliAnalysisTaskGammaJet(const char *name);\r
21   virtual ~AliAnalysisTaskGammaJet() {}\r
22   \r
23   virtual void   UserCreateOutputObjects();\r
24   virtual void   UserExec(Option_t *option);\r
25   virtual void   Terminate(Option_t *);\r
26 \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
35  \r
36 \r
37 \r
38 \r
39   \r
40  private:\r
41 \r
42   //Clean up\r
43   void CleanUp();\r
44 \r
45   //Get the AOD event from whereever it might be accessible\r
46   AliAODEvent * GetAODEvent();\r
47 \r
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
55   void FillPWG4PartCorrBranch( TClonesArray * gcBranch, TClonesArray * partCorrBranch, TString detector);\r
56   \r
57   //Is particle isolated\r
58   Bool_t IsIsolated( AliAODPWG4Particle * particle, TClonesArray * tracks, Float_t coneSize, Float_t ptThreshold);\r
59 \r
60   //Process conv gamma\r
61   void ProcessConvGamma( const AliAODEvent * const aodEvent );\r
62 \r
63   //Process calorimeters\r
64   void ProcessCalorimeters( const AliAODEvent * const aodEvent );\r
65   \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
69 \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
73   }\r
74 \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
85   \r
86   \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
90 \r
91   TString     fDeltaAODFileName;//! File where Gamma Conv AOD is located, if not in default AOD\r
92 \r
93   TClonesArray * fPhotons;\r
94 \r
95   AliAnalysisTaskGammaJet(const AliAnalysisTaskGammaJet&); // not implemented\r
96   AliAnalysisTaskGammaJet& operator=(const AliAnalysisTaskGammaJet&); // not implemented\r
97   \r
98   ClassDef(AliAnalysisTaskGammaJet, 2); // example of analysis\r
99 };\r
100 \r
101 #endif\r