]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/GammaConv/AliAnalysisTaskGammaJet.h
Filling the EventQuality histogram for book keeping
[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 TClonesArray;\r
12 class TString;\r
13 \r
14 #include "AliAnalysisTaskSE.h"\r
15 \r
16 class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {\r
17  public:\r
18   AliAnalysisTaskGammaJet(); \r
19   AliAnalysisTaskGammaJet(const char *name);\r
20   virtual ~AliAnalysisTaskGammaJet() {}\r
21   \r
22   virtual void   UserCreateOutputObjects();\r
23   virtual void   UserExec(Option_t *option);\r
24   virtual void   Terminate(Option_t *);\r
25 \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
34  \r
35 \r
36 \r
37 \r
38   \r
39  private:\r
40 \r
41   //Clean up\r
42   void CleanUp();\r
43 \r
44   //Get the AOD event from whereever it might be accessible\r
45   AliAODEvent * GetAODEvent();\r
46 \r
47   //Get Conversion gammas branch\r
48   TClonesArray * GetConversionGammas(const AliAODEvent * aodEvent);\r
49 \r
50   //Create PWG4 particles from the aod objects\r
51   AliAODPWG4ParticleCorrelation * PWG4PartFromGammaConvAODObject(AliGammaConversionAODObject * gcObject, TString detector);\r
52 \r
53   //Fill AOD tree with PWG4 particles\r
54   void FillPWG4PartCorrBranch( TClonesArray * gcBranch, TClonesArray * partCorrBranch, TString detector);\r
55   \r
56   //Is particle isolated\r
57   Bool_t IsIsolated( AliAODPWG4ParticleCorrelation * particle, TClonesArray * tracks, Float_t coneSize, Float_t ptThreshold);\r
58 \r
59   //Process conv gamma\r
60   void ProcessConvGamma( const AliAODEvent * const aodEvent );\r
61 \r
62   //Process calorimeters\r
63   void ProcessCalorimeters( const AliAODEvent * const aodEvent );\r
64   \r
65   //Correlate particle with jets\r
66   void CorrelateWithJets(AliAODPWG4ParticleCorrelation * photon, const TClonesArray * const jets);\r
67 \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
71   }\r
72 \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
80   \r
81   \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
85 \r
86   TString     fDeltaAODFileName;//! File where Gamma Conv AOD is located, if not in default AOD\r
87 \r
88   TClonesArray * fPhotons;\r
89 \r
90   AliAnalysisTaskGammaJet(const AliAnalysisTaskGammaJet&); // not implemented\r
91   AliAnalysisTaskGammaJet& operator=(const AliAnalysisTaskGammaJet&); // not implemented\r
92   \r
93   ClassDef(AliAnalysisTaskGammaJet, 2); // example of analysis\r
94 };\r
95 \r
96 #endif\r