47 :
h_de_x(new TH1D(
"",
";#Deltax (mm)", 1000, -1., +1.)),
48 h_de_y(new TH1D(
"",
";#Deltay (mm)", 1000, -1., +1.)) {}
61 std::map<unsigned int, RPPlots>
rp_plots_;
73 chiSqCut_(iConfig.getParameter<double>(
"chiSqCut")),
74 outputFile_(iConfig.getParameter<
string>(
"outputFile")) {}
84 if (hOpticalFunctions->empty())
92 for (
const auto&
pr : *hRecoProtons) {
99 for (
const auto& tr :
pr.contributingLocalTracks()) {
101 unsigned int rpDecId =
rpId.arm() * 100 +
rpId.station() * 10 +
rpId.rp();
108 auto it = hOpticalFunctions->find(
rpId);
109 if (it == hOpticalFunctions->end())
115 it->second.transport(k_in_beam, k_out_beam);
118 -
pr.vx(), -
pr.thetaX(),
pr.vy(),
pr.thetaY(),
pr.xi()};
120 it->second.transport(k_in, k_out);
123 const double de_x = (k_out.
x - k_out_beam.
x) * 10. - tr->x();
124 const double de_y = (k_out.
y - k_out_beam.
y) * 10. - tr->y();
134 auto f_out = std::make_unique<TFile>(
outputFile_.c_str(),
"recreate");
137 gDirectory = f_out->mkdir(Form(
"%u",
p.first));