ATLAS Offline Software
RoRSeqFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef DECISIONHANDLING_RORSEQFILTER_H
5 #define DECISIONHANDLING_RORSEQFILTER_H 1
6 
7 #include <string>
8 #include <set>
9 
10 #include "Gaudi/Parsers/Factory.h"
16 
49 {
50  public:
51  RoRSeqFilter( const std::string& name, ISvcLocator* pSvcLocator );
52 
56  virtual StatusCode initialize() override final;
57 
62  virtual StatusCode execute(const EventContext& ctx) const override final;
63 
64 
65  private:
66  SG::ReadHandleKeyArray<TrigCompositeUtils::DecisionContainer> m_inputKeys{ this, "Input", {}, "Inputs to the filter" };
68 
69  Gaudi::Property<std::vector<std::string> > m_chainsProperty{ this, "Chains", {}, "Chains of which this filter is concerned" };
70  std::set<HLT::Identifier> m_chains;
71 
72  Gaudi::Property<std::vector <std::vector<std::string>> > m_chainsPerInputProperty{ this, "ChainsPerInput", {}, "Chains of which this filter is concerned" };
73  std::vector<std::set<HLT::Identifier>> m_chainsPerInput;
74 
80  Gaudi::Property< std::vector<std::vector<unsigned>> > m_ioMappingProperty { this, "IOMapping", {}, "Maps which inputs should be routed to which output" };
81  std::vector<std::vector<unsigned>> m_ioMapping;
82 
96  const std::set<HLT::Identifier>& topass,
97  const EventContext& ctx) const;
98  ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Filter I/O monitoring" };
99 };
100 
101 
102 #endif //> !DECISIONHANDLING_RORSEQFILTER_H
RoRSeqFilter::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: RoRSeqFilter.h:98
RoRSeqFilter
Definition: RoRSeqFilter.h:49
TrigCompositeUtils.h
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
RoRSeqFilter::m_outputKeys
SG::WriteHandleKeyArray< TrigCompositeUtils::DecisionContainer > m_outputKeys
Definition: RoRSeqFilter.h:67
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
RoRSeqFilter::m_inputKeys
SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > m_inputKeys
Definition: RoRSeqFilter.h:66
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
RoRSeqFilter::m_chainsProperty
Gaudi::Property< std::vector< std::string > > m_chainsProperty
Definition: RoRSeqFilter.h:69
GenericMonitoringTool.h
RoRSeqFilter::initialize
virtual StatusCode initialize() override final
Setup input and output handles.
Definition: RoRSeqFilter.cxx:29
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
RoRSeqFilter::copyPassing
size_t copyPassing(const TrigCompositeUtils::DecisionContainer &input, TrigCompositeUtils::DecisionContainer &output, const std::set< HLT::Identifier > &topass, const EventContext &ctx) const
Applies generic filter to input container, keeping only the decision objects with at least one affirm...
Definition: RoRSeqFilter.cxx:193
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
RoRSeqFilter::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Apply this filter in-between Steps of trigger execution.
Definition: RoRSeqFilter.cxx:115
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
AthReentrantAlgorithm.h
merge.output
output
Definition: merge.py:17
RoRSeqFilter::m_ioMappingProperty
Gaudi::Property< std::vector< std::vector< unsigned > > > m_ioMappingProperty
It can be used to define a custom routing from input to output collections Example: [[0,...
Definition: RoRSeqFilter.h:80
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
RoRSeqFilter::m_ioMapping
std::vector< std::vector< unsigned > > m_ioMapping
Definition: RoRSeqFilter.h:81
HLTIdentifier.h
RoRSeqFilter::m_chains
std::set< HLT::Identifier > m_chains
Definition: RoRSeqFilter.h:70
RoRSeqFilter::m_chainsPerInputProperty
Gaudi::Property< std::vector< std::vector< std::string > > > m_chainsPerInputProperty
Definition: RoRSeqFilter.h:72
RoRSeqFilter::m_chainsPerInput
std::vector< std::set< HLT::Identifier > > m_chainsPerInput
Definition: RoRSeqFilter.h:73
RoRSeqFilter::RoRSeqFilter
RoRSeqFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: RoRSeqFilter.cxx:23