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