ATLAS Offline Software
JetFitterV0FinderTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef JETFITTER_V0FINDER_TOOL_H
6 #define JETFITTER_V0FINDER_TOOL_H 1
7 
9 #include "GaudiKernel/ToolHandle.h"
10 
16 
17 #include <TH2D.h>
18 
20 
21 namespace InDetDD {
22  class PixelDetectorManager;
23 }
24 
25 namespace InDet {
26 
27  static const InterfaceID IID_JetFitterV0FinderTool("JetFitterV0FinderTool", 1, 0);
28 
30  public:
31 
32  static const InterfaceID& interfaceID() {
33  return IID_JetFitterV0FinderTool;
34  }
35 
38 
39  JetFitterV0FinderTool(const std::string &t, const std::string &n, const IInterface *p);
41 
43  const TLorentzVector&,
44  std::vector< const Trk::ITrackLink* >&,
45  const std::vector< const xAOD::Vertex* >&,
46  std::vector< const Trk::ITrackLink* >&,
47  std::vector< const Trk::ITrackLink* >&,
48  Amg::Vector3D& ) const;
49 
50  private:
51  std::vector< const xAOD::Vertex* > findV0candidates( const xAOD::Vertex&,
52  const TLorentzVector&,
53  std::vector< const Trk::ITrackLink* >&,
54  const std::vector< const xAOD::Vertex* >& ) const;
55 
57  const TLorentzVector&,
58  const xAOD::Vertex& ) const;
59 
61  const Trk::ITrackLink* ) const;
62 
64  const TLorentzVector&,
65  const std::vector< Trk::PositionAndWeight >& ) const;
66 
67  private:
68  ToolHandle< InDet::InDetJetFitterUtils > m_jetFitterUtils {this,"InDetJetFitterUtils","InDet::InDetJetFitterUtils/InDetJetFitterUtils",""};
69  ToolHandle< Trk::IMode3dFinder > m_mode3dfinder {this,"Mode3dFinder","Trk::Mode3dTo1dFinder/Mode3dTo1dFinder",""};
70 
71  private:
74 
75  private:
76  // @brief
77  Gaudi::Property< bool > m_revertFromPositiveToNegativeTags {this,"revertFromPositiveToNegativeTags",false,""};
78 
79  Gaudi::Property< double > m_cutTwoTrkVtxVertexProbForBFirstSelectionFirstCriterium {this,"cutTwoTrkVtxVtxProbForBFirstSelectCriteriumA",0.05,""};
80  Gaudi::Property< double > m_cutTwoTrkVtxVertexProbForBFirstSelectionSecondCriterium {this,"cutTwoTrkVtxVtxProbForBFirstSelectCriteriumB",0.034,""};
81 
82  Gaudi::Property< double > m_cutCompatibilityPrimaryVertexSingleTrackForBFirstSelection {this,"cutCompatibilityPrimaryVertexSingleTrackForBFirstSelection",1e-1,""};
83  Gaudi::Property< double > m_cutCompatibilityPrimaryVertexBothTracksForBFirstSelection {this,"cutCompatibilityPrimaryVertexBothTracksForBFirstSelection",1e-2,""};
84  Gaudi::Property< double > m_cutIPD0BothTracksForBFirstSelection {this,"cutIPD0BothTracksForBFirstSelection",3.5,""};
85  Gaudi::Property< double > m_cutIPZ0BothTracksForBFirstSelection {this,"cutIPZ0BothTracksForBFirstSelection",5.,""};
86  Gaudi::Property< double > m_cutPtBothTracksForBFirstSelection {this,"cutPtBothTracksForBFirstSelection",500.,""};
87 
88  Gaudi::Property< double > m_cutTwoTrkVtxLifetimeSignificanceForBFirstSelectionFirstCriterium {this,"cutTwoTrkVtxLifeSignForBFirstSelectCriteriumA",1.,""};
89  Gaudi::Property< double > m_cutTwoTrkVtxLifetimeSignificanceForBFirstSelectionSecondCriterium {this,"cutTwoTrkVtxLifeSignForBFirstSelectCriteriumB",1.5,""};
90  Gaudi::Property< double > m_cutCompatibilityToPrimarySingleTrackForMatInteractions {this,"cutCompToPrimarySingleTrackForMatInterac",1e-4,""};
91  Gaudi::Property< double > m_cutCompatibilityToPrimaryBothTracksForMatInteractions {this,"cutCompToPrimaryBothTracksForMatInterac",1e-6,""};
92 
93 
94  Gaudi::Property< double > m_firstLayer_min {this,"firstLayer_min",34.0-2.5,""};
95  Gaudi::Property< double > m_firstLayer_max {this,"firstLayer_max",34.0+2.5,""};
96  Gaudi::Property< double > m_secondLayer_min {this,"secondLayer_min",51.5-3,""};
97  Gaudi::Property< double > m_secondLayer_max {this,"secondLayer_max",51.5+3,""};
98 
99  Gaudi::Property< double > m_cutCompatibilityPrimaryVertexSinglePositiveLifetimeTrackForBSecondSelection {this,"cutCompPVSinglePosLifeTrackForBSecondSelect",5e-2,""};
100  Gaudi::Property< double > m_cutCompatibilityPrimaryVertexSingleNegativeLifetimeTrackForBSecondSelection {this,"cutCompPVSingleNegLifeTrackForBSecondSelect",1e-2,""};
101  Gaudi::Property< double > m_cutIPD0SigBoxSingleTrackForBSecondSelection {this,"cutIPD0SigBoxSingleTrackForBSecondSelection",2.,""};
102  Gaudi::Property< double > m_cutIPZ0SigBoxSingleTrackForBSecondSelection {this,"cutIPZ0SigBoxSingleTrackForBSecondSelection",5.,""};
103 
104  Gaudi::Property< double > m_cutIPD0SingleTrackForBSecondSelection {this,"cutIPD0SingleTrackForBSecondSelection",1.5,""};
105  Gaudi::Property< double > m_cutIPZ0SingleTrackForBSecondSelection {this,"cutIPZ0SingleTrackForBSecondSelection",3.,""};
106  Gaudi::Property< double > m_cutPtSingleTrackForBSecondSelection {this,"cutPtSingleTrackForBSecondSelection",750,""};
107 
108  Gaudi::Property< bool > m_useITkMaterialRejection {this,"useITkMaterialRejection",false,"Reject vertices from hadronic interactions in detector material using ITk layout"};
111  std::unique_ptr<TH2D> m_ITkPixMaterialMap;
112 
113  };
114 
115 }
116 
117 #endif
InDet::JetFitterV0FinderTool::checkCriteriaSecondFit
bool checkCriteriaSecondFit(const xAOD::Vertex &, const Trk::ITrackLink *) const
Definition: JetFitterV0FinderTool.cxx:334
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
IVertexSeedFinder.h
InDet::JetFitterV0FinderTool::m_cutIPD0SigBoxSingleTrackForBSecondSelection
Gaudi::Property< double > m_cutIPD0SigBoxSingleTrackForBSecondSelection
Definition: JetFitterV0FinderTool.h:101
InDet::JetFitterV0FinderTool::m_firstLayer_min
Gaudi::Property< double > m_firstLayer_min
Definition: JetFitterV0FinderTool.h:94
InDet::JetFitterV0FinderTool
Definition: JetFitterV0FinderTool.h:29
InDet::JetFitterV0FinderTool::m_cutTwoTrkVtxVertexProbForBFirstSelectionSecondCriterium
Gaudi::Property< double > m_cutTwoTrkVtxVertexProbForBFirstSelectionSecondCriterium
Definition: JetFitterV0FinderTool.h:80
InDet::JetFitterV0FinderTool::m_cutTwoTrkVtxLifetimeSignificanceForBFirstSelectionFirstCriterium
Gaudi::Property< double > m_cutTwoTrkVtxLifetimeSignificanceForBFirstSelectionFirstCriterium
Definition: JetFitterV0FinderTool.h:88
InDet::JetFitterV0FinderTool::m_firstLayer_max
Gaudi::Property< double > m_firstLayer_max
Definition: JetFitterV0FinderTool.h:95
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
InDet::JetFitterV0FinderTool::JetFitterV0FinderTool
JetFitterV0FinderTool(const std::string &t, const std::string &n, const IInterface *p)
Definition: JetFitterV0FinderTool.cxx:15
InDet::JetFitterV0FinderTool::m_cutCompatibilityToPrimarySingleTrackForMatInteractions
Gaudi::Property< double > m_cutCompatibilityToPrimarySingleTrackForMatInteractions
Definition: JetFitterV0FinderTool.h:90
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::JetFitterV0FinderTool::interfaceID
static const InterfaceID & interfaceID()
Definition: JetFitterV0FinderTool.h:32
InDet::JetFitterV0FinderTool::m_secondLayer_max
Gaudi::Property< double > m_secondLayer_max
Definition: JetFitterV0FinderTool.h:97
InDetJetFitterUtils.h
InDet::JetFitterV0FinderTool::m_pixelManager
const InDetDD::PixelDetectorManager * m_pixelManager
Definition: JetFitterV0FinderTool.h:110
InDet::JetFitterV0FinderTool::m_cutCompatibilityPrimaryVertexSinglePositiveLifetimeTrackForBSecondSelection
Gaudi::Property< double > m_cutCompatibilityPrimaryVertexSinglePositiveLifetimeTrackForBSecondSelection
Definition: JetFitterV0FinderTool.h:99
InDet::JetFitterV0FinderTool::m_cutIPZ0SingleTrackForBSecondSelection
Gaudi::Property< double > m_cutIPZ0SingleTrackForBSecondSelection
Definition: JetFitterV0FinderTool.h:105
InDet::JetFitterV0FinderTool::m_compatibilityAccessor
SG::AuxElement::Accessor< float > m_compatibilityAccessor
Definition: JetFitterV0FinderTool.h:72
InDet::JetFitterV0FinderTool::computeSeedDirection
Amg::Vector3D computeSeedDirection(const xAOD::Vertex &, const TLorentzVector &, const std::vector< Trk::PositionAndWeight > &) const
Definition: JetFitterV0FinderTool.cxx:396
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::JetFitterV0FinderTool::m_cutCompatibilityToPrimaryBothTracksForMatInteractions
Gaudi::Property< double > m_cutCompatibilityToPrimaryBothTracksForMatInteractions
Definition: JetFitterV0FinderTool.h:91
InDet::JetFitterV0FinderTool::m_cutTwoTrkVtxLifetimeSignificanceForBFirstSelectionSecondCriterium
Gaudi::Property< double > m_cutTwoTrkVtxLifetimeSignificanceForBFirstSelectionSecondCriterium
Definition: JetFitterV0FinderTool.h:89
InDet::JetFitterV0FinderTool::finalize
StatusCode finalize()
Definition: JetFitterV0FinderTool.cxx:59
InDet::JetFitterV0FinderTool::initialize
StatusCode initialize()
Definition: JetFitterV0FinderTool.cxx:35
InDet::JetFitterV0FinderTool::m_mode3dfinder
ToolHandle< Trk::IMode3dFinder > m_mode3dfinder
Definition: JetFitterV0FinderTool.h:69
InDet::JetFitterV0FinderTool::m_ITkPixMaterialMap
std::unique_ptr< TH2D > m_ITkPixMaterialMap
Definition: JetFitterV0FinderTool.h:111
InDet::JetFitterV0FinderTool::m_secondLayer_min
Gaudi::Property< double > m_secondLayer_min
Definition: JetFitterV0FinderTool.h:96
InDet::JetFitterV0FinderTool::m_useITkMaterialRejection
Gaudi::Property< bool > m_useITkMaterialRejection
Definition: JetFitterV0FinderTool.h:108
InDet::JetFitterV0FinderTool::m_tracksAccessor
SG::AuxElement::Accessor< std::vector< const Trk::ITrackLink * > > m_tracksAccessor
Definition: JetFitterV0FinderTool.h:73
Trk::TwoTrackVerticesInJet
Definition: TwoTrackVerticesInJet.h:45
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
InDet::JetFitterV0FinderTool::m_cutIPD0BothTracksForBFirstSelection
Gaudi::Property< double > m_cutIPD0BothTracksForBFirstSelection
Definition: JetFitterV0FinderTool.h:84
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
InDet::JetFitterV0FinderTool::findV0candidates
std::vector< const xAOD::Vertex * > findV0candidates(const xAOD::Vertex &, const TLorentzVector &, std::vector< const Trk::ITrackLink * > &, const std::vector< const xAOD::Vertex * > &) const
Definition: JetFitterV0FinderTool.cxx:149
InDet::JetFitterV0FinderTool::m_cutPtSingleTrackForBSecondSelection
Gaudi::Property< double > m_cutPtSingleTrackForBSecondSelection
Definition: JetFitterV0FinderTool.h:106
InDet::JetFitterV0FinderTool::~JetFitterV0FinderTool
~JetFitterV0FinderTool()
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
InDet::JetFitterV0FinderTool::m_cutPtBothTracksForBFirstSelection
Gaudi::Property< double > m_cutPtBothTracksForBFirstSelection
Definition: JetFitterV0FinderTool.h:86
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDet::JetFitterV0FinderTool::m_cutIPD0SingleTrackForBSecondSelection
Gaudi::Property< double > m_cutIPD0SingleTrackForBSecondSelection
Definition: JetFitterV0FinderTool.h:104
IVertexFitter.h
InDet::JetFitterV0FinderTool::m_cutTwoTrkVtxVertexProbForBFirstSelectionFirstCriterium
Gaudi::Property< double > m_cutTwoTrkVtxVertexProbForBFirstSelectionFirstCriterium
Definition: JetFitterV0FinderTool.h:79
InDet::JetFitterV0FinderTool::m_cutIPZ0BothTracksForBFirstSelection
Gaudi::Property< double > m_cutIPZ0BothTracksForBFirstSelection
Definition: JetFitterV0FinderTool.h:85
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
InDet::JetFitterV0FinderTool::m_revertFromPositiveToNegativeTags
Gaudi::Property< bool > m_revertFromPositiveToNegativeTags
Definition: JetFitterV0FinderTool.h:77
InDet::JetFitterV0FinderTool::m_jetFitterUtils
ToolHandle< InDet::InDetJetFitterUtils > m_jetFitterUtils
Definition: JetFitterV0FinderTool.h:68
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
IMode3dFinder.h
InDet::JetFitterV0FinderTool::m_beamPipeMgr
const BeamPipeDetectorManager * m_beamPipeMgr
Definition: JetFitterV0FinderTool.h:109
TwoTrackVerticesInJet.h
InDet::JetFitterV0FinderTool::m_cutIPZ0SigBoxSingleTrackForBSecondSelection
Gaudi::Property< double > m_cutIPZ0SigBoxSingleTrackForBSecondSelection
Definition: JetFitterV0FinderTool.h:102
InDet::JetFitterV0FinderTool::m_cutCompatibilityPrimaryVertexBothTracksForBFirstSelection
Gaudi::Property< double > m_cutCompatibilityPrimaryVertexBothTracksForBFirstSelection
Definition: JetFitterV0FinderTool.h:83
AthAlgTool
Definition: AthAlgTool.h:26
InDet::JetFitterV0FinderTool::checkCriteriaFirstFit
bool checkCriteriaFirstFit(const xAOD::Vertex &, const TLorentzVector &, const xAOD::Vertex &) const
Definition: JetFitterV0FinderTool.cxx:177
BeamPipeDetectorManager
Definition: BeamPipeDetectorManager.h:14
InDet::JetFitterV0FinderTool::m_cutCompatibilityPrimaryVertexSingleNegativeLifetimeTrackForBSecondSelection
Gaudi::Property< double > m_cutCompatibilityPrimaryVertexSingleNegativeLifetimeTrackForBSecondSelection
Definition: JetFitterV0FinderTool.h:100
InDet::JetFitterV0FinderTool::m_cutCompatibilityPrimaryVertexSingleTrackForBFirstSelection
Gaudi::Property< double > m_cutCompatibilityPrimaryVertexSingleTrackForBFirstSelection
Definition: JetFitterV0FinderTool.h:82
InDet::JetFitterV0FinderTool::doV0Finding
const Trk::TwoTrackVerticesInJet * doV0Finding(const xAOD::Vertex &, const TLorentzVector &, std::vector< const Trk::ITrackLink * > &, const std::vector< const xAOD::Vertex * > &, std::vector< const Trk::ITrackLink * > &, std::vector< const Trk::ITrackLink * > &, Amg::Vector3D &) const
Definition: JetFitterV0FinderTool.cxx:65