1 #ifndef GEOMETRIC3DVERTEXFITTER_H 2 #define GEOMETRIC3DVERTEXFITTER_H 57 Comment(
"Debugging level: 0 for no printouts, 1 for minimal, 2 for full.")
61 Comment(
"Cut on maximum impact parameter significance to use the track in the vertex fit.")
67 bool operator()(std::reference_wrapper<const recob::Track> a, std::reference_wrapper<const recob::Track> b)
const {
68 return ( (a.get().Trajectory().Start()-vtxPos_).Mag2()<(b.get().Trajectory().Start()-vtxPos_).Mag2() );
76 : par1(p1), par2(p2), cov1(c1), cov2(c2), plane(p) {}
86 prop = std::make_unique<TrackStatePropagator>(p);
117 std::unique_ptr<TrackStatePropagator>
prop;
double sipUnbiased(const VertexWrapper &vtx, const recob::Track &tk) const
std::pair< TrackState, double > weightedAverageState(ParsCovsOnPlane &pcop) const
VertexWrapper closestPointAlongTrack(const recob::Track &track, const recob::Track &other) const
const recob::tracking::Point_t & vtxPos_
TracksFromVertexSorter(const recob::tracking::Point_t &vtxPos)
VertexWrapper fitTracksWithVtx(const std::vector< art::Ptr< recob::Track > > &tracks, const recob::tracking::Point_t &vtxPos) const
ParsCovsOnPlane(const SVector2 &p1, const SVector2 &p2, const SMatrixSym22 &c1, const SMatrixSym22 &c2, const recob::tracking::Plane &p)
ParsCovsOnPlane getParsCovsOnPlane(const trkf::VertexWrapper &vtx, const recob::Track &tk) const
cout<< "-> Edep in the target
Wrapper class to facilitate vertex production.
recob::tracking::SVector2 SVector2
recob::tracking::SMatrixSym22 SMatrixSym22
double chi2(const VertexWrapper &vtx, const recob::Track &tk) const
ROOT::Math::SMatrix< Double32_t, 3, 3, ROOT::Math::MatRepSym< Double32_t, 3 > > SMatrixSym33
VertexWrapper unbiasedVertex(const VertexWrapper &vtx, const recob::Track &tk) const
fhicl::Atom< double > sipCut
ROOT::Math::SVector< Double32_t, 3 > SVector3
void addTrackToVertex(VertexWrapper &vtx, const recob::Track &tk) const
recob::tracking::SVector3 SVector3
std::vector< recob::VertexAssnMeta > computeMeta(const VertexWrapper &vtx)
fhicl::Atom< int > debugLevel
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
3D vertex fitter based on the geometric properties (start position, direction, covariance) of the tra...
VertexWrapper fitTracks(const std::vector< art::Ptr< recob::Track > > &arttracks) const
double pDistUnbiased(const VertexWrapper &vtx, const recob::Track &tk) const
ROOT::Math::SVector< Double32_t, 2 > SVector2
std::unique_ptr< TrackStatePropagator > prop
VertexWrapper fitTwoTracks(const recob::Track &tk1, const recob::Track &tk2) const
Class defining a plane for tracking. It provides various functionalities to convert track parameters ...
bool operator()(std::reference_wrapper< const recob::Track > a, std::reference_wrapper< const recob::Track > b) const
Geometric3DVertexFitter(const fhicl::Table< Config > &o, const fhicl::Table< TrackStatePropagator::Config > &p)
double ipUnbiased(const VertexWrapper &vtx, const recob::Track &tk) const
double pDist(const VertexWrapper &vtx, const recob::Track &tk) const
double sip(const VertexWrapper &vtx, const recob::Track &tk) const
ROOT::Math::SMatrix< Double32_t, 2, 2, ROOT::Math::MatRepSym< Double32_t, 2 > > SMatrixSym22
recob::tracking::SMatrixSym33 SMatrixSym33
double ipErr(const VertexWrapper &vtx, const recob::Track &tk) const
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< Coord_t >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space. See recob::tracking::Coord_t for more detai...
double chi2Unbiased(const VertexWrapper &vtx, const recob::Track &tk) const
recob::tracking::Plane plane
VertexWrapper fitPFP(size_t iPF, const art::ValidHandle< std::vector< recob::PFParticle > > &inputPFParticle, const std::unique_ptr< art::FindManyP< recob::Track > > &assocTracks) const
double ipErrUnbiased(const VertexWrapper &vtx, const recob::Track &tk) const
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track:
double ip(const VertexWrapper &vtx, const recob::Track &tk) const
std::vector< std::reference_wrapper< const recob::Track > > TrackRefVec