CMS 3D CMS Logo

EcalCondDBInterface.h
Go to the documentation of this file.
1 /***********************************************/
2 /* EcalCondDBInterface.h */
3 /* */
4 /* */
5 /* Interface to the Ecal Conditions DB. */
6 /***********************************************/
7 
8 #ifndef ECALCONDDBINTERFACE_HH
9 #define ECALCONDDBINTERFACE_HH
10 
11 #include <iostream>
12 #include <string>
13 #include <vector>
14 #include <map>
15 #include <stdexcept>
17 
18 
34 
37 
39  public:
40 
41  /******************\
42  - public methods -
43  \******************/
44 
58  int port=1521 )
59  : EcalDBConnection( host, sid, user, pass, port )
60  {
61  // call the parent constructor
62 
63  // create a DateHandler
64  dh = new DateHandler(env, conn);
65  }
66 
67 
68 
79  : EcalDBConnection( sid, user, pass )
80  {
81  // call the parent constructor
82 
83  // create a DateHandler
84  dh = new DateHandler(env, conn);
85  }
86 
87 
92  noexcept(false) override
93  {
94  // call the parent destructor
95 
96  // destroy the DateHandler
97  delete(dh);
98  }
99 
100 
105  {
106  return dh;
107  }
108 
109 
119  int id1 = EcalLogicID::NULLID,
120  int id2 = EcalLogicID::NULLID,
121  int id3 = EcalLogicID::NULLID,
122  std::string mapsTo = "" )
123  noexcept(false);
124 
130  std::vector<EcalLogicID> getEcalLogicIDMappedTo(int logic_id, std::string maps_to);
131 
132  std::vector<EcalLogicID> getEcalLogicIDForLMR(int lmr_logic_id);
133  std::vector<EcalLogicID> getEcalLogicIDForLMR(const EcalLogicID &lmr_logic_id);
134  std::vector<EcalLogicID> getEcalLogicIDForLMPN(int lmr_logic_id);
135  std::vector<EcalLogicID> getEcalLogicIDForLMPN(const EcalLogicID &lmr_logic_id);
136 
137 
144  EcalLogicID getEcalLogicID( int logicID )
145  noexcept(false);
146 
156  std::vector<EcalLogicID> getEcalLogicIDSet( std::string name,
157  int fromId1 = EcalLogicID::NULLID, int toId1 = EcalLogicID::NULLID,
158  int fromId2 = EcalLogicID::NULLID, int toId2 = EcalLogicID::NULLID,
159  int fromId3 = EcalLogicID::NULLID, int toId3 = EcalLogicID::NULLID,
160  std::string mapsTo = "" )
161  noexcept(false);
162 
163  std::map<int, int> getEcalLogicID2LmrMap();
164  std::vector<EcalLogicID> getEcalLogicIDSetOrdered( std::string name,
165  int fromId1, int toId1,
166  int fromId2 = EcalLogicID::NULLID, int toId2 = EcalLogicID::NULLID,
167  int fromId3 = EcalLogicID::NULLID, int toId3 = EcalLogicID::NULLID,
168  std::string mapsTo = "", int orderedBy= EcalLogicID::NULLID ) noexcept(false);
169 
170 
174  void insertRunIOV(RunIOV* iov)
175  noexcept(false);
176  // updates the end time of an iov
177  void updateRunIOV(RunIOV* iov)
178  noexcept(false);
179  void updateRunIOVStartTime(RunIOV* iov)
180  noexcept(false);
181  void updateRunIOVEndTime(RunIOV* iov)
182  noexcept(false);
183 
184  void updateRunConfig(ODRunConfigInfo* od) noexcept(false);
185 
186  void insertLmfIOV(LMFIOV* iov)
187  noexcept(false);
189  noexcept(false);
190  void insertLmfSeq(LMFSeqDat* iov)
191  noexcept(false);
192  void insertLmfRunIOV(LMFRunIOV* iov)
193  noexcept(false);
194  void insertLmfDat(LMFDat* dat)
195  noexcept(false);
196  void insertLmfDat(std::list<LMFDat*> dat)
197  noexcept(false);
198 
203  std::list<ODDelaysDat> fetchFEDelaysForRun(RunIOV *iov)
204  noexcept(false);
205 
210  noexcept(false);
211 
212 
213 
219  RunIOV fetchRunIOV(std::string location, run_t run)
220  noexcept(false);
221 
222  RunIOV fetchRunIOV(std::string location, const Tm &t)
223  noexcept(false);
224 
225 
226 
230  void insertMonRunIOV(MonRunIOV* iov)
231  noexcept(false);
232 
233 
237  void insertDCUIOV(DCUIOV* iov)
238  noexcept(false);
239 
240 
244  MonRunIOV fetchMonRunIOV(RunTag* runtag, MonRunTag* montag, run_t run, subrun_t monrun)
245  noexcept(false);
246 
247 
251  DCUIOV fetchDCUIOV(DCUTag* tag, const Tm& evenTm)
252  noexcept(false);
253 
254 
255 
259  LMFRunIOV fetchLMFRunIOV(RunTag* runtag, LMFRunTag* lmftag, run_t run, subrun_t lmfrun)
260  noexcept(false);
261  bool fetchLMFRunIOV(const LMFSeqDat&, LMFRunIOV&, int lmr, int type,
262  int color) const;
263  RunIOV fetchLMFLastRun() const;
264 
268  CaliIOV fetchCaliIOV(CaliTag* tag, const Tm& evenTm)
269  noexcept(false);
270 
271 
275  RunList fetchRunList(const RunTag& tag) noexcept(false);
276  RunList fetchRunList(const RunTag& tag, int min_run, int max_run) noexcept(false);
277  RunList fetchNonEmptyRunList(const RunTag& tag, int min_run, int max_run) noexcept(false);
278  RunList fetchNonEmptyGlobalRunList(const RunTag& tag, int min_run, int max_run) noexcept(false);
279  RunList fetchRunListByLocation(const RunTag& tag, int min_run, int max_run , const LocationDef& locDef) noexcept(false);
280  RunList fetchGlobalRunListByLocation(const RunTag& tag, int min_run, int max_run , const LocationDef& locDef) noexcept(false);
281  RunList fetchRunListLastNRuns(const RunTag& tag, int max_run, int n_runs) noexcept(false);
282 
288  DCSPTMTempList fetchDCSPTMTempList(const EcalLogicID& ecid, const Tm& start, const Tm& end) noexcept(false);
289 
290  MonRunList fetchMonRunList(const RunTag& tag, const MonRunTag& monruntag) noexcept(false);
291  MonRunList fetchMonRunList(const RunTag& tag, const MonRunTag& monruntag,int min_run, int max_run) noexcept(false);
292  MonRunList fetchMonRunListLastNRuns(const RunTag& tag, const MonRunTag& monruntag, int max_run, int n_runs) noexcept(false);
293 
294 
295 
296 
297  /*
298  * Insert a set of data at the given iov. If the iov does not yet
299  * exist in the database they will be written. Nothing is committed in the the event of
300  * an exception
301  */
302  // XXX TODO: Split declaration and definition using a macro
303  // XXX Naive method causes linker errors...
304  // XXX See example FWCore/Framework/interface/eventSetupGetImplementation.h
305 
306  template<class DATT, class IOVT>
307  void insertDataSet(const std::map< EcalLogicID, DATT >* data, IOVT* iov)
308  noexcept(false)
309  {
310  try {
311  iov->setConnection(env, conn);
312  // if it has not yet been written then write
313  if(iov->getID()==0){
314  std::cout<<"IOV was not set we retrieve it from DB"<<std::endl;
315  iov->fetchID();
316  }
317  if(iov->getID()==0){
318  std::cout<<"IOV was not written we write it"<<std::endl;
319  iov->writeDB();
320  }
321 
322  DATT dataIface;
323  dataIface.setConnection(env, conn);
324  dataIface.prepareWrite();
325 
326  const EcalLogicID* channel;
327  const DATT* dataitem;
328  typedef typename std::map< EcalLogicID, DATT >::const_iterator CI;
329  for (CI p = data->begin(); p != data->end(); ++p) {
330  channel = &(p->first);
331  dataitem = &(p->second);
332  dataIface.writeDB( channel, dataitem, iov);
333  }
334  conn->commit();
335  dataIface.terminateWriteStatement();
336  } catch (std::runtime_error &e) {
337  conn->rollback();
338  throw(e);
339  } catch (...) {
340  conn->rollback();
341  throw(std::runtime_error("EcalCondDBInterface::insertDataSet: Unknown exception caught"));
342  }
343  }
344 
345  //test for DB Array insertion
346  template<class DATT, class IOVT>
347  void insertDataArraySet(const std::map< EcalLogicID, DATT >* data, IOVT* iov)
348  noexcept(false)
349  {
350  try {
351  iov->setConnection(env, conn);
352  if(iov->getID()==0){
353  std::cout<<"IOV was not set we retrieve it from DB"<<std::endl;
354  iov->fetchID();
355  }
356  if(iov->getID()==0){
357  std::cout<<"IOV was not written we write it"<<std::endl;
358  iov->writeDB();
359  }
360 
361  std::cout<<"id="<<iov->getID()<<std::endl;
362 
363  DATT dataIface;
364  dataIface.setConnection(env, conn);
365  dataIface.prepareWrite();
366 
367  dataIface.writeArrayDB(data, iov);
368  conn->commit();
369 
370  dataIface.terminateWriteStatement();
371 
372  } catch (std::runtime_error &e) {
373  conn->rollback();
374  throw(e);
375  } catch (...) {
376  conn->rollback();
377  throw(std::runtime_error("EcalCondDBInterface::insertDataSet: Unknown exception caught"));
378  }
379  }
380 
381  template<class DATT, class IOVT>
382  void insertDataSetVector( const std::vector<EcalLogicID>& ecid, const std::vector<IOVT>& run_iov, const std::vector<DATT>& data )
383  noexcept(false)
384  {
385 
386  int nruns= run_iov.size();
387 
388  if(run_iov.size()!=ecid.size() &&ecid.size()!=data.size()){
389  throw(std::runtime_error("EcalCondDBInterface::insertDataSetVector: vector sizes are different.."));
390  }
391 
392 
393  try {
394 
395  DATT dataIface;
396  dataIface.setConnection(env, conn);
397  dataIface.prepareWrite();
398 
399  for (int i=0; i<nruns; i++){
400 
401  run_iov[i].setConnection(env, conn);
402  run_iov[i].writeDB();
403 
404  dataIface.writeDB( &ecid[i], &data[i], &run_iov[i]);
405 
406  conn->commit();
407  }
408  } catch (std::runtime_error &e) {
409  conn->rollback();
410  throw(e);
411  } catch (...) {
412  conn->rollback();
413  throw(std::runtime_error("EcalCondDBInterface::insertDataSet: Unknown exception caught"));
414  }
415  }
416 
417 
418 
419 
420 
421  // CONFIG DB methods
422 
423  template<class ICONF >
424  void insertConfigSet( ICONF* iconf)
425  noexcept(false)
426  {
427  try {
428  iconf->setConnection(env, conn);
429  iconf->prepareWrite();
430  // if it has not yet been written then write
431  iconf->writeDB();
432  std::cout<< "iconf inserted with ID="<<iconf->getId()<<std::endl;
433  conn->commit();
434  iconf->terminateWriteStatement();
435  } catch (std::runtime_error &e) {
436  conn->rollback();
437  throw(e);
438  } catch (...) {
439  conn->rollback();
440  throw(std::runtime_error("EcalCondDBInterface::insertDataSet: Unknown exception caught"));
441  }
442  }
443 
444  /*
445  * Fetch a config set
446  */
447  template<class ICONF>
448  void fetchConfigSet( ICONF* iconf)
449  noexcept(false)
450  {
451 
452  iconf->clear();
453  iconf->setConnection(env, conn);
454  iconf->createReadStatement();
455  iconf->fetchData(iconf);
456  iconf->terminateReadStatement();
457 
458  }
459 
460  /*
461  * Fetch a config set
462  */
463  template<class ICONF>
464  void fetchLastConfigSet( ICONF* iconf)
465  noexcept(false)
466  {
467 
468  iconf->clear();
469  iconf->setConnection(env, conn);
470  iconf->createReadStatement();
471  iconf->fetchLastData(iconf);
472  iconf->terminateReadStatement();
473 
474  }
475 
476 
477 
478  /*
479  * Insert a config data set
480  */
481  template<class DATT, class ICONF>
482  void insertConfigDataSet(const std::vector< DATT > data, ICONF* iconf)
483  noexcept(false)
484  {
485  try {
486  iconf->setConnection(env, conn);
487  // if it has not yet been written then write
488  if(iconf->getId()==0){
489  std::cout<<"EcalCondDBInterface>> config_id was not set we retrieve it from DB"<<std::endl;
490  iconf->fetchID();
491  }
492  if(iconf->getId()==0){
493  std::cout<<"EcalCondDBInterface>> configuration info was not written we write it"<<std::endl;
494  iconf->writeDB();
495  }
496 
497  DATT dataIface;
498  dataIface.setConnection(env, conn);
499  dataIface.prepareWrite();
500 
501  const DATT* dataitem;
502 
503  for (int p = 0; p != data->size(); ++p) {
504  dataitem = data[p];
505  dataIface.writeDB( dataitem, iconf);
506  }
507  conn->commit();
508  dataIface.terminateWriteStatement();
509  } catch (std::runtime_error &e) {
510  conn->rollback();
511  throw(e);
512  } catch (...) {
513  conn->rollback();
514  throw(std::runtime_error("EcalCondDBInterface::insertConfigDataSet: Unknown exception caught"));
515  }
516  }
517  /*
518  * insert a config data set array fast
519  */
520  template<class DATT, class ICONF>
521  void insertConfigDataArraySet(const std::vector< DATT >& data, ICONF* iconf)
522  noexcept(false)
523  {
524  try {
525  iconf->setConnection(env, conn);
526  // if it has not yet been written then write
527  if(iconf->getId()==0){
528  std::cout<<"EcalCondDBInterface>> config_id was not set we retrieve it from DB"<<std::endl;
529  iconf->fetchID();
530  }
531  if(iconf->getId()==0){
532  std::cout<<"EcalCondDBInterface>> configuration info was not written we write it"<<std::endl;
533  iconf->writeDB();
534  }
535 
536  DATT dataIface;
537  dataIface.setConnection(env, conn);
538  dataIface.prepareWrite();
539 
540  dataIface.writeArrayDB(data, iconf);
541  conn->commit();
542 
543  dataIface.terminateWriteStatement();
544 
545  } catch (std::runtime_error &e) {
546  conn->rollback();
547  throw(e);
548  } catch (...) {
549  conn->rollback();
550  throw(std::runtime_error("EcalCondDBInterface::insertConfigDataArraySet: Unknown exception caught"));
551  }
552  }
553  /*
554  * Fetch a set of data based on an EXACT match of an iov
555  */
556  template<class DATT, class ICONF>
557  void fetchConfigDataSet(std::vector< DATT >* fillMap, ICONF* iconf)
558  noexcept(false)
559  {
560 
561  DATT datiface;
562  datiface.setConnection(env, conn);
563  datiface.createReadStatement();
564  datiface.setPrefetchRowCount(1024);
565  datiface.fetchData( fillMap, iconf );
566  datiface.terminateReadStatement();
567 
568  }
569 
570 
571 
572 
573 
574 
575 
576  /*
577  * Fetch a set of data based on an EXACT match of an iov
578  */
579  template<class DATT, class IOVT>
580  void fetchDataSet(std::map< EcalLogicID, DATT >* fillMap, IOVT* iov)
581  noexcept(false)
582  {
583  fillMap->clear();
584 
585  DATT datiface;
586  datiface.setConnection(env, conn);
587  datiface.createReadStatement();
588  datiface.setPrefetchRowCount(1024);
589  datiface.fetchData( fillMap, iov );
590  datiface.terminateReadStatement();
591 
592  }
593 
594 
595 
596 
597  /*
598  * Fetch a set of DCS data based on time stamp
599  */
600  template<class DATT>
601  void fetchDCSDataSet(std::list< std::pair< Tm, std::map< EcalLogicID, DATT > > >* fillMap, const Tm& t)
602  noexcept(false)
603  {
604  fillMap->clear();
605 
606  DATT datiface;
607  datiface.setConnection(env, conn);
608  datiface.createReadStatement();
609  datiface.setPrefetchRowCount(1024);
610  datiface.fetchHistoricalData( fillMap, t );
611  datiface.terminateReadStatement();
612 
613  }
614 
615 
616 
617 
618 
619  /*
620  * Fetch a set of data based on an EXACT match of an iov
621  * with a specific mapping name
622  */
623  template<class DATT, class IOVT>
624  void fetchDataSetWithMap(std::map< EcalLogicID, DATT >* fillMap, IOVT* iov, std::string mapping_name )
625  noexcept(false)
626  {
627  fillMap->clear();
628 
629  DATT datiface;
630  datiface.setConnection(env, conn);
631  datiface.createReadStatement();
632  datiface.setPrefetchRowCount(1024);
633  datiface.fetchData( fillMap, iov , mapping_name);
634  datiface.terminateReadStatement();
635 
636  }
637 
638  /*
639  * Fetch dataset that is valid for the given RunTag and run.
640  * Also fills the given IOV object with the IOV associated with the data
641  * run is optional, by default is set to infinity
642  * Note: ONLY works for Run*Dat objects
643  * TODO: Make this function (or similar) work for all *Dat objects
644  */
645  template<class DATT, class IOVT>
646  void fetchValidDataSet(std::map< EcalLogicID, DATT >* fillMap,
647  IOVT* fillIOV,
648  RunTag* tag, run_t run = (unsigned int)-1)
649  noexcept(false)
650  {
651  fillMap->clear();
652  DATT datiface;
653  fillIOV->setConnection(env, conn);
654  fillIOV->setByRecentData(datiface.getTable(), tag, run);
655  datiface.setConnection(env, conn);
656  datiface.createReadStatement();
657  datiface.setPrefetchRowCount(1024);
658  datiface.fetchData( fillMap, fillIOV );
659  datiface.terminateReadStatement();
660  }
661 
662  /*
663  * Fetch dataset that is valid for the given location and run.
664  * Also fills the given IOV object with the IOV associated with the data
665  * run is optional, by default is set to infinity
666  * Note: ONLY works for Run*Dat objects
667  * TODO: Make this function (or similar) work for all *Dat objects
668  */
669  template<class DATT, class IOVT>
670  void fetchValidDataSet(std::map< EcalLogicID, DATT >* fillMap,
671  IOVT* fillIOV,
672  std::string location, run_t run = (unsigned int)-1)
673  noexcept(false)
674  {
675  fillMap->clear();
676  DATT datiface;
677  fillIOV->setConnection(env, conn);
678  fillIOV->setByRecentData(datiface.getTable(), location, run);
679  datiface.setConnection(env, conn);
680  datiface.createReadStatement();
681  datiface.setPrefetchRowCount(1024);
682  datiface.fetchData( fillMap, fillIOV );
683  datiface.terminateReadStatement();
684  }
685 
686  inline int getDetIdFromLogicId(int logic_id) {
687  int detid = -1;
688  if (_logicId2DetId.empty()) {
690  }
691  if (_logicId2DetId.find(logic_id) != _logicId2DetId.end()) {
692  detid = _logicId2DetId[logic_id];
693  }
694  return detid;
695  }
696 
697  inline int getLogicIdFromDetId(int det_id) {
698  int logic_id = -1;
699  if (_logicId2DetId.empty()) {
701  }
702  if (_detId2LogicId.find(det_id) != _detId2LogicId.end()) {
703  logic_id = _detId2LogicId[det_id];
704  }
705  return logic_id;
706  }
707 
708  inline std::map<int, int> getLogicId2DetIdMap() {
709  if (_logicId2DetId.empty()) {
711  }
712  return _logicId2DetId;
713  }
714 
715  inline std::map<int, int> getDetId2LogicIdMap() {
716  if (_logicId2DetId.empty()) {
718  }
719  return _detId2LogicId;
720  }
721 
722  void dummy();
723 
724  private:
725 
729  void fillLogicId2DetIdMaps();
730 
731 
732  /*********************\
733  - private variables -
734  \*********************/
735 
737 
738  EcalCondDBInterface() = delete;
740 
741  std::map<int, int> _logicId2DetId;
742  std::map<int, int> _detId2LogicId;
743 };
744 
745 #endif
void insertLmfSeq(LMFSeqDat *iov) noexcept(false)
Definition: start.py:1
type
Definition: HCALResponse.h:21
std::map< int, int > _detId2LogicId
std::map< int, int > _logicId2DetId
int run_t
Definition: CaliIOV.h:11
RunList fetchGlobalRunListByLocation(const RunTag &tag, int min_run, int max_run, const LocationDef &locDef) noexcept(false)
MonRunIOV fetchMonRunIOV(RunTag *runtag, MonRunTag *montag, run_t run, subrun_t monrun) noexcept(false)
int getID()
Definition: DCUIOV.h:29
def copy(args, dbName)
void insertMonRunIOV(MonRunIOV *iov) noexcept(false)
void fetchLastConfigSet(ICONF *iconf) noexcept(false)
EcalLogicID getEcalLogicID(std::string name, int id1=EcalLogicID::NULLID, int id2=EcalLogicID::NULLID, int id3=EcalLogicID::NULLID, std::string mapsTo="") noexcept(false)
int getLogicIdFromDetId(int det_id)
Definition: RunTag.h:13
void updateRunConfig(ODRunConfigInfo *od) noexcept(false)
#define noexcept
oracle::occi::Environment * env
void insertDCUIOV(DCUIOV *iov) noexcept(false)
std::list< ODDelaysDat > fetchFEDelaysForRun(RunIOV *iov) noexcept(false)
DCUIOV fetchDCUIOV(DCUTag *tag, const Tm &evenTm) noexcept(false)
RunList fetchNonEmptyRunList(const RunTag &tag, int min_run, int max_run) noexcept(false)
MonRunList fetchMonRunList(const RunTag &tag, const MonRunTag &monruntag) noexcept(false)
void fetchConfigSet(ICONF *iconf) noexcept(false)
void insertLmfDat(LMFDat *dat) noexcept(false)
RunList fetchRunListLastNRuns(const RunTag &tag, int max_run, int n_runs) noexcept(false)
Definition: DCUIOV.h:13
EcalCondDBInterface(std::string host, std::string sid, std::string user, std::string pass, int port=1521)
void fetchDataSet(std::map< EcalLogicID, DATT > *fillMap, IOVT *iov) noexcept(false)
std::vector< EcalLogicID > getEcalLogicIDMappedTo(int logic_id, std::string maps_to)
~EcalCondDBInterface() noexcept(false) override
RunList fetchNonEmptyGlobalRunList(const RunTag &tag, int min_run, int max_run) noexcept(false)
std::vector< EcalLogicID > getEcalLogicIDForLMPN(int lmr_logic_id)
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="") noexcept(false)
DateHandler * getDateHandler()
void updateRunIOV(RunIOV *iov) noexcept(false)
oracle::occi::Connection * conn
RunIOV fetchRunIOV(RunTag *tag, run_t run) noexcept(false)
void updateRunIOVStartTime(RunIOV *iov) noexcept(false)
void fetchDCSDataSet(std::list< std::pair< Tm, std::map< EcalLogicID, DATT > > > *fillMap, const Tm &t) noexcept(false)
void insertDataSetVector(const std::vector< EcalLogicID > &ecid, const std::vector< IOVT > &run_iov, const std::vector< DATT > &data) noexcept(false)
MonRunList fetchMonRunListLastNRuns(const RunTag &tag, const MonRunTag &monruntag, int max_run, int n_runs) noexcept(false)
int writeDB() noexcept(false)
Definition: DCUIOV.cc:164
EcalCondDBInterface(std::string sid, std::string user, std::string pass)
DCSPTMTempList fetchDCSPTMTempList(const EcalLogicID &ecid) noexcept(false)
void insertConfigDataArraySet(const std::vector< DATT > &data, ICONF *iconf) noexcept(false)
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) noexcept(false)
Definition: LMFDat.h:19
std::map< int, int > getEcalLogicID2LmrMap()
int subrun_t
Definition: MODRunIOV.h:11
RunIOV fetchLMFLastRun() const
void insertConfigSet(ICONF *iconf) noexcept(false)
void fetchValidDataSet(std::map< EcalLogicID, DATT > *fillMap, IOVT *fillIOV, std::string location, run_t run=(unsigned int)-1) noexcept(false)
EcalCondDBInterface()=delete
void insertRunIOV(RunIOV *iov) noexcept(false)
void insertLmfRunIOV(LMFRunIOV *iov) noexcept(false)
#define end
Definition: vmac.h:39
void insertDataArraySet(const std::map< EcalLogicID, DATT > *data, IOVT *iov) noexcept(false)
CaliIOV fetchCaliIOV(CaliTag *tag, const Tm &evenTm) noexcept(false)
void insertConfigDataSet(const std::vector< DATT > data, ICONF *iconf) noexcept(false)
Definition: LMFIOV.h:17
LMFRunIOV fetchLMFRunIOV(RunTag *runtag, LMFRunTag *lmftag, run_t run, subrun_t lmfrun) noexcept(false)
RunList fetchRunListByLocation(const RunTag &tag, int min_run, int max_run, const LocationDef &locDef) noexcept(false)
void updateRunIOVEndTime(RunIOV *iov) noexcept(false)
RunList fetchRunList(const RunTag &tag) noexcept(false)
int fetchID() noexcept(false) override
Definition: DCUIOV.cc:79
void insertLmfLmrSubIOV(LMFLmrSubIOV *iov) noexcept(false)
int getDetIdFromLogicId(int logic_id)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
static const int NULLID
Definition: EcalLogicID.h:42
void insertDataSet(const std::map< EcalLogicID, DATT > *data, IOVT *iov) noexcept(false)
std::map< int, int > getLogicId2DetIdMap()
void insertLmfIOV(LMFIOV *iov) noexcept(false)
void fetchDataSetWithMap(std::map< EcalLogicID, DATT > *fillMap, IOVT *iov, std::string mapping_name) noexcept(false)
void setConnection(oracle::occi::Environment *env, oracle::occi::Connection *conn)
Definition: IDBObject.h:23
void fetchConfigDataSet(std::vector< DATT > *fillMap, ICONF *iconf) noexcept(false)
std::vector< EcalLogicID > getEcalLogicIDForLMR(int lmr_logic_id)
std::map< int, int > getDetId2LogicIdMap()
Definition: RunIOV.h:13
Definition: Tm.h:13
void fetchValidDataSet(std::map< EcalLogicID, DATT > *fillMap, IOVT *fillIOV, RunTag *tag, run_t run=(unsigned int)-1) noexcept(false)
Definition: DCUTag.h:13
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