File indexing completed on 2024-04-06 12:30:42
0001 #ifndef CSCDigitizer_CSCDbStripConditions_h
0002 #define CSCDigitizer_CSCDbStripConditions_h
0003
0004 #include "CalibMuon/CSCCalibration/interface/CSCConditions.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "SimMuon/CSCDigitizer/src/CSCStripConditions.h"
0007
0008 class CSCDbStripConditions : public CSCStripConditions {
0009 public:
0010 explicit CSCDbStripConditions(const edm::ParameterSet &pset, edm::ConsumesCollector cc);
0011 ~CSCDbStripConditions() override;
0012
0013
0014 void initializeEvent(const edm::EventSetup &es) override;
0015
0016
0017 float gain(const CSCDetId &detId, int channel) const override;
0018
0019 float gainSigma(const CSCDetId &detId, int channel) const override { return 0.005; }
0020
0021
0022 float pedestal(const CSCDetId &detId, int channel) const override;
0023 float pedestalSigma(const CSCDetId &detId, int channel) const override;
0024
0025 void crosstalk(const CSCDetId &detId,
0026 int channel,
0027 double stripLength,
0028 bool leftRight,
0029 float &capacitive,
0030 float &resistive) const override;
0031
0032
0033 bool isInBadChamber(const CSCDetId &id) const override;
0034
0035 private:
0036 void fetchNoisifier(const CSCDetId &detId, int istrip) override;
0037
0038 CSCConditions theConditions;
0039
0040
0041 float theCapacitiveCrosstalk;
0042
0043
0044 float theResistiveCrosstalkScaling;
0045
0046 float theGainsConstant;
0047 bool doCorrelatedNoise_;
0048 };
0049
0050 #endif