CMS 3D CMS Logo

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 33 of file HLTPathStatus.h.

Constructor & Destructor Documentation

◆ HLTPathStatus()

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

constructor

Definition at line 42 of file HLTPathStatus.h.

References cms::cuda::assert(), index(), and state().

42  : status_(index * 4 + state) {
43  assert(((int)state) < 4);
44  assert(index < 16384);
45  }
uint16_t status_
packed status of trigger path [unsigned char is too small]
Definition: HLTPathStatus.h:36
unsigned int index() const
Definition: HLTPathStatus.h:52
assert(be >=bs)
hlt::HLTState state() const
get state of path
Definition: HLTPathStatus.h:48

Member Function Documentation

◆ accept()

bool edm::HLTPathStatus::accept ( ) const
inline

has this path accepted the event?

Definition at line 59 of file HLTPathStatus.h.

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

Referenced by edm::HLTGlobalStatus::accept(), and esMonitoring.FDJsonServer::handle_accept().

59 { return (state() == hlt::Pass); }
accept
Definition: HLTenums.h:18
hlt::HLTState state() const
get state of path
Definition: HLTPathStatus.h:48

◆ error()

bool edm::HLTPathStatus::error ( ) const
inline

has this path encountered an error (exception)?

Definition at line 61 of file HLTPathStatus.h.

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

Referenced by Page1Parser.Page1Parser::check_for_whole_start_tag(), and edm::HLTGlobalStatus::error().

61 { return (state() == hlt::Exception); }
hlt::HLTState state() const
get state of path
Definition: HLTPathStatus.h:48

◆ index()

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 52 of file HLTPathStatus.h.

References status_.

Referenced by HLTPathStatus(), edm::HLTGlobalStatus::index(), BeautifulSoup.PageElement::insert(), and edm::SystemTimeKeeper::stopPath().

52 { return (static_cast<unsigned int>(status_ / 4)); }
uint16_t status_
packed status of trigger path [unsigned char is too small]
Definition: HLTPathStatus.h:36

◆ reset()

void edm::HLTPathStatus::reset ( void  )
inline

reset this path

Definition at line 54 of file HLTPathStatus.h.

References status_.

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

54 { status_ = 0; }
uint16_t status_
packed status of trigger path [unsigned char is too small]
Definition: HLTPathStatus.h:36

◆ state()

hlt::HLTState edm::HLTPathStatus::state ( ) const
inline

get state of path

Definition at line 48 of file HLTPathStatus.h.

References status_.

Referenced by accept(), edm::EventSelector::acceptAllBits(), edm::EventSelector::acceptOneBit(), edm::EventSelector::acceptTriggerPath(), error(), HLTPathStatus(), edm::HLTGlobalStatus::state(), and wasrun().

48 { return (static_cast<hlt::HLTState>(status_ % 4)); }
uint16_t status_
packed status of trigger path [unsigned char is too small]
Definition: HLTPathStatus.h:36

◆ wasrun()

bool edm::HLTPathStatus::wasrun ( ) const
inline

was this path run?

Definition at line 57 of file HLTPathStatus.h.

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

Referenced by edm::HLTGlobalStatus::wasrun().

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

Member Data Documentation

◆ status_

uint16_t edm::HLTPathStatus::status_
private

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

Definition at line 36 of file HLTPathStatus.h.

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