48 :
h_de_x(new TH1D(
"",
";#Deltax (mm)", 1000, -1., +1.)),
49 h_de_y(new TH1D(
"",
";#Deltay (mm)", 1000, -1., +1.)) {}
75 chiSqCut_(iConfig.getParameter<double>(
"chiSqCut")),
76 outputFile_(iConfig.getParameter<
string>(
"outputFile")) {}
93 for (
const auto&
pr : *hRecoProtons) {
100 for (
const auto& tr :
pr.contributingLocalTracks()) {
102 unsigned int rpDecId = rpId.
arm() * 100 + rpId.station() * 10 + rpId.rp();
116 func.transport(k_in_beam, k_out_beam);
119 -
pr.vx(), -
pr.thetaX(),
pr.vy(),
pr.thetaY(),
pr.xi()};
121 func.transport(k_in, k_out);
124 const double de_x = (k_out.
x - k_out_beam.
x) * 10. - tr->x();
125 const double de_y = (k_out.
y - k_out_beam.
y) * 10. - tr->y();
135 auto f_out = std::make_unique<TFile>(
outputFile_.c_str(),
"recreate");
138 gDirectory = f_out->mkdir(Form(
"%u",
p.first));
void fill(double de_x, double de_y)
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
std::unique_ptr< TH1D > h_de_y
edm::EDGetTokenT< reco::ForwardProtonCollection > tokenRecoProtons_
std::unique_ptr< TH1D > h_de_x
CTPPSProtonReconstructionValidator(const edm::ParameterSet &)
edm::ESGetToken< LHCInterpolatedOpticalFunctionsSetCollection, CTPPSInterpolatedOpticsRcd > opticsESToken_
#define DEFINE_FWK_MODULE(type)
void analyze(const edm::Event &, const edm::EventSetup &) override
std::map< unsigned int, RPPlots > rp_plots_
proton kinematics description
Base class for CTPPS detector IDs.
std::vector< ForwardProton > ForwardProtonCollection
Collection of ForwardProton objects.