|  | 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