Go to the documentation of this file.
34 theChamberTimingCorrections(),
35 theGasGainCorrections(),
38 readBadChannels_(
false),
39 readBadChambers_(
false),
40 useTimingCorrections_(
false),
41 useGasGainCorrections_(
false),
45 theAverageGain(-1.0) {
156 short inputLayer =
id.layer();
168 if (indexc != inputIndex)
176 if (lay != inputLayer)
195 short inputLayer =
id.layer();
202 if (indexc != inputIndex)
210 if (lay != inputLayer)
361 const float loEdge = 5.0;
362 const float hiEdge = 10.0;
363 const float loLimit = 6.0;
364 const float hiLimit = 9.0;
365 const float expectedAverage = 7.5;
373 CSCDBGains::GainContainer::const_iterator it;
376 if (the_gain > loEdge && the_gain < hiEdge) {
377 gain_tot += the_gain;
388 if (theAverageGain < loLimit || theAverageGain > hiLimit) {
edm::ESHandle< CSCDBPedestals > thePedestals
bool check(const edm::EventSetup &iSetup)
const CSCDBNoiseMatrix::Item & noiseMatrix(const CSCDetId &detId, int channel) const
raw noise matrix (unscaled short int elements)
edm::ESHandle< CSCBadWires > theBadWires
const ChamberTimeCorrections & item(int index) const
edm::ESHandle< CSCIndexerBase > indexer_
edm::ESWatcher< CSCDBGainsRcd > gainsWatcher_
short int cfeb_tmb_skew_delay
short int cfeb_cable_delay
edm::ESGetToken< CSCDBCrosstalk, CSCDBCrosstalkRcd > crosstalkToken_
bool useTimingCorrections_
CSCConditions(const edm::ParameterSet &ps, edm::ConsumesCollector)
edm::ESGetToken< CSCDBNoiseMatrix, CSCDBNoiseMatrixRcd > noiseMatrixToken_
short int linter(int index) const
bool readBadChambers() const
did we request reading bad chamber info from db?
const CSCDetId & idOfBadChannelWords() const
the offline CSCDetId of current bad channel words
BadChannelContainer channels
edm::ESHandle< CSCBadStrips > theBadStrips
edm::ESGetToken< CSCIndexerBase, CSCIndexerRecord > indexerToken_
edm::ESHandle< CSCDBNoiseMatrix > theNoiseMatrix
short int rslope(int index) const
virtual CSCDetId rawCSCDetId(const CSCDetId &id) const =0
bool readBadChannels() const
did we request reading bad channel info from db?
std::bitset< 112 > badStripWord_
short int lslope(int index) const
bool useTimingCorrections() const
did we request reading timing correction info from db?
short int gain(int index) const
IndexType gasGainIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ihvsegment, IndexType ichip) const
const Item & item(int index) const
float pedestal(const CSCDetId &detId, int channel) const
static ped in ADC counts
short int anode_bx_offset
int channelFromStrip(const CSCDetId &id, int geomStrip) const
feedthrough for external access
void fillBadWireWord(const CSCDetId &id)
void fillBadChannelWords(const CSCDetId &id)
bool isInBadChamber(const CSCDetId &id) const
Is the gven chamber flagged as bad?
BadChamberContainer chambers
edm::ESHandle< CSCChamberTimeCorrections > theChamberTimingCorrections
float gain(const CSCDetId &detId, int channel) const
gain per channel
void noiseMatrixElements(const CSCDetId &id, int channel, std::vector< float > &me) const
edm::ESGetToken< CSCBadStrips, CSCBadStripsRcd > badStripsToken_
float crosstalkIntercept(const CSCDetId &detId, int channel, bool leftRight) const
crosstalk intercept for left and right
float chipCorrection(const CSCDetId &detId, int channel) const
chip speed correction in ns given detId (w/layer) and strip channel
edm::ESGetToken< CSCBadWires, CSCBadWiresRcd > badWiresToken_
BadChamberContainer chambers
IndexType chipIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType ichip) const
edm::ESHandle< CSCBadChambers > theBadChambers
edm::ESHandle< CSCDBGains > theGains
LongIndexType stripChannelIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic, IndexType il, IndexType istrip) const
short int rinter(int index) const
virtual int rawStripChannel(const CSCDetId &id, int igeom) const =0
Return raw strip channel number for input geometrical channel number.
std::bitset< 112 > badWireWord_
edm::ESGetToken< CSCDBGains, CSCDBGainsRcd > gainsToken_
short int cfeb_timing_corr
edm::ESGetToken< CSCDBPedestals, CSCDBPedestalsRcd > pedestalsToken_
edm::ESHandle< CSCChannelMapperBase > mapper_
edm::ESGetToken< CSCBadChambers, CSCBadChambersRcd > badChambersToken_
void setIdOfBadChannelWords(const CSCDetId &id)
bool isInBadChamber(IndexType ichamber) const
Is the chamber with index 'ichamber' flagged as bad?
float gasGainCorrection(const CSCDetId &detId, int strip, int wire) const
bool useGasGainCorrections() const
did we request reading gas gain correction info from db?
short int pedestal(int index) const
float anodeBXoffset(const CSCDetId &detId) const
anode bx offset in bx given detId of chamber
IndexType chamberIndex(IndexType ie, IndexType is, IndexType ir, IndexType ic) const
float averageGain() const
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
int rawStripChannel(const CSCDetId &id, int geomChannel) const
edm::ESGetToken< CSCChamberTimeCorrections, CSCChamberTimeCorrectionsRcd > chamberTimingCorrectionsToken_
void initializeEvent(const edm::EventSetup &es)
fetch database content via EventSetup
edm::ESGetToken< CSCDBGasGainCorrection, CSCDBGasGainCorrectionRcd > gasGainCorrectionsToken_
float pedestalSigma(const CSCDetId &detId, int channel) const
static ped rms in ADC counts
edm::ESGetToken< CSCDBChipSpeedCorrection, CSCDBChipSpeedCorrectionRcd > chipCorrectionsToken_
void fillBadStripWord(const CSCDetId &id)
fill bad channel words for offline id
float chamberTimingCorrection(const CSCDetId &detId) const
chamber timing correction in ns given detId of chamber
bool useGasGainCorrections_
BadChannelContainer channels
float crosstalkSlope(const CSCDetId &detId, int channel, bool leftRight) const
crosstalk slope for left and right
chan
lumi = TPaveText(lowX+0.38, lowY+0.061, lowX+0.45, lowY+0.161, "NDC") lumi.SetBorderSize( 0 ) lumi....
short int pedestal_rms(int index) const
edm::ESHandle< CSCDBChipSpeedCorrection > theChipCorrections
edm::ESHandle< CSCDBCrosstalk > theCrosstalk
short int value(int index) const
T getParameter(std::string const &) const
edm::ESGetToken< CSCChannelMapperBase, CSCChannelMapperRecord > mapperToken_
edm::ESHandle< CSCDBGasGainCorrection > theGasGainCorrections
void crossTalk(const CSCDetId &id, int channel, std::vector< float > &ct) const
float value(int index) const
virtual int channelFromStrip(const CSCDetId &id, int strip) const =0