Class for Maximum Likelihood fit of Multiple Coulomb Scattering angles between segments within a Track or Trajectory. More...
#include <TrajectoryMCSFitterICARUS.h>
Classes | |
| struct | Config |
| struct | ScanResult |
Public Types | |
| using | Parameters = fhicl::Table< Config > |
Public Member Functions | |
| TrajectoryMCSFitterICARUS (int pIdHyp, int minNSegs, double segLen, int minHitsPerSegment, int nElossSteps, int eLossMode, double pMin, double pMax, double pStep, double angResol) | |
| TrajectoryMCSFitterICARUS (const Parameters &p) | |
| recob::MCSFitResult | fitMcs (const recob::TrackTrajectory &traj, bool momDepConst=true) const |
| recob::MCSFitResult | fitMcs (const recob::Track &track, bool momDepConst=true) const |
| recob::MCSFitResult | fitMcs (const recob::Trajectory &traj, bool momDepConst=true) const |
| recob::MCSFitResult | fitMcs (const recob::TrackTrajectory &traj, int pid, bool momDepConst=true) const |
| recob::MCSFitResult | fitMcs (const recob::Track &track, int pid, bool momDepConst=true) const |
| recob::MCSFitResult | fitMcs (const recob::Trajectory &traj, int pid, bool momDepConst=true) const |
| void | breakTrajInSegments (const recob::TrackTrajectory &traj, std::vector< size_t > &breakpoints, std::vector< float > &segradlengths, std::vector< float > &cumseglens) const |
| void | findSegmentBarycenter (const recob::TrackTrajectory &traj, const size_t firstPoint, const size_t lastPoint, recob::tracking::Vector_t &pcdir) const |
| void | linearRegression (const recob::TrackTrajectory &traj, const size_t firstPoint, const size_t lastPoint, recob::tracking::Vector_t &pcdir) const |
| double | mcsLikelihood (double p, double theta0x, std::vector< float > &dthetaij, std::vector< float > &seg_nradl, std::vector< float > &cumLen, bool fwd, bool momDepConst, int pid) const |
| double | GetOptimalSegLen (const double guess_p, const int n_points, const int plane, const double length_travelled) const |
| double | computeResidual (int i, double &alfa) const |
| void | ComputeD3P () |
| const ScanResult | doLikelihoodScan (std::vector< float > &dtheta, std::vector< float > &seg_nradlengths, std::vector< float > &cumLen, bool fwdFit, bool momDepConst, int pid) const |
| double | MomentumDependentConstant (const double p) const |
| double | mass (int pid) const |
| double | energyLossBetheBloch (const double mass, const double e2) const |
| double | energyLossLandau (const double mass2, const double E2, const double x) const |
| double | GetE (const double initial_E, const double length_travelled, const double mass) const |
| void | set2DHits (std::vector< recob::Hit > h) |
Private Attributes | |
| int | pIdHyp_ |
| int | minNSegs_ |
| double | segLen_ |
| int | minHitsPerSegment_ |
| int | nElossSteps_ |
| int | eLossMode_ |
| double | pMin_ |
| double | pMax_ |
| double | pStep_ |
| double | angResol_ |
| std::vector< recob::Hit > | hits2d |
| float | d3p |
Class for Maximum Likelihood fit of Multiple Coulomb Scattering angles between segments within a Track or Trajectory.
Class for Maximum Likelihood fit of Multiple Coulomb Scattering angles between segments within a Track or Trajectory.
Inputs are: a Track or Trajectory, and various fit parameters (pIdHypothesis, minNumSegments, segmentLength, pMin, pMax, pStep, angResol)
Outputs are: a recob::MCSFitResult, containing: resulting momentum, momentum uncertainty, and best likelihood value (both for fwd and bwd fit); vector of segment (radiation) lengths, vector of scattering angles, and PID hypothesis used in the fit.
For configuration options see TrajectoryMCSFitterICARUS::Configs
Definition at line 34 of file TrajectoryMCSFitterICARUS.h.
| using trkf::TrajectoryMCSFitterICARUS::Parameters = fhicl::Table<Config> |
Definition at line 93 of file TrajectoryMCSFitterICARUS.h.
|
inline |
Definition at line 95 of file TrajectoryMCSFitterICARUS.h.
|
inlineexplicit |
Definition at line 107 of file TrajectoryMCSFitterICARUS.h.
| void TrajectoryMCSFitterICARUS::breakTrajInSegments | ( | const recob::TrackTrajectory & | traj, |
| std::vector< size_t > & | breakpoints, | ||
| std::vector< float > & | segradlengths, | ||
| std::vector< float > & | cumseglens | ||
| ) | const |
Definition at line 112 of file TrajectoryMCSFitterICARUS.cxx.
| void TrajectoryMCSFitterICARUS::ComputeD3P | ( | ) |
for each triplet of consecutive hits, save absolute value of residuale
Definition at line 419 of file TrajectoryMCSFitterICARUS.cxx.
| double TrajectoryMCSFitterICARUS::computeResidual | ( | int | i, |
| double & | alfa | ||
| ) | const |
Definition at line 457 of file TrajectoryMCSFitterICARUS.cxx.
| const TrajectoryMCSFitterICARUS::ScanResult TrajectoryMCSFitterICARUS::doLikelihoodScan | ( | std::vector< float > & | dtheta, |
| std::vector< float > & | seg_nradlengths, | ||
| std::vector< float > & | cumLen, | ||
| bool | fwdFit, | ||
| bool | momDepConst, | ||
| int | pid | ||
| ) | const |
Definition at line 151 of file TrajectoryMCSFitterICARUS.cxx.
| double TrajectoryMCSFitterICARUS::energyLossBetheBloch | ( | const double | mass, |
| const double | e2 | ||
| ) | const |
Definition at line 337 of file TrajectoryMCSFitterICARUS.cxx.
| double TrajectoryMCSFitterICARUS::energyLossLandau | ( | const double | mass2, |
| const double | E2, | ||
| const double | x | ||
| ) | const |
Definition at line 319 of file TrajectoryMCSFitterICARUS.cxx.
| void TrajectoryMCSFitterICARUS::findSegmentBarycenter | ( | const recob::TrackTrajectory & | traj, |
| const size_t | firstPoint, | ||
| const size_t | lastPoint, | ||
| recob::tracking::Vector_t & | pcdir | ||
| ) | const |
Definition at line 196 of file TrajectoryMCSFitterICARUS.cxx.
|
inline |
Definition at line 110 of file TrajectoryMCSFitterICARUS.h.
|
inline |
Definition at line 111 of file TrajectoryMCSFitterICARUS.h.
|
inline |
Definition at line 112 of file TrajectoryMCSFitterICARUS.h.
| recob::MCSFitResult TrajectoryMCSFitterICARUS::fitMcs | ( | const recob::TrackTrajectory & | traj, |
| int | pid, | ||
| bool | momDepConst = true |
||
| ) | const |
Definition at line 15 of file TrajectoryMCSFitterICARUS.cxx.
|
inline |
Definition at line 115 of file TrajectoryMCSFitterICARUS.h.
|
inline |
Definition at line 116 of file TrajectoryMCSFitterICARUS.h.
| double TrajectoryMCSFitterICARUS::GetE | ( | const double | initial_E, |
| const double | length_travelled, | ||
| const double | mass | ||
| ) | const |
Definition at line 361 of file TrajectoryMCSFitterICARUS.cxx.
| double TrajectoryMCSFitterICARUS::GetOptimalSegLen | ( | const double | guess_p, |
| const int | n_points, | ||
| const int | plane, | ||
| const double | length_travelled | ||
| ) | const |
Definition at line 383 of file TrajectoryMCSFitterICARUS.cxx.
| void TrajectoryMCSFitterICARUS::linearRegression | ( | const recob::TrackTrajectory & | traj, |
| const size_t | firstPoint, | ||
| const size_t | lastPoint, | ||
| recob::tracking::Vector_t & | pcdir | ||
| ) | const |
Definition at line 210 of file TrajectoryMCSFitterICARUS.cxx.
|
inline |
Definition at line 146 of file TrajectoryMCSFitterICARUS.h.
| double TrajectoryMCSFitterICARUS::mcsLikelihood | ( | double | p, |
| double | theta0x, | ||
| std::vector< float > & | dthetaij, | ||
| std::vector< float > & | seg_nradl, | ||
| std::vector< float > & | cumLen, | ||
| bool | fwd, | ||
| bool | momDepConst, | ||
| int | pid | ||
| ) | const |
Definition at line 262 of file TrajectoryMCSFitterICARUS.cxx.
|
inline |
Definition at line 140 of file TrajectoryMCSFitterICARUS.h.
|
inline |
Definition at line 157 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 170 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 173 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 166 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 172 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 164 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 162 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 165 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 161 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 168 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 167 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 169 of file TrajectoryMCSFitterICARUS.h.
|
private |
Definition at line 163 of file TrajectoryMCSFitterICARUS.h.
1.8.5