CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
MonMemTTConsistencyDat Class Reference

#include <MonMemTTConsistencyDat.h>

Inheritance diagram for MonMemTTConsistencyDat:
IDataItem IDBObject

Public Member Functions

int getProblematicEvents () const
 
int getProblemsBunchX () const
 
int getProblemsID () const
 
int getProblemsLV1 () const
 
int getProblemsSize () const
 
int getProcessedEvents () const
 
std::string getTable () override
 
bool getTaskStatus () const
 
 MonMemTTConsistencyDat ()
 
void setProblematicEvents (int prob)
 
void setProblemsBunchX (int bunchX)
 
void setProblemsID (int id)
 
void setProblemsLV1 (int LV1)
 
void setProblemsSize (int size)
 
void setProcessedEvents (int proc)
 
void setTaskStatus (bool status)
 
 ~MonMemTTConsistencyDat () override
 
- Public Member Functions inherited from IDataItem
 IDataItem ()
 
- Public Member Functions inherited from IDBObject
oracle::occi::Connection * getConn () const
 
oracle::occi::Environment * getEnv () const
 
void setConnection (oracle::occi::Environment *env, oracle::occi::Connection *conn)
 
virtual ~IDBObject ()
 

Private Member Functions

void fetchData (std::map< EcalLogicID, MonMemTTConsistencyDat > *fillVec, MonRunIOV *iov) noexcept(false)
 
void prepareWrite () noexcept(false) override
 
void writeArrayDB (const std::map< EcalLogicID, MonMemTTConsistencyDat > *data, MonRunIOV *iov) noexcept(false)
 
void writeDB (const EcalLogicID *ecid, const MonMemTTConsistencyDat *item, MonRunIOV *iov) noexcept(false)
 

Private Attributes

int m_problematicEvents
 
int m_problemsBunchX
 
int m_problemsID
 
int m_problemsLV1
 
int m_problemsSize
 
int m_processedEvents
 
bool m_taskStatus
 

Friends

class EcalCondDBInterface
 

Additional Inherited Members

- Static Public Attributes inherited from IDBObject
static int const ECALDB_NROWS =1024
 
- Protected Member Functions inherited from IDataItem
void checkPrepare () noexcept(false)
 
void createReadStatement () noexcept(false)
 
void setPrefetchRowCount (int ncount) noexcept(false)
 
void terminateReadStatement () noexcept(false)
 
void terminateWriteStatement () noexcept(false)
 
- Protected Member Functions inherited from IDBObject
void checkConnection () const noexcept(false)
 
- Protected Attributes inherited from IDataItem
oracle::occi::Statement * m_readStmt
 
oracle::occi::Statement * m_writeStmt
 
- Protected Attributes inherited from IDBObject
oracle::occi::Connection * m_conn
 
oracle::occi::Environment * m_env
 

Detailed Description

Definition at line 12 of file MonMemTTConsistencyDat.h.

Constructor & Destructor Documentation

MonMemTTConsistencyDat::MonMemTTConsistencyDat ( )

Definition at line 10 of file MonMemTTConsistencyDat.cc.

11 {
12  m_env = nullptr;
13  m_conn = nullptr;
14  m_writeStmt = nullptr;
15  m_readStmt = nullptr;
16 
19  m_problemsID = 0;
20  m_problemsSize = 0;
21  m_problemsLV1 = 0;
22  m_problemsBunchX = 0;
23  m_taskStatus = false;
24 }
oracle::occi::Environment * m_env
Definition: IDBObject.h:38
oracle::occi::Statement * m_writeStmt
Definition: IDataItem.h:28
oracle::occi::Connection * m_conn
Definition: IDBObject.h:39
oracle::occi::Statement * m_readStmt
Definition: IDataItem.h:29
MonMemTTConsistencyDat::~MonMemTTConsistencyDat ( )
override

Definition at line 28 of file MonMemTTConsistencyDat.cc.

29 {
30 }

Member Function Documentation

void MonMemTTConsistencyDat::fetchData ( std::map< EcalLogicID, MonMemTTConsistencyDat > *  fillVec,
MonRunIOV iov 
)
privatenoexcept

Definition at line 83 of file MonMemTTConsistencyDat.cc.

References MillePedeFileConverter_cfg::e, AlCaHLTBitMon_ParallelJobs::p, setProblematicEvents(), setProblemsBunchX(), setProblemsID(), setProblemsLV1(), setProblemsSize(), setProcessedEvents(), and setTaskStatus().

Referenced by getTaskStatus().

85 {
86  this->checkConnection();
87  fillMap->clear();
88 
89  iov->setConnection(m_env, m_conn);
90  int iovID = iov->fetchID();
91  if (!iovID) {
92  // throw(std::runtime_error("MonMemTTConsistencyDat::writeDB: IOV not in DB"));
93  return;
94  }
95 
96  try {
97 
98  m_readStmt->setSQL("SELECT cv.name, cv.logic_id, cv.id1, cv.id2, cv.id3, cv.maps_to, "
99  "d.processed_events, d.problematic_events, d.problems_id, d.problems_size, d.problems_LV1, d.problems_bunch_X, d.task_status "
100  "FROM channelview cv JOIN mon_mem_tt_consistency_dat d "
101  "ON cv.logic_id = d.logic_id AND cv.name = cv.maps_to "
102  "WHERE d.iov_id = :iov_id");
103  m_readStmt->setInt(1, iovID);
104  ResultSet* rset = m_readStmt->executeQuery();
105 
106  std::pair< EcalLogicID, MonMemTTConsistencyDat > p;
108  while(rset->next()) {
109  p.first = EcalLogicID( rset->getString(1), // name
110  rset->getInt(2), // logic_id
111  rset->getInt(3), // id1
112  rset->getInt(4), // id2
113  rset->getInt(5), // id3
114  rset->getString(6)); // maps_to
115 
116  dat.setProcessedEvents( rset->getInt(7) );
117  dat.setProblematicEvents( rset->getInt(8) );
118  dat.setProblemsID( rset->getInt(9) );
119  dat.setProblemsSize( rset->getInt(10) );
120  dat.setProblemsLV1( rset->getInt(11) );
121  dat.setProblemsBunchX( rset->getInt(12) );
122  dat.setTaskStatus( rset->getInt(13) );
123 
124  p.second = dat;
125  fillMap->insert(p);
126  }
127  } catch (SQLException &e) {
128  throw(std::runtime_error("MonMemTTConsistencyDat::fetchData(): "+e.getMessage()));
129  }
130 }
oracle::occi::Environment * m_env
Definition: IDBObject.h:38
oracle::occi::Connection * m_conn
Definition: IDBObject.h:39
int fetchID() noexcept(false) override
Definition: MonRunIOV.cc:118
void setProblemsBunchX(int bunchX)
void checkConnection() const noexcept(false)
Definition: IDBObject.h:41
oracle::occi::Statement * m_readStmt
Definition: IDataItem.h:29
void setTaskStatus(bool status)
void setConnection(oracle::occi::Environment *env, oracle::occi::Connection *conn)
Definition: IDBObject.h:23
int MonMemTTConsistencyDat::getProblematicEvents ( ) const
inline

Definition at line 25 of file MonMemTTConsistencyDat.h.

References m_problematicEvents.

Referenced by writeArrayDB().

int MonMemTTConsistencyDat::getProblemsBunchX ( ) const
inline

Definition at line 37 of file MonMemTTConsistencyDat.h.

References m_problemsBunchX.

Referenced by writeArrayDB().

int MonMemTTConsistencyDat::getProblemsID ( ) const
inline

Definition at line 28 of file MonMemTTConsistencyDat.h.

References m_problemsID.

Referenced by writeArrayDB().

int MonMemTTConsistencyDat::getProblemsLV1 ( ) const
inline

Definition at line 34 of file MonMemTTConsistencyDat.h.

References m_problemsLV1.

Referenced by writeArrayDB().

int MonMemTTConsistencyDat::getProblemsSize ( ) const
inline

Definition at line 31 of file MonMemTTConsistencyDat.h.

References m_problemsSize.

Referenced by writeArrayDB().

int MonMemTTConsistencyDat::getProcessedEvents ( ) const
inline

Definition at line 22 of file MonMemTTConsistencyDat.h.

References m_processedEvents.

Referenced by writeArrayDB().

std::string MonMemTTConsistencyDat::getTable ( )
inlineoverridevirtual

Implements IDataItem.

Definition at line 19 of file MonMemTTConsistencyDat.h.

19 { return "MON_MEM_TT_CONSISTENCY_DAT"; }
bool MonMemTTConsistencyDat::getTaskStatus ( ) const
inline
void MonMemTTConsistencyDat::prepareWrite ( )
overrideprivatevirtualnoexcept

Implements IDataItem.

Definition at line 34 of file MonMemTTConsistencyDat.cc.

References MillePedeFileConverter_cfg::e.

Referenced by getTaskStatus().

36 {
37  this->checkConnection();
38 
39  try {
40  m_writeStmt = m_conn->createStatement();
41  m_writeStmt->setSQL("INSERT INTO mon_mem_tt_consistency_dat (iov_id, logic_id, "
42  "processed_events, problematic_events, problems_id, problems_size, problems_LV1, problems_bunch_X, task_status) "
43  "VALUES (:iov_id, :logic_id, "
44  ":3, :4, :5, :6, :7, :8, :9)");
45  } catch (SQLException &e) {
46  throw(std::runtime_error("MonMemTTConsistencyDat::prepareWrite(): "+e.getMessage()));
47  }
48 }
oracle::occi::Statement * m_writeStmt
Definition: IDataItem.h:28
oracle::occi::Connection * m_conn
Definition: IDBObject.h:39
void checkConnection() const noexcept(false)
Definition: IDBObject.h:41
void MonMemTTConsistencyDat::setProblematicEvents ( int  prob)
inline
void MonMemTTConsistencyDat::setProblemsBunchX ( int  bunchX)
inline

Definition at line 36 of file MonMemTTConsistencyDat.h.

References m_problemsBunchX.

Referenced by fetchData().

void MonMemTTConsistencyDat::setProblemsID ( int  id)
inline
void MonMemTTConsistencyDat::setProblemsLV1 ( int  LV1)
inline

Definition at line 33 of file MonMemTTConsistencyDat.h.

References m_problemsLV1.

Referenced by fetchData().

void MonMemTTConsistencyDat::setProblemsSize ( int  size)
inline
void MonMemTTConsistencyDat::setProcessedEvents ( int  proc)
inline

Definition at line 21 of file MonMemTTConsistencyDat.h.

References m_processedEvents, and proc.

Referenced by fetchData(), and ecaldqm::IntegrityWriter::run().

TrainProcessor *const proc
Definition: MVATrainer.cc:101
void MonMemTTConsistencyDat::setTaskStatus ( bool  status)
inline
void MonMemTTConsistencyDat::writeArrayDB ( const std::map< EcalLogicID, MonMemTTConsistencyDat > *  data,
MonRunIOV iov 
)
privatenoexcept

Definition at line 132 of file MonMemTTConsistencyDat.cc.

References KineDebug3::count(), data, MillePedeFileConverter_cfg::e, EcalLogicID::getLogicID(), getProblematicEvents(), getProblemsBunchX(), getProblemsID(), getProblemsLV1(), getProblemsSize(), getProcessedEvents(), getTaskStatus(), AlCaHLTBitMon_ParallelJobs::p, lumiQTWidget::t, groupFilesInBlocks::tt, w, x, geometryCSVtoXML::xx, y, geometryCSVtoXML::yy, z, and geometryCSVtoXML::zz.

Referenced by getTaskStatus().

134 {
135  this->checkConnection();
136  this->checkPrepare();
137 
138  int iovID = iov->fetchID();
139  if (!iovID) { throw(std::runtime_error("MonMemTTConsistencyDat::writeArrayDB: IOV not in DB")); }
140 
141 
142  int nrows=data->size();
143  int* ids= new int[nrows];
144  int* iovid_vec= new int[nrows];
145  int* xx= new int[nrows];
146  int* yy= new int[nrows];
147  int* zz= new int[nrows];
148  int* ww= new int[nrows];
149  int* uu= new int[nrows];
150  int* tt= new int[nrows];
151  int* st= new int[nrows];
152 
153  ub2* ids_len= new ub2[nrows];
154  ub2* iov_len= new ub2[nrows];
155  ub2* x_len= new ub2[nrows];
156  ub2* y_len= new ub2[nrows];
157  ub2* z_len= new ub2[nrows];
158  ub2* w_len= new ub2[nrows];
159  ub2* u_len= new ub2[nrows];
160  ub2* t_len= new ub2[nrows];
161  ub2* st_len= new ub2[nrows];
162 
163  const EcalLogicID* channel;
164  const MonMemTTConsistencyDat* dataitem;
165  int count=0;
166  typedef map< EcalLogicID, MonMemTTConsistencyDat >::const_iterator CI;
167  for (CI p = data->begin(); p != data->end(); ++p) {
168  channel = &(p->first);
169  int logicID = channel->getLogicID();
170  if (!logicID) { throw(std::runtime_error("MonMemTTConsistencyDat::writeArrayDB: Bad EcalLogicID")); }
171  ids[count]=logicID;
172  iovid_vec[count]=iovID;
173 
174  dataitem = &(p->second);
175  // dataIface.writeDB( channel, dataitem, iov);
176  int x=dataitem->getProcessedEvents();
177  int y=dataitem->getProblematicEvents();
178  int z=dataitem->getProblemsID();
179  int w=dataitem->getProblemsSize();
180  int u=dataitem->getProblemsLV1();
181  int t=dataitem->getProblemsBunchX();
182  int statu=dataitem->getTaskStatus();
183 
184 
185 
186 
187  xx[count]=x;
188  yy[count]=y;
189  zz[count]=z;
190  ww[count]=w;
191  uu[count]=u;
192  tt[count]=t;
193  st[count]=statu;
194 
195 
196  ids_len[count]=sizeof(ids[count]);
197  iov_len[count]=sizeof(iovid_vec[count]);
198 
199  x_len[count]=sizeof(xx[count]);
200  y_len[count]=sizeof(yy[count]);
201  z_len[count]=sizeof(zz[count]);
202  w_len[count]=sizeof(ww[count]);
203  u_len[count]=sizeof(uu[count]);
204  t_len[count]=sizeof(tt[count]);
205  st_len[count]=sizeof(st[count]);
206 
207  count++;
208  }
209 
210 
211  try {
212  m_writeStmt->setDataBuffer(1, (dvoid*)iovid_vec, OCCIINT, sizeof(iovid_vec[0]),iov_len);
213  m_writeStmt->setDataBuffer(2, (dvoid*)ids, OCCIINT, sizeof(ids[0]), ids_len );
214  m_writeStmt->setDataBuffer(3, (dvoid*)xx, OCCIINT , sizeof(xx[0]), x_len );
215  m_writeStmt->setDataBuffer(4, (dvoid*)yy, OCCIINT , sizeof(yy[0]), y_len );
216  m_writeStmt->setDataBuffer(5, (dvoid*)zz, OCCIINT , sizeof(zz[0]), z_len );
217  m_writeStmt->setDataBuffer(6, (dvoid*)ww, OCCIINT , sizeof(ww[0]), w_len );
218  m_writeStmt->setDataBuffer(7, (dvoid*)uu, OCCIINT , sizeof(uu[0]), u_len );
219  m_writeStmt->setDataBuffer(8, (dvoid*)tt, OCCIINT , sizeof(tt[0]), t_len );
220  m_writeStmt->setDataBuffer(9, (dvoid*)st, OCCIINT , sizeof(st[0]), st_len );
221 
222 
223  m_writeStmt->executeArrayUpdate(nrows);
224 
225  delete [] ids;
226  delete [] iovid_vec;
227  delete [] xx;
228  delete [] yy;
229  delete [] zz;
230  delete [] ww;
231  delete [] uu;
232  delete [] tt;
233  delete [] st;
234 
235  delete [] ids_len;
236  delete [] iov_len;
237  delete [] x_len;
238  delete [] y_len;
239  delete [] z_len;
240  delete [] w_len;
241  delete [] u_len;
242  delete [] t_len;
243  delete [] st_len;
244 
245 
246 
247  } catch (SQLException &e) {
248  throw(std::runtime_error("MonMemTTConsistencyDat::writeArrayDB(): "+e.getMessage()));
249  }
250 }
oracle::occi::Statement * m_writeStmt
Definition: IDataItem.h:28
const double w
Definition: UKUtility.cc:23
void checkPrepare() noexcept(false)
Definition: IDataItem.h:31
int fetchID() noexcept(false) override
Definition: MonRunIOV.cc:118
void checkConnection() const noexcept(false)
Definition: IDBObject.h:41
int getLogicID() const
Definition: EcalLogicID.cc:41
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void MonMemTTConsistencyDat::writeDB ( const EcalLogicID ecid,
const MonMemTTConsistencyDat item,
MonRunIOV iov 
)
privatenoexcept

Definition at line 52 of file MonMemTTConsistencyDat.cc.

References MillePedeFileConverter_cfg::e.

Referenced by getTaskStatus().

54 {
55  this->checkConnection();
56  this->checkPrepare();
57 
58  int iovID = iov->fetchID();
59  if (!iovID) { throw(std::runtime_error("MonMemTTConsistencyDat::writeDB: IOV not in DB")); }
60 
61  int logicID = ecid->getLogicID();
62  if (!logicID) { throw(std::runtime_error("MonMemTTConsistencyDat::writeDB: Bad EcalLogicID")); }
63 
64  try {
65  m_writeStmt->setInt(1, iovID);
66  m_writeStmt->setInt(2, logicID);
67 
68  m_writeStmt->setInt(3, item->getProcessedEvents() );
69  m_writeStmt->setInt(4, item->getProblematicEvents() );
70  m_writeStmt->setInt(5, item->getProblemsID() );
71  m_writeStmt->setInt(6, item->getProblemsSize() );
72  m_writeStmt->setInt(7, item->getProblemsLV1() );
73  m_writeStmt->setInt(8, item->getProblemsBunchX() );
74  m_writeStmt->setInt(9, item->getTaskStatus() );
75  m_writeStmt->executeUpdate();
76  } catch (SQLException &e) {
77  throw(std::runtime_error("MonMemTTConsistencyDat::writeDB(): "+e.getMessage()));
78  }
79 }
oracle::occi::Statement * m_writeStmt
Definition: IDataItem.h:28
void checkPrepare() noexcept(false)
Definition: IDataItem.h:31
int fetchID() noexcept(false) override
Definition: MonRunIOV.cc:118
void checkConnection() const noexcept(false)
Definition: IDBObject.h:41
int getLogicID() const
Definition: EcalLogicID.cc:41

Friends And Related Function Documentation

friend class EcalCondDBInterface
friend

Definition at line 14 of file MonMemTTConsistencyDat.h.

Member Data Documentation

int MonMemTTConsistencyDat::m_problematicEvents
private

Definition at line 58 of file MonMemTTConsistencyDat.h.

Referenced by getProblematicEvents(), and setProblematicEvents().

int MonMemTTConsistencyDat::m_problemsBunchX
private

Definition at line 62 of file MonMemTTConsistencyDat.h.

Referenced by getProblemsBunchX(), and setProblemsBunchX().

int MonMemTTConsistencyDat::m_problemsID
private

Definition at line 59 of file MonMemTTConsistencyDat.h.

Referenced by getProblemsID(), and setProblemsID().

int MonMemTTConsistencyDat::m_problemsLV1
private

Definition at line 61 of file MonMemTTConsistencyDat.h.

Referenced by getProblemsLV1(), and setProblemsLV1().

int MonMemTTConsistencyDat::m_problemsSize
private

Definition at line 60 of file MonMemTTConsistencyDat.h.

Referenced by getProblemsSize(), and setProblemsSize().

int MonMemTTConsistencyDat::m_processedEvents
private

Definition at line 57 of file MonMemTTConsistencyDat.h.

Referenced by getProcessedEvents(), and setProcessedEvents().

bool MonMemTTConsistencyDat::m_taskStatus
private

Definition at line 63 of file MonMemTTConsistencyDat.h.

Referenced by getTaskStatus(), and setTaskStatus().