CMS 3D CMS Logo

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