ATLAS Offline Software
xAODJetRetriever.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 JIVEXML_XAODJETRETRIEVER_H
6 #define JIVEXML_XAODJETRETRIEVER_H
7 
8 #include <string>
9 #include <vector>
10 #include <map>
11 
12 #include "JiveXML/IDataRetriever.h"
14 
15 #include "xAODJet/JetContainer.h"
16 #include "AsgTools/AnaToolHandle.h"
18 
19 
20 namespace JiveXML{
21 
35  class xAODJetRetriever : virtual public IDataRetriever,
36  public AthAlgTool {
37 
38  public:
39 
41  xAODJetRetriever(const std::string& type,const std::string& name,const IInterface* parent);
42 
44  virtual StatusCode retrieve(ToolHandle<IFormatTool> &FormatTool);
45  const DataMap getData(const xAOD::JetContainer*, const std::string& jetkey);
46 
48  virtual std::string dataTypeName() const { return "Jet"; };
49 
50  virtual StatusCode initialize();
51 
52  private:
53  Gaudi::Property<std::string> m_sgKeyFavourite{
54  this, "FavouriteJetCollection", "AntiKt4TopoEMJets", "Collection to be first in output, shown in Atlantis without switching"};
55  Gaudi::Property<std::vector<std::string>> m_otherKeys{
56  this, "OtherJetCollections", {}, "Other collections to be retrieved. If list left empty, all available retrieved"};
57  Gaudi::Property<bool> m_doWriteHLT{
58  this, "DoWriteHLT", false, "Write out HLTAutokey object information. False by default."};
59  Gaudi::Property<bool> m_writeJetQuality{
60  this, "WriteJetQuality", false, "Write out extended jet quality information. False by default."};
61  Gaudi::Property<std::string> m_tracksName{
62  this, "TracksName", "InDetTrackParticles_xAOD", "Name of the track container to be retrieved"};
63  Gaudi::Property<std::vector<std::string>> m_bTaggerNames{
64  this, "BTaggerNames", {}, "Names of the b-taggers to be retrieved"};
65  Gaudi::Property<std::vector<std::string>> m_CDIPaths{
66  this, "CDIPaths", {}, "Paths to the CDI files storing the b-tagger properties"};
67 
68  std::unordered_map<std::string, asg::AnaToolHandle<IBTaggingSelectionTool>> m_btagSelTools;
69  unsigned int m_nTaggers=0;
70 
71  };
72 }
73 #endif
JiveXML::xAODJetRetriever::m_sgKeyFavourite
Gaudi::Property< std::string > m_sgKeyFavourite
Definition: xAODJetRetriever.h:53
JiveXML::xAODJetRetriever::m_nTaggers
unsigned int m_nTaggers
Definition: xAODJetRetriever.h:69
JiveXML::xAODJetRetriever::m_btagSelTools
std::unordered_map< std::string, asg::AnaToolHandle< IBTaggingSelectionTool > > m_btagSelTools
Definition: xAODJetRetriever.h:68
JiveXML::xAODJetRetriever::getData
const DataMap getData(const xAOD::JetContainer *, const std::string &jetkey)
Retrieve basic parameters, mainly four-vectors, for each collection.
Definition: xAODJetRetriever.cxx:138
JiveXML::xAODJetRetriever::m_doWriteHLT
Gaudi::Property< bool > m_doWriteHLT
Definition: xAODJetRetriever.h:57
JiveXML::DataMap
std::map< std::string, DataVect > DataMap
Definition: DataType.h:59
JiveXML::xAODJetRetriever
Retrieves all Jet objects (JetAODCollection etc.)
Definition: xAODJetRetriever.h:36
JiveXML::xAODJetRetriever::initialize
virtual StatusCode initialize()
Definition: xAODJetRetriever.cxx:41
JiveXML::xAODJetRetriever::xAODJetRetriever
xAODJetRetriever(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
Definition: xAODJetRetriever.cxx:33
JiveXML::xAODJetRetriever::m_writeJetQuality
Gaudi::Property< bool > m_writeJetQuality
Definition: xAODJetRetriever.h:59
IBTaggingSelectionTool.h
JiveXML::xAODJetRetriever::retrieve
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool)
Retrieve all the data.
Definition: xAODJetRetriever.cxx:68
JiveXML::xAODJetRetriever::m_tracksName
Gaudi::Property< std::string > m_tracksName
Definition: xAODJetRetriever.h:61
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JiveXML::xAODJetRetriever::m_otherKeys
Gaudi::Property< std::vector< std::string > > m_otherKeys
Definition: xAODJetRetriever.h:55
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
JiveXML::IDataRetriever
Interface for all DataRetriever classes, that extract event data from StoreGate and pass them on to a...
Definition: IDataRetriever.h:25
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
AnaToolHandle.h
JiveXML
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
Definition: BadLArRetriever.cxx:22
JiveXML::xAODJetRetriever::dataTypeName
virtual std::string dataTypeName() const
Return the name of the data type.
Definition: xAODJetRetriever.h:48
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
JetContainer.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
JiveXML::xAODJetRetriever::m_CDIPaths
Gaudi::Property< std::vector< std::string > > m_CDIPaths
Definition: xAODJetRetriever.h:65
AthAlgTool
Definition: AthAlgTool.h:26
JiveXML::xAODJetRetriever::m_bTaggerNames
Gaudi::Property< std::vector< std::string > > m_bTaggerNames
Definition: xAODJetRetriever.h:63
IDataRetriever.h