ATLAS Offline Software
Loading...
Searching...
No Matches
Trig Namespace Reference

The common trigger namespace for trigger analysis tools. More...

Namespaces

namespace  Bits
namespace  FeatureAccessImpl
 This is the implementation of the Feature collection for Athena.
namespace  MatchingStrategy

Classes

struct  BunchConfig
 Structure describing a bunch configuration. More...
class  BunchCrossing
 A smart integer class representing bunch crossings. More...
class  BunchCrossingConfProviderBase
 Common implementation of the IBunchCrossingConfProvider interface. More...
class  BunchCrossingToolBase
 Base class for all BunchCrossingTool implementations. More...
class  BunchTrain
 A smart set of BunchCrossing objects. More...
class  CacheGlobalMemory
class  ChainGroup
class  ChainGroupFunctions
class  Combination
 is a connector between chains and object It store single combination of trigger elements. More...
class  ConfigurationAccess
class  count_bunch_neighbors
 Functor counting how many neighbors a given bunch crossing has. More...
class  DecisionAccess
class  DecisionUnpackerAthena
class  DecisionUnpackerEventInfo
class  DecisionUnpackerStandalone
 Helper class for unpacking the xAOD trigger decision/navigation. More...
class  DRScoringTool
 Score pairs of particles based on their deltaR. More...
class  EgammaDRScoringTool
 Score pairs of particles based on their deltaR. More...
class  EmulContext
class  ExpertMethods
class  Feature
 is basic vehicle of object access in TDT More...
class  FeatureContainer
class  FeatureRequestDescriptor
class  IBunchCrossingConfProvider
 Inteface for providing the bunch structure information. More...
class  IBunchCrossingTool
 Interface for all the bunch crossing tools. More...
class  IDecisionUnpacker
class  IIParticleRetrievalTool
class  IMatchingTool
class  IMatchScoringTool
 Interface class for scoring pairs of particles for matching. More...
class  IParticleRetrievalTool
struct  is_storable_type
class  ITrigBtagEmulationTool
class  ITrigDecisionTool
 Basic interface for the TrigDecisionTool. More...
class  ITrigDecisionToolLite
 isPassed and features interfaces for the TrigDecisionToolLite More...
class  ITrigEgammaEmulationBaseHypoTool
class  ITrigEgammaEmulationChain
class  ITrigEgammaMatchingTool
class  ITrigMuonMatching
class  JetManagerTool
class  Logger
 Logging adaptor to provide interfaces required for ATH_MSG macros. More...
class  MatchFromCompositeTool
 Tool to perform matching to selected offline particles using the list of candidates created by the DerivationFramework::TriggerMatchingTool. More...
class  MatchingImplementation
class  MatchingTool
class  NavigationTesterAlg
class  R3IParticleRetrievalTool
class  R3MatchingTool
class  StaticBunchCrossingTool
 Stand-alone bunch group tool knowing some static configurations. More...
class  TrigBtagEmulationChain
class  TrigBtagEmulationJet
class  TrigBtagEmulationTool
class  TrigBtagValidationTest
class  TrigConfBunchCrossingTool
 The trigger config implementation of IBunchCrossingTool. More...
class  TrigData
class  TrigDecisionTool
class  TrigDecisionToolCore
class  TrigDecisionToolLite
class  TrigEgammaEmulationBaseHypoTool
class  TrigEgammaEmulationChain
class  TrigEgammaEmulationFastCaloHypoTool
class  TrigEgammaEmulationFastElectronHypoTool
class  TrigEgammaEmulationFastPhotonHypoTool
class  TrigEgammaEmulationL1CaloHypoTool
class  TrigEgammaEmulationPrecisionCaloHypoTool
class  TrigEgammaEmulationPrecisionElectronHypoTool
class  TrigEgammaEmulationPrecisionPhotonHypoTool
class  TrigEgammaEmulationPrecisionTrackingHypoTool
class  TrigEgammaEmulationToolMT
class  TrigEgammaMatchingTool
class  TrigEgammaMatchingToolTest
class  TrigMatchTestAlg
class  TrigMuonMatching
class  TrigMuonMatching_example
class  TypedScoringTool
 Score particles of different types in different ways. More...
class  TypelessFeature
 Feature class, holding information on Feature attached to navigation. More...
class  xAODBunchCrossingTool
 Bunch crossing tool to use with xAOD input files. More...

Enumerations

enum  TrigCostMagicNumber_t {
  kRoIEta = 0 , kRoIPhi = 1 , kEventBufferSize = 9 , kEventLumiBlockLength = 43 ,
  kEBWeight = 45 , kEBBunchGroup = 46 , kIsCostEvent = 47 , kEBIsUnbiasedFlag = 48 ,
  kSMK = 66 , kL1PSK = 67 , kHLTPSK = 68 , kTimeCostMonitoring = 100 ,
  kTimeExec = 101 , kTimeProc = 102 , kTimeRes = 103 , kTimeMon = 104 ,
  kRoIET = 300 , kRoIIsTau = 301 , kRoIIsolationBits = 302 , kRoIETLarge = 304 ,
  kRoIMuonCharge = 306 , kRoIEnergyVectorX = 307 , kRoIEnergyVectorY = 308 , kRoIEnergyOverflowX = 310 ,
  kRoIEnergyOverflowY = 311 , kRoIEnergyOverflowT = 312 , kEventNumber = 9999
}

Functions

BunchCrossing operator+ (const BunchCrossing &bc1, const BunchCrossing &bc2)
 Convenience operator taking advantage of the += operator defined in the BunchCrossing class.
BunchCrossing operator- (const BunchCrossing &bc1, const BunchCrossing &bc2)
 Convenience operator taking advantage of the -= operator defined in the BunchCrossing class.
int distance (const BunchCrossing bc1, const BunchCrossing bc2)
 I need this function only for technical reasons.
bool operator< (const BunchTrain &bt1, const BunchTrain &bt2)
 This operator is here to be able to put BunchTrain objects into ordered containers like std::set and friends.
template<class T>
bool sameObject (const Feature< T > &a, const Feature< T > &b)
 comarison
std::vector< std::string > convertStringToVector (const std::string &triggerNames)
 makes a split of list of chains into the vector of chains
std::vector< std::string > keyWrap (const std::vector< std::string > &triggerNames)
 normalizes the list of triggers (patterns) by sorting and uniquing them
std::string getTEName (const HLT::TriggerElement &te)
 converts TEid to TE name (this may not always work, it depends on the availability of config)
std::ostream & operator<< (std::ostream &, const Trig::TypelessFeature &)
uint16_t getEncodedId (int level, int counter)
uint16_t getEncodedId (const std::string &level, int counter)
uint16_t getCounterFromEncodedId (uint16_t encoded)
uint16_t getLevelFromEncodedId (uint16_t encoded)
uint16_t ReserveVarId ATLAS_NOT_THREAD_SAFE (const std::string &name)
uint16_t ReserveVarId ATLAS_NOT_THREAD_SAFE (const std::string &name, uint16_t id)
bool FindVarId ATLAS_NOT_THREAD_SAFE (const std::string &name, uint16_t &id)
bool FindVarName ATLAS_NOT_THREAD_SAFE (const uint16_t id, std::string &name)
std::vector< TrigConfVar > GetCurrentTrigConfVarVector ATLAS_NOT_THREAD_SAFE ()
TrigMonROBData::History getROBHistory (unsigned int val)
TrigMonROBData::Status getROBStatus (unsigned int val)
std::string AsStringROBHistory (TrigMonROBData::History hist)
std::string AsStringROBStatus (TrigMonROBData::Status stat)
uint8_t getRoiId_Unknown ()
uint8_t getRoiId_JetEt ()
uint8_t getRoiId_Energy ()

Detailed Description

The common trigger namespace for trigger analysis tools.

Variable pair: 16 bits int id and float value.

   This is the common namespace that all trigger analysis tools use by
   convention.
Revision
618301
Date
2014-09-24 10:53:05 +0200 (Wed, 24 Sep 2014)
Author
Rustem Ospanov
Date
July 2009

Enumeration Type Documentation

◆ TrigCostMagicNumber_t

Enumerator
kRoIEta 
kRoIPhi 
kEventBufferSize 
kEventLumiBlockLength 
kEBWeight 
kEBBunchGroup 
kIsCostEvent 
kEBIsUnbiasedFlag 
kSMK 
kL1PSK 
kHLTPSK 
kTimeCostMonitoring 
kTimeExec 
kTimeProc 
kTimeRes 
kTimeMon 
kRoIET 
kRoIIsTau 
kRoIIsolationBits 
kRoIETLarge 
kRoIMuonCharge 
kRoIEnergyVectorX 
kRoIEnergyVectorY 
kRoIEnergyOverflowX 
kRoIEnergyOverflowY 
kRoIEnergyOverflowT 
kEventNumber 

Definition at line 25 of file TrigMonVar.h.

25 {
26 kRoIEta = 0,
27 kRoIPhi = 1,
30 kEBWeight = 45,
31 kEBBunchGroup = 46,
32 kIsCostEvent = 47,
34 kSMK = 66,
35 kL1PSK = 67,
36 kHLTPSK = 68,
38 kTimeExec = 101,
39 kTimeProc = 102,
40 kTimeRes = 103,
41 kTimeMon = 104,
42 // 200 - 299 reserved but not used in TrigNtVarsTool
43 kRoIET = 300, // Main transverse energy/pt var
44 kRoIIsTau = 301,
46 kRoIETLarge = 304,
47 kRoIMuonCharge = 306,
53 kEventNumber = 9999
54 // 10,000 - 11,000 reserved for LB
55 };
@ kRoIEnergyVectorX
Definition TrigMonVar.h:48
@ kEBIsUnbiasedFlag
Definition TrigMonVar.h:33
@ kRoIEnergyVectorY
Definition TrigMonVar.h:49
@ kEBWeight
Definition TrigMonVar.h:30
@ kRoIET
Definition TrigMonVar.h:43
@ kEventNumber
Definition TrigMonVar.h:53
@ kRoIIsTau
Definition TrigMonVar.h:44
@ kRoIIsolationBits
Definition TrigMonVar.h:45
@ kTimeCostMonitoring
Definition TrigMonVar.h:37
@ kHLTPSK
Definition TrigMonVar.h:36
@ kEventBufferSize
Definition TrigMonVar.h:28
@ kEBBunchGroup
Definition TrigMonVar.h:31
@ kRoIEnergyOverflowX
Definition TrigMonVar.h:50
@ kRoIEta
Definition TrigMonVar.h:26
@ kRoIMuonCharge
Definition TrigMonVar.h:47
@ kRoIEnergyOverflowY
Definition TrigMonVar.h:51
@ kTimeMon
Definition TrigMonVar.h:41
@ kRoIPhi
Definition TrigMonVar.h:27
@ kRoIETLarge
Definition TrigMonVar.h:46
@ kL1PSK
Definition TrigMonVar.h:35
@ kTimeExec
Definition TrigMonVar.h:38
@ kIsCostEvent
Definition TrigMonVar.h:32
@ kTimeProc
Definition TrigMonVar.h:39
@ kTimeRes
Definition TrigMonVar.h:40
@ kSMK
Definition TrigMonVar.h:34
@ kRoIEnergyOverflowT
Definition TrigMonVar.h:52
@ kEventLumiBlockLength
Definition TrigMonVar.h:29

Function Documentation

◆ AsStringROBHistory()

std::string Trig::AsStringROBHistory ( TrigMonROBData::History hist)

Definition at line 166 of file TrigMonROBData.cxx.

167{
168 if(hist == TrigMonROBData::kUNCLASSIFIED) return "UNCLASSIFIED";
169 if(hist == TrigMonROBData::kRETRIEVED) return "RETRIEVED";
170 if(hist == TrigMonROBData::kCACHED) return "CACHED";
171 if(hist == TrigMonROBData::kIGNORED) return "IGNORED";
172 if(hist == TrigMonROBData::kDISABLED) return "DISABLED";
173
174 return "UNCLASSIFIED";
175}

◆ AsStringROBStatus()

std::string Trig::AsStringROBStatus ( TrigMonROBData::Status stat)

◆ ATLAS_NOT_THREAD_SAFE() [1/5]

std::vector< TrigConfVar > GetCurrentTrigConfVarVector Trig::ATLAS_NOT_THREAD_SAFE ( )

◆ ATLAS_NOT_THREAD_SAFE() [2/5]

uint16_t ReserveVarId Trig::ATLAS_NOT_THREAD_SAFE ( const std::string & name)

◆ ATLAS_NOT_THREAD_SAFE() [3/5]

bool FindVarId Trig::ATLAS_NOT_THREAD_SAFE ( const std::string & name,
uint16_t & id )

◆ ATLAS_NOT_THREAD_SAFE() [4/5]

uint16_t ReserveVarId Trig::ATLAS_NOT_THREAD_SAFE ( const std::string & name,
uint16_t id )

◆ ATLAS_NOT_THREAD_SAFE() [5/5]

bool FindVarName Trig::ATLAS_NOT_THREAD_SAFE ( const uint16_t id,
std::string & name )

◆ convertStringToVector()

std::vector< std::string > Trig::convertStringToVector ( const std::string & triggerNames)

makes a split of list of chains into the vector of chains

Definition at line 42 of file TDTUtilities.cxx.

42 {
43 std::string temp(triggerNames);
44 std::string::size_type pos;
45 // new erase all spaces
46 while ((pos = temp.find_first_of(' ')) != std::string::npos)
47 temp.erase(pos,1);
48 return TDTUtilities_impl::split(temp);
49}
std::vector< std::string > split(const std::string &line)

◆ distance()

int Trig::distance ( const BunchCrossing bc1,
const BunchCrossing bc2 )

I need this function only for technical reasons.

Function calculating the distance of two bunch crossings.

It just calls BunchCrossing::distance under the hood...

Unfortunately the function can't receive constant references because of the way some of STL is written. :-/

Parameters
bc1One BunchCrossing object
bc2Another BunchCrossing object
Returns
The absolute distance of the two objects

Definition at line 402 of file BunchCrossing.cxx.

402 {
403
404 return bc1.distance( bc2 );
405 }
int distance(const BunchCrossing &bc) const
The distance from another bunch crossing.

◆ getCounterFromEncodedId()

uint16_t Trig::getCounterFromEncodedId ( uint16_t encoded)
inline

Definition at line 158 of file TrigConfChain.h.

158 {
159 return (encoded & Bits::maskCounter) >> Bits::shiftCounter;
160 }
const uint16_t shiftCounter
const uint16_t maskCounter

◆ getEncodedId() [1/2]

uint16_t Trig::getEncodedId ( const std::string & level,
int counter )

Definition at line 37 of file TrigConfChain.cxx.

38{
39 if(level == "L1") return Trig::getEncodedId(1, counter);
40 if(level == "HLT") return Trig::getEncodedId(2, counter);
41
42 return 0;
43}
uint16_t getEncodedId(int level, int counter)

◆ getEncodedId() [2/2]

uint16_t Trig::getEncodedId ( int level,
int counter )

Definition at line 15 of file TrigConfChain.cxx.

17{
18 // 16 bit word for encoded chain level and counter
19 uint16_t word = 0x0;
20
21 if(level < 1 || level > 2) {
22 REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "Trig::getEncoded") << "Bad level";
23 return word;
24 }
25 if(counter < 0 || counter >= 16384) {
26 REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "Trig::getEncoded") << "Bad counter";
27 return word;
28 }
29
30 word |= level << Bits::shiftLevel;
31 word |= counter;
32
33 return word;
34}
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
const uint16_t shiftLevel

◆ getLevelFromEncodedId()

uint16_t Trig::getLevelFromEncodedId ( uint16_t encoded)
inline

Definition at line 161 of file TrigConfChain.h.

161 {
162 return (encoded & Bits::maskLevel) >> Bits::shiftLevel;
163 }
const uint16_t maskLevel

◆ getROBHistory()

TrigMonROBData::History Trig::getROBHistory ( unsigned int val)

Definition at line 142 of file TrigMonROBData.cxx.

143{
144 const uint32_t hist = val & ROBbits::maskHistory;
145
146 if(hist == 1) return TrigMonROBData::kRETRIEVED;
147 if(hist == 2) return TrigMonROBData::kCACHED;
148 if(hist == 4) return TrigMonROBData::kIGNORED;
149 if(hist == 8) return TrigMonROBData::kDISABLED;
150
152}
const uint32_t maskHistory

◆ getROBStatus()

TrigMonROBData::Status Trig::getROBStatus ( unsigned int val)

Definition at line 155 of file TrigMonROBData.cxx.

156{
157 const uint32_t stat = val & ROBbits::maskStatus;
158
161
163}
const uint32_t maskStatus

◆ getRoiId_Energy()

uint8_t Trig::getRoiId_Energy ( )
inline

Definition at line 91 of file TrigMonRoi.h.

91{ return 253; }

◆ getRoiId_JetEt()

uint8_t Trig::getRoiId_JetEt ( )
inline

Definition at line 90 of file TrigMonRoi.h.

90{ return 254; }

◆ getRoiId_Unknown()

uint8_t Trig::getRoiId_Unknown ( )
inline

Definition at line 89 of file TrigMonRoi.h.

89{ return 255; }

◆ getTEName()

std::string Trig::getTEName ( const HLT::TriggerElement & te)

converts TEid to TE name (this may not always work, it depends on the availability of config)

Definition at line 62 of file TDTUtilities.cxx.

63{
64 std::string s;
65 //coverity[copy_constructor_call]
66 return (TrigConf::HLTTriggerElement::getLabel(te.getId(), s) ? s : "");
67}
static bool getLabel(unsigned int id, std::string &label)
find name from ID in the map m_IdToLabel

◆ keyWrap()

std::vector< std::string > Trig::keyWrap ( const std::vector< std::string > & triggerNames)

normalizes the list of triggers (patterns) by sorting and uniquing them

Definition at line 53 of file TDTUtilities.cxx.

53 {
54 std::vector< std::string > v;
55 v.assign(triggerNames.begin(),triggerNames.end());
56 std::sort(v.begin(),v.end());
57 v.erase( std::unique(v.begin(),v.end()),v.end());
58 return v;
59}
DataModel_detail::iterator< DVL > unique(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of unique for DataVector/List.
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.

◆ operator+()

BunchCrossing Trig::operator+ ( const BunchCrossing & bc1,
const BunchCrossing & bc2 )

Convenience operator taking advantage of the += operator defined in the BunchCrossing class.

Operator summing two BunchCrossing objects.

Note that using += is much quicker.

Parameters
bc1One bunch crossing object
bc2Another bunch crossing object
Returns
The sum of the two bunch crossings

Definition at line 367 of file BunchCrossing.cxx.

367 {
368
369 BunchCrossing result( bc1 );
370 result += bc2;
371
372 return result;
373 }
A smart integer class representing bunch crossings.

◆ operator-()

BunchCrossing Trig::operator- ( const BunchCrossing & bc1,
const BunchCrossing & bc2 )

Convenience operator taking advantage of the -= operator defined in the BunchCrossing class.

Operator subtracting two BunchCrossing objects.

Note that using -= is much quicker.

Parameters
bc1One bunch crossing object
bc2Another bunch crossing object
Returns
The difference of the two bunch crossings (absolute value depends on order!)

Definition at line 383 of file BunchCrossing.cxx.

383 {
384
385 BunchCrossing result( bc1 );
386 result -= bc2;
387
388 return result;
389 }

◆ operator<()

bool Trig::operator< ( const BunchTrain & bt1,
const BunchTrain & bt2 )

This operator is here to be able to put BunchTrain objects into ordered containers like std::set and friends.

Comparison operator for BunchTrain objects.

Parameters
bt1One bunch train object
bt2Another bunch train object
Returns
true if bt1 is considered "lower" than bt2, or false otherwise

Definition at line 277 of file BunchTrain.cxx.

277 {
278
279 if( ! bt2.size() ) return false;
280 if( ! bt1.size() ) return true;
281
282 return ( ( *bt1.begin() ) < ( *bt2.begin() ) );
283 }

◆ operator<<()

std::ostream & Trig::operator<< ( std::ostream & o,
const Trig::TypelessFeature & feat )

Definition at line 18 of file FeatureCollectStandalone.cxx.

18 {
19 o << "Feature accessible by : " << feat.accessHelper();
20 return o;
21}
const HLT::TriggerElement::FeatureAccessHelper & accessHelper() const

◆ sameObject()

template<class T>
bool Trig::sameObject ( const Feature< T > & a,
const Feature< T > & b )

comarison

Definition at line 221 of file Feature.h.

221 {
222 return a.cptr() == b.cptr();
223 }
static Double_t a