CMS 3D CMS Logo

CSCRecoConditions.h
Go to the documentation of this file.
1 #ifndef CSCRecRecHitD_CSCRecoConditions_h
2 #define CSCRecRecHitD_CSCRecoConditions_h
3 
24 
26 public:
27  // Passed a PSet just in case we need to configure in some way
30 
32  void initializeEvent(const edm::EventSetup& es);
33 
35 
37  float gain(const CSCDetId& id, int geomStrip) const;
38 
40  float averageGain() const { return theConditions.averageGain(); }
41 
45  void stripWeights(const CSCDetId& id, short int nstrips, float* weights) const;
46 
48  float pedestal(const CSCDetId& id, int channel) const;
49 
51  float pedestalSigma(const CSCDetId& id, int channel) const;
52 
55  void noiseMatrix(const CSCDetId& id, int centralStrip, std::vector<float>& nme) const;
56 
59  void crossTalk(const CSCDetId& id, int centralStrip, std::vector<float>& xtalks) const;
60 
61  // returns chip speed correction in ns given strio channel
62  float chipCorrection(const CSCDetId& detId, int channel) const;
63 
64  // returns chamber level timing correction (cable length and extra chamber correction) in ns
65  float chamberTimingCorrection(const CSCDetId& id) const;
66 
67  // returns anode bx off for each chamber, used to correct anode times to 0 for collision muons
68  float anodeBXoffset(const CSCDetId& detId) const;
69 
71  float gasGainCorrection(const CSCDetId& id, int strip, int wireGroup) const;
72 
74  void fillBadChannelWords(const CSCDetId& id);
75 
77  bool nearBadStrip(const CSCDetId& id, int geomStrip, int nstrips) const;
78 
80  bool badStrip(const CSCDetId& id, int geomStrip, int nstrips) const;
81 
83  const std::bitset<112>& badWireWord(const CSCDetId& id) const;
84 
85 private:
87 
88  float stripWeight(const CSCDetId& id, int geomStrip) const;
89 
91 };
92 
93 #endif
const std::bitset< 112 > & badWireWord(const CSCDetId &id) const
Get bad wiregroup word.
float chamberTimingCorrection(const CSCDetId &id) const
CSCRecoConditions(const edm::ParameterSet &pset, edm::ConsumesCollector)
void noiseMatrix(const CSCDetId &id, int centralStrip, std::vector< float > &nme) const
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 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)
float averageGain() const
return average gain over entire CSC system
float gain(const CSCDetId &id, int geomStrip) const
channels and geomstrips count from 1
bool nearBadStrip(const CSCDetId &id, int geomStrip, int nstrips) const
Is a neighbour bad?
void crossTalk(const CSCDetId &id, int centralStrip, std::vector< float > &xtalks) const
void fillBadChannelWords(const CSCDetId &id)
fill bad strip & bad wiregroup bitsets from conditions data
float averageGain() const
float gasGainCorrection(const CSCDetId &id, int strip, int wireGroup) const
returns gas-gain correction
CSCConditions theConditions
float stripWeight(const CSCDetId &id, int geomStrip) const
return gain weight for given strip channel
bool badStrip(const CSCDetId &id, int geomStrip, int nstrips) const
Is the strip bad?
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 anodeBXoffset(const CSCDetId &detId) const
void stripWeights(const CSCDetId &id, short int nstrips, float *weights) const
void initializeEvent(const edm::EventSetup &es)
fetch the cond data from the database