5#ifndef INDETCONVERSIONFINDERTOOLS_CONVERSIONPOSTSELECTOR_H
6#define INDETCONVERSIONFINDERTOOLS_CONVERSIONPOSTSELECTOR_H
18 class HepLorentzVector;
37 virtual StatusCode
finalize()
override;
43 std::vector<Amg::Vector3D>& trkL)
const;
46 std::vector<Amg::Vector3D>& trkL,
55 float deltaPhiVtxTrk) ;
61 {
this,
"MaxChi2Vtx", {35., 25., 20.},
"Chi2 cut"};
63 {
this,
"MaxInvariantMass", {10000., 10000., 10000.},
"Invariant mass cut"};
65 {
this,
"MinFitMomentum", {0., 0., 0.},
66 "Converted photon reconstructed momentum at vertex cut"};
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"};
75 "Maximum difference in phi between reconstructed vertex and track at vertex"};
77 "Decorate vertices with values used for vertex selection"};
85 IntegerProperty
m_nsig{
this,
"NSigma", 5};
A number of constexpr particle constants to avoid hardcoding them directly in various places.
bool selectConversionCandidate(xAOD::Vertex *myCandidate, int flag, std::vector< Amg::Vector3D > &trkL) const
Conversion candidate post-fit selectors.
DoubleArrayProperty m_fitMomentum
DoubleArrayProperty m_invMassCut
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.
DoubleProperty m_maxPhiVtxTrk
bool selectSecVtxCandidate(xAOD::Vertex *myCandidate, int flag, std::vector< Amg::Vector3D > &trkL, int &) const
BooleanProperty m_decorateVertices
static constexpr double m_sigmaLambda
static constexpr double m_massK0
Masses and mass ranges for different V0 hypotheses.
virtual StatusCode finalize() override
static constexpr double m_sigmaK0
virtual ~ConversionPostSelector()=default
static const InterfaceID & interfaceID()
DoubleArrayProperty m_minRadius
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.
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.