CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
 average gain over entire CSC system (logically const although must be cached here). More...
 
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
 fill vector (dim 4, must be allocated by caller) with crosstalk sl, il, sr, ir More...
 
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)
 Fill bad channel words - one for strips, one for wires, for an offline CSCDetId. More...
 
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
 gas gain correction as a function of detId (w/layer), strip, and wire channels More...
 
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
 fill vector (dim 12, must be allocated by caller) with noise matrix elements (scaled to float) More...
 
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)
 Set id for current content of bad channel words - this is offline id i.e. separate for ME11A & ME11B. More...
 

Private Attributes

std::bitset< 112 > badStripWord_
 
std::bitset< 112 > badWireWord_
 
edm::ESWatcher< CSCDBGainsRcdgainsWatcher_
 
CSCDetId idOfBadChannelWords_
 
edm::ESHandle< CSCIndexerBaseindexer_
 
edm::ESHandle
< CSCChannelMapperBase
mapper_
 
bool readBadChambers_
 
bool readBadChannels_
 
float theAverageGain
 
edm::ESHandle< CSCBadChamberstheBadChambers
 
edm::ESHandle< CSCBadStripstheBadStrips
 
edm::ESHandle< CSCBadWirestheBadWires
 
edm::ESHandle
< CSCChamberTimeCorrections
theChamberTimingCorrections
 
edm::ESHandle
< CSCDBChipSpeedCorrection
theChipCorrections
 
edm::ESHandle< CSCDBCrosstalktheCrosstalk
 
edm::ESHandle< CSCDBGainstheGains
 
edm::ESHandle
< CSCDBGasGainCorrection
theGasGainCorrections
 
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 46 of file CSCConditions.h.

Member Enumeration Documentation

enum CSCConditions::elayers
private
Enumerator
MAX_LAYERS 

Definition at line 181 of file CSCConditions.h.

Constructor & Destructor Documentation

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

Definition at line 37 of file CSCConditions.cc.

CSCConditions::~CSCConditions ( )

Definition at line 54 of file CSCConditions.cc.

Member Function Documentation

float CSCConditions::anodeBXoffset ( const CSCDetId detId) const

anode bx offset in bx given detId of chamber

Definition at line 337 of file CSCConditions.cc.

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 353 of file CSCConditions.cc.

Referenced by CSCRecoConditions::averageGain().

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

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

Definition at line 89 of file CSCConditions.h.

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

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

Definition at line 94 of file CSCConditions.h.

float CSCConditions::chamberTimingCorrection ( const CSCDetId detId) const

chamber timing correction in ns given detId of chamber

Definition at line 322 of file CSCConditions.cc.

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

feedthrough for external access

Definition at line 403 of file CSCConditions.cc.

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

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

Definition at line 309 of file CSCConditions.cc.

void CSCConditions::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

Definition at line 297 of file CSCConditions.cc.

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

crosstalk intercept for left and right

Definition at line 245 of file CSCConditions.cc.

Referenced by CSCDbStripConditions::crosstalk().

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

crosstalk slope for left and right

Definition at line 257 of file CSCConditions.cc.

Referenced by CSCDbStripConditions::crosstalk().

void CSCConditions::fillBadChannelWords ( const CSCDetId id)

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

Definition at line 110 of file CSCConditions.cc.

void CSCConditions::fillBadStripWord ( const CSCDetId id)
private

fill bad channel words for offline id

Next function private.

Definition at line 135 of file CSCConditions.cc.

void CSCConditions::fillBadWireWord ( const CSCDetId id)
private

Definition at line 172 of file CSCConditions.cc.

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

gain per channel

Definition at line 216 of file CSCConditions.cc.

Referenced by CSCDbStripConditions::gain().

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

overall calibration precision

Definition at line 58 of file CSCConditions.h.

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.

const CSCDetId& CSCConditions::idOfBadChannelWords ( ) const
inline

the offline CSCDetId of current bad channel words

Definition at line 99 of file CSCConditions.h.

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

fetch database content via EventSetup

Definition at line 56 of file CSCConditions.cc.

Referenced by CSCDbStripConditions::initializeEvent().

bool CSCConditions::isInBadChamber ( const CSCDetId id) const

Is the gven chamber flagged as bad?

Definition at line 204 of file CSCConditions.cc.

Referenced by CSCDbStripConditions::isInBadChamber().

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

raw noise matrix (unscaled short int elements)

Definition at line 268 of file CSCConditions.cc.

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 280 of file CSCConditions.cc.

Referenced by CSCDbStripConditions::fetchNoisifier().

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

static ped in ADC counts

Definition at line 225 of file CSCConditions.cc.

Referenced by CSCDbStripConditions::pedestal().

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

static ped rms in ADC counts

Definition at line 235 of file CSCConditions.cc.

Referenced by CSCDbStripConditions::pedestalSigma().

void CSCConditions::print ( void  ) const

Definition at line 410 of file CSCConditions.cc.

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

Definition at line 406 of file CSCConditions.cc.

bool CSCConditions::readBadChambers ( ) const
inline

did we request reading bad chamber info from db?

Definition at line 112 of file CSCConditions.h.

bool CSCConditions::readBadChannels ( ) const
inline

did we request reading bad channel info from db?

Definition at line 109 of file CSCConditions.h.

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.

bool CSCConditions::useGasGainCorrections ( ) const
inline

did we request reading gas gain correction info from db?

Definition at line 127 of file CSCConditions.h.

bool CSCConditions::useTimingCorrections ( ) const
inline

did we request reading timing correction info from db?

Definition at line 115 of file CSCConditions.h.

Member Data Documentation

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

Definition at line 170 of file CSCConditions.h.

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

Definition at line 171 of file CSCConditions.h.

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

Definition at line 175 of file CSCConditions.h.

CSCDetId CSCConditions::idOfBadChannelWords_
private

Definition at line 169 of file CSCConditions.h.

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

Definition at line 158 of file CSCConditions.h.

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

Definition at line 159 of file CSCConditions.h.

bool CSCConditions::readBadChambers_
private

Definition at line 164 of file CSCConditions.h.

bool CSCConditions::readBadChannels_
private

Definition at line 163 of file CSCConditions.h.

float CSCConditions::theAverageGain
mutableprivate

Definition at line 173 of file CSCConditions.h.

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

Definition at line 151 of file CSCConditions.h.

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

Definition at line 149 of file CSCConditions.h.

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

Definition at line 150 of file CSCConditions.h.

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

Definition at line 153 of file CSCConditions.h.

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

Definition at line 152 of file CSCConditions.h.

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

Definition at line 146 of file CSCConditions.h.

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

Definition at line 145 of file CSCConditions.h.

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

Definition at line 154 of file CSCConditions.h.

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

Definition at line 148 of file CSCConditions.h.

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

Definition at line 147 of file CSCConditions.h.

bool CSCConditions::useGasGainCorrections_
private

Definition at line 166 of file CSCConditions.h.

bool CSCConditions::useTimingCorrections_
private

Definition at line 165 of file CSCConditions.h.