CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/RecoLocalMuon/CSCRecHitD/src/CSCRecoConditions.h

Go to the documentation of this file.
00001 #ifndef CSCRecRecHitD_CSCRecoConditions_h
00002 #define CSCRecRecHitD_CSCRecoConditions_h
00003 
00019 #include "FWCore/Framework/interface/Frameworkfwd.h"
00020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00021 #include "CalibMuon/CSCCalibration/interface/CSCConditions.h"
00022 #include "DataFormats/MuonDetId/interface/CSCDetId.h"
00023 
00024 class CSCRecoConditions 
00025 {
00026  public:
00027 
00028   // Passed a PSet just in case we need to configure in some way
00029   explicit CSCRecoConditions(const edm::ParameterSet & pset);
00030   ~CSCRecoConditions();
00031 
00033   void initializeEvent(const edm::EventSetup & es);
00034 
00036   float gain(const CSCDetId & id, int channel) const;
00037 
00039   float averageGain() const { 
00040      return theConditions.averageGain(); }
00041 
00044   void stripWeights( const CSCDetId& id, float* weights ) const;
00045 
00047   float pedestal(const CSCDetId & id, int channel) const;
00048 
00050   float pedestalSigma(const CSCDetId & id, int channel) const;
00051 
00054   void noiseMatrix( const CSCDetId& id, int centralStrip, std::vector<float>& nme ) const;
00055 
00058   void crossTalk( const CSCDetId& id, int centralStrip, std::vector<float>& xtalks) const;
00059 
00060    // returns chip speed correction in ns given detId (w/layer) and strip channel
00061   float chipCorrection( const CSCDetId & detId, int channel ) const;
00062 
00063    // returns chamber level timing correction (cable length and extra chamber correction) in ns 
00064   float chamberTimingCorrection( const CSCDetId & detId )const;
00065 
00066    // returns anode bx off for each chamber, used to correct anode times to 0 for collision muons
00067   float anodeBXoffset( const CSCDetId & detId )const;
00068 
00070   bool nearBadStrip( const CSCDetId& id, int geomStrip ) const;
00071 
00073   bool badStrip( const CSCDetId& id, int geomStrip ) const;
00074 
00076   const std::bitset<112>& badWireWord( const CSCDetId& id ) const;
00077 
00079   float gasGainCorrection( const CSCDetId & detId, int strip, int wire ) const;
00080 
00081  private:
00082 
00087   float stripWeight( const CSCDetId& id, int channel ) const;
00088 
00089 
00090   CSCConditions theConditions;
00091 };
00092 
00093 #endif