ATLAS Offline Software
Public Member Functions | Private Attributes | Friends | List of all members
CP::SysFilterReporterCombiner Class Referencefinal

a reporter class that combines the filter decisions for all systematics More...

#include <SysFilterReporterCombiner.h>

Inheritance diagram for CP::SysFilterReporterCombiner:
Collaboration diagram for CP::SysFilterReporterCombiner:

Public Member Functions

 SysFilterReporterCombiner (SysFilterReporterParams &val_params, bool val_passedDefault)
 standard constructor More...
 
 ~SysFilterReporterCombiner () noexcept
 standard destructor More...
 
bool msgLvl (const MSG::Level lvl) const
 Test the output level of the object. More...
 
MsgStream & msg () const
 The standard message stream. More...
 
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream. More...
 

Private Attributes

SysFilterReporterParamsm_params
 the SysFilterReporterParams object More...
 
bool m_passedDefault {false}
 the default value of passed we use for each individual reporter More...
 
bool m_passedOne {false}
 whether we passed for at least one/all systematics More...
 
bool m_passedAll {true}
 
std::function< MsgStream &()> m_msg
 the message stream we use More...
 

Friends

class SysFilterReporter
 

Detailed Description

a reporter class that combines the filter decisions for all systematics

Unlike the non-systematics aware version, when dealing with systematics we need to combine all the individual filter decisions into an overall filter decision for the algorithm, i.e. if and only if the filter decision fails for all systematics we should set filter to failed for the algorithm itself, so that we avoid/skip processing of subsequent algorithms. For details on usage see SysFilterReporter.

Definition at line 33 of file SysFilterReporterCombiner.h.

Constructor & Destructor Documentation

◆ SysFilterReporterCombiner()

CP::SysFilterReporterCombiner::SysFilterReporterCombiner ( SysFilterReporterParams val_params,
bool  val_passedDefault 
)

standard constructor

Guarantee
strong
Failures
out of memory I

Definition at line 24 of file SysFilterReporterCombiner.cxx.

27  : AsgMessagingForward (&val_params)
28  , m_params (val_params)
29  , m_passedDefault (val_passedDefault)
30  {
32  {
33  ANA_MSG_FATAL ("using uninitialized SysFilterReporterParams, throwing exception");
34  throw std::logic_error ("using uninitialized SysFilterReporterParams");
35  }
36  }

◆ ~SysFilterReporterCombiner()

CP::SysFilterReporterCombiner::~SysFilterReporterCombiner ( )
noexcept

standard destructor

Guarantee
no-fail

Definition at line 40 of file SysFilterReporterCombiner.cxx.

42  {
43  ANA_MSG_DEBUG ("setting algorithm-filter-passed flag to " << m_passedOne);
45  m_params.m_total += 1;
46  if (m_passedOne)
47  m_params.m_passedOne += 1;
48  if (m_passedAll)
49  m_params.m_passedAll += 1;
50  }

Member Function Documentation

◆ msg() [1/2]

MsgStream & asg::AsgMessagingForward::msg ( ) const
inherited

The standard message stream.

Returns
A reference to the default message stream of this object.

Definition at line 24 of file AsgMessagingForward.cxx.

25  {
26  return m_msg();
27  }

◆ msg() [2/2]

MsgStream & asg::AsgMessagingForward::msg ( const MSG::Level  lvl) const
inherited

The standard message stream.

Parameters
lvlThe message level to set the stream to
Returns
A reference to the default message stream, set to level "lvl"

Definition at line 29 of file AsgMessagingForward.cxx.

30  {
31  MsgStream& msg = m_msg ();
32  msg << lvl;
33  return msg;
34  }

◆ msgLvl()

bool asg::AsgMessagingForward::msgLvl ( const MSG::Level  lvl) const
inherited

Test the output level of the object.

Parameters
lvlThe message level to test against
Returns
boolean Indicting if messages at given level will be printed
true If messages at level "lvl" will be printed

Definition at line 11 of file AsgMessagingForward.cxx.

12  {
13  MsgStream& msg = m_msg();
14  if (msg.level() <= lvl)
15  {
16  msg << lvl;
17  return true;
18  } else
19  {
20  return false;
21  }
22  }

Friends And Related Function Documentation

◆ SysFilterReporter

friend class SysFilterReporter
friend

Definition at line 63 of file SysFilterReporterCombiner.h.

Member Data Documentation

◆ m_msg

std::function<MsgStream& ()> asg::AsgMessagingForward::m_msg
privateinherited

the message stream we use

This used to be a simple pointer to the MsgStream itself, but in AthenaMT the actual object used is local to the thread. So instead of pointing to it directly we are now using a function to look it up, which will get the thread-local object.

Definition at line 77 of file AsgMessagingForward.h.

◆ m_params

SysFilterReporterParams& CP::SysFilterReporterCombiner::m_params
private

the SysFilterReporterParams object

Definition at line 67 of file SysFilterReporterCombiner.h.

◆ m_passedAll

bool CP::SysFilterReporterCombiner::m_passedAll {true}
private

Definition at line 76 of file SysFilterReporterCombiner.h.

◆ m_passedDefault

bool CP::SysFilterReporterCombiner::m_passedDefault {false}
private

the default value of passed we use for each individual reporter

Definition at line 71 of file SysFilterReporterCombiner.h.

◆ m_passedOne

bool CP::SysFilterReporterCombiner::m_passedOne {false}
private

whether we passed for at least one/all systematics

Definition at line 75 of file SysFilterReporterCombiner.h.


The documentation for this class was generated from the following files:
asg::AsgMessagingForward::m_msg
std::function< MsgStream &()> m_msg
the message stream we use
Definition: AsgMessagingForward.h:77
CP::SysFilterReporterParams::m_total
unsigned m_total
counter for total events
Definition: SysFilterReporterParams.h:104
CP::SysFilterReporterParams::m_setFilterPassed
std::function< void(bool)> m_setFilterPassed
the function to call setFilterPassed() on the algorithm
Definition: SysFilterReporterParams.h:86
CP::SysFilterReporterParams::m_passedOne
unsigned m_passedOne
counter for passed events
Definition: SysFilterReporterParams.h:98
asg::AsgMessagingForward::msg
MsgStream & msg() const
The standard message stream.
Definition: AsgMessagingForward.cxx:24
CP::SysFilterReporterCombiner::m_params
SysFilterReporterParams & m_params
the SysFilterReporterParams object
Definition: SysFilterReporterCombiner.h:67
CP::SysFilterReporterParams::m_isInitialized
bool m_isInitialized
whether the handle was initialized
Definition: SysFilterReporterParams.h:108
asg::AsgMessagingForward::AsgMessagingForward
AsgMessagingForward(T *owner)
forwarding constructor
Definition: AsgMessagingForward.h:83
CP::SysFilterReporterCombiner::m_passedAll
bool m_passedAll
Definition: SysFilterReporterCombiner.h:76
ANA_MSG_FATAL
#define ANA_MSG_FATAL(xmsg)
Macro printing fatal messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:296
CP::SysFilterReporterCombiner::m_passedDefault
bool m_passedDefault
the default value of passed we use for each individual reporter
Definition: SysFilterReporterCombiner.h:71
CP::SysFilterReporterCombiner::m_passedOne
bool m_passedOne
whether we passed for at least one/all systematics
Definition: SysFilterReporterCombiner.h:75
CP::SysFilterReporterParams::m_passedAll
unsigned m_passedAll
Definition: SysFilterReporterParams.h:100
ANA_MSG_DEBUG
#define ANA_MSG_DEBUG(xmsg)
Macro printing debug messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:288