]>
Commit | Line | Data |
---|---|---|
b536a002 | 1 | #ifndef ALIITSPIDPARAMS_H |
2 | #define ALIITSPIDPARAMS_H | |
3 | /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id: $ */ | |
7 | ||
8 | /////////////////////////////////////////////////////////////////// | |
9 | // // | |
10 | // Class to store parameters of ITS response funcions // | |
11 | // Origin: F.Prino, Torino, prino@to.infn.it // | |
12 | // // | |
13 | /////////////////////////////////////////////////////////////////// | |
14 | ||
15 | #include <TFormula.h> | |
16 | #include <TNamed.h> | |
17 | ||
18 | class AliITSPidParams : public TNamed { | |
19 | ||
20 | public: | |
b52bfc67 | 21 | AliITSPidParams(Bool_t isMC = kFALSE); |
22 | AliITSPidParams(Char_t * name, Bool_t isMC = kFALSE); | |
b536a002 | 23 | ~AliITSPidParams(); |
b52bfc67 | 24 | |
8abeb05b | 25 | void InitMC(); |
b52bfc67 | 26 | void InitData(); |
b536a002 | 27 | Double_t GetLandauGausNormPdgCode(Double_t dedx, Int_t pdgCode, Double_t mom, Int_t lay) const; |
28 | Double_t GetLandauGausNorm(Double_t dedx, Int_t partType, Double_t mom, Int_t lay) const; | |
b52bfc67 | 29 | |
b536a002 | 30 | // pion setters |
09e17991 | 31 | void SetSDDPionMPV(const TFormula* form){ |
b536a002 | 32 | if(fSDDPionMPV) delete fSDDPionMPV; |
33 | fSDDPionMPV=new TFormula(*form); | |
34 | } | |
09e17991 | 35 | void SetSDDPionLandauWidth(const TFormula* form){ |
b536a002 | 36 | if(fSDDPionLandauWidth) delete fSDDPionLandauWidth; |
37 | fSDDPionLandauWidth=new TFormula(*form); | |
38 | } | |
09e17991 | 39 | void SetSDDPionGaussWidth(const TFormula* form){ |
b536a002 | 40 | if(fSDDPionGaussWidth) delete fSDDPionGaussWidth; |
41 | fSDDPionGaussWidth=new TFormula(*form); | |
42 | } | |
09e17991 | 43 | void SetSSDPionMPV(const TFormula* form){ |
b536a002 | 44 | if(fSSDPionMPV) delete fSSDPionMPV; |
45 | fSSDPionMPV=new TFormula(*form); | |
46 | } | |
09e17991 | 47 | void SetSSDPionLandauWidth(const TFormula* form){ |
b536a002 | 48 | if(fSSDPionLandauWidth) delete fSSDPionLandauWidth; |
49 | fSSDPionLandauWidth=new TFormula(*form); | |
50 | } | |
09e17991 | 51 | void SetSSDPionGaussWidth(const TFormula* form){ |
b536a002 | 52 | if(fSSDPionGaussWidth) delete fSSDPionGaussWidth; |
53 | fSSDPionGaussWidth=new TFormula(*form); | |
54 | } | |
55 | ||
56 | // kaon setters | |
09e17991 | 57 | void SetSDDKaonMPV(const TFormula* form){ |
b536a002 | 58 | if(fSDDKaonMPV) delete fSDDKaonMPV; |
59 | fSDDKaonMPV=new TFormula(*form); | |
60 | } | |
09e17991 | 61 | void SetSDDKaonLandauWidth(const TFormula* form){ |
b536a002 | 62 | if(fSDDKaonLandauWidth) delete fSDDKaonLandauWidth; |
63 | fSDDKaonLandauWidth=new TFormula(*form); | |
64 | } | |
09e17991 | 65 | void SetSDDKaonGaussWidth(const TFormula* form){ |
b536a002 | 66 | if(fSDDKaonGaussWidth) delete fSDDKaonGaussWidth; |
67 | fSDDKaonGaussWidth=new TFormula(*form); | |
68 | } | |
09e17991 | 69 | void SetSSDKaonMPV(const TFormula* form){ |
b536a002 | 70 | if(fSSDKaonMPV) delete fSSDKaonMPV; |
71 | fSSDKaonMPV=new TFormula(*form); | |
72 | } | |
09e17991 | 73 | void SetSSDKaonLandauWidth(const TFormula* form){ |
b536a002 | 74 | if(fSSDKaonLandauWidth) delete fSSDKaonLandauWidth; |
75 | fSSDKaonLandauWidth=new TFormula(*form); | |
76 | } | |
09e17991 | 77 | void SetSSDKaonGaussWidth(const TFormula* form){ |
b536a002 | 78 | if(fSSDKaonGaussWidth) delete fSSDKaonGaussWidth; |
79 | fSSDKaonGaussWidth=new TFormula(*form); | |
80 | } | |
81 | ||
82 | ||
83 | // proton setters | |
09e17991 | 84 | void SetSDDProtMPV(const TFormula* form){ |
b536a002 | 85 | if(fSDDProtMPV) delete fSDDProtMPV; |
86 | fSDDProtMPV=new TFormula(*form); | |
87 | } | |
09e17991 | 88 | void SetSDDProtLandauWidth(const TFormula* form){ |
b536a002 | 89 | if(fSDDProtLandauWidth) delete fSDDProtLandauWidth; |
90 | fSDDProtLandauWidth=new TFormula(*form); | |
91 | } | |
09e17991 | 92 | void SetSDDProtGaussWidth(const TFormula* form){ |
b536a002 | 93 | if(fSDDProtGaussWidth) delete fSDDProtGaussWidth; |
94 | fSDDProtGaussWidth=new TFormula(*form); | |
95 | } | |
09e17991 | 96 | void SetSSDProtMPV(const TFormula* form){ |
b536a002 | 97 | if(fSSDProtMPV) delete fSSDProtMPV; |
98 | fSSDProtMPV=new TFormula(*form); | |
99 | } | |
09e17991 | 100 | void SetSSDProtLandauWidth(const TFormula* form){ |
b536a002 | 101 | if(fSSDProtLandauWidth) delete fSSDProtLandauWidth; |
102 | fSSDProtLandauWidth=new TFormula(*form); | |
103 | } | |
09e17991 | 104 | void SetSSDProtGaussWidth(const TFormula* form){ |
b536a002 | 105 | if(fSSDProtGaussWidth) delete fSSDProtGaussWidth; |
106 | fSSDProtGaussWidth=new TFormula(*form); | |
107 | } | |
108 | ||
109 | ||
110 | // pion getters | |
111 | Double_t GetSDDPionMPV(Double_t mom) const { | |
112 | return fSDDPionMPV->Eval(mom); | |
113 | } | |
114 | Double_t GetSDDPionLandauWidth(Double_t mom) const { | |
115 | return fSDDPionLandauWidth->Eval(mom); | |
116 | } | |
117 | Double_t GetSDDPionGaussWidth(Double_t mom) const { | |
118 | return fSDDPionGaussWidth->Eval(mom); | |
119 | } | |
120 | Double_t GetSSDPionMPV(Double_t mom) const { | |
121 | return fSSDPionMPV->Eval(mom); | |
122 | } | |
123 | Double_t GetSSDPionLandauWidth(Double_t mom) const { | |
124 | return fSSDPionLandauWidth->Eval(mom); | |
125 | } | |
126 | Double_t GetSSDPionGaussWidth(Double_t mom) const { | |
127 | return fSSDPionGaussWidth->Eval(mom); | |
128 | } | |
129 | ||
130 | // kaon getters | |
131 | Double_t GetSDDKaonMPV(Double_t mom) const { | |
132 | return fSDDKaonMPV->Eval(mom); | |
133 | } | |
134 | Double_t GetSDDKaonLandauWidth(Double_t mom) const { | |
135 | return fSDDKaonLandauWidth->Eval(mom); | |
136 | } | |
137 | Double_t GetSDDKaonGaussWidth(Double_t mom) const { | |
138 | return fSDDKaonGaussWidth->Eval(mom); | |
139 | } | |
140 | Double_t GetSSDKaonMPV(Double_t mom) const { | |
141 | return fSSDKaonMPV->Eval(mom); | |
142 | } | |
143 | Double_t GetSSDKaonLandauWidth(Double_t mom) const { | |
144 | return fSSDKaonLandauWidth->Eval(mom); | |
145 | } | |
146 | Double_t GetSSDKaonGaussWidth(Double_t mom) const { | |
147 | return fSSDKaonGaussWidth->Eval(mom); | |
148 | } | |
149 | ||
150 | // proton getters | |
151 | Double_t GetSDDProtMPV(Double_t mom) const { | |
152 | return fSDDProtMPV->Eval(mom); | |
153 | } | |
154 | Double_t GetSDDProtLandauWidth(Double_t mom) const { | |
155 | return fSDDProtLandauWidth->Eval(mom); | |
156 | } | |
157 | Double_t GetSDDProtGaussWidth(Double_t mom) const { | |
158 | return fSDDProtGaussWidth->Eval(mom); | |
159 | } | |
160 | Double_t GetSSDProtMPV(Double_t mom) const { | |
161 | return fSSDProtMPV->Eval(mom); | |
162 | } | |
163 | Double_t GetSSDProtLandauWidth(Double_t mom) const { | |
164 | return fSSDProtLandauWidth->Eval(mom); | |
165 | } | |
166 | Double_t GetSSDProtGaussWidth(Double_t mom) const { | |
167 | return fSSDProtGaussWidth->Eval(mom); | |
168 | } | |
169 | ||
170 | private: | |
b52bfc67 | 171 | |
b536a002 | 172 | AliITSPidParams(const AliITSPidParams& rec); |
173 | AliITSPidParams& operator=(const AliITSPidParams &source); | |
174 | ||
175 | TFormula* fSDDPionMPV; // pion dE/dx MPV vs. p in SDD | |
176 | TFormula* fSDDPionLandauWidth; // pion dE/dx Landau width vs. p in SDD | |
177 | TFormula* fSDDPionGaussWidth; // pion dE/dx Gaussian width vs. p in SDD | |
178 | ||
179 | TFormula* fSSDPionMPV; // pion dE/dx MPV vs. p in SSD | |
180 | TFormula* fSSDPionLandauWidth; // pion dE/dx Landau width vs. p in SSD | |
181 | TFormula* fSSDPionGaussWidth; // pion dE/dx Gaussian width vs. p in SSD | |
182 | ||
183 | TFormula* fSDDKaonMPV; // kaon dE/dx MPV vs. p in SDD | |
184 | TFormula* fSDDKaonLandauWidth; // kaon dE/dx Landau width vs. p in SDD | |
185 | TFormula* fSDDKaonGaussWidth; // kaon dE/dx Gaussian width vs. p in SDD | |
186 | ||
187 | TFormula* fSSDKaonMPV; // kaon dE/dx MPV vs. p in SSD | |
188 | TFormula* fSSDKaonLandauWidth; // kaon dE/dx Landau width vs. p in SSD | |
189 | TFormula* fSSDKaonGaussWidth; // kaon dE/dx Gaussian width vs. p in SSD | |
190 | ||
191 | TFormula* fSDDProtMPV; // kaon dE/dx MPV vs. p in SDD | |
192 | TFormula* fSDDProtLandauWidth; // kaon dE/dx Landau width vs. p in SDD | |
193 | TFormula* fSDDProtGaussWidth; // kaon dE/dx Gaussian width vs. p in SDD | |
194 | ||
195 | TFormula* fSSDProtMPV; // kaon dE/dx MPV vs. p in SSD | |
196 | TFormula* fSSDProtLandauWidth; // kaon dE/dx Landau width vs. p in SSD | |
197 | TFormula* fSSDProtGaussWidth; // kaon dE/dx Gaussian width vs. p in SSD | |
198 | ||
199 | ClassDef(AliITSPidParams,1); | |
200 | }; | |
201 | #endif |