]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/GammaConv/AliAnalysisTaskGammaJet.h
Filling the EventQuality histogram for book keeping
[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
10class AliAODPWG4ParticleCorrelation;\r
11class TClonesArray;\r
12class TString;\r
332f1f44 13\r
14#include "AliAnalysisTaskSE.h"\r
15\r
16class AliAnalysisTaskGammaJet : public AliAnalysisTaskSE {\r
17 public:\r
4dca60a8 18 AliAnalysisTaskGammaJet(); \r
332f1f44 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
fae5f6bb 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
332f1f44 38 \r
39 private:\r
40\r
fae5f6bb 41 //Clean up\r
42 void CleanUp();\r
43\r
4dca60a8 44 //Get the AOD event from whereever it might be accessible\r
45 AliAODEvent * GetAODEvent();\r
46\r
fae5f6bb 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
332f1f44 55 \r
fae5f6bb 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
332f1f44 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
4dca60a8 78 TH1F *fHistGammaJets; //!Phi correlations\r
fae5f6bb 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
332f1f44 86 TString fDeltaAODFileName;//! File where Gamma Conv AOD is located, if not in default AOD\r
87\r
fae5f6bb 88 TClonesArray * fPhotons;\r
89\r
332f1f44 90 AliAnalysisTaskGammaJet(const AliAnalysisTaskGammaJet&); // not implemented\r
91 AliAnalysisTaskGammaJet& operator=(const AliAnalysisTaskGammaJet&); // not implemented\r
92 \r
4dca60a8 93 ClassDef(AliAnalysisTaskGammaJet, 2); // example of analysis\r
332f1f44 94};\r
95\r
96#endif\r