4 #ifndef TrackMomentumCalculator_H 5 #define TrackMomentumCalculator_H 35 std::vector<float>
const& yyy,
36 std::vector<float>
const& zzz);
39 std::vector<float>
x,
nx;
40 std::vector<float>
y,
ny;
41 std::vector<float>
z,
nz;
45 std::optional<Segments>
getSegTracks_(std::vector<float>
const& xxx,
46 std::vector<float>
const& yyy,
47 std::vector<float>
const& zzz,
54 std::vector<float>& ej,
55 std::vector<float>& th,
56 std::vector<float>& ind,
60 double my_g(
double xx,
double Q,
double s)
const;
63 std::vector<float>
const& dEj,
64 std::vector<float>
const& dthij,
65 std::vector<float>
const& ind,
66 double x0,
double x1)
const;
108 #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
std::optional< Segments > getSegTracks_(std::vector< float > const &xxx, std::vector< float > const &yyy, std::vector< float > const &zzz, double seg_size)
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)
Provides recob::Track data product.
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)