]>
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: | |
21 | AliITSPidParams(); | |
22 | AliITSPidParams(Char_t * name); | |
23 | ~AliITSPidParams(); | |
24 | ||
25 | void InitDefaults(); | |
26 | Double_t GetLandauGausNormPdgCode(Double_t dedx, Int_t pdgCode, Double_t mom, Int_t lay) const; | |
27 | Double_t GetLandauGausNorm(Double_t dedx, Int_t partType, Double_t mom, Int_t lay) const; | |
28 | ||
29 | // pion setters | |
30 | void SetSDDPionMPV(TFormula* form){ | |
31 | if(fSDDPionMPV) delete fSDDPionMPV; | |
32 | fSDDPionMPV=new TFormula(*form); | |
33 | } | |
34 | void SetSDDPionLandauWidth(TFormula* form){ | |
35 | if(fSDDPionLandauWidth) delete fSDDPionLandauWidth; | |
36 | fSDDPionLandauWidth=new TFormula(*form); | |
37 | } | |
38 | void SetSDDPionGaussWidth(TFormula* form){ | |
39 | if(fSDDPionGaussWidth) delete fSDDPionGaussWidth; | |
40 | fSDDPionGaussWidth=new TFormula(*form); | |
41 | } | |
42 | void SetSSDPionMPV(TFormula* form){ | |
43 | if(fSSDPionMPV) delete fSSDPionMPV; | |
44 | fSSDPionMPV=new TFormula(*form); | |
45 | } | |
46 | void SetSSDPionLandauWidth(TFormula* form){ | |
47 | if(fSSDPionLandauWidth) delete fSSDPionLandauWidth; | |
48 | fSSDPionLandauWidth=new TFormula(*form); | |
49 | } | |
50 | void SetSSDPionGaussWidth(TFormula* form){ | |
51 | if(fSSDPionGaussWidth) delete fSSDPionGaussWidth; | |
52 | fSSDPionGaussWidth=new TFormula(*form); | |
53 | } | |
54 | ||
55 | // kaon setters | |
56 | void SetSDDKaonMPV(TFormula* form){ | |
57 | if(fSDDKaonMPV) delete fSDDKaonMPV; | |
58 | fSDDKaonMPV=new TFormula(*form); | |
59 | } | |
60 | void SetSDDKaonLandauWidth(TFormula* form){ | |
61 | if(fSDDKaonLandauWidth) delete fSDDKaonLandauWidth; | |
62 | fSDDKaonLandauWidth=new TFormula(*form); | |
63 | } | |
64 | void SetSDDKaonGaussWidth(TFormula* form){ | |
65 | if(fSDDKaonGaussWidth) delete fSDDKaonGaussWidth; | |
66 | fSDDKaonGaussWidth=new TFormula(*form); | |
67 | } | |
68 | void SetSSDKaonMPV(TFormula* form){ | |
69 | if(fSSDKaonMPV) delete fSSDKaonMPV; | |
70 | fSSDKaonMPV=new TFormula(*form); | |
71 | } | |
72 | void SetSSDKaonLandauWidth(TFormula* form){ | |
73 | if(fSSDKaonLandauWidth) delete fSSDKaonLandauWidth; | |
74 | fSSDKaonLandauWidth=new TFormula(*form); | |
75 | } | |
76 | void SetSSDKaonGaussWidth(TFormula* form){ | |
77 | if(fSSDKaonGaussWidth) delete fSSDKaonGaussWidth; | |
78 | fSSDKaonGaussWidth=new TFormula(*form); | |
79 | } | |
80 | ||
81 | ||
82 | // proton setters | |
83 | void SetSDDProtMPV(TFormula* form){ | |
84 | if(fSDDProtMPV) delete fSDDProtMPV; | |
85 | fSDDProtMPV=new TFormula(*form); | |
86 | } | |
87 | void SetSDDProtLandauWidth(TFormula* form){ | |
88 | if(fSDDProtLandauWidth) delete fSDDProtLandauWidth; | |
89 | fSDDProtLandauWidth=new TFormula(*form); | |
90 | } | |
91 | void SetSDDProtGaussWidth(TFormula* form){ | |
92 | if(fSDDProtGaussWidth) delete fSDDProtGaussWidth; | |
93 | fSDDProtGaussWidth=new TFormula(*form); | |
94 | } | |
95 | void SetSSDProtMPV(TFormula* form){ | |
96 | if(fSSDProtMPV) delete fSSDProtMPV; | |
97 | fSSDProtMPV=new TFormula(*form); | |
98 | } | |
99 | void SetSSDProtLandauWidth(TFormula* form){ | |
100 | if(fSSDProtLandauWidth) delete fSSDProtLandauWidth; | |
101 | fSSDProtLandauWidth=new TFormula(*form); | |
102 | } | |
103 | void SetSSDProtGaussWidth(TFormula* form){ | |
104 | if(fSSDProtGaussWidth) delete fSSDProtGaussWidth; | |
105 | fSSDProtGaussWidth=new TFormula(*form); | |
106 | } | |
107 | ||
108 | ||
109 | // pion getters | |
110 | Double_t GetSDDPionMPV(Double_t mom) const { | |
111 | return fSDDPionMPV->Eval(mom); | |
112 | } | |
113 | Double_t GetSDDPionLandauWidth(Double_t mom) const { | |
114 | return fSDDPionLandauWidth->Eval(mom); | |
115 | } | |
116 | Double_t GetSDDPionGaussWidth(Double_t mom) const { | |
117 | return fSDDPionGaussWidth->Eval(mom); | |
118 | } | |
119 | Double_t GetSSDPionMPV(Double_t mom) const { | |
120 | return fSSDPionMPV->Eval(mom); | |
121 | } | |
122 | Double_t GetSSDPionLandauWidth(Double_t mom) const { | |
123 | return fSSDPionLandauWidth->Eval(mom); | |
124 | } | |
125 | Double_t GetSSDPionGaussWidth(Double_t mom) const { | |
126 | return fSSDPionGaussWidth->Eval(mom); | |
127 | } | |
128 | ||
129 | // kaon getters | |
130 | Double_t GetSDDKaonMPV(Double_t mom) const { | |
131 | return fSDDKaonMPV->Eval(mom); | |
132 | } | |
133 | Double_t GetSDDKaonLandauWidth(Double_t mom) const { | |
134 | return fSDDKaonLandauWidth->Eval(mom); | |
135 | } | |
136 | Double_t GetSDDKaonGaussWidth(Double_t mom) const { | |
137 | return fSDDKaonGaussWidth->Eval(mom); | |
138 | } | |
139 | Double_t GetSSDKaonMPV(Double_t mom) const { | |
140 | return fSSDKaonMPV->Eval(mom); | |
141 | } | |
142 | Double_t GetSSDKaonLandauWidth(Double_t mom) const { | |
143 | return fSSDKaonLandauWidth->Eval(mom); | |
144 | } | |
145 | Double_t GetSSDKaonGaussWidth(Double_t mom) const { | |
146 | return fSSDKaonGaussWidth->Eval(mom); | |
147 | } | |
148 | ||
149 | // proton getters | |
150 | Double_t GetSDDProtMPV(Double_t mom) const { | |
151 | return fSDDProtMPV->Eval(mom); | |
152 | } | |
153 | Double_t GetSDDProtLandauWidth(Double_t mom) const { | |
154 | return fSDDProtLandauWidth->Eval(mom); | |
155 | } | |
156 | Double_t GetSDDProtGaussWidth(Double_t mom) const { | |
157 | return fSDDProtGaussWidth->Eval(mom); | |
158 | } | |
159 | Double_t GetSSDProtMPV(Double_t mom) const { | |
160 | return fSSDProtMPV->Eval(mom); | |
161 | } | |
162 | Double_t GetSSDProtLandauWidth(Double_t mom) const { | |
163 | return fSSDProtLandauWidth->Eval(mom); | |
164 | } | |
165 | Double_t GetSSDProtGaussWidth(Double_t mom) const { | |
166 | return fSSDProtGaussWidth->Eval(mom); | |
167 | } | |
168 | ||
169 | private: | |
170 | ||
171 | AliITSPidParams(const AliITSPidParams& rec); | |
172 | AliITSPidParams& operator=(const AliITSPidParams &source); | |
173 | ||
174 | TFormula* fSDDPionMPV; // pion dE/dx MPV vs. p in SDD | |
175 | TFormula* fSDDPionLandauWidth; // pion dE/dx Landau width vs. p in SDD | |
176 | TFormula* fSDDPionGaussWidth; // pion dE/dx Gaussian width vs. p in SDD | |
177 | ||
178 | TFormula* fSSDPionMPV; // pion dE/dx MPV vs. p in SSD | |
179 | TFormula* fSSDPionLandauWidth; // pion dE/dx Landau width vs. p in SSD | |
180 | TFormula* fSSDPionGaussWidth; // pion dE/dx Gaussian width vs. p in SSD | |
181 | ||
182 | TFormula* fSDDKaonMPV; // kaon dE/dx MPV vs. p in SDD | |
183 | TFormula* fSDDKaonLandauWidth; // kaon dE/dx Landau width vs. p in SDD | |
184 | TFormula* fSDDKaonGaussWidth; // kaon dE/dx Gaussian width vs. p in SDD | |
185 | ||
186 | TFormula* fSSDKaonMPV; // kaon dE/dx MPV vs. p in SSD | |
187 | TFormula* fSSDKaonLandauWidth; // kaon dE/dx Landau width vs. p in SSD | |
188 | TFormula* fSSDKaonGaussWidth; // kaon dE/dx Gaussian width vs. p in SSD | |
189 | ||
190 | TFormula* fSDDProtMPV; // kaon dE/dx MPV vs. p in SDD | |
191 | TFormula* fSDDProtLandauWidth; // kaon dE/dx Landau width vs. p in SDD | |
192 | TFormula* fSDDProtGaussWidth; // kaon dE/dx Gaussian width vs. p in SDD | |
193 | ||
194 | TFormula* fSSDProtMPV; // kaon dE/dx MPV vs. p in SSD | |
195 | TFormula* fSSDProtLandauWidth; // kaon dE/dx Landau width vs. p in SSD | |
196 | TFormula* fSSDProtGaussWidth; // kaon dE/dx Gaussian width vs. p in SSD | |
197 | ||
198 | ClassDef(AliITSPidParams,1); | |
199 | }; | |
200 | #endif |