109 {
110 msg() <<
"MuonThresholdSetLoader start loading data" << std::endl;
111
113
115
116 if(schema > 6) {
117
118
120
121 try {
122 int Lvl1MasterKey = 0;
123 int setId = 0;
124 {
125
126
127 coral::ITable&
table =
m_session.nominalSchema().tableHandle(
"SUPER_MASTER_TABLE");
129 query->setRowCacheSize( 5 );
130
131 coral::AttributeList conditionData;
132 conditionData.extend<int>("smtid");
133 query->setCondition(
"SMT_ID = :smtid" , conditionData );
134 conditionData[0].data<
int>() =
target.superMasterTableId();
135
136 coral::AttributeList attList;
137 attList.extend<int>( "SMT_L1_MASTER_TABLE_ID" );
138 query->defineOutput(attList);
139 query->addToOutputList(
"SMT_L1_MASTER_TABLE_ID" );
140
143 msg() <<
"MuonThresholdSetLoader >> No such SuperMaster key exists "
144 <<
target.superMasterTableId() << std::endl;
147 throw std::runtime_error( "MuonThresholdSetLoader >> SuperMasterKey not available" );
148 }
149 const coral::AttributeList&
row =
cursor.currentRow();
150 Lvl1MasterKey =
row[
"SMT_L1_MASTER_TABLE_ID"].data<
int>();
151
152
154 }
155 {
156
157
158
159 coral::ITable&
table =
m_session.nominalSchema().tableHandle(
"L1_MASTER_TABLE");
161 query->setRowCacheSize( 5 );
162
163 coral::AttributeList conditionData;
164 conditionData.extend<int>("l1mtid");
165 query->setCondition(
"L1MT_ID = :l1mtid" , conditionData );
166 conditionData[0].data<int>() = Lvl1MasterKey;
167
168 coral::AttributeList attList;
169 attList.extend<int>( "L1MT_MUON_THRESHOLD_SET_ID" );
170 query->defineOutput(attList);
171
172 query->addToOutputList(
"L1MT_MUON_THRESHOLD_SET_ID" );
175 msg() <<
"MuonThresholdSetLoader >> No such L1 master key exists "
176 << Lvl1MasterKey << std::endl;
179 throw std::runtime_error( "MuonThresholdSetLoader >> L1MasterKey not available" );
180 }
181 const coral::AttributeList&
row =
cursor.currentRow();
182 setId =
row[
"L1MT_MUON_THRESHOLD_SET_ID"].data<
int>();
183
185 }
187 } catch( const coral::SchemaException& e ) {
188 msg() <<
"MuonThresholdSetLoader >> SchemaException: "
189 <<
e.what() << std::endl;
191 return false;
192 } catch( const std::exception& e ) {
193 msg() <<
"MuonThresholdSetLoader >> Standard C++ exception: " <<
e.what() << std::endl;
195 return false;
196 } catch( ... ) {
197 msg() <<
"MuonThresholdSetLoader >> unknown C++ exception" << std::endl;
199 return false;
200 }
201 }
202
203 try {
204 msg() <<
"Super master key " <<
target.superMasterTableId()
205 <<
" MuonThresholdSet id " <<
target.id() << std::endl;
206
207 coral::ITable&
table =
m_session.nominalSchema().tableHandle(
"L1_MUON_THRESHOLD_SET");
209 query->setRowCacheSize( 5 );
210
211 std::string cond = "L1MTS_ID = :threshId";
212 coral::AttributeList alist;
213 alist.extend<int>("threshId");
214 alist[0].data<
int>() =
target.id();
215 query->setCondition( cond, alist );
216
217 coral::AttributeList attList;
218 attList.extend<std::string>( "L1MTS_NAME" );
219 attList.extend<int>( "L1MTS_VERSION" );
220 attList.extend<int>( "L1MTS_RPC_AVAILABLE" );
221 attList.extend<int>( "L1MTS_RPC_AVAILABLE_ONLINE" );
222 attList.extend<int>( "L1MTS_TGC_AVAILABLE" );
223 attList.extend<int>( "L1MTS_TGC_AVAILABLE_ONLINE" );
224 attList.extend<int>( "L1MTS_RPC_SET_EXT_ID");
225 attList.extend<std::string>( "L1MTS_RPC_SET_NAME" );
226 attList.extend<int>( "L1MTS_TGC_SET_EXT_ID");
227 attList.extend<std::string>( "L1MTS_TGC_SET_NAME" );
228 attList.extend<int>( "L1MTS_RPC_PT1_EXT_ID" );
229 attList.extend<int>( "L1MTS_RPC_PT2_EXT_ID" );
230 attList.extend<int>( "L1MTS_RPC_PT3_EXT_ID" );
231 attList.extend<int>( "L1MTS_RPC_PT4_EXT_ID" );
232 attList.extend<int>( "L1MTS_RPC_PT5_EXT_ID" );
233 attList.extend<int>( "L1MTS_RPC_PT6_EXT_ID" );
234 query->defineOutput(attList);
235
236 query->addToOutputList(
"L1MTS_NAME" );
237 query->addToOutputList(
"L1MTS_VERSION" );
238 query->addToOutputList(
"L1MTS_RPC_AVAILABLE" );
239 query->addToOutputList(
"L1MTS_RPC_AVAILABLE_ONLINE" );
240 query->addToOutputList(
"L1MTS_TGC_AVAILABLE" );
241 query->addToOutputList(
"L1MTS_TGC_AVAILABLE_ONLINE" );
242 query->addToOutputList(
"L1MTS_RPC_SET_EXT_ID" );
243 query->addToOutputList(
"L1MTS_RPC_SET_NAME" );
244 query->addToOutputList(
"L1MTS_TGC_SET_EXT_ID" );
245 query->addToOutputList(
"L1MTS_TGC_SET_NAME" );
246 query->addToOutputList(
"L1MTS_RPC_PT1_EXT_ID" );
247 query->addToOutputList(
"L1MTS_RPC_PT2_EXT_ID" );
248 query->addToOutputList(
"L1MTS_RPC_PT3_EXT_ID" );
249 query->addToOutputList(
"L1MTS_RPC_PT4_EXT_ID" );
250 query->addToOutputList(
"L1MTS_RPC_PT5_EXT_ID" );
251 query->addToOutputList(
"L1MTS_RPC_PT6_EXT_ID" );
252
255 msg() <<
"MuonThresholdSetLoader >> No such threshold set exists : "
256 <<
target.id() << std::endl;
259 throw std::runtime_error( "MuonThresholdSetLoader >> ThresholdSet not available" );
260 }
261
262 const coral::AttributeList&
row =
cursor.currentRow();
263
266
267 target.setRpcAvailable(
static_cast<bool>(row[
"L1MTS_RPC_AVAILABLE"].
data<int>()) );
268 target.setRpcAvailableOnline(
static_cast<bool>(row[
"L1MTS_RPC_AVAILABLE_ONLINE"].
data<int>()) );
269 target.setTgcAvailable(
static_cast<bool>(row[
"L1MTS_TGC_AVAILABLE"].
data<int>()) );
270 target.setTgcAvailableOnline(
static_cast<bool>(row[
"L1MTS_TGC_AVAILABLE_ONLINE"].
data<int>()) );
271
274
277
284
287 return true;
288 } catch( const coral::SchemaException& e ) {
289 msg() <<
"MuonThresholdSetLoader >> SchemaException: "
290 <<
e.what() << std::endl;
292 return false;
293 } catch( const std::exception& e ) {
294 msg() <<
"MuonThresholdSetLoader >> Standard C++ exception: " <<
e.what() << std::endl;
296 return false;
297 } catch( ... ) {
298 msg() <<
"MuonThresholdSetLoader >> unknown C++ exception" << std::endl;
300 return false;
301 }
302 } else {
303 msg() <<
"Schema version " <<
schema <<
" too old, don't load MuonThresholdSet" << std::endl;
304 target = MuonThresholdSet();
305 return false;
306 }
307}
char data[hepevt_bytes_allocation_ATLAS]
void commitSession()
commit session if not already done
unsigned int triggerDBSchemaVersion()
void startSession()
start session if not already active
MsgStreamTC & msg() const
The standard message stream.
row
Appending html table to final .html summary file.