ATLAS Offline Software
VertexPointEstimator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETCONVERSIONFINDERTOOLS_VERTEXPOINTESTIMATOR_H
6 #define INDETCONVERSIONFINDERTOOLS_VERTEXPOINTESTIMATOR_H
7 
10 
11 namespace InDet {
12 
21 
22  public:
23  VertexPointEstimator (const std::string& type,const std::string& name, const IInterface* parent);
24 
26 
27  static const InterfaceID& interfaceID();
28 
29  virtual StatusCode initialize() override;
30 
31  virtual StatusCode finalize() override;
32 
33  typedef std::map<std::string, float> Values_t;
34 
40  const Trk::Perigee* per2,
41  unsigned int flag,
42  int& errorcode) const;
43 
44 
51  const Trk::Perigee* per2,
52  unsigned int flag,
53  int& errorcode,
54  Values_t& decors) const;
55 
57  static std::vector<std::string> decorKeys() ;
58 
59 
60  private:
62  const Trk::Perigee *per2,
63  unsigned int flag,
64  int& errorcode,
65  float& deltaPhi,
66  float& deltaR) const;
67 
68 
69  static double areaVar(double, double, double, double, double, double, double&) ;
70  static double areaVar(double, double, double, double, double, double, double&, double&, double&) ;
71  static bool circleIntersection(double, double, double,
72  double, double, double,
73  double&, double&,
74  double&, double&) ;
75  static bool secondDegree(double, double, double, double&, double&) ;
76  static double areaTriangle(double, double, double, double, double, double) ;
77 
78  static const double s_bmagnt;
79  std::vector<double> m_maxDR;
80  std::vector<double> m_maxDZ;
81  std::vector<double> m_maxR;
82  std::vector<double> m_minArcLength;
83  std::vector<double> m_maxArcLength;
84  std::vector<double> m_minDr;
85  std::vector<double> m_maxDr;
86  std::vector<double> m_maxHl;
87  std::vector<double> m_maxPhi;
89  };
90 
91 }
92 #endif // INDETCONVERSIONFINDERTOOLS_VERTEXPOINTESTIMATOR_H
93 
94 
InDet::VertexPointEstimator::m_returnOnError
bool m_returnOnError
maximum DPhi at the estimated vertex position
Definition: VertexPointEstimator.h:88
TrackParameters.h
InDet::VertexPointEstimator::areaTriangle
static double areaTriangle(double, double, double, double, double, double)
Definition: VertexPointEstimator.cxx:526
InDet::VertexPointEstimator::s_bmagnt
static const double s_bmagnt
Definition: VertexPointEstimator.h:78
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
xAOD::deltaPhi
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
Definition: L2StandAloneMuon_v1.cxx:160
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::VertexPointEstimator::finalize
virtual StatusCode finalize() override
Definition: VertexPointEstimator.cxx:93
InDet::VertexPointEstimator::interfaceID
static const InterfaceID & interfaceID()
Definition: VertexPointEstimator.cxx:83
InDet::VertexPointEstimator::~VertexPointEstimator
virtual ~VertexPointEstimator()
InDet::VertexPointEstimator::m_maxPhi
std::vector< double > m_maxPhi
maximum ratio H/l
Definition: VertexPointEstimator.h:87
InDet::VertexPointEstimator::Values_t
std::map< std::string, float > Values_t
Definition: VertexPointEstimator.h:33
InDet::VertexPointEstimator
Definition: VertexPointEstimator.h:20
InDet::VertexPointEstimator::m_maxHl
std::vector< double > m_maxHl
maximum difference between helix centers
Definition: VertexPointEstimator.h:86
InDet::VertexPointEstimator::intersectionImpl
Amg::Vector3D intersectionImpl(const Trk::Perigee *per1, const Trk::Perigee *per2, unsigned int flag, int &errorcode, float &deltaPhi, float &deltaR) const
internal implementation
Definition: VertexPointEstimator.cxx:134
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
master.flag
bool flag
Definition: master.py:29
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::VertexPointEstimator::m_minArcLength
std::vector< double > m_minArcLength
maximum allowed vertex radius
Definition: VertexPointEstimator.h:82
InDet::VertexPointEstimator::m_maxDZ
std::vector< double > m_maxDZ
maximum XY separation, non-intersecting circles
Definition: VertexPointEstimator.h:80
InDet::VertexPointEstimator::decorKeys
static std::vector< std::string > decorKeys()
Return list of keys used for decorations.
Definition: VertexPointEstimator.cxx:125
InDet::VertexPointEstimator::getCirclesIntersectionPoint
Amg::Vector3D getCirclesIntersectionPoint(const Trk::Perigee *per1, const Trk::Perigee *per2, unsigned int flag, int &errorcode) const
Get intersection point of two track helices.
Definition: VertexPointEstimator.cxx:100
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
InDet::VertexPointEstimator::m_maxDR
std::vector< double > m_maxDR
Definition: VertexPointEstimator.h:79
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDet::VertexPointEstimator::m_maxArcLength
std::vector< double > m_maxArcLength
minimum permitted arc length, track to vertex, depends on the posion of the first measurement
Definition: VertexPointEstimator.h:83
InDet::VertexPointEstimator::initialize
virtual StatusCode initialize() override
Definition: VertexPointEstimator.cxx:88
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::VertexPointEstimator::m_maxDr
std::vector< double > m_maxDr
minimum difference between helix centers
Definition: VertexPointEstimator.h:85
InDet::VertexPointEstimator::secondDegree
static bool secondDegree(double, double, double, double &, double &)
Definition: VertexPointEstimator.cxx:513
InDet::VertexPointEstimator::VertexPointEstimator
VertexPointEstimator(const std::string &type, const std::string &name, const IInterface *parent)
Definition: VertexPointEstimator.cxx:25
InDet::VertexPointEstimator::m_maxR
std::vector< double > m_maxR
maximum allowed track Z separation at the vertex
Definition: VertexPointEstimator.h:81
AthAlgTool
Definition: AthAlgTool.h:26
InDet::VertexPointEstimator::circleIntersection
static bool circleIntersection(double, double, double, double, double, double, double &, double &, double &, double &)
Definition: VertexPointEstimator.cxx:464
InDet::VertexPointEstimator::m_minDr
std::vector< double > m_minDr
maximum permitted arc length, track to vertex, depends on the posion of the first measurement
Definition: VertexPointEstimator.h:84
makeComparison.deltaR
float deltaR
Definition: makeComparison.py:36
InDet::VertexPointEstimator::areaVar
static double areaVar(double, double, double, double, double, double, double &)
Definition: VertexPointEstimator.cxx:387