Back to home page

Project CMSSW displayed by LXR

 
 

    


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   /// fetch the maps from the database
0014   void initializeEvent(const edm::EventSetup &es) override;
0015 
0016   /// channels count from 1
0017   float gain(const CSCDetId &detId, int channel) const override;
0018   /// total calibration precision
0019   float gainSigma(const CSCDetId &detId, int channel) const override { return 0.005; }
0020 
0021   /// in ADC counts
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   /// check list of bad chambers from db
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   // nominal constant to give 100% crosstalk
0041   float theCapacitiveCrosstalk;
0042   // constant for resistive crosstalk scaling.
0043   //  Not really sure why it shouldn't be one.
0044   float theResistiveCrosstalkScaling;
0045   // converts DB gains to the gain we expect, 0.5 fC/ADC
0046   float theGainsConstant;
0047   bool doCorrelatedNoise_;
0048 };
0049 
0050 #endif