CMS 3D CMS Logo

CSCConditions.cc
Go to the documentation of this file.
1 
3 
6 
9 
16 
23 
30 
32 
36 
38  : theGains(),
39  theCrosstalk(),
40  thePedestals(),
41  theNoiseMatrix(),
42  theBadStrips(),
43  theBadWires(),
44  theBadChambers(),
45  theChipCorrections(),
46  theChamberTimingCorrections(),
47  theGasGainCorrections(),
48  indexer_(nullptr),
49  mapper_(nullptr),
50  readBadChannels_(false),
51  readBadChambers_(false),
52  useTimingCorrections_(false),
53  useGasGainCorrections_(false),
54  idOfBadChannelWords_(CSCDetId()),
55  badStripWord_(0),
56  badWireWord_(0),
57  theAverageGain(-1.0) {
58  readBadChannels_ = ps.getParameter<bool>("readBadChannels");
59  readBadChambers_ = ps.getParameter<bool>("readBadChambers");
60  useTimingCorrections_ = ps.getParameter<bool>("CSCUseTimingCorrections");
61  useGasGainCorrections_ = ps.getParameter<bool>("CSCUseGasGainCorrections");
62 }
63 
65 
67  // Algorithms
70 
71  // Strip gains
73  // Strip X-talk
75  // Strip pedestals
77  // Strip autocorrelation noise matrix
79 
80  if (useTimingCorrections()) {
81  // Buckeye chip speeds
83  // Cable lengths from chambers to peripheral crate and additional chamber
84  // level timing correction
86  }
87 
88  if (readBadChannels()) {
89  // Bad strip channels
91  // Bad wiregroup channels
93 
94  //@@ if( badStripsWatcher_.check( es ) ) {
95  // fillBadStripWords();
96  //@@ }
97  //@@ if( badWiresWatcher_.check( es ) ) {
98  // fillBadWireWords();
99  //@ }
100  }
101 
102  // Has GainsRcd changed?
103  if (gainsWatcher_.check(es)) { // Yes...
104  theAverageGain = -1.0; // ...reset, so next access will recalculate it
105  }
106 
107  if (readBadChambers()) {
108  // Entire bad chambers
110  }
111 
112  if (useGasGainCorrections()) {
114  }
115 
116  // print();
117 }
118 
120  // input CSCDetId is expected to be an offline value i.e. different for ME1/1A
121  // and ME1/1B
122 
123  // Only update content if necessary
124  if (id != idOfBadChannelWords()) {
125  // store offline CSCDetId for the two bad channel words
127 
128  // reset to all zeroes
129  badStripWord_.reset();
130  badWireWord_.reset();
131 
132  if (readBadChannels()) {
133  // convert to online CSCDetId since that is how conditions data are stored
134  CSCDetId idraw = mapper_->rawCSCDetId(id);
135  fillBadStripWord(idraw);
136  fillBadWireWord(idraw);
137  }
138  }
139 }
140 
142 
144  // Input CSCDetId is expected to be a 'raw' value
145 
146  // Find linear index of chamber for input CSCDetId
147  int inputIndex = indexer_->chamberIndex(id);
148  short inputLayer = id.layer();
149 
150  // Does this chamber occur in bad channel list? If so, unpack its bad channels
151 
152  // chambers is a vector<BadChamber>
153  // channels is a vector<BadChannel>
154  // Each BadChamber contains its index (1-468 or 540 w. ME42), the no. of bad
155  // channels, and the index within vector<BadChannel> where this chamber's bad
156  // channels start.
157 
158  for (size_t i = 0; i < theBadStrips->chambers.size(); ++i) { // loop over bad chambers
159  int indexc = theBadStrips->chambers[i].chamber_index;
160  if (indexc != inputIndex)
161  continue; // next iteration if not a match
162 
163  int start = theBadStrips->chambers[i].pointer;
164  int nbad = theBadStrips->chambers[i].bad_channels;
165 
166  for (int j = start - 1; j < start - 1 + nbad; ++j) { // bad channels in this chamber
167  short lay = theBadStrips->channels[j].layer; // value 1-6
168  if (lay != inputLayer)
169  continue;
170 
171  short chan = theBadStrips->channels[j].channel; // value 1-80 (->112 for unganged ME1/1A)
172  // Flags so far unused (and unset in conditins data)
173  // short f1 = theBadStrips->channels[j].flag1;
174  // short f2 = theBadStrips->channels[j].flag2;
175  // short f3 = theBadStrips->channels[j].flag3;
176  badStripWord_.set(chan - 1, true); // set bit 0-79 (111) in 80 (112)-bit
177  // bitset representing this layer
178  } // j
179  } // i
180 }
181 
183  // Input CSCDetId is expected to be a 'raw' value
184 
185  // Find linear index of chamber for input CSCDetId
186  int inputIndex = indexer_->chamberIndex(id);
187  short inputLayer = id.layer();
188 
189  // unpack what we've read from theBadWires
190 
191  for (size_t i = 0; i < theBadWires->chambers.size(); ++i) { // loop over bad chambers
192  int indexc = theBadWires->chambers[i].chamber_index;
193 
194  if (indexc != inputIndex)
195  continue; // next iteration if not a match
196 
197  int start = theBadWires->chambers[i].pointer;
198  int nbad = theBadWires->chambers[i].bad_channels;
199 
200  for (int j = start - 1; j < start - 1 + nbad; ++j) { // bad channels in this chamber
201  short lay = theBadWires->channels[j].layer; // value 1-6
202  if (lay != inputLayer)
203  continue;
204 
205  short chan = theBadWires->channels[j].channel; // value 1-112
206  // short f1 = theBadWires->channels[j].flag1;
207  // short f2 = theBadWires->channels[j].flag2;
208  // short f3 = theBadWires->channels[j].flag3;
209  badWireWord_.set(chan - 1,
210  true); // set bit 0-111 in 112-bit bitset representing this layer
211  } // j
212  } // i
213 }
214 
216  //@@ We do not consider the possibility of having ME1/1A & ME1/1B
217  // independently 'bad'.
218  //@@ To do that we would need to define separate chamber indexes for ME1/1A &
219  // ME1/1B.
220 
221  if (readBadChambers()) {
222  CSCDetId idraw = mapper_->rawCSCDetId(id);
223  int index = indexer_->chamberIndex(idraw);
225  } else
226  return false;
227 }
228 
229 float CSCConditions::gain(const CSCDetId &id, int geomChannel) const {
231  CSCDetId idraw = mapper_->rawCSCDetId(id);
232  int iraw = mapper_->rawStripChannel(id, geomChannel);
233  int index = indexer_->stripChannelIndex(idraw, iraw) - 1; // NOTE THE MINUS ONE!
234  return float(theGains->gain(index)) / theGains->scale();
235 }
236 
237 float CSCConditions::pedestal(const CSCDetId &id, int geomChannel) const {
239  CSCDetId idraw = mapper_->rawCSCDetId(id);
240  int iraw = mapper_->rawStripChannel(id, geomChannel);
241  int index = indexer_->stripChannelIndex(idraw, iraw) - 1; // NOTE THE MINUS ONE!
243 }
244 
245 float CSCConditions::pedestalSigma(const CSCDetId &id, int geomChannel) const {
247  CSCDetId idraw = mapper_->rawCSCDetId(id);
248  int iraw = mapper_->rawStripChannel(id, geomChannel);
249  int index = indexer_->stripChannelIndex(idraw, iraw) - 1; // NOTE THE MINUS ONE!
251 }
252 
253 float CSCConditions::crosstalkIntercept(const CSCDetId &id, int geomChannel, bool leftRight) const {
255  CSCDetId idraw = mapper_->rawCSCDetId(id);
256  int iraw = mapper_->rawStripChannel(id, geomChannel);
257  int index = indexer_->stripChannelIndex(idraw, iraw) - 1; // NOTE THE MINUS ONE!
258  // resistive fraction is at the peak, where t=0
259  return leftRight ? float(theCrosstalk->rinter(index)) / theCrosstalk->iscale()
261 }
262 
263 float CSCConditions::crosstalkSlope(const CSCDetId &id, int geomChannel, bool leftRight) const {
265  CSCDetId idraw = mapper_->rawCSCDetId(id);
266  int iraw = mapper_->rawStripChannel(id, geomChannel);
267  int index = indexer_->stripChannelIndex(idraw, iraw) - 1; // NOTE THE MINUS ONE!
268  // resistive fraction is at the peak, where t=0
269  return leftRight ? float(theCrosstalk->rslope(index)) / theCrosstalk->sscale()
271 }
272 
273 const CSCDBNoiseMatrix::Item &CSCConditions::noiseMatrix(const CSCDetId &id, int geomChannel) const {
274  //@@ BEWARE - THIS FUNCTION DOES NOT APPLY SCALE FACTOR USED IN PACKING VALUES
275  // IN CONDITIONS DATA
276  //@@ MAY BE AN ERROR? WHO WOULD WANT ACCESS WITHOUT IT?
277 
279  CSCDetId idraw = mapper_->rawCSCDetId(id);
280  int iraw = mapper_->rawStripChannel(id, geomChannel);
281  int index = indexer_->stripChannelIndex(idraw, iraw) - 1; // NOTE THE MINUS ONE!
282  return theNoiseMatrix->item(index);
283 }
284 
285 void CSCConditions::noiseMatrixElements(const CSCDetId &id, int geomChannel, std::vector<float> &me) const {
286  assert(me.size() > 11);
287  const CSCDBNoiseMatrix::Item &item = noiseMatrix(id, geomChannel); // i.e. the function above
288  me[0] = float(item.elem33) / theNoiseMatrix->scale();
289  me[1] = float(item.elem34) / theNoiseMatrix->scale();
290  me[2] = float(item.elem35) / theNoiseMatrix->scale();
291  me[3] = float(item.elem44) / theNoiseMatrix->scale();
292  me[4] = float(item.elem45) / theNoiseMatrix->scale();
293  me[5] = float(item.elem46) / theNoiseMatrix->scale();
294  me[6] = float(item.elem55) / theNoiseMatrix->scale();
295  me[7] = float(item.elem56) / theNoiseMatrix->scale();
296  me[8] = float(item.elem57) / theNoiseMatrix->scale();
297  me[9] = float(item.elem66) / theNoiseMatrix->scale();
298  me[10] = float(item.elem67) / theNoiseMatrix->scale();
299  me[11] = float(item.elem77) / theNoiseMatrix->scale();
300 }
301 
302 void CSCConditions::crossTalk(const CSCDetId &id, int geomChannel, std::vector<float> &ct) const {
304  CSCDetId idraw = mapper_->rawCSCDetId(id);
305  int iraw = mapper_->rawStripChannel(id, geomChannel);
306  int index = indexer_->stripChannelIndex(idraw, iraw) - 1; // NOTE THE MINUS ONE!
307 
312 }
313 
314 float CSCConditions::chipCorrection(const CSCDetId &id, int geomChannel) const {
315  if (useTimingCorrections()) {
317  CSCDetId idraw = mapper_->rawCSCDetId(id);
318  int iraw = mapper_->rawStripChannel(id, geomChannel);
319  int ichip = indexer_->chipIndex(iraw); // converts 1-80 to 1-5 (chip#, CFEB#)
320  int index = indexer_->chipIndex(idraw, ichip) - 1; // NOTE THE MINUS ONE!
322  } else
323  return 0;
324 }
326  if (useTimingCorrections()) {
328  CSCDetId idraw = mapper_->rawCSCDetId(id);
329  int index = indexer_->chamberIndex(idraw) - 1; // NOTE THE MINUS ONE!
330  return float(
334  } else
335  return 0;
336 }
337 float CSCConditions::anodeBXoffset(const CSCDetId &id) const {
338  if (useTimingCorrections()) {
340  CSCDetId idraw = mapper_->rawCSCDetId(id);
341  int index = indexer_->chamberIndex(idraw) - 1; // NOTE THE MINUS ONE!
344  } else
345  return 0;
346 }
347 
353  const float loEdge = 5.0; // consider gains above this
354  const float hiEdge = 10.0; // consider gains below this
355  const float loLimit = 6.0; // lowest acceptable average gain
356  const float hiLimit = 9.0; // highest acceptable average gain
357  const float expectedAverage = 7.5; // default average gain
358 
359  if (theAverageGain > 0.)
360  return theAverageGain; // only recalculate if necessary
361 
362  int n_strip = 0;
363  float gain_tot = 0.;
364 
365  CSCDBGains::GainContainer::const_iterator it;
366  for (it = theGains->gains.begin(); it != theGains->gains.end(); ++it) {
367  float the_gain = float(it->gain_slope) / theGains->scale();
368  if (the_gain > loEdge && the_gain < hiEdge) {
369  gain_tot += the_gain;
370  ++n_strip;
371  }
372  }
373 
374  // Average gain
375  if (n_strip > 0) {
376  theAverageGain = gain_tot / n_strip;
377  }
378 
379  // Average gain has been around 7.5 in real data
380  if (theAverageGain < loLimit || theAverageGain > hiLimit) {
381  // LogTrace("CSC") << "Average CSC strip gain = "
382  // << theAverageGain << " is reset to expected value "
383  // << expectedAverage;
384  theAverageGain = expectedAverage;
385  }
386 
387  return theAverageGain;
388 }
389 //
390 float CSCConditions::gasGainCorrection(const CSCDetId &id, int geomChannel, int iwiregroup) const {
391  if (useGasGainCorrections()) {
393  CSCDetId idraw = mapper_->rawCSCDetId(id);
394  int iraw = mapper_->rawStripChannel(id, geomChannel);
395  int index = indexer_->gasGainIndex(idraw, iraw, iwiregroup) - 1; // NOTE THE MINUS ONE!
397  } else {
398  return 1.;
399  }
400 }
401 
402 int CSCConditions::channelFromStrip(const CSCDetId &id, int geomStrip) const {
403  return mapper_->channelFromStrip(id, geomStrip);
404 }
405 
406 int CSCConditions::rawStripChannel(const CSCDetId &id, int geomChannel) const {
407  return mapper_->rawStripChannel(id, geomChannel);
408 }
409 
411 //@@ HAS NOT BEEN UPDATED THROUGH SEVERAL VERSIONS OF THE CONDITIONS DATA
412 {
413  /*
414  std::cout << "SIZES: GAINS: " << theGains->gains.size()
415  << " PEDESTALS: " << thePedestals->pedestals.size()
416  << " NOISES " << theNoiseMatrix->matrix.size() << std::endl;;
417 
418  std::map< int,std::vector<CSCDBGains::Item> >::const_iterator layerGainsItr
419  = theGains->gains.begin(), lastGain = theGains->gains.end(); for( ;
420  layerGainsItr != lastGain; ++layerGainsItr)
421  {
422  std::cout << "GAIN " << layerGainsItr->first
423  << " STRIPS " << layerGainsItr->second.size() << " "
424  << layerGainsItr->second[0].gain_slope
425  << " " << layerGainsItr->second[0].gain_intercept << std::endl;
426  }
427 
428  std::map< int,std::vector<CSCDBPedestals::Item> >::const_iterator
429  pedestalItr = thePedestals->pedestals.begin(), lastPedestal =
430  thePedestals->pedestals.end(); for( ; pedestalItr != lastPedestal;
431  ++pedestalItr)
432  {
433  std::cout << "PEDS " << pedestalItr->first << " "
434  << " STRIPS " << pedestalItr->second.size() << " ";
435  for(int i = 1; i < 80; ++i)
436  {
437  std::cout << pedestalItr->second[i-1].rms << " " ;
438  }
439  std::cout << std::endl;
440  }
441 
442  std::map< int,std::vector<CSCDBCrosstalk::Item> >::const_iterator
443  crosstalkItr = theCrosstalk->crosstalk.begin(), lastCrosstalk =
444  theCrosstalk->crosstalk.end(); for( ; crosstalkItr != lastCrosstalk;
445  ++crosstalkItr)
446  {
447  std::cout << "XTALKS " << crosstalkItr->first
448  << " STRIPS " << crosstalkItr->second.size() << " "
449  << crosstalkItr->second[5].xtalk_slope_left << " "
450  << crosstalkItr->second[5].xtalk_slope_right << " "
451  << crosstalkItr->second[5].xtalk_intercept_left << " "
452  << crosstalkItr->second[5].xtalk_intercept_right << std::endl;
453  }
454  */
455 }
CSCConditions::thePedestals
edm::ESHandle< CSCDBPedestals > thePedestals
Definition: CSCConditions.h:145
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:52
CSCConditions::noiseMatrix
const CSCDBNoiseMatrix::Item & noiseMatrix(const CSCDetId &detId, int channel) const
raw noise matrix (unscaled short int elements)
Definition: CSCConditions.cc:273
CSCConditions::theBadWires
edm::ESHandle< CSCBadWires > theBadWires
Definition: CSCConditions.h:148
CSCChamberTimeCorrections::item
const ChamberTimeCorrections & item(int index) const
Definition: CSCChamberTimeCorrections.h:33
CSCDBPedestalsRcd
Definition: CSCDBPedestalsRcd.h:5
CSCConditions::indexer_
edm::ESHandle< CSCIndexerBase > indexer_
Definition: CSCConditions.h:156
CSCConditions::gainsWatcher_
edm::ESWatcher< CSCDBGainsRcd > gainsWatcher_
Definition: CSCConditions.h:178
CSCDBChipSpeedCorrectionRcd
Definition: CSCDBChipSpeedCorrectionRcd.h:5
mps_fire.i
i
Definition: mps_fire.py:355
CSCBadWires.h
start
Definition: start.py:1
CSCChamberTimeCorrections::ChamberTimeCorrections::cfeb_tmb_skew_delay
short int cfeb_tmb_skew_delay
Definition: CSCChamberTimeCorrections.h:19
CSCDBChipSpeedCorrection::scale
int scale() const
Definition: CSCDBChipSpeedCorrection.h:28
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
CSCChamberTimeCorrections::ChamberTimeCorrections::cfeb_cable_delay
short int cfeb_cable_delay
Definition: CSCChamberTimeCorrections.h:21
funct::false
false
Definition: Factorize.h:34
CSCConditions::readBadChambers_
bool readBadChambers_
Definition: CSCConditions.h:163
CSCConditions::useTimingCorrections_
bool useTimingCorrections_
Definition: CSCConditions.h:165
ESHandle.h
CSCChamberTimeCorrectionsRcd.h
CSCDBCrosstalk::linter
short int linter(int index) const
Definition: CSCDBCrosstalk.h:34
CSCConditions::readBadChambers
bool readBadChambers() const
did we request reading bad chamber info from db?
Definition: CSCConditions.h:109
CSCConditions::idOfBadChannelWords
const CSCDetId & idOfBadChannelWords() const
the offline CSCDetId of current bad channel words
Definition: CSCConditions.h:98
CSCBadStrips::channels
BadChannelContainer channels
Definition: CSCBadStrips.h:36
CSCDBGasGainCorrectionRcd
Definition: CSCDBGasGainCorrectionRcd.h:5
CSCConditions::theBadStrips
edm::ESHandle< CSCBadStrips > theBadStrips
Definition: CSCConditions.h:147
CSCConditions::theNoiseMatrix
edm::ESHandle< CSCDBNoiseMatrix > theNoiseMatrix
Definition: CSCConditions.h:146
CSCDBNoiseMatrix::Item
Definition: CSCDBNoiseMatrix.h:14
CSCDBCrosstalk::rslope
short int rslope(int index) const
Definition: CSCDBCrosstalk.h:31
CSCDBCrosstalk::iscale
int iscale() const
Definition: CSCDBCrosstalk.h:36
CSCDBCrosstalk.h
CSCConditions::readBadChannels_
bool readBadChannels_
Definition: CSCConditions.h:161
cms::cuda::assert
assert(be >=bs)
CSCChannelMapperBase::rawCSCDetId
virtual CSCDetId rawCSCDetId(const CSCDetId &id) const =0
CSCConditions::readBadChannels
bool readBadChannels() const
did we request reading bad channel info from db?
Definition: CSCConditions.h:106
CSCConditions::badStripWord_
std::bitset< 112 > badStripWord_
Definition: CSCConditions.h:172
CSCDBCrosstalk::lslope
short int lslope(int index) const
Definition: CSCDBCrosstalk.h:33
CSCDBPedestals::scale_rms
int scale_rms() const
Definition: CSCDBPedestals.h:32
CSCDBChipSpeedCorrection.h
CSCConditions::useTimingCorrections
bool useTimingCorrections() const
did we request reading timing correction info from db?
Definition: CSCConditions.h:112
CSCDBGains::gain
short int gain(int index) const
Definition: CSCDBGains.h:27
CSCIndexerBase::gasGainIndex
IndexType gasGainIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ihvsegment, IndexType ichip) const
Definition: CSCIndexerBase.h:415
CSCDBNoiseMatrix::item
const Item & item(int index) const
Definition: CSCDBNoiseMatrix.h:26
CSCConditions::pedestal
float pedestal(const CSCDetId &detId, int channel) const
static ped in ADC counts
Definition: CSCConditions.cc:237
CSCChamberTimeCorrections::ChamberTimeCorrections::anode_bx_offset
short int anode_bx_offset
Definition: CSCChamberTimeCorrections.h:22
CSCConditions::channelFromStrip
int channelFromStrip(const CSCDetId &id, int geomStrip) const
feedthrough for external access
Definition: CSCConditions.cc:402
CSCDBNoiseMatrix::scale
int scale() const
Definition: CSCDBNoiseMatrix.h:27
watchdog.const
const
Definition: watchdog.py:83
CSCConditions::fillBadWireWord
void fillBadWireWord(const CSCDetId &id)
Definition: CSCConditions.cc:182
CSCDBCrosstalkRcd
Definition: CSCDBCrosstalkRcd.h:5
CSCConditions::fillBadChannelWords
void fillBadChannelWords(const CSCDetId &id)
Definition: CSCConditions.cc:119
CSCConditions::isInBadChamber
bool isInBadChamber(const CSCDetId &id) const
Is the gven chamber flagged as bad?
Definition: CSCConditions.cc:215
CSCBadWires::chambers
BadChamberContainer chambers
Definition: CSCBadWires.h:35
CSCConditions::theChamberTimingCorrections
edm::ESHandle< CSCChamberTimeCorrections > theChamberTimingCorrections
Definition: CSCConditions.h:151
MakerMacros.h
CSCConditions::gain
float gain(const CSCDetId &detId, int channel) const
gain per channel
Definition: CSCConditions.cc:229
CSCConditions::noiseMatrixElements
void noiseMatrixElements(const CSCDetId &id, int channel, std::vector< float > &me) const
Definition: CSCConditions.cc:285
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
CSCChamberTimeCorrections.h
CSCConditions::crosstalkIntercept
float crosstalkIntercept(const CSCDetId &detId, int channel, bool leftRight) const
crosstalk intercept for left and right
Definition: CSCConditions.cc:253
CSCDBNoiseMatrixRcd.h
CSCConditions::chipCorrection
float chipCorrection(const CSCDetId &detId, int channel) const
chip speed correction in ns given detId (w/layer) and strip channel
Definition: CSCConditions.cc:314
CSCConditions::CSCConditions
CSCConditions(const edm::ParameterSet &ps)
Definition: CSCConditions.cc:37
CSCBadStrips::chambers
BadChamberContainer chambers
Definition: CSCBadStrips.h:35
CSCIndexerBase::chipIndex
IndexType chipIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ichip) const
Definition: CSCIndexerBase.h:322
CSCConditions::theBadChambers
edm::ESHandle< CSCBadChambers > theBadChambers
Definition: CSCConditions.h:149
CSCConditions::theGains
edm::ESHandle< CSCDBGains > theGains
Definition: CSCConditions.h:143
CSCIndexerBase::stripChannelIndex
LongIndexType stripChannelIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType istrip) const
Definition: CSCIndexerBase.h:278
CSCBadWiresRcd
Definition: CSCBadWiresRcd.h:5
CSCDBCrosstalk::rinter
short int rinter(int index) const
Definition: CSCDBCrosstalk.h:32
CSCChannelMapperBase::rawStripChannel
virtual int rawStripChannel(const CSCDetId &id, int igeom) const =0
Return raw strip channel number for input geometrical channel number.
CSCConditions::~CSCConditions
~CSCConditions()
Definition: CSCConditions.cc:64
CSCConditions::badWireWord_
std::bitset< 112 > badWireWord_
Definition: CSCConditions.h:173
CSCChamberTimeCorrections::ChamberTimeCorrections::cfeb_timing_corr
short int cfeb_timing_corr
Definition: CSCChamberTimeCorrections.h:20
CSCChannelMapperRecord
Definition: CSCChannelMapperRecord.h:6
CSCConditions::mapper_
edm::ESHandle< CSCChannelMapperBase > mapper_
Definition: CSCConditions.h:157
CSCConditions::setIdOfBadChannelWords
void setIdOfBadChannelWords(const CSCDetId &id)
Definition: CSCConditions.h:139
CSCIndexerRecord.h
CSCChamberTimeCorrections::precision
int precision() const
Definition: CSCChamberTimeCorrections.h:34
CSCBadChambers::isInBadChamber
bool isInBadChamber(IndexType ichamber) const
Is the chamber with index 'ichamber' flagged as bad?
Definition: CSCBadChambers.cc:4
CSCDBGains::gains
GainContainer gains
Definition: CSCDBGains.h:24
edm::ParameterSet
Definition: ParameterSet.h:36
CSCConditions::gasGainCorrection
float gasGainCorrection(const CSCDetId &detId, int strip, int wire) const
Definition: CSCConditions.cc:390
Event.h
CSCDBPedestals.h
CSCConditions::print
void print() const
Definition: CSCConditions.cc:410
CSCDBGasGainCorrectionRcd.h
CSCChamberTimeCorrectionsRcd
Definition: CSCChamberTimeCorrectionsRcd.h:5
CSCConditions::useGasGainCorrections
bool useGasGainCorrections() const
did we request reading gas gain correction info from db?
Definition: CSCConditions.h:127
CSCDBPedestals::pedestal
short int pedestal(int index) const
Definition: CSCDBPedestals.h:29
CSCConditions.h
CSCBadStripsRcd
Definition: CSCBadStripsRcd.h:5
CSCDetId
Definition: CSCDetId.h:26
CSCConditions::anodeBXoffset
float anodeBXoffset(const CSCDetId &detId) const
anode bx offset in bx given detId of chamber
Definition: CSCConditions.cc:337
CSCIndexerBase::chamberIndex
IndexType chamberIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic) const
Definition: CSCIndexerBase.h:193
CSCConditions::averageGain
float averageGain() const
Definition: CSCConditions.cc:352
CSCConditions::rawStripChannel
int rawStripChannel(const CSCDetId &id, int geomChannel) const
Definition: CSCConditions.cc:406
B2GTnPMonitor_cfi.item
item
Definition: B2GTnPMonitor_cfi.py:147
edm::EventSetup
Definition: EventSetup.h:57
CSCConditions::initializeEvent
void initializeEvent(const edm::EventSetup &es)
fetch database content via EventSetup
Definition: CSCConditions.cc:66
get
#define get
CSCChannelMapperRecord.h
CSCConditions::pedestalSigma
float pedestalSigma(const CSCDetId &detId, int channel) const
static ped rms in ADC counts
Definition: CSCConditions.cc:245
CSCDBCrosstalk::sscale
int sscale() const
Definition: CSCDBCrosstalk.h:35
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
CSCBadChambersRcd.h
CSCDBCrosstalkRcd.h
CSCConditions::fillBadStripWord
void fillBadStripWord(const CSCDetId &id)
fill bad channel words for offline id
Definition: CSCConditions.cc:143
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
CSCConditions::chamberTimingCorrection
float chamberTimingCorrection(const CSCDetId &detId) const
chamber timing correction in ns given detId of chamber
Definition: CSCConditions.cc:325
CSCBadChambersRcd
Definition: CSCBadChambersRcd.h:5
CSCConditions::useGasGainCorrections_
bool useGasGainCorrections_
Definition: CSCConditions.h:167
CSCBadWires::channels
BadChannelContainer channels
Definition: CSCBadWires.h:36
CSCConditions::crosstalkSlope
float crosstalkSlope(const CSCDetId &detId, int channel, bool leftRight) const
crosstalk slope for left and right
Definition: CSCConditions.cc:263
ESWatcher.h
officialStyle.chan
chan
lumi = TPaveText(lowX+0.38, lowY+0.061, lowX+0.45, lowY+0.161, "NDC") lumi.SetBorderSize( 0 ) lumi....
Definition: officialStyle.py:106
CSCDBPedestals::pedestal_rms
short int pedestal_rms(int index) const
Definition: CSCDBPedestals.h:31
CSCConditions::theChipCorrections
edm::ESHandle< CSCDBChipSpeedCorrection > theChipCorrections
Definition: CSCConditions.h:150
CSCConditions::theAverageGain
float theAverageGain
Definition: CSCConditions.h:175
CSCConditions::theCrosstalk
edm::ESHandle< CSCDBCrosstalk > theCrosstalk
Definition: CSCConditions.h:144
CSCDBGains::scale
int scale() const
Definition: CSCDBGains.h:28
EventSetup.h
CSCDBChipSpeedCorrection::value
short int value(int index) const
Definition: CSCDBChipSpeedCorrection.h:27
CSCDBGainsRcd
Definition: CSCDBGainsRcd.h:5
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
CSCBadStrips.h
CSCDBGains.h
CSCIndexerRecord
Definition: CSCIndexerRecord.h:6
ParameterSet.h
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
hlt_dqm_clientPB-live_cfg.me
me
Definition: hlt_dqm_clientPB-live_cfg.py:61
CSCConditions::theGasGainCorrections
edm::ESHandle< CSCDBGasGainCorrection > theGasGainCorrections
Definition: CSCConditions.h:152
CSCDBChipSpeedCorrectionRcd.h
CSCDBNoiseMatrixRcd
Definition: CSCDBNoiseMatrixRcd.h:5
CSCConditions::crossTalk
void crossTalk(const CSCDetId &id, int channel, std::vector< float > &ct) const
Definition: CSCConditions.cc:302
CSCDBPedestalsRcd.h
CSCDBGasGainCorrection::value
float value(int index) const
Definition: CSCDBGasGainCorrection.h:24
CSCChannelMapperBase.h
CSCDBGasGainCorrection.h
CSCBadChambers.h
CSCIndexerBase.h
CSCChannelMapperBase::channelFromStrip
virtual int channelFromStrip(const CSCDetId &id, int strip) const =0
CSCDBPedestals::scale_ped
int scale_ped() const
Definition: CSCDBPedestals.h:30