CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CSCRecoConditions.h
Go to the documentation of this file.
1 #ifndef CSCRecRecHitD_CSCRecoConditions_h
2 #define CSCRecRecHitD_CSCRecoConditions_h
3 
23 
25 {
26  public:
27 
28  // Passed a PSet just in case we need to configure in some way
29  explicit CSCRecoConditions(const edm::ParameterSet & pset);
31 
33  void initializeEvent(const edm::EventSetup & es);
34 
36 
38  float gain( const CSCDetId& id, int geomStrip ) const;
39 
41  float averageGain() const {
42  return theConditions.averageGain(); }
43 
47  void stripWeights( const CSCDetId& id, short int nstrips, float* weights ) const;
48 
50  float pedestal(const CSCDetId& id, int channel) const;
51 
53  float pedestalSigma(const CSCDetId& id, int channel) const;
54 
57  void noiseMatrix( const CSCDetId& id, int centralStrip, std::vector<float>& nme ) const;
58 
61  void crossTalk( const CSCDetId& id, int centralStrip, std::vector<float>& xtalks) const;
62 
63  // returns chip speed correction in ns given strio channel
64  float chipCorrection( const CSCDetId & detId, int channel ) const;
65 
66  // returns chamber level timing correction (cable length and extra chamber correction) in ns
67  float chamberTimingCorrection( const CSCDetId& id )const;
68 
69  // returns anode bx off for each chamber, used to correct anode times to 0 for collision muons
70  float anodeBXoffset( const CSCDetId & detId )const;
71 
73  float gasGainCorrection( const CSCDetId& id, int strip, int wireGroup ) const;
74 
76  void fillBadChannelWords( const CSCDetId& id );
77 
79  bool nearBadStrip( const CSCDetId& id, int geomStrip, int nstrips ) const;
80 
82  bool badStrip( const CSCDetId& id, int geomStrip, int nstrips ) const;
83 
85  const std::bitset<112>& badWireWord( const CSCDetId& id ) const;
86 
87  private:
88 
90 
91  float stripWeight( const CSCDetId& id, int geomStrip ) const;
92 
94 };
95 
96 #endif
float gasGainCorrection(const CSCDetId &id, int strip, int wireGroup) const
returns gas-gain correction
CSCRecoConditions(const edm::ParameterSet &pset)
void noiseMatrix(const CSCDetId &id, int centralStrip, std::vector< float > &nme) const
float averageGain() const
return average gain over entire CSC system
bool nearBadStrip(const CSCDetId &id, int geomStrip, int nstrips) const
Is a neighbour bad?
bool badStrip(const CSCDetId &id, int geomStrip, int nstrips) const
Is the strip bad?
float gain(const CSCDetId &id, int geomStrip) const
channels and geomstrips count from 1
void fillBadChannelWords(const CSCDetId &id)
fill bad strip &amp; bad wiregroup bitsets from conditions data
CSCConditions theConditions
float stripWeight(const CSCDetId &id, int geomStrip) const
return gain weight for given strip channel
float chipCorrection(const CSCDetId &detId, int channel) const
All other functions are accessed by geometrical strip label (i.e. strip number according to local coo...
float anodeBXoffset(const CSCDetId &detId) const
void crossTalk(const CSCDetId &id, int centralStrip, std::vector< float > &xtalks) const
float pedestalSigma(const CSCDetId &id, int channel) const
sigma of static pedestal in ADC counts for strip channel (e.g. 1-16 for ganged ME1a, 1-48 for unganged ME1a)
void stripWeights(const CSCDetId &id, short int nstrips, float *weights) const
float pedestal(const CSCDetId &id, int channel) const
static pedestal in ADC counts for strip channel (e.g. 1-16 for ganged ME1a, 1-48 for unganged ME1a) ...
float averageGain() const
average gain over entire CSC system (logically const although must be cached here).
float chamberTimingCorrection(const CSCDetId &id) const
void initializeEvent(const edm::EventSetup &es)
fetch the cond data from the database
const std::bitset< 112 > & badWireWord(const CSCDetId &id) const
Get bad wiregroup word.