ATLAS Offline Software
JetBTaggingAlg.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_JETBTAGGINGALG_HH
6 #define BTAGGING_JETBTAGGINGALG_HH
7 
14 #include "GaudiKernel/ToolHandle.h"
19 
20 #include "xAODJet/JetContainer.h"
22 #include "BTagging/IBTagTool.h"
24 
25 // For magneticfield
27 
28 namespace Analysis{
29 class IJetFitterVariablesFactory;
30 
33  {
34  public:
35 
37  JetBTaggingAlg(const std::string& name, ISvcLocator *pSvcLocator);
38  virtual ~JetBTaggingAlg() = default;
39 
41  virtual StatusCode initialize() override;
42  virtual StatusCode execute(const EventContext& ctx) const override final;
43 
44  private:
45 
46  SG::ReadHandleKey<xAOD::JetContainer > m_JetCollectionName {this, "JetCollectionName", "", "Input jet container"};
47 
48  SG::ReadDecorHandleKey<xAOD::JetContainer> m_IncomingTracks{ this, "IncomingTracks", "", "Element Link vector from jet to particle container"};
49  SG::WriteDecorHandleKey<xAOD::BTaggingContainer> m_OutgoingTracks{ this, "OutgoingTracks", "", "Element Link vector from BTagging to track container"};
50  SG::ReadDecorHandleKey<xAOD::JetContainer> m_IncomingMuons{ this, "IncomingMuons", "", "Element Link vector from jet to particle container"};
51  SG::WriteDecorHandleKey<xAOD::BTaggingContainer> m_OutgoingMuons{ this, "OutgoingMuons", "", "Element Link vector from BTagging to muon container"};
52 
53  // Read handle for conditions object to get the field cache
54  SG::ReadCondHandleKey<AtlasFieldCacheCondObj> m_fieldCacheCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"};
55  SG::WriteDecorHandleKey<xAOD::JetContainer> m_jetBTaggingLinkName {this, "BTaggingLinkName", "", "Element link from jet to BTagging container"};
56  SG::WriteHandleKey<xAOD::BTaggingContainer> m_BTaggingCollectionName {this, "BTaggingCollectionName", "", "Output BTagging container"};
57  SG::WriteDecorHandleKey<xAOD::BTaggingContainer> m_bTagJetDecorLinkName {this, "JetLinkName", "", "Element Link from BTagging to Jet container"};
58 
59  std::string m_JetName;
60 
61  bool m_DoMuons = false;
62 
63  ToolHandle< IBTagTool > m_bTagTool;
64  ToolHandle< IBTagLightSecVertexing > m_bTagSecVtxTool;
65 
66 };
67 
68 }
69 
70 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
AtlasFieldCacheCondObj.h
Analysis::JetBTaggingAlg::m_BTaggingCollectionName
SG::WriteHandleKey< xAOD::BTaggingContainer > m_BTaggingCollectionName
Definition: JetBTaggingAlg.h:56
Analysis::JetBTaggingAlg::JetBTaggingAlg
JetBTaggingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructors and destructors.
Definition: JetBTaggingAlg.cxx:18
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
Analysis::JetBTaggingAlg::m_jetBTaggingLinkName
SG::WriteDecorHandleKey< xAOD::JetContainer > m_jetBTaggingLinkName
Definition: JetBTaggingAlg.h:55
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
Analysis::JetBTaggingAlg::m_IncomingMuons
SG::ReadDecorHandleKey< xAOD::JetContainer > m_IncomingMuons
Definition: JetBTaggingAlg.h:50
IBTagTool.h
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
Analysis::JetBTaggingAlg::m_JetCollectionName
SG::ReadHandleKey< xAOD::JetContainer > m_JetCollectionName
Definition: JetBTaggingAlg.h:46
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Analysis::JetBTaggingAlg::initialize
virtual StatusCode initialize() override
Main routines specific to an ATHENA algorithm.
Definition: JetBTaggingAlg.cxx:29
Analysis::JetBTaggingAlg::m_bTagJetDecorLinkName
SG::WriteDecorHandleKey< xAOD::BTaggingContainer > m_bTagJetDecorLinkName
Definition: JetBTaggingAlg.h:57
Analysis::JetBTaggingAlg::m_bTagTool
ToolHandle< IBTagTool > m_bTagTool
Definition: JetBTaggingAlg.h:63
Analysis::JetBTaggingAlg::m_OutgoingTracks
SG::WriteDecorHandleKey< xAOD::BTaggingContainer > m_OutgoingTracks
Definition: JetBTaggingAlg.h:49
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
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:192
SG::ReadCondHandleKey< AtlasFieldCacheCondObj >
IBTagLightSecVertexing.h
Analysis::JetBTaggingAlg::~JetBTaggingAlg
virtual ~JetBTaggingAlg()=default
JetContainer.h
Analysis::JetBTaggingAlg::m_OutgoingMuons
SG::WriteDecorHandleKey< xAOD::BTaggingContainer > m_OutgoingMuons
Definition: JetBTaggingAlg.h:51
WriteDecorHandleKeyArray.h
Analysis::JetBTaggingAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: JetBTaggingAlg.cxx:89
Analysis::JetBTaggingAlg::m_DoMuons
bool m_DoMuons
Definition: JetBTaggingAlg.h:61
Analysis::JetBTaggingAlg
Definition: JetBTaggingAlg.h:33
Analysis::JetBTaggingAlg::m_JetName
std::string m_JetName
Definition: JetBTaggingAlg.h:59
Analysis::JetBTaggingAlg::m_IncomingTracks
SG::ReadDecorHandleKey< xAOD::JetContainer > m_IncomingTracks
Definition: JetBTaggingAlg.h:48
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
Analysis::JetBTaggingAlg::m_fieldCacheCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
Definition: JetBTaggingAlg.h:54
ReadDecorHandleKeyArray.h
Analysis::JetBTaggingAlg::m_bTagSecVtxTool
ToolHandle< IBTagLightSecVertexing > m_bTagSecVtxTool
Definition: JetBTaggingAlg.h:64