CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
CSCConditions Class Reference

#include <CSCConditions.h>

Public Member Functions

float anodeBXoffset (const CSCDetId &detId) const
 anode bx offset in bx given detId of chamber More...
 
float averageGain () const
 
const std::bitset< 112 > & badStripWord () const
 bad strip channel word for a CSCLayer - 1 bit per channel More...
 
const std::bitset< 112 > & badWireWord () const
 bad wiregroup channel word for a CSCLayer - 1 bit per channel More...
 
float chamberTimingCorrection (const CSCDetId &detId) const
 chamber timing correction in ns given detId of chamber More...
 
int channelFromStrip (const CSCDetId &id, int geomStrip) const
 feedthrough for external access More...
 
float chipCorrection (const CSCDetId &detId, int channel) const
 chip speed correction in ns given detId (w/layer) and strip channel More...
 
void crossTalk (const CSCDetId &id, int channel, std::vector< float > &ct) const
 
float crosstalkIntercept (const CSCDetId &detId, int channel, bool leftRight) const
 crosstalk intercept for left and right More...
 
float crosstalkSlope (const CSCDetId &detId, int channel, bool leftRight) const
 crosstalk slope for left and right More...
 
 CSCConditions (const edm::ParameterSet &ps)
 
void fillBadChannelWords (const CSCDetId &id)
 
float gain (const CSCDetId &detId, int channel) const
 gain per channel More...
 
float gainSigma (const CSCDetId &detId, int channel) const
 overall calibration precision More...
 
float gasGainCorrection (const CSCDetId &detId, int strip, int wire) const
 
const CSCDetIdidOfBadChannelWords () const
 the offline CSCDetId of current bad channel words More...
 
void initializeEvent (const edm::EventSetup &es)
 fetch database content via EventSetup More...
 
bool isInBadChamber (const CSCDetId &id) const
 Is the gven chamber flagged as bad? More...
 
const CSCDBNoiseMatrix::ItemnoiseMatrix (const CSCDetId &detId, int channel) const
 raw noise matrix (unscaled short int elements) More...
 
void noiseMatrixElements (const CSCDetId &id, int channel, std::vector< float > &me) const
 
float pedestal (const CSCDetId &detId, int channel) const
 static ped in ADC counts More...
 
float pedestalSigma (const CSCDetId &detId, int channel) const
 static ped rms in ADC counts More...
 
void print () const
 
int rawStripChannel (const CSCDetId &id, int geomChannel) const
 
bool readBadChambers () const
 did we request reading bad chamber info from db? More...
 
bool readBadChannels () const
 did we request reading bad channel info from db? More...
 
bool useGasGainCorrections () const
 did we request reading gas gain correction info from db? More...
 
bool useTimingCorrections () const
 did we request reading timing correction info from db? More...
 
 ~CSCConditions ()
 

Private Types

enum  elayers { MAX_LAYERS = 3240 }
 

Private Member Functions

void fillBadStripWord (const CSCDetId &id)
 fill bad channel words for offline id More...
 
void fillBadWireWord (const CSCDetId &id)
 
void setIdOfBadChannelWords (const CSCDetId &id)
 

Private Attributes

std::bitset< 112 > badStripWord_
 
std::bitset< 112 > badWireWord_
 
edm::ESWatcher< CSCDBGainsRcdgainsWatcher_
 
CSCDetId idOfBadChannelWords_
 
edm::ESHandle< CSCIndexerBaseindexer_
 
edm::ESHandle< CSCChannelMapperBasemapper_
 
bool readBadChambers_
 
bool readBadChannels_
 
float theAverageGain
 
edm::ESHandle< CSCBadChamberstheBadChambers
 
edm::ESHandle< CSCBadStripstheBadStrips
 
edm::ESHandle< CSCBadWirestheBadWires
 
edm::ESHandle< CSCChamberTimeCorrectionstheChamberTimingCorrections
 
edm::ESHandle< CSCDBChipSpeedCorrectiontheChipCorrections
 
edm::ESHandle< CSCDBCrosstalktheCrosstalk
 
edm::ESHandle< CSCDBGainstheGains
 
edm::ESHandle< CSCDBGasGainCorrectiontheGasGainCorrections
 
edm::ESHandle< CSCDBNoiseMatrixtheNoiseMatrix
 
edm::ESHandle< CSCDBPedestalsthePedestals
 
bool useGasGainCorrections_
 
bool useTimingCorrections_
 

Detailed Description

Encapsulates a user interface into the CSC conditions

Author
Rick Wilkinson
Tim Cox

Interfaces generally use "channels" which count from 1 and are 'geometric' i.e. in the order matching local coordinates. This is the channel labelling in CSCStripDigi (and CSCWireDigi) after internal corrections within CSCRawToDigi.

The input CSCDetId is also 'geometric channel level' i.e. ME11A has its own CSCDetId even in the ganged case,

Ganged ME1a channels are 1-16 (and unganged, of course, 1-48)

From CMSSW 61X, this class also handles separate algorithm versions for indexing the conditions data and for mapping between online and offline channel labelling.

Definition at line 48 of file CSCConditions.h.

Member Enumeration Documentation

◆ elayers

enum CSCConditions::elayers
private
Enumerator
MAX_LAYERS 

Definition at line 184 of file CSCConditions.h.

184 { MAX_LAYERS = 3240 };

Constructor & Destructor Documentation

◆ CSCConditions()

CSCConditions::CSCConditions ( const edm::ParameterSet ps)
explicit

Definition at line 37 of file CSCConditions.cc.

38  : theGains(),
39  theCrosstalk(),
40  thePedestals(),
42  theBadStrips(),
43  theBadWires(),
48  indexer_(nullptr),
49  mapper_(nullptr),
50  readBadChannels_(false),
51  readBadChambers_(false),
52  useTimingCorrections_(false),
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 }

References edm::ParameterSet::getParameter(), readBadChambers_, readBadChannels_, useGasGainCorrections_, and useTimingCorrections_.

◆ ~CSCConditions()

CSCConditions::~CSCConditions ( )

Definition at line 64 of file CSCConditions.cc.

64 {}

Member Function Documentation

◆ anodeBXoffset()

float CSCConditions::anodeBXoffset ( const CSCDetId detId) const

◆ averageGain()

float CSCConditions::averageGain ( ) const

average gain over entire CSC system (logically const although must be cached here).

Return average strip gain for full CSC system. Lazy evaluation. Restrict averaging to gains between 5 and 10, and require average is between 6 or 9 otherwise fix it to 7.5. These values came from Dominique and Stan,

Definition at line 352 of file CSCConditions.cc.

352  {
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 }

References dqmMemoryStats::float, CSCDBGains::gains, CSCDBGains::scale(), theAverageGain, and theGains.

Referenced by CSCRecoConditions::averageGain().

◆ badStripWord()

const std::bitset<112>& CSCConditions::badStripWord ( ) const
inline

bad strip channel word for a CSCLayer - 1 bit per channel

Definition at line 92 of file CSCConditions.h.

92 { return badStripWord_; }

References badStripWord_.

Referenced by CSCRecoConditions::badStrip().

◆ badWireWord()

const std::bitset<112>& CSCConditions::badWireWord ( ) const
inline

bad wiregroup channel word for a CSCLayer - 1 bit per channel

Definition at line 95 of file CSCConditions.h.

95 { return badWireWord_; }

References badWireWord_.

Referenced by CSCRecoConditions::badWireWord().

◆ chamberTimingCorrection()

float CSCConditions::chamberTimingCorrection ( const CSCDetId detId) const

◆ channelFromStrip()

int CSCConditions::channelFromStrip ( const CSCDetId id,
int  geomStrip 
) const

◆ chipCorrection()

float CSCConditions::chipCorrection ( const CSCDetId detId,
int  channel 
) const

chip speed correction in ns given detId (w/layer) and strip channel

Definition at line 314 of file CSCConditions.cc.

314  {
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 }

References cms::cuda::assert(), CSCIndexerBase::chipIndex(), dqmMemoryStats::float, indexer_, edm::ESHandleBase::isValid(), mapper_, CSCChannelMapperBase::rawCSCDetId(), CSCChannelMapperBase::rawStripChannel(), CSCDBChipSpeedCorrection::scale(), theChipCorrections, useTimingCorrections(), and CSCDBChipSpeedCorrection::value().

Referenced by CSCRecoConditions::chipCorrection().

◆ crossTalk()

void CSCConditions::crossTalk ( const CSCDetId id,
int  channel,
std::vector< float > &  ct 
) const

◆ crosstalkIntercept()

float CSCConditions::crosstalkIntercept ( const CSCDetId detId,
int  channel,
bool  leftRight 
) const

crosstalk intercept for left and right

Definition at line 253 of file CSCConditions.cc.

253  {
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 }

References cms::cuda::assert(), dqmMemoryStats::float, indexer_, CSCDBCrosstalk::iscale(), edm::ESHandleBase::isValid(), CSCDBCrosstalk::linter(), mapper_, CSCChannelMapperBase::rawCSCDetId(), CSCChannelMapperBase::rawStripChannel(), CSCDBCrosstalk::rinter(), CSCIndexerBase::stripChannelIndex(), and theCrosstalk.

Referenced by CSCDbStripConditions::crosstalk().

◆ crosstalkSlope()

float CSCConditions::crosstalkSlope ( const CSCDetId detId,
int  channel,
bool  leftRight 
) const

crosstalk slope for left and right

Definition at line 263 of file CSCConditions.cc.

263  {
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 }

References cms::cuda::assert(), dqmMemoryStats::float, indexer_, edm::ESHandleBase::isValid(), CSCDBCrosstalk::lslope(), mapper_, CSCChannelMapperBase::rawCSCDetId(), CSCChannelMapperBase::rawStripChannel(), CSCDBCrosstalk::rslope(), CSCDBCrosstalk::sscale(), CSCIndexerBase::stripChannelIndex(), and theCrosstalk.

Referenced by CSCDbStripConditions::crosstalk().

◆ fillBadChannelWords()

void CSCConditions::fillBadChannelWords ( const CSCDetId id)

Fill bad channel words - one for strips, one for wires, for an offline CSCDetId

Definition at line 119 of file CSCConditions.cc.

119  {
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 }

References badStripWord_, badWireWord_, fillBadStripWord(), fillBadWireWord(), idOfBadChannelWords(), mapper_, CSCChannelMapperBase::rawCSCDetId(), readBadChannels(), and setIdOfBadChannelWords().

Referenced by CSCRecoConditions::fillBadChannelWords().

◆ fillBadStripWord()

void CSCConditions::fillBadStripWord ( const CSCDetId id)
private

fill bad channel words for offline id

Next function private.

Definition at line 143 of file CSCConditions.cc.

143  {
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 }

References badStripWord_, CSCIndexerBase::chamberIndex(), CSCBadStrips::chambers, officialStyle::chan, CSCBadStrips::channels, mps_fire::i, indexer_, dqmiolumiharvest::j, and theBadStrips.

Referenced by fillBadChannelWords().

◆ fillBadWireWord()

void CSCConditions::fillBadWireWord ( const CSCDetId id)
private

Definition at line 182 of file CSCConditions.cc.

182  {
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 }

References badWireWord_, CSCIndexerBase::chamberIndex(), CSCBadWires::chambers, officialStyle::chan, CSCBadWires::channels, mps_fire::i, indexer_, dqmiolumiharvest::j, and theBadWires.

Referenced by fillBadChannelWords().

◆ gain()

float CSCConditions::gain ( const CSCDetId detId,
int  channel 
) const

◆ gainSigma()

float CSCConditions::gainSigma ( const CSCDetId detId,
int  channel 
) const
inline

overall calibration precision

Definition at line 59 of file CSCConditions.h.

59 { return 0.005; }

◆ gasGainCorrection()

float CSCConditions::gasGainCorrection ( const CSCDetId detId,
int  strip,
int  wire 
) const

gas gain correction as a function of detId (w/layer), strip, and wire channels

Definition at line 390 of file CSCConditions.cc.

390  {
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 }

References cms::cuda::assert(), dqmMemoryStats::float, CSCIndexerBase::gasGainIndex(), indexer_, edm::ESHandleBase::isValid(), mapper_, CSCChannelMapperBase::rawCSCDetId(), CSCChannelMapperBase::rawStripChannel(), theGasGainCorrections, useGasGainCorrections(), and CSCDBGasGainCorrection::value().

Referenced by CSCRecoConditions::gasGainCorrection().

◆ idOfBadChannelWords()

const CSCDetId& CSCConditions::idOfBadChannelWords ( ) const
inline

the offline CSCDetId of current bad channel words

Definition at line 98 of file CSCConditions.h.

98 { return idOfBadChannelWords_; }

References idOfBadChannelWords_.

Referenced by CSCRecoConditions::badStrip(), and fillBadChannelWords().

◆ initializeEvent()

void CSCConditions::initializeEvent ( const edm::EventSetup es)

fetch database content via EventSetup

Definition at line 66 of file CSCConditions.cc.

66  {
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 }

References edm::ESWatcher< T >::check(), gainsWatcher_, edm::EventSetup::get(), get, indexer_, mapper_, readBadChambers(), readBadChannels(), theAverageGain, theBadChambers, theBadStrips, theBadWires, theChamberTimingCorrections, theChipCorrections, theCrosstalk, theGains, theGasGainCorrections, theNoiseMatrix, thePedestals, useGasGainCorrections(), and useTimingCorrections().

Referenced by CSCDbStripConditions::initializeEvent(), and CSCRecoConditions::initializeEvent().

◆ isInBadChamber()

bool CSCConditions::isInBadChamber ( const CSCDetId id) const

Is the gven chamber flagged as bad?

Definition at line 215 of file CSCConditions.cc.

215  {
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 }

References CSCIndexerBase::chamberIndex(), indexer_, CSCBadChambers::isInBadChamber(), mapper_, CSCChannelMapperBase::rawCSCDetId(), readBadChambers(), and theBadChambers.

Referenced by CSCDbStripConditions::isInBadChamber().

◆ noiseMatrix()

const CSCDBNoiseMatrix::Item & CSCConditions::noiseMatrix ( const CSCDetId detId,
int  channel 
) const

raw noise matrix (unscaled short int elements)

Definition at line 273 of file CSCConditions.cc.

273  {
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 }

References cms::cuda::assert(), indexer_, edm::ESHandleBase::isValid(), CSCDBNoiseMatrix::item(), mapper_, CSCChannelMapperBase::rawCSCDetId(), CSCChannelMapperBase::rawStripChannel(), CSCIndexerBase::stripChannelIndex(), and theNoiseMatrix.

Referenced by noiseMatrixElements().

◆ noiseMatrixElements()

void CSCConditions::noiseMatrixElements ( const CSCDetId id,
int  channel,
std::vector< float > &  me 
) const

fill vector (dim 12, must be allocated by caller) with noise matrix elements (scaled to float)

Definition at line 285 of file CSCConditions.cc.

285  {
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 }

References cms::cuda::assert(), dqmMemoryStats::float, B2GTnPMonitor_cfi::item, hlt_dqm_clientPB-live_cfg::me, noiseMatrix(), CSCDBNoiseMatrix::scale(), and theNoiseMatrix.

Referenced by CSCDbStripConditions::fetchNoisifier(), and CSCRecoConditions::noiseMatrix().

◆ pedestal()

float CSCConditions::pedestal ( const CSCDetId detId,
int  channel 
) const

◆ pedestalSigma()

float CSCConditions::pedestalSigma ( const CSCDetId detId,
int  channel 
) const

◆ print()

void CSCConditions::print ( void  ) const

Definition at line 410 of file CSCConditions.cc.

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 }

◆ rawStripChannel()

int CSCConditions::rawStripChannel ( const CSCDetId id,
int  geomChannel 
) const

Definition at line 406 of file CSCConditions.cc.

406  {
407  return mapper_->rawStripChannel(id, geomChannel);
408 }

References mapper_, and CSCChannelMapperBase::rawStripChannel().

Referenced by CSCRecoConditions::badStrip().

◆ readBadChambers()

bool CSCConditions::readBadChambers ( ) const
inline

did we request reading bad chamber info from db?

Definition at line 109 of file CSCConditions.h.

109 { return readBadChambers_; }

References readBadChambers_.

Referenced by initializeEvent(), and isInBadChamber().

◆ readBadChannels()

bool CSCConditions::readBadChannels ( ) const
inline

did we request reading bad channel info from db?

Definition at line 106 of file CSCConditions.h.

106 { return readBadChannels_; }

References readBadChannels_.

Referenced by fillBadChannelWords(), and initializeEvent().

◆ setIdOfBadChannelWords()

void CSCConditions::setIdOfBadChannelWords ( const CSCDetId id)
inlineprivate

Set id for current content of bad channel words - this is offline id i.e. separate for ME11A & ME11B

Definition at line 139 of file CSCConditions.h.

References triggerObjects_cff::id, and idOfBadChannelWords_.

Referenced by fillBadChannelWords().

◆ useGasGainCorrections()

bool CSCConditions::useGasGainCorrections ( ) const
inline

did we request reading gas gain correction info from db?

Definition at line 127 of file CSCConditions.h.

127 { return useGasGainCorrections_; }

References useGasGainCorrections_.

Referenced by gasGainCorrection(), and initializeEvent().

◆ useTimingCorrections()

bool CSCConditions::useTimingCorrections ( ) const
inline

did we request reading timing correction info from db?

Definition at line 112 of file CSCConditions.h.

112 { return useTimingCorrections_; }

References useTimingCorrections_.

Referenced by anodeBXoffset(), chamberTimingCorrection(), chipCorrection(), and initializeEvent().

Member Data Documentation

◆ badStripWord_

std::bitset<112> CSCConditions::badStripWord_
private

Definition at line 172 of file CSCConditions.h.

Referenced by badStripWord(), fillBadChannelWords(), and fillBadStripWord().

◆ badWireWord_

std::bitset<112> CSCConditions::badWireWord_
private

Definition at line 173 of file CSCConditions.h.

Referenced by badWireWord(), fillBadChannelWords(), and fillBadWireWord().

◆ gainsWatcher_

edm::ESWatcher<CSCDBGainsRcd> CSCConditions::gainsWatcher_
private

Definition at line 178 of file CSCConditions.h.

Referenced by initializeEvent().

◆ idOfBadChannelWords_

CSCDetId CSCConditions::idOfBadChannelWords_
private

Definition at line 171 of file CSCConditions.h.

Referenced by idOfBadChannelWords(), and setIdOfBadChannelWords().

◆ indexer_

edm::ESHandle<CSCIndexerBase> CSCConditions::indexer_
private

◆ mapper_

edm::ESHandle<CSCChannelMapperBase> CSCConditions::mapper_
private

◆ readBadChambers_

bool CSCConditions::readBadChambers_
private

Definition at line 163 of file CSCConditions.h.

Referenced by CSCConditions(), and readBadChambers().

◆ readBadChannels_

bool CSCConditions::readBadChannels_
private

Definition at line 161 of file CSCConditions.h.

Referenced by CSCConditions(), and readBadChannels().

◆ theAverageGain

float CSCConditions::theAverageGain
mutableprivate

Definition at line 175 of file CSCConditions.h.

Referenced by averageGain(), and initializeEvent().

◆ theBadChambers

edm::ESHandle<CSCBadChambers> CSCConditions::theBadChambers
private

Definition at line 149 of file CSCConditions.h.

Referenced by initializeEvent(), and isInBadChamber().

◆ theBadStrips

edm::ESHandle<CSCBadStrips> CSCConditions::theBadStrips
private

Definition at line 147 of file CSCConditions.h.

Referenced by fillBadStripWord(), and initializeEvent().

◆ theBadWires

edm::ESHandle<CSCBadWires> CSCConditions::theBadWires
private

Definition at line 148 of file CSCConditions.h.

Referenced by fillBadWireWord(), and initializeEvent().

◆ theChamberTimingCorrections

edm::ESHandle<CSCChamberTimeCorrections> CSCConditions::theChamberTimingCorrections
private

Definition at line 151 of file CSCConditions.h.

Referenced by anodeBXoffset(), chamberTimingCorrection(), and initializeEvent().

◆ theChipCorrections

edm::ESHandle<CSCDBChipSpeedCorrection> CSCConditions::theChipCorrections
private

Definition at line 150 of file CSCConditions.h.

Referenced by chipCorrection(), and initializeEvent().

◆ theCrosstalk

edm::ESHandle<CSCDBCrosstalk> CSCConditions::theCrosstalk
private

Definition at line 144 of file CSCConditions.h.

Referenced by crossTalk(), crosstalkIntercept(), crosstalkSlope(), and initializeEvent().

◆ theGains

edm::ESHandle<CSCDBGains> CSCConditions::theGains
private

Definition at line 143 of file CSCConditions.h.

Referenced by averageGain(), gain(), and initializeEvent().

◆ theGasGainCorrections

edm::ESHandle<CSCDBGasGainCorrection> CSCConditions::theGasGainCorrections
private

Definition at line 152 of file CSCConditions.h.

Referenced by gasGainCorrection(), and initializeEvent().

◆ theNoiseMatrix

edm::ESHandle<CSCDBNoiseMatrix> CSCConditions::theNoiseMatrix
private

Definition at line 146 of file CSCConditions.h.

Referenced by initializeEvent(), noiseMatrix(), and noiseMatrixElements().

◆ thePedestals

edm::ESHandle<CSCDBPedestals> CSCConditions::thePedestals
private

Definition at line 145 of file CSCConditions.h.

Referenced by initializeEvent(), pedestal(), and pedestalSigma().

◆ useGasGainCorrections_

bool CSCConditions::useGasGainCorrections_
private

Definition at line 167 of file CSCConditions.h.

Referenced by CSCConditions(), and useGasGainCorrections().

◆ useTimingCorrections_

bool CSCConditions::useTimingCorrections_
private

Definition at line 165 of file CSCConditions.h.

Referenced by CSCConditions(), and useTimingCorrections().

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
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
CSCConditions::idOfBadChannelWords_
CSCDetId idOfBadChannelWords_
Definition: CSCConditions.h:171
CSCChamberTimeCorrections::ChamberTimeCorrections::cfeb_cable_delay
short int cfeb_cable_delay
Definition: CSCChamberTimeCorrections.h:21
CSCConditions::readBadChambers_
bool readBadChambers_
Definition: CSCConditions.h:163
CSCConditions::useTimingCorrections_
bool useTimingCorrections_
Definition: CSCConditions.h:165
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
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
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
CSCChamberTimeCorrections::ChamberTimeCorrections::anode_bx_offset
short int anode_bx_offset
Definition: CSCChamberTimeCorrections.h:22
CSCDBNoiseMatrix::scale
int scale() const
Definition: CSCDBNoiseMatrix.h:27
CSCConditions::fillBadWireWord
void fillBadWireWord(const CSCDetId &id)
Definition: CSCConditions.cc:182
CSCDBCrosstalkRcd
Definition: CSCDBCrosstalkRcd.h:5
CSCBadWires::chambers
BadChamberContainer chambers
Definition: CSCBadWires.h:35
CSCConditions::theChamberTimingCorrections
edm::ESHandle< CSCChamberTimeCorrections > theChamberTimingCorrections
Definition: CSCConditions.h:151
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
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::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
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
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
CSCBadStripsRcd
Definition: CSCBadStripsRcd.h:5
CSCDetId
Definition: CSCDetId.h:26
CSCIndexerBase::chamberIndex
IndexType chamberIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic) const
Definition: CSCIndexerBase.h:193
B2GTnPMonitor_cfi.item
item
Definition: B2GTnPMonitor_cfi.py:147
CSCConditions::MAX_LAYERS
Definition: CSCConditions.h:184
get
#define get
CSCDBCrosstalk::sscale
int sscale() const
Definition: CSCDBCrosstalk.h:35
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
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
CSCBadChambersRcd
Definition: CSCBadChambersRcd.h:5
CSCConditions::useGasGainCorrections_
bool useGasGainCorrections_
Definition: CSCConditions.h:167
CSCBadWires::channels
BadChannelContainer channels
Definition: CSCBadWires.h:36
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
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
CSCDBChipSpeedCorrection::value
short int value(int index) const
Definition: CSCDBChipSpeedCorrection.h:27
CSCDBGainsRcd
Definition: CSCDBGainsRcd.h:5
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
CSCIndexerRecord
Definition: CSCIndexerRecord.h:6
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
CSCDBNoiseMatrixRcd
Definition: CSCDBNoiseMatrixRcd.h:5
CSCDBGasGainCorrection::value
float value(int index) const
Definition: CSCDBGasGainCorrection.h:24
CSCChannelMapperBase::channelFromStrip
virtual int channelFromStrip(const CSCDetId &id, int strip) const =0
CSCDBPedestals::scale_ped
int scale_ped() const
Definition: CSCDBPedestals.h:30