46 theChamberTimingCorrections(),
47 theGasGainCorrections(),
50 readBadChannels_(
false),
51 readBadChambers_(
false),
52 useTimingCorrections_(
false),
53 useGasGainCorrections_(
false),
57 theAverageGain(-1.0) {
148 short inputLayer =
id.layer();
160 if (indexc != inputIndex)
166 for (
int j = start - 1; j < start - 1 + nbad; ++j) {
168 if (lay != inputLayer)
187 short inputLayer =
id.layer();
194 if (indexc != inputIndex)
200 for (
int j = start - 1; j < start - 1 + nbad; ++j) {
202 if (lay != inputLayer)
286 assert(me.size() > 11);
353 const float loEdge = 5.0;
354 const float hiEdge = 10.0;
355 const float loLimit = 6.0;
356 const float hiLimit = 9.0;
357 const float expectedAverage = 7.5;
365 CSCDBGains::GainContainer::const_iterator it;
368 if (the_gain > loEdge && the_gain < hiEdge) {
369 gain_tot += the_gain;
380 if (theAverageGain < loLimit || theAverageGain > hiLimit) {
T getParameter(std::string const &) const
edm::ESHandle< CSCDBGasGainCorrection > theGasGainCorrections
float value(int index) const
edm::ESHandle< CSCDBNoiseMatrix > theNoiseMatrix
edm::ESHandle< CSCBadWires > theBadWires
IndexType chamberIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic) const
float pedestalSigma(const CSCDetId &detId, int channel) const
static ped rms in ADC counts
void noiseMatrixElements(const CSCDetId &id, int channel, std::vector< float > &me) const
void fillBadChannelWords(const CSCDetId &id)
BadChamberContainer chambers
edm::ESHandle< CSCChamberTimeCorrections > theChamberTimingCorrections
bool useTimingCorrections() const
did we request reading timing correction info from db?
const CSCDBNoiseMatrix::Item & noiseMatrix(const CSCDetId &detId, int channel) const
raw noise matrix (unscaled short int elements)
edm::ESHandle< CSCBadStrips > theBadStrips
BadChamberContainer chambers
float chipCorrection(const CSCDetId &detId, int channel) const
chip speed correction in ns given detId (w/layer) and strip channel
float chamberTimingCorrection(const CSCDetId &detId) const
chamber timing correction in ns given detId of chamber
short int rinter(int index) const
edm::ESHandle< CSCIndexerBase > indexer_
void crossTalk(const CSCDetId &id, int channel, std::vector< float > &ct) const
edm::ESWatcher< CSCDBGainsRcd > gainsWatcher_
bool isInBadChamber(IndexType ichamber) const
Is the chamber with index 'ichamber' flagged as bad?
short int pedestal_rms(int index) const
float anodeBXoffset(const CSCDetId &detId) const
anode bx offset in bx given detId of chamber
void fillBadWireWord(const CSCDetId &id)
bool useTimingCorrections_
std::bitset< 112 > badWireWord_
short int lslope(int index) const
float pedestal(const CSCDetId &detId, int channel) const
static ped in ADC counts
virtual int rawStripChannel(const CSCDetId &id, int igeom) const =0
Return raw strip channel number for input geometrical channel number.
edm::ESHandle< CSCChannelMapperBase > mapper_
IndexType gasGainIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ihvsegment, IndexType ichip) const
bool readBadChannels() const
did we request reading bad channel info from db?
virtual CSCDetId rawCSCDetId(const CSCDetId &id) const =0
bool useGasGainCorrections_
const ChamberTimeCorrections & item(int index) const
int rawStripChannel(const CSCDetId &id, int geomChannel) const
short int cfeb_timing_corr
edm::ESHandle< CSCBadChambers > theBadChambers
int channelFromStrip(const CSCDetId &id, int geomStrip) const
feedthrough for external access
edm::ESHandle< CSCDBGains > theGains
void initializeEvent(const edm::EventSetup &es)
fetch database content via EventSetup
void fillBadStripWord(const CSCDetId &id)
fill bad channel words for offline id
BadChannelContainer channels
short int anode_bx_offset
float crosstalkSlope(const CSCDetId &detId, int channel, bool leftRight) const
crosstalk slope for left and right
float crosstalkIntercept(const CSCDetId &detId, int channel, bool leftRight) const
crosstalk intercept for left and right
bool isInBadChamber(const CSCDetId &id) const
Is the gven chamber flagged as bad?
float gain(const CSCDetId &detId, int channel) const
gain per channel
IndexType chipIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ichip) const
CSCConditions(const edm::ParameterSet &ps)
edm::ESHandle< CSCDBChipSpeedCorrection > theChipCorrections
edm::ESHandle< CSCDBCrosstalk > theCrosstalk
bool readBadChambers() const
did we request reading bad chamber info from db?
BadChannelContainer channels
virtual int channelFromStrip(const CSCDetId &id, int strip) const =0
chan
lumi = TPaveText(lowX+0.38, lowY+0.061, lowX+0.45, lowY+0.161, "NDC") lumi.SetBorderSize( 0 ) lumi...
bool check(const edm::EventSetup &iSetup)
short int gain(int index) const
void setIdOfBadChannelWords(const CSCDetId &id)
short int rslope(int index) const
const Item & item(int index) const
const CSCDetId & idOfBadChannelWords() const
the offline CSCDetId of current bad channel words
float gasGainCorrection(const CSCDetId &detId, int strip, int wire) const
short int value(int index) const
float averageGain() const
short int cfeb_cable_delay
LongIndexType stripChannelIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType istrip) const
bool useGasGainCorrections() const
did we request reading gas gain correction info from db?
short int pedestal(int index) const
short int linter(int index) const
edm::ESHandle< CSCDBPedestals > thePedestals
std::bitset< 112 > badStripWord_
short int cfeb_tmb_skew_delay