ATLAS Offline Software
JetSecVertexingAlg.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 #ifndef BTAGGING_JETSECVERTEXINGALG_H
6 #define BTAGGING_JETSECVERTEXINGALG_H
7 
9 #include "GaudiKernel/ToolHandle.h"
10 
11 namespace InDet {
12  class ISecVertexInJetFinder;
13 }
14 
15 #include <string>
16 
17 #include "xAODJet/JetContainer.h"
23 
25 
29 
30 namespace Trk{
31 
32  class VxSecVKalVertexInfo;
33  class VxJetFitterVertexInfo;
34 
35 }
36 
38 namespace Analysis
39 {
40 
42  {
43  public:
45  JetSecVertexingAlg(const std::string& name, ISvcLocator *pSvcLocator);
46  virtual ~JetSecVertexingAlg() = default;
47 
49  virtual StatusCode initialize() override;
50  virtual StatusCode execute(const EventContext& ctx) const override;
51 
52  private:
53 
56 
57  ToolHandle<IMSVVariablesFactory> m_MSVvarFactory;
58 
60 
61  SG::ReadHandleKey<xAOD::JetContainer > m_JetCollectionName {this, "JetCollectionName", "", "Input jet container"};
62  SG::ReadHandleKey<xAOD::TrackParticleContainer > m_TrackCollectionName {this, "TrackCollectionName", "", "Input track container"};
63  SG::ReadHandleKey<xAOD::VertexContainer> m_VertexCollectionName {this, "vxPrimaryCollectionName", "", "Input primary vertex container"};
64  SG::ReadHandleKey<Trk::VxSecVertexInfoContainer> m_VxSecVertexInfoName {this, "BTagVxSecVertexInfoName", "", "Input VxSecVertexInfo container"};
65  SG::WriteHandleKey<xAOD::VertexContainer> m_BTagSVCollectionName {this, "BTagSVCollectionName", "", "Output BTagging secondary vertex container"};
66  Gaudi::Property<SG::WriteDecorHandleKey<xAOD::JetContainer>> m_jetSVLinkName{ this, "JetSecVtxLinkName", "", "Element Link vector from jet to Vertex container"};
67  SG::WriteHandleKey<xAOD::BTagVertexContainer> m_BTagJFVtxCollectionName {this, "BTagJFVtxCollectionName", "", "Output BTagging Jet Fitter container"};
68 
69  }; // End class
70 
71 } // End namespace
72 
73 #endif // JETSECVERTEXINGALG_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
Analysis::JetSecVertexingAlg::m_VxSecVertexInfoName
SG::ReadHandleKey< Trk::VxSecVertexInfoContainer > m_VxSecVertexInfoName
Definition: JetSecVertexingAlg.h:64
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
Analysis::JetSecVertexingAlg::m_secVertexFinderBaseName
std::string m_secVertexFinderBaseName
Definition: JetSecVertexingAlg.h:59
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
BTagVertexContainer.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
Analysis::JetSecVertexingAlg::m_JetCollectionName
SG::ReadHandleKey< xAOD::JetContainer > m_JetCollectionName
Definition: JetSecVertexingAlg.h:61
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Analysis::JetSecVertexingAlg
Definition: JetSecVertexingAlg.h:42
VxSecVertexInfo.h
Analysis::JetSecVertexingAlg::m_BTagSVCollectionName
SG::WriteHandleKey< xAOD::VertexContainer > m_BTagSVCollectionName
Definition: JetSecVertexingAlg.h:65
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
Trk::VxJetFitterVertexInfo
Definition: VxJetFitterVertexInfo.h:58
Analysis::JetSecVertexingAlg::m_BTagJFVtxCollectionName
SG::WriteHandleKey< xAOD::BTagVertexContainer > m_BTagJFVtxCollectionName
Definition: JetSecVertexingAlg.h:67
IMSVVariablesFactory.h
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
Analysis::JetSecVertexingAlg::initialize
virtual StatusCode initialize() override
Main routines specific to an ATHENA algorithm.
Definition: JetSecVertexingAlg.cxx:39
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
BTaggingContainer.h
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
Analysis::JetSecVertexingAlg::createJFContainer
StatusCode createJFContainer(xAOD::BTagVertexContainer *, std::vector< ElementLink< xAOD::BTagVertexContainer > > *, const Trk::VxJetFitterVertexInfo *, const xAOD::TrackParticleContainer *) const
Definition: JetSecVertexingAlg.cxx:243
Trk::VxSecVKalVertexInfo
Definition: VxSecVKalVertexInfo.h:70
VertexContainer.h
Analysis::JetSecVertexingAlg::JetSecVertexingAlg
JetSecVertexingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructors and destructors.
Definition: JetSecVertexingAlg.cxx:31
JetContainer.h
Analysis::JetSecVertexingAlg::m_TrackCollectionName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrackCollectionName
Definition: JetSecVertexingAlg.h:62
Analysis::JetSecVertexingAlg::m_VertexCollectionName
SG::ReadHandleKey< xAOD::VertexContainer > m_VertexCollectionName
Definition: JetSecVertexingAlg.h:63
Analysis::JetSecVertexingAlg::m_jetSVLinkName
Gaudi::Property< SG::WriteDecorHandleKey< xAOD::JetContainer > > m_jetSVLinkName
Definition: JetSecVertexingAlg.h:66
Analysis::JetSecVertexingAlg::createSecVkalContainer
StatusCode createSecVkalContainer(xAOD::VertexContainer *, std::vector< ElementLink< xAOD::VertexContainer > > *, const Trk::VxSecVKalVertexInfo *) const
Definition: JetSecVertexingAlg.cxx:223
Analysis::JetSecVertexingAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: JetSecVertexingAlg.cxx:65
Analysis::JetSecVertexingAlg::m_MSVvarFactory
ToolHandle< IMSVVariablesFactory > m_MSVvarFactory
Definition: JetSecVertexingAlg.h:57
Analysis::JetSecVertexingAlg::~JetSecVertexingAlg
virtual ~JetSecVertexingAlg()=default
TrackParticleContainer.h