7 #ifndef RecoPPS_ProtonReconstruction_ProtonReconstructionAlgorithm_h
8 #define RecoPPS_ProtonReconstruction_ProtonReconstructionAlgorithm_h
20 #include "Fit/Fitter.h"
22 #include <unordered_map>
29 bool improved_estimate,
40 std::ostream &os)
const;
45 std::ostream &os)
const;
81 std::unique_ptr<ROOT::Fit::Fitter>
fitter_;
86 static void doLinearFit(
const std::vector<double> &vx,
const std::vector<double> &vy,
double &
b,
double &
a);
std::unique_ptr< ROOT::Fit::Fitter > fitter_
fitter object
std::shared_ptr< const TSpline3 > s_xi_vs_x_d
optics data associated with 1 RP
class for calculation of chi^2
reco::ForwardProton reconstructFromSingleRP(const CTPPSLocalTrackLiteRef &track, const LHCInfo &lhcInfo, std::ostream &os) const
run proton reconstruction using single-RP strategy
auto const & tracks
cannot be loose
std::map< unsigned int, RPOpticsData > m_rp_optics_
map: RP id –> optics data
double y0
beam vertical position, cm
std::shared_ptr< const TSpline3 > s_x_d_vs_xi
const std::map< unsigned int, RPOpticsData > * m_rp_optics
void init(const LHCInterpolatedOpticalFunctionsSetCollection &opticalFunctions)
enum ProtonReconstructionAlgorithm::@1005 multi_rp_algorithm_
std::unique_ptr< ChiSquareCalculator > chiSquareCalculator_
object to calculate chi^2
ChiSquareCalculator()=default
bool useImprovedInitialEstimate_
double ch0
intercept for linear approximation of
ProtonReconstructionAlgorithm(bool fit_vtx_y, bool improved_estimate, const std::string &multiRPAlgorithm, unsigned int verbosity)
double x0
beam horizontal position, cm
static double newtonGoalFcn(double xi, double x_N, double x_F, const RPOpticsData &i_N, const RPOpticsData &i_F)
double la1
slope for linear approximation of
reco::ForwardProton reconstructFromMultiRP(const CTPPSLocalTrackLiteRefVector &tracks, const LHCInfo &lhcInfo, std::ostream &os) const
run proton reconstruction using multiple-RP strategy
double operator()(const double *parameters) const
static void doLinearFit(const std::vector< double > &vx, const std::vector< double > &vy, double &b, double &a)
~ProtonReconstructionAlgorithm()=default
const CTPPSLocalTrackLiteRefVector * tracks
double la0
intercept for linear approximation of
std::shared_ptr< const TSpline3 > s_v_y_vs_xi
Set of optical functions corresponding to one scoring plane along LHC, including splines for interpol...
std::shared_ptr< const TSpline3 > s_L_y_vs_xi
const LHCInterpolatedOpticalFunctionsSet * optics
double ch1
slope for linear approximation of
std::shared_ptr< const TSpline3 > s_L_x_vs_xi
std::shared_ptr< const TSpline3 > s_y_d_vs_xi