ATLAS Offline Software
Loading...
Searching...
No Matches
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
11#include "GeoPrimitives/GeoPrimitives.h" //Amg::Vector3D typedef
13#include <vector>
14
15
16
17namespace CLHEP{
18 class HepLorentzVector;
19}
20
21namespace InDet {
22
28
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
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
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
A number of constexpr particle constants to avoid hardcoding them directly in various places.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
bool selectConversionCandidate(xAOD::Vertex *myCandidate, int flag, std::vector< Amg::Vector3D > &trkL) const
Conversion candidate post-fit selectors.
static constexpr double m_massLambda
ConversionPostSelector(const std::string &type, const std::string &name, const IInterface *parent)
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.
DoubleArrayProperty m_maxChi2
Properties for track selection: all cuts are ANDed.
bool selectSecVtxCandidate(xAOD::Vertex *myCandidate, int flag, std::vector< Amg::Vector3D > &trkL, int &) const
static constexpr double m_sigmaLambda
static constexpr double m_massK0
Masses and mass ranges for different V0 hypotheses.
virtual StatusCode finalize() override
virtual ~ConversionPostSelector()=default
static const InterfaceID & interfaceID()
virtual StatusCode initialize() override
static CLHEP::HepLorentzVector fourP(const Trk::TrackParameters &, const Trk::TrackParameters &, double, bool)
Compute the four-momentum of a particle according to a mass hypothesis.
Primary Vertex Finder.
constexpr double KZeroMassInMeV
the mass of the neutral kaon (K0) (in MeV)
constexpr double lambdaMassInMeV
the mass of the lambda baryon (in MeV)
ParametersBase< TrackParametersDim, Charged > TrackParameters
Vertex_v1 Vertex
Define the latest version of the vertex class.