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  const uint8_t tt)
31  : decision(d),
32  eventContext(ctx),
33  roiEL(r),
35  tt(tt)
36  {}
38  const EventContext& eventContext;
41  const uint8_t tt;
42  };
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(std::vector<Input>& inputs) const;
59  HLT::Identifier id() const {return m_decisionId;}
61  static std::string robListKey() {return "PEBROBList";}
63  static std::string subDetListKey() {return "PEBSubDetList";}
64 
65 protected:
67  virtual PEBInfo createPEBInfo(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 
77 private:
80 };
81 
82 std::ostream& operator<< (std::ostream& str, const PEBInfoWriterToolBase::PEBInfo& pebi);
83 
84 #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:100
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
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:61
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
PEBInfoWriterToolBase::Input::roiEL
const ElementLink< TrigRoiDescriptorCollection > roiEL
Definition: PEBInfoWriterToolBase.h:39
makeDTCalibBlob_pickPhase.pd
pd
Definition: makeDTCalibBlob_pickPhase.py:342
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
TrigCompositeUtils.h
PEBInfoWriterToolBase::Input::tt
const uint8_t tt
Definition: PEBInfoWriterToolBase.h:41
PEBInfoWriterToolBase::PEBInfo::robs
std::set< uint32_t > robs
Definition: PEBInfoWriterToolBase.h:45
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:69
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:63
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:40
PEBInfoWriterToolBase::PEBInfo::subdets
std::set< uint32_t > subdets
Definition: PEBInfoWriterToolBase.h:46
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
PEBInfoWriterToolBase::m_decisionId
HLT::Identifier m_decisionId
The decision id of the tool instance.
Definition: PEBInfoWriterToolBase.h:79
PEBInfoWriterToolBase::Input::eventContext
const EventContext & eventContext
Definition: PEBInfoWriterToolBase.h:38
PEBInfoWriterToolBase::m_matchTriggerType
Gaudi::Property< std::vector< unsigned int > > m_matchTriggerType
Definition: PEBInfoWriterToolBase.h:73
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
PEBInfoWriterToolBase::id
HLT::Identifier id() const
Returns the decision id.
Definition: PEBInfoWriterToolBase.h:59
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:44
AthAlgTool
Definition: AthAlgTool.h:26
PEBInfoWriterToolBase::Input::decision
TrigCompositeUtils::Decision * decision
Definition: PEBInfoWriterToolBase.h:37
PEBInfoWriterToolBase::Input::Input
Input(TrigCompositeUtils::Decision *d, const EventContext &ctx, const ElementLink< TrigRoiDescriptorCollection > &r, const TrigCompositeUtils::Decision *pd, const uint8_t tt)
Definition: PEBInfoWriterToolBase.h:26