33 fMs_mom =
new TF1(
"",
"expo(0)+expo(2)+expo(4)");
34 fMs_mom->SetParameters(4.40541
e+00, -5.52436
e+00, 2.35058
e+00, -1.02703
e+00,
35 9.55032
e-01, -1.48500
e-01);
47 TF1 *fMs_thickness_17 =
new TF1(
"",
"pol1");
48 fMs_thickness_17->SetParameters(4.5, 0.0357143);
57 const double theta_rad)
const {
61 double theta = theta_rad * TMath::RadToDeg();
62 truth_pid =
abs(truth_pid);
64 double track_err = 0.326;
84 for (
int i = 0; i <
max; i++) {
96 double ms_mom_err =
fMs_mom->Eval(p);
98 double alpha = (theta < 90) ? 90 - theta : theta - 90;
102 double ms_err = 0.31 * ms_mom_err * ms_thick_frac;
113 double ctr =
fTrrMap->GetBinContent(bin);
114 double cctr = sqrt(ctr * ctr + track_err * track_err + ms_err * ms_err) *
119 acos(sqrt(p * p +
fMass[pid] *
fMass[pid]) / p / 1.46907);
120 true_cangle += gRandom->Gaus(0, cctr);
124 if (isnan(true_cangle))
127 double cangle,
sum = 0, fsum = 0;
130 for (
int i = 0; i <
max; i++) {
131 cangle = acos(sqrt(p * p +
fMass[i] *
fMass[i]) / p / 1.46907);
137 delta[i] = fabs(cangle - true_cangle);
139 info.
sigma[i] = (cangle - true_cangle) / cctr;
146 for (
int i = 0; i <
max; i++) {
151 for (
int i = 0; i <
max; i++)
159 TFile *
file = TFile::Open(name.c_str());
162 file->GetObject(
"htrr",
fTrrMap);