#include <HLTPrescaleSetLoader.h>
Definition at line 25 of file HLTPrescaleSetLoader.h.
◆ HLTPrescaleSetLoader()
TrigConf::HLTPrescaleSetLoader::HLTPrescaleSetLoader |
( |
StorageMgr & |
sm, |
|
|
coral::ISessionProxy & |
session |
|
) |
| |
|
inline |
◆ ~HLTPrescaleSetLoader()
virtual TrigConf::HLTPrescaleSetLoader::~HLTPrescaleSetLoader |
( |
| ) |
|
|
overridevirtualdefault |
◆ commitSession()
void TrigConf::DBLoader::commitSession |
( |
| ) |
|
|
inherited |
commit session if not already done
Definition at line 45 of file DBLoader.cxx.
◆ isRun1()
bool TrigConf::DBLoader::isRun1 |
( |
| ) |
|
|
inlineinherited |
◆ isRun2()
bool DBLoader::isRun2 |
( |
| ) |
|
|
inherited |
◆ load()
Implements TrigConf::IHLTPrescaleSetLoader.
Definition at line 49 of file HLTPrescaleSetLoader.cxx.
53 TRG_MSG_INFO(
"Started loading data with HLT PSK: " << hltpss.id());
62 unique_ptr< coral::IQuery >
q(
m_session.nominalSchema().newQuery() );
65 q->addToTableList (
"HLT_PRESCALE_SET",
"PS" );
66 q->addToTableList (
"HLT_PRESCALE",
"PR" );
72 bindList.extend<
int>(
"psid");
73 bindList[0].data<
int>() = (
int)hltpss.id();
76 string theCondition =
" PS.HPS_ID = :psid";
77 theCondition +=
" AND PS.HPS_ID = PR.HPR_PRESCALE_SET_ID";
78 q->setCondition( theCondition, bindList );
82 attList.extend<
string>(
"PS.HPS_NAME" );
83 attList.extend<
int> (
"PS.HPS_VERSION" );
85 attList.extend<
string>(
"PR.HPR_L2_OR_EF" );
86 attList.extend<
string>(
"PR.HPR_PASS_THROUGH_RATE" );
87 attList.extend<
string>(
"PR.HPR_PRESCALE" );
89 attList.extend<
float> (
"PR.HPR_VALUE" );
90 attList.extend<
string> (
"PR.HPR_TYPE" );
91 attList.extend<
string> (
"PR.HPR_CONDITION" );
93 attList.extend<
int> (
"PR.HPR_CHAIN_COUNTER" );
100 theOrder =
" PR.HPR_L2_OR_EF DESC, PR.HPR_CHAIN_COUNTER ASC";
102 theOrder +=
"PR.HPR_CHAIN_COUNTER ASC";
104 q->addToOrderList( theOrder );
107 q->setRowCacheSize(1000);
111 coral::ICursor&
cursor =
q->execute();
113 bool pssnameset =
false;
122 string pssname = CheckTilda(
row[
"PS.HPS_NAME"].data<string>());
123 int pssversion =
row[
"PS.HPS_VERSION"].data<
int>();
124 hltpss.setName(pssname);
125 hltpss.setVersion(pssversion);
129 string level =
isRun1() ?
row[
"PR.HPR_L2_OR_EF"].data<
string>() :
"HLT";
130 int counter =
row[
"PR.HPR_CHAIN_COUNTER"].data<
int>();
136 std::string prescaleStr =
row[
"PR.HPR_PRESCALE"].data<
string>();
137 if(prescaleStr==
"-0" || prescaleStr==
"na" ) prescaleStr =
"-1";
138 if (!
convert(prescaleStr, ps)) {
139 TRG_MSG_WARNING(
"Could not convert prescale string '" << prescaleStr <<
"' of chain " <<
counter <<
" to float");
142 std::string passThroughStr =
row[
"PR.HPR_PASS_THROUGH_RATE"].data<
string>();
144 TRG_MSG_WARNING(
"Could not convert passthrough string '" << passThroughStr <<
"' of chain " <<
counter <<
" to float");
152 std::string streamnametype(
level);
154 if(streamnametype.rfind(
':')==std::string::npos)
155 streamnametype +=
":" + streamnametype;
159 float value =
row[
"PR.HPR_VALUE"].data<
float>();
160 string pstype =
row[
"PR.HPR_TYPE"].data<
string>();
161 string pscondition =
row[
"PR.HPR_CONDITION"].data<
string>();
163 TRG_MSG_DEBUG(
"Loaded prescales:"<< setw(4) << right <<
counter <<
" : " << pstype <<
" (" << pscondition <<
") => " <<
value );
167 if(pstype==
"Prescale") {
168 thePS.setPrescale(
value);
169 }
else if (pstype==
"Pass_Through") {
170 thePS.setPassThrough(
value);
171 }
else if (pstype==
"ReRun") {
172 if(pscondition==
"0") pscondition=
"";
173 thePS.setRerunPrescale(pscondition,
value);
174 }
else if (pstype==
"Stream") {
176 thePS.setStreamPrescale(pscondition,
value);
178 TRG_MSG_WARNING(
"Could not interpret this entry in the prescale set table: counter " <<
counter <<
" : " << pstype <<
" (" << pscondition <<
") => " <<
value);
184 TRG_MSG_INFO(
"Loaded " << hltpss.size(
L2) <<
" L2 prescales and " << hltpss.size(
EF) <<
" EF prescales.");
186 TRG_MSG_INFO(
"Loaded " << hltpss.size() <<
" HLT prescales");
190 catch (
const coral::SchemaException&
e) {
191 TRG_MSG_ERROR(
"HLTPrescaleSetLoader >> IRelationalException: " <<
e.what());
196 TRG_MSG_ERROR(
"HLTPrescaleSetLoader >> Standard C++ exception: " <<
e.what());
201 TRG_MSG_ERROR(
"HLTPrescaleSetLoader >> unknown C++ exception");
◆ loadL1MasterKey()
bool TrigConf::DBLoader::loadL1MasterKey |
( |
int |
SuperMasterKey, |
|
|
int & |
Lvl1MasterKey |
|
) |
| |
|
inherited |
get l1 master from super master
Definition at line 128 of file DBLoader.cxx.
132 unique_ptr< coral::IQuery >
q(
m_session.nominalSchema().tableHandle(
"SUPER_MASTER_TABLE").newQuery() );
133 q->setRowCacheSize( 5 );
137 bindings.extend<
int>(
"smtid");
138 bindings[0].data<
int>() =
smk;
139 q->setCondition(
"SMT_ID = :smtid", bindings );
143 attList.extend<
int>(
"SMT_L1_MASTER_TABLE_ID" );
146 coral::ICursor&
cursor =
q->execute();
148 msg() <<
"DBLoader: No such SuperMaster key exists " <<
smk << endl;
149 throw runtime_error(
"DBLoader: SuperMasterKey not available" );
153 Lvl1MasterKey =
row[
"SMT_L1_MASTER_TABLE_ID"].data<
int>();
157 msg() <<
"DBLoader: C++ exception: " <<
e.what() << std::endl;
◆ 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.
175 unique_ptr< coral::IQuery >
q(
m_session.nominalSchema().tableHandle(
"L1_MASTER_TABLE").newQuery() );
176 q->setRowCacheSize( 5 );
180 bindings.extend<
int>(
"l1mtid");
181 bindings[0].data<
int>() = l1Master;
182 q->setCondition(
"L1MT_ID = :l1mtid" , bindings );
186 attList.extend<
int>(
"L1MT_TRIGGER_MENU_ID" );
187 q->defineOutput(attList);
188 q->addToOutputList(
"L1MT_TRIGGER_MENU_ID" );
190 coral::ICursor&
cursor =
q->execute();
192 msg() <<
"DBLoader >> No such L1 Master key exists " << l1Master << std::endl;
193 throw std::runtime_error(
"DBLoader >> L1MasterKey not available" );
198 Lvl1MenuKey =
row[
"L1MT_TRIGGER_MENU_ID"].data<
int>();
204 msg() <<
"DBLoader >> Standard C++ exception: " <<
e.what() << std::endl;
◆ 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.
83 const static auto versions = [&]() -> std::tuple<unsigned int,unsigned int> {
84 bool mySession =
false;
85 if ( !
m_session.transaction().isActive() ) {
90 std::unique_ptr< coral::IQuery >
q(
m_session.nominalSchema().tableHandle(
"TRIGGER_SCHEMA").newQuery() );
91 q->setRowCacheSize( 1 );
95 attList.extend<
int>(
"TS_ID" );
96 q->defineOutput(attList);
97 q->addToOutputList(
"TS_ID" );
99 q->addToOrderList(
"TS_ID desc");
100 coral::ICursor&
cursor =
q->execute();
104 if ( mySession )
m_session.transaction().commit();
105 throw std::runtime_error(
"DBLoader::loadSchemaVersion() >> Table TRIGGER_SCHEMA is not filled" );
113 const unsigned int run =
m_session.nominalSchema().existsTable(
"ACTIVE_MASTERS" ) ? 2 : 1;
119 if ( mySession )
m_session.transaction().commit();
◆ 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.
◆ msg() [2/2]
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.
◆ msgLvl()
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicting if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 70 of file TrigConfMessaging.h.
◆ outputLevel()
virtual MSGTC::Level TrigConf::DBLoader::outputLevel |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ setLevel()
◆ setVerbose()
virtual void TrigConf::DBLoader::setVerbose |
( |
int |
v | ) |
|
|
inlineoverridevirtualinherited |
◆ startSession()
void TrigConf::DBLoader::startSession |
( |
| ) |
|
|
inherited |
start session if not already active
Definition at line 35 of file DBLoader.cxx.
37 if ( !
m_session.transaction().isActive() ) {
◆ triggerDBSchemaVersion()
unsigned int DBLoader::triggerDBSchemaVersion |
( |
| ) |
|
|
inherited |
◆ verbose()
virtual int TrigConf::DBLoader::verbose |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStreamTC> TrigConf::TrigConfMessaging::m_msg_tls |
|
mutableprivateinherited |
◆ m_name
std::string TrigConf::TrigConfMessaging::m_name |
|
privateinherited |
◆ 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_storageMgr
reference to the storage manager
Definition at line 67 of file DBLoader.h.
◆ m_verbose
int TrigConf::DBLoader::m_verbose {1} |
|
privateinherited |
The documentation for this class was generated from the following files: