CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalTPGDBApp.cc
Go to the documentation of this file.
2 
3 #include <vector>
4 #include <time.h>
5 
6 using namespace std;
7 using namespace oracle::occi;
8 
9 EcalTPGDBApp::EcalTPGDBApp(string host, string sid, string user, string pass, int port)
10  : EcalCondDBInterface( host, sid, user, pass, port )
11 {}
12 
13 EcalTPGDBApp::EcalTPGDBApp(string sid, string user, string pass)
14  : EcalCondDBInterface( sid, user, pass )
15 {}
16 
17 int EcalTPGDBApp::writeToConfDB_TPGPedestals(const map<EcalLogicID, FEConfigPedDat> & pedset, int iovId, string tag) {
18 
19  int result=0;
20 
21  cout << "*****************************************" << endl;
22  cout << "******** Inserting Peds in conf-OMDS*****" << endl;
23  cout << "*****************************************" << endl;
24 
25  cout << "creating fe record " <<endl;
26  FEConfigPedInfo fe_ped_info ;
27  fe_ped_info.setIOVId(iovId) ;
28  fe_ped_info.setConfigTag(tag) ;
29  insertConfigSet(&fe_ped_info) ;
30  result = fe_ped_info.getID() ;
31 
32 
33  // Insert the dataset, identifying by iov
34  cout << "*********about to insert peds *********" << endl;
35  cout << " map size = "<<pedset.size()<<endl ;
36  insertDataArraySet(&pedset, &fe_ped_info);
37  cout << "*********Done peds *********" << endl;
38 
39  return result;
40 }
41 
42 int EcalTPGDBApp::writeToConfDB_TPGLinearCoef(const map<EcalLogicID, FEConfigLinDat> & linset,
43  const map<EcalLogicID, FEConfigLinParamDat> & linparamset, int iovId, string tag) {
44 
45  int result=0;
46 
47  cout << "*********************************************" << endl;
48  cout << "**Inserting Linarization coeff in conf-OMDS**" << endl;
49  cout << "*********************************************" << endl;
50 
51  cout << "creating fe record " <<endl;
52  FEConfigLinInfo fe_lin_info ;
53  fe_lin_info.setIOVId(iovId) ;
54  fe_lin_info.setConfigTag(tag) ;
55  insertConfigSet(&fe_lin_info) ;
56  result = fe_lin_info.getID() ;
57 
58  // Insert the dataset, identifying by iov
59  cout << "*********about to insert linearization coeff *********" << endl;
60  cout << " map size = "<<linset.size()<<endl ;
61  insertDataArraySet(&linset, &fe_lin_info);
62  insertDataArraySet(&linparamset, &fe_lin_info);
63  cout << "*********Done lineraization coeff *********" << endl;
64 
65  return result;
66 }
67 
68 int EcalTPGDBApp::writeToConfDB_TPGMain(int ped, int lin, int lut, int fgr, int sli, int wei, int spi, int tim, int bxt, int btt, int bst, string tag, int ver) {
69 
70  int result=0;
71 
72  cout << "*********************************************" << endl;
73  cout << "**Inserting Main FE table in conf-OMDS **" << endl;
74  cout << "*********************************************" << endl;
75 
76  cout << "creating fe record " <<endl;
77 
78  FEConfigMainInfo fe_main ;
79  fe_main.setPedId(ped) ;
80  fe_main.setLinId(lin) ;
81  fe_main.setLUTId(lut) ;
82  fe_main.setFgrId(fgr) ;
83  fe_main.setSliId(sli) ;
84  fe_main.setWeiId(wei) ;
85  fe_main.setSpiId(spi) ;
86  fe_main.setTimId(tim) ;
87  fe_main.setBxtId(bxt) ;
88  fe_main.setBttId(btt) ;
89  fe_main.setBstId(bst) ;
90  fe_main.setConfigTag(tag) ;
91  fe_main.setVersion(ver) ;
92 
93  insertConfigSet(&fe_main) ;
94  result = fe_main.getId() ;
95 
96  cout << "*********Done Main *********" << endl;
97 
98  return result;
99 }
100 
101 
103  // now we do something else
104  // this is an example for reading the pedestals
105  // for a given config iconf_req
106 
107  // FC alternatively a config set can be retrieved by the tag and version
108 
109  cout << "*****************************************" << endl;
110  cout << "test readinf fe_ped with id="<<iconf_req << endl;
111  cout << "*****************************************" << endl;
112 
113  FEConfigPedInfo fe_ped_info;
114  fe_ped_info.setId(iconf_req);
115 
116  fetchConfigSet(&fe_ped_info);
117 
118  map<EcalLogicID, FEConfigPedDat> dataset_ped;
119  fetchDataSet(&dataset_ped, &fe_ped_info);
120 
121  typedef map<EcalLogicID, FEConfigPedDat>::const_iterator CIfeped;
122  EcalLogicID ecid_xt;
123  FEConfigPedDat rd_ped;
124 
125  for (CIfeped p = dataset_ped.begin(); p != dataset_ped.end(); ++p) {
126  ecid_xt = p->first;
127  rd_ped = p->second;
128  //int sm_num=ecid_xt.getID1();
129  ecid_xt.getID2();
130  rd_ped.getPedMeanG12();
131  rd_ped.getPedMeanG6();
132  rd_ped.getPedMeanG1();
133  }
134 
135  cout << "*****************************************" << endl;
136  cout << "test read done"<<iconf_req << endl;
137  cout << "*****************************************" << endl;
138 
139 }
140 
141 
142 int EcalTPGDBApp::readFromCondDB_Pedestals(map<EcalLogicID, MonPedestalsDat> & dataset, int runNb) {
143 
144 
145  int iovId = 0 ;
146 
147  cout << "Retrieving run list from DB from run nb ... "<< runNb << endl;
148  RunTag my_runtag;
149  LocationDef my_locdef;
150  RunTypeDef my_rundef;
151  my_locdef.setLocation("P5_Co");
152  my_rundef.setRunType("PEDESTAL");
153  my_runtag.setLocationDef(my_locdef);
154  my_runtag.setRunTypeDef(my_rundef);
155  my_runtag.setGeneralTag("LOCAL");
156 
157  // here we retrieve the Monitoring results
158  MonVersionDef monverdef;
159  monverdef.setMonitoringVersion("test01");
160  MonRunTag montag;
161  montag.setMonVersionDef(monverdef);
162  montag.setGeneralTag("CMSSW");
163 
164  MonRunList mon_list;
165  mon_list.setMonRunTag(montag);
166  mon_list.setRunTag(my_runtag);
167 
168  std::cout<<"we are in read ped from condDB and runNb is "<< runNb<<endl;
169 
170  mon_list = fetchMonRunListLastNRuns(my_runtag, montag, runNb , 10 );
171 
172  std::cout<<"we are in read ped from condDB"<<endl;
173 
174  std::vector<MonRunIOV> mon_run_vec = mon_list.getRuns();
175  cout <<"number of ped runs is : "<< mon_run_vec.size()<< endl;
176  int mon_runs = mon_run_vec.size();
177  //int sm_num = 0;
178 
179  if(mon_runs>0) {
180  for (int ii=0 ; ii<(int)mon_run_vec.size(); ii++) cout << "here is the run number: "<< mon_run_vec[ii].getRunIOV().getRunNumber() << endl;
181 
182  // for the first run of the list we retrieve the pedestals
183  int run=0;
184  cout <<" retrieve the data for a given run"<< endl;
185  cout << "here is the run number: "<< mon_run_vec[run].getRunIOV().getRunNumber() << endl;
186  iovId = mon_run_vec[run].getID();
187 
188  fetchDataSet(&dataset, &mon_run_vec[run]) ;
189  }
190  return iovId ;
191 }
192 
193 
194 int EcalTPGDBApp::writeToConfDB_TPGSliding(const map<EcalLogicID, FEConfigSlidingDat> & sliset, int iovId, string tag)
195 {
196  cout << "*****************************************" << endl;
197  cout << "************Inserting SLIDING************" << endl;
198  cout << "*****************************************" << endl;
199  int result=0;
200 
201  FEConfigSlidingInfo fe_info ;
202  fe_info.setIOVId(iovId);
203  fe_info.setConfigTag(tag);
204  insertConfigSet(&fe_info);
205 
206  // Tm tdb = fe_lut_info.getDBTime();
207  //tdb.dumpTm();
208 
209  // Insert the dataset
210  insertDataArraySet(&sliset, &fe_info);
211 
212  result=fe_info.getId();
213 
214  cout << "*****************************************" << endl;
215  cout << "************SLI done*********************" << endl;
216  cout << "*****************************************" << endl;
217  return result;
218 
219 }
220 
221 
222 int EcalTPGDBApp::writeToConfDB_TPGLUT(const map<EcalLogicID, FEConfigLUTGroupDat> & lutgroupset,
223  const map<EcalLogicID, FEConfigLUTDat> & lutset,
224  const map<EcalLogicID, FEConfigLUTParamDat> & lutparamset,int iovId, string tag)
225 {
226  cout << "*****************************************" << endl;
227  cout << "************Inserting LUT************" << endl;
228  cout << "*****************************************" << endl;
229  int result=0;
230 
231  FEConfigLUTInfo fe_lut_info ;
232  fe_lut_info.setNumberOfGroups(iovId);
233  fe_lut_info.setConfigTag(tag);
234  insertConfigSet(&fe_lut_info);
235 
236  // Tm tdb = fe_lut_info.getDBTime();
237  //tdb.dumpTm();
238 
239  // Insert the dataset
240  insertDataArraySet(&lutgroupset, &fe_lut_info);
241  // Insert the dataset
242  insertDataArraySet(&lutset, &fe_lut_info);
243  // insert the parameters
244  insertDataArraySet(&lutparamset, &fe_lut_info);
245 
246  result=fe_lut_info.getId();
247 
248  cout << "*****************************************" << endl;
249  cout << "************LUT done*********************" << endl;
250  cout << "*****************************************" << endl;
251  return result;
252 
253 }
254 
255 int EcalTPGDBApp::writeToConfDB_TPGWeight(const map<EcalLogicID, FEConfigWeightGroupDat> & lutgroupset,
256  const map<EcalLogicID, FEConfigWeightDat> & lutset, int ngr, string tag)
257 {
258  cout << "*****************************************" << endl;
259  cout << "************Inserting weights************" << endl;
260  cout << "*****************************************" << endl;
261 
262  int result=0;
263 
264  FEConfigWeightInfo fe_wei_info ;
265  fe_wei_info.setNumberOfGroups(5); // this eventually refers to some other table
266  fe_wei_info.setConfigTag(tag);
267  insertConfigSet(&fe_wei_info);
268 
269  // Tm tdb = fe_lut_info.getDBTime();
270  //tdb.dumpTm();
271 
272  // Insert the dataset
273  insertDataArraySet(&lutgroupset, &fe_wei_info);
274  // Insert the dataset
275  insertDataArraySet(&lutset, &fe_wei_info);
276 
277  result=fe_wei_info.getId();
278 
279  cout << "*****************************************" << endl;
280  cout << "************WEIGHT done******************" << endl;
281  cout << "*****************************************" << endl;
282  return result;
283 
284 
285 }
286 
287 
288 int EcalTPGDBApp::writeToConfDB_TPGFgr(const map<EcalLogicID, FEConfigFgrGroupDat> & fgrgroupset,
289  const map<EcalLogicID, FEConfigFgrDat> & fgrset,
290  const map<EcalLogicID, FEConfigFgrParamDat> & fgrparamset,
291  const map<EcalLogicID, FEConfigFgrEETowerDat> & dataset3,
292  const map<EcalLogicID, FEConfigFgrEEStripDat> & dataset4,
293  int iovId, string tag)
294 {
295  cout << "*****************************************" << endl;
296  cout << "************Inserting Fgr************" << endl;
297  cout << "*****************************************" << endl;
298  int result=0;
299 
300  FEConfigFgrInfo fe_fgr_info ;
301  fe_fgr_info.setNumberOfGroups(iovId); // this eventually refers to some other table
302  fe_fgr_info.setConfigTag(tag);
303  insertConfigSet(&fe_fgr_info);
304 
305  // Tm tdb = fe_fgr_info.getDBTime();
306  //tdb.dumpTm();
307 
308  // Insert the dataset
309  insertDataArraySet(&fgrgroupset, &fe_fgr_info);
310  // Insert the dataset
311  insertDataArraySet(&fgrset, &fe_fgr_info);
312  // Insert the parameters
313  insertDataArraySet(&fgrparamset, &fe_fgr_info);
314  // Insert the parameters
315  insertDataArraySet(&dataset3, &fe_fgr_info);
316  // Insert the parameters
317  insertDataArraySet(&dataset4, &fe_fgr_info);
318 
319  result=fe_fgr_info.getId();
320 
321  cout << "*****************************************" << endl;
322  cout << "************Fgr done*********************" << endl;
323  cout << "*****************************************" << endl;
324  return result;
325 
326 }
327 
328 int EcalTPGDBApp::writeToConfDB_Spike(const map<EcalLogicID, FEConfigSpikeDat> & spikegroupset,
329  string tag)
330 {
331  cout << "*****************************************" << endl;
332  cout << "************Inserting Spike************" << endl;
333  cout << "*****************************************" << endl;
334  int result=0;
335 
336  FEConfigSpikeInfo fe_spike_info ;
337  fe_spike_info.setConfigTag(tag);
338  insertConfigSet(&fe_spike_info);
339 
340  // Tm tdb = fe_fgr_info.getDBTime();
341  //tdb.dumpTm();
342 
343  // Insert the dataset
344  insertDataArraySet(&spikegroupset, &fe_spike_info);
345 
346  result=fe_spike_info.getId();
347 
348  cout << "*****************************************" << endl;
349  cout << "************Spike done*******************" << endl;
350  cout << "*****************************************" << endl;
351  return result;
352 
353 }
354 
355 int EcalTPGDBApp::writeToConfDB_Delay(const map<EcalLogicID, FEConfigTimingDat> & timegroupset,
356  string tag)
357 {
358  cout << "*****************************************" << endl;
359  cout << "************Inserting Delays************" << endl;
360  cout << "*****************************************" << endl;
361  int result=0;
362 
363  FEConfigTimingInfo fe_time_info ;
364  fe_time_info.setConfigTag(tag);
365  insertConfigSet(&fe_time_info);
366 
367  // Tm tdb = fe_fgr_info.getDBTime();
368  //tdb.dumpTm();
369 
370  // Insert the dataset
371  insertDataArraySet(&timegroupset, &fe_time_info);
372 
373  result=fe_time_info.getId();
374 
375  cout << "*****************************************" << endl;
376  cout << "************Delays done******************" << endl;
377  cout << "*****************************************" << endl;
378  return result;
379 
380 }
381 
382 
383 
384 void EcalTPGDBApp::printTag( const RunTag* tag) const
385 {
386  cout << endl;
387  cout << "=============RunTag:" << endl;
388  cout << "GeneralTag: " << tag->getGeneralTag() << endl;
389  cout << "Location: " << tag->getLocationDef().getLocation() << endl;
390  cout << "Run Type: " << tag->getRunTypeDef().getRunType() << endl;
391  cout << "====================" << endl;
392 }
393 
394 void EcalTPGDBApp::printIOV( const RunIOV* iov) const
395 {
396  cout << endl;
397  cout << "=============RunIOV:" << endl;
398  RunTag tag = iov->getRunTag();
399  printTag(&tag);
400  cout << "Run Number: " << iov->getRunNumber() << endl;
401  cout << "Run Start: " << iov->getRunStart().str() << endl;
402  cout << "Run End: " << iov->getRunEnd().str() << endl;
403  cout << "====================" << endl;
404 }
405 
406 
void setSpiId(int x)
int writeToConfDB_TPGLinearCoef(const std::map< EcalLogicID, FEConfigLinDat > &linset, const std::map< EcalLogicID, FEConfigLinParamDat > &linparamset, int iovId, std::string tag)
Definition: EcalTPGDBApp.cc:42
void setRunTypeDef(const RunTypeDef &runTypeDef)
Definition: RunTag.cc:70
void printIOV(const RunIOV *iov) const
void setLinId(int x)
void setTimId(int x)
LocationDef getLocationDef() const
Definition: RunTag.cc:46
int getId() const
float getPedMeanG1() const
Definition: RunTag.h:13
void insertConfigSet(ICONF *iconf)
EcalTPGDBApp(std::string host, std::string sid, std::string user, std::string pass, int port)
std::string getGeneralTag() const
Definition: RunTag.cc:27
void setBxtId(int x)
std::string getRunType() const
Definition: RunTypeDef.cc:26
void setIOVId(int iov_id)
int writeToConfDB_TPGSliding(const std::map< EcalLogicID, FEConfigSlidingDat > &sliset, int iovId, std::string tag)
int writeToConfDB_Delay(const std::map< EcalLogicID, FEConfigTimingDat > &delaygroupset, std::string tag)
int ii
Definition: cuy.py:588
int writeToConfDB_TPGMain(int ped, int lin, int lut, int fgr, int sli, int wei, int spi, int tim, int bxt, int btt, int bst, std::string tag, int ver)
Definition: EcalTPGDBApp.cc:68
void setGeneralTag(std::string tag)
Definition: MonRunTag.cc:33
void setVersion(int id)
int port
Definition: query.py:115
void setRunTag(const RunTag &tag)
Definition: MonRunList.cc:23
int getID2() const
Definition: EcalLogicID.cc:51
RunTag getRunTag() const
Definition: RunIOV.cc:96
Tm getRunStart() const
Definition: RunIOV.cc:62
void setLUTId(int x)
MonRunList fetchMonRunListLastNRuns(const RunTag &tag, const MonRunTag &monruntag, int max_run, int n_runs)
tuple iov
Definition: o2o.py:307
void setNumberOfGroups(int iov_id)
void setFgrId(int x)
void setNumberOfGroups(int iov_id)
void fetchDataSet(std::map< EcalLogicID, DATT > *fillMap, IOVT *iov)
void setIOVId(int iov_id)
tuple result
Definition: query.py:137
std::string getLocation() const
Definition: LocationDef.cc:26
tuple lut
Definition: lumiPlot.py:244
void setMonVersionDef(const MonVersionDef &ver)
Definition: MonRunTag.cc:49
int readFromCondDB_Pedestals(std::map< EcalLogicID, MonPedestalsDat > &pedset, int runNb)
float getPedMeanG12() const
void setLocationDef(const LocationDef &locDef)
Definition: RunTag.cc:53
void setIOVId(int iov_id)
int getId() const
int writeToConfDB_Spike(const std::map< EcalLogicID, FEConfigSpikeDat > &spikegroupset, std::string tag)
void setPedId(int x)
int getId() const
void setWeiId(int x)
string host
Definition: query.py:114
std::vector< MonRunIOV > getRuns()
Definition: MonRunList.cc:46
int writeToConfDB_TPGPedestals(const std::map< EcalLogicID, FEConfigPedDat > &pedset, int iovId, std::string tag)
Definition: EcalTPGDBApp.cc:17
RunTypeDef getRunTypeDef() const
Definition: RunTag.cc:63
void setRunType(std::string runtype)
Definition: RunTypeDef.cc:33
void fetchConfigSet(ICONF *iconf)
tuple dataset
Definition: dataset.py:859
Tm getRunEnd() const
Definition: RunIOV.cc:79
void setMonRunTag(const MonRunTag &tag)
Definition: MonRunList.cc:29
float getPedMeanG6() const
void setMonitoringVersion(std::string ver)
run_t getRunNumber() const
Definition: RunIOV.cc:45
void setConfigTag(std::string x)
Definition: IODConfig.h:31
std::string str() const
Definition: Tm.cc:89
void readFromConfDB_TPGPedestals(int iconf_req)
void setNumberOfGroups(int n)
int writeToConfDB_TPGLUT(const std::map< EcalLogicID, FEConfigLUTGroupDat > &lutgroup, const std::map< EcalLogicID, FEConfigLUTDat > &lutdat, const std::map< EcalLogicID, FEConfigLUTParamDat > &lutparamset, int iovId, std::string tag)
void setId(int id)
void insertDataArraySet(const std::map< EcalLogicID, DATT > *data, IOVT *iov)
void setLocation(std::string loc)
Definition: LocationDef.cc:33
tuple cout
Definition: gather_cfg.py:121
int writeToConfDB_TPGFgr(const std::map< EcalLogicID, FEConfigFgrGroupDat > &lutgroup, const std::map< EcalLogicID, FEConfigFgrDat > &lutdat, const std::map< EcalLogicID, FEConfigFgrParamDat > &fgrparamset, const std::map< EcalLogicID, FEConfigFgrEETowerDat > &dataset3, const std::map< EcalLogicID, FEConfigFgrEEStripDat > &dataset4, int iovId, std::string tag)
void printTag(const RunTag *tag) const
int writeToConfDB_TPGWeight(const std::map< EcalLogicID, FEConfigWeightGroupDat > &lutgroup, const std::map< EcalLogicID, FEConfigWeightDat > &lutdat, int iovId, std::string tag)
void setSliId(int x)
void setGeneralTag(std::string tag)
Definition: RunTag.cc:36
Definition: RunIOV.h:13
void setBstId(int x)
void setBttId(int x)