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 {
21 AliITSPidParams(Bool_t isMC = kFALSE);
22 AliITSPidParams(Char_t * name, Bool_t isMC = kFALSE);
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;
31 void SetSDDPionMPV(const TFormula* form){
32 if(fSDDPionMPV) delete fSDDPionMPV;
33 fSDDPionMPV=new TFormula(*form);
35 void SetSDDPionLandauWidth(const TFormula* form){
36 if(fSDDPionLandauWidth) delete fSDDPionLandauWidth;
37 fSDDPionLandauWidth=new TFormula(*form);
39 void SetSDDPionGaussWidth(const TFormula* form){
40 if(fSDDPionGaussWidth) delete fSDDPionGaussWidth;
41 fSDDPionGaussWidth=new TFormula(*form);
43 void SetSSDPionMPV(const TFormula* form){
44 if(fSSDPionMPV) delete fSSDPionMPV;
45 fSSDPionMPV=new TFormula(*form);
47 void SetSSDPionLandauWidth(const TFormula* form){
48 if(fSSDPionLandauWidth) delete fSSDPionLandauWidth;
49 fSSDPionLandauWidth=new TFormula(*form);
51 void SetSSDPionGaussWidth(const TFormula* form){
52 if(fSSDPionGaussWidth) delete fSSDPionGaussWidth;
53 fSSDPionGaussWidth=new TFormula(*form);
57 void SetSDDKaonMPV(const TFormula* form){
58 if(fSDDKaonMPV) delete fSDDKaonMPV;
59 fSDDKaonMPV=new TFormula(*form);
61 void SetSDDKaonLandauWidth(const TFormula* form){
62 if(fSDDKaonLandauWidth) delete fSDDKaonLandauWidth;
63 fSDDKaonLandauWidth=new TFormula(*form);
65 void SetSDDKaonGaussWidth(const TFormula* form){
66 if(fSDDKaonGaussWidth) delete fSDDKaonGaussWidth;
67 fSDDKaonGaussWidth=new TFormula(*form);
69 void SetSSDKaonMPV(const TFormula* form){
70 if(fSSDKaonMPV) delete fSSDKaonMPV;
71 fSSDKaonMPV=new TFormula(*form);
73 void SetSSDKaonLandauWidth(const TFormula* form){
74 if(fSSDKaonLandauWidth) delete fSSDKaonLandauWidth;
75 fSSDKaonLandauWidth=new TFormula(*form);
77 void SetSSDKaonGaussWidth(const TFormula* form){
78 if(fSSDKaonGaussWidth) delete fSSDKaonGaussWidth;
79 fSSDKaonGaussWidth=new TFormula(*form);
84 void SetSDDProtMPV(const TFormula* form){
85 if(fSDDProtMPV) delete fSDDProtMPV;
86 fSDDProtMPV=new TFormula(*form);
88 void SetSDDProtLandauWidth(const TFormula* form){
89 if(fSDDProtLandauWidth) delete fSDDProtLandauWidth;
90 fSDDProtLandauWidth=new TFormula(*form);
92 void SetSDDProtGaussWidth(const TFormula* form){
93 if(fSDDProtGaussWidth) delete fSDDProtGaussWidth;
94 fSDDProtGaussWidth=new TFormula(*form);
96 void SetSSDProtMPV(const TFormula* form){
97 if(fSSDProtMPV) delete fSSDProtMPV;
98 fSSDProtMPV=new TFormula(*form);
100 void SetSSDProtLandauWidth(const TFormula* form){
101 if(fSSDProtLandauWidth) delete fSSDProtLandauWidth;
102 fSSDProtLandauWidth=new TFormula(*form);
104 void SetSSDProtGaussWidth(const TFormula* form){
105 if(fSSDProtGaussWidth) delete fSSDProtGaussWidth;
106 fSSDProtGaussWidth=new TFormula(*form);
111 Double_t GetSDDPionMPV(Double_t mom) const {
112 return fSDDPionMPV->Eval(mom);
114 Double_t GetSDDPionLandauWidth(Double_t mom) const {
115 return fSDDPionLandauWidth->Eval(mom);
117 Double_t GetSDDPionGaussWidth(Double_t mom) const {
118 return fSDDPionGaussWidth->Eval(mom);
120 Double_t GetSSDPionMPV(Double_t mom) const {
121 return fSSDPionMPV->Eval(mom);
123 Double_t GetSSDPionLandauWidth(Double_t mom) const {
124 return fSSDPionLandauWidth->Eval(mom);
126 Double_t GetSSDPionGaussWidth(Double_t mom) const {
127 return fSSDPionGaussWidth->Eval(mom);
131 Double_t GetSDDKaonMPV(Double_t mom) const {
132 return fSDDKaonMPV->Eval(mom);
134 Double_t GetSDDKaonLandauWidth(Double_t mom) const {
135 return fSDDKaonLandauWidth->Eval(mom);
137 Double_t GetSDDKaonGaussWidth(Double_t mom) const {
138 return fSDDKaonGaussWidth->Eval(mom);
140 Double_t GetSSDKaonMPV(Double_t mom) const {
141 return fSSDKaonMPV->Eval(mom);
143 Double_t GetSSDKaonLandauWidth(Double_t mom) const {
144 return fSSDKaonLandauWidth->Eval(mom);
146 Double_t GetSSDKaonGaussWidth(Double_t mom) const {
147 return fSSDKaonGaussWidth->Eval(mom);
151 Double_t GetSDDProtMPV(Double_t mom) const {
152 return fSDDProtMPV->Eval(mom);
154 Double_t GetSDDProtLandauWidth(Double_t mom) const {
155 return fSDDProtLandauWidth->Eval(mom);
157 Double_t GetSDDProtGaussWidth(Double_t mom) const {
158 return fSDDProtGaussWidth->Eval(mom);
160 Double_t GetSSDProtMPV(Double_t mom) const {
161 return fSSDProtMPV->Eval(mom);
163 Double_t GetSSDProtLandauWidth(Double_t mom) const {
164 return fSSDProtLandauWidth->Eval(mom);
166 Double_t GetSSDProtGaussWidth(Double_t mom) const {
167 return fSSDProtGaussWidth->Eval(mom);
172 AliITSPidParams(const AliITSPidParams& rec);
173 AliITSPidParams& operator=(const AliITSPidParams &source);
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
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
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
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
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
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
199 ClassDef(AliITSPidParams,1);