CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SimMuon/CSCDigitizer/src/CSCDbStripConditions.h

Go to the documentation of this file.
00001 #ifndef CSCDigitizer_CSCDbStripConditions_h
00002 #define CSCDigitizer_CSCDbStripConditions_h
00003 
00004 #include "SimMuon/CSCDigitizer/src/CSCStripConditions.h"
00005 #include "CalibMuon/CSCCalibration/interface/CSCConditions.h"
00006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00007 
00008 class CSCDbStripConditions : public CSCStripConditions
00009 {
00010 public:
00011   explicit CSCDbStripConditions(const edm::ParameterSet & pset);
00012   virtual ~CSCDbStripConditions();
00013 
00015   virtual void initializeEvent(const edm::EventSetup & es);
00016 
00018   virtual float gain(const CSCDetId & detId, int channel) const;
00020   virtual float gainSigma(const CSCDetId & detId, int channel) const {return 0.005;}
00021 
00023   virtual float pedestal(const CSCDetId & detId, int channel) const;
00024   virtual float pedestalSigma(const CSCDetId & detId, int channel) const;
00025 
00026   virtual void crosstalk(const CSCDetId&detId, int channel,
00027                  double stripLength, bool leftRight,
00028                  float & capacitive, float & resistive) const;
00029 
00031   virtual bool isInBadChamber( const CSCDetId& id ) const;
00032 
00033 private:
00034   virtual void fetchNoisifier(const CSCDetId & detId, int istrip);  
00035 
00036   CSCConditions theConditions;
00037 
00038   // nominal constant to give 100% crosstalk
00039   float theCapacitiveCrosstalk;
00040   // constant for resistive crosstalk scaling.
00041   //  Not really sure why it shouldn't be one.
00042   float theResistiveCrosstalkScaling;
00043   // converts DB gains to the gain we expect, 0.5 fC/ADC
00044   float theGainsConstant;
00045   bool doCorrelatedNoise_;
00046 };
00047 
00048 #endif
00049 
00050