10 #include "GaudiKernel/MsgStream.h"
15 }
else if (
prob < 0.0) {
28 int TrtPart,
int GasType,
int StrawLayer,
29 float ZR,
float rTrkWire,
float Occupancy,
30 bool hasTrackPars =
true)
const {
36 if (pTrk < 250.0 || pTrk > 7000000.0)
39 if (TrtPart < 0 || TrtPart > 2)
41 if (GasType < 0 || GasType > 2)
44 if ((TrtPart == 0 && (StrawLayer < 0 || StrawLayer > 72)) ||
45 (TrtPart == 1 && (StrawLayer < 0 || StrawLayer > 95)) ||
46 (TrtPart == 2 && (StrawLayer < 0 || StrawLayer > 63)))
49 if ((TrtPart == 0 && (ZR > 720.0)) ||
50 (TrtPart > 0 && (ZR < 630.0 || ZR > 1030.0)))
53 if (rTrkWire < 0.0 || rTrkWire > 2.2)
58 float correctionSL, correctionZR, correctionTW;
60 float correctionPGOG = -999.;
61 if (GasType == 1 && TrtPart == 2) {
65 correctionPGOG =
pHTvsPGOG(1, GasType, pTrk,
mass, Occupancy);
68 correctionPGOG =
pHTvsPGOG(TrtPart, GasType, pTrk,
mass, Occupancy);
72 if (fabs(
mass - 0.511) < 0.1) {
84 if (not hasTrackPars) {
93 return correctionPGOG * correctionSL * correctionZR * correctionTW;
107 const auto bin0 =
entry.GetBinValue(0);
112 const auto bin5 =
entry.GetBinValue(5);
113 const auto bin6 =
entry.GetBinValue(6);
114 const auto bin7 =
entry.GetBinValue(7);
115 const auto bin8 =
entry.GetBinValue(8);
116 const auto bin9 =
entry.GetBinValue(9);
119 const double par1 =
bin1 + bin6 * occ;
121 const double par4 =
bin4 + bin7 * occ;
123 const auto log10_gamma = std::log10(
gamma);
125 const double exp_term =
std::exp(-(log10_gamma - par4) / bin5);
126 const double pHT_TR =
bin2 +
bin3 / (1.0 + exp_term);
129 const double exp_term0 =
std::exp(-(bin0 - par4) / bin5);
130 const double alpha0 =
bin2 +
bin3 / (1.0 + exp_term0);
132 bin3 / ((1.0 + exp_term0) * (1.0 + exp_term0)) * exp_term0 / bin5;
133 const double pHT_dEdx = alpha0 + beta0 * (log10_gamma - bin0);
136 const double exp_term1 =
std::exp(-(par1 - par4) / bin5);
137 const double alpha1 =
bin2 +
bin3 / (1.0 + exp_term1);
139 bin3 / ((1.0 + exp_term1) * (1.0 + exp_term1)) * exp_term1 / bin5;
140 double pHT_HG = alpha1 + beta1 * (std::log10(
gamma) - par1);
142 double pHT_OccZero = pHT_TR;
143 if (log10_gamma < bin0) {
144 pHT_OccZero = pHT_dEdx;
145 }
else if (log10_gamma > par1) {
146 pHT_OccZero = pHT_HG;
151 const double DeltaOcc = bin8 * occ + bin9 * occ * occ;
152 return pHT_OccZero + (1.0 - pHT_OccZero) * DeltaOcc;
156 if (channel_values->
size() < 1) {
158 log << MSG::WARNING <<
" There are no Pid channels available!!" <<
endmsg;
160 <<
"The HTcalculator is about to be used uninitialized - Loading "
164 return StatusCode::SUCCESS;
170 for (; first_channel != last_channel; ++first_channel) {
171 switch (first_channel->first) {
174 first_channel->second[
"array_value"].data<
float>());
178 first_channel->second[
"array_value"].data<
float>());
182 first_channel->second[
"array_value"].data<
float>());
186 first_channel->second[
"array_value"].data<
float>());
190 first_channel->second[
"array_value"].data<
float>());
194 first_channel->second[
"array_value"].data<
float>());
198 first_channel->second[
"array_value"].data<
float>());
202 first_channel->second[
"array_value"].data<
float>());
206 first_channel->second[
"array_value"].data<
float>());
212 first_channel->second[
"array_value"].data<
float>());
216 first_channel->second[
"array_value"].data<
float>());
220 first_channel->second[
"array_value"].data<
float>());
224 first_channel->second[
"array_value"].data<
float>());
228 first_channel->second[
"array_value"].data<
float>());
232 first_channel->second[
"array_value"].data<
float>());
236 first_channel->second[
"array_value"].data<
float>());
240 first_channel->second[
"array_value"].data<
float>());
244 first_channel->second[
"array_value"].data<
float>());
248 first_channel->second[
"array_value"].data<
float>());
252 first_channel->second[
"array_value"].data<
float>());
256 first_channel->second[
"array_value"].data<
float>());
260 first_channel->second[
"array_value"].data<
float>());
264 first_channel->second[
"array_value"].data<
float>());
268 first_channel->second[
"array_value"].data<
float>());
272 first_channel->second[
"array_value"].data<
float>());
276 first_channel->second[
"array_value"].data<
float>());
280 first_channel->second[
"array_value"].data<
float>());
284 first_channel->second[
"array_value"].data<
float>());
288 first_channel->second[
"array_value"].data<
float>());
292 first_channel->second[
"array_value"].data<
float>());
296 first_channel->second[
"array_value"].data<
float>());
300 first_channel->second[
"array_value"].data<
float>());
304 first_channel->second[
"array_value"].data<
float>());
310 first_channel->second[
"array_value"].data<
float>());
314 first_channel->second[
"array_value"].data<
float>());
318 first_channel->second[
"array_value"].data<
float>());
322 first_channel->second[
"array_value"].data<
float>());
326 first_channel->second[
"array_value"].data<
float>());
330 first_channel->second[
"array_value"].data<
float>());
334 first_channel->second[
"array_value"].data<
float>());
338 first_channel->second[
"array_value"].data<
float>());
342 first_channel->second[
"array_value"].data<
float>());
346 first_channel->second[
"array_value"].data<
float>());
350 first_channel->second[
"array_value"].data<
float>());
354 first_channel->second[
"array_value"].data<
float>());
358 first_channel->second[
"array_value"].data<
float>());
362 first_channel->second[
"array_value"].data<
float>());
366 first_channel->second[
"array_value"].data<
float>());
370 first_channel->second[
"array_value"].data<
float>());
374 first_channel->second[
"array_value"].data<
float>());
378 first_channel->second[
"array_value"].data<
float>());
382 first_channel->second[
"array_value"].data<
float>());
386 first_channel->second[
"array_value"].data<
float>());
390 first_channel->second[
"array_value"].data<
float>());
394 first_channel->second[
"array_value"].data<
float>());
398 first_channel->second[
"array_value"].data<
float>());
402 first_channel->second[
"array_value"].data<
float>());
408 first_channel->second[
"array_value"].data<
float>());
412 first_channel->second[
"array_value"].data<
float>());
416 first_channel->second[
"array_value"].data<
float>());
420 first_channel->second[
"array_value"].data<
float>());
424 first_channel->second[
"array_value"].data<
float>());
428 first_channel->second[
"array_value"].data<
float>());
432 first_channel->second[
"array_value"].data<
float>());
436 first_channel->second[
"array_value"].data<
float>());
440 first_channel->second[
"array_value"].data<
float>());
444 first_channel->second[
"array_value"].data<
float>());
448 first_channel->second[
"array_value"].data<
float>());
452 first_channel->second[
"array_value"].data<
float>());
456 first_channel->second[
"array_value"].data<
float>());
460 first_channel->second[
"array_value"].data<
float>());
464 first_channel->second[
"array_value"].data<
float>());
468 first_channel->second[
"array_value"].data<
float>());
472 first_channel->second[
"array_value"].data<
float>());
476 first_channel->second[
"array_value"].data<
float>());
480 first_channel->second[
"array_value"].data<
float>());
484 first_channel->second[
"array_value"].data<
float>());
488 first_channel->second[
"array_value"].data<
float>());
492 first_channel->second[
"array_value"].data<
float>());
496 first_channel->second[
"array_value"].data<
float>());
500 first_channel->second[
"array_value"].data<
float>());
506 for (
int j = 0; j <
N_GAS; j++) {
508 return StatusCode::FAILURE;
510 return StatusCode::FAILURE;
512 return StatusCode::FAILURE;
514 return StatusCode::FAILURE;
516 return StatusCode::FAILURE;
518 return StatusCode::FAILURE;
520 return StatusCode::FAILURE;
522 return StatusCode::FAILURE;
524 return StatusCode::FAILURE;
528 return StatusCode::SUCCESS;
551 <<
" HT PID DB is NOT available. Set hard-coded PID calibration "
552 "constants. Derived from Run1 Data Zee and Zmumu 50 ns."
560 {{1.0000, 3.7204, 0.0260, 0.1445, 3.0461, 0.2206, 0.0000, 0.0078, 0.0918,
562 {1.0000, 3.5836, 0.0468, 0.1475, 3.0943, 0.1303, 0.0000, 0.0089, 0.1054,
564 {1.0000, 3.4798, 0.0433, 0.1824, 3.0730, 0.1244, 0.0000, 0.0300, 0.1007,
567 {{1.0000, 2.8342, 0.0384, 0.0185, 2.7161, 0.0366, 0.0000, 0.0013, 0.1261,
569 {1.0000, 3.2551, 0.0388, 0.0338, 2.9090, 0.1663, 0.0000, 0.1604, 0.1100,
571 {0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
574 {{0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
576 {0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
578 {0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
582 for (
int j = 0; j <
N_DET; j++) {
587 par2[
i][j] +
sizeof par2[
i][j] /
sizeof par2[
i][j][0]));
591 constexpr
int N_SL_B = 73;
592 constexpr
int N_SL_EA = 96;
593 constexpr
int N_SL_EB = 64;
594 constexpr
int N_ZR_B = 36;
595 constexpr
int N_ZR_EA = 40;
596 constexpr
int N_ZR_EB = 40;
597 constexpr
int N_TW_B = 44;
598 constexpr
int N_TW_EA = 44;
599 constexpr
int N_TW_EB = 44;
605 constexpr
double CpHT_Zee_Barrel_SL[N_SL_B] = {
606 0.637, 0.887, 0.966, 1.034, 1.059, 1.009, 1.131, 1.073, 1.086, 0.925,
607 0.890, 0.987, 0.937, 0.964, 0.976, 0.929, 1.006, 0.979, 0.992, 0.812,
608 0.935, 0.950, 0.984, 0.994, 1.011, 0.952, 1.051, 0.997, 1.026, 1.018,
609 0.978, 1.066, 1.016, 1.039, 1.040, 0.979, 1.057, 1.018, 1.032, 1.052,
610 0.994, 1.055, 1.023, 0.823, 1.013, 0.977, 1.051, 1.031, 0.973, 1.077,
611 1.025, 1.056, 1.047, 0.992, 1.085, 1.032, 1.061, 1.054, 0.998, 1.093,
612 1.039, 1.058, 1.056, 0.988, 1.090, 1.057, 1.046, 1.053, 0.994, 1.081,
613 1.041, 1.040, 1.061};
614 constexpr
double CpHT_Zee_EndcapA_SL[N_SL_EA] = {
615 0.671, 0.802, 0.890, 0.918, 0.946, 0.963, 0.974, 0.979, 1.030, 1.023,
616 1.029, 1.004, 1.030, 1.037, 1.033, 1.013, 0.913, 0.968, 0.998, 0.994,
617 1.036, 1.032, 1.043, 1.044, 1.042, 1.009, 1.026, 1.007, 1.032, 1.046,
618 1.020, 1.032, 0.913, 0.955, 0.974, 0.995, 1.035, 1.042, 1.039, 1.047,
619 1.032, 1.036, 1.033, 1.010, 1.047, 1.049, 1.055, 1.046, 0.877, 0.938,
620 0.968, 0.983, 1.004, 1.010, 1.013, 1.014, 1.038, 1.031, 1.042, 1.018,
621 1.016, 1.049, 1.023, 1.025, 0.923, 0.978, 0.995, 1.001, 1.038, 1.042,
622 1.026, 1.037, 1.042, 1.062, 1.041, 1.039, 1.078, 1.058, 1.036, 1.049,
623 0.897, 0.965, 0.993, 0.985, 1.040, 1.068, 1.053, 1.049, 1.037, 1.050,
624 1.043, 1.065, 1.026, 1.058, 1.058, 1.070};
625 constexpr
double CpHT_Zee_EndcapB_SL[N_SL_EB] = {
626 0.494, 0.771, 0.887, 0.931, 0.939, 0.989, 0.994, 1.005, 0.866, 0.971,
627 1.027, 1.057, 1.021, 1.056, 1.046, 1.073, 0.901, 0.992, 1.043, 1.055,
628 1.034, 1.087, 1.094, 1.087, 0.920, 0.995, 1.048, 1.068, 1.042, 1.075,
629 1.086, 1.126, 0.920, 0.987, 1.062, 1.072, 1.059, 1.096, 1.070, 1.082,
630 0.927, 1.020, 1.068, 1.083, 1.054, 1.089, 1.078, 1.103, 0.961, 1.050,
631 1.100, 1.107, 1.098, 1.124, 1.101, 1.141, 0.988, 1.106, 1.127, 1.174,
632 1.109, 1.134, 1.134, 1.182};
635 constexpr
double CpHT_Zee_Barrel_ZR[N_ZR_B] = {
636 0.861, 0.901, 0.909, 0.915, 0.919, 0.924, 0.922, 0.931, 0.928,
637 0.937, 0.945, 0.908, 0.921, 0.959, 0.970, 0.988, 0.986, 0.999,
638 1.010, 1.005, 0.996, 1.005, 1.018, 0.992, 1.042, 1.076, 1.101,
639 1.116, 1.134, 1.157, 1.170, 1.196, 1.208, 1.230, 1.230, 1.039};
640 constexpr
double CpHT_Zee_EndcapA_ZR[N_ZR_EA] = {
641 0.458, 0.621, 0.694, 0.758, 0.798, 0.838, 0.871, 0.900, 0.956, 0.980,
642 1.001, 1.006, 1.016, 1.027, 1.019, 1.038, 1.046, 1.045, 1.054, 1.064,
643 1.064, 1.077, 1.081, 1.089, 1.101, 1.113, 1.102, 1.113, 1.107, 1.113,
644 1.098, 1.105, 1.083, 1.054, 1.036, 0.994, 0.965, 0.887, 0.771, 0.575};
645 constexpr
double CpHT_Zee_EndcapB_ZR[N_ZR_EB] = {
646 1.000, 0.754, 0.926, 0.941, 1.001, 1.001, 0.987, 1.033, 1.054, 1.060,
647 1.057, 1.064, 1.061, 1.067, 1.052, 1.062, 1.045, 1.057, 1.053, 1.047,
648 1.053, 1.050, 1.042, 1.073, 1.050, 1.050, 1.028, 0.972, 0.928, 0.896,
649 0.881, 0.854, 0.828, 0.793, 0.755, 0.652, 0.511, 0.291, 0.481, 1.000};
652 constexpr
double CpHT_Zee_Barrel_TW[44] = {
653 1.233, 1.261, 1.276, 1.296, 1.307, 1.338, 1.349, 1.386, 1.395,
654 1.434, 1.441, 1.448, 1.440, 1.439, 1.425, 1.406, 1.388, 1.363,
655 1.334, 1.320, 1.295, 1.269, 1.240, 1.212, 1.183, 1.144, 1.109,
656 1.073, 1.028, 0.981, 0.938, 0.879, 0.817, 0.752, 0.678, 0.606,
657 0.531, 0.465, 0.428, 0.443, 0.504, 0.553, 0.579, 0.766};
658 constexpr
double CpHT_Zee_EndcapA_TW[44] = {
659 1.236, 1.260, 1.291, 1.292, 1.304, 1.325, 1.354, 1.363, 1.387,
660 1.394, 1.409, 1.415, 1.407, 1.414, 1.405, 1.394, 1.385, 1.357,
661 1.345, 1.331, 1.309, 1.282, 1.252, 1.226, 1.197, 1.176, 1.135,
662 1.097, 1.047, 1.013, 0.946, 0.892, 0.834, 0.756, 0.696, 0.610,
663 0.547, 0.480, 0.444, 0.445, 0.469, 0.513, 0.584, 0.892};
664 constexpr
double CpHT_Zee_EndcapB_TW[44] = {
665 1.186, 1.202, 1.219, 1.246, 1.257, 1.270, 1.291, 1.297, 1.307,
666 1.319, 1.333, 1.338, 1.340, 1.326, 1.314, 1.327, 1.321, 1.310,
667 1.289, 1.279, 1.266, 1.240, 1.222, 1.194, 1.168, 1.153, 1.125,
668 1.091, 1.033, 1.009, 0.963, 0.917, 0.846, 0.802, 0.746, 0.690,
669 0.615, 0.560, 0.514, 0.485, 0.478, 0.473, 0.523, 0.726};
676 constexpr
double CpHT_Zmm_Barrel_SL[N_SL_B] = {
677 1.100, 1.186, 1.209, 1.241, 1.199, 1.174, 1.209, 1.178, 1.150, 1.053,
678 1.033, 1.054, 1.033, 1.029, 1.041, 1.021, 1.027, 0.992, 0.988, 0.983,
679 0.998, 1.022, 1.043, 1.023, 1.027, 1.016, 1.034, 1.009, 1.014, 1.022,
680 1.001, 1.024, 1.003, 1.010, 1.004, 0.983, 0.992, 0.978, 0.981, 1.000,
681 0.984, 0.974, 0.953, 0.941, 0.982, 0.990, 1.005, 0.993, 0.966, 0.997,
682 1.000, 0.988, 0.992, 0.969, 1.003, 0.964, 0.989, 0.961, 0.956, 0.971,
683 0.948, 0.963, 0.951, 0.943, 0.964, 0.965, 0.925, 0.919, 0.918, 0.928,
684 0.919, 0.912, 0.906};
685 constexpr
double CpHT_Zmm_EndcapA_SL[N_SL_EA] = {
686 0.883, 0.898, 0.923, 0.899, 0.892, 0.909, 0.893, 0.925, 0.964, 0.964,
687 0.979, 0.949, 0.944, 0.998, 0.940, 0.937, 0.950, 0.976, 0.972, 0.950,
688 0.998, 1.005, 1.007, 1.028, 1.018, 0.995, 1.006, 0.998, 1.031, 1.047,
689 1.031, 1.015, 1.017, 0.983, 1.018, 1.018, 1.025, 1.033, 1.046, 1.069,
690 1.033, 1.027, 1.006, 0.982, 1.066, 1.080, 1.048, 1.058, 0.955, 0.971,
691 0.973, 0.992, 1.013, 1.046, 1.022, 1.029, 1.040, 1.016, 1.077, 1.024,
692 1.011, 1.095, 1.019, 1.045, 1.001, 1.057, 1.043, 1.022, 1.033, 1.108,
693 1.062, 1.110, 1.090, 1.058, 1.060, 1.099, 1.065, 1.120, 1.077, 1.060,
694 1.024, 1.006, 1.022, 1.007, 1.051, 1.118, 1.079, 1.118, 1.070, 1.064,
695 1.108, 1.127, 1.039, 1.107, 1.088, 1.154};
696 constexpr
double CpHT_Zmm_EndcapB_SL[N_SL_EB] = {
697 0.828, 0.961, 0.941, 0.991, 0.986, 1.015, 0.993, 0.957, 0.892, 1.005,
698 1.100, 1.054, 0.995, 1.042, 1.022, 1.007, 0.918, 1.019, 1.056, 1.034,
699 0.978, 0.981, 1.014, 1.026, 0.988, 0.978, 1.062, 1.085, 1.029, 0.989,
700 1.067, 1.054, 0.978, 0.971, 1.051, 1.114, 1.152, 1.172, 1.034, 1.170,
701 1.055, 0.990, 1.112, 1.047, 1.068, 1.013, 1.089, 1.141, 0.903, 0.960,
702 1.138, 1.218, 0.991, 1.087, 0.997, 1.028, 1.042, 1.155, 1.060, 1.130,
703 1.077, 1.186, 1.006, 1.054};
706 constexpr
double CpHT_Zmm_Barrel_ZR[N_ZR_B] = {
707 0.846, 0.874, 0.880, 0.882, 0.876, 0.887, 0.901, 0.894, 0.894,
708 0.903, 0.902, 0.907, 0.918, 0.934, 0.941, 0.948, 0.963, 0.969,
709 0.990, 0.991, 1.012, 1.019, 1.029, 1.033, 1.072, 1.088, 1.111,
710 1.144, 1.164, 1.192, 1.225, 1.242, 1.271, 1.314, 1.309, 1.078};
711 constexpr
double CpHT_Zmm_EndcapA_ZR[N_ZR_EA] = {
712 0.613, 0.757, 0.783, 0.849, 0.866, 0.886, 0.915, 0.939, 0.930, 0.976,
713 0.969, 0.984, 0.992, 0.979, 1.006, 1.000, 1.005, 1.022, 1.020, 1.030,
714 1.031, 1.036, 1.053, 1.050, 1.050, 1.048, 1.065, 1.071, 1.060, 1.077,
715 1.067, 1.072, 1.070, 1.067, 1.090, 1.059, 1.032, 1.081, 1.011, 0.984};
716 constexpr
double CpHT_Zmm_EndcapB_ZR[N_ZR_EB] = {
717 1.000, 1.375, 0.962, 0.702, 0.869, 0.899, 0.953, 0.905, 1.052, 1.025,
718 1.016, 1.009, 1.033, 0.920, 1.056, 1.031, 1.070, 1.042, 1.052, 1.066,
719 1.024, 1.023, 1.046, 1.046, 1.007, 1.009, 1.009, 1.024, 1.007, 0.993,
720 0.968, 0.997, 0.911, 0.922, 0.938, 0.921, 0.883, 0.653, 0.917, 1.000};
723 constexpr
double CpHT_Zmm_Barrel_TW[N_TW_B] = {
724 1.124, 1.058, 1.065, 1.079, 1.094, 1.124, 1.141, 1.173, 1.207,
725 1.226, 1.250, 1.250, 1.258, 1.249, 1.258, 1.243, 1.229, 1.211,
726 1.206, 1.180, 1.165, 1.138, 1.123, 1.100, 1.074, 1.052, 1.014,
727 0.981, 0.953, 0.896, 0.866, 0.809, 0.776, 0.736, 0.690, 0.644,
728 0.609, 0.615, 0.680, 0.854, 1.094, 1.274, 1.208, 1.219};
729 constexpr
double CpHT_Zmm_EndcapA_TW[N_TW_EA] = {
730 1.210, 1.161, 1.177, 1.201, 1.221, 1.244, 1.279, 1.300, 1.319,
731 1.341, 1.362, 1.372, 1.376, 1.378, 1.384, 1.361, 1.349, 1.334,
732 1.325, 1.284, 1.264, 1.250, 1.223, 1.183, 1.121, 1.104, 1.077,
733 1.016, 0.969, 0.912, 0.863, 0.815, 0.753, 0.662, 0.604, 0.555,
734 0.513, 0.490, 0.511, 0.627, 0.843, 1.019, 0.932, 0.922};
735 constexpr
double CpHT_Zmm_EndcapB_TW[N_TW_EB] = {
736 1.132, 1.150, 1.125, 1.174, 1.170, 1.282, 1.165, 1.244, 1.287,
737 1.293, 1.270, 1.366, 1.317, 1.285, 1.319, 1.291, 1.304, 1.239,
738 1.256, 1.279, 1.212, 1.221, 1.200, 1.174, 1.143, 1.120, 1.022,
739 0.983, 0.938, 0.895, 0.906, 0.826, 0.766, 0.765, 0.664, 0.566,
740 0.553, 0.556, 0.541, 0.626, 0.780, 0.964, 0.817, 0.542};
746 for (
int j = 0; j <
N_GAS; j++) {
752 sizeof CpHT_Zee_Barrel_SL /
sizeof CpHT_Zee_Barrel_SL[0]));
757 CpHT_Zee_EndcapA_SL +
758 sizeof CpHT_Zee_EndcapA_SL /
sizeof CpHT_Zee_EndcapA_SL[0]));
763 CpHT_Zee_EndcapB_SL +
764 sizeof CpHT_Zee_EndcapB_SL /
sizeof CpHT_Zee_EndcapB_SL[0]));
771 sizeof CpHT_Zmm_Barrel_SL /
sizeof CpHT_Zmm_Barrel_SL[0]));
776 CpHT_Zmm_EndcapA_SL +
777 sizeof CpHT_Zmm_EndcapA_SL /
sizeof CpHT_Zmm_EndcapA_SL[0]));
782 CpHT_Zmm_EndcapB_SL +
783 sizeof CpHT_Zmm_EndcapB_SL /
sizeof CpHT_Zmm_EndcapB_SL[0]));
790 sizeof CpHT_Zee_Barrel_ZR /
sizeof CpHT_Zee_Barrel_ZR[0]));
792 N_ZR_EA, 630.0, 1030.0,
795 CpHT_Zee_EndcapA_ZR +
796 sizeof CpHT_Zee_EndcapA_ZR /
sizeof CpHT_Zee_EndcapA_ZR[0]));
798 N_ZR_EB, 630.0, 1030.0,
801 CpHT_Zee_EndcapB_ZR +
802 sizeof CpHT_Zee_EndcapB_ZR /
sizeof CpHT_Zee_EndcapB_ZR[0]));
809 sizeof CpHT_Zmm_Barrel_ZR /
sizeof CpHT_Zmm_Barrel_ZR[0]));
811 N_ZR_EA, 630.0, 1030.0,
814 CpHT_Zmm_EndcapA_ZR +
815 sizeof CpHT_Zmm_EndcapA_ZR /
sizeof CpHT_Zmm_EndcapA_ZR[0]));
817 N_ZR_EB, 630.0, 1030.0,
820 CpHT_Zmm_EndcapB_ZR +
821 sizeof CpHT_Zmm_EndcapB_ZR /
sizeof CpHT_Zmm_EndcapB_ZR[0]));
828 sizeof CpHT_Zee_Barrel_TW /
sizeof CpHT_Zee_Barrel_TW[0]));
833 CpHT_Zee_EndcapA_TW +
834 sizeof CpHT_Zee_EndcapA_TW /
sizeof CpHT_Zee_EndcapA_TW[0]));
839 CpHT_Zee_EndcapB_TW +
840 sizeof CpHT_Zee_EndcapB_TW /
sizeof CpHT_Zee_EndcapB_TW[0]));
847 sizeof CpHT_Zmm_Barrel_TW /
sizeof CpHT_Zmm_Barrel_TW[0]));
852 CpHT_Zmm_EndcapA_TW +
853 sizeof CpHT_Zmm_EndcapA_TW /
sizeof CpHT_Zmm_EndcapA_TW[0]));
858 CpHT_Zmm_EndcapB_TW +
859 sizeof CpHT_Zmm_EndcapB_TW /
sizeof CpHT_Zmm_EndcapB_TW[0]));