ATLAS Offline Software
Loading...
Searching...
No Matches
TriggerInfo Class Reference

This class contains trigger related information. More...

#include <TriggerInfo.h>

Collaboration diagram for TriggerInfo:

Classes

class  StreamTag

Public Types

typedef:
typedef unsigned int number_type

Public Member Functions

structors
 TriggerInfo ()
 empty default constructor (all zero)
 TriggerInfo (number_type statusElement, number_type extendedLevel1ID, number_type level1TriggerType, const std::vector< number_type > &level1TriggerInfo)
 special constructor for LVL1 part only
 TriggerInfo (number_type statusElement, number_type extendedLevel1ID, number_type level1TriggerType, const std::vector< number_type > &level2TriggerInfo, const std::vector< number_type > &eventFilterInfo, const std::vector< StreamTag > &streamTags)
 constructor without level1TriggerInfo
 TriggerInfo (number_type statusElement, number_type extendedLevel1ID, number_type level1TriggerType, const std::vector< number_type > &level1TriggerInfo, const std::vector< number_type > &level2TriggerInfo, const std::vector< number_type > &eventFilterInfo, const std::vector< StreamTag > &streamTags)
 Full constructor.
virtual ~TriggerInfo ()
 TriggerInfo (const TriggerInfo &)=default
 TriggerInfo (TriggerInfo &&)=default
TriggerInfooperator= (const TriggerInfo &)=default
TriggerInfooperator= (TriggerInfo &&)=default
Trigger information accessors
number_type statusElement () const
 get status element
number_type extendedLevel1ID () const
 get extended level1 ID
number_type level1TriggerType () const
 get level1 trigger type
const std::vector< number_type > & level1TriggerInfo () const
 get level1 trigger info
const std::vector< number_type > & level2TriggerInfo () const
 get level2 trigger info
const std::vector< number_type > & eventFilterInfo () const
 get event filter trigger info
const std::vector< StreamTag > & streamTags () const
 get stream tags
Trigger information setters
void setStatusElement (const number_type statusElement)
 set status element
void setExtendedLevel1ID (const number_type extendedLevel1ID)
 set extended level1 ID
void setLevel1TriggerType (const number_type level1TriggerType)
 set level1 trigger type
void setLevel1TriggerInfo (const std::vector< number_type > &level1TriggerInfo)
 set level1 trigger info
void setLevel1TriggerInfo (std::vector< number_type > &&level1TriggerInfo)
void setLevel2TriggerInfo (const std::vector< number_type > &level2TriggerInfo)
 set level2 trigger info
void setLevel2TriggerInfo (std::vector< number_type > &&level2TriggerInfo)
void setEventFilterInfo (const std::vector< number_type > &eventFilterInfo)
 set event filter trigger info
void setEventFilterInfo (std::vector< number_type > &&eventFilterInfo)

Special setter for StreamTags - allows changes on const object

number_type m_statusElement
number_type m_extendedLevel1ID
number_type m_level1TriggerType
std::vector< number_typem_level1TriggerInfo
std::vector< number_typem_level2TriggerInfo
std::vector< number_typem_eventFilterInfo
std::vector< StreamTagm_streamTags
void setStreamTags (const std::vector< StreamTag > &streamTags)
void setStreamTags (std::vector< StreamTag > &&streamTags)
std::ostream & operator<< (std::ostream &os, const TriggerInfo &rhs)
 extraction operators

Detailed Description

This class contains trigger related information.

Trigger information:

  • statusElement: The values and error conditions indicted by the Generic field are the same for all fragments, while the values and error conditions indicated by the Specific field have meanings specific to the fragment. A non-zero value of this element indicates that the event fragment is corrupted, e.g. truncated. The information conveyed by the status element only refers to the fragment of which it is an element.
  • extendedLevel1ID: The extended LVL1 ID [3] formed by the 24-bit L1ID generated in the TTCrx and the 8-bit ECRID implemented in the ROD.
  • level1TriggerType: An 8-bit word as generated by the Central Trigger Processor and transmitted by the TTC system [4]. The remaining 24-bits are un-used.
  • level1TriggerInfo: result from the LVL1 CTP in three consecutive blocks of 256 bits (8 ints): 256 bits for the TBP (trigger before prescale) 256 bits for the TAP (trigger after prescale 256 bits for the TAV (trigger after veto). The bits are packed into a vector of 32-bit ints. The length of the vector should be 24 (=3x8).
  • level2TriggerInfo: status of trigger chains after LVL2. Each bit represents the logical status of a chain: if not prescaled and passes hypothesis cuts, or chosen for random pass-through. this is the same as TrigDecisionTool::isPassed(). The bits are packed into a vector of 32-bit ints. The length of the vector is not fixed but by convention is no more than 1024 bits. The name of the chain corresponding to each bit is available from the trigger configuration in COOL for the run in question
  • eventFilterInfo: status of trigger chains after EF. The notes given for level2TriggerInfo apply.
  • StreamTag: This element is a string identifying to which data stream or data streams the event has been assigned.

Definition at line 77 of file TriggerInfo.h.

Member Typedef Documentation

◆ number_type

typedef unsigned int TriggerInfo::number_type

Definition at line 81 of file TriggerInfo.h.

Constructor & Destructor Documentation

◆ TriggerInfo() [1/6]

TriggerInfo::TriggerInfo ( )

empty default constructor (all zero)

Definition at line 74 of file TriggerInfo.cxx.

75 :
79{}
number_type m_statusElement
number_type m_level1TriggerType
number_type m_extendedLevel1ID

◆ TriggerInfo() [2/6]

TriggerInfo::TriggerInfo ( number_type statusElement,
number_type extendedLevel1ID,
number_type level1TriggerType,
const std::vector< number_type > & level1TriggerInfo )

special constructor for LVL1 part only

Definition at line 81 of file TriggerInfo.cxx.

85 :
90{}
std::vector< number_type > m_level1TriggerInfo
number_type level1TriggerType() const
get level1 trigger type
number_type extendedLevel1ID() const
get extended level1 ID
number_type statusElement() const
get status element
const std::vector< number_type > & level1TriggerInfo() const
get level1 trigger info

◆ TriggerInfo() [3/6]

TriggerInfo::TriggerInfo ( number_type statusElement,
number_type extendedLevel1ID,
number_type level1TriggerType,
const std::vector< number_type > & level2TriggerInfo,
const std::vector< number_type > & eventFilterInfo,
const std::vector< StreamTag > & streamTags )

constructor without level1TriggerInfo

Definition at line 92 of file TriggerInfo.cxx.

98 :
105{}
std::vector< StreamTag > m_streamTags
const std::vector< number_type > & eventFilterInfo() const
get event filter trigger info
const std::vector< StreamTag > & streamTags() const
get stream tags
std::vector< number_type > m_level2TriggerInfo
const std::vector< number_type > & level2TriggerInfo() const
get level2 trigger info
std::vector< number_type > m_eventFilterInfo

◆ TriggerInfo() [4/6]

TriggerInfo::TriggerInfo ( number_type statusElement,
number_type extendedLevel1ID,
number_type level1TriggerType,
const std::vector< number_type > & level1TriggerInfo,
const std::vector< number_type > & level2TriggerInfo,
const std::vector< number_type > & eventFilterInfo,
const std::vector< StreamTag > & streamTags )

◆ ~TriggerInfo()

TriggerInfo::~TriggerInfo ( )
virtual

Definition at line 124 of file TriggerInfo.cxx.

125{}

◆ TriggerInfo() [5/6]

TriggerInfo::TriggerInfo ( const TriggerInfo & )
default

◆ TriggerInfo() [6/6]

TriggerInfo::TriggerInfo ( TriggerInfo && )
default

Member Function Documentation

◆ eventFilterInfo()

const std::vector< TriggerInfo::number_type > & TriggerInfo::eventFilterInfo ( ) const

get event filter trigger info

Definition at line 153 of file TriggerInfo.cxx.

153 {
154 return(m_eventFilterInfo);
155}

◆ extendedLevel1ID()

TriggerInfo::number_type TriggerInfo::extendedLevel1ID ( ) const

get extended level1 ID

Definition at line 133 of file TriggerInfo.cxx.

133 {
134 return(m_extendedLevel1ID);
135}

◆ level1TriggerInfo()

const std::vector< TriggerInfo::number_type > & TriggerInfo::level1TriggerInfo ( ) const

get level1 trigger info

Definition at line 143 of file TriggerInfo.cxx.

143 {
144 return(m_level1TriggerInfo);
145}

◆ level1TriggerType()

TriggerInfo::number_type TriggerInfo::level1TriggerType ( ) const

get level1 trigger type

Definition at line 138 of file TriggerInfo.cxx.

138 {
139 return(m_level1TriggerType);
140}

◆ level2TriggerInfo()

const std::vector< TriggerInfo::number_type > & TriggerInfo::level2TriggerInfo ( ) const

get level2 trigger info

Definition at line 148 of file TriggerInfo.cxx.

148 {
149 return(m_level2TriggerInfo);
150}

◆ operator=() [1/2]

TriggerInfo & TriggerInfo::operator= ( const TriggerInfo & )
default

◆ operator=() [2/2]

TriggerInfo & TriggerInfo::operator= ( TriggerInfo && )
default

◆ setEventFilterInfo() [1/2]

void TriggerInfo::setEventFilterInfo ( const std::vector< number_type > & eventFilterInfo)

set event filter trigger info

Definition at line 198 of file TriggerInfo.cxx.

◆ setEventFilterInfo() [2/2]

void TriggerInfo::setEventFilterInfo ( std::vector< number_type > && eventFilterInfo)

Definition at line 203 of file TriggerInfo.cxx.

203 {
205}

◆ setExtendedLevel1ID()

void TriggerInfo::setExtendedLevel1ID ( const number_type extendedLevel1ID)

set extended level1 ID

Definition at line 168 of file TriggerInfo.cxx.

◆ setLevel1TriggerInfo() [1/2]

void TriggerInfo::setLevel1TriggerInfo ( const std::vector< number_type > & level1TriggerInfo)

set level1 trigger info

Definition at line 178 of file TriggerInfo.cxx.

◆ setLevel1TriggerInfo() [2/2]

void TriggerInfo::setLevel1TriggerInfo ( std::vector< number_type > && level1TriggerInfo)

Definition at line 183 of file TriggerInfo.cxx.

183 {
185}

◆ setLevel1TriggerType()

void TriggerInfo::setLevel1TriggerType ( const number_type level1TriggerType)

set level1 trigger type

Definition at line 173 of file TriggerInfo.cxx.

◆ setLevel2TriggerInfo() [1/2]

void TriggerInfo::setLevel2TriggerInfo ( const std::vector< number_type > & level2TriggerInfo)

set level2 trigger info

Definition at line 188 of file TriggerInfo.cxx.

◆ setLevel2TriggerInfo() [2/2]

void TriggerInfo::setLevel2TriggerInfo ( std::vector< number_type > && level2TriggerInfo)

Definition at line 193 of file TriggerInfo.cxx.

193 {
195}

◆ setStatusElement()

void TriggerInfo::setStatusElement ( const number_type statusElement)

set status element

Definition at line 163 of file TriggerInfo.cxx.

163 {
165}

◆ setStreamTags() [1/2]

void TriggerInfo::setStreamTags ( const std::vector< StreamTag > & streamTags)

Definition at line 208 of file TriggerInfo.cxx.

208 {
210}

◆ setStreamTags() [2/2]

void TriggerInfo::setStreamTags ( std::vector< StreamTag > && streamTags)

Definition at line 213 of file TriggerInfo.cxx.

213 {
214 m_streamTags = std::move(streamTags);
215}

◆ statusElement()

TriggerInfo::number_type TriggerInfo::statusElement ( ) const

get status element

Definition at line 128 of file TriggerInfo.cxx.

128 {
129 return(m_statusElement);
130}

◆ streamTags()

const std::vector< TriggerInfo::StreamTag > & TriggerInfo::streamTags ( ) const

get stream tags

Definition at line 158 of file TriggerInfo.cxx.

158 {
159 return(m_streamTags);
160}

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const TriggerInfo & rhs )
friend

extraction operators

Definition at line 241 of file TriggerInfo.cxx.

242 {
243 os << "\n [S,L1ID,L1TT] = ["
244 << rhs.m_statusElement
245 << "," << rhs.m_extendedLevel1ID
246 << "," << rhs.m_level1TriggerType
247 << "]"
248 << "\n L1: [" << rhs.m_level1TriggerInfo << "]"
249 << "\n L2: [" << rhs.m_level2TriggerInfo << "]"
250 << "\n EF: [" << rhs.m_eventFilterInfo << "]"
251 << "\n ST: [" << rhs.m_streamTags << "]";
252
253 return os;
254}

Member Data Documentation

◆ m_eventFilterInfo

std::vector<number_type> TriggerInfo::m_eventFilterInfo
private

Definition at line 200 of file TriggerInfo.h.

◆ m_extendedLevel1ID

number_type TriggerInfo::m_extendedLevel1ID
private

Definition at line 196 of file TriggerInfo.h.

◆ m_level1TriggerInfo

std::vector<number_type> TriggerInfo::m_level1TriggerInfo
private

Definition at line 198 of file TriggerInfo.h.

◆ m_level1TriggerType

number_type TriggerInfo::m_level1TriggerType
private

Definition at line 197 of file TriggerInfo.h.

◆ m_level2TriggerInfo

std::vector<number_type> TriggerInfo::m_level2TriggerInfo
private

Definition at line 199 of file TriggerInfo.h.

◆ m_statusElement

number_type TriggerInfo::m_statusElement
private

Definition at line 195 of file TriggerInfo.h.

◆ m_streamTags

std::vector<StreamTag> TriggerInfo::m_streamTags
private

Definition at line 201 of file TriggerInfo.h.


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