CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
edm::HLTPathStatus Class Reference

#include <HLTPathStatus.h>

Public Member Functions

bool accept () const
 has this path accepted the event? More...
 
bool error () const
 has this path encountered an error (exception)? More...
 
 HLTPathStatus (const hlt::HLTState state=hlt::Ready, const unsigned int index=0)
 constructor More...
 
unsigned int index () const
 
void reset ()
 reset this path More...
 
hlt::HLTState state () const
 get state of path More...
 
bool wasrun () const
 was this path run? More...
 

Private Attributes

uint16_t status_
 packed status of trigger path [unsigned char is too small] More...
 

Detailed Description

The status of a single HLT trigger (single trigger path consisting of modules on the path). Initially, the status is Ready (meaning that this trigger path has not run yet for this event). If all modules on the path pass (accept) the event, then the state is Pass. If any module on the path fails (rejects) the event, then the state of the whole trigger path is Fail. If any module on the path throws an unhandled error, then the trigger state is Exception. For the latter two cases, the Fw skips further processing of modules along this path, ie, path processing is aborted.

The index of the module on the path, 0 to n-1 for a path with n modules issuing the decision for the path is recorded. For accepted events, this is simply the index of the last module on the path, ie, n-1.

Note that n is limited, due to packing, to at most 2^(16-2)=16384.

Author
Martin Grunewald

Definition at line 34 of file HLTPathStatus.h.

Constructor & Destructor Documentation

edm::HLTPathStatus::HLTPathStatus ( const hlt::HLTState  state = hlt::Ready,
const unsigned int  index = 0 
)
inline

constructor

Definition at line 44 of file HLTPathStatus.h.

References index(), and state().

45  : status_(index*4+state) {
46  assert (((int)state)<4);
47  assert (index<16384);
48  }
uint16_t status_
packed status of trigger path [unsigned char is too small]
Definition: HLTPathStatus.h:38
hlt::HLTState state() const
get state of path
Definition: HLTPathStatus.h:51
unsigned int index() const
Definition: HLTPathStatus.h:55

Member Function Documentation

bool edm::HLTPathStatus::accept ( ) const
inline
bool edm::HLTPathStatus::error ( ) const
inline
unsigned int edm::HLTPathStatus::index ( ) const
inline

get index of module giving the status of this path Nota Bene: if a Path or EndPath is empty (that is, it does not contain any ED module), index will be 0, even if there is no "0th module" responsible for the status of the path

Definition at line 55 of file HLTPathStatus.h.

References status_.

Referenced by BeautifulSoup.PageElement::_invert(), TriggerRatesMonitor::analyze(), HLTPathStatus(), edm::HLTGlobalStatus::index(), FastTimerService::postPathEvent(), edm::service::PathTimerService::postPathProcessing(), and edm::SystemTimeKeeper::stopPath().

55 {return (static_cast<unsigned int >(status_ / 4));}
uint16_t status_
packed status of trigger path [unsigned char is too small]
Definition: HLTPathStatus.h:38
void edm::HLTPathStatus::reset ( void  )
inline

reset this path

Definition at line 57 of file HLTPathStatus.h.

References status_.

Referenced by HLTPerformanceInfo::Module::clear(), HLTPerformanceInfo::Path::clear(), and edm::HLTGlobalStatus::reset().

57 {status_=0;}
uint16_t status_
packed status of trigger path [unsigned char is too small]
Definition: HLTPathStatus.h:38
hlt::HLTState edm::HLTPathStatus::state ( ) const
inline

get state of path

Definition at line 51 of file HLTPathStatus.h.

References status_.

Referenced by accept(), edm::EventSelector::acceptTriggerPath(), error(), HLTPathStatus(), edm::service::PathTimerService::postPathProcessing(), edm::HLTGlobalStatus::state(), and wasrun().

51 {return (static_cast<hlt::HLTState>(status_ % 4));}
uint16_t status_
packed status of trigger path [unsigned char is too small]
Definition: HLTPathStatus.h:38
bool edm::HLTPathStatus::wasrun ( ) const
inline

was this path run?

Definition at line 60 of file HLTPathStatus.h.

References edm::hlt::Ready, and state().

Referenced by TriggerRatesMonitor::analyze(), FastTimerService::postPathEvent(), HLTPerformanceInfo::setStatusOfModulesFromPath(), and edm::HLTGlobalStatus::wasrun().

60 {return (state() != hlt::Ready);}
not [yet] run
Definition: HLTenums.h:18
hlt::HLTState state() const
get state of path
Definition: HLTPathStatus.h:51

Member Data Documentation

uint16_t edm::HLTPathStatus::status_
private

packed status of trigger path [unsigned char is too small]

Definition at line 38 of file HLTPathStatus.h.

Referenced by index(), reset(), and state().