24 const long int Charge,
25 std::vector<double>& Impact,
26 std::vector<double>& ImpactError)
const
35 const long int Charge,
36 std::vector<double>& Impact,
37 std::vector<double>& ImpactError,
40 assert(
dynamic_cast<State*
> (&istate)!=
nullptr);
47 std::vector<const Trk::Perigee*> InpPerigeeList;
48 InpPerigeeList.push_back(InpPerigee);
55 if(
sc.isFailure() || ntrk != 1) {
56 Impact.assign(5,1.e10);
57 ImpactError.assign(3,1.e20);
60 long int vkCharge = state.
m_ich[0];
61 if(Charge==0) vkCharge=0;
69 double VrtCov[6]={0.,0.,0.,0.,0.,0.};
72 ImpactError.resize(3);
75 &VrtInp[0], &VrtCov[0],
76 Impact.data(), ImpactError.data(),
85 std::vector<double>& Impact, std::vector<double>& ImpactError)
const
94 std::vector<double>& Impact, std::vector<double>& ImpactError,
97 assert(
dynamic_cast<State*
> (&istate)!=
nullptr);
104 std::vector<const xAOD::TrackParticle*> InpTrkList(1,InpTrk);
112 if(
sc.isFailure() || ntrk != 1 ) {
113 Impact.assign(5,1.e10);
114 ImpactError.assign(3,1.e20);
119 if (std::abs(
Vertex.z()) > sizeZ ||
Vertex.perp() > sizeR) {
120 Impact.assign(5, 1.e10);
121 ImpactError.assign(3, 1.e20);
124 long int vkCharge=state.
m_ich[0];
125 if(Charge==0)vkCharge=0;
130 double VrtCov[6]={0.,0.,0.,0.,0.,0.};
133 Impact.resize(5); ImpactError.resize(3);
134 Trk::cfimp( 0, vkCharge, 0, &state.
m_apar[0][0], &state.
m_awgt[0][0], &VrtInp[0], &VrtCov[0], Impact.data(), ImpactError.data(), &SIGNIF, &state.
m_vkalFitControl);
long int m_ich[NTrMaxVFit]
double m_apar[NTrMaxVFit][5]
bool m_allowUltraDisplaced
double m_awgt[NTrMaxVFit][15]
VKalVrtControl m_vkalFitControl
Gaudi::Property< double > m_MSsizeZ
StatusCode CvtPerigee(const std::vector< const Perigee * > &list, int &ntrk, State &state) const
Gaudi::Property< double > m_IDsizeZ
void initState(const EventContext &ctx, State &state) const
virtual double VKalGetImpact(const xAOD::TrackParticle *, const Amg::Vector3D &Vertex, const long int Charge, dvect &Impact, dvect &ImpactError, IVKalState &istate) const override final
StatusCode CvtTrackParticle(std::span< const xAOD::TrackParticle *const > list, int &ntrk, State &state) const
Gaudi::Property< double > m_IDsizeR
Gaudi::Property< double > m_MSsizeR
This class is a simplest representation of a vertex candidate.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
void cfimp(long int TrkID, long int ich, int IFL, double *par, const double *err, double *vrt, double *vcov, double *rimp, double *rcov, double *sign, VKalVrtControlBase *FitCONTROL)
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
TrackParticle_v1 TrackParticle
Reference the current persistent version: