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...
 

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 }

◆ 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 21 of file HLTChainLoader.cxx.

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

◆ loadChains()

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

Definition at line 51 of file HLTChainLoader.cxx.

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

◆ loadGroups()

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

Definition at line 164 of file HLTChainLoader.cxx.

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

◆ 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 288 of file HLTChainLoader.cxx.

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

◆ loadStreams()

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

Definition at line 239 of file HLTChainLoader.cxx.

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

◆ loadTypes()

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

Definition at line 203 of file HLTChainLoader.cxx.

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

◆ 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 81 of file TrigConfMessaging.h.

82  {
83  MsgStreamTC* ms = m_msg_tls.get();
84  if (!ms) {
85  ms = new MsgStreamTC(m_name);
86  m_msg_tls.reset(ms);
87  }
88  return *ms;
89  }

◆ 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 91 of file TrigConfMessaging.h.

92  {
93  return msg() << lvl;
94  }

◆ 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 70 of file TrigConfMessaging.h.

71  {
72  if (msg().level() <= lvl) {
73  msg() << lvl;
74  return true;
75  }
76  else {
77  return false;
78  }
79  }

◆ 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 66 of file TrigConfMessaging.h.

◆ m_name

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

Definition at line 67 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:
TRG_MSG_ERROR
#define TRG_MSG_ERROR(x)
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStreamMacros.h:29
query_example.row
row
Definition: query_example.py:24
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
TrigConf::HLTChainLoader::loadStreams
void loadStreams(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:239
TrigConf::HLTChainLoader::loadChains
void loadChains(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:51
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
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:66
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
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
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
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
trigbs_dumpPrescaleBits.HLTChain
HLTChain
Definition: trigbs_dumpPrescaleBits.py:41
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
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
TrigConf::TrigConfMessaging::m_name
std::string m_name
Definition: TrigConfMessaging.h:67
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:81
TrigConf::MSGTC::INFO
@ INFO
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:25
calibdata.exception
exception
Definition: calibdata.py:496
python.BuildSignatureFlags.sig
sig
Definition: BuildSignatureFlags.py:215
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:17
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrigConf::HLTChainLoader::loadSignatures
void loadSignatures(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:288
TrigConf::HLTChainLoader::loadGroups
void loadGroups(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:164
TrigConf::HLTChainLoader::loadTypes
void loadTypes(HLTChainList &chainlist)
Definition: HLTChainLoader.cxx:203
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:81
TrigConf::DBLoader::commitSession
void commitSession()
commit session if not already done
Definition: DBLoader.cxx:45
python.PyAthena.v
v
Definition: PyAthena.py:157
get_generator_info.version
version
Definition: get_generator_info.py:33
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
query_example.cursor
cursor
Definition: query_example.py:21
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
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
extractSporadic.q
list q
Definition: extractSporadic.py:98
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