]>
Commit | Line | Data |
---|---|---|
f9cea31c | 1 | #ifndef ALIANAGAMMADIRECT_H |
2 | #define ALIANAGAMMADIRECT_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | /* $Id$ */ | |
6 | ||
7 | /* History of cvs commits: | |
8 | * | |
9 | * $Log$ | |
84e10d55 | 10 | * Revision 1.3 2007/03/08 10:24:32 schutz |
11 | * Coding convention | |
12 | * | |
463ee300 | 13 | * Revision 1.2 2007/02/09 18:40:40 schutz |
14 | * B\bNew version from Gustavo | |
15 | * | |
2a1d8a29 | 16 | * Revision 1.1 2007/01/23 17:17:29 schutz |
17 | * New Gamma package | |
18 | * | |
f9cea31c | 19 | * |
20 | */ | |
21 | ||
22 | //_________________________________________________________________________ | |
23 | ||
463ee300 | 24 | // Class for the analysis of gamma |
f9cea31c | 25 | // This class only contains 3 methods: one to fill lists of particles (ESDs) comming |
2a1d8a29 | 26 | // from the CTS (ITS+TPC) and the calorimeters; the other search in the |
f9cea31c | 27 | // corresponing calorimeter for the highest energy cluster, identify it as |
2a1d8a29 | 28 | // prompt photon(Shower Shape and Isolation Cut), the last method does the |
29 | // isolation selection | |
f9cea31c | 30 | // |
31 | // Class created from old AliPHOSGammaJet | |
32 | // (see AliRoot versions previous Release 4-09) | |
33 | ||
34 | //*-- Author: Gustavo Conesa (INFN-LNF) | |
35 | ||
36 | // --- ROOT system --- | |
f9cea31c | 37 | #include <TParticle.h> |
2a1d8a29 | 38 | #include <TClonesArray.h> |
39 | #include <TTree.h> | |
f9cea31c | 40 | #include "AliAnalysisTask.h" |
2a1d8a29 | 41 | #include <TH2F.h> |
f9cea31c | 42 | |
43 | class AliESD ; | |
44 | ||
45 | class AliAnaGammaDirect : public AliAnalysisTask { | |
46 | ||
47 | public: | |
48 | ||
49 | AliAnaGammaDirect(const char *name) ; // default ctor | |
50 | AliAnaGammaDirect(const AliAnaGammaDirect & g) ; // cpy ctor | |
463ee300 | 51 | AliAnaGammaDirect & operator = (const AliAnaGammaDirect & g) ;//cpy assignment |
f9cea31c | 52 | virtual ~AliAnaGammaDirect() ; //virtual dtor |
2a1d8a29 | 53 | |
f9cea31c | 54 | virtual void Exec(Option_t * opt = "") ; |
2a1d8a29 | 55 | virtual void ConnectInputData(Option_t *); |
56 | virtual void CreateOutputObjects(); | |
f9cea31c | 57 | virtual void Terminate(Option_t * opt = ""); |
58 | ||
2a1d8a29 | 59 | void InitParameters(); |
f9cea31c | 60 | TTree * GetChain() const {return fChain ; } |
61 | AliESD * GetESD() const {return fESD ; } | |
62 | TObjArray * GetOutputContainer() const {return fOutputContainer ; } | |
63 | Double_t GetMinGammaPt() const {return fMinGammaPt ; } | |
64 | TString GetCalorimeter() const {return fCalorimeter ; } | |
65 | Bool_t GetPrintInfo() const {return fPrintInfo ; } | |
66 | Float_t GetConeSize() const {return fConeSize ; } | |
67 | Float_t GetPtThreshold() const {return fPtThreshold ; } | |
68 | Float_t GetPtSumThres() const {return fPtSumThreshold ; } | |
69 | Int_t GetICMethod() const {return fMakeICMethod ; } | |
70 | ||
71 | Bool_t IsEMCALPIDOn() const {return fEMCALPID ; } | |
72 | Bool_t IsPHOSPIDOn() const {return fPHOSPID ; } | |
84e10d55 | 73 | Float_t GetEMCALPhotonWeight() { return fEMCALPhotonWeight ; } |
74 | Float_t GetEMCALPi0Weight() { return fEMCALPi0Weight ; } | |
75 | Float_t GetPHOSPhotonWeight() { return fPHOSPhotonWeight ; } | |
f9cea31c | 76 | |
77 | void Print(const Option_t * opt)const; | |
78 | ||
79 | void SetMinGammaPt(Double_t ptcut){fMinGammaPt =ptcut;} | |
80 | void SetCalorimeter(TString calo){ fCalorimeter= calo ; } | |
81 | void SetPrintInfo(Bool_t print){ fPrintInfo = print ; } | |
82 | void SetConeSize(Float_t r) {fConeSize = r ; } | |
83 | void SetPtThreshold(Float_t pt) {fPtThreshold = pt; }; | |
84 | void SetPtSumThreshold(Float_t pt) {fPtSumThreshold = pt; }; | |
85 | void SetICMethod(Int_t i ) {fMakeICMethod = i ; } | |
86 | ||
f9cea31c | 87 | void SetEMCALPIDOn(Bool_t pid){ fEMCALPID= pid ; } |
88 | void SetPHOSPIDOn(Bool_t pid){ fPHOSPID= pid ; } | |
84e10d55 | 89 | void SetEMCALPhotonWeight(Float_t w){ fEMCALPhotonWeight = w ; } |
90 | void SetEMCALPi0Weight(Float_t w){ fEMCALPi0Weight = w ; } | |
91 | void SetPHOSPhotonWeight(Float_t w){ fPHOSPhotonWeight = w ; } | |
f9cea31c | 92 | |
93 | void CreateParticleList(TClonesArray * particleList, | |
94 | TClonesArray * plCh, TClonesArray * plNe, | |
95 | TClonesArray * plNePHOS); | |
96 | ||
97 | ||
98 | void GetPromptGamma(TClonesArray * plNe, TClonesArray * plCTS, TParticle * pGamma, Bool_t &Is) const; | |
99 | ||
100 | void MakeIsolationCut(TClonesArray * plCTS, TClonesArray * plNe, | |
101 | TParticle *pCandidate, Int_t index, | |
463ee300 | 102 | Bool_t &imcpt, Bool_t &icms, Float_t &ptsum) const ; |
f9cea31c | 103 | |
104 | private: | |
105 | ||
106 | TTree *fChain ; //!pointer to the analyzed TTree or TChain | |
107 | AliESD *fESD ; //! Declaration of leave types | |
108 | TObjArray *fOutputContainer ; //! output data container | |
109 | Bool_t fPrintInfo ; //Print most interesting information on screen | |
110 | Double_t fMinGammaPt ; // Min pt in Calorimeter | |
111 | TString fCalorimeter ; //PHOS or EMCAL detects Gamma | |
112 | Bool_t fEMCALPID ;//Fill EMCAL particle lists with particles with corresponding pid | |
113 | Bool_t fPHOSPID; //Fill PHOS particle lists with particles with corresponding pid | |
84e10d55 | 114 | Float_t fEMCALPhotonWeight; //Bayesian PID weight for photons in EMCAL |
115 | Float_t fEMCALPi0Weight; //Bayesian PID weight for pi0 in EMCAL | |
116 | Float_t fPHOSPhotonWeight; //Bayesian PID weight for photons in PHOS | |
f9cea31c | 117 | Float_t fConeSize ; //Size of the isolation cone |
118 | Float_t fPtThreshold ; //Mimium pt of the particles in the cone to set isolation | |
119 | Float_t fPtSumThreshold ; //Mimium pt sum of the particles in the cone to set isolation | |
f9cea31c | 120 | Int_t fMakeICMethod ; //Isolation cut method to be used |
121 | // 0: No isolation | |
122 | // 1: Pt threshold method | |
123 | // 2: Cone pt sum method | |
f9cea31c | 124 | //Histograms |
125 | TH1F * fhNGamma ; | |
126 | TH2F * fhPhiGamma ; | |
127 | TH2F * fhEtaGamma ; | |
f9cea31c | 128 | |
129 | ClassDef(AliAnaGammaDirect,0) | |
130 | } ; | |
131 | ||
132 | ||
133 | #endif //ALIANAGAMMADIRECT_H | |
134 | ||
135 | ||
136 |