]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliITSPidParams.h
turned off HLTError into Debug
[u/mrichter/AliRoot.git] / STEER / AliITSPidParams.h
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(Bool_t isMC = kFALSE);
22   AliITSPidParams(Char_t * name, Bool_t isMC = kFALSE);
23   ~AliITSPidParams();
24   
25   void InitMC();
26   void InitData();
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;
29   
30   // pion setters
31   void SetSDDPionMPV(const TFormula* form){
32     if(fSDDPionMPV) delete fSDDPionMPV;
33     fSDDPionMPV=new TFormula(*form);
34   }
35   void SetSDDPionLandauWidth(const TFormula* form){
36     if(fSDDPionLandauWidth) delete fSDDPionLandauWidth;
37     fSDDPionLandauWidth=new TFormula(*form);
38   }
39   void SetSDDPionGaussWidth(const TFormula* form){
40     if(fSDDPionGaussWidth) delete fSDDPionGaussWidth;
41     fSDDPionGaussWidth=new TFormula(*form);
42   }
43   void SetSSDPionMPV(const TFormula* form){
44     if(fSSDPionMPV) delete fSSDPionMPV;
45     fSSDPionMPV=new TFormula(*form);
46   }
47   void SetSSDPionLandauWidth(const TFormula* form){
48     if(fSSDPionLandauWidth) delete fSSDPionLandauWidth;
49     fSSDPionLandauWidth=new TFormula(*form);
50   }
51   void SetSSDPionGaussWidth(const TFormula* form){
52     if(fSSDPionGaussWidth) delete fSSDPionGaussWidth;
53     fSSDPionGaussWidth=new TFormula(*form);
54   }
55
56   // kaon setters
57   void SetSDDKaonMPV(const TFormula* form){
58     if(fSDDKaonMPV) delete fSDDKaonMPV;
59     fSDDKaonMPV=new TFormula(*form);
60   }
61   void SetSDDKaonLandauWidth(const TFormula* form){
62     if(fSDDKaonLandauWidth) delete fSDDKaonLandauWidth;
63     fSDDKaonLandauWidth=new TFormula(*form);
64   }
65   void SetSDDKaonGaussWidth(const TFormula* form){
66     if(fSDDKaonGaussWidth) delete fSDDKaonGaussWidth;
67     fSDDKaonGaussWidth=new TFormula(*form);
68   }
69   void SetSSDKaonMPV(const TFormula* form){
70     if(fSSDKaonMPV) delete fSSDKaonMPV;
71     fSSDKaonMPV=new TFormula(*form);
72   }
73   void SetSSDKaonLandauWidth(const TFormula* form){
74     if(fSSDKaonLandauWidth) delete fSSDKaonLandauWidth;
75     fSSDKaonLandauWidth=new TFormula(*form);
76   }
77   void SetSSDKaonGaussWidth(const TFormula* form){
78     if(fSSDKaonGaussWidth) delete fSSDKaonGaussWidth;
79     fSSDKaonGaussWidth=new TFormula(*form);
80   }
81
82
83   // proton setters
84   void SetSDDProtMPV(const TFormula* form){
85     if(fSDDProtMPV) delete fSDDProtMPV;
86     fSDDProtMPV=new TFormula(*form);
87   }
88   void SetSDDProtLandauWidth(const TFormula* form){
89     if(fSDDProtLandauWidth) delete fSDDProtLandauWidth;
90     fSDDProtLandauWidth=new TFormula(*form);
91   }
92   void SetSDDProtGaussWidth(const TFormula* form){
93     if(fSDDProtGaussWidth) delete fSDDProtGaussWidth;
94     fSDDProtGaussWidth=new TFormula(*form);
95   }
96   void SetSSDProtMPV(const TFormula* form){
97     if(fSSDProtMPV) delete fSSDProtMPV;
98     fSSDProtMPV=new TFormula(*form);
99   }
100   void SetSSDProtLandauWidth(const TFormula* form){
101     if(fSSDProtLandauWidth) delete fSSDProtLandauWidth;
102     fSSDProtLandauWidth=new TFormula(*form);
103   }
104   void SetSSDProtGaussWidth(const TFormula* form){
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:
171   
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