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
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);
32  virtual ~ConversionPostSelector() = default;
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  DoubleArrayProperty m_maxChi2
60  {this, "MaxChi2Vtx", {35., 25., 20.}, "Chi2 cut"};
61  DoubleArrayProperty m_invMassCut
62  {this, "MaxInvariantMass", {10000., 10000., 10000.}, "Invariant mass cut"};
63  DoubleArrayProperty m_fitMomentum
64  {this, "MinFitMomentum", {0., 0., 0.},
65  "Converted photon reconstructed momentum at vertex cut"};
66  DoubleArrayProperty m_minRadius
67  {this, "MinRadius", {-10000., -10000., -10000.},
68  "Converted photon reconstructed vertex radial position cut"};
69  DoubleProperty m_minPt {this, "MinPt", 0.,
70  "Pt of the two participating tracks at the vertex"};
71  DoubleProperty m_maxdR {this, "MaxdR", -10000.,
72  "Distance of first track hit- reconstructed vertex radial position"};
73  DoubleProperty m_maxPhiVtxTrk{this, "MaxPhiVtxTrk", 0.2,
74  "Maximum difference in phi between reconstructed vertex and track at vertex"};
75  BooleanProperty m_decorateVertices{this, "DecorateVertices", true,
76  "Decorate vertices with values used for vertex selection"};
77 
78 
80  static constexpr double m_massK0 = 497.672;
81  static constexpr double m_sigmaK0 = 8.5;
82  static constexpr double m_massLambda = 1115.683;
83  static constexpr double m_sigmaLambda = 3.5;
84  IntegerProperty m_nsig{this, "NSigma", 5};
85 
86 
88  CLHEP::HepLorentzVector fourP(const Trk::TrackParameters&, const Trk::TrackParameters&, double, bool) const;
89  };
90 
91 }
92 #endif // INDETCONVERSIONFINDERTOOLS_CONVERSIONPOSTSELECTOR_H
93 
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:239
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:73
TrackParameters.h
InDet::ConversionPostSelector::m_massK0
static constexpr double m_massK0
Masses and mass ranges for different V0 hypotheses.
Definition: ConversionPostSelector.h:80
InDet::ConversionPostSelector::m_decorateVertices
BooleanProperty m_decorateVertices
Definition: ConversionPostSelector.h:75
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::ConversionPostSelector::m_minPt
DoubleProperty m_minPt
Definition: ConversionPostSelector.h:69
GeoPrimitives.h
InDet::ConversionPostSelector::m_sigmaLambda
static constexpr double m_sigmaLambda
Definition: ConversionPostSelector.h:83
InDet::ConversionPostSelector::m_sigmaK0
static constexpr double m_sigmaK0
Definition: ConversionPostSelector.h:81
InDet::ConversionPostSelector::m_maxdR
DoubleProperty m_maxdR
Definition: ConversionPostSelector.h:71
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: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:60
InDet::ConversionPostSelector::m_minRadius
DoubleArrayProperty m_minRadius
Definition: ConversionPostSelector.h:67
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:221
InDet::ConversionPostSelector::m_nsig
IntegerProperty m_nsig
Definition: ConversionPostSelector.h:84
InDet::ConversionPostSelector::m_massLambda
static constexpr double m_massLambda
Definition: ConversionPostSelector.h:82
VertexFwd.h
InDet::ConversionPostSelector::m_fitMomentum
DoubleArrayProperty m_fitMomentum
Definition: ConversionPostSelector.h:64
InDet::ConversionPostSelector::m_invMassCut
DoubleArrayProperty m_invMassCut
Definition: ConversionPostSelector.h:62
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
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
AthAlgTool
Definition: AthAlgTool.h:26
InDet::ConversionPostSelector
Definition: ConversionPostSelector.h:28