ATLAS Offline Software
Loading...
Searching...
No Matches
PEBInfoWriterToolBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TrigPartialEventBuilding_PEBInfoWriterToolBase_h
6#define TrigPartialEventBuilding_PEBInfoWriterToolBase_h
7
8// Trigger includes
12
13// Athena includes
15
16#include <cstdint>
17
24public:
25 // ------------------------- Public types ------------------------------------
45
46 struct PEBInfo {
47 std::set<uint32_t> robs;
48 std::set<uint32_t> subdets; // uint8_t is sufficient to represent eformat::SubDetector, but uint32_t makes the
49 // implementation and bookkeeping easier
50 };
51
52 // ------------------------- Public methods ----------------------------------
54 PEBInfoWriterToolBase(const std::string& type, const std::string& name, const IInterface* parent);
56 virtual ~PEBInfoWriterToolBase();
57
59 StatusCode decide(const EventContext& ctx, std::vector<Input>& inputs) const;
63 static std::string robListKey() {return "PEBROBList";}
65 static std::string subDetListKey() {return "PEBSubDetList";}
66
67protected:
69 virtual PEBInfo createPEBInfo(const EventContext& ctx, const Input& input) const = 0;
71 Gaudi::Property<int> m_maxRoIs {
72 this, "MaxRoIs", -1, "Create PEB list only for the first N RoIs from input decisions (<0 means no limit)"
73 };
74
75 Gaudi::Property<std::vector<unsigned int>> m_matchTriggerType {
76 this, "MatchTriggerType", {}, "L1 trigger type to match"
77 };
78
79private:
82};
83
84std::ostream& operator<< (std::ostream& str, const PEBInfoWriterToolBase::PEBInfo& pebi);
85
86#endif // TrigPartialEventBuilding_PEBInfoWriterToolBase_h
void decisionIDs(const Decision *d, DecisionIDContainer &id)
Extracts DecisionIDs stored in the Decision object.
std::ostream & operator<<(std::ostream &str, const PEBInfoWriterToolBase::PEBInfo &pebi)
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
virtual ~PEBInfoWriterToolBase()
Standard destructor.
virtual PEBInfo createPEBInfo(const EventContext &ctx, const Input &input) const =0
Creates the PEBInfo which is attached to the decision in decide. Has to be implemented by the derived...
Gaudi::Property< std::vector< unsigned int > > m_matchTriggerType
HLT::Identifier m_decisionId
The decision id of the tool instance.
StatusCode decide(const EventContext &ctx, std::vector< Input > &inputs) const
Adds a pass-through decision with attached PEB information created by createPEBInfo for each input.
static std::string robListKey()
Returns the key used to record/retrieve the ROB list.
static std::string subDetListKey()
Returns the key used to record/retrieve the SubDet list.
HLT::Identifier id() const
Returns the decision id.
Gaudi::Property< int > m_maxRoIs
MaxRoIs property.
PEBInfoWriterToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
int r
Definition globals.cxx:22
std::set< DecisionID > DecisionIDContainer
Input to the tool's decide method.
Input(TrigCompositeUtils::Decision *d, const EventContext &ctx, const ElementLink< TrigRoiDescriptorCollection > &r, const TrigCompositeUtils::Decision *pd, const uint8_t tt)
const ElementLink< TrigRoiDescriptorCollection > roiEL
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
TrigCompositeUtils::Decision * decision
Structure holding the list of ROBs and SubDets.