Project
Loading...
Searching...
No Matches
ChamberResponseParams.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
16
21
23
24namespace o2
25{
26namespace mid
27{
28
29//______________________________________________________________________________
30double ChamberResponseParams::getParA(double hv) const
31{
34 return mParA[1] * hv + mParA[0];
35}
36
37//______________________________________________________________________________
38double ChamberResponseParams::getParC(double hv) const
39{
42 return mParC[1] * hv + mParC[0];
43}
44
45//______________________________________________________________________________
46double ChamberResponseParams::getParB(int cathode, int deId) const
47{
51 return mParB[72 * cathode + deId];
52}
53
54//______________________________________________________________________________
55void ChamberResponseParams::setParA(double a0, double a1)
56{
58 mParA[0] = a0;
59 mParA[1] = a1;
60}
61
62//______________________________________________________________________________
63void ChamberResponseParams::setParC(double c0, double c1)
64{
66 mParC[0] = c0;
67 mParC[1] = c1;
68}
69
70//______________________________________________________________________________
71void ChamberResponseParams::setParB(int cathode, int deId, double val)
72{
74 mParB[72 * cathode + deId] = val;
75}
76
78{
81 params.setParA(-20.0, 6.089 / 1000.); // par1 in 1/V (par0 updated from Run 3 fit)
82 params.setParC(-4.2e-3, 4.6e-4 / 1000.); // par1 in 1/V (par0 & par1 updated from Run 3 fit)
83
84 // if (isStreamer) {
85 // mParB.fill(2.966);
86 // return;
87 // }
88
89 // Updated b-params from Run 3 fit
90 // BP
91 // MT11R
92 params.setParB(0, 0, 2.09);
93 params.setParB(0, 1, 2.37);
94 params.setParB(0, 2, 2.21);
95 params.setParB(0, 3, 2.39);
96 params.setParB(0, 4, 2.49);
97 params.setParB(0, 5, 3.06);
98 params.setParB(0, 6, 2.24);
99 params.setParB(0, 7, 2.39);
100 params.setParB(0, 8, 2.00);
101 // MT12R
102 params.setParB(0, 9, 2.15);
103 params.setParB(0, 10, 2.42);
104 params.setParB(0, 11, 2.17);
105 params.setParB(0, 12, 2.47);
106 params.setParB(0, 13, 2.22);
107 params.setParB(0, 14, 2.89);
108 params.setParB(0, 15, 2.24);
109 params.setParB(0, 16, 2.29);
110 params.setParB(0, 17, 2.04);
111 // MT21R
112 params.setParB(0, 18, 2.07);
113 params.setParB(0, 19, 2.28);
114 params.setParB(0, 20, 2.22);
115 params.setParB(0, 21, 2.83);
116 params.setParB(0, 22, 2.27);
117 params.setParB(0, 23, 2.64);
118 params.setParB(0, 24, 2.20);
119 params.setParB(0, 25, 2.38);
120 params.setParB(0, 26, 2.12);
121 // MT22R
122 params.setParB(0, 27, 2.12);
123 params.setParB(0, 28, 2.41);
124 params.setParB(0, 29, 2.35);
125 params.setParB(0, 30, 2.70);
126 params.setParB(0, 31, 2.23);
127 params.setParB(0, 32, 2.38);
128 params.setParB(0, 33, 2.37);
129 params.setParB(0, 34, 2.38);
130 params.setParB(0, 35, 2.08);
131 // MT11L
132 params.setParB(0, 36, 2.05);
133 params.setParB(0, 37, 2.31);
134 params.setParB(0, 38, 2.26);
135 params.setParB(0, 39, 2.57);
136 params.setParB(0, 40, 2.52);
137 params.setParB(0, 41, 2.29);
138 params.setParB(0, 42, 2.28);
139 params.setParB(0, 43, 2.31);
140 params.setParB(0, 44, 2.06);
141 // MT12L
142 params.setParB(0, 45, 2.12);
143 params.setParB(0, 46, 1.82);
144 params.setParB(0, 47, 2.22);
145 params.setParB(0, 48, 2.45);
146 params.setParB(0, 49, 2.58);
147 params.setParB(0, 50, 2.33);
148 params.setParB(0, 51, 2.31);
149 params.setParB(0, 52, 1.74);
150 params.setParB(0, 53, 2.07);
151 // MT21L
152 params.setParB(0, 54, 2.10);
153 params.setParB(0, 55, 2.23);
154 params.setParB(0, 56, 2.22);
155 params.setParB(0, 57, 2.60);
156 params.setParB(0, 58, 2.29);
157 params.setParB(0, 59, 2.75);
158 params.setParB(0, 60, 2.29);
159 params.setParB(0, 61, 2.22);
160 params.setParB(0, 62, 2.01);
161 // MT22L
162 params.setParB(0, 63, 2.06);
163 params.setParB(0, 64, 2.18);
164 params.setParB(0, 65, 2.30);
165 params.setParB(0, 66, 2.66);
166 params.setParB(0, 67, 2.26);
167 params.setParB(0, 68, 2.72);
168 params.setParB(0, 69, 2.23);
169 params.setParB(0, 70, 2.25);
170 params.setParB(0, 71, 2.00);
171
172 // NBP
173 // MT11R
174 params.setParB(1, 0, 1.91);
175 params.setParB(1, 1, 1.94);
176 params.setParB(1, 2, 1.87);
177 params.setParB(1, 3, 1.81);
178 params.setParB(1, 4, 1.76);
179 params.setParB(1, 5, 2.01);
180 params.setParB(1, 6, 2.01);
181 params.setParB(1, 7, 2.03);
182 params.setParB(1, 8, 1.88);
183 // MT12R
184 params.setParB(1, 9, 2.05);
185 params.setParB(1, 10, 1.88);
186 params.setParB(1, 11, 1.85);
187 params.setParB(1, 12, 1.77);
188 params.setParB(1, 13, 1.81);
189 params.setParB(1, 14, 2.08);
190 params.setParB(1, 15, 1.98);
191 params.setParB(1, 16, 1.74);
192 params.setParB(1, 17, 2.13);
193 // MT21R
194 params.setParB(1, 18, 2.01);
195 params.setParB(1, 19, 1.85);
196 params.setParB(1, 20, 1.88);
197 params.setParB(1, 21, 2.05);
198 params.setParB(1, 22, 2.05);
199 params.setParB(1, 23, 2.01);
200 params.setParB(1, 24, 2.01);
201 params.setParB(1, 25, 2.01);
202 params.setParB(1, 26, 2.09);
203 // MT22R
204 params.setParB(1, 27, 1.98);
205 params.setParB(1, 28, 1.99);
206 params.setParB(1, 29, 2.39);
207 params.setParB(1, 30, 1.96);
208 params.setParB(1, 31, 1.99);
209 params.setParB(1, 32, 2.06);
210 params.setParB(1, 33, 2.15);
211 params.setParB(1, 34, 2.01);
212 params.setParB(1, 35, 1.89);
213 // MT11L
214 params.setParB(1, 36, 1.88);
215 params.setParB(1, 37, 1.89);
216 params.setParB(1, 38, 1.84);
217 params.setParB(1, 39, 2.17);
218 params.setParB(1, 40, 1.78);
219 params.setParB(1, 41, 1.68);
220 params.setParB(1, 42, 1.91);
221 params.setParB(1, 43, 1.78);
222 params.setParB(1, 44, 1.88);
223 // MT12L
224 params.setParB(1, 45, 2.08);
225 params.setParB(1, 46, 1.74);
226 params.setParB(1, 47, 2.01);
227 params.setParB(1, 48, 1.90);
228 params.setParB(1, 49, 1.77);
229 params.setParB(1, 50, 1.77);
230 params.setParB(1, 51, 2.11);
231 params.setParB(1, 52, 1.84);
232 params.setParB(1, 53, 2.09);
233 // MT21L
234 params.setParB(1, 54, 2.13);
235 params.setParB(1, 55, 1.88);
236 params.setParB(1, 56, 1.93);
237 params.setParB(1, 57, 2.01);
238 params.setParB(1, 58, 2.16);
239 params.setParB(1, 59, 2.19);
240 params.setParB(1, 60, 2.01);
241 params.setParB(1, 61, 1.90);
242 params.setParB(1, 62, 1.96);
243 // MT22L
244 params.setParB(1, 63, 1.94);
245 params.setParB(1, 64, 1.79);
246 params.setParB(1, 65, 2.04);
247 params.setParB(1, 66, 1.98);
248 params.setParB(1, 67, 1.97);
249 params.setParB(1, 68, 1.89);
250 params.setParB(1, 69, 1.85);
251 params.setParB(1, 70, 1.94);
252 params.setParB(1, 71, 1.99);
253
254 return std::move(params);
255}
256
257} // namespace mid
258} // namespace o2
Parameters for MID RPC response.
void setParB(int cathode, int deId, double val)
double getParB(int cathode, int deId) const
void setParA(double a0, double a1)
void setParC(double c0, double c1)
GLenum const GLfloat * params
Definition glcorearb.h:272
GLuint GLfloat * val
Definition glcorearb.h:1582
ChamberResponseParams createDefaultChamberResponseParams()
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...