4 #ifndef TrackMomentumCalculator_H 5 #define TrackMomentumCalculator_H 13 #include "TGraphErrors.h" 15 #include "TMatrixDSym.h" 16 #include "TMatrixDSymEigen.h" 17 #include "TPolyLine3D.h" 21 #include "Math/Factory.h" 22 #include "Math/Minimizer.h" 23 #include "Minuit2/FCNBase.h" 24 #include "Minuit2/FunctionMinimum.h" 25 #include "Minuit2/Minuit2Minimizer.h" 26 #include "Minuit2/MnMigrad.h" 27 #include "Minuit2/MnPrint.h" 28 #include "Minuit2/MnUserParameterState.h" 29 #include "Minuit2/MnUserParameters.h" 52 std::vector<float>
const& yyy,
53 std::vector<float>
const& zzz);
56 std::vector<float>
x,
nx;
57 std::vector<float>
y,
ny;
58 std::vector<float>
z,
nz;
62 std::optional<Segments>
getSegTracks_(std::vector<float>
const& xxx,
63 std::vector<float>
const& yyy,
64 std::vector<float>
const& zzz,
71 std::vector<float>& ej,
72 std::vector<float>& th,
73 std::vector<float>& ind,
77 double my_g(
double xx,
double Q,
double s)
const;
80 std::vector<float>
const& dEj,
81 std::vector<float>
const& dthij,
82 std::vector<float>
const& ind,
83 double x0,
double x1)
const;
125 #endif // TrackMomentumCalculator_H
double my_g(double xx, double Q, double s) const
double GetMomentumMultiScatterChi2(art::Ptr< recob::Track > const &trk)
int getDeltaThetaij_(std::vector< float > &ei, std::vector< float > &ej, std::vector< float > &th, std::vector< float > &ind, Segments const &segments, double thick) const
Float_t x1[n_points_granero]
std::optional< Segments > getSegTracks_(std::vector< float > const &xxx, std::vector< float > const &yyy, std::vector< float > const &zzz, double seg_size)
Provides recob::Track data product.
double find_angle(double vz, double vy) const
std::tuple< double, double, double > getDeltaThetaRMS_(Segments const &segments, double thick) const
std::vector< float > steps
double GetMuMultiScatterLLHD3(art::Ptr< recob::Track > const &trk, bool dir)
TrackMomentumCalculator(double minLength=100.0, double maxLength=1350.0)
double my_mcs_llhd(std::vector< float > const &dEi, std::vector< float > const &dEj, std::vector< float > const &dthij, std::vector< float > const &ind, double x0, double x1) const
TVector3 GetMultiScatterStartingPoint(art::Ptr< recob::Track > const &trk)
double GetMomentumMultiScatterLLHD(art::Ptr< recob::Track > const &trk)
TPolyLine3D * gr_reco_xyz
double GetTrackMomentum(double trkrange, int pdg) const
bool plotRecoTracks_(std::vector< float > const &xxx, std::vector< float > const &yyy, std::vector< float > const &zzz)