CMS 3D CMS Logo

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

#include <EcalDBCopy.h>

Inheritance diagram for EcalDBCopy:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

virtual void analyze (const edm::Event &evt, const edm::EventSetup &evtSetup)
 
 EcalDBCopy (const edm::ParameterSet &iConfig)
 
 ~EcalDBCopy ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

void copyToDB (const edm::EventSetup &evtSetup, std::string container)
 
bool shouldCopy (const edm::EventSetup &evtSetup, std::string container)
 

Private Attributes

std::map< std::string,
unsigned long long > 
m_cacheIDs
 
std::map< std::string,
std::string > 
m_records
 
std::string m_timetype
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 18 of file EcalDBCopy.h.

Constructor & Destructor Documentation

EcalDBCopy::EcalDBCopy ( const edm::ParameterSet iConfig)
explicit

Definition at line 81 of file EcalDBCopy.cc.

References edm::ParameterSet::getParameter(), i, m_cacheIDs, m_records, record, AlCaHLTBitMon_QueryRunRegistry::string, GlobalPosition_Frontier_DevDB_cff::tag, and copyFileAlignEB_cfg::toCopy.

81  :
82  m_timetype(iConfig.getParameter<std::string>("timetype")),
83  m_cacheIDs(),
84  m_records()
85 {
86 
87  std::string container;
90  typedef std::vector< edm::ParameterSet > Parameters;
91  Parameters toCopy = iConfig.getParameter<Parameters>("toCopy");
92  for(Parameters::iterator i = toCopy.begin(); i != toCopy.end(); ++i) {
93  container = i->getParameter<std::string>("container");
94  record = i->getParameter<std::string>("record");
95  m_cacheIDs.insert( std::make_pair(container, 0) );
96  m_records.insert( std::make_pair(container, record) );
97  }
98 
99 }
std::string m_timetype
Definition: EcalDBCopy.h:29
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
JetCorrectorParameters::Record record
Definition: classes.h:7
std::map< std::string, std::string > m_records
Definition: EcalDBCopy.h:31
vector< ParameterSet > Parameters
std::map< std::string, unsigned long long > m_cacheIDs
Definition: EcalDBCopy.h:30
EcalDBCopy::~EcalDBCopy ( )

Definition at line 102 of file EcalDBCopy.cc.

103 {
104 
105 }

Member Function Documentation

void EcalDBCopy::analyze ( const edm::Event evt,
const edm::EventSetup evtSetup 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 107 of file EcalDBCopy.cc.

References copyToDB(), i, m_records, record, shouldCopy(), and AlCaHLTBitMon_QueryRunRegistry::string.

108 {
109 
110  std::string container;
112  typedef std::map<std::string, std::string>::const_iterator recordIter;
113  for (recordIter i = m_records.begin(); i != m_records.end(); ++i) {
114  container = (*i).first;
115  record = (*i).second;
116  if ( shouldCopy(evtSetup, container) ) {
117  copyToDB(evtSetup, container);
118  }
119  }
120 
121 }
int i
Definition: DBlmapReader.cc:9
bool shouldCopy(const edm::EventSetup &evtSetup, std::string container)
Definition: EcalDBCopy.cc:125
JetCorrectorParameters::Record record
Definition: classes.h:7
std::map< std::string, std::string > m_records
Definition: EcalDBCopy.h:31
void copyToDB(const edm::EventSetup &evtSetup, std::string container)
Definition: EcalDBCopy.cc:208
void EcalDBCopy::copyToDB ( const edm::EventSetup evtSetup,
std::string  container 
)
private

Definition at line 208 of file EcalDBCopy.cc.

References cond::service::PoolDBOutputService::beginOfTime(), filterCSVwithJSON::copy, gather_cfg::cout, cond::service::PoolDBOutputService::createNewIOV(), EcalSamplesCorrelation::EBG12SamplesCorrelation, EcalSamplesCorrelation::EBG1SamplesCorrelation, EcalSamplesCorrelation::EBG6SamplesCorrelation, EcalTimeBiasCorrections::EBTimeCorrAmplitudeBins, EcalTimeBiasCorrections::EBTimeCorrShiftBins, EcalSamplesCorrelation::EEG12SamplesCorrelation, EcalSamplesCorrelation::EEG1SamplesCorrelation, EcalSamplesCorrelation::EEG6SamplesCorrelation, EcalTimeBiasCorrections::EETimeCorrAmplitudeBins, EcalTimeBiasCorrections::EETimeCorrShiftBins, cond::service::PoolDBOutputService::endOfTime(), edm::hlt::Exception, edm::EventSetup::get(), patZpeak::handle, edm::Service< T >::isAvailable(), m_records, getGTfromDQMFile::obj, edm::ESHandle< class >::product(), ecalTPGAnalyzer_cfg::recordName, AlCaHLTBitMon_QueryRunRegistry::string, and cond::service::PoolDBOutputService::writeOne().

Referenced by analyze().

209 {
211  if ( !dbOutput.isAvailable() ) {
212  throw cms::Exception("PoolDBOutputService is not available");
213  }
214 
215  std::string recordName = m_records[container];
216 
217  if (container == "EcalPedestals") {
219  evtSetup.get<EcalPedestalsRcd>().get(handle);
220  const EcalPedestals* obj = handle.product();
221  std::cout << "ped pointer is: "<< obj<< std::endl;
222  dbOutput->createNewIOV<const EcalPedestals>( new EcalPedestals(*obj), dbOutput->beginOfTime(),dbOutput->endOfTime(),recordName);
223 
224  } else if (container == "EcalADCToGeVConstant") {
226  evtSetup.get<EcalADCToGeVConstantRcd>().get(handle);
227  const EcalADCToGeVConstant* obj = handle.product();
228  std::cout << "adc pointer is: "<< obj<< std::endl;
229 
230  dbOutput->createNewIOV<const EcalADCToGeVConstant>( new EcalADCToGeVConstant(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
231 
232 
233  } else if (container == "EcalTimeCalibConstants") {
235  evtSetup.get<EcalTimeCalibConstantsRcd>().get(handle);
236  const EcalTimeCalibConstants* obj = handle.product();
237  std::cout << "adc pointer is: "<< obj<< std::endl;
238 
239  dbOutput->createNewIOV<const EcalTimeCalibConstants>( new EcalTimeCalibConstants(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
240 
241  } else if (container == "EcalChannelStatus") {
243  evtSetup.get<EcalChannelStatusRcd>().get(handle);
244  const EcalChannelStatus* obj = handle.product();
245  std::cout << "channel status pointer is: "<< obj<< std::endl;
246 
247  dbOutput->createNewIOV<const EcalChannelStatus>( new EcalChannelStatus(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
248 
249  } else if (container == "EcalDQMChannelStatus") {
251  evtSetup.get<EcalDQMChannelStatusRcd>().get(handle);
252  const EcalDQMChannelStatus* obj = handle.product();
253  std::cout << "DQM channel status pointer is: "<< obj<< std::endl;
254  dbOutput->createNewIOV<const EcalDQMChannelStatus>( new EcalDQMChannelStatus(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
255 
256  } else if (container == "EcalDQMTowerStatus") {
258  evtSetup.get<EcalDQMTowerStatusRcd>().get(handle);
259  const EcalDQMTowerStatus* obj = handle.product();
260  std::cout << "DQM Tower status pointer is: "<< obj<< std::endl;
261  dbOutput->createNewIOV<const EcalDQMTowerStatus>( new EcalDQMTowerStatus(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
262 
263  } else if (container == "EcalDCSTowerStatus") {
265  evtSetup.get<EcalDCSTowerStatusRcd>().get(handle);
266  const EcalDCSTowerStatus* obj = handle.product();
267  std::cout << "channel status pointer is: "<< obj<< std::endl;
268 
269  dbOutput->createNewIOV<const EcalDCSTowerStatus>( new EcalDCSTowerStatus(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
270 
271  } else if (container == "EcalDAQTowerStatus") {
273  evtSetup.get<EcalDAQTowerStatusRcd>().get(handle);
274  const EcalDAQTowerStatus* obj = handle.product();
275  std::cout << "DAQ channel status pointer is: "<< obj<< std::endl;
276 
277  dbOutput->createNewIOV<const EcalDAQTowerStatus>( new EcalDAQTowerStatus(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
278 
279 
280  } else if (container == "EcalTPGCrystalStatus") {
282  evtSetup.get<EcalTPGCrystalStatusRcd>().get(handle);
283  const EcalTPGCrystalStatus* obj = handle.product();
284  std::cout << "TPG channel status pointer is: "<< obj<< std::endl;
285 
286  dbOutput->createNewIOV<const EcalTPGCrystalStatus>( new EcalTPGCrystalStatus(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
287 
288 
289  } else if (container == "EcalIntercalibConstants") {
291  evtSetup.get<EcalIntercalibConstantsRcd>().get(handle);
292  const EcalIntercalibConstants* obj = handle.product();
293  std::cout << "inter pointer is: "<< obj<< std::endl;
294  dbOutput->createNewIOV<const EcalIntercalibConstants>( new EcalIntercalibConstants(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
295 
296  } else if (container == "EcalLinearCorrections") {
298  evtSetup.get<EcalLinearCorrectionsRcd>().get(handle);
299  const EcalLinearCorrections* obj = handle.product();
300  std::cout << "inter pointer is: "<< obj<< std::endl;
301  dbOutput->createNewIOV<const EcalLinearCorrections>( new EcalLinearCorrections(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
302 
303  }
304 else if (container == "EcalIntercalibConstantsMC") {
306  evtSetup.get<EcalIntercalibConstantsMCRcd>().get(handle);
307  const EcalIntercalibConstantsMC* obj = handle.product();
308  std::cout << "intercalib MC pointer is: "<< obj<< std::endl;
309  dbOutput->createNewIOV<const EcalIntercalibConstantsMC>( new EcalIntercalibConstantsMC(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
310 
311  } else if (container == "EcalIntercalibErrors") {
313  evtSetup.get<EcalIntercalibErrorsRcd>().get(handle);
314  const EcalIntercalibErrors* obj = handle.product();
315  std::cout << "inter pointer is: "<< obj<< std::endl;
316  dbOutput->createNewIOV<const EcalIntercalibErrors>( new EcalIntercalibErrors(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
317 
318  } else if (container == "EcalGainRatios") {
320  evtSetup.get<EcalGainRatiosRcd>().get(handle);
321  const EcalGainRatios* obj = handle.product();
322  std::cout << "gain pointer is: "<< obj<< std::endl;
323  dbOutput->createNewIOV<const EcalGainRatios>( new EcalGainRatios(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
324 
325  } else if (container == "EcalWeightXtalGroups") {
327  evtSetup.get<EcalWeightXtalGroupsRcd>().get(handle);
328  const EcalWeightXtalGroups* obj = handle.product();
329  std::cout << "weight pointer is: "<< obj<< std::endl;
330  dbOutput->createNewIOV<const EcalWeightXtalGroups>( new EcalWeightXtalGroups(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
331 
332  } else if (container == "EcalTBWeights") {
334  evtSetup.get<EcalTBWeightsRcd>().get(handle);
335  const EcalTBWeights* obj = handle.product();
336  std::cout << "tbweight pointer is: "<< obj<< std::endl;
337  dbOutput->createNewIOV<const EcalTBWeights>( new EcalTBWeights(*obj), dbOutput->beginOfTime(),dbOutput->endOfTime(),recordName);
338 
339  } else if (container == "EcalLaserAlphas") {
341  evtSetup.get<EcalLaserAlphasRcd>().get(handle);
342  const EcalLaserAlphas* obj = handle.product();
343  std::cout << "ecalLaserAlpha pointer is: "<< obj<< std::endl;
344  dbOutput->createNewIOV<const EcalLaserAlphas>( new EcalLaserAlphas(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
345 
346  } else if (container == "EcalLaserAPDPNRatios") {
348  evtSetup.get<EcalLaserAPDPNRatiosRcd>().get(handle);
349  const EcalLaserAPDPNRatios* obj = handle.product();
350  std::cout << "tbweight pointer is: "<< obj<< std::endl;
351  dbOutput->createNewIOV<const EcalLaserAPDPNRatios>( new EcalLaserAPDPNRatios(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
352 
353  } else if (container == "EcalLaserAPDPNRatiosRef") {
355  evtSetup.get<EcalLaserAPDPNRatiosRefRcd>().get(handle);
356  const EcalLaserAPDPNRatiosRef* obj = handle.product();
357  std::cout << "tbweight pointer is: "<< obj<< std::endl;
358  dbOutput->createNewIOV<const EcalLaserAPDPNRatiosRef>( new EcalLaserAPDPNRatiosRef(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
359 
360 
361  } else if (container == "EcalClusterCrackCorrParameters") {
363  evtSetup.get<EcalClusterCrackCorrParametersRcd>().get(handle);
364  const EcalClusterCrackCorrParameters* obj = handle.product();
365  std::cout << "tbweight pointer is: "<< obj<< std::endl;
367 
368 
369  } else if (container == "EcalClusterEnergyUncertaintyParameters") {
371  evtSetup.get<EcalClusterEnergyUncertaintyParametersRcd>().get(handle);
372  const EcalClusterEnergyUncertaintyParameters* obj = handle.product();
373  std::cout << "tbweight pointer is: "<< obj<< std::endl;
375 
376 
377  } else if (container == "EcalClusterEnergyCorrectionParameters") {
379  evtSetup.get<EcalClusterEnergyCorrectionParametersRcd>().get(handle);
380  const EcalClusterEnergyCorrectionParameters* obj = handle.product();
381  std::cout << "tbweight pointer is: "<< obj<< std::endl;
383 
384  } else if (container == "EcalClusterEnergyCorrectionObjectSpecificParameters") {
388  std::cout << "tbweight pointer is: "<< obj<< std::endl;
390 
391 
392  } else if (container == "EcalClusterLocalContCorrParameters") {
394  evtSetup.get<EcalClusterLocalContCorrParametersRcd>().get(handle);
395  const EcalClusterLocalContCorrParameters* obj = handle.product();
396  std::cout << "tbweight pointer is: "<< obj<< std::endl;
398 
399  } else if (container == "EBAlignment") {
401  evtSetup.get<EBAlignmentRcd>().get(handle);
402  const Alignments* obj = handle.product();
403  std::cout << "EB alignment pointer is: "<< obj<< std::endl;
404  dbOutput->createNewIOV<const Alignments>( new Alignments(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
405 
406  } else if (container == "EEAlignment") {
408  evtSetup.get<EEAlignmentRcd>().get(handle);
409  const Alignments* obj = handle.product();
410  std::cout << "EE alignment pointer is: "<< obj<< std::endl;
411  dbOutput->createNewIOV<const Alignments>( new Alignments(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
412 
413  } else if (container == "ESAlignment") {
415  evtSetup.get<ESAlignmentRcd>().get(handle);
416  const Alignments* obj = handle.product();
417  std::cout << "ES alignment pointer is: "<< obj<< std::endl;
418  dbOutput->createNewIOV<const Alignments>( new Alignments(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
419 
420  } else if (container == "EcalTimeOffsetConstant") {
422  evtSetup.get<EcalTimeOffsetConstantRcd>().get(handle);
423  const EcalTimeOffsetConstant* obj = handle.product();
424  std::cout << "TimeOffset pointer is: "<< obj<< std::endl;
425  dbOutput->createNewIOV<const EcalTimeOffsetConstant>( new EcalTimeOffsetConstant(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
426 
427  } else if (container == "EcalSampleMask") {
429  evtSetup.get<EcalSampleMaskRcd>().get(handle);
430  const EcalSampleMask* obj = handle.product();
431  std::cout << "sample mask pointer is: "<< obj<< std::endl;
432  dbOutput->createNewIOV<const EcalSampleMask>( new EcalSampleMask(*obj),dbOutput->beginOfTime(), dbOutput->endOfTime(),recordName);
433 
434  } else if (container == "EcalTimeBiasCorrections") {
436  evtSetup.get<EcalTimeBiasCorrectionsRcd>().get(handle);
437  const EcalTimeBiasCorrections* obj = handle.product();
438  std::cout << "TimeBiasCorrections pointer is: "<< obj<< std::endl;
440  bias_ = new EcalTimeBiasCorrections();
441  std::vector<float> vect = obj->EBTimeCorrAmplitudeBins;
442  copy(vect.begin(), vect.end(), back_inserter(bias_->EBTimeCorrAmplitudeBins));
443  vect = obj->EBTimeCorrShiftBins;
444  copy(vect.begin(), vect.end(), back_inserter(bias_->EBTimeCorrShiftBins));
445  vect = obj->EETimeCorrAmplitudeBins;
446  copy(vect.begin(), vect.end(), back_inserter(bias_->EETimeCorrAmplitudeBins));
447  vect = obj->EETimeCorrShiftBins;
448  copy(vect.begin(), vect.end(), back_inserter(bias_->EETimeCorrShiftBins));
449  dbOutput->writeOne(bias_, dbOutput->beginOfTime(), "EcalTimeBiasCorrectionsRcd");
450 
451  } else if (container == "EcalSamplesCorrelation") {
453  evtSetup.get<EcalSamplesCorrelationRcd>().get(handle);
454  const EcalSamplesCorrelation* obj = handle.product();
455  std::cout << "SamplesCorrelation pointer is: "<< obj<< std::endl;
456  EcalSamplesCorrelation *correl_;
457  correl_ = new EcalSamplesCorrelation();
458  std::vector<double> vect = obj->EBG12SamplesCorrelation;
459  copy(vect.begin(), vect.end(), back_inserter(correl_->EBG12SamplesCorrelation));
460  vect = obj->EBG6SamplesCorrelation;
461  copy(vect.begin(), vect.end(), back_inserter(correl_->EBG6SamplesCorrelation));
462  vect = obj->EBG1SamplesCorrelation;
463  copy(vect.begin(), vect.end(), back_inserter(correl_->EBG1SamplesCorrelation));
464  vect = obj->EEG12SamplesCorrelation;
465  copy(vect.begin(), vect.end(), back_inserter(correl_->EEG12SamplesCorrelation));
466  vect = obj->EEG6SamplesCorrelation;
467  copy(vect.begin(), vect.end(), back_inserter(correl_->EEG6SamplesCorrelation));
468  vect = obj->EEG1SamplesCorrelation;
469  copy(vect.begin(), vect.end(), back_inserter(correl_->EEG1SamplesCorrelation));
470  dbOutput->writeOne(correl_, dbOutput->beginOfTime(), "EcalSamplesCorrelationRcd");
471 
472 } else {
473  throw cms::Exception("Unknown container");
474  }
475 
476  std::cout<< "EcalDBCopy wrote " << recordName << std::endl;
477 }
EcalDAQTowerStatusMap EcalDAQTowerStatus
EcalIntercalibConstantMCMap EcalIntercalibConstantsMC
std::vector< float > EBTimeCorrShiftBins
EcalFunParams EcalClusterCrackCorrParameters
std::map< std::string, std::string > m_records
Definition: EcalDBCopy.h:31
std::vector< double > EBG12SamplesCorrelation
EcalCondObjectContainer< EcalXtalGroupId > EcalWeightXtalGroups
EcalLaserAPDPNRatiosRefMap EcalLaserAPDPNRatiosRef
EcalTimeDependentCorrections EcalLinearCorrections
std::vector< double > EBG6SamplesCorrelation
std::vector< float > EBTimeCorrAmplitudeBins
std::vector< float > EETimeCorrShiftBins
EcalDQMChannelStatusMap EcalDQMChannelStatus
EcalChannelStatusMap EcalChannelStatus
EcalGainRatioMap EcalGainRatios
EcalLaserAlphaMap EcalLaserAlphas
std::vector< float > EETimeCorrAmplitudeBins
EcalDCSTowerStatusMap EcalDCSTowerStatus
EcalDQMTowerStatusMap EcalDQMTowerStatus
bool isAvailable() const
Definition: Service.h:46
EcalTPGCrystalStatusMap EcalTPGCrystalStatus
tuple handle
Definition: patZpeak.py:22
EcalFunParams EcalClusterEnergyCorrectionObjectSpecificParameters
void writeOne(T *payload, Time_t time, const std::string &recordName, bool withlogging=false)
void createNewIOV(T *firstPayloadObj, cond::Time_t firstSinceTime, cond::Time_t firstTillTime, const std::string &recordName, bool withlogging=false)
EcalIntercalibErrorMap EcalIntercalibErrors
EcalFunParams EcalClusterEnergyUncertaintyParameters
EcalPedestalsMap EcalPedestals
Definition: EcalPedestals.h:53
EcalTimeCalibConstantMap EcalTimeCalibConstants
std::vector< double > EBG1SamplesCorrelation
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:86
EcalFunParams EcalClusterLocalContCorrParameters
EcalIntercalibConstantMap EcalIntercalibConstants
std::vector< double > EEG1SamplesCorrelation
EcalFunParams EcalClusterEnergyCorrectionParameters
tuple cout
Definition: gather_cfg.py:121
std::vector< double > EEG12SamplesCorrelation
std::vector< double > EEG6SamplesCorrelation
bool EcalDBCopy::shouldCopy ( const edm::EventSetup evtSetup,
std::string  container 
)
private

Definition at line 125 of file EcalDBCopy.cc.

References edm::hlt::Exception, edm::EventSetup::get(), and m_cacheIDs.

Referenced by analyze().

126 {
127 
128  unsigned long long cacheID = 0;
129  if (container == "EcalPedestals") {
130  cacheID = evtSetup.get<EcalPedestalsRcd>().cacheIdentifier();
131  } else if (container == "EcalADCToGeVConstant") {
132  cacheID = evtSetup.get<EcalADCToGeVConstantRcd>().cacheIdentifier();
133  } else if (container == "EcalLinearCorrections") {
134  cacheID = evtSetup.get<EcalLinearCorrectionsRcd>().cacheIdentifier();
135  } else if (container == "EcalIntercalibConstants") {
136  cacheID = evtSetup.get<EcalIntercalibConstantsRcd>().cacheIdentifier();
137  } else if (container == "EcalIntercalibConstantsMC") {
138  cacheID = evtSetup.get<EcalIntercalibConstantsMCRcd>().cacheIdentifier();
139  } else if (container == "EcalIntercalibErrors") {
140  cacheID = evtSetup.get<EcalIntercalibErrorsRcd>().cacheIdentifier();
141  } else if (container == "EcalGainRatios") {
142  cacheID = evtSetup.get<EcalGainRatiosRcd>().cacheIdentifier();
143  } else if (container == "EcalWeightXtalGroups") {
144  cacheID = evtSetup.get<EcalWeightXtalGroupsRcd>().cacheIdentifier();
145  } else if (container == "EcalTBWeights") {
146  cacheID = evtSetup.get<EcalTBWeightsRcd>().cacheIdentifier();
147  } else if (container == "EcalLaserAPDPNRatios") {
148  cacheID = evtSetup.get<EcalLaserAPDPNRatiosRcd>().cacheIdentifier();
149  } else if (container == "EcalLaserAPDPNRatiosRef") {
150  cacheID = evtSetup.get<EcalTBWeightsRcd>().cacheIdentifier();
151  } else if (container == "EcalLaserAlphas") {
152  cacheID = evtSetup.get<EcalTBWeightsRcd>().cacheIdentifier();
153  } else if (container == "EcalChannelStatus") {
154  cacheID = evtSetup.get<EcalChannelStatusRcd>().cacheIdentifier();
155  } else if (container == "EcalDQMTowerStatus") {
156  cacheID = evtSetup.get<EcalDQMTowerStatusRcd>().cacheIdentifier();
157  } else if (container == "EcalDQMChannelStatus") {
158  cacheID = evtSetup.get<EcalDQMChannelStatusRcd>().cacheIdentifier();
159  } else if (container == "EcalDCSTowerStatus") {
160  cacheID = evtSetup.get<EcalDCSTowerStatusRcd>().cacheIdentifier();
161  } else if (container == "EcalDAQTowerStatus") {
162  cacheID = evtSetup.get<EcalDAQTowerStatusRcd>().cacheIdentifier();
163  } else if (container == "EcalTimeCalibConstants") {
164  cacheID = evtSetup.get<EcalTimeCalibConstantsRcd>().cacheIdentifier();
165  } else if (container == "EcalClusterCrackCorrParameters") {
166  cacheID = evtSetup.get<EcalClusterCrackCorrParametersRcd>().cacheIdentifier();
167  } else if (container == "EcalClusterEnergyUncertaintyParameters") {
168  cacheID = evtSetup.get<EcalClusterEnergyUncertaintyParametersRcd>().cacheIdentifier();
169  } else if (container == "EcalClusterEnergyCorrectionParameters") {
170  cacheID = evtSetup.get<EcalClusterEnergyCorrectionParametersRcd>().cacheIdentifier();
171  } else if (container == "EcalClusterEnergyCorrectionObjectSpecificParameters") {
172  cacheID = evtSetup.get<EcalClusterEnergyCorrectionObjectSpecificParametersRcd>().cacheIdentifier();
173  } else if (container == "EcalClusterLocalContCorrParameters") {
174  cacheID = evtSetup.get<EcalClusterLocalContCorrParametersRcd>().cacheIdentifier();
175  } else if (container == "EcalTPGCrystalStatus") {
176  cacheID = evtSetup.get<EcalTPGCrystalStatusRcd>().cacheIdentifier();
177  } else if (container == "EBAlignment") {
178  cacheID = evtSetup.get<EBAlignmentRcd>().cacheIdentifier();
179  } else if (container == "EEAlignment") {
180  cacheID = evtSetup.get<EEAlignmentRcd>().cacheIdentifier();
181  } else if (container == "ESAlignment") {
182  cacheID = evtSetup.get<ESAlignmentRcd>().cacheIdentifier();
183  } else if (container == "EcalTimeOffsetConstant") {
184  cacheID = evtSetup.get<EcalTimeOffsetConstantRcd>().cacheIdentifier();
185  } else if (container == "EcalSampleMask") {
186  cacheID = evtSetup.get<EcalSampleMaskRcd>().cacheIdentifier();
187  } else if (container == "EcalTimeBiasCorrections") {
188  cacheID = evtSetup.get<EcalTimeBiasCorrectionsRcd>().cacheIdentifier();
189  } else if (container == "EcalSamplesCorrelation") {
190  cacheID = evtSetup.get<EcalSamplesCorrelationRcd>().cacheIdentifier();
191  }
192 
193  else {
194  throw cms::Exception("Unknown container");
195  }
196 
197  if (m_cacheIDs[container] == cacheID) {
198  return 0;
199  } else {
200  m_cacheIDs[container] = cacheID;
201  return 1;
202  }
203 
204 }
const T & get() const
Definition: EventSetup.h:55
std::map< std::string, unsigned long long > m_cacheIDs
Definition: EcalDBCopy.h:30

Member Data Documentation

std::map<std::string, unsigned long long> EcalDBCopy::m_cacheIDs
private

Definition at line 30 of file EcalDBCopy.h.

Referenced by EcalDBCopy(), and shouldCopy().

std::map<std::string, std::string> EcalDBCopy::m_records
private

Definition at line 31 of file EcalDBCopy.h.

Referenced by analyze(), copyToDB(), and EcalDBCopy().

std::string EcalDBCopy::m_timetype
private

Definition at line 29 of file EcalDBCopy.h.