| The Gaudi Framework v32r1 (f65d50dc)

Public Member Functions | Private Attributes | List of all members
Prescaler Class Reference

`#include <GaudiAlg/Prescaler.h>`

Inheritance diagram for Prescaler:
[legend]
Collaboration diagram for Prescaler:
[legend]

## Public Member Functions
| Prescaler (std::string name, ISvcLocator *pSvcLocator)
| Constructor(s) More...
StatusCode | initialize () override
StatusCode | execute () override
StatusCode | finalize () override
Public Member Functions inherited from GaudiAlgorithm
StatusCode | initialize () override
| standard initialization method More...
StatusCode | execute () override
| standard execution method More...
StatusCode | finalize () override
| standard finalization method More...
StatusCode | sysExecute (const EventContext &ctx) override
| the generic actions for the execution. More...
void | put (IDataProviderSvc *svc, DataObject *object, const std::string &address, const bool useRootInTES=true) const
| Register a data object or container into Gaudi Event Transient Store. More...
void | put (IDataProviderSvc *svc, std::unique_ptr< DataObject > object, const std::string &address, const bool useRootInTES=true) const
const DataObject * | put (DataObject *object, const std::string &address, const bool useRootInTES=true) const
| Register a data object or container into Gaudi Event Transient Store. More...
const DataObject * | put (std::unique_ptr< DataObject > object, const std::string &address, const bool useRootInTES=true) const
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type | get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
| Templated access to the data in Gaudi Transient Store. More...
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type | getIfExists (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
| Templated access to the data in Gaudi Transient Store. More...
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type | get (const std::string &location, const bool useRootInTES=true) const
| Templated access to the data from Gaudi Event Transient Store. More...
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type | getIfExists (const std::string &location, const bool useRootInTES=true) const
| Templated access to the data in Gaudi Transient Store. More...
template<class TYPE >
TYPE * | getDet (IDataProviderSvc *svc, const std::string &location) const
| Templated access to the detector data from the Gaudi Detector Transient Store. More...
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type | getDetIfExists (IDataProviderSvc *svc, const std::string &location) const
| Templated access to the detector data from the Gaudi Detector Transient Store. More...
template<class TYPE >
TYPE * | getDet (const std::string &location) const
| Templated access to the detector data from the Gaudi Detector Transient Store. More...
template<class TYPE >
Gaudi::Utils::GetData< TYPE >::return_type | getDetIfExists (const std::string &location) const
| Templated access to the detector data from the Gaudi Detector Transient Store. More...
template<class TYPE >
bool | exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
| Check the existence of a data object or container in the Gaudi Transient Event Store. More...
template<class TYPE >
bool | exist (const std::string &location, const bool useRootInTES=true) const
| Check the existence of a data object or container in the Gaudi Transient Event Store. More...
template<class TYPE >
bool | existDet (IDataProviderSvc *svc, const std::string &location) const
| Check the existence of detector objects in the Gaudi Transient Detector Store. More...
template<class TYPE >
bool | existDet (const std::string &location) const
| Check the existence of detector objects in the Gaudi Transient Detector Store. More...
template<class TYPE , class TYPE2 >
Gaudi::Utils::GetData< TYPE >::return_type | getOrCreate (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
| Get the existing data object from Gaudi Event Transient store. More...
template<class TYPE , class TYPE2 >
Gaudi::Utils::GetData< TYPE >::return_type | getOrCreate (const std::string &location, const bool useRootInTES=true) const
| Get the existing data object from Gaudi Event Transient store. More...
| GaudiAlgorithm (const std::string &name, ISvcLocator *pSvcLocator)
| Standard constructor. More...
| GaudiAlgorithm (const GaudiAlgorithm &)=delete
GaudiAlgorithm & | operator= (const GaudiAlgorithm &)=delete
SmartIF< INTupleSvc > & | evtColSvc () const
| Access the standard event collection service. More...
Public Member Functions inherited from GaudiCommon< Algorithm >
Gaudi::Utils::GetData< TYPE >::return_type | get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
| Templated access to the data in Gaudi Transient Store. More...
Gaudi::Utils::GetData< TYPE >::return_type | getIfExists (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
| Quicker version of the get function which bypasses the check on the retrieved data. More...
bool | exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
| Check the existence of a data object or container in the Gaudi Transient Event Store. More...
Gaudi::Utils::GetData< TYPE >::return_type | getOrCreate (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const
| Get the existing data object from Gaudi Event Transient store. More...
DataObject * | put (IDataProviderSvc *svc, std::unique_ptr< DataObject > object, const std::string &location, const bool useRootInTES=true) const
| Register a data object or container into Gaudi Event Transient Store. More...
DataObject * | put (IDataProviderSvc *svc, DataObject *object, const std::string &location, const bool useRootInTES=true) const
TOOL * | tool (const std::string &type, const std::string &name, const IInterface *parent=0, bool create=true) const
| Useful method for the easy location of tools. More...
TOOL * | tool (const std::string &type, const IInterface *parent=0, bool create=true) const
| A useful method for the easy location of tools. More...
SmartIF< SERVICE > | svc (const std::string &name, const bool create=true) const
| A useful method for the easy location of services. More...
IUpdateManagerSvc * | updMgrSvc () const
| Short-cut to locate the Update Manager Service. More...
WARN_UNUSED StatusCode | Error (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
| Print the error message and return with the given StatusCode. More...
WARN_UNUSED StatusCode | Warning (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const
| Print the warning message and return with the given StatusCode. More...
WARN_UNUSED StatusCode | Info (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const size_t mx=10) const
| Print the info message and return with the given StatusCode. More...
WARN_UNUSED StatusCode | Print (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const MSG::Level lev=MSG::INFO) const
| Print the message and return with the given StatusCode. More...
void | Assert (const bool ok, const std::string &message="", const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
| Assertion - throw exception if the given condition is not fulfilled. More...
void | Assert (const bool ok, const char *message, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
| Assertion - throw exception if the given condition is not fulfilled. More...
void | Exception (const std::string &msg, const GaudiException &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
| Create and (re)-throw a given GaudiException. More...
void | Exception (const std::string &msg, const std::exception &exc, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
| Create and (re)-throw a given exception. More...
void | Exception (const std::string &msg="no message", const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const
| Create and throw an exception with the given message. More...
StatEntity & | counter (const std::string &tag) const
| accessor to certain counter by name More...
StatEntity & | counter (const std::string &tag)
bool | typePrint () const
| Insert the actual C++ type of the algorithm/tool in the messages ? More...
bool | propsPrint () const
| Print properties at initialization ? More...
bool | statPrint () const
| Print statistical counters at finalization ? More...
bool | errorsPrint () const
| Print error counters at finalization ? More...
long | printStat (const MSG::Level level=MSG::ALWAYS) const
| perform the actual printout of statistical counters More...
long | printErrors (const MSG::Level level=MSG::ALWAYS) const
| perform the actual printout of error counters More...
long | printProps (const MSG::Level level=MSG::ALWAYS) const
| perform the actual printout of properties More...
void | registerCondition (const std::string &condition, StatusCode(CallerClass::*mf)()=nullptr)
| register the current instance to the UpdateManagerSvc as a consumer for a condition. More...
void | registerCondition (const std::string &condition, CondType *&condPtrDest, StatusCode(CallerClass::*mf)()=NULL)
| register the current instance to the UpdateManagerSvc as a consumer for a condition. More...
void | registerCondition (char *condition, StatusCode(CallerClass::*mf)()=NULL)
| just to avoid conflicts with the version using a pointer to a template class. More...
void | registerCondition (TargetClass *condition, StatusCode(CallerClass::*mf)()=NULL)
| register the current instance to the UpdateManagerSvc as a consumer for a condition. More...
StatusCode | runUpdate ()
| asks the UpdateManagerSvc to perform an update of the instance (if needed) without waiting the next BeginEvent incident. More...
| GaudiCommon (const std::string &name, ISvcLocator *pSvcLocator)
| Algorithm constructor - the SFINAE constraint below ensures that this is constructor is only defined if PBASE derives from Algorithm. More...
| GaudiCommon (const std::string &type, const std::string &name, const IInterface *ancestor)
| Tool constructor - SFINAE-ed to insure this constructor is only defined if PBASE derives from AlgTool. More...
StatusCode | initialize () override
| standard initialization method More...
StatusCode | finalize () override
| standard finalization method More...
StatusCode | release (const IInterface *interface) const
| Manual forced (and 'safe') release of the active tool or service. More...
const Services & | services () const
| get the list of aquired services More...
const std::string & | context () const
| Returns the "context" string. Used to identify different processing states. More...
Public Member Functions inherited from FixTESPath< BASE >
template<typename U = BASE, typename = std::enable_if_t<std::is_base_of_v<Gaudi::Algorithm, BASE>, U>>
| FixTESPath (const std::string &name, ISvcLocator *pSvcLocator)
| Algorithm constructor - the SFINAE constraint below ensures that this is constructor is only defined if BASE derives from Algorithm. More...
template<typename U = BASE, typename = std::enable_if_t<std::is_base_of_v<AlgTool, BASE>, U>>
| FixTESPath (const std::string &type, const std::string &name, const IInterface *ancestor)
| Tool constructor - SFINAE-ed to insure this constructor is only defined if BASE derives from AlgTool. More...
StatusCode | initialize () override
const std::string & | rootInTES () const
| Returns the "rootInTES" string. More...
std::string | fullTESLocation (std::string_view location, bool useRootInTES) const
| Returns the full correct event location given the rootInTes settings. More...

## Private Attributes
Gaudi::CheckedProperty< double > | m_percentPass
| Percentage of events that should be passed. More...
int | m_pass = 0
| Number of events passed. More...
int | m_seen = 0
| Number of events seen. More...

## Additional Inherited Members
Protected Types inherited from GaudiCommon< Algorithm >
using | base_class = FixTESPath< Algorithm >
typedef std::map< std::string, StatEntity > | StatisticsOwn
| the actual type of general counters More...
typedef std::map< std::string, std::reference_wrapper< Gaudi::Accumulators::PrintableCounter > > | Statistics
typedef std::map< std::string, unsigned int > | Counter
| the actual type error/warning counter More...
typedef std::vector< IAlgTool * > | AlgTools
| storage for active tools More...
typedef std::vector< SmartIF< IService > > | Services
| storage for active services More...
Protected Member Functions inherited from GaudiCommon< Algorithm >
StatusCode | releaseTool (const IAlgTool *tool) const
| manual forced (and 'safe') release of the tool More...
StatusCode | releaseSvc (const IInterface *svc) const
| manual forced (and 'safe') release of the service More...
Protected Attributes inherited from GaudiCommon< Algorithm >
SmartIF< ICounterSummarySvc > | m_counterSummarySvc
| a pointer to the CounterSummarySvc More...
Static Protected Attributes inherited from GaudiCommon< Algorithm >
static const bool | IgnoreRootInTES
| Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. More...
static const bool | UseRootInTES
| Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. More...

## Detailed Description

Definition at line 5 of file Prescaler.h.

## Constructor & Destructor Documentation

## ◆ Prescaler()

Prescaler::Prescaler | ( | std::string | name,
|  | ISvcLocator * | pSvcLocator
| ) |  |

Constructor(s)

Definition at line 5 of file Prescaler.cpp.

5 : GaudiAlgorithm( std::move( name ), pSvcLocator ) {
6 m_percentPass.verifier().setBounds( 0.0, 100.0 );
7 }
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
std::move
T move(T... args)
Prescaler::m_percentPass
Gaudi::CheckedProperty< double > m_percentPass
Percentage of events that should be passed.
Definition: Prescaler.h:25
GaudiAlgorithm::GaudiAlgorithm
GaudiAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Standard constructor.
Definition: GaudiAlgorithm.cpp:35

## Member Function Documentation

## ◆ execute()

StatusCode Prescaler::execute | ( |  | ) |
| override

Definition at line 18 of file Prescaler.cpp.

18 {
19 ++m_seen;
20 float fraction = ( float( 100.0 ) * (float)( m_pass + 1 ) ) / (float)m_seen;
21 if ( fraction > m_percentPass ) {
22 setFilterPassed( false );
23 info() << name() << ":Prescaler::execute - filter failed" << endmsg;
24 } else {
25 info() << name() << ":Prescaler::execute - filter passed" << endmsg;
26 ++m_pass;
27 }
28 return StatusCode::SUCCESS;
29 }
Prescaler::m_seen
int m_seen
Number of events seen.
Definition: Prescaler.h:36
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
Prescaler::m_pass
int m_pass
Number of events passed.
Definition: Prescaler.h:31
Prescaler::m_percentPass
Gaudi::CheckedProperty< double > m_percentPass
Percentage of events that should be passed.
Definition: Prescaler.h:25
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

## ◆ finalize()

StatusCode Prescaler::finalize | ( |  | ) |
| override

Definition at line 31 of file Prescaler.cpp.

31 {
32 info() << name() << ":Prescaler::finalize - total events: " << m_seen << ", passed events: " << m_pass << endmsg;
33 return GaudiAlgorithm::finalize();
34 }
Prescaler::m_seen
int m_seen
Number of events seen.
Definition: Prescaler.h:36
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
Prescaler::m_pass
int m_pass
Number of events passed.
Definition: Prescaler.h:31
GaudiAlgorithm::finalize
StatusCode finalize() override
standard finalization method
Definition: GaudiAlgorithm.cpp:55
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

## ◆ initialize()

StatusCode Prescaler::initialize | ( |  | ) |
| override

Definition at line 9 of file Prescaler.cpp.

9 {
10 const StatusCode sc = GaudiAlgorithm::initialize();
11 if ( !sc ) return sc;
12
13 info() << name() << ":Prescaler::Initialize - pass: " << m_percentPass << endmsg;
14
15 return sc;
16 }
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:41
GaudiAlgorithm::initialize
StatusCode initialize() override
standard initialization method
Definition: GaudiAlgorithm.cpp:42
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
Prescaler::m_percentPass
Gaudi::CheckedProperty< double > m_percentPass
Percentage of events that should be passed.
Definition: Prescaler.h:25
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:192

## Member Data Documentation

## ◆ m_pass

int Prescaler::m_pass = 0
| private

Number of events passed.

Definition at line 31 of file Prescaler.h.

## ◆ m_percentPass

Gaudi::CheckedProperty<double> Prescaler::m_percentPass
| private

Initial value:
{this, "PercentPass", 100.0,
"percentage of events that should be passed"}

Percentage of events that should be passed.

Definition at line 25 of file Prescaler.h.

## ◆ m_seen

int Prescaler::m_seen = 0
| private

Number of events seen.

Definition at line 36 of file Prescaler.h.

The documentation for this class was generated from the following files:

- GaudiAlg/GaudiAlg/Prescaler.h
- GaudiAlg/src/lib/Prescaler.cpp