ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
DerivationFramework::FilterCombinationOR Class Reference

#include <FilterCombinationOR.h>

Inheritance diagram for DerivationFramework::FilterCombinationOR:
Collaboration diagram for DerivationFramework::FilterCombinationOR:

Public Member Functions

 FilterCombinationOR (const std::string &t, const std::string &n, const IInterface *p)
 Constructor with parameters. More...
 
 ~FilterCombinationOR ()
 Destructor. More...
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual bool eventPassesFilter () const override
 Check that the current event passes this filter. More...
 

Private Attributes

std::atomic< unsigned int > m_ntot {0}
 
std::atomic< unsigned int > m_npass {0}
 
ToolHandleArray< ISkimmingToolm_filtersToCombine
 

Detailed Description

the code used in this implementation is kindly stolen from: atlasoff:: ISF/ISF_Core/ISF_Tools

Author
James Catmore -at- cern.ch

Definition at line 30 of file FilterCombinationOR.h.

Constructor & Destructor Documentation

◆ FilterCombinationOR()

DerivationFramework::FilterCombinationOR::FilterCombinationOR ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Constructor with parameters.

Definition at line 14 of file FilterCombinationOR.cxx.

16  :
17  base_class(t,n,p)
18  {
19  declareProperty("FilterList", m_filtersToCombine);
20  }

◆ ~FilterCombinationOR()

DerivationFramework::FilterCombinationOR::~FilterCombinationOR ( )

Destructor.

Definition at line 23 of file FilterCombinationOR.cxx.

23  {
24 }

Member Function Documentation

◆ eventPassesFilter()

bool DerivationFramework::FilterCombinationOR::eventPassesFilter ( ) const
overridevirtual

Check that the current event passes this filter.

Definition at line 41 of file FilterCombinationOR.cxx.

42 {
43  ++m_ntot;
44  bool passesEvent=false;
45 
46  ToolHandleArray<DerivationFramework::ISkimmingTool>::const_iterator filterIter = m_filtersToCombine.begin();
47  for (; filterIter != m_filtersToCombine.end(); ++filterIter) {
48  bool thisFilterPasses = (*filterIter)->eventPassesFilter();
49 
50  msg(MSG::DEBUG)<<" Filter "<<filterIter->name()<<" passes? "<<thisFilterPasses<<endmsg;
51  passesEvent = passesEvent || thisFilterPasses ;
52  }
53  msg(MSG::DEBUG)<<" OR of all filters passes? "<<passesEvent<<endmsg;
54  if (passesEvent) m_npass++;
55  return passesEvent;
56 
57 }

◆ finalize()

StatusCode DerivationFramework::FilterCombinationOR::finalize ( )
overridevirtual

Definition at line 33 of file FilterCombinationOR.cxx.

34 {
35  ATH_MSG_VERBOSE("finalize() ...");
36  ATH_MSG_INFO("Processed "<< m_ntot <<" events, "<< m_npass<<" events passed filter ");
37  return StatusCode::SUCCESS;
38 }

◆ initialize()

StatusCode DerivationFramework::FilterCombinationOR::initialize ( )
overridevirtual

Definition at line 27 of file FilterCombinationOR.cxx.

28 {
29  ATH_MSG_VERBOSE("initialize() ...");
30  ATH_CHECK( m_filtersToCombine.retrieve());
31  return StatusCode::SUCCESS;
32 }

Member Data Documentation

◆ m_filtersToCombine

ToolHandleArray<ISkimmingTool> DerivationFramework::FilterCombinationOR::m_filtersToCombine
private

Definition at line 49 of file FilterCombinationOR.h.

◆ m_npass

std::atomic<unsigned int> DerivationFramework::FilterCombinationOR::m_npass {0}
mutableprivate

Definition at line 48 of file FilterCombinationOR.h.

◆ m_ntot

std::atomic<unsigned int> DerivationFramework::FilterCombinationOR::m_ntot {0}
mutableprivate

Definition at line 47 of file FilterCombinationOR.h.


The documentation for this class was generated from the following files:
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
DerivationFramework::FilterCombinationOR::m_npass
std::atomic< unsigned int > m_npass
Definition: FilterCombinationOR.h:48
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::FilterCombinationOR::m_ntot
std::atomic< unsigned int > m_ntot
Definition: FilterCombinationOR.h:47
beamspotman.n
n
Definition: beamspotman.py:731
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
DerivationFramework::FilterCombinationOR::m_filtersToCombine
ToolHandleArray< ISkimmingTool > m_filtersToCombine
Definition: FilterCombinationOR.h:49
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
DEBUG
#define DEBUG
Definition: page_access.h:11
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7