StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHbtMomRes.cc
1 #include "StHbtMaker/ThCorrFctn/StHbtMomRes.hh"
2 
3 StHbtMomRes::StHbtMomRes() {
4  // Use Fabrice's initial parameters for pions
5  setPDGPid(211);
6  mMult = 1.0;
7  mPShiftMult = 1.0;
8 }
9 StHbtMomRes::StHbtMomRes(int pdgPid) {
10  setPDGPid(pdgPid);
11 }
12 inline Float_t StHbtMomRes::getPtError(const Float_t pt) const {
13  return mMult * (mPta + mPtb*::pow(pt,mPtalfa) + mPtc*pt);
14 }
15 inline Float_t StHbtMomRes::getPhiError(const Float_t p) const {
16  return mMult * (mPhia + mPhib*::pow(p,mPhialfa));
17 }
18 inline Float_t StHbtMomRes::getThetaError(const Float_t p) const {
19  return mMult * (mThetaa + mThetab*::pow(p,mThetaalfa));
20 }
21 inline Float_t StHbtMomRes::getPShift(const Float_t p) const {
22  return mPShiftMult * mMult * (mPShifta + mPShiftb*::pow(p,mPShiftalfa));
23 }
24 
25 void StHbtMomRes::setMult(const Float_t mult) {
26  // Multiplier for the resolution calculation
27  mMult = mult;
28 }
29 
30 void StHbtMomRes::setPShiftMult(const Float_t mult) {
31  mPShiftMult = mult;
32 }
33 
34 
35 Float_t StHbtMomRes::getMult() const {
36  return mMult;
37 }
38 
39 Float_t StHbtMomRes::getPShiftMult() const {
40  return mPShiftMult;
41 }
42 
43 void StHbtMomRes::setPDGPid(const int pdgPid) {
44  /* Set the momentum resolution parameters
45  * obtained from Fabrice's parametrizations
46  * of resolution from embedding */
47 
48  /*
49  switch (pdgPid) {
50  case 211:
51  case -211:
52  mPta = 0.0177;
53  mPtb = 7.94e-5;
54  mPtalfa = -2.27;
55  mPhia = 0.0641;
56  mPhib = 0.0322;
57  mPhialfa = -1.15;
58  mThetaa = 0.0779;
59  mThetab = 0.0444;
60  mThetaalfa = -1.52;
61  mPShifta = -0.00274;
62  mPShiftb = -0.000335;
63  mPShiftalfa = -2.06;
64  break;
65  case 321:
66  case -321:
67  mPta = 0.0208;
68  mPtb = 0.0006;
69  mPtalfa = -2.3;
70  mPhia = 0.082;
71  mPhib = 0.0273;
72  mPhialfa = -2.17;
73  mThetaa = 0.0779;
74  mThetab = 0.0444;
75  mThetaalfa = -1.52;
76  mPShifta = -0.00162;
77  mPShiftb = -0.000793;
78  mPShiftalfa = -2.74;
79  break;*/
80  /* Caution! These are not real parameters for protons -
81  just copied from kaons for convenience, do not rely
82  on them for any physics results!
83  case 2212:
84  case -2212:
85  mPta = 0.0208;
86  mPtb = 0.0006;
87  mPtalfa = -2.3;
88  mPhia = 0.082;
89  mPhib = 0.0273;
90  mPhialfa = -2.17;
91  mThetaa = 0.0779;
92  mThetab = 0.0444;
93  mThetaalfa = -1.52;
94  mPShifta = -0.00162;
95  mPShiftb = -0.000793;
96  mPShiftalfa = -2.74;
97  break;
98  }
99 */
100  /* Just added new parameters */
101 
102  switch (pdgPid) {
103  case 211:
104  case -211:
105  mPta = 0.01074;
106  mPtb = 0.001918;
107  mPtalfa = -0.9895;
108  mPtc = 0.009706;
109  mPhia = 0.00201;
110  mPhib = 0.001018;
111  mPhialfa = -1.274;
112  mThetaa = 0.000908;
113  mThetab = 0.001255;
114  mThetaalfa = -1.141;
115  mPShifta = -0.00;
116  mPShiftb = -0.00;
117  mPShiftalfa = 0;
118  break;
119  case 321:
120  case -321:
121  mPta = 0.01981;
122  mPtb = 0.001371;
123  mPtalfa = -2.112;
124  mPtc = 0.0;
125  mPhia = 0.001791;
126  mPhib = 0.001319;
127  mPhialfa = -1.686;
128  mThetaa = 0.0005202;
129  mThetab = 0.001752;
130  mThetaalfa = -1.352;
131  mPShifta = -0.004136;
132  mPShiftb = 0.003511;
133  mPShiftalfa = -1.192;
134  break;
135  case 2212:
136  case -2212:
137  mPta = 0.01708;
138  mPtb = 0.006794;
139  mPtalfa = -1.78;
140  mPtc = 0.0;
141  mPhia = 0.0006575;
142  mPhib = 0.002813;
143  mPhialfa = -1.583;
144  mThetaa = 0.0002846;
145  mThetab = 0.002458;
146  mThetaalfa = -1.475;
147  mPShifta = -0.006509;
148  mPShiftb = 0.008757;
149  mPShiftalfa = -1.373;
150  break;
151  }
152 }
153 
154 StHbtMomRes::StHbtMomRes(Float_t aPta, Float_t aPtb, Float_t aPtalfa, Float_t aPtc,
155  Float_t aPhia, Float_t aPhib, Float_t aPhialfa,
156  Float_t aThetaa, Float_t aThetab, Float_t aThetaalfa,
157  Float_t aPShifta, Float_t aPShiftb, Float_t aPShiftalfa):
158  mPta(aPta), mPtb(aPtb), mPtalfa(aPtalfa), mPtc(aPtc),
159  mPhia(aPhia), mPhib(aPhib), mPhialfa(aPhialfa),
160  mThetaa(aThetaa), mThetab(aThetab), mThetaalfa(aThetaalfa),
161  mPShifta(aPShifta), mPShiftb(aPShiftb), mPShiftalfa(aPShiftalfa)
162 { /* no-op */ }
163 
164 StHbtMomRes::~StHbtMomRes()
165 { /* no-op */ }