37 : theGains(), theCrosstalk(), thePedestals(), theNoiseMatrix(),
38 theBadStrips(), theBadWires(), theBadChambers(),
39 theChipCorrections(), theChamberTimingCorrections(), theGasGainCorrections(),
40 indexer_(0), mapper_(0),
41 readBadChannels_(
false), readBadChambers_(
false),
42 useTimingCorrections_(
false), useGasGainCorrections_(
false), theAverageGain( -1.0 )
131 for (
int j=start-1;
j<start-1+nbad; ++
j ) {
158 for (
int j=start-1;
j<start-1+nbad; ++
j ) {
187 int iraw =
mapper_->rawStripChannel(
id, geomChannel );
196 int iraw =
mapper_->rawStripChannel(
id, geomChannel );
206 int iraw =
mapper_->rawStripChannel(
id, geomChannel );
216 int iraw =
mapper_->rawStripChannel(
id, geomChannel );
228 int iraw =
mapper_->rawStripChannel(
id, geomChannel );
242 int iraw =
mapper_->rawStripChannel(
id, geomChannel );
248 assert(me.size() > 11 );
267 int iraw =
mapper_->rawStripChannel(
id, geomChannel );
281 int iraw =
mapper_->rawStripChannel(
id, geomChannel);
282 int ichip =
indexer_->chipIndex(iraw);
337 const float loEdge = 5.0;
338 const float hiEdge = 10.0;
339 const float loLimit = 6.0;
340 const float hiLimit = 9.0;
341 const float expectedAverage = 7.5;
348 CSCDBGains::GainContainer::const_iterator it;
350 float the_gain = float( it->gain_slope )/
theGains->scale();
351 if (the_gain > loEdge && the_gain < hiEdge ) {
352 gain_tot += the_gain;
363 if ( theAverageGain < loLimit || theAverageGain > hiLimit ) {
377 int iraw =
mapper_->rawStripChannel(
id, geomChannel );
378 int index =
indexer_->gasGainIndex(idraw, iraw, iwiregroup) - 1;
386 {
return mapper_->channelFromStrip(
id, geomStrip); }
389 {
return mapper_->rawStripChannel(
id, geomChannel); }
T getParameter(std::string const &) const
const std::bitset< 80 > & badStripWord(const CSCDetId &id) const
bad channel words per CSCLayer - 1 bit per channel
edm::ESHandle< CSCDBGasGainCorrection > theGasGainCorrections
tuple start
Check for commandline option errors.
edm::ESHandle< CSCDBNoiseMatrix > theNoiseMatrix
edm::ESHandle< CSCBadWires > theBadWires
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
fill vector (dim 12, must be allocated by caller) with noise matrix elements (scaled to float) ...
void fillBadStripWords()
fill bad channel words
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
float chipCorrection(const CSCDetId &detId, int channel) const
chip speed correction in ns given detId (w/layer) and strip channel
std::vector< std::bitset< 112 > > badWireWords
float chamberTimingCorrection(const CSCDetId &detId) const
chamber timing correction in ns given detId of chamber
edm::ESHandle< CSCIndexerBase > indexer_
void crossTalk(const CSCDetId &id, int channel, std::vector< float > &ct) const
fill vector (dim 4, must be allocated by caller) with crosstalk sl, il, sr, ir
edm::ESWatcher< CSCDBGainsRcd > gainsWatcher_
std::vector< std::bitset< 80 > > badStripWords
float anodeBXoffset(const CSCDetId &detId) const
anode bx offset in bx given detId of chamber
bool useTimingCorrections_
float pedestal(const CSCDetId &detId, int channel) const
static ped in ADC counts
edm::ESHandle< CSCChannelMapperBase > mapper_
bool readBadChannels() const
did we request reading bad channel info from db?
bool useGasGainCorrections_
int rawStripChannel(const CSCDetId &id, int geomChannel) const
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
const std::bitset< 112 > & badWireWord(const CSCDetId &id) const
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
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?
bool check(const edm::EventSetup &iSetup)
float gasGainCorrection(const CSCDetId &detId, int strip, int wire) const
gas gain correction as a function of detId (w/layer), strip, and wire channels
float averageGain() const
average gain over entire CSC system (logically const although must be cached here).
bool useGasGainCorrections() const
did we request reading gas gain correction info from db?
volatile std::atomic< bool > shutdown_flag false
edm::ESHandle< CSCDBPedestals > thePedestals