7 int old_chamber_id, old_strip, new_chamber_id, new_strip;
8 float old_elm33, old_elm34, old_elm44, old_elm35, old_elm45, old_elm55;
9 float old_elm46, old_elm56, old_elm66, old_elm57, old_elm67, old_elm77;
10 std::vector<int> old_cham_id;
11 std::vector<int> old_strips;
12 std::vector<float> old_elem33;
13 std::vector<float> old_elem34;
14 std::vector<float> old_elem44;
15 std::vector<float> old_elem45;
16 std::vector<float> old_elem35;
17 std::vector<float> old_elem55;
18 std::vector<float> old_elem46;
19 std::vector<float> old_elem56;
20 std::vector<float> old_elem66;
21 std::vector<float> old_elem57;
22 std::vector<float> old_elem67;
23 std::vector<float> old_elem77;
25 float new_elm33, new_elm34, new_elm44, new_elm35, new_elm45, new_elm55;
26 float new_elm46, new_elm56, new_elm66, new_elm57, new_elm67, new_elm77;
27 std::vector<int> new_cham_id;
28 std::vector<int> new_strips;
29 std::vector<float> new_elem33;
30 std::vector<float> new_elem34;
31 std::vector<float> new_elem44;
32 std::vector<float> new_elem45;
33 std::vector<float> new_elem35;
34 std::vector<float> new_elem55;
35 std::vector<float> new_elem46;
36 std::vector<float> new_elem56;
37 std::vector<float> new_elem66;
38 std::vector<float> new_elem57;
39 std::vector<float> new_elem67;
40 std::vector<float> new_elem77;
45 int max_istrip, id_layer, max_ring, max_cham;
46 unsigned int old_nrlines = 0;
47 unsigned int new_nrlines = 0;
49 std::ifstream olddata;
52 std::cerr <<
"Error: old_matrix.dat -> no such file!" << std::endl;
56 while (!olddata.eof()) {
57 olddata >> old_chamber_id >> old_strip >> old_elm33 >> old_elm34 >> old_elm44 >> old_elm35 >> old_elm45 >>
58 old_elm55 >> old_elm46 >> old_elm56 >> old_elm66 >> old_elm57 >> old_elm67 >> old_elm77;
59 old_cham_id.push_back(old_chamber_id);
60 old_strips.push_back(old_strip);
61 old_elem33.push_back(old_elm33);
62 old_elem34.push_back(old_elm34);
63 old_elem44.push_back(old_elm44);
64 old_elem35.push_back(old_elm35);
65 old_elem45.push_back(old_elm45);
66 old_elem55.push_back(old_elm55);
67 old_elem46.push_back(old_elm46);
68 old_elem56.push_back(old_elm56);
69 old_elem66.push_back(old_elm66);
70 old_elem57.push_back(old_elm57);
71 old_elem67.push_back(old_elm67);
72 old_elem77.push_back(old_elm77);
78 std::ifstream newdata;
81 std::cerr <<
"Error: new_matrix.txt -> no such file!" << std::endl;
85 while (!newdata.eof()) {
86 newdata >> new_chamber_id >> new_strip >> new_elm33 >> new_elm34 >> new_elm44 >> new_elm35 >> new_elm45 >>
87 new_elm55 >> new_elm46 >> new_elm56 >> new_elm66 >> new_elm57 >> new_elm67 >> new_elm77;
88 new_cham_id.push_back(new_chamber_id);
89 new_strips.push_back(new_strip);
90 new_elem33.push_back(new_elm33);
91 new_elem34.push_back(new_elm34);
92 new_elem44.push_back(new_elm44);
93 new_elem35.push_back(new_elm35);
94 new_elem45.push_back(new_elm45);
95 new_elem55.push_back(new_elm55);
96 new_elem46.push_back(new_elm46);
97 new_elem56.push_back(new_elm56);
98 new_elem66.push_back(new_elm66);
99 new_elem57.push_back(new_elm57);
100 new_elem67.push_back(new_elm67);
101 new_elem77.push_back(new_elm77);
108 for (
int iendcap =
detId.minEndcapId(); iendcap <=
detId.maxEndcapId(); iendcap++) {
109 for (
int istation =
detId.minStationId(); istation <=
detId.maxStationId(); istation++) {
110 max_ring =
detId.maxRingId();
122 for (
int iring =
detId.minRingId(); iring <= max_ring; iring++) {
124 max_cham =
detId.maxChamberId();
125 if (istation == 1 && iring == 1)
127 if (istation == 1 && iring == 2)
129 if (istation == 1 && iring == 3)
131 if (istation == 2 && iring == 1)
133 if (istation == 2 && iring == 2)
135 if (istation == 3 && iring == 1)
137 if (istation == 3 && iring == 2)
139 if (istation == 4 && iring == 1)
142 for (
int ichamber =
detId.minChamberId(); ichamber <= max_cham; ichamber++) {
143 for (
int ilayer =
detId.minLayerId(); ilayer <=
detId.maxLayerId(); ilayer++) {
145 if (istation == 1 && iring == 3)
148 std::vector<CSCNoiseMatrix::Item> itemvector;
149 itemvector.resize(max_istrip);
150 id_layer = 100000 * iendcap + 10000 * istation + 1000 * iring + 10 * ichamber + ilayer;
152 for (
int istrip = 0; istrip < max_istrip; istrip++) {
153 if (istation == 1 && iring == 1) {
154 itemvector[istrip].elem33 = 7.86675;
155 itemvector[istrip].elem34 = 2.07075;
156 itemvector[istrip].elem44 = 6.93875;
157 itemvector[istrip].elem35 = 1.42525;
158 itemvector[istrip].elem45 = 2.51025;
159 itemvector[istrip].elem55 = 7.93975;
160 itemvector[istrip].elem46 = 0.94725;
161 itemvector[istrip].elem56 = 2.39275;
162 itemvector[istrip].elem66 = 6.46475;
163 itemvector[istrip].elem57 = 1.86325;
164 itemvector[istrip].elem67 = 2.08025;
165 itemvector[istrip].elem77 = 6.67975;
166 cnmatrix->
matrix[id_layer] = itemvector;
169 if (istation == 1 && iring == 2) {
170 itemvector[istrip].elem33 = 9.118;
171 itemvector[istrip].elem34 = 3.884;
172 itemvector[istrip].elem44 = 7.771;
173 itemvector[istrip].elem35 = 1.8225;
174 itemvector[istrip].elem45 = 3.7505;
175 itemvector[istrip].elem55 = 8.597;
176 itemvector[istrip].elem46 = 1.651;
177 itemvector[istrip].elem56 = 2.5225;
178 itemvector[istrip].elem66 = 6.583;
179 itemvector[istrip].elem57 = 1.5055;
180 itemvector[istrip].elem67 = 2.733;
181 itemvector[istrip].elem77 = 6.988;
182 cnmatrix->
matrix[id_layer] = itemvector;
185 if (istation == 1 && iring == 3) {
186 itemvector[istrip].elem33 = 9.5245;
187 itemvector[istrip].elem34 = 3.2415;
188 itemvector[istrip].elem44 = 7.6265;
189 itemvector[istrip].elem35 = 1.7225;
190 itemvector[istrip].elem45 = 3.6075;
191 itemvector[istrip].elem55 = 8.7275;
192 itemvector[istrip].elem46 = 1.663;
193 itemvector[istrip].elem56 = 2.592;
194 itemvector[istrip].elem66 = 7.5685;
195 itemvector[istrip].elem57 = 1.7905;
196 itemvector[istrip].elem67 = 2.409;
197 itemvector[istrip].elem77 = 7.1495;
198 cnmatrix->
matrix[id_layer] = itemvector;
201 if (istation == 2 && iring == 1) {
202 itemvector[istrip].elem33 = 9.06825;
203 itemvector[istrip].elem34 = 3.32025;
204 itemvector[istrip].elem44 = 7.52925;
205 itemvector[istrip].elem35 = 3.66125;
206 itemvector[istrip].elem45 = 3.39125;
207 itemvector[istrip].elem55 = 9.97625;
208 itemvector[istrip].elem46 = 1.32725;
209 itemvector[istrip].elem56 = 3.99025;
210 itemvector[istrip].elem66 = 8.10125;
211 itemvector[istrip].elem57 = 2.56456;
212 itemvector[istrip].elem67 = 2.96625;
213 itemvector[istrip].elem77 = 7.30925;
214 cnmatrix->
matrix[id_layer] = itemvector;
217 if (istation == 2 && iring == 2) {
218 itemvector[istrip].elem33 = 16.7442;
219 itemvector[istrip].elem34 = 7.96925;
220 itemvector[istrip].elem44 = 14.1643;
221 itemvector[istrip].elem35 = 4.67975;
222 itemvector[istrip].elem45 = 8.44075;
223 itemvector[istrip].elem55 = 17.2243;
224 itemvector[istrip].elem46 = 3.68575;
225 itemvector[istrip].elem56 = 7.48825;
226 itemvector[istrip].elem66 = 14.4902;
227 itemvector[istrip].elem57 = 4.4482;
228 itemvector[istrip].elem67 = 6.47875;
229 itemvector[istrip].elem77 = 14.6733;
230 cnmatrix->
matrix[id_layer] = itemvector;
233 if (istation == 3 && iring == 1) {
234 itemvector[istrip].elem33 = 9.3495;
235 itemvector[istrip].elem34 = 3.529;
236 itemvector[istrip].elem44 = 7.8715;
237 itemvector[istrip].elem35 = 3.8155;
238 itemvector[istrip].elem45 = 3.858;
239 itemvector[istrip].elem55 = 10.8205;
240 itemvector[istrip].elem46 = 1.8585;
241 itemvector[istrip].elem56 = 4.445;
242 itemvector[istrip].elem66 = 8.0175;
243 itemvector[istrip].elem57 = 3.29479;
244 itemvector[istrip].elem67 = 3.625;
245 itemvector[istrip].elem77 = 8.3895;
246 cnmatrix->
matrix[id_layer] = itemvector;
249 if (istation == 3 && iring == 2) {
250 itemvector[istrip].elem33 = 13.6193;
251 itemvector[istrip].elem34 = 5.91025;
252 itemvector[istrip].elem44 = 11.3842;
253 itemvector[istrip].elem35 = 3.31775;
254 itemvector[istrip].elem45 = 5.69775;
255 itemvector[istrip].elem55 = 11.6652;
256 itemvector[istrip].elem46 = 2.46175;
257 itemvector[istrip].elem56 = 4.48325;
258 itemvector[istrip].elem66 = 9.95725;
259 itemvector[istrip].elem57 = 2.10561;
260 itemvector[istrip].elem67 = 4.04625;
261 itemvector[istrip].elem77 = 9.51625;
262 cnmatrix->
matrix[id_layer] = itemvector;
265 if (istation == 4 && iring == 1) {
266 itemvector[istrip].elem33 = 10.0;
267 itemvector[istrip].elem34 = 4.0;
268 itemvector[istrip].elem44 = 10.0;
269 itemvector[istrip].elem35 = 3.0;
270 itemvector[istrip].elem45 = 8.0;
271 itemvector[istrip].elem55 = 10.0;
272 itemvector[istrip].elem46 = 2.0;
273 itemvector[istrip].elem56 = 5.0;
274 itemvector[istrip].elem66 = 10.0;
275 itemvector[istrip].elem57 = 3.0;
276 itemvector[istrip].elem67 = 4.0;
277 itemvector[istrip].elem77 = 10.0;
278 cnmatrix->
matrix[id_layer] = itemvector;
289 std::vector<CSCNoiseMatrix::Item> itemvector;
290 itemvector.resize(80);
292 for (
unsigned int mystrip = 0; mystrip < old_nrlines - 1; mystrip++) {
293 if (old_strips[mystrip] == 0)
295 itemvector[istrip].elem33 = old_elem33[mystrip];
296 itemvector[istrip].elem34 = old_elem34[mystrip];
297 itemvector[istrip].elem44 = old_elem44[mystrip];
298 itemvector[istrip].elem35 = old_elem35[mystrip];
299 itemvector[istrip].elem45 = old_elem45[mystrip];
300 itemvector[istrip].elem55 = old_elem55[mystrip];
301 itemvector[istrip].elem46 = old_elem46[mystrip];
302 itemvector[istrip].elem56 = old_elem56[mystrip];
303 itemvector[istrip].elem66 = old_elem66[mystrip];
304 itemvector[istrip].elem57 = old_elem57[mystrip];
305 itemvector[istrip].elem67 = old_elem67[mystrip];
306 itemvector[istrip].elem77 = old_elem77[mystrip];
307 cnmatrix->
matrix[old_cham_id[mystrip]] = itemvector;
311 itemvector.resize(64);
312 for (
unsigned int mystrip = 0; mystrip < old_nrlines - 1; mystrip++) {
313 if (old_strips[mystrip] == 0)
315 if (old_cham_id[mystrip] >= 113000 && old_cham_id[mystrip] <= 113999) {
316 itemvector[istrip].elem33 = old_elem33[mystrip];
317 itemvector[istrip].elem34 = old_elem34[mystrip];
318 itemvector[istrip].elem44 = old_elem44[mystrip];
319 itemvector[istrip].elem35 = old_elem35[mystrip];
320 itemvector[istrip].elem45 = old_elem45[mystrip];
321 itemvector[istrip].elem55 = old_elem55[mystrip];
322 itemvector[istrip].elem46 = old_elem46[mystrip];
323 itemvector[istrip].elem56 = old_elem56[mystrip];
324 itemvector[istrip].elem66 = old_elem66[mystrip];
325 itemvector[istrip].elem57 = old_elem57[mystrip];
326 itemvector[istrip].elem67 = old_elem67[mystrip];
327 itemvector[istrip].elem77 = old_elem77[mystrip];
328 cnmatrix->
matrix[old_cham_id[mystrip]] = itemvector;
333 itemvector.resize(64);
334 for (
unsigned int mystrip = 0; mystrip < old_nrlines - 1; mystrip++) {
335 if (old_strips[mystrip] == 0)
337 if (old_cham_id[mystrip] >= 213000 && old_cham_id[mystrip] <= 213999) {
338 itemvector[istrip].elem33 = old_elem33[mystrip];
339 itemvector[istrip].elem34 = old_elem34[mystrip];
340 itemvector[istrip].elem44 = old_elem44[mystrip];
341 itemvector[istrip].elem35 = old_elem35[mystrip];
342 itemvector[istrip].elem45 = old_elem45[mystrip];
343 itemvector[istrip].elem55 = old_elem55[mystrip];
344 itemvector[istrip].elem46 = old_elem46[mystrip];
345 itemvector[istrip].elem56 = old_elem56[mystrip];
346 itemvector[istrip].elem66 = old_elem66[mystrip];
347 itemvector[istrip].elem57 = old_elem57[mystrip];
348 itemvector[istrip].elem67 = old_elem67[mystrip];
349 itemvector[istrip].elem77 = old_elem77[mystrip];
350 cnmatrix->
matrix[old_cham_id[mystrip]] = itemvector;
356 itemvector.resize(80);
357 for (
unsigned int mystrip = 0; mystrip < new_nrlines - 1; mystrip++) {
358 if (new_strips[mystrip] == 0)
360 itemvector[istrip].elem33 = new_elem33[mystrip];
361 itemvector[istrip].elem34 = new_elem34[mystrip];
362 itemvector[istrip].elem44 = new_elem44[mystrip];
363 itemvector[istrip].elem35 = new_elem35[mystrip];
364 itemvector[istrip].elem45 = new_elem45[mystrip];
365 itemvector[istrip].elem55 = new_elem55[mystrip];
366 itemvector[istrip].elem46 = new_elem46[mystrip];
367 itemvector[istrip].elem56 = new_elem56[mystrip];
368 itemvector[istrip].elem66 = new_elem66[mystrip];
369 itemvector[istrip].elem57 = new_elem57[mystrip];
370 itemvector[istrip].elem67 = new_elem67[mystrip];
371 itemvector[istrip].elem77 = new_elem77[mystrip];
372 cnmatrix->
matrix[new_cham_id[mystrip]] = itemvector;
376 itemvector.resize(64);
377 for (
unsigned int mystrip = 0; mystrip < new_nrlines - 1; mystrip++) {
378 if (new_strips[mystrip] == 0)
380 if (new_cham_id[mystrip] >= 113000 && new_cham_id[mystrip] <= 113999) {
381 itemvector[istrip].elem33 = new_elem33[mystrip];
382 itemvector[istrip].elem34 = new_elem34[mystrip];
383 itemvector[istrip].elem44 = new_elem44[mystrip];
384 itemvector[istrip].elem35 = new_elem35[mystrip];
385 itemvector[istrip].elem45 = new_elem45[mystrip];
386 itemvector[istrip].elem55 = new_elem55[mystrip];
387 itemvector[istrip].elem46 = new_elem46[mystrip];
388 itemvector[istrip].elem56 = new_elem56[mystrip];
389 itemvector[istrip].elem66 = new_elem66[mystrip];
390 itemvector[istrip].elem57 = new_elem57[mystrip];
391 itemvector[istrip].elem67 = new_elem67[mystrip];
392 itemvector[istrip].elem77 = new_elem77[mystrip];
393 cnmatrix->
matrix[new_cham_id[mystrip]] = itemvector;
398 itemvector.resize(64);
399 for (
unsigned int mystrip = 0; mystrip < new_nrlines - 1; mystrip++) {
400 if (new_strips[mystrip] == 0)
402 if (new_cham_id[mystrip] >= 213000 && new_cham_id[mystrip] <= 213999) {
403 itemvector[istrip].elem33 = new_elem33[mystrip];
404 itemvector[istrip].elem34 = new_elem34[mystrip];
405 itemvector[istrip].elem44 = new_elem44[mystrip];
406 itemvector[istrip].elem35 = new_elem35[mystrip];
407 itemvector[istrip].elem45 = new_elem45[mystrip];
408 itemvector[istrip].elem55 = new_elem55[mystrip];
409 itemvector[istrip].elem46 = new_elem46[mystrip];
410 itemvector[istrip].elem56 = new_elem56[mystrip];
411 itemvector[istrip].elem66 = new_elem66[mystrip];
412 itemvector[istrip].elem57 = new_elem57[mystrip];
413 itemvector[istrip].elem67 = new_elem67[mystrip];
414 itemvector[istrip].elem77 = new_elem77[mystrip];
415 cnmatrix->
matrix[new_cham_id[mystrip]] = itemvector;