ATLAS Offline Software
Loading...
Searching...
No Matches
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
40namespace Trk {
42 class VxSecVertexInfo;
43 class VxJetCandidate;
44 class RecVertex;
45}
46
47// Hackathon: add any new package here
48namespace InDet {
53}
54
55namespace xAOD
56{
57 class IParticle;
58}
59
60namespace 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
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
virtual Trk::VxSecVertexInfo * findSecVertex(const xAOD::Vertex &primaryVertex, const TLorentzVector &jetMomentum, const std::vector< const xAOD::IParticle * > &inputTracks) const override
InDetImprovedJetFitterVxFinder(const std::string &t, const std::string &n, const IInterface *p)
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...
ToolHandle< JetFitterTrackSelectorTool > m_theTrackSelector
void sortTrackCollectionByPt(std::vector< const Trk::ITrackLink * > &) const
ToolHandle< JetFitterMultiStageFit > m_multiStageFitter
ToolHandle< JetFitterTwoTrackVtxFinderTool > m_theTwoTrackVtxFinderTool
ToolHandle< JetFitterV0FinderTool > m_theV0FinderTool
void doTheFit(Trk::VxJetCandidate *myJetCandidate, bool performClustering=true) const
Trk::RecVertex inherits from Trk::Vertex.
Definition RecVertex.h:44
Class providing the definition of the 4-vector interface.
Eigen::Matrix< double, 3, 1 > Vector3D
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Vertex_v1 Vertex
Define the latest version of the vertex class.