ATLAS Offline Software
Loading...
Searching...
No Matches
xAODJetRetriever.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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
17
18
19namespace JiveXML{
20
36 class xAODJetRetriever : virtual public IDataRetriever,
37 public AthAlgTool {
38
39 public:
40
42 xAODJetRetriever(const std::string& type,const std::string& name,const IInterface* parent);
43
44 virtual StatusCode retrieve(ToolHandle<IFormatTool> &FormatTool);
45 virtual StatusCode initialize();
47 const DataMap getData(const xAOD::JetContainer*, const std::string &jetkey);
49 virtual std::string dataTypeName() const { return m_typeName; };
50
51 private:
52
54 const std::string m_typeName = "Jet";
55
56 SG::ReadHandleKeyArray<xAOD::JetContainer> m_keys {this,"JetCollections", {"AntiKt4EMPFlowJets","AntiKt4EMTopoJets", "AntiKt4LCTopoJets", "AntiKt10LCTopoJets", "AntiKt10UFOCSSKJets"}, "Name of the Jet containers that will be written out to the JiveXML file"};
57
58 Gaudi::Property<bool> m_writeJetQuality{
59 this, "WriteJetQuality", false, "Write out extended jet quality information. False by default."};
60 Gaudi::Property<std::string> m_tracksName{
61 this, "TracksName", "InDetTrackParticles_xAOD", "Name of the track container to be retrieved"};
62 Gaudi::Property<std::vector<std::string>> m_bTaggerNames{
63 this, "BTaggerNames", {"DL1dv01", "GN2v01"}, "Names of the b-taggers to be retrieved"};
64 Gaudi::Property<std::vector<std::string>> m_CDIPaths{
65 this, "CDIPaths", {"xAODBTaggingEfficiency/13p6TeV/2023-22-13p6TeV-MC21-CDI_Test_2023-08-1_v1.root", "xAODBTaggingEfficiency/13p6TeV/2023-02_MC23_CDI_GN2v01-noSF.root"}, "Paths to the CDI files storing the b-tagger properties"};
66
67 std::unordered_map<std::string, asg::AnaToolHandle<IBTaggingSelectionTool>> m_btagSelTools;
68 unsigned int m_nTaggers=0;
69
70 };
71}
72#endif
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Interface for all DataRetriever classes, that extract event data from StoreGate and pass them on to a...
virtual std::string dataTypeName() const
Return the name of the data type that is generated by this retriever.
const std::string m_typeName
The data type that is generated by this retriever.
Gaudi::Property< std::vector< std::string > > m_bTaggerNames
Gaudi::Property< bool > m_writeJetQuality
SG::ReadHandleKeyArray< xAOD::JetContainer > m_keys
Gaudi::Property< std::vector< std::string > > m_CDIPaths
std::unordered_map< std::string, asg::AnaToolHandle< IBTaggingSelectionTool > > m_btagSelTools
virtual StatusCode initialize()
const DataMap getData(const xAOD::JetContainer *, const std::string &jetkey)
Puts the variables into a DataMap.
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool)
For each jet collections retrieve basic parameters.
xAODJetRetriever(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
Gaudi::Property< std::string > m_tracksName
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
std::map< std::string, DataVect > DataMap
Definition DataType.h:59
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
JetContainer_v1 JetContainer
Definition of the current "jet container version".