 |
ATLAS Offline Software
|
Go to the documentation of this file.
15 #ifndef _VKalVrt_TwoTrackVrtBDTSelector_H
16 #define _VKalVrt_TwoTrackVrtBDTSelector_H
21 #include "GaudiKernel/ToolHandle.h"
22 #include "GaudiKernel/ServiceHandle.h"
28 namespace Trk{
class TrkVKalVrtFitter; }
48 bool isgood(
const std::pair<const xAOD::TrackParticle*,const xAOD::TrackParticle*> tracks,
50 std::pair<ROOT::Math::XYZTVector,ROOT::Math::XYZTVector> moms,
52 bool isgood(
const std::pair<const xAOD::TrackParticle*,const xAOD::TrackParticle*> tracks,
54 std::pair<ROOT::Math::XYZTVector,ROOT::Math::XYZTVector> moms,
64 Gaudi::Property<float>
m_vrt2TrMassLimit{
this,
"Vrt2TrMassLimit",4000.,
"Maximal allowed mass for 2-track vertices" };
65 Gaudi::Property<float>
m_vrt2TrPtMin{
this,
"Vrt2TrPtMin", 1000.,
"Minimal allowed Pt for 2-track vertices." };
66 Gaudi::Property<float>
m_vrt2TrPtMax{
this,
"Vrt2TrPtMax", 5.e5,
"Maximal allowed Pt for 2-track vertices. Calibration limit" };
67 Gaudi::Property<float>
m_sel2VrtProbCut{
this,
"Sel2VrtProbCut", 0.02,
"Cut on probability of 2-track vertex for initial selection" };
68 Gaudi::Property<float>
m_maxSVRadiusCut{
this,
"MaxSVRadiusCut", 140.,
"Cut on maximal radius of SV (def = Pixel detector size)" };
69 Gaudi::Property<float>
m_cosSVPVCut{
this,
"cosSVPVCut", 0.,
"Cut on cos of angle between SV-PV and full vertex momentum" };
72 Gaudi::Property<bool>
m_do2TrkIBLChecks {
this,
"do2TrkIBLChecks",
true,
"IBL and B-layer hit requrirements based on the position of 2-track DV." };
73 Gaudi::Property<bool>
m_useVertexCleaning{
this,
"useVertexCleaning",
true,
"Clean vertices by requiring pixel hit presence according to vertex position" };
74 Gaudi::Property<float>
m_firstPixelLayerR{
this,
"FirstPixelLayerR", 32.0,
"Radius of the first Pixel layer" };
77 Gaudi::Property<float>
m_v2tBDTCut{
this,
"v2tBDTCut", -0.5,
"BDT cut to select 2-track vertices" };
78 Gaudi::Property<std::string>
m_calibFileName{
this,
"CalibFileName",
"Fake2TrVertexReject.MVA.v02.root",
" MVA calibration file for 2-track fake vertices removal" };
82 ToolHandle<Trk::TrkVKalVrtFitter>
m_fitSvc{
this,
"VertexFitterTool",
"Trk::TrkVKalVrtFitter/VertexFitterTool",
"Vertex Fitter tool for 2-track selector"};
Gaudi::Property< bool > m_useVertexCleaning
bool isgood(const std::pair< const xAOD::TrackParticle *, const xAOD::TrackParticle * > tracks, const xAOD::Vertex &candV, std::pair< ROOT::Math::XYZTVector, ROOT::Math::XYZTVector > moms, const xAOD::Vertex &tPV) const final
Gaudi::Property< float > m_cosSVPVCut
Gaudi::Property< std::string > m_calibFileName
Gaudi::Property< float > m_vrt2TrPtMin
ToolHandle< Trk::TrkVKalVrtFitter > m_fitSvc
Gaudi::Property< float > m_sel2VrtProbCut
Gaudi::Property< float > m_maxSVRadiusCut
std::unique_ptr< MVAUtils::BDT > m_SV2T_BDT
std::string m_instanceName
Gaudi::Property< float > m_firstPixelLayerR
virtual ~TwoTrackVrtBDTSelector()
Name: MuonSpContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.
::StatusCode StatusCode
StatusCode definition for legacy code.
Ensure that the ATLAS eigen extensions are properly loaded.
Gaudi::Property< float > m_vrt2TrPtMax
Gaudi::Property< bool > m_do2TrkIBLChecks
Eigen::Matrix< double, 3, 1 > Vector3D
static double vrtRadiusError(const Amg::Vector3D &secVrt, const std::vector< float > &vrtErr)
TwoTrackVrtBDTSelector(const std::string &type, const std::string &name, const IInterface *parent)
Class describing a Vertex.
Gaudi::Property< float > m_v2tBDTCut
Gaudi::Property< float > m_vrt2TrMassLimit
Class describing a TrackParticle.
static int getBLHit(const xAOD::TrackParticle *Part)
static int getIBLHit(const xAOD::TrackParticle *Part)