ATLAS Offline Software
JetQGTaggerVariableTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // JetQGTaggerVariableTool.h
6 
7 #ifndef JETMOMENTTOOLS_JETQGTAGGERVARIABLETOOL_H
8 #define JETMOMENTTOOLS_JETQGTAGGERVARIABLETOOL_H
9 
16 
17 #include "AsgTools/ToolHandle.h"
18 #include "AsgTools/AsgTool.h"
22 
23 #include "xAODTracking/Vertex.h"
27 
30 
32 
34 
38 
39 #include <vector>
40 #include <string>
41 
43  virtual public IJetDecorator {
45 
46 public:
47  // Constructor from tool name
48  JetQGTaggerVariableTool(const std::string& name);
49 
50  // Initialization.
51  StatusCode initialize() override;
52 
53  // Inherited method to decorate a jet container
54  virtual StatusCode decorate(const xAOD::JetContainer& jetCont) const override;
55 
56  // Local method to return the HS vertex - that of type PriVtx
57  const xAOD::Vertex* findHSVertex(const xAOD::VertexContainer*&) const;
58 
59 private: // data
60 
61  // Configurable parameters
62  Gaudi::Property<std::string> m_jetContainerName{this,"JetContainer", "", "SG key for the input jet container"};
63  SG::ReadHandleKey<xAOD::VertexContainer> m_vertexContainer_key{this, "VertexContainer", "PrimaryVertices", "SG key for input vertex container"};
64  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo_key{this, "EventInfo", "EventInfo", "SG key for input EventInfo"};
65 
66  ToolHandle<IJetTrackSelector> m_trkSelectionTool{this, "TrackSelector", "", "Track selector"};
67  SG::ReadHandleKey<jet::TrackVertexAssociation> m_tva_key{this, "TrackVertexAssociation", "", "Track vertex association key"};
68 
69  SG::WriteDecorHandleKey<xAOD::JetContainer> m_nTrkKey{this, "NTrksDecorName", "DFCommonJets_QGTagger_NTracks", "SG key for output NTracks decoration"};
70  SG::WriteDecorHandleKey<xAOD::JetContainer> m_trkWidthKey{this, "TracksWidthDecorName", "DFCommonJets_QGTagger_TracksWidth", "SG key for output TracksWidth decoration"};
71  SG::WriteDecorHandleKey<xAOD::JetContainer> m_trkC1Key{this, "TracksC1DecorName", "DFCommonJets_QGTagger_TracksC1", "SG key for output TracksC1 decoration"};
72  SG::WriteDecorHandleKey<xAOD::JetContainer> m_nChargedKey{this, "nChargedDecorName", "DFCommonJets_QGTagger_truthjet_nCharged", "SG key for output truthjet_nCharged decoration"};
73  SG::WriteDecorHandleKey<xAOD::JetContainer> m_truthPtKey{this, "truthPtDecorName", "DFCommonJets_QGTagger_truthjet_pt", "SG key for output truthjet_pt decoration"};
74  SG::WriteDecorHandleKey<xAOD::JetContainer> m_truthEtaKey{this, "truthEtaDecorName", "DFCommonJets_QGTagger_truthjet_eta", "SG key for output truthjet_eta decoration"};
75 
76 };
77 
78 
79 #endif
80 
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
JetQGTaggerVariableTool::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition: JetQGTaggerVariableTool.h:64
JetQGTaggerVariableTool::m_truthEtaKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_truthEtaKey
Definition: JetQGTaggerVariableTool.h:74
IJetDecorator
Interface for adding a decoration to a jet container.
Definition: IJetDecorator.h:21
JetQGTaggerVariableTool::m_tva_key
SG::ReadHandleKey< jet::TrackVertexAssociation > m_tva_key
Definition: JetQGTaggerVariableTool.h:67
JetQGTaggerVariableTool::m_nChargedKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_nChargedKey
Definition: JetQGTaggerVariableTool.h:72
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
IJetDecorator.h
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrackVertexAssociation.h
JetQGTaggerVariableTool::JetQGTaggerVariableTool
JetQGTaggerVariableTool(const std::string &name)
Definition: JetQGTaggerVariableTool.cxx:23
ITrackVertexAssociationTool.h
JetQGTaggerVariableTool::decorate
virtual StatusCode decorate(const xAOD::JetContainer &jetCont) const override
Decorate a jet collection without otherwise modifying it.
Definition: JetQGTaggerVariableTool.cxx:61
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
Vertex.h
IInDetTrackSelectionTool.h
JetQGTaggerVariableTool::m_truthPtKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_truthPtKey
Definition: JetQGTaggerVariableTool.h:73
JetQGTaggerVariableTool
Properties: VertexContainer - name of the vertex container EventInfo - name of EventInfo container As...
Definition: JetQGTaggerVariableTool.h:43
JetQGTaggerVariableTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition: JetQGTaggerVariableTool.h:62
JetQGTaggerVariableTool::m_trkWidthKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_trkWidthKey
Definition: JetQGTaggerVariableTool.h:70
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
IJetTrackSelector.h
JetQGTaggerVariableTool::m_vertexContainer_key
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainer_key
Definition: JetQGTaggerVariableTool.h:63
EventInfo.h
TrackParticle.h
WriteDecorHandleKey.h
VertexContainer.h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
JetQGTaggerVariableTool::initialize
StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: JetQGTaggerVariableTool.cxx:29
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
JetQGTaggerVariableTool::findHSVertex
const xAOD::Vertex * findHSVertex(const xAOD::VertexContainer *&) const
Definition: JetQGTaggerVariableTool.cxx:251
JetQGTaggerVariableTool::m_trkC1Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_trkC1Key
Definition: JetQGTaggerVariableTool.h:71
ToolHandle.h
JetQGTaggerVariableTool::m_nTrkKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_nTrkKey
Definition: JetQGTaggerVariableTool.h:69
AsgTool.h
TruthParticle.h
JetQGTaggerVariableTool::m_trkSelectionTool
ToolHandle< IJetTrackSelector > m_trkSelectionTool
Definition: JetQGTaggerVariableTool.h:66
TrackParticleContainer.h