ATLAS Offline Software
ConversionPostSelector.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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
13 #include <vector>
14 
15 
16 
17 namespace CLHEP{
18  class HepLorentzVector;
19 }
20 
21 namespace InDet {
22 
30 
31  public:
32  ConversionPostSelector (const std::string& type,const std::string& name, const IInterface* parent);
33  virtual ~ConversionPostSelector() = default;
34 
35  static const InterfaceID& interfaceID();
36  virtual StatusCode initialize() override;
37  virtual StatusCode finalize() override;
38 
41  bool selectConversionCandidate(xAOD::Vertex* myCandidate,
42  int flag,
43  std::vector<Amg::Vector3D>& trkL) const;
44  bool selectSecVtxCandidate(xAOD::Vertex* myCandidate,
45  int flag,
46  std::vector<Amg::Vector3D>& trkL,
47  int&) const;
48 
50  static void decorateVertex(xAOD::Vertex& vertex,
51  float inv_mass,
52  float pt1,
53  float pt2,
54  float fR,
55  float deltaPhiVtxTrk) ;
56 
57  private:
60  DoubleArrayProperty m_maxChi2
61  {this, "MaxChi2Vtx", {35., 25., 20.}, "Chi2 cut"};
62  DoubleArrayProperty m_invMassCut
63  {this, "MaxInvariantMass", {10000., 10000., 10000.}, "Invariant mass cut"};
64  DoubleArrayProperty m_fitMomentum
65  {this, "MinFitMomentum", {0., 0., 0.},
66  "Converted photon reconstructed momentum at vertex cut"};
67  DoubleArrayProperty m_minRadius
68  {this, "MinRadius", {-10000., -10000., -10000.},
69  "Converted photon reconstructed vertex radial position cut"};
70  DoubleProperty m_minPt {this, "MinPt", 0.,
71  "Pt of the two participating tracks at the vertex"};
72  DoubleProperty m_maxdR {this, "MaxdR", -10000.,
73  "Distance of first track hit- reconstructed vertex radial position"};
74  DoubleProperty m_maxPhiVtxTrk{this, "MaxPhiVtxTrk", 0.2,
75  "Maximum difference in phi between reconstructed vertex and track at vertex"};
76  BooleanProperty m_decorateVertices{this, "DecorateVertices", true,
77  "Decorate vertices with values used for vertex selection"};
78 
79 
81  static constexpr double m_massK0 = ParticleConstants::KZeroMassInMeV;
82  static constexpr double m_sigmaK0 = 8.5;
84  static constexpr double m_sigmaLambda = 3.5;
85  IntegerProperty m_nsig{this, "NSigma", 5};
86 
87 
89  static CLHEP::HepLorentzVector fourP(const Trk::TrackParameters&, const Trk::TrackParameters&, double, bool) ;
90  };
91 
92 }
93 #endif // INDETCONVERSIONFINDERTOOLS_CONVERSIONPOSTSELECTOR_H
94 
ParticleConstants::PDG2011::lambdaMassInMeV
constexpr double lambdaMassInMeV
the mass of the lambda baryon (in MeV)
Definition: ParticleConstants.h:74
InDet::ConversionPostSelector::selectSecVtxCandidate
bool selectSecVtxCandidate(xAOD::Vertex *myCandidate, int flag, std::vector< Amg::Vector3D > &trkL, int &) const
Definition: ConversionPostSelector.cxx:143
InDet::ConversionPostSelector::m_maxPhiVtxTrk
DoubleProperty m_maxPhiVtxTrk
Definition: ConversionPostSelector.h:74
TrackParameters.h
InDet::ConversionPostSelector::m_massK0
static constexpr double m_massK0
Masses and mass ranges for different V0 hypotheses.
Definition: ConversionPostSelector.h:81
InDet::ConversionPostSelector::m_decorateVertices
BooleanProperty m_decorateVertices
Definition: ConversionPostSelector.h:76
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
InDet::ConversionPostSelector::m_minPt
DoubleProperty m_minPt
Definition: ConversionPostSelector.h:70
GeoPrimitives.h
InDet::ConversionPostSelector::m_sigmaLambda
static constexpr double m_sigmaLambda
Definition: ConversionPostSelector.h:84
InDet::ConversionPostSelector::m_sigmaK0
static constexpr double m_sigmaK0
Definition: ConversionPostSelector.h:82
ParticleConstants.h
InDet::ConversionPostSelector::m_maxdR
DoubleProperty m_maxdR
Definition: ConversionPostSelector.h:72
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CLHEP
STD'S.
Definition: CaloNoiseCompCondAlg.h:58
ParticleConstants::PDG2011::KZeroMassInMeV
constexpr double KZeroMassInMeV
the mass of the neutral kaon (K0) (in MeV)
Definition: ParticleConstants.h:47
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:275
test_pyathena.parent
parent
Definition: test_pyathena.py:15
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:41
InDet::ConversionPostSelector::m_maxChi2
DoubleArrayProperty m_maxChi2
Properties for track selection: all cuts are ANDed.
Definition: ConversionPostSelector.h:61
InDet::ConversionPostSelector::fourP
static CLHEP::HepLorentzVector fourP(const Trk::TrackParameters &, const Trk::TrackParameters &, double, bool)
Compute the four-momentum of a particle according to a mass hypothesis.
Definition: ConversionPostSelector.cxx:239
InDet::ConversionPostSelector::m_minRadius
DoubleArrayProperty m_minRadius
Definition: ConversionPostSelector.h:68
InDet::ConversionPostSelector::interfaceID
static const InterfaceID & interfaceID()
Definition: ConversionPostSelector.cxx:37
InDet::ConversionPostSelector::selectConversionCandidate
bool selectConversionCandidate(xAOD::Vertex *myCandidate, int flag, std::vector< Amg::Vector3D > &trkL) const
Conversion candidate post-fit selectors.
Definition: ConversionPostSelector.cxx:49
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
InDet::ConversionPostSelector::m_nsig
IntegerProperty m_nsig
Definition: ConversionPostSelector.h:85
InDet::ConversionPostSelector::m_massLambda
static constexpr double m_massLambda
Definition: ConversionPostSelector.h:83
VertexFwd.h
InDet::ConversionPostSelector::m_fitMomentum
DoubleArrayProperty m_fitMomentum
Definition: ConversionPostSelector.h:65
InDet::ConversionPostSelector::m_invMassCut
DoubleArrayProperty m_invMassCut
Definition: ConversionPostSelector.h:63
InDet::ConversionPostSelector::finalize
virtual StatusCode finalize() override
Definition: ConversionPostSelector.cxx:45
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
InDet::ConversionPostSelector::~ConversionPostSelector
virtual ~ConversionPostSelector()=default
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
AthAlgTool
Definition: AthAlgTool.h:26
InDet::ConversionPostSelector
Definition: ConversionPostSelector.h:29