CMS 3D CMS Logo

EcalTrivialConditionRetriever.h
Go to the documentation of this file.
1 //
2 // Created: 2 Mar 2006
3 // Shahram Rahatlou, University of Rome & INFN
4 //
5 #ifndef CalibCalorimetry_EcalPlugins_EcalTrivialConditionRetriever_H
6 #define CalibCalorimetry_EcalPlugins_EcalTrivialConditionRetriever_H
7 // system include files
8 #include <string>
9 #include <vector>
10 
11 // user include files
14 
17 
22 
26 
31 
34 
37 
40 
43 
46 
49 
52 
56 
59 
62 
65 
68 
71 
76 
93 
95 
100 
103 
106 
109 
112 
115 
118 
120 // forward declarations
121 
122 namespace edm {
123  class ParameterSet;
124 }
125 
127 public:
129  EcalTrivialConditionRetriever(const EcalTrivialConditionRetriever&) = delete; // stop default
130  const EcalTrivialConditionRetriever& operator=(const EcalTrivialConditionRetriever&) = delete; // stop default
132 
133  // ---------- member functions ---------------------------
134  virtual std::unique_ptr<EcalPedestals> produceEcalPedestals(const EcalPedestalsRcd&);
135  virtual std::unique_ptr<EcalWeightXtalGroups> produceEcalWeightXtalGroups(const EcalWeightXtalGroupsRcd&);
136  virtual std::unique_ptr<EcalLinearCorrections> produceEcalLinearCorrections(const EcalLinearCorrectionsRcd&);
137  virtual std::unique_ptr<EcalIntercalibConstants> produceEcalIntercalibConstants(const EcalIntercalibConstantsRcd&);
138  virtual std::unique_ptr<EcalIntercalibConstantsMC> produceEcalIntercalibConstantsMC(
140  virtual std::unique_ptr<EcalIntercalibErrors> produceEcalIntercalibErrors(const EcalIntercalibErrorsRcd&);
141  virtual std::unique_ptr<EcalTimeCalibConstants> produceEcalTimeCalibConstants(const EcalTimeCalibConstantsRcd&);
142  virtual std::unique_ptr<EcalTimeCalibErrors> produceEcalTimeCalibErrors(const EcalTimeCalibErrorsRcd&);
143  virtual std::unique_ptr<EcalGainRatios> produceEcalGainRatios(const EcalGainRatiosRcd&);
144  virtual std::unique_ptr<EcalADCToGeVConstant> produceEcalADCToGeVConstant(const EcalADCToGeVConstantRcd&);
145  virtual std::unique_ptr<EcalTBWeights> produceEcalTBWeights(const EcalTBWeightsRcd&);
146  virtual std::unique_ptr<EcalIntercalibConstants> getIntercalibConstantsFromConfiguration(
148  virtual std::unique_ptr<EcalIntercalibConstantsMC> getIntercalibConstantsMCFromConfiguration(
150  virtual std::unique_ptr<EcalSimComponentShape> getEcalSimComponentShapeFromConfiguration(
151  const EcalSimComponentShapeRcd&);
152  virtual std::unique_ptr<EcalSimPulseShape> getEcalSimPulseShapeFromConfiguration(const EcalSimPulseShapeRcd&);
153  virtual std::unique_ptr<EcalIntercalibErrors> getIntercalibErrorsFromConfiguration(const EcalIntercalibErrorsRcd&);
154  virtual std::unique_ptr<EcalTimeCalibConstants> getTimeCalibConstantsFromConfiguration(
156  virtual std::unique_ptr<EcalTimeCalibErrors> getTimeCalibErrorsFromConfiguration(const EcalTimeCalibErrorsRcd&);
157  virtual std::unique_ptr<EcalTimeOffsetConstant> produceEcalTimeOffsetConstant(const EcalTimeOffsetConstantRcd&);
158 
159  virtual std::unique_ptr<EcalLaserAlphas> produceEcalLaserAlphas(const EcalLaserAlphasRcd&);
160  virtual std::unique_ptr<EcalLaserAPDPNRatiosRef> produceEcalLaserAPDPNRatiosRef(const EcalLaserAPDPNRatiosRefRcd&);
161  virtual std::unique_ptr<EcalLaserAPDPNRatios> produceEcalLaserAPDPNRatios(const EcalLaserAPDPNRatiosRcd&);
162 
163  virtual std::unique_ptr<EcalClusterLocalContCorrParameters> produceEcalClusterLocalContCorrParameters(
165  virtual std::unique_ptr<EcalClusterCrackCorrParameters> produceEcalClusterCrackCorrParameters(
167  virtual std::unique_ptr<EcalClusterEnergyCorrectionParameters> produceEcalClusterEnergyCorrectionParameters(
169  virtual std::unique_ptr<EcalClusterEnergyUncertaintyParameters> produceEcalClusterEnergyUncertaintyParameters(
171  virtual std::unique_ptr<EcalClusterEnergyCorrectionObjectSpecificParameters>
174  virtual std::unique_ptr<EcalPFRecHitThresholds> produceEcalPFRecHitThresholds(const EcalPFRecHitThresholdsRcd&);
175  virtual std::unique_ptr<EcalPFRecHitThresholds> getPFRecHitThresholdsFromConfiguration(
177 
178  virtual std::unique_ptr<EcalChannelStatus> produceEcalChannelStatus(const EcalChannelStatusRcd&);
179  virtual std::unique_ptr<EcalChannelStatus> getChannelStatusFromConfiguration(const EcalChannelStatusRcd&);
180 
181  virtual std::unique_ptr<EcalTPGCrystalStatus> produceEcalTrgChannelStatus(const EcalTPGCrystalStatusRcd&);
182  virtual std::unique_ptr<EcalTPGCrystalStatus> getTrgChannelStatusFromConfiguration(const EcalTPGCrystalStatusRcd&);
183 
184  virtual std::unique_ptr<EcalDCSTowerStatus> produceEcalDCSTowerStatus(const EcalDCSTowerStatusRcd&);
185  virtual std::unique_ptr<EcalDAQTowerStatus> produceEcalDAQTowerStatus(const EcalDAQTowerStatusRcd&);
186  virtual std::unique_ptr<EcalDQMTowerStatus> produceEcalDQMTowerStatus(const EcalDQMTowerStatusRcd&);
187  virtual std::unique_ptr<EcalDQMChannelStatus> produceEcalDQMChannelStatus(const EcalDQMChannelStatusRcd&);
188 
189  virtual std::unique_ptr<EcalMappingElectronics> produceEcalMappingElectronics(const EcalMappingElectronicsRcd&);
190  virtual std::unique_ptr<EcalMappingElectronics> getMappingFromConfiguration(const EcalMappingElectronicsRcd&);
191 
192  // virtual std::unique_ptr<EcalAlignmentEB> produceEcalAlignmentEB( const EcalAlignmentEBRcd& );
193  // virtual std::unique_ptr<EcalAlignmentEE> produceEcalAlignmentEE( const EcalAlignmentEERcd& );
194  // virtual std::unique_ptr<EcalAlignmentES> produceEcalAlignmentES( const EcalAlignmentESRcd& );
195  virtual std::unique_ptr<Alignments> produceEcalAlignmentEB(const EBAlignmentRcd&);
196  virtual std::unique_ptr<Alignments> produceEcalAlignmentEE(const EEAlignmentRcd&);
197  virtual std::unique_ptr<Alignments> produceEcalAlignmentES(const ESAlignmentRcd&);
198 
199  virtual std::unique_ptr<EcalSampleMask> produceEcalSampleMask(const EcalSampleMaskRcd&);
200 
201  virtual std::unique_ptr<EcalTimeBiasCorrections> produceEcalTimeBiasCorrections(const EcalTimeBiasCorrectionsRcd&);
202 
203  virtual std::unique_ptr<EcalSamplesCorrelation> produceEcalSamplesCorrelation(const EcalSamplesCorrelationRcd&);
204 
205 protected:
206  //overriding from ContextRecordIntervalFinder
208  const edm::IOVSyncValue&,
209  edm::ValidityInterval&) override;
210 
211 private:
213 
214  // data members
215  double adcToGeVEBConstant_; // ADC -> GeV scale for barrel
216  double adcToGeVEEConstant_; // ADC -> GeV scale for endcap
217 
218  double intercalibConstantMean_; // mean of intercalib constant. default: 1.0
219  double intercalibConstantSigma_; // sigma of intercalib constant
220 
221  double intercalibConstantMeanMC_; // mean of intercalib constant. default: 1.0
222  double intercalibConstantSigmaMC_; // sigma of intercalib constant
223  // Gaussian used to generate intercalib constants for
224  // each channel. no smearing if sigma=0.0 (default)
225  double intercalibErrorMean_; // mean of intercalib constant error
226 
230 
233 
234  // cluster corrections
235  std::vector<double> localContCorrParameters_;
236  std::vector<double> crackCorrParameters_;
237  std::vector<double> energyCorrectionParameters_;
238  std::vector<double> energyUncertaintyParameters_;
244 
249 
252 
255 
257 
258  // ageing parameters
259  double totLumi_;
260  double instLumi_;
261 
262  // laser
269 
274  unsigned long laserAPDPNTime1_;
275  unsigned long laserAPDPNTime2_;
276  unsigned long laserAPDPNTime3_;
277 
278  double linCorrMean_; // mean of lin corr
279  double linCorrSigma_; // sigma of lin corr
280 
281  unsigned long linearTime1_;
282  unsigned long linearTime2_;
283  unsigned long linearTime3_;
284 
285  double EBpedMeanX12_; // pedestal mean pedestal at gain 12
286  double EBpedRMSX12_; // pedestal rms at gain 12
287  double EBpedMeanX6_; // pedestal mean pedestal at gain 6
288  double EBpedRMSX6_; // pedestal rms at gain 6
289  double EBpedMeanX1_; // pedestal mean pedestal at gain 1
290  double EBpedRMSX1_; // pedestal rms at gain 1
291 
292  double EEpedMeanX12_; // pedestal mean pedestal at gain 12
293  double EEpedRMSX12_; // pedestal rms at gain 12
294  double EEpedMeanX6_; // pedestal mean pedestal at gain 6
295  double EEpedRMSX6_; // pedestal rms at gain 6
296  double EEpedMeanX1_; // pedestal mean pedestal at gain 1
297  double EEpedRMSX1_; // pedestal rms at gain 1
298 
299  double gainRatio12over6_; // ratio of MGPA gain12 / gain6
300  double gainRatio6over1_; // ratio of MGPA gain6 / gain1
301 
302  std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> >
303  amplWeights_; // weights to compute amplitudes after ped subtraction
304  std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> >
305  amplWeightsAft_; // weights to compute amplitudes after ped subtraction
306 
307  std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> >
308  pedWeights_; // weights to compute amplitudes w/o ped subtraction
309  std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> >
310  pedWeightsAft_; // weights to compute amplitudes w/o ped subtraction
311 
312  std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> > jittWeights_; // weights to compute jitter
313  std::vector<ROOT::Math::SVector<double, EcalDataFrame::MAXSAMPLES> > jittWeightsAft_; // weights to compute jitter
314 
315  std::vector<EcalWeightSet::EcalChi2WeightMatrix> chi2Matrix_;
316  std::vector<EcalWeightSet::EcalChi2WeightMatrix> chi2MatrixAft_;
317 
340  unsigned int sampleMaskEB_; // Mask to discard sample in barrel
341  unsigned int sampleMaskEE_; // Mask to discard sample in endcaps
342  std::vector<double> EBtimeCorrAmplitudeBins_;
343  std::vector<double> EBtimeCorrShiftBins_;
344  std::vector<double> EEtimeCorrAmplitudeBins_;
345  std::vector<double> EEtimeCorrShiftBins_;
346 
347  std::vector<double> EBG12samplesCorrelation_;
348  std::vector<double> EBG6samplesCorrelation_;
349  std::vector<double> EBG1samplesCorrelation_;
350  std::vector<double> EEG12samplesCorrelation_;
351  std::vector<double> EEG6samplesCorrelation_;
352  std::vector<double> EEG1samplesCorrelation_;
357  std::vector<std::string> EBSimComponentShapeFiles_;
358 
360 
396 
399 
408 
409  int verbose_; // verbosity
410 };
411 #endif
void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override
virtual std::unique_ptr< EcalDQMChannelStatus > produceEcalDQMChannelStatus(const EcalDQMChannelStatusRcd &)
virtual std::unique_ptr< EcalIntercalibConstants > produceEcalIntercalibConstants(const EcalIntercalibConstantsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeights_
virtual std::unique_ptr< EcalIntercalibErrors > produceEcalIntercalibErrors(const EcalIntercalibErrorsRcd &)
virtual std::unique_ptr< EcalLaserAPDPNRatiosRef > produceEcalLaserAPDPNRatiosRef(const EcalLaserAPDPNRatiosRefRcd &)
virtual std::unique_ptr< EcalSamplesCorrelation > produceEcalSamplesCorrelation(const EcalSamplesCorrelationRcd &)
std::vector< double > energyCorrectionObjectSpecificParameters_
virtual std::unique_ptr< EcalTimeCalibConstants > produceEcalTimeCalibConstants(const EcalTimeCalibConstantsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeights_
virtual std::unique_ptr< EcalMappingElectronics > getMappingFromConfiguration(const EcalMappingElectronicsRcd &)
virtual std::unique_ptr< EcalADCToGeVConstant > produceEcalADCToGeVConstant(const EcalADCToGeVConstantRcd &)
virtual std::unique_ptr< EcalWeightXtalGroups > produceEcalWeightXtalGroups(const EcalWeightXtalGroupsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeightsAft_
virtual std::unique_ptr< EcalChannelStatus > produceEcalChannelStatus(const EcalChannelStatusRcd &)
void getWeightsFromConfiguration(const edm::ParameterSet &ps)
virtual std::unique_ptr< EcalLaserAlphas > produceEcalLaserAlphas(const EcalLaserAlphasRcd &)
virtual std::unique_ptr< EcalClusterEnergyUncertaintyParameters > produceEcalClusterEnergyUncertaintyParameters(const EcalClusterEnergyUncertaintyParametersRcd &)
virtual std::unique_ptr< Alignments > produceEcalAlignmentEB(const EBAlignmentRcd &)
const EcalTrivialConditionRetriever & operator=(const EcalTrivialConditionRetriever &)=delete
virtual std::unique_ptr< EcalClusterEnergyCorrectionParameters > produceEcalClusterEnergyCorrectionParameters(const EcalClusterEnergyCorrectionParametersRcd &)
virtual std::unique_ptr< EcalIntercalibConstantsMC > getIntercalibConstantsMCFromConfiguration(const EcalIntercalibConstantsMCRcd &)
virtual std::unique_ptr< EcalDQMTowerStatus > produceEcalDQMTowerStatus(const EcalDQMTowerStatusRcd &)
virtual std::unique_ptr< EcalSimComponentShape > getEcalSimComponentShapeFromConfiguration(const EcalSimComponentShapeRcd &)
virtual std::unique_ptr< Alignments > produceEcalAlignmentEE(const EEAlignmentRcd &)
virtual std::unique_ptr< EcalLinearCorrections > produceEcalLinearCorrections(const EcalLinearCorrectionsRcd &)
virtual std::unique_ptr< EcalMappingElectronics > produceEcalMappingElectronics(const EcalMappingElectronicsRcd &)
virtual std::unique_ptr< EcalLaserAPDPNRatios > produceEcalLaserAPDPNRatios(const EcalLaserAPDPNRatiosRcd &)
virtual std::unique_ptr< EcalChannelStatus > getChannelStatusFromConfiguration(const EcalChannelStatusRcd &)
virtual std::unique_ptr< EcalTimeBiasCorrections > produceEcalTimeBiasCorrections(const EcalTimeBiasCorrectionsRcd &)
virtual std::unique_ptr< EcalIntercalibConstants > getIntercalibConstantsFromConfiguration(const EcalIntercalibConstantsRcd &)
virtual std::unique_ptr< EcalIntercalibConstantsMC > produceEcalIntercalibConstantsMC(const EcalIntercalibConstantsMCRcd &)
std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2Matrix_
virtual std::unique_ptr< Alignments > produceEcalAlignmentES(const ESAlignmentRcd &)
virtual std::unique_ptr< EcalPedestals > produceEcalPedestals(const EcalPedestalsRcd &)
std::vector< std::string > EBSimComponentShapeFiles_
virtual std::unique_ptr< EcalClusterEnergyCorrectionObjectSpecificParameters > produceEcalClusterEnergyCorrectionObjectSpecificParameters(const EcalClusterEnergyCorrectionObjectSpecificParametersRcd &)
virtual std::unique_ptr< EcalDCSTowerStatus > produceEcalDCSTowerStatus(const EcalDCSTowerStatusRcd &)
EcalTrivialConditionRetriever(const edm::ParameterSet &pset)
virtual std::unique_ptr< EcalClusterLocalContCorrParameters > produceEcalClusterLocalContCorrParameters(const EcalClusterLocalContCorrParametersRcd &)
virtual std::unique_ptr< EcalTimeCalibErrors > getTimeCalibErrorsFromConfiguration(const EcalTimeCalibErrorsRcd &)
virtual std::unique_ptr< EcalGainRatios > produceEcalGainRatios(const EcalGainRatiosRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > pedWeightsAft_
virtual std::unique_ptr< EcalTPGCrystalStatus > produceEcalTrgChannelStatus(const EcalTPGCrystalStatusRcd &)
HLT enums.
virtual std::unique_ptr< EcalTimeCalibErrors > produceEcalTimeCalibErrors(const EcalTimeCalibErrorsRcd &)
virtual std::unique_ptr< EcalTBWeights > produceEcalTBWeights(const EcalTBWeightsRcd &)
virtual std::unique_ptr< EcalTimeOffsetConstant > produceEcalTimeOffsetConstant(const EcalTimeOffsetConstantRcd &)
virtual std::unique_ptr< EcalPFRecHitThresholds > getPFRecHitThresholdsFromConfiguration(const EcalPFRecHitThresholdsRcd &)
virtual std::unique_ptr< EcalTimeCalibConstants > getTimeCalibConstantsFromConfiguration(const EcalTimeCalibConstantsRcd &)
virtual std::unique_ptr< EcalTPGCrystalStatus > getTrgChannelStatusFromConfiguration(const EcalTPGCrystalStatusRcd &)
virtual std::unique_ptr< EcalPFRecHitThresholds > produceEcalPFRecHitThresholds(const EcalPFRecHitThresholdsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > jittWeightsAft_
virtual std::unique_ptr< EcalSampleMask > produceEcalSampleMask(const EcalSampleMaskRcd &)
virtual std::unique_ptr< EcalIntercalibErrors > getIntercalibErrorsFromConfiguration(const EcalIntercalibErrorsRcd &)
std::vector< ROOT::Math::SVector< double, EcalDataFrame::MAXSAMPLES > > amplWeights_
std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2MatrixAft_
virtual std::unique_ptr< EcalDAQTowerStatus > produceEcalDAQTowerStatus(const EcalDAQTowerStatusRcd &)
virtual std::unique_ptr< EcalSimPulseShape > getEcalSimPulseShapeFromConfiguration(const EcalSimPulseShapeRcd &)
virtual std::unique_ptr< EcalClusterCrackCorrParameters > produceEcalClusterCrackCorrParameters(const EcalClusterCrackCorrParametersRcd &)