CMS 3D CMS Logo

EcalSRPHandler.cc
Go to the documentation of this file.
1 #include <iostream>
2 #include <fstream>
3 #include <string>
4 #include <sstream>
5 #include <xercesc/dom/DOMNode.hpp>
6 #include <xercesc/dom/DOM.hpp>
7 #include <xercesc/parsers/XercesDOMParser.hpp>
9 #include <xercesc/util/XMLString.hpp>
10 #include <xercesc/sax/SAXException.hpp>
11 #include <xercesc/framework/LocalFileFormatTarget.hpp>
12 
18 
22 
25 
27 
29 
30 using namespace XERCES_CPP_NAMESPACE;
31 using namespace xuti;
32 
34  : m_name(ps.getUntrackedParameter<std::string>("name", "EcalSRPHandler")) {
35  m_firstRun = (unsigned long)atoi(ps.getParameter<std::string>("firstRun").c_str());
36  m_lastRun = (unsigned long)atoi(ps.getParameter<std::string>("lastRun").c_str());
37  m_sid = ps.getParameter<std::string>("OnlineDBSID");
38  m_user = ps.getParameter<std::string>("OnlineDBUser");
39  m_pass = ps.getParameter<std::string>("OnlineDBPassword");
40  m_location = ps.getParameter<std::string>("location");
41  m_runtype = ps.getParameter<std::string>("runtype");
42  m_gentag = ps.getParameter<std::string>("gentag");
43  m_i_tag = "";
44  m_debug = ps.getParameter<bool>("debug");
45  m_i_version = 0;
46 }
47 
49 
51  std::ostringstream ss;
52  ss << "ECAL ";
53 
54  unsigned long long max_since = 1;
55 
56  // this is the last inserted run
57  max_since = tagInfo().lastInterval.since;
58 
59  // this is the last object in the DB
60  Ref srp_db = lastPayload();
61  if (m_debug)
62  std::cout << " max_since : " << max_since << "\n retrieved last payload " << std::endl;
63 
64  // we copy the last valid record to a temporary object
65  EcalSRSettings* sref = new EcalSRSettings();
66  sref->deltaEta_ = srp_db->deltaEta_;
67  sref->deltaPhi_ = srp_db->deltaPhi_;
68  sref->ecalDccZs1stSample_ = srp_db->ecalDccZs1stSample_;
69  sref->ebDccAdcToGeV_ = srp_db->ebDccAdcToGeV_;
70  sref->eeDccAdcToGeV_ = srp_db->eeDccAdcToGeV_;
71  sref->dccNormalizedWeights_ = srp_db->dccNormalizedWeights_;
72  sref->symetricZS_ = srp_db->symetricZS_;
73  sref->srpLowInterestChannelZS_ = srp_db->srpLowInterestChannelZS_;
74  sref->srpHighInterestChannelZS_ = srp_db->srpHighInterestChannelZS_;
75  sref->actions_ = srp_db->actions_;
76  sref->tccMasksFromConfig_ = srp_db->tccMasksFromConfig_;
77  sref->srpMasksFromConfig_ = srp_db->srpMasksFromConfig_;
78  sref->dccMasks_ = srp_db->dccMasks_;
79  sref->srfMasks_ = srp_db->srfMasks_;
80  sref->substitutionSrfs_ = srp_db->substitutionSrfs_;
81  sref->testerTccEmuSrpIds_ = srp_db->testerTccEmuSrpIds_;
82  sref->testerSrpEmuSrpIds_ = srp_db->testerSrpEmuSrpIds_;
83  sref->testerDccTestSrpIds_ = srp_db->testerDccTestSrpIds_;
84  sref->testerSrpTestSrpIds_ = srp_db->testerSrpTestSrpIds_;
85  sref->bxOffsets_ = srp_db->bxOffsets_;
86  sref->bxGlobalOffset_ = srp_db->bxGlobalOffset_;
87  sref->automaticMasks_ = srp_db->automaticMasks_;
88  sref->automaticSrpSelect_ = srp_db->automaticSrpSelect_;
89 
90  // now read the actual status from the online DB
91 
92  std::cout << "Retrieving DAQ status from OMDS DB ... " << std::endl;
93  econn = new EcalCondDBInterface(m_sid, m_user, m_pass);
94  std::cout << "Connection done" << std::endl;
95 
96  if (!econn) {
97  std::cout << " Problem with OMDS: connection parameters " << m_sid << "/" << m_user << std::endl;
98  throw cms::Exception("OMDS not available");
99  }
100 
102  my_locdef.setLocation(m_location);
103 
105  my_rundef.setRunType(m_runtype);
106 
107  RunTag my_runtag;
108  my_runtag.setLocationDef(my_locdef);
109  my_runtag.setRunTypeDef(my_rundef);
110  my_runtag.setGeneralTag(m_gentag);
111 
112  // range of validity
113  int min_run = 0;
114  if (m_firstRun <= (unsigned long)max_since) {
115  min_run = (int)max_since + 1; // we have to add 1 to the last transferred one
116  } else {
117  min_run = (int)m_firstRun;
118  }
119 
120  int max_run = (int)m_lastRun;
121  if (m_debug)
122  std::cout << "min_run " << min_run << " max_run " << max_run << std::endl;
123 
124  std::ofstream fout;
125  if (m_debug) {
126  char outfile[800];
127  sprintf(outfile, "SRP_run%d.txt", min_run);
129  fout << " ORCOFF last run max_since : " << max_since << std::endl;
130  PrintPayload(*sref, fout);
131  }
132 
133  RunList my_list;
134  my_list = econn->fetchRunListByLocation(my_runtag, min_run, max_run, my_locdef);
135 
136  std::vector<RunIOV> run_vec = my_list.getRuns();
137  int num_runs = run_vec.size();
138 
139  if (m_debug) {
140  fout << " number of runs is : " << num_runs << std::endl;
141  }
142  unsigned long irun = 0;
143  if (num_runs > 0) {
144  int fe_conf_id_old = 0;
145  // int krmax = std::min(num_runs, 100);
146  // for(int kr = 0; kr < krmax; kr++) {
147  for (int kr = 0; kr < num_runs; kr++) { // allow any number of runs, exit on transfert size
148  irun = (unsigned long)run_vec[kr].getRunNumber();
149  std::string geneTag = run_vec[kr].getRunTag().getGeneralTag();
150  if (geneTag != "GLOBAL") {
151  if (m_debug)
152  fout << "\n New run " << irun << " with tag " << geneTag << " giving up " << std::endl;
153  continue;
154  }
155  if (m_debug)
156  fout << "\n New run " << irun << " geneTag " << geneTag << std::endl;
157 
158  // First, RUN_CONFIGURATION
159  std::map<EcalLogicID, RunConfigDat> dataset;
160  econn->fetchDataSet(&dataset, &run_vec[kr]);
161  std::string myconfig_tag = "";
162  int myconfig_version = 0;
163  std::map<EcalLogicID, RunConfigDat>::const_iterator it;
164  if (dataset.size() != 1) {
165  std::cout << "\n\n run " << irun << " strange number of dataset " << dataset.size() << std::endl;
166  if (m_debug)
167  fout << "\n\n run " << irun << " strange number of dataset " << dataset.size() << " giving up " << std::endl;
168  continue;
169  }
170 
171  it = dataset.begin();
172  RunConfigDat dat = it->second;
173  myconfig_tag = dat.getConfigTag();
174  // if (myconfig_tag.substr(0, 15) == "ZeroSuppression") {
175  if (myconfig_tag.substr(0, 15) == "ZeroSuppression" || myconfig_tag.substr(0, 11) == "FullReadout" ||
176  myconfig_tag.substr(0, 11) == "AlmostEmpty") {
177  if (m_debug)
178  fout << " run " << irun << " tag " << myconfig_tag << " giving up " << std::endl;
179  continue;
180  }
181 
182  // Now FE_DAQ_CONFIG
183  typedef std::map<EcalLogicID, RunFEConfigDat>::const_iterator feConfIter;
184  std::map<EcalLogicID, RunFEConfigDat> feconfig;
185  econn->fetchDataSet(&feconfig, &run_vec[kr]);
186  if (feconfig.size() != 1) {
187  if (m_debug)
188  fout << "\n\n run " << irun << " strange number of FE config " << feconfig.size() << " giving up "
189  << std::endl;
190  continue;
191  }
192  RunFEConfigDat rd_fe;
193  int fe_conf_id = 0;
194  feConfIter p = feconfig.begin();
195  rd_fe = p->second;
196  fe_conf_id = rd_fe.getConfigId();
197 
198  myconfig_version = dat.getConfigVersion();
199  if (m_debug)
200  fout << " run " << irun << " tag " << myconfig_tag << " version " << myconfig_version << " Fe config "
201  << fe_conf_id << std::endl;
202  // here we should check if it is the same as previous run.
203  if (myconfig_tag != m_i_tag || myconfig_version != m_i_version || fe_conf_id != fe_conf_id_old) {
204  if (m_debug)
205  fout << " run= " << irun << " different tag ... retrieving last config set from DB" << std::endl;
206 
207  bool FromCLOB = false;
208  EcalSRSettings* sr = new EcalSRSettings;
209  sr->ebDccAdcToGeV_ = 0.035;
210  sr->eeDccAdcToGeV_ = 0.060;
211  sr->symetricZS_.push_back(0);
212 
213  ODRunConfigInfo od_run_info;
214  od_run_info.setTag(myconfig_tag);
215  od_run_info.setVersion(myconfig_version);
216 
217  try {
218  econn->fetchConfigSet(&od_run_info);
219  int config_id = od_run_info.getId();
220 
222  seq.setEcalConfigId(config_id);
223  seq.setSequenceNumber(0);
224  econn->fetchConfigSet(&seq);
225  int sequenceid = seq.getSequenceId();
226 
227  ODEcalCycle ecal_cycle;
228  ecal_cycle.setSequenceId(sequenceid);
229  econn->fetchConfigSet(&ecal_cycle);
230  int cycle_id = ecal_cycle.getId();
231  int srp_id = ecal_cycle.getSRPId();
232  if (srp_id == 0) {
233  if (m_debug)
234  fout << " no SRP config for this run, give up " << std::endl;
235  delete sr;
236  continue; // no SRP config
237  }
238  int dcc_id = ecal_cycle.getDCCId();
239  if (m_debug)
240  fout << " cycleid " << cycle_id << " SRP id " << srp_id << " DCC id " << dcc_id << std::endl;
241  /**************************/
242  /* SRP */
243  /**************************/
244  ODSRPConfig srp;
245  srp.setId(srp_id);
246  econn->fetchConfigSet(&srp);
247 
248  unsigned char* cbuffer = srp.getSRPClob();
249  unsigned int SRPClobSize = srp.getSRPClobSize();
250  std::string srpstr((char*)cbuffer, SRPClobSize);
251  std::string SRPClob = srpstr;
252  std::fstream myfile;
253  myfile.open("srp.txt", std::fstream::out);
254  for (std::string::iterator it = SRPClob.begin(); it < SRPClob.end(); it++)
255  myfile << *it;
256  myfile.close();
257  std::ifstream f("srp.txt");
258  if (!f.good()) {
259  throw cms::Exception("EcalSRPHandler") << " Failed to open file srp.txt";
260  if (m_debug)
261  fout << " Failed to open file srp.txt" << std::endl;
262  }
264  f.close();
265  int rv = system("rm srp.txt");
266  if (m_debug && rv != 0)
267  fout << "rm srp.txt result code: " << rv << "\n";
268 
272  /**************************/
273  /* DCC */
274  /**************************/
275  ODDCCConfig dcc;
276  dcc.setId(dcc_id);
277  econn->fetchConfigSet(&dcc);
278  std::string weightsMode = dcc.getDCCWeightsMode();
279  if (m_debug)
280  fout << " DCC weightsMode " << weightsMode << std::endl
281  << " weight size beg " << sr->dccNormalizedWeights_.size() << std::endl;
282  if (weightsMode == "CLOB") {
283  FromCLOB = true;
284  if (m_debug)
285  fout << " will read weights from DCC CLOB " << std::endl;
286  }
287  cbuffer = dcc.getDCCClob();
288  unsigned int DCCClobSize = dcc.getDCCClobSize();
289  std::string dccstr((char*)cbuffer, DCCClobSize);
290  std::string DCCClob = dccstr;
291  std::ostringstream osd;
292  osd << "dcc.txt";
293  std::string fname = osd.str();
294  myfile.open(fname.c_str(), std::fstream::out);
295  for (std::string::iterator it = DCCClob.begin(); it < DCCClob.end(); it++)
296  myfile << *it;
297  myfile.close();
298  importDccConfigFile(*sr, fname, FromCLOB);
299  if (m_debug)
300  fout << " weight size after CLOB " << sr->dccNormalizedWeights_.size() << std::endl;
301  rv = system("rm dcc.txt");
302  if (m_debug && rv != 0)
303  fout << "rm dcc.txt result code: " << rv << "\n";
304  } catch (std::exception& e) {
305  // we should not come here...
306  std::cout << "ERROR: This config does not exist: tag " << myconfig_tag << " version " << myconfig_version
307  << std::endl;
308  if (m_debug)
309  fout << "ERROR: This config does not exist: tag " << myconfig_tag << " version " << myconfig_version
310  << std::endl;
311  // m_i_run_number = irun;
312  }
313  if (m_debug)
314  fout << " FromCLOB " << FromCLOB << std::endl;
315  if (!FromCLOB) { // data from FE, we need to get FE_DAQ_CONFIG table
316  // reading this configuration
317  ODFEDAQConfig myconfig;
318  myconfig.setId(fe_conf_id);
319  econn->fetchConfigSet(&myconfig);
320 
321  // list weights
322  int mywei = myconfig.getWeightId();
323  if (m_debug)
324  fout << " WEI_ID " << mywei << std::endl;
325 
326  if (mywei != 0) {
327  ODWeightsSamplesDat samp;
328  samp.setId(mywei);
329  econn->fetchConfigSet(&samp);
330  int mySample = samp.getSampleId();
331  if (m_debug)
332  fout << " SAMPLE_ID " << mySample << std::endl;
333  sr->ecalDccZs1stSample_.push_back(mySample);
334 
336  weights.setId(mywei);
337  econn->fetchConfigSet(&weights);
338 
339  std::vector<std::vector<float> > my_dccw = weights.getWeight();
340  int imax = my_dccw.size();
341  if (m_debug)
342  fout << " weight size before check " << imax << std::endl;
343  if (imax == 75848) { // all the channel present. Check for change
344  bool WeightsChange = false, WeightsChangeEB = false, WeightsChangeEE = false;
345  for (int i = 1; i < 61200; i++) // EB
346  for (int ich = 0; ich < 6; ich++)
347  if (my_dccw[i][ich] != my_dccw[0][ich])
348  WeightsChangeEB = true;
349  if (m_debug)
350  fout << " WeightsChangeEB " << WeightsChangeEB << std::endl;
351  for (int i = 61201; i < 75848; i++) // EE
352  for (int ich = 0; ich < 6; ich++)
353  if (my_dccw[i][ich] != my_dccw[61200][ich])
354  WeightsChangeEE = true;
355  if (m_debug)
356  fout << " WeightsChangeEE " << WeightsChangeEE << std::endl;
357  for (int ich = 0; ich < 6; ich++)
358  if (my_dccw[0][ich] != my_dccw[61200][ich])
359  WeightsChange = true;
360  if (m_debug)
361  fout << " WeightsChange " << WeightsChange << std::endl;
362 
363  if (WeightsChangeEB || WeightsChangeEE) // differences between channels, keep them all
364  sr->dccNormalizedWeights_ = my_dccw;
365  else if (WeightsChange) { // difference between EB and EE, keep only 1 channel from each
366  std::vector<float> dccwRowEB, dccwRowEE;
367  for (int ich = 0; ich < 6; ich++) {
368  dccwRowEB.push_back(my_dccw[0][ich]);
369  dccwRowEE.push_back(my_dccw[61200][ich]);
370  }
371  sr->dccNormalizedWeights_.push_back(dccwRowEB);
372  sr->dccNormalizedWeights_.push_back(dccwRowEE);
373  } else { // no difference keep only one
374  std::vector<float> dccwRow;
375  for (int ich = 0; ich < 6; ich++) {
376  dccwRow.push_back(my_dccw[0][ich]);
377  }
378  sr->dccNormalizedWeights_.push_back(dccwRow);
379  if (m_debug) {
380  fout << " weight ";
381  for (int ich = 0; ich < 6; ich++)
382  fout << " ch " << ich << " " << sr->dccNormalizedWeights_[0][ich];
383  fout << std::endl;
384  }
385  }
386  } // all channels
387  else {
388  sr->dccNormalizedWeights_ = my_dccw;
389  }
390  if (m_debug)
391  fout << " weight size after DB " << sr->dccNormalizedWeights_.size() << std::endl;
392  } // WEI_ID != 0
393  } // weights got from FE
394 
395  // check if we have found the weights
396  if (sr->dccNormalizedWeights_.empty()) { // use the firmware default weights
397  // float opt[] = { -383, -383, -372, 279, 479, 380};
398  float def[] = {-1215, 20, 297, 356, 308, 232};
399  std::vector<float> dccw(def, def + 6);
400  if (m_debug)
401  fout << " default weights ";
402  for (int i = 0; i < 6; i++) {
403  if (m_debug)
404  fout << " i " << i << " def " << def[i] << " dccw " << dccw[i] << " \n";
405  }
406  sr->dccNormalizedWeights_.push_back(dccw); // vector vector
407  }
408  // normalize online weights
409  int imax = sr->dccNormalizedWeights_.size();
410  if (m_debug)
411  fout << " weight size " << imax << " normalized weights : " << std::endl;
412  for (int i = 0; i < imax; i++)
413  for (int ich = 0; ich < 6; ich++) {
414  sr->dccNormalizedWeights_[i][ich] /= 1024.;
415  if (m_debug && i == 0)
416  fout << " ch " << ich << " weight " << sr->dccNormalizedWeights_[i][ich] << std::endl;
417  }
418 
419  /**************************/
420  /* checking for change */
421  /**************************/
422  if (m_debug)
423  fout << " checking for change " << std::endl;
424  bool nochange = true;
425  int imaxref, imaxnew;
426 
427  if (sref->deltaEta_ != sr->deltaEta_) {
428  nochange = false;
429  if (m_debug) {
430  imaxref = sref->deltaEta_.size();
431  imaxnew = sr->deltaEta_.size();
432  if (imaxref != imaxnew) {
433  fout << " deltaEta_ size ref " << imaxref << " now " << imaxnew << std::endl;
434  } else {
435  for (int i = 0; i < imaxref; i++) {
436  if (sref->deltaEta_[i] != sr->deltaEta_[i]) {
437  fout << " deltaEta_[" << i << "] ref " << sref->deltaEta_[i] << " now " << sr->deltaEta_[i]
438  << std::endl;
439  }
440  }
441  }
442  }
443  }
444 
445  if (sref->deltaPhi_ != sr->deltaPhi_) {
446  nochange = false;
447  if (m_debug) {
448  imaxref = sref->deltaPhi_.size();
449  imaxnew = sr->deltaPhi_.size();
450  if (imaxref != imaxnew) {
451  fout << " deltaPhi size ref " << imaxref << " now " << imaxnew << std::endl;
452  } else {
453  for (int i = 0; i < imaxref; i++) {
454  if (sref->deltaPhi_[i] != sr->deltaPhi_[i]) {
455  fout << " deltaPhi[" << i << "] ref " << sref->deltaPhi_[i] << " now " << sr->deltaPhi_[i]
456  << std::endl;
457  }
458  }
459  }
460  }
461  }
462 
463  if (sref->ecalDccZs1stSample_ != sr->ecalDccZs1stSample_) {
464  nochange = false;
465  if (m_debug) {
466  imaxref = sref->ecalDccZs1stSample_.size();
467  imaxnew = sr->ecalDccZs1stSample_.size();
468  if (imaxref != imaxnew) {
469  fout << " ecalDccZs1stSample size ref " << imaxref << " now " << imaxnew << std::endl;
470  } else {
471  for (int i = 0; i < imaxref; i++) {
472  if (sref->ecalDccZs1stSample_[i] != sr->ecalDccZs1stSample_[i]) {
473  fout << " ecalDccZs1stSample_[" << i << "] ref " << sref->ecalDccZs1stSample_[i] << " now "
474  << sr->ecalDccZs1stSample_[i] << std::endl;
475  }
476  }
477  }
478  }
479  }
480 
481  if (sref->ebDccAdcToGeV_ != sr->ebDccAdcToGeV_ || sref->eeDccAdcToGeV_ != sr->eeDccAdcToGeV_) {
482  nochange = false;
483  if (m_debug)
484  fout << " ebDccAdcToGeV ref " << sref->ebDccAdcToGeV_ << " ee " << sref->eeDccAdcToGeV_ << " now "
485  << sr->ebDccAdcToGeV_ << " ee " << sr->eeDccAdcToGeV_ << std::endl;
486  }
487 
488  if (sref->dccNormalizedWeights_ != sr->dccNormalizedWeights_) {
489  nochange = false;
490  if (m_debug) {
491  imaxref = sref->dccNormalizedWeights_.size();
492  imaxnew = sr->dccNormalizedWeights_.size();
493  if (imaxref != imaxnew) {
494  fout << " dccNormalizedWeights size ref " << imaxref << " now " << imaxnew << std::endl;
495  } else {
496  int i = 0;
497  for (int ich = 0; ich < 6; ich++) {
498  if (sref->dccNormalizedWeights_[i][ich] != sr->dccNormalizedWeights_[i][ich]) {
499  fout << " dccNormalizedWeights_[" << i << "][" << ich << "] ref "
500  << sref->dccNormalizedWeights_[i][ich] << " now " << sr->dccNormalizedWeights_[i][ich]
501  << std::endl;
502  }
503  }
504  }
505  }
506  }
507 
508  if (sref->symetricZS_ != sr->symetricZS_) {
509  nochange = false;
510  if (m_debug) {
511  imaxref = sref->symetricZS_.size();
512  imaxnew = sr->symetricZS_.size();
513  if (imaxref != imaxnew) {
514  fout << " symetricZS size ref " << imaxref << " now " << imaxnew << std::endl;
515  } else {
516  for (int i = 0; i < imaxref; i++) {
517  if (sref->symetricZS_[i] != sr->symetricZS_[i]) {
518  fout << " symetricZS[" << i << "] ref " << sref->symetricZS_[i] << " now " << sr->symetricZS_[i]
519  << std::endl;
520  }
521  }
522  }
523  }
524  }
525 
527  nochange = false;
528  if (m_debug) {
529  imaxref = sref->srpLowInterestChannelZS_.size();
530  imaxnew = sr->srpLowInterestChannelZS_.size();
531  if (imaxref != imaxnew) {
532  fout << " srpLowInterestChannelZS size ref " << imaxref << " now " << imaxnew << std::endl;
533  } else {
534  for (int i = 0; i < imaxref; i++) {
536  fout << " srpLowInterestChannelZS[" << i << "] ref " << sref->srpLowInterestChannelZS_[i] << " now "
537  << sr->srpLowInterestChannelZS_[i] << std::endl;
538  }
539  }
540  }
541  }
542  }
543 
545  nochange = false;
546  if (m_debug) {
547  imaxref = sref->srpHighInterestChannelZS_.size();
548  imaxnew = sr->srpHighInterestChannelZS_.size();
549  if (imaxref != imaxnew) {
550  fout << " srpHighInterestChannelZS size ref " << imaxref << " now " << imaxnew << std::endl;
551  } else {
552  for (int i = 0; i < imaxref; i++) {
554  fout << " srpHighInterestChannelZS[" << i << "] ref " << sref->srpHighInterestChannelZS_[i] << " now "
555  << sr->srpHighInterestChannelZS_[i] << std::endl;
556  }
557  }
558  }
559  }
560  }
561 
562  if (sref->actions_ != sr->actions_) {
563  nochange = false;
564  if (m_debug) {
565  for (int i = 0; i < 4; i++) {
566  if (sref->actions_[i] != sr->actions_[i]) {
567  fout << " actions " << i << " ref " << sref->actions_[i] << " now " << sr->actions_[i] << std::endl;
568  }
569  }
570  }
571  }
572 
573  if (sref->tccMasksFromConfig_ != sr->tccMasksFromConfig_) {
574  nochange = false;
575  if (m_debug) {
576  for (int i = 0; i < 108; i++) {
577  if (sref->tccMasksFromConfig_[i] != sr->tccMasksFromConfig_[i]) {
578  fout << " tccMasks " << i << " ref " << sref->tccMasksFromConfig_[i] << " now "
579  << sr->tccMasksFromConfig_[i] << std::endl;
580  }
581  }
582  }
583  }
584 
585  if (sref->srpMasksFromConfig_ != sr->srpMasksFromConfig_) {
586  nochange = false;
587  if (m_debug) {
588  for (int i = 0; i < 12; i++) {
589  for (int ich = 0; ich < 8; ich++) {
590  if (sref->srpMasksFromConfig_[i][ich] != sr->srpMasksFromConfig_[i][ich]) {
591  fout << " srpMasks " << i << " " << ich << " ref " << sref->srpMasksFromConfig_[i][ich] << " now "
592  << sr->srpMasksFromConfig_[i][ich] << std::endl;
593  }
594  }
595  }
596  }
597  }
598 
599  if (sref->dccMasks_ != sr->dccMasks_) {
600  nochange = false;
601  if (m_debug) {
602  for (int i = 0; i < 54; i++) {
603  if (sref->dccMasks_[i] != sr->dccMasks_[i]) {
604  fout << " dccMasks " << i << " ref " << sref->dccMasks_[i] << " now " << sr->dccMasks_[i] << std::endl;
605  }
606  }
607  }
608  }
609 
610  if (sref->srfMasks_ != sr->srfMasks_) {
611  nochange = false;
612  if (m_debug) {
613  for (int i = 0; i < 12; i++) {
614  if (sref->srfMasks_[i] != sr->srfMasks_[i]) {
615  fout << " srfMasks " << i << " ref " << sref->srfMasks_[i] << " now " << sr->srfMasks_[i] << std::endl;
616  }
617  }
618  }
619  }
620 
621  if (sref->substitutionSrfs_ != sr->substitutionSrfs_) {
622  nochange = false;
623  if (m_debug) {
624  for (int i = 0; i < 12; i++) {
625  for (int ich = 0; ich < 68; ich++) {
626  if (sref->substitutionSrfs_[i][ich] != sr->substitutionSrfs_[i][ich]) {
627  fout << " substitutionSrfs " << i << " " << ich << " ref " << sref->substitutionSrfs_[i][ich]
628  << " now " << sr->substitutionSrfs_[i][ich] << std::endl;
629  }
630  }
631  }
632  }
633  }
634 
635  if (sref->testerTccEmuSrpIds_ != sr->testerTccEmuSrpIds_) {
636  nochange = false;
637  if (m_debug) {
638  for (int i = 0; i < 12; i++) {
639  fout << " testerTccEmuSrpIds " << i << " ref " << sref->testerTccEmuSrpIds_[i] << " now "
640  << sr->testerTccEmuSrpIds_[i] << std::endl;
641  }
642  }
643  }
644 
645  if (sref->testerSrpEmuSrpIds_ != sr->testerSrpEmuSrpIds_) {
646  nochange = false;
647  if (m_debug)
648  for (int i = 0; i < 12; i++) {
649  fout << " testerSrpEmuSrpIds " << i << " ref " << sref->testerSrpEmuSrpIds_[i] << " now "
650  << sr->testerSrpEmuSrpIds_[i] << std::endl;
651  }
652  }
653 
654  if (sref->testerDccTestSrpIds_ != sr->testerDccTestSrpIds_) {
655  nochange = false;
656  if (m_debug)
657  for (int i = 0; i < 12; i++) {
658  fout << " testerDccTestSrpIds " << i << " ref " << sref->testerDccTestSrpIds_[i] << " now "
659  << sr->testerDccTestSrpIds_[i] << std::endl;
660  }
661  }
662 
663  if (sref->testerSrpTestSrpIds_ != sr->testerSrpTestSrpIds_) {
664  nochange = false;
665  if (m_debug)
666  for (int i = 0; i < 12; i++) {
667  fout << " testerSrpTestSrpIds " << i << " ref " << sref->testerSrpTestSrpIds_[i] << " now "
668  << sr->testerSrpTestSrpIds_[i] << std::endl;
669  }
670  }
671 
672  if (sref->bxOffsets_ != sr->bxOffsets_) {
673  nochange = false;
674  if (m_debug)
675  for (int i = 0; i < 12; i++) {
676  fout << " bxOffsets " << i << " ref " << sref->bxOffsets_[i] << " now " << sr->bxOffsets_[i] << std::endl;
677  }
678  }
679 
680  if (sref->bxGlobalOffset_ != sr->bxGlobalOffset_) {
681  nochange = false;
682  if (m_debug)
683  fout << " bxGlobalOffset ref " << sr->bxGlobalOffset_ << " now " << sr->bxGlobalOffset_ << std::endl;
684  }
685 
686  if (sref->automaticMasks_ != sr->automaticMasks_) {
687  nochange = false;
688  if (m_debug)
689  fout << " automaticMasks ref " << sref->automaticMasks_ << " now " << sr->automaticMasks_ << std::endl;
690  }
691 
692  if (sref->automaticSrpSelect_ != sr->automaticSrpSelect_) {
693  nochange = false;
694  if (m_debug)
695  fout << " automaticSrpSelect ref " << sref->automaticSrpSelect_ << " now " << sr->automaticSrpSelect_
696  << std::endl;
697  }
698 
699  if (nochange) {
700  if (m_debug)
701  fout << " no change has been found " << std::endl;
702  std::ostringstream ss;
703  ss << "Run=" << irun << "_SRPunchanged_" << std::endl;
704  m_userTextLog = ss.str() + ";";
705  } else {
706  if (m_debug) {
707  fout << " Change has been found !\n New payload :" << std::endl;
708  PrintPayload(*sr, fout);
709  }
710  ChangePayload(*sref, *sr); // new reference
711  // write the new payload to ORCON/ORCOFF
712  EcalSRSettings* srp_pop = new EcalSRSettings();
713  ChangePayload(*srp_pop, *sr); // add this payload to DB
714  m_to_transfer.push_back(std::make_pair(srp_pop, irun));
715 
716  std::ostringstream ss;
717  ss << "Run=" << irun << "_SRPchanged_" << std::endl;
718  m_userTextLog = ss.str() + ";";
719 
720  if (m_to_transfer.size() >= 20)
721  break;
722  }
723  delete sr;
724  m_i_tag = myconfig_tag;
725  m_i_version = myconfig_version;
726  fe_conf_id_old = fe_conf_id;
727  } // different tag or version or fe config
728  } // loop over runs
729  } // test on number of runs
730 
731  // disconnect from DB
732  delete econn;
733  fout.close();
734 }
735 
738 
739  XercesDOMParser* parser = new XercesDOMParser;
740  parser->setValidationScheme(XercesDOMParser::Val_Never);
741  parser->setDoNamespaces(false);
742  parser->setDoSchema(false);
743 
744  parser->parse(filename.c_str());
745 
746  DOMDocument* xmlDoc = parser->getDocument();
747  if (!xmlDoc) {
748  std::cout << "importDccConfigFile Error parsing document" << std::endl;
749  }
750 
751  DOMElement* element = xmlDoc->getDocumentElement();
752  std::string type = cms::xerces::toString(element->getTagName());
753 
754  // 1st level
755  int EBEE = -1;
756  int L1ZS[2] = {0, 0}, L2ZS[2] = {0, 0};
757  for (DOMNode* childNode = element->getFirstChild(); childNode; childNode = childNode->getNextSibling()) {
758  if (childNode->getNodeType() == DOMNode::ELEMENT_NODE) {
759  const std::string foundName = cms::xerces::toString(childNode->getNodeName());
760  DOMElement* child = static_cast<DOMElement*>(childNode);
761  DOMNamedNodeMap* attributes = child->getAttributes();
762  unsigned int numAttributes = attributes->getLength();
763  for (unsigned int j = 0; j < numAttributes; ++j) {
764  DOMNode* attributeNode = attributes->item(j);
765  DOMAttr* attribute = static_cast<DOMAttr*>(attributeNode);
766  const std::string info = cms::xerces::toString(attribute->getName());
767  const std::string scope = cms::xerces::toString(attribute->getValue());
768  if (info == "_scope") {
769  if (scope.substr(0, 2) == "EE")
770  EBEE = 1;
771  else
772  EBEE = 0;
773  }
774  }
775  // 2nd level
776  for (DOMNode* subchildNode = childNode->getFirstChild(); subchildNode;
777  subchildNode = subchildNode->getNextSibling()) {
778  if (subchildNode->getNodeType() == DOMNode::ELEMENT_NODE) {
779  const std::string subName = cms::xerces::toString(subchildNode->getNodeName());
780  // 3rd level
781  for (DOMNode* subsubchildNode = subchildNode->getFirstChild(); subsubchildNode;
782  subsubchildNode = subsubchildNode->getNextSibling()) {
783  if (subsubchildNode->getNodeType() == DOMNode::ELEMENT_NODE) {
784  const std::string subName = cms::xerces::toString(subsubchildNode->getNodeName());
785  if (subName == "L1ZSUPPRESSION")
786  GetNodeData(subsubchildNode, L1ZS[EBEE]);
787  if (subName == "L2ZSUPPRESSION")
788  GetNodeData(subsubchildNode, L2ZS[EBEE]);
789  if (subName == "FIRSTZSSAMPLE") {
790  int ZS;
791  GetNodeData(subsubchildNode, ZS);
792  if (useCLOB)
793  sr.ecalDccZs1stSample_.push_back(ZS);
794  }
795  if (subName == "CXTALWEIGHTS") {
796  std::vector<float> dcc(6);
797  float w;
798  for (int iw = 0; iw < 6; iw++) {
799  GetNodeData(subsubchildNode, w);
800  dcc.push_back(w);
801  }
802  if (useCLOB)
803  sr.dccNormalizedWeights_.push_back(dcc); // vector vector
804  }
805  }
806  } // loop over subsubchild
807  }
808  } // loop over subchild
809  }
810  } // loop over child
811  sr.srpLowInterestChannelZS_.push_back(L1ZS[0] * 0.035 / 4); // EB
812  sr.srpLowInterestChannelZS_.push_back(L1ZS[1] * 0.060 / 4); // EE
813  sr.srpHighInterestChannelZS_.push_back(L2ZS[0] * 0.035 / 4); // EB
814  sr.srpHighInterestChannelZS_.push_back(L2ZS[1] * 0.060 / 4); // EE
815  delete parser;
817 }
818 
820  int imax = sr.deltaEta_.size();
821  fout << " deltaEta[" << imax << "] ";
822  for (int i = 0; i < imax; i++) {
823  fout << sr.deltaEta_[i] << " ";
824  }
825  fout << std::endl;
826 
827  imax = sr.deltaPhi_.size();
828  fout << " deltaPhi[" << imax << "] ";
829  for (int i = 0; i < imax; i++) {
830  fout << sr.deltaPhi_[i] << " ";
831  }
832  fout << std::endl;
833 
834  imax = sr.ecalDccZs1stSample_.size();
835  fout << " ecalDccZs1stSample[" << imax << "] ";
836  for (int i = 0; i < imax; i++) {
837  fout << sr.ecalDccZs1stSample_[i] << " ";
838  }
839  fout << std::endl;
840 
841  fout << " ebDccAdcToGeV " << sr.ebDccAdcToGeV_ << std::endl;
842 
843  fout << " eeDccAdcToGeV " << sr.eeDccAdcToGeV_ << std::endl;
844 
845  fout << " dccNormalizedWeights" << std::endl;
846  for (int i = 0; i < (int)sr.dccNormalizedWeights_.size(); ++i) {
847  fout << " Channel " << i;
848  for (int j = 0; j < (int)sr.dccNormalizedWeights_[i].size(); ++j)
849  fout << " " << sr.dccNormalizedWeights_[i][j];
850  fout << std::endl;
851  }
852 
853  imax = sr.symetricZS_.size();
854  fout << " symetricZS[" << imax << "] ";
855  for (int i = 0; i < imax; i++) {
856  fout << sr.symetricZS_[i] << " ";
857  }
858  fout << std::endl;
859 
860  imax = sr.srpLowInterestChannelZS_.size();
861  fout << " srpLowInterestChannelZS[" << imax << "] ";
862  for (int i = 0; i < imax; i++) {
863  fout << sr.srpLowInterestChannelZS_[i] << " ";
864  }
865  fout << std::endl;
866 
867  imax = sr.srpHighInterestChannelZS_.size();
868  fout << " srpHighInterestChannelZS[" << imax << "] ";
869  for (int i = 0; i < imax; i++) {
870  fout << sr.srpHighInterestChannelZS_[i] << " ";
871  }
872  fout << std::endl;
873 
874  imax = sr.actions_.size();
875  fout << " actions[" << imax << "] ";
876  for (int i = 0; i < imax; i++) {
877  fout << sr.actions_[i] << " ";
878  }
879  fout << std::endl;
880 
881  imax = sr.tccMasksFromConfig_.size();
882  fout << " tccMasksFromConfig[" << imax << "] ";
883  for (int i = 0; i < imax; i++) {
884  fout << sr.tccMasksFromConfig_[i] << " ";
885  }
886  fout << std::endl;
887 
888  fout << " srpMasksFromConfig" << std::endl;
889  for (int i = 0; i < (int)sr.srpMasksFromConfig_.size(); ++i) {
890  for (int j = 0; j < (int)sr.srpMasksFromConfig_[i].size(); ++j)
891  fout << sr.srpMasksFromConfig_[i][j] << " ";
892  fout << std::endl;
893  }
894 
895  imax = sr.dccMasks_.size();
896  fout << " dccMasks[" << imax << "] ";
897  for (int i = 0; i < imax; i++) {
898  fout << sr.dccMasks_[i] << " ";
899  }
900  fout << std::endl;
901 
902  imax = sr.srfMasks_.size();
903  fout << " srfMasks[" << imax << "] ";
904  for (int i = 0; i < imax; i++) {
905  fout << sr.srfMasks_[i] << " ";
906  }
907  fout << std::endl;
908 
909  fout << "substitutionSrfs" << std::endl;
910  for (int i = 0; i < (int)sr.substitutionSrfs_.size(); ++i) {
911  for (int j = 0; j < (int)sr.substitutionSrfs_[i].size(); ++j)
912  fout << sr.substitutionSrfs_[i][j] << " ";
913  fout << std::endl;
914  }
915 
916  imax = sr.testerTccEmuSrpIds_.size();
917  fout << " testerTccEmuSrpIds[" << imax << "] ";
918  for (int i = 0; i < imax; i++) {
919  fout << sr.testerTccEmuSrpIds_[i] << " ";
920  }
921  fout << std::endl;
922 
923  imax = sr.testerSrpEmuSrpIds_.size();
924  fout << " testerSrpEmuSrpIds[" << imax << "] ";
925  for (int i = 0; i < imax; i++) {
926  fout << sr.testerSrpEmuSrpIds_[i] << " ";
927  }
928  fout << std::endl;
929 
930  imax = sr.testerDccTestSrpIds_.size();
931  fout << " testerDccTestSrpIds[" << imax << "] ";
932  for (int i = 0; i < imax; i++) {
933  fout << sr.testerDccTestSrpIds_[i] << " ";
934  }
935  fout << std::endl;
936 
937  imax = sr.testerSrpTestSrpIds_.size();
938  fout << " testerSrpTestSrpIds[" << imax << "] ";
939  for (int i = 0; i < imax; i++) {
940  fout << sr.testerSrpTestSrpIds_[i] << " ";
941  }
942  fout << std::endl;
943 
944  imax = sr.bxOffsets_.size();
945  fout << " bxOffsets[" << imax << "] ";
946  for (int i = 0; i < imax; i++) {
947  fout << sr.bxOffsets_[i] << " ";
948  }
949  fout << std::endl;
950 
951  fout << " bxGlobalOffset " << sr.bxGlobalOffset_ << std::endl;
952  fout << " automaticMasks " << sr.automaticMasks_ << std::endl;
953  fout << " automaticSrpSelect " << sr.automaticSrpSelect_ << std::endl;
954 }
955 
957  sref.deltaEta_ = sr.deltaEta_;
958  sref.deltaPhi_ = sr.deltaPhi_;
960  sref.ebDccAdcToGeV_ = sr.ebDccAdcToGeV_;
961  sref.eeDccAdcToGeV_ = sr.eeDccAdcToGeV_;
963  sref.symetricZS_ = sr.symetricZS_;
966  sref.actions_ = sr.actions_;
969  sref.dccMasks_ = sr.dccMasks_;
970  sref.srfMasks_ = sr.srfMasks_;
976  sref.bxOffsets_ = sr.bxOffsets_;
980 }
ODWeightsSamplesDat
Definition: ODWeightsSamplesDat.h:12
ODDCCConfig::getDCCClob
unsigned char * getDCCClob() const
Definition: ODDCCConfig.h:42
EcalCondDBInterface
Definition: EcalCondDBInterface.h:37
ODEcalCycle
Definition: ODEcalCycle.h:9
ODEcalCycle::getSRPId
int getSRPId() const
Definition: ODEcalCycle.h:64
HLT_2018_cff.weights
weights
Definition: HLT_2018_cff.py:87167
EcalSRSettings::srpLowInterestChannelZS_
std::vector< float > srpLowInterestChannelZS_
Definition: EcalSRSettings.h:121
ODSRPConfig::getAutomaticMasks
int getAutomaticMasks() const
Definition: ODSRPConfig.h:38
mps_fire.i
i
Definition: mps_fire.py:355
popcon::EcalSRPHandler::m_lastRun
unsigned long m_lastRun
Definition: EcalSRPHandler.h:55
EcalSRSettings::substitutionSrfs_
std::vector< std::vector< short > > substitutionSrfs_
Definition: EcalSRSettings.h:189
ODRunConfigInfo::getId
int getId() const
Definition: ODRunConfigInfo.h:21
ODDCCConfig::getDCCWeightsMode
std::string getDCCWeightsMode() const
Definition: ODDCCConfig.h:45
cmsswSequenceInfo.seq
seq
Definition: cmsswSequenceInfo.py:540
ODSRPConfig::getAutomaticSrpSelect
int getAutomaticSrpSelect() const
Definition: ODSRPConfig.h:41
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
RunList
Definition: RunList.h:16
ODEcalCycle::getDCCId
int getDCCId() const
Definition: ODEcalCycle.h:40
popcon::EcalSRPHandler::~EcalSRPHandler
~EcalSRPHandler() override
Definition: EcalSRPHandler.cc:48
ODSRPConfig::getSRP0BunchAdjustPosition
int getSRP0BunchAdjustPosition() const
Definition: ODSRPConfig.h:44
RunTag
Definition: RunTag.h:13
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
gather_cfg.cout
cout
Definition: gather_cfg.py:144
ODDCCConfig
Definition: ODDCCConfig.h:15
test_db_connect.econn
econn
Definition: test_db_connect.py:10
LocationDef
Definition: LocationDef.h:12
DeadROCCounter.getRunNumber
def getRunNumber(filename)
Definition: DeadROCCounter.py:7
RunConfigDat.h
EcalSRSettings::srpMasksFromConfig_
std::vector< std::vector< short > > srpMasksFromConfig_
Definition: EcalSRSettings.h:177
writedatasetfile.parser
parser
Definition: writedatasetfile.py:7
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:152
popcon::EcalSRPHandler::ChangePayload
void ChangePayload(EcalSRSettings &sref, EcalSRSettings &sr)
Definition: EcalSRPHandler.cc:956
EcalSRSettings::actions_
std::vector< int > actions_
Definition: EcalSRSettings.h:168
popcon::EcalSRPHandler::getNewObjects
void getNewObjects() override
Definition: EcalSRPHandler.cc:50
RunConfigDat
Definition: RunConfigDat.h:11
ODWeightsDat
Definition: ODWeightsDat.h:12
ODEcalCycle::setSequenceId
void setSequenceId(int x)
Definition: ODEcalCycle.h:28
ODFEDAQConfig::getWeightId
int getWeightId() const
Definition: ODFEDAQConfig.h:31
EcalSRSettings.h
ODWeightsSamplesDat::setId
void setId(int dac)
Definition: ODWeightsSamplesDat.h:21
contentValuesCheck.ss
ss
Definition: contentValuesCheck.py:33
EcalSRSettings::deltaEta_
std::vector< int > deltaEta_
Definition: EcalSRSettings.h:58
cms::xerces::toString
std::string toString(XMLCh const *toTranscode)
Definition: XercesStrUtils.h:34
popcon::EcalSRPHandler::PrintPayload
void PrintPayload(EcalSRSettings &sr, std::ofstream &fout)
Definition: EcalSRPHandler.cc:819
FEConfigMainInfo.h
ODSRPConfig::getSRPClob
unsigned char * getSRPClob() const
Definition: ODSRPConfig.h:50
RunTag::setGeneralTag
void setGeneralTag(std::string tag)
Definition: RunTag.cc:24
ODFEDAQConfig::setId
void setId(int id)
Definition: ODFEDAQConfig.h:18
CaloTPGTranscoder_cfi.ZS
ZS
Definition: CaloTPGTranscoder_cfi.py:22
ODRunConfigInfo.h
test_db_connect.my_rundef
my_rundef
Definition: test_db_connect.py:13
popcon::EcalSRPHandler::m_gentag
std::string m_gentag
Definition: EcalSRPHandler.h:62
w
const double w
Definition: UKUtility.cc:23
popcon::EcalSRPHandler::m_firstRun
unsigned long m_firstRun
Definition: EcalSRPHandler.h:54
popcon::EcalSRPHandler::m_debug
bool m_debug
Definition: EcalSRPHandler.h:64
XERCES_CPP_NAMESPACE
Definition: XmlConfigParser.h:12
corrVsCorr.filename
filename
Definition: corrVsCorr.py:123
popcon::EcalSRPHandler::importDccConfigFile
void importDccConfigFile(EcalSRSettings &sr, const std::string &filename, bool debug=false)
Definition: EcalSRPHandler.cc:736
EcalSRSettings::symetricZS_
std::vector< int > symetricZS_
Definition: EcalSRSettings.h:111
ODWeightsSamplesDat::getSampleId
int getSampleId() const
Definition: ODWeightsSamplesDat.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalSubdetector.h
RunTypeDef
Definition: RunTypeDef.h:12
EcalSRSettings::testerSrpTestSrpIds_
std::vector< int > testerSrpTestSrpIds_
Definition: EcalSRSettings.h:197
test_db_connect.my_locdef
my_locdef
Definition: test_db_connect.py:11
cppFunctionSkipper.exception
exception
Definition: cppFunctionSkipper.py:10
EcalSRSettings::srfMasks_
std::vector< short > srfMasks_
Definition: EcalSRSettings.h:185
edm::ParameterSet
Definition: ParameterSet.h:36
popcon::EcalSRPHandler::EcalSRPHandler
EcalSRPHandler(edm::ParameterSet const &)
Definition: EcalSRPHandler.cc:33
popcon::EcalSRPHandler::m_i_version
int m_i_version
Definition: EcalSRPHandler.h:65
DOMHelperFunctions.h
ODRunConfigInfo::setVersion
void setVersion(int x)
Definition: ODRunConfigInfo.h:32
RunFEConfigDat
Definition: RunFEConfigDat.h:12
EcalSRSettings::testerDccTestSrpIds_
std::vector< int > testerDccTestSrpIds_
Definition: EcalSRSettings.h:196
EcalSRCondTools.h
popcon::EcalSRPHandler::m_user
std::string m_user
Definition: EcalSRPHandler.h:57
groupFilesInBlocks.fout
fout
Definition: groupFilesInBlocks.py:162
createfilelist.int
int
Definition: createfilelist.py:10
EcalSRSettings::dccMasks_
std::vector< short > dccMasks_
Definition: EcalSRSettings.h:181
Xerces.h
EcalSRPHandler.h
cms::concurrency::xercesTerminate
void xercesTerminate()
Definition: Xerces.cc:23
ODSRPConfig::setId
void setId(int id)
Definition: ODSRPConfig.h:25
EcalSRCondTools::importSrpConfigFile
static void importSrpConfigFile(EcalSRSettings &sr, std::istream &f, bool debug=false)
Definition: EcalSRCondTools.cc:187
xuti
Definition: DOMHelperFunctions.h:21
ecalTB2006H4_GenSimDigiReco_cfg.mySample
mySample
Definition: ecalTB2006H4_GenSimDigiReco_cfg.py:5
EcalSRSettings::bxGlobalOffset_
short bxGlobalOffset_
Definition: EcalSRSettings.h:208
EcalSRSettings::deltaPhi_
std::vector< int > deltaPhi_
Definition: EcalSRSettings.h:71
EcalSRSettings::ebDccAdcToGeV_
float ebDccAdcToGeV_
ADC to GeV conversion factor used in ZS filter for EB.
Definition: EcalSRSettings.h:83
EcalSRSettings::testerSrpEmuSrpIds_
std::vector< int > testerSrpEmuSrpIds_
Definition: EcalSRSettings.h:195
EcalSRSettings::bxOffsets_
std::vector< short > bxOffsets_
Definition: EcalSRSettings.h:203
ODRunConfigInfo
Definition: ODRunConfigInfo.h:12
ODRunConfigSeqInfo.h
popcon::EcalSRPHandler::m_pass
std::string m_pass
Definition: EcalSRPHandler.h:58
FEConfigBadTTInfo.h
ODEcalCycle::getId
int getId() const
Definition: ODEcalCycle.h:20
alignmentValidation.fname
string fname
main script
Definition: alignmentValidation.py:959
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
EcalSRSettings
Definition: EcalSRSettings.h:29
EcalSRSettings::dccNormalizedWeights_
std::vector< std::vector< float > > dccNormalizedWeights_
Definition: EcalSRSettings.h:99
type
type
Definition: HCALResponse.h:21
std
Definition: JetResolutionObject.h:76
ODSRPConfig::getSRPClobSize
unsigned int getSRPClobSize() const
Definition: ODSRPConfig.h:51
writedatasetfile.dataset
dataset
Definition: writedatasetfile.py:19
ODRunConfigInfo::setTag
void setTag(std::string x)
Definition: ODRunConfigInfo.h:26
RunTag::setLocationDef
void setLocationDef(const LocationDef &locDef)
Definition: RunTag.cc:33
RunFEConfigDat::getConfigId
int getConfigId() const
Definition: RunFEConfigDat.h:21
ODDCCConfig::setId
void setId(int id)
Definition: ODDCCConfig.h:24
EcalSRSettings::ecalDccZs1stSample_
std::vector< int > ecalDccZs1stSample_
Definition: EcalSRSettings.h:80
EcalCondHeader.h
ODFEDAQConfig
Definition: ODFEDAQConfig.h:9
EcalSRSettings::eeDccAdcToGeV_
float eeDccAdcToGeV_
ADC to GeV conversion factor used in ZS filter for EE.
Definition: EcalSRSettings.h:85
reco::JetExtendedAssociation::Ref
edm::Ref< Container > Ref
Definition: JetExtendedAssociation.h:32
EcalSRSettings::testerTccEmuSrpIds_
std::vector< int > testerTccEmuSrpIds_
Definition: EcalSRSettings.h:194
popcon::EcalSRPHandler::m_sid
std::string m_sid
Definition: EcalSRPHandler.h:56
Exception
Definition: hltDiff.cc:246
RunConfigDat::getConfigVersion
int getConfigVersion() const
Definition: RunConfigDat.h:23
RunList::getRuns
std::vector< RunIOV > getRuns()
Definition: RunList.cc:25
ParameterSetfwd.h
popcon::EcalSRPHandler::m_location
std::string m_location
Definition: EcalSRPHandler.h:60
ODDCCConfig::getDCCClobSize
unsigned int getDCCClobSize() const
Definition: ODDCCConfig.h:43
dumpRecoGeometry_cfg.tagInfo
tagInfo
Definition: dumpRecoGeometry_cfg.py:194
EcalSRSettings::srpHighInterestChannelZS_
std::vector< float > srpHighInterestChannelZS_
Definition: EcalSRSettings.h:131
dataset
Definition: dataset.py:1
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
RunTag::setRunTypeDef
void setRunTypeDef(const RunTypeDef &runTypeDef)
Definition: RunTag.cc:42
popcon::EcalSRPHandler::m_runtype
std::string m_runtype
Definition: EcalSRPHandler.h:61
spu::def
int def(FILE *, FILE *, int)
Definition: SherpackUtilities.cc:14
RunConfigDat::getConfigTag
std::string getConfigTag() const
Definition: RunConfigDat.h:20
timingPdfMaker.outfile
outfile
Definition: timingPdfMaker.py:351
EcalSRSettings::automaticMasks_
int automaticMasks_
Definition: EcalSRSettings.h:213
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
EcalSRSettings::automaticSrpSelect_
int automaticSrpSelect_
Definition: EcalSRSettings.h:218
child
Definition: simpleInheritance.h:11
cms::concurrency::xercesInitialize
void xercesInitialize()
Definition: Xerces.cc:18
EcalSRSettings::tccMasksFromConfig_
std::vector< short > tccMasksFromConfig_
Definition: EcalSRSettings.h:172
popcon::EcalSRPHandler::m_i_tag
std::string m_i_tag
Definition: EcalSRPHandler.h:63
xuti::GetNodeData
void GetNodeData(xercesc::DOMNode *node, T &value)
get the node data
Definition: DOMHelperFunctions.h:38
ODSRPConfig
Definition: ODSRPConfig.h:16
ODRunConfigSeqInfo
Definition: ODRunConfigSeqInfo.h:15
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37