9 #ifndef ECALCONDDBINTERFACE_HH
10 #define ECALCONDDBINTERFACE_HH
90 throw(std::runtime_error)
121 std::string mapsTo =
"" )
122 throw(std::runtime_error);
131 throw(std::runtime_error);
146 std::
string mapsTo = "" )
147 throw(std::runtime_error);
151 int fromId1,
int toId1,
154 std::
string mapsTo = "",
int orderedBy=
EcalLogicID::NULLID )
throw(std::runtime_error);
161 throw(std::runtime_error);
164 throw(std::runtime_error);
166 throw(std::runtime_error);
168 throw(std::runtime_error);
173 throw(std::runtime_error);
175 throw(std::runtime_error);
177 throw(std::runtime_error);
179 throw(std::runtime_error);
181 throw(std::runtime_error);
183 throw(std::runtime_error);
189 throw(std::runtime_error);
199 throw(std::runtime_error);
207 throw(std::runtime_error);
214 throw(std::runtime_error);
221 throw(std::runtime_error);
228 throw(std::runtime_error);
236 throw(std::runtime_error);
245 throw(std::runtime_error);
282 throw(std::runtime_error)
288 std::cout<<
"IOV was not set we retrieve it from DB"<<std::endl;
292 std::cout<<
"IOV was not written we write it"<<std::endl;
297 dataIface.setConnection(
env,
conn);
298 dataIface.prepareWrite();
300 const EcalLogicID* channel;
301 const DATT* dataitem;
302 typedef typename std::map< EcalLogicID, DATT >::const_iterator CI;
303 for (CI
p = data->begin();
p != data->end(); ++
p) {
304 channel = &(
p->first);
305 dataitem = &(
p->second);
306 dataIface.writeDB( channel, dataitem,
iov);
309 dataIface.terminateWriteStatement();
310 }
catch (std::runtime_error &
e) {
315 throw(std::runtime_error(
"EcalCondDBInterface::insertDataSet: Unknown exception caught"));
320 template<
class DATT,
class IOVT>
322 throw(std::runtime_error)
327 std::cout<<
"IOV was not set we retrieve it from DB"<<std::endl;
331 std::cout<<
"IOV was not written we write it"<<std::endl;
338 dataIface.setConnection(
env,
conn);
339 dataIface.prepareWrite();
341 dataIface.writeArrayDB(
data,
iov);
344 dataIface.terminateWriteStatement();
346 }
catch (std::runtime_error &
e) {
351 throw(std::runtime_error(
"EcalCondDBInterface::insertDataSet: Unknown exception caught"));
355 template<
class DATT,
class IOVT>
357 throw(std::runtime_error)
360 int nruns= run_iov.size();
362 if(run_iov.size()!=ecid.size() &&ecid.size()!=
data.size()){
363 throw(std::runtime_error(
"EcalCondDBInterface::insertDataSetVector: vector sizes are different.."));
370 dataIface.setConnection(
env,
conn);
371 dataIface.prepareWrite();
373 for (
int i=0;
i<nruns;
i++){
375 run_iov[
i].setConnection(
env,
conn);
376 run_iov[
i].writeDB();
378 dataIface.writeDB( &ecid[
i], &
data[i], &run_iov[i]);
382 }
catch (std::runtime_error &
e) {
387 throw(std::runtime_error(
"EcalCondDBInterface::insertDataSet: Unknown exception caught"));
397 template<
class ICONF >
399 throw(std::runtime_error)
402 iconf->setConnection(
env,
conn);
403 iconf->prepareWrite();
406 std::cout<<
"iconf inserted with ID="<<iconf->getId()<<std::endl;
408 iconf->terminateWriteStatement();
409 }
catch (std::runtime_error &
e) {
414 throw(std::runtime_error(
"EcalCondDBInterface::insertDataSet: Unknown exception caught"));
421 template<
class ICONF>
423 throw(std::runtime_error)
427 iconf->setConnection(
env,
conn);
428 iconf->createReadStatement();
429 iconf->fetchData(iconf);
430 iconf->terminateReadStatement();
437 template<
class ICONF>
439 throw(std::runtime_error)
443 iconf->setConnection(
env,
conn);
444 iconf->createReadStatement();
445 iconf->fetchLastData(iconf);
446 iconf->terminateReadStatement();
455 template<
class DATT,
class ICONF>
457 throw(std::runtime_error)
460 iconf->setConnection(
env,
conn);
462 if(iconf->getId()==0){
463 std::cout<<
"EcalCondDBInterface>> config_id was not set we retrieve it from DB"<<std::endl;
466 if(iconf->getId()==0){
467 std::cout<<
"EcalCondDBInterface>> configuration info was not written we write it"<<std::endl;
472 dataIface.setConnection(
env,
conn);
473 dataIface.prepareWrite();
475 const DATT* dataitem;
477 for (
int p = 0;
p !=
data->size(); ++
p) {
479 dataIface.writeDB( dataitem, iconf);
482 dataIface.terminateWriteStatement();
483 }
catch (std::runtime_error &
e) {
488 throw(std::runtime_error(
"EcalCondDBInterface::insertConfigDataSet: Unknown exception caught"));
494 template<
class DATT,
class ICONF>
496 throw(std::runtime_error)
499 iconf->setConnection(
env,
conn);
501 if(iconf->getId()==0){
502 std::cout<<
"EcalCondDBInterface>> config_id was not set we retrieve it from DB"<<std::endl;
505 if(iconf->getId()==0){
506 std::cout<<
"EcalCondDBInterface>> configuration info was not written we write it"<<std::endl;
511 dataIface.setConnection(
env,
conn);
512 dataIface.prepareWrite();
514 dataIface.writeArrayDB(
data, iconf);
517 dataIface.terminateWriteStatement();
519 }
catch (std::runtime_error &
e) {
524 throw(std::runtime_error(
"EcalCondDBInterface::insertConfigDataArraySet: Unknown exception caught"));
530 template<
class DATT,
class ICONF>
532 throw(std::runtime_error)
536 datiface.setConnection(
env,
conn);
537 datiface.createReadStatement();
538 datiface.setPrefetchRowCount(1024);
539 datiface.fetchData(
fillMap, iconf );
540 datiface.terminateReadStatement();
553 template<
class DATT,
class IOVT>
555 throw(std::runtime_error)
560 datiface.setConnection(
env,
conn);
561 datiface.createReadStatement();
562 datiface.setPrefetchRowCount(1024);
564 datiface.terminateReadStatement();
576 throw(std::runtime_error)
581 datiface.setConnection(
env,
conn);
582 datiface.createReadStatement();
583 datiface.setPrefetchRowCount(1024);
584 datiface.fetchHistoricalData(
fillMap,
t );
585 datiface.terminateReadStatement();
597 template<
class DATT,
class IOVT>
599 throw(std::runtime_error)
604 datiface.setConnection(
env,
conn);
605 datiface.createReadStatement();
606 datiface.setPrefetchRowCount(1024);
607 datiface.fetchData(
fillMap,
iov , mapping_name);
608 datiface.terminateReadStatement();
619 template<
class DATT,
class IOVT>
623 throw(std::runtime_error)
627 fillIOV->setConnection(
env,
conn);
628 fillIOV->setByRecentData(datiface.getTable(),
tag,
run);
629 datiface.setConnection(
env,
conn);
630 datiface.createReadStatement();
631 datiface.setPrefetchRowCount(1024);
632 datiface.fetchData( fillMap, fillIOV );
633 datiface.terminateReadStatement();
643 template<
class DATT,
class IOVT>
646 std::string location,
run_t run = (
unsigned int)-1)
647 throw(std::runtime_error)
651 fillIOV->setConnection(
env,
conn);
652 fillIOV->setByRecentData(datiface.getTable(), location,
run);
653 datiface.setConnection(
env,
conn);
654 datiface.createReadStatement();
655 datiface.setPrefetchRowCount(1024);
656 datiface.fetchData( fillMap, fillIOV );
657 datiface.terminateReadStatement();
std::vector< EcalLogicID > getEcalLogicIDSet(std::string name, int fromId1=EcalLogicID::NULLID, int toId1=EcalLogicID::NULLID, int fromId2=EcalLogicID::NULLID, int toId2=EcalLogicID::NULLID, int fromId3=EcalLogicID::NULLID, int toId3=EcalLogicID::NULLID, std::string mapsTo="")
void insertRunIOV(RunIOV *iov)
void insertConfigSet(ICONF *iconf)
RunList fetchRunListByLocation(RunTag tag, int min_run, int max_run, const LocationDef locDef)
DCSPTMTempList fetchDCSPTMTempList(EcalLogicID ecid)
void fetchValidDataSet(std::map< EcalLogicID, DATT > *fillMap, IOVT *fillIOV, RunTag *tag, run_t run=(unsigned int)-1)
void insertLmfDat(LMFDat *dat)
oracle::occi::Environment * env
RunIOV fetchRunIOV(RunTag *tag, run_t run)
void insertDataSetVector(std::vector< EcalLogicID > ecid, std::vector< IOVT > run_iov, std::vector< DATT > data)
void updateRunIOVStartTime(RunIOV *iov)
void insertLmfSeq(LMFSeqDat *iov)
EcalCondDBInterface(std::string host, std::string sid, std::string user, std::string pass, int port=1521)
DCUIOV fetchDCUIOV(DCUTag *tag, Tm evenTm)
LMFRunIOV fetchLMFRunIOV(RunTag *runtag, LMFRunTag *lmftag, run_t run, subrun_t lmfrun)
std::vector< EcalLogicID > getEcalLogicIDSetOrdered(std::string name, int fromId1, int toId1, int fromId2=EcalLogicID::NULLID, int toId2=EcalLogicID::NULLID, int fromId3=EcalLogicID::NULLID, int toId3=EcalLogicID::NULLID, std::string mapsTo="", int orderedBy=EcalLogicID::NULLID)
void fetchLastConfigSet(ICONF *iconf)
void fetchConfigDataSet(std::vector< DATT > *fillMap, ICONF *iconf)
DateHandler * getDateHandler()
CaliIOV fetchCaliIOV(CaliTag *tag, Tm evenTm)
void insertConfigDataArraySet(const std::vector< DATT > data, ICONF *iconf)
oracle::occi::Connection * conn
RunList fetchGlobalRunListByLocation(RunTag tag, int min_run, int max_run, const LocationDef locDef)
EcalCondDBInterface(std::string sid, std::string user, std::string pass)
RunList fetchRunList(RunTag tag)
void fetchDataSet(std::map< EcalLogicID, DATT > *fillMap, IOVT *iov)
MonRunList fetchMonRunListLastNRuns(RunTag tag, MonRunTag monruntag, int max_run, int n_runs)
std::map< int, int > getEcalLogicID2LmrMap()
EcalLogicID getEcalLogicID(std::string name, int id1=EcalLogicID::NULLID, int id2=EcalLogicID::NULLID, int id3=EcalLogicID::NULLID, std::string mapsTo="")
RunIOV fetchLMFLastRun() const
void insertDCUIOV(DCUIOV *iov)
void insertConfigDataSet(const std::vector< DATT > data, ICONF *iconf)
void insertLmfRunIOV(LMFRunIOV *iov)
void insertLmfIOV(LMFIOV *iov)
void updateRunConfig(ODRunConfigInfo *od)
MonRunList fetchMonRunList(RunTag tag, MonRunTag monruntag)
virtual ~EcalCondDBInterface()
void fetchConfigSet(ICONF *iconf)
void fetchDCSDataSet(std::list< std::pair< Tm, std::map< EcalLogicID, DATT > > > *fillMap, Tm t)
MonRunIOV fetchMonRunIOV(RunTag *runtag, MonRunTag *montag, run_t run, subrun_t monrun)
RunList fetchRunListLastNRuns(RunTag tag, int max_run, int n_runs)
void insertMonRunIOV(MonRunIOV *iov)
void insertDataArraySet(const std::map< EcalLogicID, DATT > *data, IOVT *iov)
void insertDataSet(const std::map< EcalLogicID, DATT > *data, IOVT *iov)
void updateRunIOV(RunIOV *iov)
void updateRunIOVEndTime(RunIOV *iov)
void fillMap(Registry *reg, regmap_type &fillme)
void fetchDataSetWithMap(std::map< EcalLogicID, DATT > *fillMap, IOVT *iov, std::string mapping_name)
void insertLmfLmrSubIOV(LMFLmrSubIOV *iov)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
void fetchValidDataSet(std::map< EcalLogicID, DATT > *fillMap, IOVT *fillIOV, std::string location, run_t run=(unsigned int)-1)