Belle II Software  release-08-01-10
EventLevelTriggerTimeInfo Class Reference

Storage element for information from the Trigger Timing Distribution (TTD) More...

#include <EventLevelTriggerTimeInfo.h>

Inheritance diagram for EventLevelTriggerTimeInfo:
Collaboration diagram for EventLevelTriggerTimeInfo:

Public Member Functions

 EventLevelTriggerTimeInfo (bool isValid=false, bool isHER=false, bool revo2=false, unsigned int timeSinceLastInjection=c_flagNoInjection, unsigned int timeSincePrevTrigger=0, unsigned int bunchNumber=0)
 Constructor. More...
 
 ~EventLevelTriggerTimeInfo ()
 Destructor.
 
bool isValid () const
 get if stored information is valid
 
bool isHER () const
 get if last injection was in HER/LER
 
bool isRevo2 () const
 get lowest bit of revolution counter
 
unsigned int getTimeSinceLastInjection () const
 get time since the last injection (i.e. the injection-pre-kick signal) in clock ticks (FTSW clock)
 
unsigned int getTimeSincePrevTrigger () const
 get time since the previous trigger in clock ticks (FTSW clock)
 
unsigned int getBunchNumber () const
 get number of triggered bunch as provided by TTD
 
bool hasInjection () const
 get if an injection happened recently (and the corresponding stored data is actually valid)
 
void setValid ()
 set that stored information is valid
 
void setInvalid ()
 set that stored information is valid
 
void setIsHER (bool isHER)
 set if injection in HER/LER
 
void setRevo2 (bool revo2)
 set lowest bit of revolution counter
 
void setTimeSinceLastInjection (unsigned int timeSinceLastInjection)
 set time since the last injection (i.e. the injection-pre-kick signal) in clock ticks (FTSW clock)
 
void setTimeSincePrevTrigger (unsigned int timeSincePrevTrigger)
 set time since the previous trigger in clock ticks (FTSW clock)
 
void setBunchNumber (unsigned int bunchNumber)
 set number of triggered bunch
 
void setNoInjection ()
 set that no injection happened recently (and the corresponding stored data is actually invalid)
 
double getTimeSinceLastInjectionInMicroSeconds () const
 get time since the last injection (i.e. the injection-pre-kick signal) in microseconds
 
double getTimeSincePrevTriggerInMicroSeconds () const
 get time since the previous trigger in microseconds
 
int getTimeSinceInjectedBunch () const
 get time since the injected bunch passed the detector in clock ticks (FTSW clock)
 
double getTimeSinceInjectedBunchInMicroSeconds () const
 get time since the injected bunch passed the detector in microseconds
 
int getTriggeredBunchNumberGlobal () const
 get the actual (=global) number of the triggered bunch
 

Private Attributes

bool m_isValid
 Data stored in this TTD info object is actually valid.
 
bool m_isHER
 Injection is in HER/LER.
 
bool m_revo2
 Lowest bit of revolution counter (PXD needs ~2 revolutions to readout one frame)
 
unsigned int m_timeSinceLastInjection
 Time since the last injection in clock ticks (127MHz=RF/4 clock) Note: A value of 0x7FFFFFFF (see c_flagNoInjection) means no injection took place recently (value is defined by the RawFTSW) Note: This is actually the time since the injection-pre-kick signal was received so there is some offset (different for HER/LER) that will be handled by the analysis variable.
 
unsigned int m_timeSincePrevTrigger
 Time since the previous trigger in clock ticks (127MHz=RF/4 clock)
 
unsigned int m_bunchNumber
 Number of triggered bunch, ranging from 0-1279 (in 127MHz clock ticks) Note: There are a maximum of 5120 buckets, which could each carry one bunch of e+/e-, but we only have 1280 clock ticks (=5120/4) to identify the bunches Note: This is the bunch number as given by the TTD. More...
 

Static Private Attributes

static const unsigned int c_flagNoInjection = 0x7FFFFFFF
 This number is defined by the FTSW to indicate no injection happened recently.
 

Detailed Description

Storage element for information from the Trigger Timing Distribution (TTD)

Data is required to study injections and injection backgrounds, as well as for the analysis and simulation of PXD Gated Mode

Definition at line 23 of file EventLevelTriggerTimeInfo.h.

Constructor & Destructor Documentation

◆ EventLevelTriggerTimeInfo()

EventLevelTriggerTimeInfo ( bool  isValid = false,
bool  isHER = false,
bool  revo2 = false,
unsigned int  timeSinceLastInjection = c_flagNoInjection,
unsigned int  timeSincePrevTrigger = 0,
unsigned int  bunchNumber = 0 
)
inlineexplicit

Constructor.

Parameters
isValidThe information stored in this object is valid
isHERInjection in HER/LER
revo2Lowest bit of the revolution counter
timeSinceLastInjectionTime since the last injection in clock ticks (127MHz=RF/4 clock)
timeSincePrevTriggerTime since the previous trigger in clock ticks (127MHz=RF/4 clock)
bunchNumberNumber of the triggered bunch (ranging from 0-1279)

Definition at line 34 of file EventLevelTriggerTimeInfo.h.

37  :
38  m_isValid(isValid), m_isHER(isHER), m_revo2(revo2), m_timeSinceLastInjection(timeSinceLastInjection),
39  m_timeSincePrevTrigger(timeSincePrevTrigger), m_bunchNumber(bunchNumber) {}
bool m_isHER
Injection is in HER/LER.
unsigned int m_timeSincePrevTrigger
Time since the previous trigger in clock ticks (127MHz=RF/4 clock)
bool isValid() const
get if stored information is valid
unsigned int m_bunchNumber
Number of triggered bunch, ranging from 0-1279 (in 127MHz clock ticks) Note: There are a maximum of 5...
unsigned int m_timeSinceLastInjection
Time since the last injection in clock ticks (127MHz=RF/4 clock) Note: A value of 0x7FFFFFFF (see c_f...
bool m_revo2
Lowest bit of revolution counter (PXD needs ~2 revolutions to readout one frame)
bool isHER() const
get if last injection was in HER/LER
bool m_isValid
Data stored in this TTD info object is actually valid.

Member Data Documentation

◆ m_bunchNumber

unsigned int m_bunchNumber
private

Number of triggered bunch, ranging from 0-1279 (in 127MHz clock ticks) Note: There are a maximum of 5120 buckets, which could each carry one bunch of e+/e-, but we only have 1280 clock ticks (=5120/4) to identify the bunches Note: This is the bunch number as given by the TTD.

This might not be the 'global' bunch number, but the offset is taken into account by the method getTriggeredBunchNumberGlobal().

Definition at line 122 of file EventLevelTriggerTimeInfo.h.


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