CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Attributes
popcon::EcalSRPHandler Class Reference

#include <EcalSRPHandler.h>

Inheritance diagram for popcon::EcalSRPHandler:
popcon::PopConSourceHandler< EcalSRSettings >

Public Member Functions

void ChangePayload (EcalSRSettings &sref, EcalSRSettings &sr)
 
 EcalSRPHandler (edm::ParameterSet const &)
 
void getNewObjects () override
 
std::string id () const override
 
void importDccConfigFile (EcalSRSettings &sr, const std::string &filename, bool debug=false)
 
void PrintPayload (EcalSRSettings &sr, std::ofstream &fout)
 
 ~EcalSRPHandler () override
 
- Public Member Functions inherited from popcon::PopConSourceHandler< EcalSRSettings >
void convertFromOld ()
 
SummarydummySummary (typename OldContainer::value_type const &) const
 
void initialize (const cond::persistency::Session &dbSession, cond::TagInfo_t const &tagInfo, cond::LogDBEntry_t const &logDBEntry)
 
Ref lastPayload () const
 
cond::LogDBEntry_t const & logDBEntry () const
 
std::pair< Container const *, std::string const > operator() (const cond::persistency::Session &session, cond::TagInfo_t const &tagInfo, cond::LogDBEntry_t const &logDBEntry) const
 
 PopConSourceHandler ()
 
Container const & returnData ()
 
void sort ()
 
cond::TagInfo_t const & tagInfo () const
 
std::string const & userTextLog () const
 
virtual ~PopConSourceHandler ()
 

Public Attributes

EcalCondDBInterfaceeconn
 

Private Attributes

bool m_debug
 
unsigned long m_firstRun
 
std::string m_gentag
 
std::string m_i_tag
 
int m_i_version
 
unsigned long m_lastRun
 
std::string m_location
 
std::string m_name
 
std::string m_pass
 
std::string m_runtype
 
std::string m_sid
 
std::string m_user
 

Additional Inherited Members

- Public Types inherited from popcon::PopConSourceHandler< EcalSRSettings >
typedef std::vector< Triplet > Container
 
typedef std::vector< std::pair< EcalSRSettings *, cond::Time_t > > OldContainer
 
typedef PopConSourceHandler< EcalSRSettingsself
 
typedef cond::Summary Summary
 
typedef cond::Time_t Time_t
 
typedef EcalSRSettings value_type
 
- Protected Member Functions inherited from popcon::PopConSourceHandler< EcalSRSettings >
int add (value_type *payload, Summary *summary, Time_t time)
 
cond::persistency::SessiondbSession () const
 
- Protected Attributes inherited from popcon::PopConSourceHandler< EcalSRSettings >
OldContainer m_to_transfer
 
std::string m_userTextLog
 

Detailed Description

Definition at line 41 of file EcalSRPHandler.h.

Constructor & Destructor Documentation

popcon::EcalSRPHandler::EcalSRPHandler ( edm::ParameterSet const &  )

Definition at line 33 of file EcalSRPHandler.cc.

References edm::ParameterSet::getParameter(), m_debug, m_firstRun, m_gentag, m_i_tag, m_i_version, m_lastRun, m_location, m_pass, m_runtype, m_sid, m_user, and AlCaHLTBitMon_QueryRunRegistry::string.

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 }
unsigned long m_firstRun
unsigned long m_lastRun
popcon::EcalSRPHandler::~EcalSRPHandler ( )
override

Definition at line 48 of file EcalSRPHandler.cc.

48 {}

Member Function Documentation

void popcon::EcalSRPHandler::ChangePayload ( EcalSRSettings sref,
EcalSRSettings sr 
)

Definition at line 956 of file EcalSRPHandler.cc.

References EcalSRSettings::actions_, EcalSRSettings::automaticMasks_, EcalSRSettings::automaticSrpSelect_, EcalSRSettings::bxGlobalOffset_, EcalSRSettings::bxOffsets_, EcalSRSettings::dccMasks_, EcalSRSettings::dccNormalizedWeights_, EcalSRSettings::deltaEta_, EcalSRSettings::deltaPhi_, EcalSRSettings::ebDccAdcToGeV_, EcalSRSettings::ecalDccZs1stSample_, EcalSRSettings::eeDccAdcToGeV_, EcalSRSettings::srfMasks_, EcalSRSettings::srpHighInterestChannelZS_, EcalSRSettings::srpLowInterestChannelZS_, EcalSRSettings::srpMasksFromConfig_, EcalSRSettings::substitutionSrfs_, EcalSRSettings::symetricZS_, EcalSRSettings::tccMasksFromConfig_, EcalSRSettings::testerDccTestSrpIds_, EcalSRSettings::testerSrpEmuSrpIds_, EcalSRSettings::testerSrpTestSrpIds_, and EcalSRSettings::testerTccEmuSrpIds_.

Referenced by getNewObjects().

956  {
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 }
std::vector< short > srfMasks_
std::vector< std::vector< float > > dccNormalizedWeights_
std::vector< int > testerSrpEmuSrpIds_
std::vector< float > srpHighInterestChannelZS_
std::vector< int > actions_
std::vector< std::vector< short > > substitutionSrfs_
std::vector< int > testerDccTestSrpIds_
std::vector< int > ecalDccZs1stSample_
std::vector< short > tccMasksFromConfig_
std::vector< short > bxOffsets_
std::vector< short > dccMasks_
std::vector< int > deltaPhi_
std::vector< int > symetricZS_
float ebDccAdcToGeV_
ADC to GeV conversion factor used in ZS filter for EB.
std::vector< int > testerTccEmuSrpIds_
std::vector< float > srpLowInterestChannelZS_
std::vector< int > deltaEta_
std::vector< int > testerSrpTestSrpIds_
float eeDccAdcToGeV_
ADC to GeV conversion factor used in ZS filter for EE.
std::vector< std::vector< short > > srpMasksFromConfig_
void popcon::EcalSRPHandler::getNewObjects ( )
overridevirtual

Implements popcon::PopConSourceHandler< EcalSRSettings >.

Definition at line 50 of file EcalSRPHandler.cc.

References EcalSRSettings::actions_, EcalSRSettings::automaticMasks_, EcalSRSettings::automaticSrpSelect_, EcalSRSettings::bxGlobalOffset_, EcalSRSettings::bxOffsets_, ChangePayload(), gather_cfg::cout, writedatasetfile::dataset, EcalSRSettings::dccMasks_, EcalSRSettings::dccNormalizedWeights_, def, EcalSRSettings::deltaEta_, EcalSRSettings::deltaPhi_, MillePedeFileConverter_cfg::e, EcalSRSettings::ebDccAdcToGeV_, EcalSRSettings::ecalDccZs1stSample_, econn, EcalSRSettings::eeDccAdcToGeV_, cppFunctionSkipper::exception, Exception, f, EcalCondDBInterface::fetchConfigSet(), EcalCondDBInterface::fetchDataSet(), EcalCondDBInterface::fetchRunListByLocation(), alignmentValidation::fname, groupFilesInBlocks::fout, ODSRPConfig::getAutomaticMasks(), ODSRPConfig::getAutomaticSrpSelect(), RunFEConfigDat::getConfigId(), RunConfigDat::getConfigTag(), RunConfigDat::getConfigVersion(), ODDCCConfig::getDCCClob(), ODDCCConfig::getDCCClobSize(), ODEcalCycle::getDCCId(), ODDCCConfig::getDCCWeightsMode(), ODEcalCycle::getId(), ODRunConfigInfo::getId(), DeadROCCounter::getRunNumber(), RunList::getRuns(), ODWeightsSamplesDat::getSampleId(), ODRunConfigSeqInfo::getSequenceId(), ODSRPConfig::getSRP0BunchAdjustPosition(), ODSRPConfig::getSRPClob(), ODSRPConfig::getSRPClobSize(), ODEcalCycle::getSRPId(), ODWeightsDat::getWeight(), ODFEDAQConfig::getWeightId(), mps_fire::i, importDccConfigFile(), EcalSRCondTools::importSrpConfigFile(), createfilelist::int, cond::TagInfo_t::lastInterval, popcon::PopConSourceHandler< EcalSRSettings >::lastPayload(), m_debug, m_firstRun, m_gentag, m_i_tag, m_i_version, m_lastRun, m_location, m_pass, m_runtype, m_sid, popcon::PopConSourceHandler< EcalSRSettings >::m_to_transfer, m_user, popcon::PopConSourceHandler< EcalSRSettings >::m_userTextLog, ecalTB2006H4_GenSimDigiReco_cfg::mySample, MillePedeFileConverter_cfg::out, timingPdfMaker::outfile, AlCaHLTBitMon_ParallelJobs::p, PrintPayload(), ODRunConfigSeqInfo::setEcalConfigId(), RunTag::setGeneralTag(), ODFEDAQConfig::setId(), ODWeightsDat::setId(), ODWeightsSamplesDat::setId(), ODDCCConfig::setId(), ODSRPConfig::setId(), LocationDef::setLocation(), RunTag::setLocationDef(), RunTypeDef::setRunType(), RunTag::setRunTypeDef(), ODEcalCycle::setSequenceId(), ODRunConfigSeqInfo::setSequenceNumber(), ODRunConfigInfo::setTag(), ODRunConfigInfo::setVersion(), EcalSRSettings::srfMasks_, EcalSRSettings::srpHighInterestChannelZS_, EcalSRSettings::srpLowInterestChannelZS_, EcalSRSettings::srpMasksFromConfig_, contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, EcalSRSettings::substitutionSrfs_, EcalSRSettings::symetricZS_, popcon::PopConSourceHandler< EcalSRSettings >::tagInfo(), EcalSRSettings::tccMasksFromConfig_, EcalSRSettings::testerDccTestSrpIds_, EcalSRSettings::testerSrpEmuSrpIds_, EcalSRSettings::testerSrpTestSrpIds_, EcalSRSettings::testerTccEmuSrpIds_, and HGCalRecHit_cfi::weights.

50  {
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.first;
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;
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 
101  LocationDef my_locdef;
102  my_locdef.setLocation(m_location);
103 
104  RunTypeDef my_rundef;
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);
128  fout.open(outfile, std::fstream::out);
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 
221  ODRunConfigSeqInfo seq;
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 }
unsigned long m_firstRun
void setId(int dac)
Definition: ODWeightsDat.h:21
void setRunTypeDef(const RunTypeDef &runTypeDef)
Definition: RunTag.cc:42
void setSequenceId(int x)
Definition: ODEcalCycle.h:28
static void importSrpConfigFile(EcalSRSettings &sr, std::istream &f, bool debug=false)
unsigned int getDCCClobSize() const
Definition: ODDCCConfig.h:43
std::vector< RunIOV > getRuns()
Definition: RunList.cc:25
EcalCondDBInterface * econn
void setId(int id)
Definition: ODFEDAQConfig.h:18
void setSequenceNumber(int x)
Definition: RunTag.h:13
std::vector< short > srfMasks_
std::vector< std::vector< float > > dccNormalizedWeights_
std::vector< int > testerSrpEmuSrpIds_
unsigned int getSRPClobSize() const
Definition: ODSRPConfig.h:51
void fetchConfigSet(ICONF *iconf) noexcept(false)
void fetchDataSet(std::map< EcalLogicID, DATT > *fillMap, IOVT *iov) noexcept(false)
int getDCCId() const
Definition: ODEcalCycle.h:40
std::vector< float > srpHighInterestChannelZS_
int getSequenceId() const
std::vector< int > actions_
int getAutomaticMasks() const
Definition: ODSRPConfig.h:38
cond::ValidityInterval lastInterval
Definition: Types.h:74
std::vector< std::vector< short > > substitutionSrfs_
std::vector< int > testerDccTestSrpIds_
unsigned long m_lastRun
void ChangePayload(EcalSRSettings &sref, EcalSRSettings &sr)
int getConfigVersion() const
Definition: RunConfigDat.h:23
std::vector< int > ecalDccZs1stSample_
void setVersion(int x)
double f[11][100]
int getAutomaticSrpSelect() const
Definition: ODSRPConfig.h:41
std::string getDCCWeightsMode() const
Definition: ODDCCConfig.h:45
int getSRPId() const
Definition: ODEcalCycle.h:64
int getId() const
Definition: ODEcalCycle.h:20
std::vector< short > tccMasksFromConfig_
void setLocationDef(const LocationDef &locDef)
Definition: RunTag.cc:33
std::vector< short > bxOffsets_
int getSRP0BunchAdjustPosition() const
Definition: ODSRPConfig.h:44
std::vector< short > dccMasks_
std::vector< int > deltaPhi_
RunList fetchRunListByLocation(const RunTag &tag, int min_run, int max_run, const LocationDef &locDef) noexcept(false)
unsigned char * getDCCClob() const
Definition: ODDCCConfig.h:42
unsigned char * getSRPClob() const
Definition: ODSRPConfig.h:50
std::vector< std::vector< float > > getWeight() const
Definition: ODWeightsDat.h:52
def getRunNumber(filename)
std::vector< int > symetricZS_
void setRunType(std::string runtype)
Definition: RunTypeDef.cc:21
int getConfigId() const
int getId() const
float ebDccAdcToGeV_
ADC to GeV conversion factor used in ZS filter for EB.
void importDccConfigFile(EcalSRSettings &sr, const std::string &filename, bool debug=false)
std::vector< int > testerTccEmuSrpIds_
void setEcalConfigId(int x)
string fname
main script
std::vector< float > srpLowInterestChannelZS_
std::vector< int > deltaEta_
std::string getConfigTag() const
Definition: RunConfigDat.h:20
std::vector< int > testerSrpTestSrpIds_
void setId(int id)
Definition: ODDCCConfig.h:24
void setTag(std::string x)
void setLocation(std::string loc)
Definition: LocationDef.cc:20
int getWeightId() const
Definition: ODFEDAQConfig.h:31
void setId(int id)
Definition: ODSRPConfig.h:25
float eeDccAdcToGeV_
ADC to GeV conversion factor used in ZS filter for EE.
void setGeneralTag(std::string tag)
Definition: RunTag.cc:24
JetCorrectorParameters::Definitions def
Definition: classes.h:6
void PrintPayload(EcalSRSettings &sr, std::ofstream &fout)
std::vector< std::vector< short > > srpMasksFromConfig_
std::string popcon::EcalSRPHandler::id ( ) const
inlineoverridevirtual

Implements popcon::PopConSourceHandler< EcalSRSettings >.

Definition at line 47 of file EcalSRPHandler.h.

47 { return m_name; }
void popcon::EcalSRPHandler::importDccConfigFile ( EcalSRSettings sr,
const std::string &  filename,
bool  debug = false 
)

Definition at line 736 of file EcalSRPHandler.cc.

References gather_cfg::cout, EcalSRSettings::dccNormalizedWeights_, EcalSRSettings::ecalDccZs1stSample_, xuti::GetNodeData(), info(), dqmiolumiharvest::j, writedatasetfile::parser, EcalSRSettings::srpHighInterestChannelZS_, EcalSRSettings::srpLowInterestChannelZS_, AlCaHLTBitMon_QueryRunRegistry::string, cms::xerces::toString(), w, cms::concurrency::xercesInitialize(), cms::concurrency::xercesTerminate(), and CaloTPGTranscoder_cfi::ZS.

Referenced by getNewObjects().

736  {
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 }
type
Definition: HCALResponse.h:21
static const TGPicture * info(bool iBackgroundIsBlack)
const double w
Definition: UKUtility.cc:23
void xercesTerminate()
Definition: Xerces.cc:23
std::vector< std::vector< float > > dccNormalizedWeights_
void xercesInitialize()
Definition: Xerces.cc:18
std::vector< float > srpHighInterestChannelZS_
std::string toString(XMLCh const *toTranscode)
std::vector< int > ecalDccZs1stSample_
void GetNodeData(xercesc::DOMNode *node, T &value)
get the node data
std::vector< float > srpLowInterestChannelZS_
void popcon::EcalSRPHandler::PrintPayload ( EcalSRSettings sr,
std::ofstream &  fout 
)

Definition at line 819 of file EcalSRPHandler.cc.

References EcalSRSettings::actions_, EcalSRSettings::automaticMasks_, EcalSRSettings::automaticSrpSelect_, EcalSRSettings::bxGlobalOffset_, EcalSRSettings::bxOffsets_, EcalSRSettings::dccMasks_, EcalSRSettings::dccNormalizedWeights_, EcalSRSettings::deltaEta_, EcalSRSettings::deltaPhi_, EcalSRSettings::ebDccAdcToGeV_, EcalSRSettings::ecalDccZs1stSample_, EcalSRSettings::eeDccAdcToGeV_, mps_fire::i, createfilelist::int, dqmiolumiharvest::j, EcalSRSettings::srfMasks_, EcalSRSettings::srpHighInterestChannelZS_, EcalSRSettings::srpLowInterestChannelZS_, EcalSRSettings::srpMasksFromConfig_, EcalSRSettings::substitutionSrfs_, EcalSRSettings::symetricZS_, EcalSRSettings::tccMasksFromConfig_, EcalSRSettings::testerDccTestSrpIds_, EcalSRSettings::testerSrpEmuSrpIds_, EcalSRSettings::testerSrpTestSrpIds_, and EcalSRSettings::testerTccEmuSrpIds_.

Referenced by getNewObjects().

819  {
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 }
std::vector< short > srfMasks_
std::vector< std::vector< float > > dccNormalizedWeights_
std::vector< int > testerSrpEmuSrpIds_
std::vector< float > srpHighInterestChannelZS_
std::vector< int > actions_
std::vector< std::vector< short > > substitutionSrfs_
std::vector< int > testerDccTestSrpIds_
std::vector< int > ecalDccZs1stSample_
std::vector< short > tccMasksFromConfig_
std::vector< short > bxOffsets_
std::vector< short > dccMasks_
std::vector< int > deltaPhi_
std::vector< int > symetricZS_
float ebDccAdcToGeV_
ADC to GeV conversion factor used in ZS filter for EB.
std::vector< int > testerTccEmuSrpIds_
std::vector< float > srpLowInterestChannelZS_
std::vector< int > deltaEta_
std::vector< int > testerSrpTestSrpIds_
float eeDccAdcToGeV_
ADC to GeV conversion factor used in ZS filter for EE.
std::vector< std::vector< short > > srpMasksFromConfig_

Member Data Documentation

EcalCondDBInterface* popcon::EcalSRPHandler::econn

Definition at line 48 of file EcalSRPHandler.h.

Referenced by getNewObjects().

bool popcon::EcalSRPHandler::m_debug
private

Definition at line 64 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

unsigned long popcon::EcalSRPHandler::m_firstRun
private

Definition at line 54 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

std::string popcon::EcalSRPHandler::m_gentag
private

Definition at line 62 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

std::string popcon::EcalSRPHandler::m_i_tag
private

Definition at line 63 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

int popcon::EcalSRPHandler::m_i_version
private

Definition at line 65 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

unsigned long popcon::EcalSRPHandler::m_lastRun
private

Definition at line 55 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

std::string popcon::EcalSRPHandler::m_location
private

Definition at line 60 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

std::string popcon::EcalSRPHandler::m_name
private

Definition at line 59 of file EcalSRPHandler.h.

std::string popcon::EcalSRPHandler::m_pass
private

Definition at line 58 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

std::string popcon::EcalSRPHandler::m_runtype
private

Definition at line 61 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

std::string popcon::EcalSRPHandler::m_sid
private

Definition at line 56 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().

std::string popcon::EcalSRPHandler::m_user
private

Definition at line 57 of file EcalSRPHandler.h.

Referenced by EcalSRPHandler(), and getNewObjects().