ATLAS Offline Software
InDetImprovedJetFitterVxFinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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 
79  private:
80 
81  void sortTrackCollectionByPt( std::vector< const Trk::ITrackLink* >& ) const;
82 
83  static Trk::VxJetCandidate* findSecVertex(const Trk::RecVertex & primaryVertex,
84  const TLorentzVector & jetMomentum,
85  const std::vector<const Trk::ITrackLink*> & firstInputTracks,
86  const std::vector<const Trk::ITrackLink*> & secondInputTracks,
87  const Amg::Vector3D & vtxSeedDirection) ;
88 
89 
90  void doTheFit(Trk::VxJetCandidate* myJetCandidate,
91  bool performClustering=true) const;
92 
93  private:
94  ToolHandle< JetFitterTrackSelectorTool > m_theTrackSelector {this,"JetFitterTrackSelectorTool","JetFitterTrackSelectorTool/JetFitterTrackSelectorTool",""}; //Hackathon addition
95  ToolHandle< JetFitterTwoTrackVtxFinderTool > m_theTwoTrackVtxFinderTool {this,"JetFitterTwoTrackVtxFinderTool","JetFitterV0FinderTool/JetFitterTwoTrackVtxFinderTool",""}; //Hackathon addition
96  ToolHandle< JetFitterV0FinderTool > m_theV0FinderTool {this,"JetFitterV0FinderTool","JetFitterV0FinderTool/JetFitterV0FinderTool",""}; //Hackathon addition
97  ToolHandle< JetFitterMultiStageFit > m_multiStageFitter {this,"JetFitterMultiStageFit","JetFitterMultiStageFit/JetFitterMultiStageFit",""}; //Hackathon addition
98 
99  };//end class declaration
100 
101 }//end namespace Rec
102 
103 
104 #endif
105 
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
InDet::InDetImprovedJetFitterVxFinder::~InDetImprovedJetFitterVxFinder
~InDetImprovedJetFitterVxFinder()
InDet::ISecVertexInJetFinder
Definition: ISecVertexInJetFinder.h:55
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
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.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:168
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:97
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:96
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
InDet::InDetImprovedJetFitterVxFinder::m_theTrackSelector
ToolHandle< JetFitterTrackSelectorTool > m_theTrackSelector
Definition: InDetImprovedJetFitterVxFinder.h:94
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:95