]>
Commit | Line | Data |
---|---|---|
1c5acb87 | 1 | #ifndef ALIANAPHOTON_H |
2 | #define ALIANAPHOTON_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | /* $Id: AliAnaPhoton.h 27413 2008-07-18 13:28:12Z gconesab $ */ | |
6 | ||
7 | //_________________________________________________________________________ | |
8 | // | |
9 | // Class for the photon identification. | |
10 | // Clusters from calorimeters are identified as photons | |
11 | // and kept in the AOD. Few histograms produced. | |
12 | // | |
13 | ||
14 | //-- Author: Gustavo Conesa (INFN-LNF) | |
15 | ||
16 | // --- ROOT system --- | |
17 | class TH2F ; | |
123fc3bd | 18 | class TH1F; |
1c5acb87 | 19 | class TString ; |
0c1383b5 | 20 | class TObjString; |
1c5acb87 | 21 | |
22 | // --- ANALYSIS system --- | |
23 | #include "AliAnaPartCorrBaseClass.h" | |
123fc3bd | 24 | class AliStack; |
25 | class TParticle; | |
1c5acb87 | 26 | |
27 | class TList ; | |
28 | ||
29 | class AliAnaPhoton : public AliAnaPartCorrBaseClass { | |
30 | ||
78219bac | 31 | public: |
1c5acb87 | 32 | AliAnaPhoton() ; // default ctor |
78219bac | 33 | virtual ~AliAnaPhoton() ; //virtual dtor |
34 | private: | |
1c5acb87 | 35 | AliAnaPhoton(const AliAnaPhoton & g) ; // cpy ctor |
36 | AliAnaPhoton & operator = (const AliAnaPhoton & g) ;//cpy assignment | |
78219bac | 37 | |
38 | public: | |
0c1383b5 | 39 | |
40 | TObjString * GetAnalysisCuts(); | |
41 | TList * GetCreateOutputObjects(); | |
1c5acb87 | 42 | |
6639984f | 43 | void Init(); |
44 | ||
1c5acb87 | 45 | void MakeAnalysisFillAOD() ; |
46 | ||
47 | void MakeAnalysisFillHistograms() ; | |
48 | ||
49 | void Print(const Option_t * opt)const; | |
50 | ||
51 | TString GetCalorimeter() const {return fCalorimeter ; } | |
52 | void SetCalorimeter(TString det) {fCalorimeter = det ; } | |
53 | ||
a3aebfff | 54 | Bool_t IsTrackMatchRejectionOn() const {return fRejectTrackMatch ; } |
55 | void SwitchOnTrackMatchRejection() {fRejectTrackMatch = kTRUE ; } | |
56 | void SwitchOffTrackMatchRejection() {fRejectTrackMatch = kFALSE ; } | |
57 | ||
1e86c71e | 58 | Bool_t IsCheckConversionOn() const {return fCheckConversion ; } |
59 | void SwitchOnConversionChecker() {fCheckConversion = kTRUE ; } | |
60 | void SwitchOffConversionChecker() {fCheckConversion = kFALSE ; } | |
61 | ||
62 | Bool_t AreConvertedPairsInAOD() const {return fAddConvertedPairsToAOD ; } | |
63 | void SwitchOnAdditionConvertedPairsToAOD() {fAddConvertedPairsToAOD = kTRUE ; } | |
64 | void SwitchOffAdditionConvertedPairsToAOD() {fAddConvertedPairsToAOD = kFALSE ; } | |
65 | ||
1c5acb87 | 66 | void InitParameters(); |
67 | ||
68 | void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) { | |
69 | fMinDist = m1; | |
70 | fMinDist2 = m2; | |
71 | fMinDist3 = m3; | |
72 | } | |
1e86c71e | 73 | |
74 | Float_t GetMassCut() const {return fMassCut ; } | |
75 | void SetMassCut(Float_t m) {fMassCut = m ; } | |
76 | ||
4cf55759 | 77 | void SetTimeCut(Double_t min, Double_t max) {fTimeCutMin = min; fTimeCutMax = max;} |
78 | Double_t GetTimeCutMin() const {return fTimeCutMin;} | |
79 | Double_t GetTimeCutMax() const {return fTimeCutMax;} | |
80 | ||
2ac125bf | 81 | void SetNCellCut(Int_t n) {fNCellsCut = n;} |
82 | Double_t GetNCellCut() const {return fNCellsCut;} | |
83 | ||
84 | ||
1c5acb87 | 85 | private: |
86 | ||
87 | TString fCalorimeter ; // Calorimeter where the gamma is searched; | |
88 | Float_t fMinDist ; // Minimal distance to bad channel to accept cluster | |
89 | Float_t fMinDist2; // Cuts on Minimal distance to study acceptance evaluation | |
90 | Float_t fMinDist3; // One more cut on distance used for acceptance-efficiency study | |
1e86c71e | 91 | Bool_t fRejectTrackMatch ; //If PID on, reject clusters which have an associated TPC track |
92 | Bool_t fCheckConversion; // Combine pairs of clusters with mass close to 0 | |
93 | Bool_t fAddConvertedPairsToAOD; // Put Converted pairs in AOD | |
94 | Float_t fMassCut; // Mass cut for the conversion pairs selection | |
4cf55759 | 95 | Double_t fTimeCutMin ; // Remove clusters/cells with time smaller than this value, in ns |
96 | Double_t fTimeCutMax ; // Remove clusters/cells with time larger than this value, in ns | |
2ac125bf | 97 | Int_t fNCellsCut ; // Accept for the analysis clusters with more than fNCellsCut cells |
98 | ||
1c5acb87 | 99 | //Histograms |
100 | TH1F * fhPtPhoton ; //! Number of identified photon vs transerse momentum | |
101 | TH2F * fhPhiPhoton ; //! Azimuthal angle of identified photon vs transerse momentum | |
102 | TH2F * fhEtaPhoton ; //! Pseudorapidity of identified photon vs transerse momentum | |
103 | ||
104 | //MC | |
123fc3bd | 105 | TH1F * fhDeltaE ; //! MC-Reco E distribution |
106 | TH1F * fhDeltaPt ; //! MC-Reco pT distribution | |
107 | TH1F * fhRatioE ; //! Reco/MC E distribution | |
108 | TH1F * fhRatioPt ; //! Reco/MC pT distribution | |
109 | TH2F * fh2E ; //! E distribution, Reco vs MC | |
110 | TH2F * fh2Pt ; //! pT distribution, Reco vs MC | |
111 | ||
591cc579 | 112 | TH1F * fhPtMCPhoton; //! Number of identified gamma |
113 | TH2F * fhPhiMCPhoton; //! Phi of identified gamma | |
114 | TH2F * fhEtaMCPhoton; //! eta of identified gamma | |
115 | ||
1c5acb87 | 116 | TH1F * fhPtPrompt; //! Number of identified prompt gamma |
117 | TH2F * fhPhiPrompt; //! Phi of identified prompt gamma | |
118 | TH2F * fhEtaPrompt; //! eta of identified prompt gamma | |
119 | ||
120 | TH1F * fhPtFragmentation; //! Number of identified fragmentation gamma | |
121 | TH2F * fhPhiFragmentation; //! Phi of identified fragmentation gamma | |
122 | TH2F * fhEtaFragmentation; //! eta of identified fragmentation gamma | |
123 | ||
6639984f | 124 | TH1F * fhPtISR; //! Number of identified initial state radiation gamma |
125 | TH2F * fhPhiISR; //! Phi of identified initial state radiation gamma | |
126 | TH2F * fhEtaISR; //! eta of identified initial state radiation gamma | |
127 | ||
1c5acb87 | 128 | TH1F * fhPtPi0Decay; //! Number of identified Pi0Decay gamma |
129 | TH2F * fhPhiPi0Decay; //! Phi of identified Pi0Decay gamma | |
130 | TH2F * fhEtaPi0Decay; //! eta of identified Pi0Decay gamma | |
131 | ||
132 | TH1F * fhPtOtherDecay; //! Number of identified OtherDecay gamma | |
133 | TH2F * fhPhiOtherDecay; //! Phi of identified OtherDecay gamma | |
134 | TH2F * fhEtaOtherDecay; //! eta of identified OtherDecay gamma | |
135 | ||
136 | TH1F * fhPtConversion; //! Number of identified Conversion gamma | |
137 | TH2F * fhPhiConversion; //! Phi of identified Conversion gamma | |
138 | TH2F * fhEtaConversion; //! eta of identified Conversion gamma | |
139 | ||
140 | TH1F * fhPtUnknown; //! Number of identified Unknown gamma | |
141 | TH2F * fhPhiUnknown; //! Phi of identified Unknown gamma | |
142 | TH2F * fhEtaUnknown; //! eta of identified Unknown gamma | |
143 | ||
2ac125bf | 144 | ClassDef(AliAnaPhoton,8) |
6639984f | 145 | |
1c5acb87 | 146 | } ; |
147 | ||
148 | ||
149 | #endif//ALIANAPHOTON_H | |
150 | ||
151 | ||
152 |