Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:50

0001 #ifndef ECALDBCOPY_H
0002 #define ECALDBCOPY_H
0003 
0004 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0005 #include "CondCore/CondDB/interface/Exception.h"
0006 
0007 #include "FWCore/Framework/interface/IOVSyncValue.h"
0008 #include "CondFormats/EcalObjects/interface/EcalPedestals.h"
0009 #include "CondFormats/EcalObjects/interface/EcalTimeCalibConstants.h"
0010 #include "CondFormats/EcalObjects/interface/EcalChannelStatus.h"
0011 #include "CondFormats/EcalObjects/interface/EcalDQMChannelStatus.h"
0012 #include "CondFormats/EcalObjects/interface/EcalDQMTowerStatus.h"
0013 #include "CondFormats/EcalObjects/interface/EcalDCSTowerStatus.h"
0014 #include "CondFormats/EcalObjects/interface/EcalDAQTowerStatus.h"
0015 #include "CondFormats/EcalObjects/interface/EcalTPGCrystalStatus.h"
0016 #include "CondFormats/EcalObjects/interface/EcalLinearCorrections.h"
0017 #include "CondFormats/EcalObjects/interface/EcalIntercalibConstants.h"
0018 #include "CondFormats/EcalObjects/interface/EcalIntercalibErrors.h"
0019 #include "CondFormats/EcalObjects/interface/EcalGainRatios.h"
0020 #include "CondFormats/EcalObjects/interface/EcalWeightXtalGroups.h"
0021 #include "CondFormats/EcalObjects/interface/EcalIntercalibConstantsMC.h"
0022 #include "CondFormats/EcalObjects/interface/EcalLaserAlphas.h"
0023 #include "CondFormats/EcalObjects/interface/EcalLaserAPDPNRatiosRef.h"
0024 #include "CondFormats/EcalObjects/interface/EcalClusterCrackCorrParameters.h"
0025 #include "CondFormats/EcalObjects/interface/EcalPFRecHitThresholds.h"
0026 #include "CondFormats/EcalObjects/interface/EcalClusterEnergyUncertaintyParameters.h"
0027 #include "CondFormats/EcalObjects/interface/EcalClusterEnergyCorrectionParameters.h"
0028 #include "CondFormats/EcalObjects/interface/EcalClusterEnergyCorrectionObjectSpecificParameters.h"
0029 #include "CondFormats/EcalObjects/interface/EcalClusterLocalContCorrParameters.h"
0030 #include <string>
0031 #include <map>
0032 
0033 namespace edm {
0034   class ParameterSet;
0035   class Event;
0036   class EventSetup;
0037 }  // namespace edm
0038 
0039 class EcalADCToGeVConstant;
0040 class EcalTPGTowerStatus;
0041 class EcalTBWeights;
0042 class EcalLaserAPDPNRatios;
0043 class Alignments;
0044 class EcalTimeOffsetConstant;
0045 class EcalSampleMask;
0046 class EcalSimComponentShape;
0047 class EcalSimPulseShape;
0048 class EcalTimeBiasCorrections;
0049 class EcalSamplesCorrelation;
0050 
0051 class EcalPedestalsRcd;
0052 class EcalADCToGeVConstantRcd;
0053 class EcalTimeCalibConstantsRcd;
0054 class EcalChannelStatusRcd;
0055 class EcalDQMChannelStatusRcd;
0056 class EcalDQMTowerStatusRcd;
0057 class EcalDCSTowerStatusRcd;
0058 class EcalTPGCrystalStatusRcd;
0059 class EcalDAQTowerStatusRcd;
0060 class EcalTPGTowerStatusRcd;
0061 class EcalTPGTowerStatusRcd;
0062 class EcalIntercalibConstantsRcd;
0063 class EcalLinearCorrectionsRcd;
0064 class EcalIntercalibConstantsMCRcd;
0065 class EcalIntercalibErrorsRcd;
0066 class EcalGainRatiosRcd;
0067 class EcalWeightXtalGroupsRcd;
0068 class EcalTBWeightsRcd;
0069 class EcalLaserAlphasRcd;
0070 class EcalLaserAPDPNRatiosRcd;
0071 class EcalLaserAPDPNRatiosRefRcd;
0072 class EcalClusterCrackCorrParametersRcd;
0073 class EcalPFRecHitThresholdsRcd;
0074 class EcalClusterEnergyUncertaintyParametersRcd;
0075 class EcalClusterEnergyCorrectionParametersRcd;
0076 class EcalClusterEnergyCorrectionObjectSpecificParametersRcd;
0077 class EcalClusterLocalContCorrParametersRcd;
0078 class EBAlignmentRcd;
0079 class EEAlignmentRcd;
0080 class ESAlignmentRcd;
0081 class EcalTimeOffsetConstantRcd;
0082 class EcalSampleMaskRcd;
0083 class EcalSimComponentShapeRcd;
0084 class EcalSimPulseShapeRcd;
0085 class EcalTimeBiasCorrectionsRcd;
0086 class EcalSamplesCorrelationRcd;
0087 
0088 class EcalDBCopy : public edm::one::EDAnalyzer<> {
0089 public:
0090   explicit EcalDBCopy(const edm::ParameterSet& iConfig);
0091   ~EcalDBCopy() override;
0092 
0093   void analyze(const edm::Event& evt, const edm::EventSetup& evtSetup) override;
0094 
0095 private:
0096   bool shouldCopy(const edm::EventSetup& evtSetup, const std::string& container);
0097   void copyToDB(const edm::EventSetup& evtSetup, const std::string& container);
0098 
0099   std::string m_timetype;
0100   std::map<std::string, unsigned long long> m_cacheIDs;
0101   std::map<std::string, std::string> m_records;
0102   edm::ESGetToken<EcalPedestals, EcalPedestalsRcd> ecalPedestalToken_;
0103   edm::ESGetToken<EcalADCToGeVConstant, EcalADCToGeVConstantRcd> ecalADCtoGeVToken_;
0104   edm::ESGetToken<EcalTimeCalibConstants, EcalTimeCalibConstantsRcd> ecalTimeCalibToken_;
0105   edm::ESGetToken<EcalChannelStatus, EcalChannelStatusRcd> ecalChannelStatusToken_;
0106   edm::ESGetToken<EcalDQMChannelStatus, EcalDQMChannelStatusRcd> ecalDQMChannelStatusToken_;
0107   edm::ESGetToken<EcalDQMTowerStatus, EcalDQMTowerStatusRcd> ecalDQMTowerStatusToken_;
0108   edm::ESGetToken<EcalDCSTowerStatus, EcalDCSTowerStatusRcd> ecalDCSTowerStatusToken_;
0109   edm::ESGetToken<EcalDAQTowerStatus, EcalDAQTowerStatusRcd> ecalDAQTowerStatusToken_;
0110   edm::ESGetToken<EcalTPGCrystalStatus, EcalTPGCrystalStatusRcd> ecalTPGCrystalStatusToken_;
0111   edm::ESGetToken<EcalTPGTowerStatus, EcalTPGTowerStatusRcd> ecalTPGTowerStatusToken_;
0112   edm::ESGetToken<EcalIntercalibConstants, EcalIntercalibConstantsRcd> ecalIntercalibConstantsToken_;
0113   edm::ESGetToken<EcalLinearCorrections, EcalLinearCorrectionsRcd> ecalLinearCorrectionsToken_;
0114   edm::ESGetToken<EcalIntercalibConstantsMC, EcalIntercalibConstantsMCRcd> ecalIntercalibConstantsMCToken_;
0115   edm::ESGetToken<EcalIntercalibErrors, EcalIntercalibErrorsRcd> ecalIntercalibErrorsToken_;
0116   edm::ESGetToken<EcalGainRatios, EcalGainRatiosRcd> ecalGainRatiosToken_;
0117   edm::ESGetToken<EcalWeightXtalGroups, EcalWeightXtalGroupsRcd> ecalWeightXtalGroupsToken_;
0118   edm::ESGetToken<EcalTBWeights, EcalTBWeightsRcd> ecalTBWeightsToken_;
0119   edm::ESGetToken<EcalLaserAlphas, EcalLaserAlphasRcd> ecalLaserAlphasToken_;
0120   edm::ESGetToken<EcalLaserAPDPNRatios, EcalLaserAPDPNRatiosRcd> ecalLaserAPDPNRatiosToken_;
0121   edm::ESGetToken<EcalLaserAPDPNRatiosRef, EcalLaserAPDPNRatiosRefRcd> ecalLaserAPDPNRatiosRefToken_;
0122   edm::ESGetToken<EcalClusterCrackCorrParameters, EcalClusterCrackCorrParametersRcd>
0123       ecalClusterCrackCorrParametersToken_;
0124   edm::ESGetToken<EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcd> ecalPFRecHitThresholdsToken_;
0125   edm::ESGetToken<EcalClusterEnergyUncertaintyParameters, EcalClusterEnergyUncertaintyParametersRcd>
0126       ecalClusterEnergyUncertaintyParametersToken_;
0127   edm::ESGetToken<EcalClusterEnergyCorrectionParameters, EcalClusterEnergyCorrectionParametersRcd>
0128       ecalClusterEnergyCorrectionParametersToken_;
0129   edm::ESGetToken<EcalClusterEnergyCorrectionObjectSpecificParameters,
0130                   EcalClusterEnergyCorrectionObjectSpecificParametersRcd>
0131       ecalClusterEnergyCorrectionObjectSpecificParametersToken_;
0132   edm::ESGetToken<EcalClusterLocalContCorrParameters, EcalClusterLocalContCorrParametersRcd>
0133       ecalClusterLocalContCorrParametersToken_;
0134   edm::ESGetToken<Alignments, EBAlignmentRcd> ebAlignmentToken_;
0135   edm::ESGetToken<Alignments, EEAlignmentRcd> eeAlignmentToken_;
0136   edm::ESGetToken<Alignments, ESAlignmentRcd> esAlignmentToken_;
0137   edm::ESGetToken<EcalTimeOffsetConstant, EcalTimeOffsetConstantRcd> ecalTimeOffsetConstantToken_;
0138   edm::ESGetToken<EcalSampleMask, EcalSampleMaskRcd> ecalSampleMaskToken_;
0139   edm::ESGetToken<EcalSimComponentShape, EcalSimComponentShapeRcd> ecalSimComponentShapeToken_;
0140   edm::ESGetToken<EcalSimPulseShape, EcalSimPulseShapeRcd> ecalSimPulseShapeToken_;
0141   edm::ESGetToken<EcalTimeBiasCorrections, EcalTimeBiasCorrectionsRcd> ecalTimeBiasCorrectionsToken_;
0142   edm::ESGetToken<EcalSamplesCorrelation, EcalSamplesCorrelationRcd> ecalSamplesCorrelationToken_;
0143 };
0144 
0145 #endif