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  float gain(const CSCDetId & id, int channel) const;
37 
39  float averageGain() const {
40  return theConditions.averageGain(); }
41 
44  void stripWeights( const CSCDetId& id, float* weights ) const;
45 
47  float pedestal(const CSCDetId & id, int channel) const;
48 
50  float pedestalSigma(const CSCDetId & id, int channel) const;
51 
54  void noiseMatrix( const CSCDetId& id, int centralStrip, std::vector<float>& nme ) const;
55 
58  void crossTalk( const CSCDetId& id, int centralStrip, std::vector<float>& xtalks) const;
59 
60  // returns chip speed correction in ns given detId (w/layer) and strip channel
61  float chipCorrection( const CSCDetId & detId, int channel ) const;
62 
63  // returns chamber level timing correction (cable length and extra chamber correction) in ns
64  float chamberTimingCorrection( const CSCDetId & detId )const;
65 
66  // returns anode bx off for each chamber, used to correct anode times to 0 for collision muons
67  float anodeBXoffset( const CSCDetId & detId )const;
68 
70  bool nearBadStrip( const CSCDetId& id, int geomStrip ) const;
71 
73  bool badStrip( const CSCDetId& id, int geomStrip ) const;
74 
76  const std::bitset<112>& badWireWord( const CSCDetId& id ) const;
77 
79  float gasGainCorrection( const CSCDetId & detId, int strip, int wire ) const;
80 
81  private:
82 
87  float stripWeight( const CSCDetId& id, int channel ) const;
88 
89 
91 };
92 
93 #endif
void strip(std::string &input, const std::string &blanks=" \n\t")
Definition: stringTools.cc:16
float gain(const CSCDetId &id, int channel) const
channels count from 1
CSCRecoConditions(const edm::ParameterSet &pset)
void noiseMatrix(const CSCDetId &id, int centralStrip, std::vector< float > &nme) const
bool nearBadStrip(const CSCDetId &id, int geomStrip) const
Is a neighbour bad?
float averageGain() const
return average gain over entire CSC system
float stripWeight(const CSCDetId &id, int channel) const
void stripWeights(const CSCDetId &id, float *weights) const
bool badStrip(const CSCDetId &id, int geomStrip) const
Is the strip bad?
float gasGainCorrection(const CSCDetId &detId, int strip, int wire) const
returns gas-gain correction given detId (w/layer), strip, channel. This converts ME1/4 strips 1-16 to...
CSCConditions theConditions
float chipCorrection(const CSCDetId &detId, int channel) const
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
float pedestal(const CSCDetId &id, int channel) const
static pedestal in ADC counts
float averageGain() const
average gain over entire CSC system (logically const although must be cached here).
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.
float chamberTimingCorrection(const CSCDetId &detId) const