CMS 3D CMS Logo

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