ATLAS Offline Software
PEBInfoWriterToolBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 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 
22 public:
23  // ------------------------- Public types ------------------------------------
25  struct Input {
27  const EventContext& ctx,
30  : decision(d),
31  eventContext(ctx),
32  roiEL(r),
35  const EventContext& eventContext;
38  };
40  struct PEBInfo {
41  std::set<uint32_t> robs;
42  std::set<uint32_t> subdets; // uint8_t is sufficient to represent eformat::SubDetector, but uint32_t makes the
43  // implementation and bookkeeping easier
44  };
45 
46  // ------------------------- Public methods ----------------------------------
48  PEBInfoWriterToolBase(const std::string& type, const std::string& name, const IInterface* parent);
50  virtual ~PEBInfoWriterToolBase();
51 
53  StatusCode decide(std::vector<Input>& inputs) const;
55  HLT::Identifier id() const {return m_decisionId;}
57  static std::string robListKey() {return "PEBROBList";}
59  static std::string subDetListKey() {return "PEBSubDetList";}
60 
61 protected:
63  virtual PEBInfo createPEBInfo(const Input& input) const = 0;
65  Gaudi::Property<int> m_maxRoIs {
66  this, "MaxRoIs", -1, "Create PEB list only for the first N RoIs from input decisions (<0 means no limit)"
67  };
68 
69 private:
72 };
73 
74 std::ostream& operator<< (std::ostream& str, const PEBInfoWriterToolBase::PEBInfo& pebi);
75 
76 #endif // TrigPartialEventBuilding_PEBInfoWriterToolBase_h
beamspotman.r
def r
Definition: beamspotman.py:676
operator<<
std::ostream & operator<<(std::ostream &str, const PEBInfoWriterToolBase::PEBInfo &pebi)
Definition: PEBInfoWriterToolBase.cxx:90
TrigCompositeUtils.h
hist_file_dump.d
d
Definition: hist_file_dump.py:137
PEBInfoWriterToolBase::robListKey
static std::string robListKey()
Returns the key used to record/retrieve the ROB list.
Definition: PEBInfoWriterToolBase.h:57
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
PEBInfoWriterToolBase::Input::roiEL
const ElementLink< TrigRoiDescriptorCollection > roiEL
Definition: PEBInfoWriterToolBase.h:36
PEBInfoWriterToolBase::Input::Input
Input(TrigCompositeUtils::Decision *d, const EventContext &ctx, const ElementLink< TrigRoiDescriptorCollection > &r, const TrigCompositeUtils::Decision *pd)
Definition: PEBInfoWriterToolBase.h:26
PEBInfoWriterToolBase::~PEBInfoWriterToolBase
virtual ~PEBInfoWriterToolBase()
Standard destructor.
Definition: PEBInfoWriterToolBase.cxx:26
postInclude.inputs
inputs
Definition: postInclude.SortInput.py:15
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
PEBInfoWriterToolBase::PEBInfo::robs
std::set< uint32_t > robs
Definition: PEBInfoWriterToolBase.h:41
PEBInfoWriterToolBase::decide
StatusCode decide(std::vector< Input > &inputs) const
Adds a pass-through decision with attached PEB information created by createPEBInfo for each input.
Definition: PEBInfoWriterToolBase.cxx:30
PEBInfoWriterToolBase::m_maxRoIs
Gaudi::Property< int > m_maxRoIs
MaxRoIs property.
Definition: PEBInfoWriterToolBase.h:65
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
PEBInfoWriterToolBase::subDetListKey
static std::string subDetListKey()
Returns the key used to record/retrieve the SubDet list.
Definition: PEBInfoWriterToolBase.h:59
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
PEBInfoWriterToolBase
Base class for tools used by PEBInfoWriterAlg.
Definition: PEBInfoWriterToolBase.h:21
PEBInfoWriterToolBase::createPEBInfo
virtual PEBInfo createPEBInfo(const Input &input) const =0
Creates the PEBInfo which is attached to the decision in decide. Has to be implemented by the derived...
PEBInfoWriterToolBase::Input::previousDecisionIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
Definition: PEBInfoWriterToolBase.h:37
PEBInfoWriterToolBase::PEBInfo::subdets
std::set< uint32_t > subdets
Definition: PEBInfoWriterToolBase.h:42
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
PEBInfoWriterToolBase::m_decisionId
HLT::Identifier m_decisionId
The decision id of the tool instance.
Definition: PEBInfoWriterToolBase.h:71
PEBInfoWriterToolBase::Input::eventContext
const EventContext & eventContext
Definition: PEBInfoWriterToolBase.h:35
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
PEBInfoWriterToolBase::id
HLT::Identifier id() const
Returns the decision id.
Definition: PEBInfoWriterToolBase.h:55
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
HLTIdentifier.h
TrigCompositeUtils::decisionIDs
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
Definition: TrigCompositeUtilsRoot.cxx:67
TrigCompositeUtils
Definition: Event/xAOD/xAODTrigger/xAODTrigger/TrigComposite.h:19
PEBInfoWriterToolBase::PEBInfoWriterToolBase
PEBInfoWriterToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Definition: PEBInfoWriterToolBase.cxx:20
PEBInfoWriterToolBase::Input
Input to the tool's decide method.
Definition: PEBInfoWriterToolBase.h:25
str
Definition: BTagTrackIpAccessor.cxx:11
TrigRoiDescriptor.h
PEBInfoWriterToolBase::PEBInfo
Structure holding the list of ROBs and SubDets.
Definition: PEBInfoWriterToolBase.h:40
AthAlgTool
Definition: AthAlgTool.h:26
PEBInfoWriterToolBase::Input::decision
TrigCompositeUtils::Decision * decision
Definition: PEBInfoWriterToolBase.h:34