ATLAS Offline Software
InDetJetFitterVxFinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /***************************************************************************
6  InDetJetFitterVxFinder.cxx - Description
7  -------------------
8 
9  begin : March 2007
10  authors: Giacinto Piacquadio (University of Freiburg),
11  Christian Weiser (University of Freiburg)
12  email : nicola.giacinto.piacquadio@cern.ch,
13  christian.weiser@cern.ch
14  changes: new!
15 
16  2007 (c) Atlas Detector Software
17 
18  This class implements the finder functionality for using
19  the JetFitter algorithm. It uses as input a ParticleJet and
20  then gives the VxJetCandidate out after having performed the
21  fit.
22 
23  ***************************************************************************/
24 
25 #ifndef TrkJetVxFitter_InDetJetFitterVxFinder_H
26 #define TrkJetVxFitter_InDetJetFitterVxFinder_H
27 
28 #include "GaudiKernel/ToolHandle.h"
34 
35 namespace Trk {
36  class VxSecVertexInfo;
37  class VxJetCandidate;
38  class RecVertex;
39  class JetFitterInitializationHelper;
40  class JetFitterHelper;
41  class JetFitterRoutines;
42  class ITrackSelectorTool;
43 }
44 
45 namespace xAOD
46 {
47  class IParticle;
48 }
49 
50 namespace InDet {
51 
52 
54  {
55 
56  public:
57 
58 
59  virtual StatusCode initialize() override;
60 
61  InDetJetFitterVxFinder(const std::string& t, const std::string& n, const IInterface* p);
62 
64 
65  virtual
66  Trk::VxSecVertexInfo* findSecVertex(const xAOD::Vertex & /*primaryVertex*/,
67  const TLorentzVector & /*jetMomentum*/,
68  const std::vector<const xAOD::IParticle*> & /*inputTracks*/ ) const override
69  {
70  /* not implemented */
71  return 0;
72  }
73 
74  const Trk::VxSecVertexInfo* findSecVertex(const Trk::RecVertex & primaryVertex,
75  const TLorentzVector & jetMomentum,
76  const std::vector<const Trk::TrackParticleBase*> & inputTracks) const;
77 
78  const Trk::VxSecVertexInfo* findSecVertex(const Trk::RecVertex & primaryVertex,
79  const TLorentzVector & jetMomentum,
80  const std::vector<const Trk::TrackParticleBase*> & firstInputTracks,
81  const std::vector<const Trk::TrackParticleBase*> & secondInputTracks,
82  const Amg::Vector3D & vtxSeedDirection) const;
83 
84  private:
85 
86  void doTheFit(Trk::VxJetCandidate* myJetCandidate,
87  bool performClustering=true) const;
88 
89  ToolHandle< Trk::JetFitterInitializationHelper > m_initializationHelper {this,"JetFitterInitializationHelper","Trk::JetFitterInitializationHelper",""};
90  ToolHandle< Trk::JetFitterHelper > m_helper {this,"JetFitterHelper","Trk::JetFitterHelper",""};
91  ToolHandle< Trk::JetFitterRoutines > m_routines {this,"JetFitterRoutines","Trk::JetFitterRoutines",""};
92  ToolHandle< Trk::ITrackSelectorTool > m_trkFilter {this,"TrackSelector","InDet::InDetDetailedTrackSelectorTool",""};
93 
94 
95  Gaudi::Property< int > m_maxNumDeleteIterations {this,"MaxNumDeleteIterations",30,""};
96  Gaudi::Property< float > m_vertexProbCut {this,"VertexProbCut",0.01,""};
97  Gaudi::Property< int > m_maxClusteringIterations {this,"MaxClusteringIterations",30,""};
98  Gaudi::Property< float > m_vertexClusteringProbabilityCut {this,"VertexClusteringProbabilityCut",0.01,""};
99  Gaudi::Property< bool > m_useFastClustering {this,"UseFastClustering",false,""};
100 
101  Gaudi::Property< int > m_maxTracksToFitAtOnce {this,"MaxTracksToFitAtOnce",15,""};
102 
103  };//end class declaration
104 
105 }//end namespace Rec
106 
107 
108 #endif
109 
InDet::InDetJetFitterVxFinder::m_routines
ToolHandle< Trk::JetFitterRoutines > m_routines
Definition: InDetJetFitterVxFinder.h:91
TrackParticleBaseCollection.h
InDet::InDetJetFitterVxFinder::m_maxNumDeleteIterations
Gaudi::Property< int > m_maxNumDeleteIterations
Definition: InDetJetFitterVxFinder.h:95
InDet::ISecVertexInJetFinder
Definition: ISecVertexInJetFinder.h:55
InDet::InDetJetFitterVxFinder::m_initializationHelper
ToolHandle< Trk::JetFitterInitializationHelper > m_initializationHelper
Definition: InDetJetFitterVxFinder.h:89
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
TrackParticleBase.h
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
InDet::InDetJetFitterVxFinder::m_helper
ToolHandle< Trk::JetFitterHelper > m_helper
Definition: InDetJetFitterVxFinder.h:90
InDet::InDetJetFitterVxFinder::findSecVertex
virtual Trk::VxSecVertexInfo * findSecVertex(const xAOD::Vertex &, const TLorentzVector &, const std::vector< const xAOD::IParticle * > &) const override
Definition: InDetJetFitterVxFinder.h:66
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ISecVertexInJetFinder.h
Trk::RecVertex
Trk::RecVertex inherits from Trk::Vertex.
Definition: RecVertex.h:44
InDet::InDetJetFitterVxFinder::InDetJetFitterVxFinder
InDetJetFitterVxFinder(const std::string &t, const std::string &n, const IInterface *p)
Definition: InDetJetFitterVxFinder.cxx:78
InDet::InDetJetFitterVxFinder::m_maxTracksToFitAtOnce
Gaudi::Property< int > m_maxTracksToFitAtOnce
Definition: InDetJetFitterVxFinder.h:101
InDet::InDetJetFitterVxFinder::~InDetJetFitterVxFinder
~InDetJetFitterVxFinder()
GeoPrimitives.h
InDet::InDetJetFitterVxFinder::m_trkFilter
ToolHandle< Trk::ITrackSelectorTool > m_trkFilter
Definition: InDetJetFitterVxFinder.h:92
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
python.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:183
InDet::InDetJetFitterVxFinder
Definition: InDetJetFitterVxFinder.h:54
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::InDetJetFitterVxFinder::m_useFastClustering
Gaudi::Property< bool > m_useFastClustering
Definition: InDetJetFitterVxFinder.h:99
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::InDetJetFitterVxFinder::m_maxClusteringIterations
Gaudi::Property< int > m_maxClusteringIterations
Definition: InDetJetFitterVxFinder.h:97
Trk::VxSecVertexInfo
Definition: VxSecVertexInfo.h:63
Trk::VxJetCandidate
Definition: VxJetCandidate.h:72
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
InDet::InDetJetFitterVxFinder::doTheFit
void doTheFit(Trk::VxJetCandidate *myJetCandidate, bool performClustering=true) const
Definition: InDetJetFitterVxFinder.cxx:284
AthAlgTool
Definition: AthAlgTool.h:26
InDet::InDetJetFitterVxFinder::m_vertexClusteringProbabilityCut
Gaudi::Property< float > m_vertexClusteringProbabilityCut
Definition: InDetJetFitterVxFinder.h:98
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
InDet::InDetJetFitterVxFinder::m_vertexProbCut
Gaudi::Property< float > m_vertexProbCut
Definition: InDetJetFitterVxFinder.h:96
InDet::InDetJetFitterVxFinder::initialize
virtual StatusCode initialize() override
Definition: InDetJetFitterVxFinder.cxx:88