ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
TrigConf::HLTChainLoader Class Reference

TriggerDB loader of the HLT signatures. More...

#include <HLTChainLoader.h>

Inheritance diagram for TrigConf::HLTChainLoader:
Collaboration diagram for TrigConf::HLTChainLoader:

Public Member Functions

 HLTChainLoader (StorageMgr &sm, coral::ISessionProxy &session)
 constructor More...
 
virtual ~HLTChainLoader () override=default
 destructor More...
 
void loadChains (HLTChainList &chainlist)
 
void loadGroups (HLTChainList &chainlist)
 
void loadTypes (HLTChainList &chainlist)
 
void loadStreams (HLTChainList &chainlist)
 
void loadSignatures (HLTChainList &chainlist)
 
virtual bool load (HLTFrame &frame)
 
virtual void setLevel (MSGTC::Level lvl) override
 access to output stream More...
 
virtual MSGTC::Level outputLevel () const override
 
void startSession ()
 start session if not already active More...
 
void commitSession ()
 commit session if not already done More...
 
bool loadL1MasterKey (int SuperMasterKey, int &Lvl1MasterKey)
 get l1 master from super master More...
 
bool loadL1MenuKey (int SuperMasterKey, int &Lvl1MenuKey)
 get l1 menu id from super master More...
 
unsigned int triggerDBSchemaVersion ()
 
virtual int verbose () const override
 
virtual void setVerbose (int v) override
 
bool isRun1 ()
 
bool isRun2 ()
 
bool msgLvl (const MSGTC::Level lvl) const
 Test the output level. More...
 
MsgStreamTCmsg () const
 The standard message stream. More...
 
MsgStreamTCmsg (const MSGTC::Level lvl) const
 The standard message stream. More...
 
const std::string & getName () const
 name accessor More...
 

Protected Attributes

StorageMgrm_storageMgr
 reference to the storage manager More...
 
coral::ISessionProxy & m_session
 CORAL interface to database session. More...
 
bool m_sessionOwner {false}
 remember if the loader started the session in the first place More...
 

Private Member Functions

std::tuple< unsigned int, unsigned int > loadSchemaVersion () const
 get DB schema version and run number More...
 

Private Attributes

unsigned int m_smk {0}
 
unsigned int m_schemaversion {0}
 
int m_verbose {1}
 
boost::thread_specific_ptr< MsgStreamTCm_msg_tls
 MsgStreamTC instance (a std::cout like with print-out levels) More...
 
std::string m_name
 

Detailed Description

TriggerDB loader of the HLT signatures.

Definition at line 17 of file HLTChainLoader.h.

Constructor & Destructor Documentation

◆ HLTChainLoader()

TrigConf::HLTChainLoader::HLTChainLoader ( StorageMgr sm,
coral::ISessionProxy &  session 
)
inline

constructor

Parameters
smreference to storage manager
sessionreference to the database session

Definition at line 25 of file HLTChainLoader.h.

25  :
26  DBLoader("HLTChainLoader", sm, session) {}

◆ ~HLTChainLoader()

virtual TrigConf::HLTChainLoader::~HLTChainLoader ( )
overridevirtualdefault

destructor

Member Function Documentation

◆ commitSession()

void TrigConf::DBLoader::commitSession ( )
inherited

commit session if not already done

Definition at line 45 of file DBLoader.cxx.

46 {
47  if ( m_session.transaction().isActive() && m_sessionOwner) {
48  m_session.transaction().commit();
49  }
50 }

◆ getName()

const std::string & TrigConf::TrigConfMessaging::getName ( ) const
inlineinherited

name accessor

Returns
the name

Definition at line 101 of file TrigConfMessaging.h.

101  {
102  return m_name;
103  }

◆ isRun1()

bool TrigConf::DBLoader::isRun1 ( )
inlineinherited

Definition at line 60 of file DBLoader.h.

60 { return ! isRun2(); }

◆ isRun2()

bool DBLoader::isRun2 ( )
inherited

Definition at line 54 of file DBLoader.cxx.

54  {
55  const static unsigned int run = std::get<1>(loadSchemaVersion());
56  return run == 2;
57 }

◆ load()

bool TrigConf::HLTChainLoader::load ( HLTFrame frame)
virtual

Definition at line 22 of file HLTChainLoader.cxx.

22  {
23  m_smk=frame.smk();
24 
26  TRG_MSG_INFO("Loading HLT chains");
27 
28  HLTChainList& chains = frame.theHLTChainList();
29 
30  try {
31  startSession ();
32  loadChains( chains );
33  loadGroups( chains );
34  loadTypes( chains );
37  commitSession();
38  }
39  catch( const coral::Exception& e ) {
40  TRG_MSG_ERROR("Coral::Exception: " << e.what());
41  m_session.transaction().rollback();
42  throw;
43  }
44 
45  chains.setEFLowerChainCounter();
46 
47  return true;
48 }

◆ loadChains()

void TrigConf::HLTChainLoader::loadChains ( HLTChainList chainlist)

Definition at line 52 of file HLTChainLoader.cxx.

52  {
53 
54  TRG_MSG_INFO("Loading chains with SMK " << m_smk);
55 
56  std::unique_ptr< coral::IQuery > q( m_session.nominalSchema().newQuery() );
57 
58  //Set the tables that are used
59  q->addToTableList ( "SUPER_MASTER_TABLE", "SM" );
60  q->addToTableList ( "HLT_MASTER_TABLE", "HM" );
61  q->addToTableList ( "HLT_TRIGGER_MENU", "TM" );
62  q->addToTableList ( "HLT_TM_TO_TC", "TM2TC" );
63  q->addToTableList ( "HLT_TRIGGER_CHAIN", "TC" );
64 
65  //Bind list
66  coral::AttributeList bindList;
67  bindList.extend<int>("smid");
68  bindList[0].data<int>() = (int)m_smk;
69 
70  string theCondition = "";
71  theCondition += string( " SM.SMT_ID = :smid");
72  theCondition += string( " AND HM.HMT_ID = SM.SMT_HLT_MASTER_TABLE_ID" );
73  theCondition += string( " AND TM.HTM_ID = HM.HMT_TRIGGER_MENU_ID" );
74  theCondition += string( " AND TM.HTM_ID = TM2TC.HTM2TC_TRIGGER_MENU_ID " );
75  theCondition += string( " AND TC.HTC_ID = TM2TC.HTM2TC_TRIGGER_CHAIN_ID" );
76 
77  q->setCondition( theCondition, bindList );
78 
79  //Output data and types
80  coral::AttributeList attList;
81  attList.extend<long> ( "TC.HTC_ID" );
82  attList.extend<string>( "TC.HTC_NAME" );
83  attList.extend<string>( "TC.HTC_LOWER_CHAIN_NAME" );
84  if(isRun1()) {
85  attList.extend<string>( "TC.HTC_L2_OR_EF" );
86  attList.extend<string>( "TC.HTC_RERUN_PRESCALE" );
87  }
88  attList.extend<int> ( "TC.HTC_CHAIN_COUNTER" );
89  attList.extend<int> ( "TC.HTC_VERSION" );
90  fillQuery(q.get(),attList);
91 
92  // the ordering
93  string theOrder = "";
94  if(isRun1()) {
95  theOrder += " TC.HTC_L2_OR_EF DESC, ";
96  }
97  theOrder += " TC.HTC_CHAIN_COUNTER ASC";
98  q->addToOrderList( theOrder );
99 
100  // process the query
101  q->setDistinct();
102  coral::ICursor& cursor = q->execute();
103 
104  while ( cursor.next() ) {
105  const coral::AttributeList& row = cursor.currentRow();
106 
107  long chainId = row["TC.HTC_ID"].data<long>();
108  int counter = row["TC.HTC_CHAIN_COUNTER"].data<int>();
109  int version = row["TC.HTC_VERSION"].data<int>();
110  string name = rmtilde(row["TC.HTC_NAME"].data<string>());
111  string lower_chain_name = rmtilde(row["TC.HTC_LOWER_CHAIN_NAME"].data<string>());
112 
113  // level
114  string level = "HLT";
115  if(isRun1()) {
116  level = rmtilde(row["TC.HTC_L2_OR_EF"].data<string>());
117  if(level=="HL") level="HLT";
118  }
119 
120  HLTChain* ch = new HLTChain( name, counter, version, level, lower_chain_name, 0, std::vector<HLTSignature*>() );
121 
122  // rerun ps from the chain table only in run 1
123  if(isRun1()) {
124  float rerunps = 0;
125  string rerunps_s = rmtilde(row["TC.HTC_RERUN_PRESCALE"].data<string>());
126  std::string_view rerunps_sv = rerunps_s;
127  auto [ptr, ec] = std::from_chars(rerunps_sv.data(), rerunps_sv.data() + rerunps_sv.size(), rerunps, std::chars_format::general);
128  if (ec != std::errc()) {
129  rerunps = 0; // fallback or handle error
130  }
131  if(rerunps>=0)
132  ch->set_rerun_prescale(rerunps);
133  }
134 
135  ch->setId(chainId);
136  chainlist.addHLTChain(ch);
137  }
138  cursor.close();
139 
140  TRG_MSG_INFO("Loaded " << chainlist.size() << " chains");
141 
142 }

◆ loadGroups()

void TrigConf::HLTChainLoader::loadGroups ( HLTChainList chainlist)

Definition at line 169 of file HLTChainLoader.cxx.

169  {
170 
171  std::unique_ptr< coral::IQuery > q( m_session.nominalSchema().newQuery() );
172  string theCondition("");
173  coral::AttributeList bindings, output;
174 
175  defineChainSubQuery( q.get(), theCondition, bindings, m_smk, output);
176 
177  q->addToTableList ( "HLT_TRIGGER_GROUP", "GR" );
178 
179  theCondition += string( " AND GR.HTG_TRIGGER_CHAIN_ID = TM2TC.HTM2TC_TRIGGER_CHAIN_ID" );
180 
181  q->setCondition( theCondition, bindings );
182 
183  output.extend<string>( "GR.HTG_NAME" );
184 
185  fillQuery(q.get(), output);
186 
187  q->setDistinct();
188  coral::ICursor& cursor = q->execute();
189 
190  uint count(0);
191  while ( cursor.next() ) {
192  ++count;
193  const coral::AttributeList& row = cursor.currentRow();
194  string name = rmtilde(row["TC.HTC_NAME"].data<string>());
195  string grname = rmtilde(row["GR.HTG_NAME"].data<string>());
196  chainlist.chain(name)->addGroup(grname);
197  }
198  cursor.close();
199 
200  TRG_MSG_INFO("Loaded " << count << " groups");
201 
202 }

◆ loadL1MasterKey()

bool TrigConf::DBLoader::loadL1MasterKey ( int  SuperMasterKey,
int &  Lvl1MasterKey 
)
inherited

get l1 master from super master

Definition at line 128 of file DBLoader.cxx.

128  {
129  try {
130  startSession();
131 
132  unique_ptr< coral::IQuery > q( m_session.nominalSchema().tableHandle( "SUPER_MASTER_TABLE").newQuery() );
133  q->setRowCacheSize( 5 );
134 
135  //Bind list
136  coral::AttributeList bindings;
137  bindings.extend<int>("smtid");
138  bindings[0].data<int>() = smk;
139  q->setCondition( "SMT_ID = :smtid", bindings );
140 
141  //Output data and types
142  coral::AttributeList attList;
143  attList.extend<int>( "SMT_L1_MASTER_TABLE_ID" );
144  fillQuery(q.get(), attList);
145 
146  coral::ICursor& cursor = q->execute();
147  if ( ! cursor.next() ) {
148  msg() << "DBLoader: No such SuperMaster key exists " << smk << endl;
149  throw runtime_error( "DBLoader: SuperMasterKey not available" );
150  }
151 
152  const coral::AttributeList& row = cursor.currentRow();
153  Lvl1MasterKey = row["SMT_L1_MASTER_TABLE_ID"].data<int>();
154  }
155  catch( const std::exception& e ) {
156  commitSession();
157  msg() << "DBLoader: C++ exception: " << e.what() << std::endl;
158  throw;
159  }
160  commitSession();
161  return true;
162 }

◆ loadL1MenuKey()

bool TrigConf::DBLoader::loadL1MenuKey ( int  SuperMasterKey,
int &  Lvl1MenuKey 
)
inherited

get l1 menu id from super master

Definition at line 167 of file DBLoader.cxx.

167  {
168  try {
169 
170  int l1Master = 0;
171  loadL1MasterKey(SuperMasterKey, l1Master);
172 
173  startSession();
174 
175  unique_ptr< coral::IQuery > q( m_session.nominalSchema().tableHandle( "L1_MASTER_TABLE").newQuery() );
176  q->setRowCacheSize( 5 );
177 
178  //Bind list
179  coral::AttributeList bindings;
180  bindings.extend<int>("l1mtid");
181  bindings[0].data<int>() = l1Master;
182  q->setCondition( "L1MT_ID = :l1mtid" , bindings );
183 
184  //Output data and types
185  coral::AttributeList attList;
186  attList.extend<int>( "L1MT_TRIGGER_MENU_ID" );
187  q->defineOutput(attList);
188  q->addToOutputList( "L1MT_TRIGGER_MENU_ID" );
189 
190  coral::ICursor& cursor = q->execute();
191  if ( ! cursor.next() ) {
192  msg() << "DBLoader >> No such L1 Master key exists " << l1Master << std::endl;
193  throw std::runtime_error( "DBLoader >> L1MasterKey not available" );
194  commitSession();
195  }
196 
197  const coral::AttributeList& row = cursor.currentRow();
198  Lvl1MenuKey = row["L1MT_TRIGGER_MENU_ID"].data<int>();
199 
200  commitSession();
201 
202  }
203  catch( const std::exception& e ) {
204  msg() << "DBLoader >> Standard C++ exception: " << e.what() << std::endl;
205  m_session.transaction().rollback();
206  throw;
207  }
208  return true;
209 }

◆ loadSchemaVersion()

std::tuple< unsigned int, unsigned int > DBLoader::loadSchemaVersion ( ) const
privateinherited

get DB schema version and run number

Definition at line 81 of file DBLoader.cxx.

82 {
83  const static auto versions = [&]() -> std::tuple<unsigned int,unsigned int> {
84  bool mySession = false;
85  if ( ! m_session.transaction().isActive() ) {
86  m_session.transaction().start(true);
87  mySession = true;
88  }
89 
90  std::unique_ptr< coral::IQuery > q( m_session.nominalSchema().tableHandle( "TRIGGER_SCHEMA").newQuery() );
91  q->setRowCacheSize( 1 );
92 
93  //Output data and types
94  coral::AttributeList attList;
95  attList.extend<int>( "TS_ID" );
96  q->defineOutput(attList);
97  q->addToOutputList( "TS_ID" );
98 
99  q->addToOrderList("TS_ID desc");
100  coral::ICursor& cursor = q->execute();
101 
102  if ( ! cursor.next() ) {
103  TRG_MSG_ERROR("Table TRIGGER_SCHEMA is not filled");
104  if ( mySession ) m_session.transaction().commit();
105  throw std::runtime_error( "DBLoader::loadSchemaVersion() >> Table TRIGGER_SCHEMA is not filled" );
106  }
107 
108  const coral::AttributeList& row = cursor.currentRow();
109  const unsigned int triggerDBSchemaVersion = row["TS_ID"].data<int>();
110 
111  TRG_MSG_INFO("TriggerDB schema version: " << triggerDBSchemaVersion);
112 
113  const unsigned int run = m_session.nominalSchema().existsTable( "ACTIVE_MASTERS" ) ? 2 : 1;
114 
115  TRG_MSG_INFO("Database has Run " << run << " schema");
116  TRG_MSG_INFO("Total number of tables : " << m_session.nominalSchema().listTables().size());
117 
118  //commitSession();
119  if ( mySession ) m_session.transaction().commit();
120 
121  return {triggerDBSchemaVersion, run};
122  }();
123 
124  return versions;
125 }

◆ loadSignatures()

void TrigConf::HLTChainLoader::loadSignatures ( HLTChainList chainlist)

Definition at line 294 of file HLTChainLoader.cxx.

294  {
295 
296  std::unique_ptr< coral::IQuery > q( m_session.nominalSchema().newQuery() );
297  string theCondition("");
298  coral::AttributeList bindings, output;
299 
300  defineChainSubQuery( q.get(), theCondition, bindings, m_smk, output);
301 
302  q->addToTableList ( "HLT_TC_TO_TS", "TC2TS" );
303  q->addToTableList ( "HLT_TRIGGER_SIGNATURE", "TS" );
304  q->addToTableList ( "HLT_TS_TO_TE", "TS2TE" );
305  q->addToTableList ( "HLT_TRIGGER_ELEMENT", "TE" );
306 
307 
308  theCondition += string( " AND TC2TS.HTC2TS_TRIGGER_CHAIN_ID = TC.HTC_ID" );
309  theCondition += string( " AND TC2TS.HTC2TS_TRIGGER_SIGNATURE_ID = TS.HTS_ID" );
310  theCondition += string( " AND TC2TS.HTC2TS_TRIGGER_SIGNATURE_ID = TS2TE.HTS2TE_TRIGGER_SIGNATURE_ID" );
311  theCondition += string( " AND TE.HTE_ID = TS2TE.HTS2TE_TRIGGER_ELEMENT_ID" );
312  theCondition += string( " AND TS2TE.HTS2TE_ELEMENT_COUNTER>=0" ); // counter<0 are for TE's that are only input TEs for a menu
313 
314  output.extend<int>( "TC2TS.HTC2TS_SIGNATURE_COUNTER" );
315  output.extend<int>( "TS2TE.HTS2TE_ELEMENT_COUNTER" );
316  output.extend<int>( "TS.HTS_LOGIC" );
317  output.extend<int>( "TE.HTE_ID" );
318  output.extend<string>( "TE.HTE_NAME" );
319  fillQuery(q.get(), output);
320 
321  q->setCondition( theCondition, bindings );
322 
323  q->setDistinct();
324 
325  q->addToOrderList( "TC.HTC_NAME" );
326  q->addToOrderList( "TC2TS.HTC2TS_SIGNATURE_COUNTER" );
327  q->addToOrderList( "TS2TE.HTS2TE_ELEMENT_COUNTER" );
328 
329  coral::ICursor& cursor = q->execute();
330 
331  uint count(0);
332  while ( cursor.next() ) {
333  ++count;
334 
335  const coral::AttributeList& row = cursor.currentRow();
336 
337  string chainname = rmtilde(row["TC.HTC_NAME"].data<string>());
338  vector<HLTSignature*>& sig_list = chainlist.chain(chainname)->signatureList();
339 
340  unsigned int sig_counter = (unsigned int)row["TC2TS.HTC2TS_SIGNATURE_COUNTER"].data<int>();
341  if( sig_list.size() < sig_counter+1 )
342  sig_list.resize( sig_counter+1, 0 );
343 
344  if( sig_list[sig_counter] == 0) {
345  int logic = row["TS.HTS_LOGIC"].data<int>();
346  sig_list[sig_counter] = new HLTSignature(sig_counter, logic, std::vector<HLTTriggerElement*>());
347  sig_list[sig_counter]->set_label( chainname + "_" + std::to_string(sig_counter) );
348  }
349 
350  HLTSignature* sig = sig_list[sig_counter];
351  vector<HLTTriggerElement*>& te_list = sig->outputTEs();
352 
353  unsigned int te_counter = (unsigned int)row["TS2TE.HTS2TE_ELEMENT_COUNTER"].data<int>();
354  if( te_list.size() < te_counter+1 )
355  te_list.resize( te_counter+1, 0 );
356 
357  if( te_list[te_counter] == 0) {
358  int te_id = row["TE.HTE_ID"].data<int>();
359  string te_name = row["TE.HTE_NAME"].data<string>();
360  te_list[te_counter] = new HLTTriggerElement(te_id, te_name);
361  }
362 
363  }
364  cursor.close();
365 
366  TRG_MSG_INFO("Loaded " << count << " signatures");
367 
368  // remove 0 pointers from signature list of each chain to keep old
369  // behavior, would be nicer if 0's were kept and step could be
370  // accessed by index (to be seen)
371  for(HLTChain* ch : chainlist) {
372  vector<HLTSignature*>& s = ch->signatureList();
373  s.erase(remove(s.begin(), s.end(), (HLTSignature*)0), s.end());
374  }
375 
376 }

◆ loadStreams()

void TrigConf::HLTChainLoader::loadStreams ( HLTChainList chainlist)

Definition at line 244 of file HLTChainLoader.cxx.

244  {
245 
246  std::unique_ptr< coral::IQuery > q( m_session.nominalSchema().newQuery() );
247  string theCondition("");
248  coral::AttributeList bindings, output;
249 
250  defineChainSubQuery( q.get(), theCondition, bindings, m_smk, output);
251 
252  q->addToTableList ( "HLT_TC_TO_TR", "TC2TR" );
253  q->addToTableList ( "HLT_TRIGGER_STREAM", "TR" );
254 
255  theCondition += string( " AND TC2TR.HTC2TR_TRIGGER_CHAIN_ID = TC.HTC_ID" );
256  theCondition += string( " AND TC2TR.HTC2TR_TRIGGER_STREAM_ID = TR.HTR_ID" );
257 
258  output.extend<string>( "TC2TR.HTC2TR_TRIGGER_STREAM_PRESCALE");
259  output.extend<string>( "TR.HTR_NAME" );
260  output.extend<string>( "TR.HTR_TYPE" );
261  output.extend<int>( "TR.HTR_OBEYLB" );
262 
263  fillQuery(q.get(), output);
264 
265  q->setCondition( theCondition, bindings );
266 
267  q->setDistinct();
268  coral::ICursor& cursor = q->execute();
269 
270  uint count(0);
271  while ( cursor.next() ) {
272  ++count;
273  const coral::AttributeList& row = cursor.currentRow();
274  string chainname = rmtilde(row["TC.HTC_NAME"].data<string>());
275  string prescale_str = rmtilde(row["TC2TR.HTC2TR_TRIGGER_STREAM_PRESCALE"].data<string>());
276  string streamname = rmtilde(row["TR.HTR_NAME"].data<string>());
277  string type = rmtilde(row["TR.HTR_TYPE"].data<string>());
278  bool obeyLB = row["TR.HTR_OBEYLB"].data<int>();
279  int prescale = 1;
280  std::string_view prescale_str_view = prescale_str;
281  auto [ptr, ec] = std::from_chars(prescale_str_view.data(), prescale_str_view.data() + prescale_str_view.size(), prescale);
282  if (ec != std::errc()) {
283  prescale = 1;
284  }
285  chainlist.chain(chainname)->addStream( new HLTStreamTag(streamname, type, obeyLB, prescale) );
286  }
287  cursor.close();
288 
289  TRG_MSG_INFO("Loaded " << count << " streams");
290 }

◆ loadTypes()

void TrigConf::HLTChainLoader::loadTypes ( HLTChainList chainlist)

Definition at line 208 of file HLTChainLoader.cxx.

208  {
209 
210  std::unique_ptr< coral::IQuery > q( m_session.nominalSchema().newQuery() );
211  string theCondition("");
212  coral::AttributeList bindings, output;
213 
214  defineChainSubQuery( q.get(), theCondition, bindings, m_smk, output);
215 
216  q->addToTableList ( "HLT_TRIGGER_TYPE", "TT" );
217 
218  theCondition += string( " AND TT.HTT_TRIGGER_CHAIN_ID = TM2TC.HTM2TC_TRIGGER_CHAIN_ID" );
219 
220  q->setCondition( theCondition, bindings );
221 
222  output.extend<int>( "TT.HTT_TYPEBIT" );
223 
224  fillQuery(q.get(), output);
225 
226  q->setDistinct();
227  coral::ICursor& cursor = q->execute();
228 
229  uint count(0);
230  while ( cursor.next() ) {
231  ++count;
232  const coral::AttributeList& row = cursor.currentRow();
233  string name = rmtilde(row["TC.HTC_NAME"].data<string>());
234  int triggertype = row["TT.HTT_TYPEBIT"].data<int>();
235  chainlist.chain(name)->triggerTypeList().push_back(new HLTTriggerType(triggertype));
236  }
237  cursor.close();
238 
239  TRG_MSG_INFO("Loaded " << count << " trigger types");
240 }

◆ msg() [1/2]

MsgStreamTC & TrigConf::TrigConfMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 86 of file TrigConfMessaging.h.

87  {
88  MsgStreamTC* ms = m_msg_tls.get();
89  if (!ms) {
90  ms = new MsgStreamTC(m_name);
91  m_msg_tls.reset(ms);
92  }
93  return *ms;
94  }

◆ msg() [2/2]

MsgStreamTC & TrigConf::TrigConfMessaging::msg ( const MSGTC::Level  lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 96 of file TrigConfMessaging.h.

97  {
98  return msg() << lvl;
99  }

◆ msgLvl()

bool TrigConf::TrigConfMessaging::msgLvl ( const MSGTC::Level  lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicting if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 75 of file TrigConfMessaging.h.

76  {
77  if (msg().level() <= lvl) {
78  msg() << lvl;
79  return true;
80  }
81  else {
82  return false;
83  }
84  }

◆ outputLevel()

virtual MSGTC::Level TrigConf::DBLoader::outputLevel ( ) const
inlineoverridevirtualinherited

Implements TrigConf::ILoader.

Definition at line 40 of file DBLoader.h.

40 { return msg().level(); }

◆ setLevel()

void DBLoader::setLevel ( MSGTC::Level  lvl)
overridevirtualinherited

access to output stream

Implements TrigConf::ILoader.

Definition at line 60 of file DBLoader.cxx.

60  {
61  msg().setLevel(lvl);
62 
63  switch(lvl) {
64  case MSGTC::ALWAYS: m_verbose = 5; break;
65  case MSGTC::VERBOSE: m_verbose = 4; break;
66  case MSGTC::DEBUG: m_verbose = 3; break;
67  case MSGTC::INFO: m_verbose = 2; break;
68  case MSGTC::WARNING:
69  case MSGTC::ERROR:
70  case MSGTC::FATAL: m_verbose = 0; break;
71  default: m_verbose = 0;
72  }
73 }

◆ setVerbose()

virtual void TrigConf::DBLoader::setVerbose ( int  v)
inlineoverridevirtualinherited

Implements TrigConf::ILoader.

Definition at line 58 of file DBLoader.h.

58 { m_verbose=v; }

◆ startSession()

void TrigConf::DBLoader::startSession ( )
inherited

start session if not already active

Definition at line 35 of file DBLoader.cxx.

36 {
37  if ( ! m_session.transaction().isActive() ) {
38  //std::cout << "DBLoader: startSession(readonly=true)" << std::endl;
39  bool readOnly = true;
40  m_session.transaction().start(readOnly);
41  m_sessionOwner = true;
42  }
43 }

◆ triggerDBSchemaVersion()

unsigned int DBLoader::triggerDBSchemaVersion ( )
inherited

Definition at line 76 of file DBLoader.cxx.

76  {
77  return std::get<0>(loadSchemaVersion());
78 }

◆ verbose()

virtual int TrigConf::DBLoader::verbose ( ) const
inlineoverridevirtualinherited

Implements TrigConf::ILoader.

Definition at line 57 of file DBLoader.h.

57 { return m_verbose; }

Member Data Documentation

◆ m_msg_tls

boost::thread_specific_ptr<MsgStreamTC> TrigConf::TrigConfMessaging::m_msg_tls
mutableprivateinherited

MsgStreamTC instance (a std::cout like with print-out levels)

Definition at line 71 of file TrigConfMessaging.h.

◆ m_name

std::string TrigConf::TrigConfMessaging::m_name
privateinherited

Definition at line 72 of file TrigConfMessaging.h.

◆ m_schemaversion

unsigned int TrigConf::HLTChainLoader::m_schemaversion {0}
private

Definition at line 41 of file HLTChainLoader.h.

◆ m_session

coral::ISessionProxy& TrigConf::DBLoader::m_session
protectedinherited

CORAL interface to database session.

Definition at line 68 of file DBLoader.h.

◆ m_sessionOwner

bool TrigConf::DBLoader::m_sessionOwner {false}
protectedinherited

remember if the loader started the session in the first place

Definition at line 69 of file DBLoader.h.

◆ m_smk

unsigned int TrigConf::HLTChainLoader::m_smk {0}
private

Definition at line 40 of file HLTChainLoader.h.

◆ m_storageMgr

StorageMgr& TrigConf::DBLoader::m_storageMgr
protectedinherited

reference to the storage manager

Definition at line 67 of file DBLoader.h.

◆ m_verbose

int TrigConf::DBLoader::m_verbose {1}
privateinherited

Definition at line 64 of file DBLoader.h.


The documentation for this class was generated from the following files:
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
TRG_MSG_ERROR
#define TRG_MSG_ERROR(x)
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStreamMacros.h:29
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
TrigConf::HLTChainLoader::loadStreams
void loadStreams(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:244
TrigConf::HLTChainLoader::loadChains
void loadChains(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:52
TrigConf::TrigConfMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStreamTC > m_msg_tls
MsgStreamTC instance (a std::cout like with print-out levels)
Definition: TrigConfMessaging.h:71
RunEBWeightsComputation.smk
smk
Definition: RunEBWeightsComputation.py:87
TrigConf::MSGTC::DEBUG
@ DEBUG
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:24
TrigConf::fillQuery
void fillQuery(coral::IQuery *q, coral::AttributeList &attList)
Definition: DBHelper.cxx:13
keylayer_zslicemap.row
row
Definition: keylayer_zslicemap.py:155
TrigConf::DBLoader::triggerDBSchemaVersion
unsigned int triggerDBSchemaVersion()
Definition: DBLoader.cxx:76
TrigConf::MSGTC::ERROR
@ ERROR
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:27
TrigConf::MSGTC::FATAL
@ FATAL
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:28
TrigConf::DBLoader::isRun2
bool isRun2()
Definition: DBLoader.cxx:54
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
TrigConf::DBLoader::m_session
coral::ISessionProxy & m_session
CORAL interface to database session.
Definition: DBLoader.h:68
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
TrigConf::DBLoader::m_verbose
int m_verbose
Definition: DBLoader.h:64
TrigConf::DBLoader::DBLoader
DBLoader(StorageMgr &sm, coral::ISessionProxy &session)
constructor
Definition: DBLoader.cxx:30
trigbs_dumpPrescaleBits.HLTChain
HLTChain
Definition: trigbs_dumpPrescaleBits.py:41
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
XMLtoHeader.count
count
Definition: XMLtoHeader.py:84
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
PixelModuleFeMask_create_db.remove
string remove
Definition: PixelModuleFeMask_create_db.py:83
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
checkCorrelInHIST.cursor
cursor
Definition: checkCorrelInHIST.py:26
TrigConf::TrigConfMessaging::m_name
std::string m_name
Definition: TrigConfMessaging.h:72
TrigConf::MSGTC::ALWAYS
@ ALWAYS
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:29
TrigConf::MSGTC::VERBOSE
@ VERBOSE
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:23
TrigConf::DBLoader::m_sessionOwner
bool m_sessionOwner
remember if the loader started the session in the first place
Definition: DBLoader.h:69
TrigConf::TrigConfMessaging::msg
MsgStreamTC & msg() const
The standard message stream.
Definition: TrigConfMessaging.h:86
TrigConf::MSGTC::INFO
@ INFO
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:25
calibdata.exception
exception
Definition: calibdata.py:495
python.BuildSignatureFlags.sig
sig
Definition: BuildSignatureFlags.py:221
TrigConf::MsgStreamTC::level
MSGTC::Level level()
Return message level of stream.
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:53
run
Definition: run.py:1
TRG_MSG_INFO
#define TRG_MSG_INFO(x)
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStreamMacros.h:27
merge.output
output
Definition: merge.py:16
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
TrigConf::HLTChainLoader::loadSignatures
void loadSignatures(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:294
TrigConf::HLTChainLoader::loadGroups
void loadGroups(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:169
TrigConf::HLTChainLoader::loadTypes
void loadTypes(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:208
TrigConf::rmtilde
std::string rmtilde(const std::string &input)
Definition: DBHelper.h:24
TrigConf::HLTChainLoader::m_smk
unsigned int m_smk
Definition: HLTChainLoader.h:40
python.copyTCTOutput.chains
chains
Definition: copyTCTOutput.py:78
TrigConf::DBLoader::commitSession
void commitSession()
commit session if not already done
Definition: DBLoader.cxx:45
python.PyAthena.v
v
Definition: PyAthena.py:154
get_generator_info.version
version
Definition: get_generator_info.py:33
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
TrigConf::DBLoader::loadSchemaVersion
std::tuple< unsigned int, unsigned int > loadSchemaVersion() const
get DB schema version and run number
Definition: DBLoader.cxx:81
TrigConf::DBLoader::startSession
void startSession()
start session if not already active
Definition: DBLoader.cxx:35
python.SystemOfUnits.s
float s
Definition: SystemOfUnits.py:147
extractSporadic.q
list q
Definition: extractSporadic.py:97
TrigConf::MsgStreamTC::setLevel
void setLevel(MSGTC::Level lvl)
Set message level of stream.
Definition: Trigger/TrigConfiguration/TrigConfBase/Root/MsgStream.cxx:52
TrigConf::HLTChainLoader::m_schemaversion
unsigned int m_schemaversion
Definition: HLTChainLoader.h:41
test_pyathena.counter
counter
Definition: test_pyathena.py:15
TrigConf::DBLoader::isRun1
bool isRun1()
Definition: DBLoader.h:60
TrigConf::DBLoader::loadL1MasterKey
bool loadL1MasterKey(int SuperMasterKey, int &Lvl1MasterKey)
get l1 master from super master
Definition: DBLoader.cxx:128
TrigConf::MSGTC::WARNING
@ WARNING
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:26
python.SystemOfUnits.ms
float ms
Definition: SystemOfUnits.py:148