ATLAS Offline Software
ConversionPostSelector.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_CONVERSIONPOSTSELECTOR_H
6 #define INDETCONVERSIONFINDERTOOLS_CONVERSIONPOSTSELECTOR_H
7 
9 #include "TrkParameters/TrackParameters.h" //typedef
10 #include "xAODTracking/VertexFwd.h"
11 #include "GeoPrimitives/GeoPrimitives.h" //Amg::Vector3D typedef
12 #include <vector>
13 
14 
15 
16 namespace CLHEP{
17  class HepLorentzVector;
18 }
19 
20 namespace InDet {
21 
29 
30  public:
31  ConversionPostSelector (const std::string& type,const std::string& name, const IInterface* parent);
33 
34  static const InterfaceID& interfaceID();
35  virtual StatusCode initialize() override;
36  virtual StatusCode finalize() override;
37 
40  bool selectConversionCandidate(xAOD::Vertex* myCandidate,
41  int flag,
42  std::vector<Amg::Vector3D>& trkL) const;
43  bool selectSecVtxCandidate(xAOD::Vertex* myCandidate,
44  int flag,
45  std::vector<Amg::Vector3D>& trkL,
46  int&) const;
47 
49  static void decorateVertex(xAOD::Vertex& vertex,
50  float inv_mass,
51  float pt1,
52  float pt2,
53  float fR,
54  float deltaPhiVtxTrk) ;
55 
56  private:
59  std::vector<double> m_maxChi2;
60  std::vector<double> m_invMassCut;
61  std::vector<double> m_fitMomentum;
62  std::vector<double> m_minRadius;
63  double m_minPt;
64  double m_maxdR;
70  double m_massK0 ;
71  double m_sigmaK0 ;
72  double m_massLambda ;
73  double m_sigmaLambda ;
74  int m_nsig ;
75 
76 
78  CLHEP::HepLorentzVector fourP(const Trk::TrackParameters&, const Trk::TrackParameters&, double, bool) const;
79  };
80 
81 }
82 #endif // INDETCONVERSIONFINDERTOOLS_CONVERSIONPOSTSELECTOR_H
83 
InDet::ConversionPostSelector::fourP
CLHEP::HepLorentzVector fourP(const Trk::TrackParameters &, const Trk::TrackParameters &, double, bool) const
Compute the four-momentum of a particle according to a mass hypothesis.
Definition: ConversionPostSelector.cxx:276
InDet::ConversionPostSelector::m_invMassCut
std::vector< double > m_invMassCut
Chi2 cut.
Definition: ConversionPostSelector.h:60
InDet::ConversionPostSelector::selectSecVtxCandidate
bool selectSecVtxCandidate(xAOD::Vertex *myCandidate, int flag, std::vector< Amg::Vector3D > &trkL, int &) const
Definition: ConversionPostSelector.cxx:180
TrackParameters.h
InDet::ConversionPostSelector::m_minRadius
std::vector< double > m_minRadius
Converted photon reconstructed momentum at vertex cut.
Definition: ConversionPostSelector.h:62
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::ConversionPostSelector::m_minPt
double m_minPt
Converted photon reconstructed vertex radial position cut.
Definition: ConversionPostSelector.h:63
GeoPrimitives.h
InDet::ConversionPostSelector::m_maxChi2
std::vector< double > m_maxChi2
Properties for track selection: all cuts are ANDed.
Definition: ConversionPostSelector.h:59
InDet::ConversionPostSelector::m_sigmaLambda
double m_sigmaLambda
Definition: ConversionPostSelector.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
master.flag
bool flag
Definition: master.py:29
AthAlgTool.h
InDet::ConversionPostSelector::decorateVertex
static void decorateVertex(xAOD::Vertex &vertex, float inv_mass, float pt1, float pt2, float fR, float deltaPhiVtxTrk)
Decorate vertices with values used in post selector.
Definition: ConversionPostSelector.cxx:312
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::ConversionPostSelector::m_decorateVertices
bool m_decorateVertices
Maximum difference in phi between reconstructed vertex and track at vertex.
Definition: ConversionPostSelector.h:66
Trk::ParametersBase
Definition: ParametersBase.h:55
InDet::ConversionPostSelector::ConversionPostSelector
ConversionPostSelector(const std::string &type, const std::string &name, const IInterface *parent)
Definition: ConversionPostSelector.cxx:30
InDet::ConversionPostSelector::initialize
virtual StatusCode initialize() override
Definition: ConversionPostSelector.cxx:78
InDet::ConversionPostSelector::interfaceID
static const InterfaceID & interfaceID()
Definition: ConversionPostSelector.cxx:74
InDet::ConversionPostSelector::m_fitMomentum
std::vector< double > m_fitMomentum
Invariant mass cut.
Definition: ConversionPostSelector.h:61
InDet::ConversionPostSelector::selectConversionCandidate
bool selectConversionCandidate(xAOD::Vertex *myCandidate, int flag, std::vector< Amg::Vector3D > &trkL) const
Conversion candidate post-fit selectors.
Definition: ConversionPostSelector.cxx:86
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
InDet::ConversionPostSelector::m_maxdR
double m_maxdR
Pt of the two participating tracks at the vertex.
Definition: ConversionPostSelector.h:64
VertexFwd.h
InDet::ConversionPostSelector::m_massLambda
double m_massLambda
Definition: ConversionPostSelector.h:72
InDet::ConversionPostSelector::finalize
virtual StatusCode finalize() override
Definition: ConversionPostSelector.cxx:82
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::ConversionPostSelector::m_massK0
double m_massK0
Decorate vertices with values used for vertex selection.
Definition: ConversionPostSelector.h:70
InDet::ConversionPostSelector::~ConversionPostSelector
virtual ~ConversionPostSelector()
AthAlgTool
Definition: AthAlgTool.h:26
InDet::ConversionPostSelector::m_sigmaK0
double m_sigmaK0
Definition: ConversionPostSelector.h:71
InDet::ConversionPostSelector::m_maxPhiVtxTrk
double m_maxPhiVtxTrk
Distance of first track hit- reconstructed vertex radial position.
Definition: ConversionPostSelector.h:65
InDet::ConversionPostSelector::m_nsig
int m_nsig
Definition: ConversionPostSelector.h:74
InDet::ConversionPostSelector
Definition: ConversionPostSelector.h:28