CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/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 
00038   float gain( const CSCDetId& id, int geomStrip ) const;
00039 
00041   float averageGain() const {
00042      return theConditions.averageGain(); }
00043 
00047   void stripWeights( const CSCDetId& id, short int nstrips, float* weights ) const;
00048 
00050   float pedestal(const CSCDetId& id, int channel) const;
00051 
00053   float pedestalSigma(const CSCDetId& id, int channel) const;
00054 
00057   void noiseMatrix( const CSCDetId& id, int centralStrip, std::vector<float>& nme ) const;
00058 
00061   void crossTalk( const CSCDetId& id, int centralStrip, std::vector<float>& xtalks) const;
00062 
00063    // returns chip speed correction in ns given strio channel
00064   float chipCorrection( const CSCDetId & detId, int channel ) const;
00065 
00066    // returns chamber level timing correction (cable length and extra chamber correction) in ns
00067   float chamberTimingCorrection( const CSCDetId& id )const;
00068 
00069    // returns anode bx off for each chamber, used to correct anode times to 0 for collision muons
00070   float anodeBXoffset( const CSCDetId & detId )const;
00071 
00073   float gasGainCorrection( const CSCDetId& id, int strip, int wireGroup ) const;
00074 
00076   bool nearBadStrip( const CSCDetId& id, int geomStrip ) const;
00077 
00079   bool badStrip( const CSCDetId& id, int geomStrip ) const;
00080 
00082   const std::bitset<112>& badWireWord( const CSCDetId& id ) const;
00083 
00084  private:
00085 
00087 
00088   float stripWeight( const CSCDetId& id, int geomStrip ) const;
00089 
00090   CSCConditions theConditions;
00091 };
00092 
00093 #endif