|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef TRKVKALVRTFITTER_ITRKVKALVRTFITTER_H
12 #define TRKVKALVRTFITTER_ITRKVKALVRTFITTER_H
35 static const InterfaceID IID_ITrkVKalVrtFitter(
"ITrkVKalVrtFitter", 1, 0);
39 static const InterfaceID&
interfaceID() {
return IID_ITrkVKalVrtFitter;}
46 virtual std::unique_ptr<IVKalState>
makeState(
const EventContext& ctx)
const = 0;
51 virtual std::unique_ptr<IVKalState>
makeState()
const
53 return makeState(Gaudi::Hive::currentContext());
57 const std::vector<const xAOD::TrackParticle*>& listC,
58 const std::vector<const xAOD::NeutralParticle*>& listN,
60 TLorentzVector& Momentum,
63 std::vector<double>& Chi2PerTrk,
64 std::vector<std::vector<double>>& TrkAtVrt,
67 bool ifCovV0 =
false)
const = 0;
71 TLorentzVector& Momentum,
74 std::vector<double>& Chi2PerTrk,
75 std::vector<std::vector<double>>& TrkAtVrt,
78 bool ifCovV0 =
false)
const = 0;
81 const std::vector<const TrackParameters*>& listC,
82 const std::vector<const NeutralParameters*>& listN,
84 TLorentzVector& Momentum,
87 std::vector<double>& Chi2PerTrk,
88 std::vector<std::vector<double>>& TrkAtVrt,
91 bool ifCovV0 =
false)
const = 0;
95 const TLorentzVector& Momentum,
96 const std::vector<double>& CovVrtMom,
97 const long int& Charge,
99 std::vector<double>& CovPerigee,
104 std::span<const xAOD::TrackParticle* const>
list,
109 const std::vector<const TrackParameters*>&
list,
114 virtual std::unique_ptr<Perigee>
116 const std::vector<double>& VKCov,
149 double,
double,
double,
158 const long int Charge,
159 std::vector<double>& Impact,
160 std::vector<double>& ImpactError,
165 const long int Charge,
166 std::vector<double>& Impact,
167 std::vector<double>& ImpactError,
172 const long int Charge,
173 std::vector<double>& Impact,
174 std::vector<double>& ImpactError)
const = 0;
178 const long int Charge,
179 std::vector<double>& Impact,
180 std::vector<double>& ImpactError)
const = 0;
std::array< float, 7 > Weights
virtual std::unique_ptr< Perigee > CreatePerigee(const std::vector< double > &VKPerigee, const std::vector< double > &VKCov, IVKalState &istate) const =0
virtual void setApproximateVertex(double, double, double, IVKalState &istate) const =0
virtual double VKalGetImpact(const Perigee *, const Amg::Vector3D &Vertex, const long int Charge, std::vector< double > &Impact, std::vector< double > &ImpactError, IVKalState &istate) const =0
virtual void setMassForConstraint(double, IVKalState &istate) const =0
virtual void setMassInputParticles(const std::vector< double > &, IVKalState &istate) const =0
virtual double VKalGetImpact(const xAOD::TrackParticle *, const Amg::Vector3D &Vertex, const long int Charge, std::vector< double > &Impact, std::vector< double > &ImpactError) const =0
virtual StatusCode VKalVrtFitFast(const std::vector< const TrackParameters * > &list, Amg::Vector3D &Vertex, IVKalState &istate) const =0
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
static const InterfaceID & interfaceID()
virtual StatusCode VKalGetTrkWeights(std::vector< double > &Weights, const IVKalState &istate) const =0
virtual void setVertexForConstraint(double, double, double, IVKalState &istate) const =0
virtual void setCnstType(int, IVKalState &istate) const =0
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual std::unique_ptr< IVKalState > makeState(const EventContext &ctx) const =0
virtual StatusCode VKalGetMassError(double &Mass, double &MassError, const IVKalState &istate) const =0
virtual StatusCode VKalVrtFit(const std::vector< const TrackParameters * > &listC, const std::vector< const NeutralParameters * > &listN, Amg::Vector3D &Vertex, TLorentzVector &Momentum, long int &Charge, std::vector< double > &ErrorMatrix, std::vector< double > &Chi2PerTrk, std::vector< std::vector< double >> &TrkAtVrt, double &Chi2, IVKalState &istate, bool ifCovV0=false) const =0
virtual StatusCode VKalGetFullCov(long int, std::vector< double > &CovMtx, IVKalState &istate, bool=false) const =0
virtual double VKalGetImpact(const xAOD::TrackParticle *, const Amg::Vector3D &Vertex, const long int Charge, std::vector< double > &Impact, std::vector< double > &ImpactError, IVKalState &istate) const =0
Ensure that the ATLAS eigen extensions are properly loaded.
virtual void setRobustness(int, IVKalState &istate) const =0
virtual StatusCode VKalVrtFit(const std::vector< const xAOD::TrackParticle * > &listC, const std::vector< const xAOD::NeutralParticle * > &listN, Amg::Vector3D &Vertex, TLorentzVector &Momentum, long int &Charge, std::vector< double > &ErrorMatrix, std::vector< double > &Chi2PerTrk, std::vector< std::vector< double >> &TrkAtVrt, double &Chi2, IVKalState &istate, bool ifCovV0=false) const =0
virtual void setMassForConstraint(double, std::span< const int >, IVKalState &istate) const =0
Eigen::Matrix< double, 3, 1 > Vector3D
virtual double VKalGetImpact(const Perigee *, const Amg::Vector3D &Vertex, const long int Charge, std::vector< double > &Impact, std::vector< double > &ImpactError) const =0
virtual std::unique_ptr< IVKalState > makeState() const
Class describing a Vertex.
virtual StatusCode VKalVrtFitFast(std::span< const xAOD::TrackParticle *const > list, Amg::Vector3D &Vertex, IVKalState &istate) const =0
Class describing a TrackParticle.
virtual void setVertexForConstraint(const xAOD::Vertex &, IVKalState &istate) const =0
virtual StatusCode VKalVrtFit(const std::vector< const Perigee * > &list, Amg::Vector3D &Vertex, TLorentzVector &Momentum, long int &Charge, std::vector< double > &ErrorMatrix, std::vector< double > &Chi2PerTrk, std::vector< std::vector< double >> &TrkAtVrt, double &Chi2, IVKalState &istate, bool ifCovV0=false) const =0
virtual StatusCode VKalVrtCvtTool(const Amg::Vector3D &Vertex, const TLorentzVector &Momentum, const std::vector< double > &CovVrtMom, const long int &Charge, std::vector< double > &Perigee, std::vector< double > &CovPerigee, IVKalState &istate) const =0
virtual void setCovVrtForConstraint(double, double, double, double, double, double, IVKalState &istate) const =0
virtual void setRobustScale(double, IVKalState &istate) const =0