ATLAS Offline Software
EventNumberFilterAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
5 
10 
11  public:
12  EventNumberFilterAlgorithm( const std::string& name, ISvcLocator* pSvcLocator ) : AthReentrantAlgorithm(name,pSvcLocator) {}
13 
14  virtual ~EventNumberFilterAlgorithm()=default;
15  virtual StatusCode initialize() override {
16  m_evtNumbersSet = std::set<unsigned long>(m_evtNumbers.value().begin(),m_evtNumbers.value().end());
18  }
19  virtual StatusCode execute(const EventContext& ctx) const override {
20  setFilterPassed( m_evtNumbersSet.count(ctx.eventID().event_number())>0, ctx );
21  return StatusCode::SUCCESS;
22  }
23 
24  Gaudi::Property<std::vector<unsigned long>> m_evtNumbers{this,"EventNumbers",{},"List of event numbers to accept"};
25  std::set<unsigned long> m_evtNumbersSet;
26 
27 
28 };
EventNumberFilterAlgorithm
Simple algorithm used to filter events by Event Number.
Definition: EventNumberFilterAlgorithm.h:9
initialize
void initialize()
Definition: run_EoverP.cxx:894
EventNumberFilterAlgorithm::initialize
virtual StatusCode initialize() override
Definition: EventNumberFilterAlgorithm.h:15
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
EventNumberFilterAlgorithm::m_evtNumbersSet
std::set< unsigned long > m_evtNumbersSet
Definition: EventNumberFilterAlgorithm.h:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
EventNumberFilterAlgorithm::EventNumberFilterAlgorithm
EventNumberFilterAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: EventNumberFilterAlgorithm.h:12
EventNumberFilterAlgorithm::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: EventNumberFilterAlgorithm.h:19
EventNumberFilterAlgorithm::m_evtNumbers
Gaudi::Property< std::vector< unsigned long > > m_evtNumbers
Definition: EventNumberFilterAlgorithm.h:24
EventNumberFilterAlgorithm::~EventNumberFilterAlgorithm
virtual ~EventNumberFilterAlgorithm()=default
AthReentrantAlgorithm::setFilterPassed
virtual void setFilterPassed(bool state, const EventContext &ctx) const
Definition: AthReentrantAlgorithm.h:139