ATLAS Offline Software
InDetImprovedJetFitterVxFinder.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 
6 /***************************************************************************
7  InDetImprovedJetFitterVxFinder.cxx - Description
8  -------------------
9 
10  begin : January 2008!
11  authors: Giacinto Piacquadio (University of Freiburg),
12  Christian Weiser (University of Freiburg)
13  email : nicola.giacinto.piacquadio@cern.ch,
14  christian.weiser@cern.ch
15  changes: second version in January 2008!
16 
17  2008 (c) Atlas Detector Software
18 
19  This class implements the finder functionality for using
20  the JetFitter algorithm. It uses as input a ParticleJet and
21  then gives the VxJetCandidate out after having performed the
22  fit.
23 
24  SECOND VERSION: many improvements, detailed reconstruction of conversions,
25  KS and Lambdas. KS are even used in the multi vertex fit in JetFitter in a
26  region of space of enough purity to allow it.
27 
28  ***************************************************************************/
29 
30 #ifndef TrkJetVxFitter_InDetImprovedJetFitterVxFinder_H
31 #define TrkJetVxFitter_InDetImprovedJetFitterVxFinder_H
32 
35 #include "GaudiKernel/ToolHandle.h"
36 
39 
40 namespace Trk {
41  class TrackParticleBase;
42  class VxSecVertexInfo;
43  class VxJetCandidate;
44  class RecVertex;
45 }
46 
47 // Hackathon: add any new package here
48 namespace InDet {
49  class JetFitterTrackSelectorTool;
50  class JetFitterTwoTrackVtxFinderTool;
51  class JetFitterV0FinderTool;
52  class JetFitterMultiStageFit;
53 }
54 
55 namespace xAOD
56 {
57  class IParticle;
58 }
59 
60 namespace InDet {
61 
63  {
64 
65  public:
66 
67 
68  virtual StatusCode initialize() override;
69 
70  InDetImprovedJetFitterVxFinder(const std::string& t, const std::string& n, const IInterface* p);
71 
73 
74 
75  virtual Trk::VxSecVertexInfo* findSecVertex(const xAOD::Vertex & primaryVertex,
76  const TLorentzVector & jetMomentum,
77  const std::vector<const xAOD::IParticle*> & inputTracks) const override;
78 
82  virtual std::vector<std::string> trackDecorationNames() const override;
83 
84 
85  private:
86 
87  void sortTrackCollectionByPt( std::vector< const Trk::ITrackLink* >& ) const;
88 
89  static Trk::VxJetCandidate* findSecVertex(const Trk::RecVertex & primaryVertex,
90  const TLorentzVector & jetMomentum,
91  const std::vector<const Trk::ITrackLink*> & firstInputTracks,
92  const std::vector<const Trk::ITrackLink*> & secondInputTracks,
93  const Amg::Vector3D & vtxSeedDirection) ;
94 
95 
96  void doTheFit(Trk::VxJetCandidate* myJetCandidate,
97  bool performClustering=true) const;
98 
99  private:
100  ToolHandle< JetFitterTrackSelectorTool > m_theTrackSelector {this,"JetFitterTrackSelectorTool","JetFitterTrackSelectorTool/JetFitterTrackSelectorTool",""}; //Hackathon addition
101  ToolHandle< JetFitterTwoTrackVtxFinderTool > m_theTwoTrackVtxFinderTool {this,"JetFitterTwoTrackVtxFinderTool","JetFitterV0FinderTool/JetFitterTwoTrackVtxFinderTool",""}; //Hackathon addition
102  ToolHandle< JetFitterV0FinderTool > m_theV0FinderTool {this,"JetFitterV0FinderTool","JetFitterV0FinderTool/JetFitterV0FinderTool",""}; //Hackathon addition
103  ToolHandle< JetFitterMultiStageFit > m_multiStageFitter {this,"JetFitterMultiStageFit","JetFitterMultiStageFit/JetFitterMultiStageFit",""}; //Hackathon addition
104 
105  };//end class declaration
106 
107 }//end namespace Rec
108 
109 
110 #endif
111 
InDet::InDetImprovedJetFitterVxFinder::~InDetImprovedJetFitterVxFinder
~InDetImprovedJetFitterVxFinder()
InDet::ISecVertexInJetFinder
Definition: ISecVertexInJetFinder.h:55
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::InDetImprovedJetFitterVxFinder::trackDecorationNames
virtual std::vector< std::string > trackDecorationNames() const override
Return a list of the names of track decorations created by this tool, in order to allow them to be lo...
Definition: InDetImprovedJetFitterVxFinder.cxx:254
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
InDet::InDetImprovedJetFitterVxFinder
Definition: InDetImprovedJetFitterVxFinder.h:63
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::InDetImprovedJetFitterVxFinder::doTheFit
void doTheFit(Trk::VxJetCandidate *myJetCandidate, bool performClustering=true) const
Definition: InDetImprovedJetFitterVxFinder.cxx:222
ISecVertexInJetFinder.h
InDet::InDetImprovedJetFitterVxFinder::InDetImprovedJetFitterVxFinder
InDetImprovedJetFitterVxFinder(const std::string &t, const std::string &n, const IInterface *p)
Definition: InDetImprovedJetFitterVxFinder.cxx:86
Trk::RecVertex
Trk::RecVertex inherits from Trk::Vertex.
Definition: RecVertex.h:44
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
python.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:183
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::InDetImprovedJetFitterVxFinder::m_multiStageFitter
ToolHandle< JetFitterMultiStageFit > m_multiStageFitter
Definition: InDetImprovedJetFitterVxFinder.h:103
AthAlgTool.h
LinkToTrackParticleBase.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VxSecVertexInfo
Definition: VxSecVertexInfo.h:63
InDet::InDetImprovedJetFitterVxFinder::initialize
virtual StatusCode initialize() override
Definition: InDetImprovedJetFitterVxFinder.cxx:97
Trk::VxJetCandidate
Definition: VxJetCandidate.h:72
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDet::InDetImprovedJetFitterVxFinder::m_theV0FinderTool
ToolHandle< JetFitterV0FinderTool > m_theV0FinderTool
Definition: InDetImprovedJetFitterVxFinder.h:102
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
InDet::InDetImprovedJetFitterVxFinder::m_theTrackSelector
ToolHandle< JetFitterTrackSelectorTool > m_theTrackSelector
Definition: InDetImprovedJetFitterVxFinder.h:100
InDet::InDetImprovedJetFitterVxFinder::sortTrackCollectionByPt
void sortTrackCollectionByPt(std::vector< const Trk::ITrackLink * > &) const
Definition: InDetImprovedJetFitterVxFinder.cxx:227
AthAlgTool
Definition: AthAlgTool.h:26
InDet::InDetImprovedJetFitterVxFinder::findSecVertex
virtual Trk::VxSecVertexInfo * findSecVertex(const xAOD::Vertex &primaryVertex, const TLorentzVector &jetMomentum, const std::vector< const xAOD::IParticle * > &inputTracks) const override
Definition: InDetImprovedJetFitterVxFinder.cxx:123
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
InDet::InDetImprovedJetFitterVxFinder::m_theTwoTrackVtxFinderTool
ToolHandle< JetFitterTwoTrackVtxFinderTool > m_theTwoTrackVtxFinderTool
Definition: InDetImprovedJetFitterVxFinder.h:101