32 const double theta_rad)
const {
37 const int abs_truth_pid =
abs(truth_pid);
38 const double eta = -log(tan(0.5 * theta_rad));
43 std::cout << __PRETTY_FUNCTION__ <<
" " <<
mName
44 <<
": not processing out of acceptance tracks eta = " << eta
45 <<
" etaMin() = " <<
etaMin() <<
" etaMax() = " <<
etaMax()
52 const double Nsigma_Kp =
numSigma(eta, momentum,
k_p);
55 std::cout << __PRETTY_FUNCTION__ <<
" " <<
mName
56 <<
": processing tracks momentum = " << momentum
57 <<
" eta = " << eta <<
" Nsigma_piK = " << Nsigma_piK
58 <<
" Nsigma_Kp = " << Nsigma_Kp << std::endl;
60 const double pion_sigma_space_ring_radius = +Nsigma_piK;
61 const double kaon_sigma_space_ring_radius = 0;
62 const double proton_sigma_space_ring_radius = -Nsigma_Kp;
64 double sigma_space_ring_radius = gRandom->Gaus(0, 1);
66 sigma_space_ring_radius += pion_sigma_space_ring_radius;
68 sigma_space_ring_radius += kaon_sigma_space_ring_radius;
70 sigma_space_ring_radius += proton_sigma_space_ring_radius;
73 -0.5 * pow(sigma_space_ring_radius - pion_sigma_space_ring_radius, 2);
75 -0.5 * pow(sigma_space_ring_radius - kaon_sigma_space_ring_radius, 2);
77 -0.5 * pow(sigma_space_ring_radius - proton_sigma_space_ring_radius, 2);
116 double angle[5] = {5., 10., 15., 20., 25.};
117 double chromatic[5] = {0.00260572, 0.00223447, 0.00229996, 0.00237615,
119 double emission[5] = {0.000658453, 0.000297004, 0.00014763, 0.000196477,
121 double pixel[5] = {0.000502646, 0.000575427, 0.000551095, 0.000555055,
123 double field[5] = {8.13634e-05, 6.41901e-05, 3.92289e-05, 9.76800e-05,
125 double tracking[5] = {0.000350351, 0.000306691, 0.000376006, 0.000401814,
148 double angle[5] = {5., 10., 15., 20., 25.};
149 double chromatic[5] = {0.000516327, 0.000527914, 0.000525467, 0.000515349,
151 double emission[5] = {0.001439090, 0.000718037, 0.000656786, 0.000946782,
153 double pixel[5] = {0.000480520, 0.000533282, 0.000564187, 0.000577872,
155 double field[5] = {8.60521e-05, 7.64798e-05, 0.000167358, 0.000475598,
157 double tracking[5] = {0.000389136, 0.000328530, 0.000402517, 0.000417901,
168 auto theta = 2. * atan(exp(-eta)) * 57.295780;
178 emission * emission + field * field + tracking * tracking);
182 return sqrt(sigma1 * sigma1 / ndet + sigma2 * sigma2);
187 double mass1(0), mass2(0);
206 std::cout << __PRETTY_FUNCTION__ <<
" " <<
mName
207 <<
": processing tracks momentum = " << p <<
" eta = " << eta
208 <<
" thr1 = " << thr1 <<
" thr2 = " << thr2 << std::endl;
211 if (p > thr1 && p > thr2) {
214 std::cout << __PRETTY_FUNCTION__ <<
" " <<
mName
215 <<
": processing tracks momentum = " << p <<
" eta = " << eta
218 <<
" cherenkovAngleSigma(eta, p, mass1) = "