]>
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$ | |
4b707925 | 10 | * Revision 1.5 2007/08/17 12:40:04 schutz |
11 | * New analysis classes by Gustavo Conesa | |
12 | * | |
bdcfac30 | 13 | * Revision 1.4.4.3 2007/07/26 10:32:09 schutz |
14 | * new analysis classes in the the new analysis framework | |
2a1d8a29 | 15 | * |
f9cea31c | 16 | * |
17 | */ | |
18 | ||
19 | //_________________________________________________________________________ | |
20 | ||
bdcfac30 | 21 | // Class for the analysis of prompt gamma, isolation cut. |
f9cea31c | 22 | // |
23 | // Class created from old AliPHOSGammaJet | |
24 | // (see AliRoot versions previous Release 4-09) | |
25 | ||
26 | //*-- Author: Gustavo Conesa (INFN-LNF) | |
27 | ||
28 | // --- ROOT system --- | |
f9cea31c | 29 | #include <TParticle.h> |
2a1d8a29 | 30 | #include <TClonesArray.h> |
bdcfac30 | 31 | #include "TObject.h" |
2a1d8a29 | 32 | #include <TH2F.h> |
4b707925 | 33 | #include <TNtuple.h> |
f9cea31c | 34 | |
bdcfac30 | 35 | class TList ; |
36 | ||
37 | class AliAnaGammaDirect : public TObject { | |
f9cea31c | 38 | |
39 | public: | |
40 | ||
bdcfac30 | 41 | AliAnaGammaDirect() ; // default ctor |
f9cea31c | 42 | AliAnaGammaDirect(const AliAnaGammaDirect & g) ; // cpy ctor |
463ee300 | 43 | AliAnaGammaDirect & operator = (const AliAnaGammaDirect & g) ;//cpy assignment |
f9cea31c | 44 | virtual ~AliAnaGammaDirect() ; //virtual dtor |
f9cea31c | 45 | |
3bb2c538 | 46 | enum Anatype {kNoIC, kPtIC, kSumPtIC, kSeveralIC}; |
bdcfac30 | 47 | |
f9cea31c | 48 | Double_t GetMinGammaPt() const {return fMinGammaPt ; } |
f9cea31c | 49 | Float_t GetConeSize() const {return fConeSize ; } |
50 | Float_t GetPtThreshold() const {return fPtThreshold ; } | |
51 | Float_t GetPtSumThres() const {return fPtSumThreshold ; } | |
bdcfac30 | 52 | Int_t GetICMethod() const {return fICMethod ; } |
4b707925 | 53 | Bool_t IsMC() const {return fAnaMC ; }; |
f9cea31c | 54 | |
bdcfac30 | 55 | TList * GetCreateOutputObjects(); |
4b707925 | 56 | void GetPromptGamma(TClonesArray * plNe, TClonesArray * plCTS, TClonesArray * plPrimNe, TParticle * pGamma, Bool_t &Is) const; |
bdcfac30 | 57 | |
58 | void MakeSeveralICAnalysis(TClonesArray * plCalo, TClonesArray * plCTS); | |
59 | void MakeIsolationCut(TClonesArray * plCTS, TClonesArray * plNe, | |
4b707925 | 60 | TParticle *pCandidate, Int_t index, Int_t &n, |
bdcfac30 | 61 | Bool_t &imcpt, Bool_t &icms, Float_t &ptsum) const ; |
62 | ||
f9cea31c | 63 | void Print(const Option_t * opt)const; |
bdcfac30 | 64 | |
f9cea31c | 65 | void SetMinGammaPt(Double_t ptcut){fMinGammaPt =ptcut;} |
f9cea31c | 66 | void SetConeSize(Float_t r) {fConeSize = r ; } |
67 | void SetPtThreshold(Float_t pt) {fPtThreshold = pt; }; | |
68 | void SetPtSumThreshold(Float_t pt) {fPtSumThreshold = pt; }; | |
bdcfac30 | 69 | void SetICMethod(Int_t i ) {fICMethod = i ; } |
4b707925 | 70 | void SetMC() {fAnaMC = kTRUE ; } |
3bb2c538 | 71 | void SetIsolatePi0(Bool_t iso) {fIsolatePi0 = iso ; } |
4b707925 | 72 | |
bdcfac30 | 73 | Int_t GetNCones() const {return fNCones ; } |
74 | Int_t GetNPtThresholds() const {return fNPtThres ; } | |
75 | Float_t GetConeSizes(Int_t i) const {return fConeSizes[i] ; } | |
76 | Float_t GetPtThresholds(Int_t i) const {return fPtThresholds[i] ; } | |
f9cea31c | 77 | |
bdcfac30 | 78 | void InitParameters(); |
79 | ||
80 | void SetNCones(Int_t ncs) {fNCones = ncs ; } | |
81 | void SetNPtThresholds(Int_t npt) {fNPtThres = npt; } | |
82 | void SetConeSizes(Int_t i, Float_t r) {fConeSizes[i] = r ; } | |
83 | void SetPtThresholds(Int_t i, Float_t pt) {fPtThresholds[i] = pt; } | |
f9cea31c | 84 | |
bdcfac30 | 85 | |
86 | private: | |
87 | ||
f9cea31c | 88 | Double_t fMinGammaPt ; // Min pt in Calorimeter |
f9cea31c | 89 | Float_t fConeSize ; //Size of the isolation cone |
90 | Float_t fPtThreshold ; //Mimium pt of the particles in the cone to set isolation | |
91 | Float_t fPtSumThreshold ; //Mimium pt sum of the particles in the cone to set isolation | |
bdcfac30 | 92 | Int_t fICMethod ; //Isolation cut method to be used |
93 | // kNoIC: No isolation | |
94 | // kPtIC: Pt threshold method | |
95 | // kSumPtIC: Cone pt sum method | |
96 | // kSeveralIC: Analysis for several cuts | |
4b707925 | 97 | Bool_t fAnaMC ; //Set in case of using MCData reader |
3bb2c538 | 98 | Bool_t fIsolatePi0 ; //Consider identified pi0 in the isolation study. |
f9cea31c | 99 | //Histograms |
bdcfac30 | 100 | TH1F * fhNGamma ; //Number of (isolated) gamma identified |
4b707925 | 101 | TH2F * fhPhiGamma ; // Phi of identified gamma |
102 | TH2F * fhEtaGamma ; // eta of identified gamma | |
103 | TH2F * fhConeSumPt ; // Sum Pt in the cone | |
104 | ||
105 | TNtuple * fntuplePrompt ; //List of found prompt photons, pt, eta and phi. Also primary information. | |
106 | ||
bdcfac30 | 107 | //Prompt photon analysis data members for multiple cones and pt thresholds kIsolationCut |
108 | Int_t fNCones ; //Number of cone sizes to test | |
109 | Int_t fNPtThres ; //Number of ptThres to test | |
110 | Float_t fConeSizes[10] ; // Array with cones to test | |
111 | Float_t fPtThresholds[10] ; // Array with pt thresholds to test | |
112 | ||
113 | TH1F* fhPtThresIsolated[20][20]; // Isolated gamma with pt threshold | |
114 | TH2F* fhPtSumIsolated[20] ; // Isolated gamma with threshold on cone pt sume | |
4b707925 | 115 | TNtuple * fntSeveralIC[20] ; //ntuple |
f9cea31c | 116 | |
4b707925 | 117 | ClassDef(AliAnaGammaDirect,1) |
f9cea31c | 118 | } ; |
119 | ||
120 | ||
121 | #endif //ALIANAGAMMADIRECT_H | |
122 | ||
123 | ||
124 |