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 }
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