CMS 3D CMS Logo

HcalHardcodeCalibrations.h
Go to the documentation of this file.
1 //
2 // Original Author: Fedor Ratnikov Oct 21, 2005
3 //
4 // ESSource to generate default HCAL calibration objects
5 //
6 #include <map>
7 #include <unordered_map>
8 #include <string>
9 
24 
25 class ParameterSet;
26 
27 class HcalPedestalsRcd;
29 class HcalGainsRcd;
30 class HcalGainWidthsRcd;
31 class HcalPFCutsRcd;
32 class HcalQIEDataRcd;
33 class HcalQIETypesRcd;
36 class HcalRespCorrsRcd;
39 class HcalTimeCorrsRcd;
40 class HcalLUTCorrsRcd;
41 class HcalPFCorrsRcd;
43 class HcalLutMetadataRcd;
44 class HcalDcsRcd;
45 class HcalDcsMapRcd;
46 class HcalRecoParamsRcd;
49 class HcalMCParamsRcd;
52 class HcalFrontEndMapRcd;
56 class HcalTPParaamersRcd;
57 
59 public:
61  ~HcalHardcodeCalibrations() override;
62 
63  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
64 
65 protected:
67  const edm::IOVSyncValue&,
68  edm::ValidityInterval&) override;
69 
70  std::unique_ptr<HcalPedestals> producePedestals_(const HcalPedestalsRcd& rcd,
73  bool eff);
74  std::unique_ptr<HcalPedestalWidths> producePedestalWidths_(
75  const HcalPedestalWidthsRcd& rcd,
78  bool eff);
79  std::unique_ptr<HcalPedestals> producePedestals(const HcalPedestalsRcd& rcd);
80  std::unique_ptr<HcalPedestalWidths> producePedestalWidths(const HcalPedestalWidthsRcd& rcd);
81  std::unique_ptr<HcalPedestals> produceEffectivePedestals(const HcalPedestalsRcd& rcd);
82  std::unique_ptr<HcalPedestalWidths> produceEffectivePedestalWidths(const HcalPedestalWidthsRcd& rcd);
83  std::unique_ptr<HcalGains> produceGains(const HcalGainsRcd& rcd);
84  std::unique_ptr<HcalGainWidths> produceGainWidths(const HcalGainWidthsRcd& rcd);
85  std::unique_ptr<HcalPFCuts> producePFCuts(const HcalPFCutsRcd& rcd);
86  std::unique_ptr<HcalQIEData> produceQIEData(const HcalQIEDataRcd& rcd);
87  std::unique_ptr<HcalQIETypes> produceQIETypes(const HcalQIETypesRcd& rcd);
88  std::unique_ptr<HcalChannelQuality> produceChannelQuality(const HcalChannelQualityRcd& rcd);
89  std::unique_ptr<HcalElectronicsMap> produceElectronicsMap(const HcalElectronicsMapRcd& rcd);
90 
91  std::unique_ptr<HcalRespCorrs> produceRespCorrs(const HcalRespCorrsRcd& rcd);
92  std::unique_ptr<HcalZSThresholds> produceZSThresholds(const HcalZSThresholdsRcd& rcd);
93  std::unique_ptr<HcalL1TriggerObjects> produceL1TriggerObjects(const HcalL1TriggerObjectsRcd& rcd);
94  std::unique_ptr<HcalTimeCorrs> produceTimeCorrs(const HcalTimeCorrsRcd& rcd);
95  std::unique_ptr<HcalLUTCorrs> produceLUTCorrs(const HcalLUTCorrsRcd& rcd);
96  std::unique_ptr<HcalPFCorrs> producePFCorrs(const HcalPFCorrsRcd& rcd);
97 
98  std::unique_ptr<HcalValidationCorrs> produceValidationCorrs(const HcalValidationCorrsRcd& rcd);
99  std::unique_ptr<HcalLutMetadata> produceLutMetadata(const HcalLutMetadataRcd& rcd);
100  std::unique_ptr<HcalDcsValues> produceDcsValues(const HcalDcsRcd& rcd);
101  std::unique_ptr<HcalDcsMap> produceDcsMap(const HcalDcsMapRcd& rcd);
102 
103  std::unique_ptr<HcalRecoParams> produceRecoParams(const HcalRecoParamsRcd& rcd);
104  std::unique_ptr<HcalTimingParams> produceTimingParams(const HcalTimingParamsRcd& rcd);
105  std::unique_ptr<HcalLongRecoParams> produceLongRecoParams(const HcalLongRecoParamsRcd& rcd);
106  std::unique_ptr<HcalZDCLowGainFractions> produceZDCLowGainFractions(const HcalZDCLowGainFractionsRcd& rcd);
107 
108  std::unique_ptr<HcalMCParams> produceMCParams(const HcalMCParamsRcd& rcd);
109  std::unique_ptr<HcalFlagHFDigiTimeParams> produceFlagHFDigiTimeParams(const HcalFlagHFDigiTimeParamsRcd& rcd);
110 
111  std::unique_ptr<HcalFrontEndMap> produceFrontEndMap(const HcalFrontEndMapRcd& rcd);
112 
113  std::unique_ptr<HcalSiPMParameters> produceSiPMParameters(const HcalSiPMParametersRcd& rcd);
114  std::unique_ptr<HcalSiPMCharacteristics> produceSiPMCharacteristics(const HcalSiPMCharacteristicsRcd& rcd);
115  std::unique_ptr<HcalTPChannelParameters> produceTPChannelParameters(const HcalTPChannelParametersRcd& rcd);
116  std::unique_ptr<HcalTPParameters> produceTPParameters(const HcalTPParametersRcd& rcd);
117 
118 private:
119  enum {
148  };
150  double iLumi;
151  std::unique_ptr<HBHERecalibration> hb_recalibration;
152  std::unique_ptr<HBHERecalibration> he_recalibration;
153  std::unique_ptr<HFRecalibration> hf_recalibration;
154  std::unordered_map<int, edm::ESGetToken<HcalTopology, HcalRecNumberingRecord>> topoTokens_;
155  std::unordered_map<int, edm::ESGetToken<ZdcTopology, HcalRecNumberingRecord>> zdcTopoTokens_;
164 };
std::unique_ptr< HcalPedestals > producePedestals(const HcalPedestalsRcd &rcd)
std::unique_ptr< HcalPFCuts > producePFCuts(const HcalPFCutsRcd &rcd)
std::unique_ptr< HcalGains > produceGains(const HcalGainsRcd &rcd)
HcalHardcodeCalibrations(const edm::ParameterSet &)
std::unique_ptr< HcalPedestalWidths > produceEffectivePedestalWidths(const HcalPedestalWidthsRcd &rcd)
std::unique_ptr< HcalPFCorrs > producePFCorrs(const HcalPFCorrsRcd &rcd)
std::unique_ptr< HcalQIEData > produceQIEData(const HcalQIEDataRcd &rcd)
std::unique_ptr< HcalTimeCorrs > produceTimeCorrs(const HcalTimeCorrsRcd &rcd)
std::unique_ptr< HcalLongRecoParams > produceLongRecoParams(const HcalLongRecoParamsRcd &rcd)
std::unique_ptr< HcalPedestals > produceEffectivePedestals(const HcalPedestalsRcd &rcd)
std::unique_ptr< HcalSiPMCharacteristics > produceSiPMCharacteristics(const HcalSiPMCharacteristicsRcd &rcd)
edm::ESGetToken< HBHEDarkening, HBHEDarkeningRecord > hbDarkeningToken_
std::unique_ptr< HcalElectronicsMap > produceElectronicsMap(const HcalElectronicsMapRcd &rcd)
std::unique_ptr< HcalDcsValues > produceDcsValues(const HcalDcsRcd &rcd)
void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override
std::unique_ptr< HcalPedestals > producePedestals_(const HcalPedestalsRcd &rcd, const edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > &, const edm::ESGetToken< ZdcTopology, HcalRecNumberingRecord > &, bool eff)
std::unique_ptr< HcalPedestalWidths > producePedestalWidths(const HcalPedestalWidthsRcd &rcd)
std::unique_ptr< HcalPedestalWidths > producePedestalWidths_(const HcalPedestalWidthsRcd &rcd, const edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > &, const edm::ESGetToken< ZdcTopology, HcalRecNumberingRecord > &, bool eff)
std::unique_ptr< HFRecalibration > hf_recalibration
std::unique_ptr< HcalRespCorrs > produceRespCorrs(const HcalRespCorrsRcd &rcd)
std::unique_ptr< HcalLutMetadata > produceLutMetadata(const HcalLutMetadataRcd &rcd)
std::unordered_map< int, edm::ESGetToken< ZdcTopology, HcalRecNumberingRecord > > zdcTopoTokens_
std::unique_ptr< HcalFlagHFDigiTimeParams > produceFlagHFDigiTimeParams(const HcalFlagHFDigiTimeParamsRcd &rcd)
std::unique_ptr< HcalFrontEndMap > produceFrontEndMap(const HcalFrontEndMapRcd &rcd)
std::unique_ptr< HBHERecalibration > hb_recalibration
Hardcode implementation of some conditions data.
std::unique_ptr< HcalSiPMParameters > produceSiPMParameters(const HcalSiPMParametersRcd &rcd)
std::unique_ptr< HBHERecalibration > he_recalibration
std::unique_ptr< HcalRecoParams > produceRecoParams(const HcalRecoParamsRcd &rcd)
std::unique_ptr< HcalTPParameters > produceTPParameters(const HcalTPParametersRcd &rcd)
std::unique_ptr< HcalGainWidths > produceGainWidths(const HcalGainWidthsRcd &rcd)
std::unique_ptr< HcalTPChannelParameters > produceTPChannelParameters(const HcalTPChannelParametersRcd &rcd)
std::unique_ptr< HcalL1TriggerObjects > produceL1TriggerObjects(const HcalL1TriggerObjectsRcd &rcd)
std::unique_ptr< HcalZSThresholds > produceZSThresholds(const HcalZSThresholdsRcd &rcd)
std::unique_ptr< HcalZDCLowGainFractions > produceZDCLowGainFractions(const HcalZDCLowGainFractionsRcd &rcd)
std::unique_ptr< HcalMCParams > produceMCParams(const HcalMCParamsRcd &rcd)
std::unique_ptr< HcalTimingParams > produceTimingParams(const HcalTimingParamsRcd &rcd)
std::unique_ptr< HcalQIETypes > produceQIETypes(const HcalQIETypesRcd &rcd)
std::unique_ptr< HcalChannelQuality > produceChannelQuality(const HcalChannelQualityRcd &rcd)
edm::ESGetToken< HBHEDarkening, HBHEDarkeningRecord > heDarkeningToken_
std::unique_ptr< HcalDcsMap > produceDcsMap(const HcalDcsMapRcd &rcd)
std::unique_ptr< HcalLUTCorrs > produceLUTCorrs(const HcalLUTCorrsRcd &rcd)
std::unordered_map< int, edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > > topoTokens_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::unique_ptr< HcalValidationCorrs > produceValidationCorrs(const HcalValidationCorrsRcd &rcd)