ATLAS Offline Software
V0Tools.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef V0TOOLS_H
6 #define V0TOOLS_H
7 
9 #include "GaudiKernel/ToolHandle.h"
12 #include "xAODTracking/VertexFwd.h"
13 #include "xAODTracking/TrackParticle.h" //Full include needed for FourMom_t
14 #include <span>
15 
25 namespace CLHEP{
26  class HepLorentzVector;
27 }
28 
29 namespace Trk
30 {
31  class IExtrapolator;
32 
33  static const InterfaceID IID_V0Tools("V0Tools", 1, 1);
34 
35  class V0Tools : public AthAlgTool
36  {
37  public:
38 
42  V0Tools(const std::string& t, const std::string& n, const IInterface* p);
43 
48 
53 
57  static const InterfaceID& interfaceID()
58  {
59  return IID_V0Tools;
60  }
61 
70  double invariantMass(const xAOD::Vertex * vxCandidate, double posTrackMass, double negTrackMass) const;
71  double invariantMass(const xAOD::Vertex * vxCandidate, std::span<const double> masses) const;
72  double invariantMassError(const xAOD::Vertex * vxCandidate, double posTrackMass, double negTrackMass) const;
73  double invariantMassError(const xAOD::Vertex * vxCandidate, std::span<const double> masses) const;
74  double invariantMassProbability(const xAOD::Vertex * vxCandidate, double V0Mass, double posTrackMass, double negTrackMass) const;
75  double invariantMassProbability(const xAOD::Vertex * vxCandidate, double V0Mass, std::span<const double> masses) const;
76  double massProbability(double V0Mass, double mass, double massErr) const;
77 
82  static Amg::Vector3D trackMomentum(const xAOD::Vertex * vxCandidate, unsigned int trkIndex) ;
83  static Amg::Vector3D positiveTrackMomentum(const xAOD::Vertex * vxCandidate) ;
84  static Amg::Vector3D negativeTrackMomentum(const xAOD::Vertex * vxCandidate) ;
85  static Amg::Vector3D V0Momentum(const xAOD::Vertex * vxCandidate) ;
86 
91  static xAOD::TrackParticle::FourMom_t track4Momentum(const xAOD::Vertex * vxCandidate, unsigned int trkIndex, double trackMass) ;
92  static xAOD::TrackParticle::FourMom_t positiveTrack4Momentum(const xAOD::Vertex * vxCandidate, double posTrackMass) ;
93  static xAOD::TrackParticle::FourMom_t negativeTrack4Momentum(const xAOD::Vertex * vxCandidate, double negTrackMass) ;
94  static xAOD::TrackParticle::FourMom_t V04Momentum(const xAOD::Vertex * vxCandidate, double V0Mass) ;
95 
99  static float ndof(const xAOD::Vertex * vxCandidate) ;
100 
104  static float chisq(const xAOD::Vertex * vxCandidate) ;
105 
109  double vertexProbability(const xAOD::Vertex * vxCandidate) const;
110 
114  static Amg::Vector3D vtx(const xAOD::Vertex * vxCandidate) ;
115 
119  static double rxy(const xAOD::Vertex * vxCandidate) ;
120 
124  static double rxy(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) ;
125 
129  static double rxy(const xAOD::Vertex * vxCandidate, const Amg::Vector3D& vertex) ;
130 
134  static double rxy_var(double dx, double dy, const Amg::MatrixX& cov) ;
135 
139  double rxyError(const xAOD::Vertex * vxCandidate) const;
140 
144  double rxyError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) const;
145 
149  double rxyError(const xAOD::Vertex * vxCandidate, const Amg::Vector3D& vertex) const;
150 
154  static double pT(const xAOD::Vertex * vxCandidate) ;
155 
159  double pTError(const xAOD::Vertex * vxCandidate) const;
160 
164  double separation(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) const;
165  double separation(const xAOD::Vertex * vxCandidate, const Amg::Vector3D& vertex) const;
166 
172  static double a0xy(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) ;
173  static double a0z(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) ;
174 
178  static double a0(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) ;
179 
183  static Amg::Vector3D pca(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) ;
184 
188  double a0xyError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) const;
189  double a0zError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) const;
190 
194  double a0Error(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, bool in3D=true) const;
195 
200  static double lxy(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) ;
201 
205  double lxyError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) const;
206 
211  static double lxyz(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) ;
212 
216  double lxyzError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) const;
217 
222  double tau(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, double posTrackMass, double negTrackMass) const;
223 
227  double tau(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, std::span<const double> masses) const;
228 
233  double tau(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, double posTrackMass, double negTrackMass, double massV0) const;
234 
239  double tau(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, std::span<const double> masses, double massV0) const;
240 
245  static double tau(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, double massV0) ;
246 
251  double tauError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, double posTrackMass, double negTrackMass) const;
252 
256  double tauError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, std::span<const double> masses) const;
257 
262  double tauError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, double posTrackMass, double negTrackMass, double massV0) const;
263 
268  double tauError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, std::span<const double> masses, double massV0) const;
269 
274  double tauError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, double massV0) const;
275 
279  Amg::MatrixX tauMassCovariance(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, std::span<const double> masses) const;
280  double massTauCov(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, std::span<const double> masses) const;
281 
285  double tau3D(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, std::span<const double> masses) const;
286 
291  static double tau3D(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, double massV0) ;
292 
296  double tau3DError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, std::span<const double> masses) const;
297 
302  double tau3DError(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex, double massV0) const;
303 
309  static double thetaStar(const xAOD::Vertex * vxCandidate, double mass1, double mass2) ;
310 
314  static double cosThetaStar(const xAOD::Vertex * vxCandidate, double posTrackMass, double negTrackMass) ;
315  static double cosThetaStar(const CLHEP::HepLorentzVector & posTrack, const CLHEP::HepLorentzVector & negTrack) ;
316 
320  //double phiStar(xAOD::Vertex * vxCandidate) const;
321  static double phiStar(const xAOD::Vertex * vxCandidate, double posTrackMass, double negTrackMass) ;
322  static double phiStar(const CLHEP::HepLorentzVector & v0, const CLHEP::HepLorentzVector & track) ;
323 
327  static double cosTheta(const xAOD::Vertex * vxCandidate, const Amg::Vector3D& vertex) ;
328  static double cosTheta(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) ;
329 
333  static double cosTheta_xy(const xAOD::Vertex * vxCandidate, const Amg::Vector3D& vertex) ;
334  static double cosTheta_xy(const xAOD::Vertex * vxCandidate, const xAOD::Vertex* vertex) ;
335 
339  static float charge(const xAOD::Vertex * vxCandidate) ;
340 
344  static const xAOD::TrackParticle* origTrack(const xAOD::Vertex * vxCandidate, int trkIndex) ;
345  static const xAOD::TrackParticle* positiveOrigTrack(const xAOD::Vertex * vxCandidate) ;
346  static const xAOD::TrackParticle* negativeOrigTrack(const xAOD::Vertex * vxCandidate) ;
347 
351  // JRC: not possible with new EDM
352  //Rec::TrackParticle* createParticle(const ExtendedVxCandidate * vxCandidate) const;
353  //Rec::TrackParticle* createParticle(const Trk::V0Hypothesis * v0Hypothesis) const;
354 
363  double invariantMassBeforeFitIP(const xAOD::Vertex * vxCandidate, std::span<const double> masses) const;
364  double invariantMassBeforeFit(const xAOD::Vertex * vxCandidate, std::span<const double> masses, const EventContext&, const Trk::IExtrapolator*) const;
365  double invariantMassBeforeFit(const xAOD::Vertex * vxCandidate, std::span<const double> masses, const Amg::Vector3D& vertex, const EventContext&, const Trk::IExtrapolator*) const;
366  double invariantMassErrorBeforeFitIP(const xAOD::Vertex * vxCandidate, std::span<const double> masses) const;
367  double invariantMassErrorBeforeFit(const xAOD::Vertex * vxCandidate, std::span<const double> masses, const EventContext& ctx, const Trk::IExtrapolator*) const;
368  double invariantMassErrorBeforeFit(const xAOD::Vertex * vxCandidate, std::span<const double> masses, const Amg::Vector3D& vertex, const EventContext& ctx, const Trk::IExtrapolator*) const;
369 
370  static Amg::MatrixX convertCovMatrix(const xAOD::Vertex * vxCandidate) ;
371 
372  static Amg::MatrixX makeV0Cov(const xAOD::Vertex * vxCandidate) ;
373 
374  private:
375 
376  double massErrorV0Fitter(const xAOD::Vertex * vxCandidate, double posTrackMass, double negTrackMass) const;
377  double massErrorV0Fitter(const xAOD::Vertex * vxCandidate, std::span<const double> masses) const;
378  double massErrorVKalVrt(const xAOD::Vertex * vxCandidate, double posTrackMass, double negTrackMass) const;
379  double massErrorVKalVrt(const xAOD::Vertex * vxCandidate, std::span<const double> masses) const;
380  double massErrorVxCandidate(const xAOD::Vertex * vxCandidate, double posTrackMass, double negTrackMass) const;
381  double massErrorVxCandidate(const xAOD::Vertex * vxCandidate, std::span<const double> masses) const;
382 
383  };//end of class definitions
384 
385 
386 }//end of namespace definitions
387 
388 #endif
Trk::V0Tools::a0xy
static double a0xy(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex)
closest distance in Z and the transverse plane of the momentum vector to an xAOD::Vertex a0xy using t...
Definition: V0Tools.cxx:671
Trk::V0Tools::V0Momentum
static Amg::Vector3D V0Momentum(const xAOD::Vertex *vxCandidate)
Definition: V0Tools.cxx:403
Trk::V0Tools::trackMomentum
static Amg::Vector3D trackMomentum(const xAOD::Vertex *vxCandidate, unsigned int trkIndex)
Methods, returning the refitted 3-momenta of the positive and negative tracks and the V0 (for more th...
Definition: V0Tools.cxx:373
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
Trk::V0Tools::a0zError
double a0zError(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex) const
Definition: V0Tools.cxx:695
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Trk::V0Tools::initialize
StatusCode initialize()
Standard AlgTool methods.
Definition: V0Tools.cxx:40
Trk::V0Tools::a0xyError
double a0xyError(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex) const
errors on a0xy and a0z
Definition: V0Tools.cxx:809
Trk::V0Tools::cosTheta
static double cosTheta(const xAOD::Vertex *vxCandidate, const Amg::Vector3D &vertex)
cosTheta (pointing angle to an Amg::Vector3D or an xAOD::Vertex)
Definition: V0Tools.cxx:1830
Trk::V0Tools::rxyError
double rxyError(const xAOD::Vertex *vxCandidate) const
error on Rxy
Definition: V0Tools.cxx:517
Trk::V0Tools::V04Momentum
static xAOD::TrackParticle::FourMom_t V04Momentum(const xAOD::Vertex *vxCandidate, double V0Mass)
Definition: V0Tools.cxx:443
xAOD::TrackParticle_v1::FourMom_t
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
Definition: TrackParticle_v1.h:72
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
Trk::V0Tools::chisq
static float chisq(const xAOD::Vertex *vxCandidate)
Chisq of the vertex fit.
Definition: V0Tools.cxx:458
Trk::V0Tools::massProbability
double massProbability(double V0Mass, double mass, double massErr) const
Definition: V0Tools.cxx:353
Trk::V0Tools::invariantMassErrorBeforeFit
double invariantMassErrorBeforeFit(const xAOD::Vertex *vxCandidate, std::span< const double > masses, const EventContext &ctx, const Trk::IExtrapolator *) const
Definition: V0Tools.cxx:2297
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Trk::V0Tools::rxy
static double rxy(const xAOD::Vertex *vxCandidate)
Rxy of the vertex.
Definition: V0Tools.cxx:488
Trk::V0Tools::separation
double separation(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex) const
statistical separation (Mahalanobis distance)
Definition: V0Tools.cxx:641
Trk::V0Tools::lxyError
double lxyError(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex) const
error on lxy
Definition: V0Tools.cxx:945
dqt_zlumi_pandas.mass
mass
Definition: dqt_zlumi_pandas.py:170
Trk::V0Tools::track4Momentum
static xAOD::TrackParticle::FourMom_t track4Momentum(const xAOD::Vertex *vxCandidate, unsigned int trkIndex, double trackMass)
Methods, returning the refitted 4-momenta of the positive and negative tracks and the V0 for a given ...
Definition: V0Tools.cxx:413
Trk::V0Tools::invariantMassProbability
double invariantMassProbability(const xAOD::Vertex *vxCandidate, double V0Mass, double posTrackMass, double negTrackMass) const
Definition: V0Tools.cxx:324
Trk::V0Tools::tau3DError
double tau3DError(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex, std::span< const double > masses) const
proper time error in 3D wrt an xAOD::Vertex vertex assuming track masses
Definition: V0Tools.cxx:1517
Trk::V0Tools::massErrorVxCandidate
double massErrorVxCandidate(const xAOD::Vertex *vxCandidate, double posTrackMass, double negTrackMass) const
Definition: V0Tools.cxx:249
Trk::V0Tools::tauMassCovariance
Amg::MatrixX tauMassCovariance(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex, std::span< const double > masses) const
mass-proper time covariance
Definition: V0Tools.cxx:2530
GeoPrimitives.h
Trk::V0Tools::V0Tools
V0Tools(const std::string &t, const std::string &n, const IInterface *p)
Default constructor due to Athena interface.
Definition: V0Tools.cxx:32
Trk::V0Tools::interfaceID
static const InterfaceID & interfaceID()
AlgTool interface methods.
Definition: V0Tools.h:57
Trk::V0Tools::massTauCov
double massTauCov(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex, std::span< const double > masses) const
Definition: V0Tools.cxx:2382
Trk::V0Tools::negativeOrigTrack
static const xAOD::TrackParticle * negativeOrigTrack(const xAOD::Vertex *vxCandidate)
Definition: V0Tools.cxx:1894
Trk::V0Tools::positiveTrackMomentum
static Amg::Vector3D positiveTrackMomentum(const xAOD::Vertex *vxCandidate)
Definition: V0Tools.cxx:379
Trk::V0Tools::~V0Tools
~V0Tools()
Virtual destructor.
parseMapping.v0
def v0
Definition: parseMapping.py:149
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::V0Tools::convertCovMatrix
static Amg::MatrixX convertCovMatrix(const xAOD::Vertex *vxCandidate)
Definition: V0Tools.cxx:2659
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
AthAlgTool.h
Trk::V0Tools::pT
static double pT(const xAOD::Vertex *vxCandidate)
transverse momentum of the V0
Definition: V0Tools.cxx:549
Trk::V0Tools::lxyzError
double lxyzError(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex) const
error on lxyz
Definition: V0Tools.cxx:1060
Trk::V0Tools::massErrorVKalVrt
double massErrorVKalVrt(const xAOD::Vertex *vxCandidate, double posTrackMass, double negTrackMass) const
Definition: V0Tools.cxx:174
Trk::V0Tools::tau
double tau(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex, double posTrackMass, double negTrackMass) const
proper time wrt an xAOD::Vertex vertex assuming posTrackMass and negTrackMass tau = CONST*M*lxy/pT
Definition: V0Tools.cxx:1171
Trk::V0Tools::makeV0Cov
static Amg::MatrixX makeV0Cov(const xAOD::Vertex *vxCandidate)
Definition: V0Tools.cxx:2511
Trk::V0Tools::a0
static double a0(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex)
closest distance of the momentum vector to an xAOD::Vertex
Definition: V0Tools.cxx:687
Trk::V0Tools::a0Error
double a0Error(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex, bool in3D=true) const
error on a0
Definition: V0Tools.cxx:814
Trk::V0Tools::cosThetaStar
static double cosThetaStar(const xAOD::Vertex *vxCandidate, double posTrackMass, double negTrackMass)
cosThetaStar
Definition: V0Tools.cxx:1779
Trk::V0Tools::lxyz
static double lxyz(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex)
projection of distance in 3D of the vertex wrt an xAOD::Vertex vertex along the momentum direction (P...
Definition: V0Tools.cxx:1049
Trk::V0Tools::negativeTrack4Momentum
static xAOD::TrackParticle::FourMom_t negativeTrack4Momentum(const xAOD::Vertex *vxCandidate, double negTrackMass)
Definition: V0Tools.cxx:433
Trk::V0Tools::positiveTrack4Momentum
static xAOD::TrackParticle::FourMom_t positiveTrack4Momentum(const xAOD::Vertex *vxCandidate, double posTrackMass)
Definition: V0Tools.cxx:423
Trk::V0Tools::positiveOrigTrack
static const xAOD::TrackParticle * positiveOrigTrack(const xAOD::Vertex *vxCandidate)
Definition: V0Tools.cxx:1883
Trk::V0Tools::origTrack
static const xAOD::TrackParticle * origTrack(const xAOD::Vertex *vxCandidate, int trkIndex)
pointers to original tracks
Definition: V0Tools.cxx:1878
Trk::V0Tools::charge
static float charge(const xAOD::Vertex *vxCandidate)
sum of the charges of the tracks in the vertex
Definition: V0Tools.cxx:1864
Trk::V0Tools::massErrorV0Fitter
double massErrorV0Fitter(const xAOD::Vertex *vxCandidate, double posTrackMass, double negTrackMass) const
Definition: V0Tools.cxx:108
Trk::V0Tools::phiStar
static double phiStar(const xAOD::Vertex *vxCandidate, double posTrackMass, double negTrackMass)
phiStar
Definition: V0Tools.cxx:1803
EventPrimitives.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::V0Tools::cosTheta_xy
static double cosTheta_xy(const xAOD::Vertex *vxCandidate, const Amg::Vector3D &vertex)
cosTheta (pointing angle to an Amg::Vector3D or an xAOD::Vertex in transverse plane)
Definition: V0Tools.cxx:1846
Trk::V0Tools::invariantMassBeforeFitIP
double invariantMassBeforeFitIP(const xAOD::Vertex *vxCandidate, std::span< const double > masses) const
create neutral TrackParticle from vxCandidate
Definition: V0Tools.cxx:2146
Trk::V0Tools::negativeTrackMomentum
static Amg::Vector3D negativeTrackMomentum(const xAOD::Vertex *vxCandidate)
Definition: V0Tools.cxx:391
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::IExtrapolator
Definition: IExtrapolator.h:62
VertexFwd.h
TrackParticle.h
makeTRTBarrelCans.dy
tuple dy
Definition: makeTRTBarrelCans.py:21
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
Trk::V0Tools::vertexProbability
double vertexProbability(const xAOD::Vertex *vxCandidate) const
Probability of the vertex fit.
Definition: V0Tools.cxx:463
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
Trk::V0Tools
Definition: V0Tools.h:36
Trk::V0Tools::thetaStar
static double thetaStar(const xAOD::Vertex *vxCandidate, double mass1, double mass2)
Polarization angles in helicity frame (using positive track):
Definition: V0Tools.cxx:1763
Trk::V0Tools::ndof
static float ndof(const xAOD::Vertex *vxCandidate)
NDoF of the vertex fit.
Definition: V0Tools.cxx:453
Trk::V0Tools::invariantMass
double invariantMass(const xAOD::Vertex *vxCandidate, double posTrackMass, double negTrackMass) const
Methods, returning the invariant mass, error on the invariant mass and Chi2 probability of the invari...
Definition: V0Tools.cxx:46
makeTRTBarrelCans.dx
tuple dx
Definition: makeTRTBarrelCans.py:20
Trk::V0Tools::a0z
static double a0z(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex)
Definition: V0Tools.cxx:679
Trk::V0Tools::vtx
static Amg::Vector3D vtx(const xAOD::Vertex *vxCandidate)
vertex position
Definition: V0Tools.cxx:483
Trk::V0Tools::invariantMassBeforeFit
double invariantMassBeforeFit(const xAOD::Vertex *vxCandidate, std::span< const double > masses, const EventContext &, const Trk::IExtrapolator *) const
Definition: V0Tools.cxx:2171
Trk::V0Tools::invariantMassErrorBeforeFitIP
double invariantMassErrorBeforeFitIP(const xAOD::Vertex *vxCandidate, std::span< const double > masses) const
Definition: V0Tools.cxx:2230
Trk::V0Tools::pca
static Amg::Vector3D pca(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex)
point of closest approach of the momentum vector to an xAOD::Vertex
Definition: V0Tools.cxx:626
Trk::V0Tools::tau3D
double tau3D(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex, std::span< const double > masses) const
proper time in 3D wrt an xAOD::Vertex vertex assuming track masses
Definition: V0Tools.cxx:1493
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
AthAlgTool
Definition: AthAlgTool.h:26
Trk::V0Tools::rxy_var
static double rxy_var(double dx, double dy, const Amg::MatrixX &cov)
rxy_var
Definition: V0Tools.cxx:503
Trk::V0Tools::invariantMassError
double invariantMassError(const xAOD::Vertex *vxCandidate, double posTrackMass, double negTrackMass) const
Definition: V0Tools.cxx:76
Trk::V0Tools::tauError
double tauError(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex, double posTrackMass, double negTrackMass) const
proper time error wrt an xAOD::Vertex vertex assuming posTrackMass and negTrackMass tau = CONST*M*lxy...
Definition: V0Tools.cxx:1226
Trk::V0Tools::pTError
double pTError(const xAOD::Vertex *vxCandidate) const
error on the transverse momentum of the V0
Definition: V0Tools.cxx:554
Trk::V0Tools::lxy
static double lxy(const xAOD::Vertex *vxCandidate, const xAOD::Vertex *vertex)
projection of distance in xy of the vertex wrt an xAOD::Vertex vertex along the momentum direction (P...
Definition: V0Tools.cxx:935
SUSY_SimplifiedModel_PreInclude.masses
dictionary masses
Definition: SUSY_SimplifiedModel_PreInclude.py:7