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 */
8 ///////////////////////////////////////////////////////////////////
10 // Class to store parameters of ITS response funcions //
11 // Origin: F.Prino, Torino, prino@to.infn.it //
13 ///////////////////////////////////////////////////////////////////
18 class AliITSPidParams : public TNamed {
22 AliITSPidParams(Char_t * name);
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;
30 void SetSDDPionMPV(const TFormula* form){
31 if(fSDDPionMPV) delete fSDDPionMPV;
32 fSDDPionMPV=new TFormula(*form);
34 void SetSDDPionLandauWidth(const TFormula* form){
35 if(fSDDPionLandauWidth) delete fSDDPionLandauWidth;
36 fSDDPionLandauWidth=new TFormula(*form);
38 void SetSDDPionGaussWidth(const TFormula* form){
39 if(fSDDPionGaussWidth) delete fSDDPionGaussWidth;
40 fSDDPionGaussWidth=new TFormula(*form);
42 void SetSSDPionMPV(const TFormula* form){
43 if(fSSDPionMPV) delete fSSDPionMPV;
44 fSSDPionMPV=new TFormula(*form);
46 void SetSSDPionLandauWidth(const TFormula* form){
47 if(fSSDPionLandauWidth) delete fSSDPionLandauWidth;
48 fSSDPionLandauWidth=new TFormula(*form);
50 void SetSSDPionGaussWidth(const TFormula* form){
51 if(fSSDPionGaussWidth) delete fSSDPionGaussWidth;
52 fSSDPionGaussWidth=new TFormula(*form);
56 void SetSDDKaonMPV(const TFormula* form){
57 if(fSDDKaonMPV) delete fSDDKaonMPV;
58 fSDDKaonMPV=new TFormula(*form);
60 void SetSDDKaonLandauWidth(const TFormula* form){
61 if(fSDDKaonLandauWidth) delete fSDDKaonLandauWidth;
62 fSDDKaonLandauWidth=new TFormula(*form);
64 void SetSDDKaonGaussWidth(const TFormula* form){
65 if(fSDDKaonGaussWidth) delete fSDDKaonGaussWidth;
66 fSDDKaonGaussWidth=new TFormula(*form);
68 void SetSSDKaonMPV(const TFormula* form){
69 if(fSSDKaonMPV) delete fSSDKaonMPV;
70 fSSDKaonMPV=new TFormula(*form);
72 void SetSSDKaonLandauWidth(const TFormula* form){
73 if(fSSDKaonLandauWidth) delete fSSDKaonLandauWidth;
74 fSSDKaonLandauWidth=new TFormula(*form);
76 void SetSSDKaonGaussWidth(const TFormula* form){
77 if(fSSDKaonGaussWidth) delete fSSDKaonGaussWidth;
78 fSSDKaonGaussWidth=new TFormula(*form);
83 void SetSDDProtMPV(const TFormula* form){
84 if(fSDDProtMPV) delete fSDDProtMPV;
85 fSDDProtMPV=new TFormula(*form);
87 void SetSDDProtLandauWidth(const TFormula* form){
88 if(fSDDProtLandauWidth) delete fSDDProtLandauWidth;
89 fSDDProtLandauWidth=new TFormula(*form);
91 void SetSDDProtGaussWidth(const TFormula* form){
92 if(fSDDProtGaussWidth) delete fSDDProtGaussWidth;
93 fSDDProtGaussWidth=new TFormula(*form);
95 void SetSSDProtMPV(const TFormula* form){
96 if(fSSDProtMPV) delete fSSDProtMPV;
97 fSSDProtMPV=new TFormula(*form);
99 void SetSSDProtLandauWidth(const TFormula* form){
100 if(fSSDProtLandauWidth) delete fSSDProtLandauWidth;
101 fSSDProtLandauWidth=new TFormula(*form);
103 void SetSSDProtGaussWidth(const TFormula* form){
104 if(fSSDProtGaussWidth) delete fSSDProtGaussWidth;
105 fSSDProtGaussWidth=new TFormula(*form);
110 Double_t GetSDDPionMPV(Double_t mom) const {
111 return fSDDPionMPV->Eval(mom);
113 Double_t GetSDDPionLandauWidth(Double_t mom) const {
114 return fSDDPionLandauWidth->Eval(mom);
116 Double_t GetSDDPionGaussWidth(Double_t mom) const {
117 return fSDDPionGaussWidth->Eval(mom);
119 Double_t GetSSDPionMPV(Double_t mom) const {
120 return fSSDPionMPV->Eval(mom);
122 Double_t GetSSDPionLandauWidth(Double_t mom) const {
123 return fSSDPionLandauWidth->Eval(mom);
125 Double_t GetSSDPionGaussWidth(Double_t mom) const {
126 return fSSDPionGaussWidth->Eval(mom);
130 Double_t GetSDDKaonMPV(Double_t mom) const {
131 return fSDDKaonMPV->Eval(mom);
133 Double_t GetSDDKaonLandauWidth(Double_t mom) const {
134 return fSDDKaonLandauWidth->Eval(mom);
136 Double_t GetSDDKaonGaussWidth(Double_t mom) const {
137 return fSDDKaonGaussWidth->Eval(mom);
139 Double_t GetSSDKaonMPV(Double_t mom) const {
140 return fSSDKaonMPV->Eval(mom);
142 Double_t GetSSDKaonLandauWidth(Double_t mom) const {
143 return fSSDKaonLandauWidth->Eval(mom);
145 Double_t GetSSDKaonGaussWidth(Double_t mom) const {
146 return fSSDKaonGaussWidth->Eval(mom);
150 Double_t GetSDDProtMPV(Double_t mom) const {
151 return fSDDProtMPV->Eval(mom);
153 Double_t GetSDDProtLandauWidth(Double_t mom) const {
154 return fSDDProtLandauWidth->Eval(mom);
156 Double_t GetSDDProtGaussWidth(Double_t mom) const {
157 return fSDDProtGaussWidth->Eval(mom);
159 Double_t GetSSDProtMPV(Double_t mom) const {
160 return fSSDProtMPV->Eval(mom);
162 Double_t GetSSDProtLandauWidth(Double_t mom) const {
163 return fSSDProtLandauWidth->Eval(mom);
165 Double_t GetSSDProtGaussWidth(Double_t mom) const {
166 return fSSDProtGaussWidth->Eval(mom);
171 AliITSPidParams(const AliITSPidParams& rec);
172 AliITSPidParams& operator=(const AliITSPidParams &source);
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
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
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
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
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
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
198 ClassDef(AliITSPidParams,1);