ATLAS Offline Software
Loading...
Searching...
No Matches
PEBInfoWriterToolBase.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 TrigPartialEventBuilding_PEBInfoWriterToolBase_h
6#define TrigPartialEventBuilding_PEBInfoWriterToolBase_h
7
8// Trigger includes
12
13// Athena includes
15
22public:
23 // ------------------------- Public types ------------------------------------
43
44 struct PEBInfo {
45 std::set<uint32_t> robs;
46 std::set<uint32_t> subdets; // uint8_t is sufficient to represent eformat::SubDetector, but uint32_t makes the
47 // implementation and bookkeeping easier
48 };
49
50 // ------------------------- Public methods ----------------------------------
52 PEBInfoWriterToolBase(const std::string& type, const std::string& name, const IInterface* parent);
54 virtual ~PEBInfoWriterToolBase();
55
57 StatusCode decide(const EventContext& ctx, std::vector<Input>& inputs) const;
61 static std::string robListKey() {return "PEBROBList";}
63 static std::string subDetListKey() {return "PEBSubDetList";}
64
65protected:
67 virtual PEBInfo createPEBInfo(const EventContext& ctx, const Input& input) const = 0;
69 Gaudi::Property<int> m_maxRoIs {
70 this, "MaxRoIs", -1, "Create PEB list only for the first N RoIs from input decisions (<0 means no limit)"
71 };
72
73 Gaudi::Property<std::vector<unsigned int>> m_matchTriggerType {
74 this, "MatchTriggerType", {}, "L1 trigger type to match"
75 };
76
77private:
80};
81
82std::ostream& operator<< (std::ostream& str, const PEBInfoWriterToolBase::PEBInfo& pebi);
83
84#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.