Go to the documentation of this file.
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;
77 const std::map<unsigned int, RPOpticsData> *
m_rp_optics;
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);
double x0
beam horizontal position, cm
double operator()(const double *parameters) const
const LHCInterpolatedOpticalFunctionsSet * optics
static double newtonGoalFcn(double xi, double x_N, double x_F, const RPOpticsData &i_N, const RPOpticsData &i_F)
ChiSquareCalculator()=default
void init(const LHCInterpolatedOpticalFunctionsSetCollection &opticalFunctions)
double la1
slope for linear approximation of
double la0
intercept for linear approximation of
reco::ForwardProton reconstructFromMultiRP(const CTPPSLocalTrackLiteRefVector &tracks, const LHCInfo &lhcInfo, std::ostream &os) const
run proton reconstruction using multiple-RP strategy
std::shared_ptr< const TSpline3 > s_x_d_vs_xi
std::unique_ptr< ROOT::Fit::Fitter > fitter_
fitter object
reco::ForwardProton reconstructFromSingleRP(const CTPPSLocalTrackLiteRef &track, const LHCInfo &lhcInfo, std::ostream &os) const
run proton reconstruction using single-RP strategy
std::unique_ptr< ChiSquareCalculator > chiSquareCalculator_
object to calculate chi^2
static void doLinearFit(const std::vector< double > &vx, const std::vector< double > &vy, double &b, double &a)
std::shared_ptr< const TSpline3 > s_xi_vs_x_d
std::shared_ptr< const TSpline3 > s_v_y_vs_xi
~ProtonReconstructionAlgorithm()=default
ProtonReconstructionAlgorithm(bool fit_vtx_y, bool improved_estimate, const std::string &multiRPAlgorithm, unsigned int verbosity)
std::shared_ptr< const TSpline3 > s_L_x_vs_xi
Set of optical functions corresponding to one scoring plane along LHC, including splines for interpol...
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
double ch0
intercept for linear approximation of
std::shared_ptr< const TSpline3 > s_L_y_vs_xi
class for calculation of chi^2
std::shared_ptr< const TSpline3 > s_y_d_vs_xi
optics data associated with 1 RP
double y0
beam vertical position, cm
double ch1
slope for linear approximation of
const std::map< unsigned int, RPOpticsData > * m_rp_optics
std::map< unsigned int, RPOpticsData > m_rp_optics_
map: RP id --> optics data
enum ProtonReconstructionAlgorithm::@987 multi_rp_algorithm_
const CTPPSLocalTrackLiteRefVector * tracks
bool useImprovedInitialEstimate_