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.