]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/STEERBase/AliITSPidParams.h
Moved in-reco analysis call before event reset; clean delete of fAnalysis
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliITSPidParams.h
CommitLineData
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
18class 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