#include <CSCRecoConditions.h>
Public Member Functions | |
float | anodeBXoffset (const CSCDetId &detId) const |
float | averageGain () const |
return average gain over entire CSC system More... | |
bool | badStrip (const CSCDetId &id, int geomStrip, int nstrips) const |
Is the strip bad? More... | |
const std::bitset< 112 > & | badWireWord (const CSCDetId &id) const |
Get bad wiregroup word. More... | |
float | chamberTimingCorrection (const CSCDetId &id) const |
float | chipCorrection (const CSCDetId &detId, int channel) const |
All other functions are accessed by geometrical strip label (i.e. strip number according to local coordinates) More... | |
void | crossTalk (const CSCDetId &id, int centralStrip, std::vector< float > &xtalks) const |
CSCRecoConditions (const edm::ParameterSet &pset) | |
void | fillBadChannelWords (const CSCDetId &id) |
fill bad strip & bad wiregroup bitsets from conditions data More... | |
float | gain (const CSCDetId &id, int geomStrip) const |
channels and geomstrips count from 1 More... | |
float | gasGainCorrection (const CSCDetId &id, int strip, int wireGroup) const |
returns gas-gain correction More... | |
void | initializeEvent (const edm::EventSetup &es) |
fetch the cond data from the database More... | |
bool | nearBadStrip (const CSCDetId &id, int geomStrip, int nstrips) const |
Is a neighbour bad? More... | |
void | noiseMatrix (const CSCDetId &id, int centralStrip, std::vector< float > &nme) const |
float | pedestal (const CSCDetId &id, int channel) const |
static pedestal in ADC counts for strip channel (e.g. 1-16 for ganged ME1a, 1-48 for unganged ME1a) More... | |
float | pedestalSigma (const CSCDetId &id, int channel) const |
sigma of static pedestal in ADC counts for strip channel (e.g. 1-16 for ganged ME1a, 1-48 for unganged ME1a) More... | |
void | stripWeights (const CSCDetId &id, short int nstrips, float *weights) const |
~CSCRecoConditions () | |
Private Member Functions | |
float | stripWeight (const CSCDetId &id, int geomStrip) const |
return gain weight for given strip channel More... | |
Private Attributes | |
CSCConditions | theConditions |
Wrap CSCConditions class for use in CSC local reconstruction, in analogy with wrapper classes Rick uses in CSCDigitizer.
CSCConditions encapsulates the conditions data (e.g. calibration data) from the database and presents it as CSCRecHitD requires (and that is somewhat historical!)
All functions in public interface accept CSCDetId for ME1A (i.e. ring 4) with channel number 1-16 (and not the raw ME11 channel 65-80).
Definition at line 24 of file CSCRecoConditions.h.
|
explicit |
Definition at line 6 of file CSCRecoConditions.cc.
CSCRecoConditions::~CSCRecoConditions | ( | ) |
Definition at line 8 of file CSCRecoConditions.cc.
float CSCRecoConditions::anodeBXoffset | ( | const CSCDetId & | detId | ) | const |
Definition at line 168 of file CSCRecoConditions.cc.
References CSCConditions::anodeBXoffset(), and theConditions.
Referenced by averageGain(), and CSCMake2DRecHit::findWireBx().
|
inline |
return average gain over entire CSC system
Definition at line 39 of file CSCRecoConditions.h.
References anodeBXoffset(), CSCConditions::averageGain(), badStrip(), badWireWord(), chamberTimingCorrection(), chipCorrection(), crossTalk(), fillBadChannelWords(), gasGainCorrection(), nearBadStrip(), noiseMatrix(), pedestal(), pedestalSigma(), digitizers_cfi::strip, stripWeight(), stripWeights(), theConditions, and HGCalRecHit_cfi::weights.
Referenced by stripWeight().
bool CSCRecoConditions::badStrip | ( | const CSCDetId & | id, |
int | geomStrip, | ||
int | nstrips | ||
) | const |
Is the strip bad?
Is strip itself a bad strip?
Definition at line 138 of file CSCRecoConditions.cc.
References CSCConditions::badStripWord(), CSCConditions::channelFromStrip(), CSCConditions::idOfBadChannelWords(), CSCConditions::rawStripChannel(), and theConditions.
Referenced by CSCRecoBadChannelsAnalyzer::analyze(), averageGain(), CSCHitFromStripOnly::isDeadStrip(), and nearBadStrip().
const std::bitset< 112 > & CSCRecoConditions::badWireWord | ( | const CSCDetId & | id | ) | const |
Get bad wiregroup word.
Definition at line 162 of file CSCRecoConditions.cc.
References CSCConditions::badWireWord(), and theConditions.
Referenced by averageGain(), and CSCHitFromWireOnly::isDeadWG().
float CSCRecoConditions::chamberTimingCorrection | ( | const CSCDetId & | id | ) | const |
Definition at line 164 of file CSCRecoConditions.cc.
References CSCConditions::chamberTimingCorrection(), and theConditions.
Referenced by averageGain(), and CSCMake2DRecHit::hitFromStripAndWire().
float CSCRecoConditions::chipCorrection | ( | const CSCDetId & | detId, |
int | channel | ||
) | const |
All other functions are accessed by geometrical strip label (i.e. strip number according to local coordinates)
Definition at line 36 of file CSCRecoConditions.cc.
References CSCConditions::channelFromStrip(), CSCConditions::chipCorrection(), and theConditions.
Referenced by averageGain(), and CSCMake2DRecHit::hitFromStripAndWire().
void CSCRecoConditions::crossTalk | ( | const CSCDetId & | id, |
int | centralStrip, | ||
std::vector< float > & | xtalks | ||
) | const |
fill crosstalk information for 3 neighbouring strips as linear vector (must be allocated by caller) Note that centralStrip is a 'geomStrip' and e.g. always ranges 1-48 in ME1a.
Definition at line 115 of file CSCRecoConditions.cc.
References CSCConditions::channelFromStrip(), CSCConditions::crossTalk(), mps_fire::i, and theConditions.
Referenced by averageGain(), and CSCXonStrip_MatchGatti::findXOnStrip().
void CSCRecoConditions::fillBadChannelWords | ( | const CSCDetId & | id | ) |
fill bad strip & bad wiregroup bitsets from conditions data
Fill badStrip word and badWire word for given CSC layer, id.
Definition at line 13 of file CSCRecoConditions.cc.
References CSCConditions::fillBadChannelWords(), and theConditions.
Referenced by CSCRecoBadChannelsAnalyzer::analyze(), averageGain(), and CSCRecHitDBuilder::build().
float CSCRecoConditions::gain | ( | const CSCDetId & | id, |
int | geomStrip | ||
) | const |
channels and geomstrips count from 1
return gain for given strip
Definition at line 28 of file CSCRecoConditions.cc.
References CSCConditions::gain(), LogTrace, and theConditions.
Referenced by stripWeight().
float CSCRecoConditions::gasGainCorrection | ( | const CSCDetId & | id, |
int | strip, | ||
int | wireGroup | ||
) | const |
returns gas-gain correction
Definition at line 170 of file CSCRecoConditions.cc.
References CSCConditions::channelFromStrip(), CSCConditions::gasGainCorrection(), and theConditions.
Referenced by averageGain(), and CSCMake2DRecHit::hitFromStripAndWire().
void CSCRecoConditions::initializeEvent | ( | const edm::EventSetup & | es | ) |
fetch the cond data from the database
Definition at line 10 of file CSCRecoConditions.cc.
References CSCConditions::initializeEvent(), and theConditions.
Referenced by CSCRecoBadChannelsAnalyzer::analyze(), and CSCRecHitDProducer::produce().
bool CSCRecoConditions::nearBadStrip | ( | const CSCDetId & | id, |
int | geomStrip, | ||
int | nstrips | ||
) | const |
Is a neighbour bad?
Is an immediate neighbour a bad strip?
Definition at line 132 of file CSCRecoConditions.cc.
References badStrip().
Referenced by CSCRecoBadChannelsAnalyzer::analyze(), averageGain(), and CSCHitFromStripOnly::isNearDeadStrip().
void CSCRecoConditions::noiseMatrix | ( | const CSCDetId & | id, |
int | centralStrip, | ||
std::vector< float > & | nme | ||
) | const |
fill expanded noise matrix for 3 neighbouring strips as linear vector (must be allocated by caller) Note that centralStrip is a 'geomStrip' and ranges 1-48 in ME1a.
Definition at line 68 of file CSCRecoConditions.cc.
References CSCConditions::channelFromStrip(), HTMLExport::elem(), mps_fire::i, dqmiolumiharvest::j, dqmdumpme::k, visualization-live-secondInstance_cfg::m, hlt_dqm_clientPB-live_cfg::me, CSCConditions::noiseMatrixElements(), stripWeight(), theConditions, and w.
Referenced by averageGain(), and CSCXonStrip_MatchGatti::findXOnStrip().
float CSCRecoConditions::pedestal | ( | const CSCDetId & | id, |
int | geomChannel | ||
) | const |
static pedestal in ADC counts for strip channel (e.g. 1-16 for ganged ME1a, 1-48 for unganged ME1a)
gains & pedestals are requested by geometric channel (as in CSCStripDigi- e.g. 1-16 for ganged ME1a, and with any readout flips already removed)
Definition at line 18 of file CSCRecoConditions.cc.
References LogTrace, CSCConditions::pedestal(), and theConditions.
Referenced by averageGain(), and CSCStaticPedestal::pedestal().
float CSCRecoConditions::pedestalSigma | ( | const CSCDetId & | id, |
int | channel | ||
) | const |
sigma of static pedestal in ADC counts for strip channel (e.g. 1-16 for ganged ME1a, 1-48 for unganged ME1a)
Definition at line 24 of file CSCRecoConditions.cc.
References CSCConditions::pedestalSigma(), and theConditions.
Referenced by averageGain().
|
private |
return gain weight for given strip channel
Definition at line 56 of file CSCRecoConditions.cc.
References averageGain(), CSCConditions::channelFromStrip(), gain(), LogTrace, theConditions, and w.
Referenced by averageGain(), noiseMatrix(), and stripWeights().
void CSCRecoConditions::stripWeights | ( | const CSCDetId & | id, |
short int | nstrips, | ||
float * | weights | ||
) | const |
calculate gain weights for all strips in a CSC layer (total in layer = nstrips) this is averageGain()/gain for each strip filled into a C-array which caller must have allocated. values are constrained to be in [0.5, 1.5]
Definition at line 47 of file CSCRecoConditions.cc.
References mps_fire::i, and stripWeight().
Referenced by averageGain(), and CSCHitFromStripOnly::runStrip().
|
private |
Definition at line 89 of file CSCRecoConditions.h.
Referenced by anodeBXoffset(), averageGain(), badStrip(), badWireWord(), chamberTimingCorrection(), chipCorrection(), crossTalk(), fillBadChannelWords(), gain(), gasGainCorrection(), initializeEvent(), noiseMatrix(), pedestal(), pedestalSigma(), and stripWeight().