CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
HcalDbOnline Class Reference

Gather conditions data from online DB. More...

#include <HcalDbOnline.h>

Public Types

typedef std::pair< IOVTime,
IOVTime
IntervalOV
 
typedef unsigned long long IOVTime
 

Public Member Functions

std::vector< IntervalOVgetIOVs (const std::string &fTag)
 
bool getObject (HcalPedestals *fObject, HcalPedestalWidths *fWidths, const std::string &fTag, IOVTime fTime)
 
bool getObject (HcalPedestals *fObject, const std::string &fTag, IOVTime fTime)
 
bool getObject (HcalGains *fObject, HcalGainWidths *fWidths, const std::string &fTag, IOVTime fTime)
 
bool getObject (HcalGains *fObject, const std::string &fTag, IOVTime fTime)
 
bool getObject (HcalPedestalWidths *fObject, const std::string &fTag, IOVTime fTime)
 
bool getObject (HcalGainWidths *fObject, const std::string &fTag, IOVTime fTime)
 
bool getObject (HcalElectronicsMap *fObject, const std::string &fTag, IOVTime fTime)
 
bool getObject (HcalQIEData *fObject, const std::string &fTag, IOVTime fTime)
 
bool getObject (HcalCalibrationQIEData *fObject, const std::string &fTag, IOVTime fTime)
 
 HcalDbOnline (const std::string &fDb, bool fVerbose=false)
 
std::vector< std::string > metadataAllTags ()
 
 ~HcalDbOnline ()
 

Private Member Functions

template<class T >
bool getObjectGeneric (T *fObject, const std::string &fTag)
 

Private Attributes

oracle::occi::Connection * mConnect
 
oracle::occi::Environment * mEnvironment
 
oracle::occi::Statement * mStatement
 
bool mVerbose
 

Detailed Description

Gather conditions data from online DB.

Author
Fedor Ratnikov

Definition at line 34 of file HcalDbOnline.h.

Member Typedef Documentation

Definition at line 37 of file HcalDbOnline.h.

typedef unsigned long long HcalDbOnline::IOVTime

Definition at line 36 of file HcalDbOnline.h.

Constructor & Destructor Documentation

HcalDbOnline::HcalDbOnline ( const std::string &  fDb,
bool  fVerbose = false 
)

Definition at line 26 of file HcalDbOnline.cc.

References dtNoiseDBValidation_cfg::cerr, query::host, mConnect, mEnvironment, mStatement, AlCaHLTBitMon_QueryRunRegistry::string, and hcal_dqm_sourceclient-file_cfg::user.

27  : mConnect (0),
28  mVerbose (fVerbose)
29 {
30  mEnvironment = oracle::occi::Environment::createEnvironment (oracle::occi::Environment::OBJECT);
31  // decode connect string
32  size_t ipass = fDb.find ('/');
33  size_t ihost = fDb.find ('@');
34 
35  if (ipass == std::string::npos || ihost == std::string::npos) {
36  std::cerr << "HcalDbOnline::HcalDbOnline-> Error in connection string format: " << fDb
37  << " Expect user/password@db" << std::endl;
38  }
39  else {
40  std::string user (fDb, 0, ipass);
41  std::string pass (fDb, ipass+1, ihost-ipass-1);
42  std::string host (fDb, ihost+1);
43  // std::cout << "HcalDbOnline::HcalDbOnline-> Connecting " << user << '/' << pass << '@' << host << std::endl;
44  try {
45  mConnect = mEnvironment->createConnection(user, pass, host);
46  mStatement = mConnect->createStatement ();
47  }
48  catch (oracle::occi::SQLException& sqlExcp) {
49  std::cerr << "HcalDbOnline::HcalDbOnline exception-> " << sqlExcp.getErrorCode () << ": " << sqlExcp.what () << std::endl;
50  }
51  }
52 }
oracle::occi::Environment * mEnvironment
Definition: HcalDbOnline.h:57
oracle::occi::SQLException SQLException
Definition: HcalDbOmds.cc:22
oracle::occi::Statement * mStatement
Definition: HcalDbOnline.h:59
string host
Definition: query.py:114
oracle::occi::Connection * mConnect
Definition: HcalDbOnline.h:58
HcalDbOnline::~HcalDbOnline ( )

Definition at line 54 of file HcalDbOnline.cc.

References mConnect, mEnvironment, and mStatement.

54  {
55  delete mStatement;
56  mEnvironment->terminateConnection (mConnect);
57  oracle::occi::Environment::terminateEnvironment (mEnvironment);
58 }
oracle::occi::Environment * mEnvironment
Definition: HcalDbOnline.h:57
oracle::occi::Statement * mStatement
Definition: HcalDbOnline.h:59
oracle::occi::Connection * mConnect
Definition: HcalDbOnline.h:58

Member Function Documentation

std::vector< HcalDbOnline::IntervalOV > HcalDbOnline::getIOVs ( const std::string &  fTag)

Definition at line 591 of file HcalDbOnline.cc.

References dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, max(), mStatement, mVerbose, query::result, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by copyObject(), and printRuns().

591  {
592  std::vector<IntervalOV> result;
593  std::string sql_query ("");
594  sql_query += "SELECT unique INTERVAL_OF_VALIDITY_BEGIN, INTERVAL_OF_VALIDITY_END from V_TAG_IOV_CONDDATASET\n";
595  sql_query += "WHERE TAG_NAME='" + fTag + "'\n";
596  sql_query += "ORDER by INTERVAL_OF_VALIDITY_BEGIN\n";
597  try {
598  if (mVerbose) std::cout << "executing query: \n" << sql_query << std::endl;
599  mStatement->setPrefetchRowCount (100);
600  mStatement->setSQL (sql_query);
601  oracle::occi::ResultSet* rset = mStatement->executeQuery ();
602  while (rset->next ()) {
603 // char buffer [128];
604 // oracle::occi::Bytes iovb = rset->getNumber (1).toBytes();
605 // unsigned ix = 0;
606 // std::cout << "total bytes: " << iovb.length() << std::endl;
607 // for (; ix < iovb.length(); ix++) {
608 // sprintf (buffer, "byte# %d: %x", ix, iovb.byteAt (ix));
609 // std::cout << buffer << std::endl;
610 // }
611  IOVTime beginIov = (unsigned long) rset->getNumber (1);
612 // sprintf (buffer, "%x", beginIov);
613 // std::cout << "value: " << buffer << std::endl;
614  IOVTime endIov = rset->getInt (2);
615  if (!endIov) endIov = std::numeric_limits <IOVTime>::max (); // end of ages
616  result.push_back (std::make_pair (beginIov, endIov));
617  }
618  }
619  catch (oracle::occi::SQLException& sqlExcp) {
620  std::cerr << "HcalDbOnline::getIOVs exception-> " << sqlExcp.getErrorCode () << ": " << sqlExcp.what () << std::endl;
621  }
622  return result;
623 }
oracle::occi::SQLException SQLException
Definition: HcalDbOmds.cc:22
const T & max(const T &a, const T &b)
tuple result
Definition: query.py:137
unsigned long long IOVTime
Definition: HcalDbOnline.h:36
oracle::occi::Statement * mStatement
Definition: HcalDbOnline.h:59
oracle::occi::ResultSet ResultSet
Definition: HcalDbOmds.cc:21
tuple cout
Definition: gather_cfg.py:121
bool HcalDbOnline::getObject ( HcalPedestals fObject,
HcalPedestalWidths fWidths,
const std::string &  fTag,
IOVTime  fTime 
)

Definition at line 417 of file HcalDbOnline.cc.

References HcalCondObjectContainer< Item >::addValues(), dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, eta(), HcalCondObjectContainer< Item >::exists(), i, getHLTprescales::index, j, mStatement, mVerbose, phi, HcalPedestalWidth::setSigma(), AlCaHLTBitMon_QueryRunRegistry::string, makeHLTPrescaleTable::values, and detailsBasic3DVector::z.

Referenced by copyObject(), and getObject().

417  {
418  if (!fObject && !fWidths) return false;
419  std::ostringstream sTime;
420  sTime << fTime;
421  std::string sql_query ("");
422  sql_query += "SELECT\n";
423  sql_query += " Z, ETA, PHI, DEPTH, DETECTOR_NAME\n";
424  sql_query += " , CAPACITOR_0_VALUE, CAPACITOR_1_VALUE, CAPACITOR_2_VALUE, CAPACITOR_3_VALUE\n";
425  sql_query += " , SIGMA_0_0, SIGMA_0_1, SIGMA_0_2, SIGMA_0_3, SIGMA_1_1, SIGMA_1_2, SIGMA_1_3, SIGMA_2_2, SIGMA_2_3, SIGMA_3_3\n";
426  sql_query += " , RUN_NUMBER, INTERVAL_OF_VALIDITY_BEGIN, INTERVAL_OF_VALIDITY_END\n";
427  sql_query += "FROM V_HCAL_PEDESTALS_V2\n";
428  sql_query += "WHERE TAG_NAME='" + fTag + "'\n";
429  sql_query += "AND INTERVAL_OF_VALIDITY_BEGIN=" + sTime.str() + "\n";
430  sql_query += "AND (INTERVAL_OF_VALIDITY_END IS NULL OR INTERVAL_OF_VALIDITY_END>" + sTime.str() + ")\n";
431  try {
432  if (mVerbose) std::cout << "executing query: \n" << sql_query << std::endl;
433  mStatement->setPrefetchRowCount (100);
434  mStatement->setSQL (sql_query);
435  oracle::occi::ResultSet* rset = mStatement->executeQuery ();
436  while (rset->next ()) {
437  int index = 1;
438  int z = rset->getInt (index++);
439  int eta = rset->getInt (index++);
440  int phi = rset->getInt (index++);
441  int depth = rset->getInt (index++);
442  std::string subdet = rset->getString (index++);
443 
444  float values [4];
445  float widths [4][4];
446  for (int i = 0; i < 4; i++) values[i] = rset->getFloat (index++);
447  for (int i = 0; i < 4; i++)
448  for (int j = i; j < 4; j++) widths [i][j] = rset->getFloat (index++);
449 
450 // unsigned long run = rset->getNumber (index++);
451 // unsigned long iovBegin = rset->getNumber (index++);
452 // unsigned long iovEnd = rset->getNumber (index++);
453 
454  HcalSubdetector sub = hcalSubdet (subdet);
455  HcalDetId id (sub, z * eta, phi, depth);
456 
457  if (fObject) {
458  if (fObject->exists(id) )
459  std::cerr << "HcalDbOnline::getObject-> Ignore data to redefine channel " << id.rawId() << std::endl;
460  else
461  {
462  HcalPedestal myped(id,values[0],values[1],values[2],values[3]);
463  fObject->addValues(myped);
464  }
465  }
466  if (fWidths) {
467  if (fWidths->exists(id) )
468  std::cerr << "HcalDbOnline::getObject-> Ignore data to redefine channel " << id.rawId() << std::endl;
469  else
470  {
471  HcalPedestalWidth mywidth(id);
472  for (int i = 0; i < 4; i++)
473  for (int j = i; j < 4; j++) mywidth.setSigma (i, j, widths [i][j]);
474  fWidths->addValues(mywidth);
475  }
476  }
477  }
478  delete rset;
479  }
480  catch (oracle::occi::SQLException& sqlExcp) {
481  std::cerr << "HcalDbOnline::getObject exception-> " << sqlExcp.getErrorCode () << ": " << sqlExcp.what () << std::endl;
482  }
483  // if (fObject) fObject->sort ();
484  // if (fWidths) fWidths->sort ();
485  return true;
486 }
int i
Definition: DBlmapReader.cc:9
T eta() const
oracle::occi::SQLException SQLException
Definition: HcalDbOmds.cc:22
float float float z
const bool exists(DetId fId) const
HcalSubdetector
Definition: HcalAssistant.h:32
int j
Definition: DBlmapReader.cc:9
oracle::occi::Statement * mStatement
Definition: HcalDbOnline.h:59
oracle::occi::ResultSet ResultSet
Definition: HcalDbOmds.cc:21
tuple cout
Definition: gather_cfg.py:121
bool addValues(const Item &myItem)
Definition: DDAxes.h:10
bool HcalDbOnline::getObject ( HcalPedestals fObject,
const std::string &  fTag,
IOVTime  fTime 
)

Definition at line 488 of file HcalDbOnline.cc.

References getObject().

488  {
489  return getObject (fObject, (HcalPedestalWidths*)0, fTag, fTime);
490 }
bool getObject(HcalPedestals *fObject, HcalPedestalWidths *fWidths, const std::string &fTag, IOVTime fTime)
bool HcalDbOnline::getObject ( HcalGains fObject,
HcalGainWidths fWidths,
const std::string &  fTag,
IOVTime  fTime 
)

Definition at line 496 of file HcalDbOnline.cc.

References HcalCondObjectContainer< Item >::addValues(), dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, eta(), HcalCondObjectContainer< Item >::exists(), i, getHLTprescales::index, mStatement, mVerbose, phi, AlCaHLTBitMon_QueryRunRegistry::string, makeHLTPrescaleTable::values, and detailsBasic3DVector::z.

496  {
497  if (!fObject && !fWidths) return false;
498  std::ostringstream sTime;
499  sTime << fTime;
500  std::string sql_query ("");
501  sql_query += "SELECT\n";
502  sql_query += " Z, ETA, PHI, DEPTH, DETECTOR_NAME\n";
503  sql_query += " , CAPACITOR_0_VALUE, CAPACITOR_1_VALUE, CAPACITOR_2_VALUE, CAPACITOR_3_VALUE\n";
504  sql_query += " , CAPACITOR_0_ERROR, CAPACITOR_1_ERROR, CAPACITOR_2_ERROR, CAPACITOR_3_ERROR\n";
505  sql_query += " , RUN_NUMBER, INTERVAL_OF_VALIDITY_BEGIN, INTERVAL_OF_VALIDITY_END\n";
506  sql_query += "FROM V_HCAL_GAIN_CALIBRATIONS\n";
507  sql_query += "WHERE TAG_NAME='" + fTag + "'\n";
508  sql_query += "AND INTERVAL_OF_VALIDITY_BEGIN=" + sTime.str() + "\n";
509  sql_query += "AND (INTERVAL_OF_VALIDITY_END IS NULL OR INTERVAL_OF_VALIDITY_END>" + sTime.str() + ")\n";
510  try {
511  if (mVerbose) std::cout << "executing query: \n" << sql_query << std::endl;
512  mStatement->setPrefetchRowCount (100);
513  mStatement->setSQL (sql_query);
514  oracle::occi::ResultSet* rset = mStatement->executeQuery ();
515  std::cout << "query is executed... " << std::endl;
516  while (rset->next ()) {
517  int index = 1;
518  int z = rset->getInt (index++);
519  int eta = rset->getInt (index++);
520  int phi = rset->getInt (index++);
521  int depth = rset->getInt (index++);
522  std::string subdet = rset->getString (index++);
523 
524  float values [4];
525  for (int i = 0; i < 4; i++) values[i] = rset->getFloat (index++);
526  for (int i = 0; i < 4; i++) rset->getFloat (index++);
527 // unsigned long run = rset->getNumber (index++);
528 // unsigned long iovBegin = rset->getNumber (index++);
529 // unsigned long iovEnd = rset->getNumber (index++);
530 
531  HcalSubdetector sub = hcalSubdet (subdet);
532  HcalDetId id (sub, z * eta, phi, depth);
533 
534  if (fObject) {
535  if (fObject->exists(id) )
536  std::cerr << "HcalDbOnline::getObject-> Ignore data to redefine channel " << id.rawId() << std::endl;
537  else
538  {
539  HcalGain mygain(id,values[0],values[1],values[2],values[3]);
540  fObject->addValues (mygain);
541  }
542  }
543  if (fWidths) {
544  if (fWidths->exists(id) )
545  std::cerr << "HcalDbOnline::getObject-> Ignore data to redefine channel " << id.rawId() << std::endl;
546  else
547  {
548  HcalGainWidth mywid(id,values[0],values[1],values[2],values[3]);
549  fWidths->addValues(mywid);
550  }
551  }
552  }
553  delete rset;
554  }
555  catch (oracle::occi::SQLException& sqlExcp) {
556  std::cerr << "HcalDbOnline::getObject exception-> " << sqlExcp.getErrorCode () << ": " << sqlExcp.what () << std::endl;
557  }
558  // if (fObject) fObject->sort ();
559  // if (fWidths) fWidths->sort ();
560  return true;
561 }
int i
Definition: DBlmapReader.cc:9
T eta() const
oracle::occi::SQLException SQLException
Definition: HcalDbOmds.cc:22
float float float z
const bool exists(DetId fId) const
HcalSubdetector
Definition: HcalAssistant.h:32
oracle::occi::Statement * mStatement
Definition: HcalDbOnline.h:59
oracle::occi::ResultSet ResultSet
Definition: HcalDbOmds.cc:21
tuple cout
Definition: gather_cfg.py:121
bool addValues(const Item &myItem)
Definition: DDAxes.h:10
bool HcalDbOnline::getObject ( HcalGains fObject,
const std::string &  fTag,
IOVTime  fTime 
)

Definition at line 563 of file HcalDbOnline.cc.

References getObject().

563  {
564  return getObject (fObject, (HcalGainWidths*) 0, fTag, fTime);
565 }
bool getObject(HcalPedestals *fObject, HcalPedestalWidths *fWidths, const std::string &fTag, IOVTime fTime)
bool HcalDbOnline::getObject ( HcalPedestalWidths fObject,
const std::string &  fTag,
IOVTime  fTime 
)

Definition at line 492 of file HcalDbOnline.cc.

References getObject().

492  {
493  return getObject ((HcalPedestals*)0, fObject, fTag, fTime);
494 }
bool getObject(HcalPedestals *fObject, HcalPedestalWidths *fWidths, const std::string &fTag, IOVTime fTime)
bool HcalDbOnline::getObject ( HcalGainWidths fObject,
const std::string &  fTag,
IOVTime  fTime 
)

Definition at line 567 of file HcalDbOnline.cc.

References getObject().

567  {
568  return getObject ((HcalGains*) 0, fWidths, fTag, fTime);
569 }
bool getObject(HcalPedestals *fObject, HcalPedestalWidths *fWidths, const std::string &fTag, IOVTime fTime)
bool HcalDbOnline::getObject ( HcalElectronicsMap fObject,
const std::string &  fTag,
IOVTime  fTime 
)

Definition at line 60 of file HcalDbOnline.cc.

References dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, cond::rpcobgas::detid, eta(), getHLTprescales::index, HcalElectronicsMap::mapEId2chId(), mStatement, mVerbose, phi, HcalElectronicsId::setHTR(), HcalElectronicsMap::sort(), AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, and detailsBasic3DVector::z.

60  {
61  if (!fObject) return false;
62  std::string tag = fTag;
63  if (tag.empty()) {
64  tag = "9";
65  std::cout << "HcalDbOnline::getObject (HcalElectronicsMap*..)-> Using default tag: " << tag << std::endl;
66  }
67  std::string sql_query ("");
68  sql_query += "SELECT\n";
69  sql_query += " DAT2.SIDE, DAT2.ETA, DAT2.PHI, DAT2.DEPTH, DAT2.SUBDETECTOR,\n" ;
70  sql_query += " DAT2.CRATE, DAT2.HTR_SLOT, DAT2.HTR_FPGA, DAT2.DCC, DAT2.DCC_SPIGOT, DAT2.HTR_FIBER, DAT2.FIBER_CHANNEL \n" ;
71  sql_query += " FROM\n";
72  sql_query += " CMS_HCL_HCAL_CONDITION_OWNER.HCAL_HARDWARE_LOGICAL_MAPS DAT2,\n";
73  sql_query += " CMS_HCL_CORE_CONDITION_OWNER.COND_DATA_SETS DS2,\n";
74  sql_query += " CMS_HCL_CORE_CONDITION_OWNER.KINDS_OF_CONDITIONS KOC2\n";
75  sql_query += " WHERE\n";
76  sql_query += " DS2.CONDITION_DATA_SET_ID=DAT2.CONDITION_DATA_SET_ID\n";
77  sql_query += " AND KOC2.KIND_OF_CONDITION_ID=DS2.KIND_OF_CONDITION_ID \n";
78  sql_query += " AND KOC2.IS_RECORD_DELETED='F' AND DS2.IS_RECORD_DELETED='F' \n";
79  sql_query += " AND KOC2.EXTENSION_TABLE_NAME='HCAL_HARDWARE_LOGICAL_MAPS' \n";
80  sql_query += " AND DS2.VERSION='" + tag + "'\n";
81  try {
82  if (mVerbose) std::cout << "executing query: \n" << sql_query << std::endl;
83  // oracle::occi::Statement* stmt = mConnect->createStatement ();
84  mStatement->setPrefetchRowCount (100);
85  mStatement->setSQL (sql_query);
86  oracle::occi::ResultSet* rset = mStatement->executeQuery ();
87  while (rset->next ()) {
88  int index = 1;
89  int z = rset->getInt (index++) > 0 ? 1 : -1;
90  int eta = rset->getInt (index++);
91  int phi = rset->getInt (index++);
92  int depth = rset->getInt (index++);
93  std::string subdet = rset->getString (index++);
94  int crate = rset->getInt (index++);
95  int slot = rset->getInt (index++);
96  int fpga = rset->getInt (index++) > 0 ? 1 : 0;
97  int dcc = rset->getInt (index++);
98  int spigot = rset->getInt (index++);
99  int fiber = rset->getInt (index++);
100  int fiberChannel = rset->getInt (index++);
101 
102  HcalElectronicsId eid (fiberChannel, fiber, spigot, dcc);
103  eid.setHTR (crate, slot, fpga);
104 
105  HcalSubdetector sub = hcalSubdet (subdet);
106  HcalDetId id (sub, z * eta, phi, depth);
107 
108 // fObject->setMapping (id, eid, HcalTrigTowerDetId ());
109  DetId detid(id);
110  fObject->mapEId2chId (eid,detid);
111  }
112  delete rset;
113  // delete stmt;
114  }
115  catch (oracle::occi::SQLException& sqlExcp) {
116  std::cerr << "HcalDbOnline::getObject exception-> " << sqlExcp.getErrorCode () << ": " << sqlExcp.what () << std::endl;
117  }
118  fObject->sort ();
119  return true;
120 }
T eta() const
oracle::occi::SQLException SQLException
Definition: HcalDbOmds.cc:22
float float float z
HcalSubdetector
Definition: HcalAssistant.h:32
bool mapEId2chId(HcalElectronicsId fElectronicsId, DetId fId)
oracle::occi::Statement * mStatement
Definition: HcalDbOnline.h:59
Definition: DetId.h:20
oracle::occi::ResultSet ResultSet
Definition: HcalDbOmds.cc:21
tuple cout
Definition: gather_cfg.py:121
Readout chain identification for Hcal [31:26] Unused (so far) [25] Trigger-chain id flag [24:20] Read...
Definition: DDAxes.h:10
bool HcalDbOnline::getObject ( HcalQIEData fObject,
const std::string &  fTag,
IOVTime  fTime 
)

Definition at line 122 of file HcalDbOnline.cc.

References HcalQIEData::addCoder(), dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, eta(), i, getHLTprescales::index, mStatement, mVerbose, evf::evtn::offset(), phi, HcalQIECoder::setOffset(), HcalQIECoder::setSlope(), slope, HcalQIEData::sort(), AlCaHLTBitMon_QueryRunRegistry::string, and detailsBasic3DVector::z.

122  {
123  if (!fObject) return false;
124  std::string sql_what ("");
125  sql_what += " ADC_CH.SIDE, ADC_CH.ETA, ADC_CH.PHI, ADC_CH.DEPTH, ADC_CH.SUBDETECTOR,\n" ;
126  sql_what += " DAT.CAP0_RANGE0_OFFSET, DAT.CAP0_RANGE0_SLOPE,\n" ;
127  sql_what += " DAT.CAP0_RANGE1_OFFSET, DAT.CAP1_RANGE0_SLOPE,\n" ;
128  sql_what += " DAT.CAP0_RANGE2_OFFSET, DAT.CAP2_RANGE0_SLOPE,\n" ;
129  sql_what += " DAT.CAP0_RANGE3_OFFSET, DAT.CAP3_RANGE0_SLOPE,\n" ;
130  sql_what += " DAT.CAP1_RANGE0_OFFSET, DAT.CAP0_RANGE1_SLOPE,\n" ;
131  sql_what += " DAT.CAP1_RANGE1_OFFSET, DAT.CAP1_RANGE1_SLOPE,\n" ;
132  sql_what += " DAT.CAP1_RANGE2_OFFSET, DAT.CAP2_RANGE1_SLOPE,\n" ;
133  sql_what += " DAT.CAP1_RANGE3_OFFSET, DAT.CAP3_RANGE1_SLOPE,\n" ;
134  sql_what += " DAT.CAP2_RANGE0_OFFSET, DAT.CAP0_RANGE2_SLOPE,\n" ;
135  sql_what += " DAT.CAP2_RANGE1_OFFSET, DAT.CAP1_RANGE2_SLOPE,\n" ;
136  sql_what += " DAT.CAP2_RANGE2_OFFSET, DAT.CAP2_RANGE2_SLOPE,\n" ;
137  sql_what += " DAT.CAP2_RANGE3_OFFSET, DAT.CAP3_RANGE2_SLOPE,\n" ;
138  sql_what += " DAT.CAP3_RANGE0_OFFSET, DAT.CAP0_RANGE3_SLOPE,\n" ;
139  sql_what += " DAT.CAP3_RANGE1_OFFSET, DAT.CAP1_RANGE3_SLOPE,\n" ;
140  sql_what += " DAT.CAP3_RANGE2_OFFSET, DAT.CAP2_RANGE3_SLOPE,\n" ;
141  sql_what += " DAT.CAP3_RANGE3_OFFSET, DAT.CAP3_RANGE3_SLOPE \n" ;
142 
143  // HB/HE/HO
144  std::string sql_hbheho ("");
145  sql_hbheho += " FROM \n";
146  sql_hbheho += " CMS_HCL_HCAL_CONDITION_OWNER.QIECARD_ADC_NORMMODE DAT\n";
147  sql_hbheho += " inner join CMS_HCL_CORE_CONDITION_OWNER.COND_DATA_SETS DS\n";
148  sql_hbheho += " on DAT.CONDITION_DATA_SET_ID=DS.CONDITION_DATA_SET_ID\n";
149  sql_hbheho += " inner join \n";
150  sql_hbheho += " ( \n";
151  sql_hbheho += " select\n";
152  sql_hbheho += " LOGMAP.SIDE,\n";
153  sql_hbheho += " LOGMAP.ETA,\n";
154  sql_hbheho += " LOGMAP.PHI,\n";
155  sql_hbheho += " LOGMAP.DEPTH,\n";
156  sql_hbheho += " LOGMAP.SUBDETECTOR,\n";
157  sql_hbheho += " ADC_CHAIN.ADC_PART_ID\n";
158  sql_hbheho += " from\n";
159  sql_hbheho += " CMS_HCL_HCAL_CONDITION_OWNER.HCAL_HARDWARE_LOGICAL_MAPS_V2 LOGMAP\n";
160  sql_hbheho += " inner join CMS_HCL_CORE_CONDITION_OWNER.COND_DATA_SETS LOGMAP_DS\n";
161  sql_hbheho += " on LOGMAP_DS.CONDITION_DATA_SET_ID=LOGMAP.CONDITION_DATA_SET_ID\n";
162  sql_hbheho += " inner join\n";
163  sql_hbheho += " (\n";
164  sql_hbheho += " select ADC.PART_ID as ADC_PART_ID, \n";
165  sql_hbheho += " SLOT.NAME_LABEL as RBX_SLOT,\n";
166  sql_hbheho += " RM.RM_SLOT as RM_SLOT,\n";
167  sql_hbheho += " QIE.QIE_SLOT as QIE_SLOT,\n";
168  sql_hbheho += " ADC.ADC_POSITION as ADC\n";
169  sql_hbheho += " from CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_READOUTBOX_SLOTS SLOT\n";
170  sql_hbheho += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_READOUTBOXS RBX\n";
171  sql_hbheho += " on RBX.PART_PARENT_ID=SLOT.PART_ID\n";
172  sql_hbheho += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_READOUTMODULES RM\n";
173  sql_hbheho += " on RM.PART_PARENT_ID=RBX.PART_ID\n";
174  sql_hbheho += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_QIECARDS QIE\n";
175  sql_hbheho += " on QIE.PART_PARENT_ID=RM.PART_ID\n";
176  sql_hbheho += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_ADCS ADC\n";
177  sql_hbheho += " on ADC.PART_PARENT_ID=QIE.PART_ID \n";
178  sql_hbheho += " ) ADC_CHAIN\n";
179  sql_hbheho += " on ADC_CHAIN.RBX_SLOT = LOGMAP.RBX_SLOT and\n";
180  sql_hbheho += " ADC_CHAIN.RM_SLOT = LOGMAP.RM_SLOT and\n";
181  sql_hbheho += " ADC_CHAIN.QIE_SLOT = LOGMAP.QIE_SLOT and\n";
182  sql_hbheho += " ADC_CHAIN.ADC = LOGMAP.ADC\n";
183  sql_hbheho += " where LOGMAP_DS.VERSION='15'\n";
184  sql_hbheho += " ) ADC_CH\n";
185  sql_hbheho += " on DS.PART_ID=ADC_CH.ADC_PART_ID\n";
186  sql_hbheho += " where DS.VERSION='3'\n";
187 
188 
189  // HF
190  std::string sql_hf ("");
191  sql_hf += " FROM \n";
192  sql_hf += " CMS_HCL_HCAL_CONDITION_OWNER.QIECARD_ADC_NORMMODE DAT\n";
193  sql_hf += " inner join CMS_HCL_CORE_CONDITION_OWNER.COND_DATA_SETS DS\n";
194  sql_hf += " on DAT.CONDITION_DATA_SET_ID=DS.CONDITION_DATA_SET_ID\n";
195  sql_hf += " inner join \n";
196  sql_hf += " ( \n";
197  sql_hf += " select\n";
198  sql_hf += " LOGMAP.SIDE,\n";
199  sql_hf += " LOGMAP.ETA,\n";
200  sql_hf += " LOGMAP.PHI,\n";
201  sql_hf += " LOGMAP.DEPTH,\n";
202  sql_hf += " LOGMAP.SUBDETECTOR,\n";
203  sql_hf += " ADC_CHAIN.ADC_PART_ID\n";
204  sql_hf += " from\n";
205  sql_hf += " CMS_HCL_HCAL_CONDITION_OWNER.HCAL_HARDWARE_LOGICAL_MAPS_V2 LOGMAP\n";
206  sql_hf += " inner join CMS_HCL_CORE_CONDITION_OWNER.COND_DATA_SETS LOGMAP_DS\n";
207  sql_hf += " on LOGMAP_DS.CONDITION_DATA_SET_ID=LOGMAP.CONDITION_DATA_SET_ID\n";
208  sql_hf += " inner join\n";
209  sql_hf += " (\n";
210  sql_hf += " select ADC.PART_ID as ADC_PART_ID, \n";
211  sql_hf += " SLOT.NAME_LABEL as CRATE_SLOT,\n";
212  sql_hf += " QIE.QIE_SLOT as QIE_SLOT,\n";
213  sql_hf += " ADC.ADC_POSITION as ADC\n";
214  sql_hf += " from CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_WEDGE_SLOTS SLOT\n";
215  sql_hf += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_HF_FE_CRATE CR\n";
216  sql_hf += " on CR.PART_PARENT_ID=SLOT.PART_ID\n";
217  sql_hf += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_QIECARDS QIE\n";
218  sql_hf += " on QIE.PART_PARENT_ID=CR.PART_ID\n";
219  sql_hf += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_ADCS ADC\n";
220  sql_hf += " on ADC.PART_PARENT_ID=QIE.PART_ID \n";
221  sql_hf += " ) ADC_CHAIN\n";
222  sql_hf += " on ADC_CHAIN.CRATE_SLOT = LOGMAP.RBX_SLOT and\n";
223  sql_hf += " ADC_CHAIN.QIE_SLOT = LOGMAP.QIE_SLOT and\n";
224  sql_hf += " ADC_CHAIN.ADC = LOGMAP.ADC\n";
225  sql_hf += " where LOGMAP_DS.VERSION='15'\n";
226  sql_hf += " ) ADC_CH\n";
227  sql_hf += " on DS.PART_ID=ADC_CH.ADC_PART_ID\n";
228  sql_hf += " where DS.VERSION='3'\n";
229 
230  std::string sql_query [2];
231  sql_query [0] = " SELECT \n" + sql_what + sql_hbheho;
232  sql_query [1] = " SELECT \n" + sql_what + sql_hf;
233 
234  try {
235  for (int i = 0; i < 2; i++) {
236  if (mVerbose) std::cout << "executing query: \n" << sql_query[i] << std::endl;
237  mStatement->setPrefetchRowCount (100);
238  mStatement->setSQL (sql_query [i]);
239  oracle::occi::ResultSet* rset = mStatement->executeQuery ();
240  while (rset->next ()) {
241  int index = 1;
242  int z = rset->getInt (index++);
243  int eta = rset->getInt (index++);
244  int phi = rset->getInt (index++);
245  int depth = rset->getInt (index++);
246  std::string subdet = rset->getString (index++);
247  float offset [4][4];
248  float slope [4][4];
249  for (int capId = 0; capId < 4; capId++) {
250  for (int range = 0; range < 4; range++) {
251  offset [capId][range] = rset->getFloat (index++);
252  slope [capId][range] = rset->getFloat (index++);
253  }
254  }
255 
256  HcalSubdetector sub = hcalSubdet (subdet);
257  HcalDetId id (sub, z * eta, phi, depth);
258 
259  HcalQIECoder coder(id.rawId());
260  for (int capId = 0; capId < 4; capId++) {
261  for (int range = 0; range < 4; range++) {
262  coder.setOffset (capId, range, offset [capId][range]);
263  coder.setSlope (capId, range, slope [capId][range]);
264  }
265  }
266 
267  fObject->addCoder (coder);
268  }
269  delete rset;
270  }
271  }
272  catch (oracle::occi::SQLException& sqlExcp) {
273  std::cerr << "HcalDbOnline::getObject exception-> " << sqlExcp.getErrorCode () << ": " << sqlExcp.what () << std::endl;
274  }
275  fObject->sort ();
276  return true;
277 }
int i
Definition: DBlmapReader.cc:9
static const double slope[3]
T eta() const
bool addCoder(const HcalQIECoder &fCoder)
Definition: HcalQIEData.h:42
oracle::occi::SQLException SQLException
Definition: HcalDbOmds.cc:22
float float float z
HcalSubdetector
Definition: HcalAssistant.h:32
unsigned int offset(bool)
oracle::occi::Statement * mStatement
Definition: HcalDbOnline.h:59
void sort()
Definition: HcalQIEData.h:44
oracle::occi::ResultSet ResultSet
Definition: HcalDbOmds.cc:21
tuple cout
Definition: gather_cfg.py:121
Definition: DDAxes.h:10
bool HcalDbOnline::getObject ( HcalCalibrationQIEData fObject,
const std::string &  fTag,
IOVTime  fTime 
)

Definition at line 279 of file HcalDbOnline.cc.

References HcalCalibrationQIEData::addCoder(), newFWLiteAna::bin, dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, eta(), i, getHLTprescales::index, mStatement, mVerbose, phi, HcalCalibrationQIECoder::setMinCharges(), HcalCalibrationQIEData::sort(), AlCaHLTBitMon_QueryRunRegistry::string, makeHLTPrescaleTable::values, and detailsBasic3DVector::z.

279  {
280  if (!fObject) return false;
281  std::string sql_what ("");
282  sql_what += " ADC_CH.SIDE, ADC_CH.ETA, ADC_CH.PHI, ADC_CH.DEPTH, ADC_CH.SUBDETECTOR,\n" ;
283  sql_what += " DAT.BIN0, DAT.BIN1, DAT.BIN2, DAT.BIN3, DAT.BIN4, DAT.BIN5, DAT.BIN6, DAT.BIN7,\n";
284  sql_what += " DAT.BIN8, DAT.BIN9, DAT.BIN10, DAT.BIN11, DAT.BIN12, DAT.BIN13, DAT.BIN14, DAT.BIN15,\n";
285  sql_what += " DAT.BIN16, DAT.BIN17, DAT.BIN18, DAT.BIN19, DAT.BIN20, DAT.BIN21, DAT.BIN22, DAT.BIN23,\n";
286  sql_what += " DAT.BIN24, DAT.BIN25, DAT.BIN26, DAT.BIN27, DAT.BIN28, DAT.BIN29, DAT.BIN30, DAT.BIN31 \n";
287 
288  // HB/HE/HO
289  std::string sql_hbheho ("");
290  sql_hbheho += " FROM \n";
291  sql_hbheho += " CMS_HCL_HCAL_CONDITION_OWNER.QIECARD_ADC_CALIBMODE DAT\n";
292  sql_hbheho += " inner join CMS_HCL_CORE_CONDITION_OWNER.COND_DATA_SETS DS\n";
293  sql_hbheho += " on DAT.CONDITION_DATA_SET_ID=DS.CONDITION_DATA_SET_ID\n";
294  sql_hbheho += " inner join \n";
295  sql_hbheho += " ( \n";
296  sql_hbheho += " select\n";
297  sql_hbheho += " LOGMAP.SIDE,\n";
298  sql_hbheho += " LOGMAP.ETA,\n";
299  sql_hbheho += " LOGMAP.PHI,\n";
300  sql_hbheho += " LOGMAP.DEPTH,\n";
301  sql_hbheho += " LOGMAP.SUBDETECTOR,\n";
302  sql_hbheho += " ADC_CHAIN.ADC_PART_ID\n";
303  sql_hbheho += " from\n";
304  sql_hbheho += " CMS_HCL_HCAL_CONDITION_OWNER.HCAL_HARDWARE_LOGICAL_MAPS_V2 LOGMAP\n";
305  sql_hbheho += " inner join CMS_HCL_CORE_CONDITION_OWNER.COND_DATA_SETS LOGMAP_DS\n";
306  sql_hbheho += " on LOGMAP_DS.CONDITION_DATA_SET_ID=LOGMAP.CONDITION_DATA_SET_ID\n";
307  sql_hbheho += " inner join\n";
308  sql_hbheho += " (\n";
309  sql_hbheho += " select ADC.PART_ID as ADC_PART_ID, \n";
310  sql_hbheho += " SLOT.NAME_LABEL as RBX_SLOT,\n";
311  sql_hbheho += " RM.RM_SLOT as RM_SLOT,\n";
312  sql_hbheho += " QIE.QIE_SLOT as QIE_SLOT,\n";
313  sql_hbheho += " ADC.ADC_POSITION as ADC\n";
314  sql_hbheho += " from CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_READOUTBOX_SLOTS SLOT\n";
315  sql_hbheho += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_READOUTBOXS RBX\n";
316  sql_hbheho += " on RBX.PART_PARENT_ID=SLOT.PART_ID\n";
317  sql_hbheho += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_READOUTMODULES RM\n";
318  sql_hbheho += " on RM.PART_PARENT_ID=RBX.PART_ID\n";
319  sql_hbheho += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_QIECARDS QIE\n";
320  sql_hbheho += " on QIE.PART_PARENT_ID=RM.PART_ID\n";
321  sql_hbheho += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_ADCS ADC\n";
322  sql_hbheho += " on ADC.PART_PARENT_ID=QIE.PART_ID \n";
323  sql_hbheho += " ) ADC_CHAIN\n";
324  sql_hbheho += " on ADC_CHAIN.RBX_SLOT = LOGMAP.RBX_SLOT and\n";
325  sql_hbheho += " ADC_CHAIN.RM_SLOT = LOGMAP.RM_SLOT and\n";
326  sql_hbheho += " ADC_CHAIN.QIE_SLOT = LOGMAP.QIE_SLOT and\n";
327  sql_hbheho += " ADC_CHAIN.ADC = LOGMAP.ADC\n";
328  sql_hbheho += " where LOGMAP_DS.VERSION='15'\n";
329  sql_hbheho += " ) ADC_CH\n";
330  sql_hbheho += " on DS.PART_ID=ADC_CH.ADC_PART_ID\n";
331  sql_hbheho += " where DS.VERSION='3'\n";
332 
333 
334  // HF
335  std::string sql_hf ("");
336  sql_hf += " FROM \n";
337  sql_hf += " CMS_HCL_HCAL_CONDITION_OWNER.QIECARD_ADC_CALIBMODE DAT\n";
338  sql_hf += " inner join CMS_HCL_CORE_CONDITION_OWNER.COND_DATA_SETS DS\n";
339  sql_hf += " on DAT.CONDITION_DATA_SET_ID=DS.CONDITION_DATA_SET_ID\n";
340  sql_hf += " inner join \n";
341  sql_hf += " ( \n";
342  sql_hf += " select\n";
343  sql_hf += " LOGMAP.SIDE,\n";
344  sql_hf += " LOGMAP.ETA,\n";
345  sql_hf += " LOGMAP.PHI,\n";
346  sql_hf += " LOGMAP.DEPTH,\n";
347  sql_hf += " LOGMAP.SUBDETECTOR,\n";
348  sql_hf += " ADC_CHAIN.ADC_PART_ID\n";
349  sql_hf += " from\n";
350  sql_hf += " CMS_HCL_HCAL_CONDITION_OWNER.HCAL_HARDWARE_LOGICAL_MAPS_V2 LOGMAP\n";
351  sql_hf += " inner join CMS_HCL_CORE_CONDITION_OWNER.COND_DATA_SETS LOGMAP_DS\n";
352  sql_hf += " on LOGMAP_DS.CONDITION_DATA_SET_ID=LOGMAP.CONDITION_DATA_SET_ID\n";
353  sql_hf += " inner join\n";
354  sql_hf += " (\n";
355  sql_hf += " select ADC.PART_ID as ADC_PART_ID, \n";
356  sql_hf += " SLOT.NAME_LABEL as CRATE_SLOT,\n";
357  sql_hf += " QIE.QIE_SLOT as QIE_SLOT,\n";
358  sql_hf += " ADC.ADC_POSITION as ADC\n";
359  sql_hf += " from CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_WEDGE_SLOTS SLOT\n";
360  sql_hf += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_HF_FE_CRATE CR\n";
361  sql_hf += " on CR.PART_PARENT_ID=SLOT.PART_ID\n";
362  sql_hf += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_QIECARDS QIE\n";
363  sql_hf += " on QIE.PART_PARENT_ID=CR.PART_ID\n";
364  sql_hf += " inner join CMS_HCL_CORE_CONSTRUCT_OWNER.V_HCAL_ADCS ADC\n";
365  sql_hf += " on ADC.PART_PARENT_ID=QIE.PART_ID \n";
366  sql_hf += " ) ADC_CHAIN\n";
367  sql_hf += " on ADC_CHAIN.CRATE_SLOT = LOGMAP.RBX_SLOT and\n";
368  sql_hf += " ADC_CHAIN.QIE_SLOT = LOGMAP.QIE_SLOT and\n";
369  sql_hf += " ADC_CHAIN.ADC = LOGMAP.ADC\n";
370  sql_hf += " where LOGMAP_DS.VERSION='15'\n";
371  sql_hf += " ) ADC_CH\n";
372  sql_hf += " on DS.PART_ID=ADC_CH.ADC_PART_ID\n";
373  sql_hf += " where DS.VERSION='3'\n";
374 
375 
376  std::string sql_query [2];
377  sql_query [0] = " SELECT \n" + sql_what + sql_hbheho;
378  sql_query [1] = " SELECT \n" + sql_what + sql_hf;
379 
380  try {
381  for (int i = 0; i < 2; i++) {
382  if (mVerbose) std::cout << "executing query: \n" << sql_query [i] << std::endl;
383  // oracle::occi::Statement* stmt = mConnect->createStatement ();
384  mStatement->setPrefetchRowCount (100);
385  mStatement->setSQL (sql_query [i]);
386  oracle::occi::ResultSet* rset = mStatement->executeQuery ();
387  while (rset->next ()) {
388  int index = 1;
389  int z = rset->getInt (index++);
390  int eta = rset->getInt (index++);
391  int phi = rset->getInt (index++);
392  int depth = rset->getInt (index++);
393  std::string subdet = rset->getString (index++);
394  float values [32];
395  for (unsigned bin = 0; bin < 32; bin++) values [bin] = rset->getFloat (index++);
396 
397  HcalSubdetector sub = hcalSubdet (subdet);
398  HcalDetId id (sub, z * eta, phi, depth);
399 
400  HcalCalibrationQIECoder coder(id.rawId());
401  coder.setMinCharges (values);
402 
403  fObject->addCoder (coder);
404  }
405  delete rset;
406  }
407  // delete stmt;
408  }
409  catch (oracle::occi::SQLException& sqlExcp) {
410  std::cerr << "HcalDbOnline::getObject exception-> " << sqlExcp.getErrorCode () << ": " << sqlExcp.what () << std::endl;
411  }
412  fObject->sort ();
413  return true;
414 }
int i
Definition: DBlmapReader.cc:9
T eta() const
oracle::occi::SQLException SQLException
Definition: HcalDbOmds.cc:22
float float float z
HcalSubdetector
Definition: HcalAssistant.h:32
oracle::occi::Statement * mStatement
Definition: HcalDbOnline.h:59
oracle::occi::ResultSet ResultSet
Definition: HcalDbOmds.cc:21
tuple cout
Definition: gather_cfg.py:121
bool addCoder(const HcalCalibrationQIECoder &fCoder)
Definition: DDAxes.h:10
template<class T >
bool HcalDbOnline::getObjectGeneric ( T fObject,
const std::string &  fTag 
)
private
std::vector< std::string > HcalDbOnline::metadataAllTags ( )

Definition at line 571 of file HcalDbOnline.cc.

References dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, mStatement, mVerbose, query::result, AlCaHLTBitMon_QueryRunRegistry::string, and GlobalPosition_Frontier_DevDB_cff::tag.

Referenced by printTags().

571  {
572  std::vector<std::string> result;
573  std::string sql_query ("");
574  sql_query += "SELECT unique TAG_NAME from V_TAG_IOV_CONDDATASET order by TAG_NAME\n";
575  try {
576  if (mVerbose) std::cout << "executing query: \n" << sql_query << std::endl;
577  mStatement->setPrefetchRowCount (100);
578  mStatement->setSQL (sql_query);
579  oracle::occi::ResultSet* rset = mStatement->executeQuery ();
580  while (rset->next ()) {
581  std::string tag = rset->getString (1);
582  result.push_back (tag);
583  }
584  }
585  catch (oracle::occi::SQLException& sqlExcp) {
586  std::cerr << "HcalDbOnline::metadataAllTags exception-> " << sqlExcp.getErrorCode () << ": " << sqlExcp.what () << std::endl;
587  }
588  return result;
589 }
oracle::occi::SQLException SQLException
Definition: HcalDbOmds.cc:22
tuple result
Definition: query.py:137
oracle::occi::Statement * mStatement
Definition: HcalDbOnline.h:59
oracle::occi::ResultSet ResultSet
Definition: HcalDbOmds.cc:21
tuple cout
Definition: gather_cfg.py:121

Member Data Documentation

oracle::occi::Connection* HcalDbOnline::mConnect
private

Definition at line 58 of file HcalDbOnline.h.

Referenced by HcalDbOnline(), and ~HcalDbOnline().

oracle::occi::Environment* HcalDbOnline::mEnvironment
private

Definition at line 57 of file HcalDbOnline.h.

Referenced by HcalDbOnline(), and ~HcalDbOnline().

oracle::occi::Statement* HcalDbOnline::mStatement
private

Definition at line 59 of file HcalDbOnline.h.

Referenced by getIOVs(), getObject(), HcalDbOnline(), metadataAllTags(), and ~HcalDbOnline().

bool HcalDbOnline::mVerbose
private

Definition at line 61 of file HcalDbOnline.h.

Referenced by getIOVs(), getObject(), and metadataAllTags().