19 LogTrace(
"CSCRecoConditions") <<
id <<
" geomChannel " << geomChannel <<
" pedestal " 29 LogTrace(
"CSCRecoConditions") <<
id <<
" geomChannel " << geomChannel <<
" gain " 48 for (
short int i = 1;
i < nstrips + 1; ++
i) {
64 LogTrace(
"CSCRecoConditions") <<
id <<
" geomStrip " << geomStrip <<
" stripWeight " <<
w;
74 const float fakeme12[15] = {8.64, 3.47, 2.45, 8.60, 3.28, 1.88, 8.61, 3.18, 1.99, 7.67, 2.64, 0., 7.71, 0., 0.};
78 for (
short int i = geomStrip - 1;
i < geomStrip + 2; ++
i) {
79 std::vector<float>
me(12);
85 for (
short int j = 0;
j < 11; ++
j) {
89 elem[12] =
me[11] *
w;
94 bool isFlawed =
false;
95 for (
short int k = 0;
k < 15; ++
k) {
104 for (
short int m = 0;
m < 15; ++
m) {
105 elem[
m] = fakeme12[
m];
109 for (
int k = 0;
k < 15; ++
k) {
110 nMatrix.push_back(elem[
k]);
120 for (
short int i = geomStrip - 1;
i < geomStrip + 2; ++
i) {
122 std::vector<float> ct(4);
124 xtalks.push_back(ct[0]);
125 xtalks.push_back(ct[1]);
126 xtalks.push_back(ct[2]);
127 xtalks.push_back(ct[3]);
133 bool nearBad = (
badStrip(
id, geomStrip - 1, nstrips) ||
badStrip(
id, geomStrip + 1, nstrips));
149 if (geomStrip > 0 && geomStrip <= nstrips) {
153 if (rawChan > 0 && rawChan < 113) {
155 bad = badStrips.test(rawChan - 1);
const std::bitset< 112 > & badWireWord(const CSCDetId &id) const
Get bad wiregroup word.
const CSCDetId & idOfBadChannelWords() const
the offline CSCDetId of current bad channel words
float chamberTimingCorrection(const CSCDetId &id) const
CSCRecoConditions(const edm::ParameterSet &pset, edm::ConsumesCollector)
void noiseMatrix(const CSCDetId &id, int centralStrip, std::vector< float > &nme) 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 coo...
float pedestal(const CSCDetId &detId, int channel) const
static ped in ADC counts
int channelFromStrip(const CSCDetId &id, int geomStrip) const
feedthrough for external access
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)
void fillBadChannelWords(const CSCDetId &id)
float averageGain() const
return average gain over entire CSC system
float chipCorrection(const CSCDetId &detId, int channel) const
chip speed correction in ns given detId (w/layer) and strip channel
const std::bitset< 112 > & badWireWord() const
bad wiregroup channel word for a CSCLayer - 1 bit per channel
float gain(const CSCDetId &id, int geomStrip) const
channels and geomstrips count from 1
bool nearBadStrip(const CSCDetId &id, int geomStrip, int nstrips) const
Is a neighbour bad?
void crossTalk(const CSCDetId &id, int centralStrip, std::vector< float > &xtalks) const
void noiseMatrixElements(const CSCDetId &id, int channel, std::vector< float > &me) const
float gain(const CSCDetId &detId, int channel) const
gain per channel
void fillBadChannelWords(const CSCDetId &id)
fill bad strip & bad wiregroup bitsets from conditions data
float anodeBXoffset(const CSCDetId &detId) const
anode bx offset in bx given detId of chamber
float gasGainCorrection(const CSCDetId &id, int strip, int wireGroup) const
returns gas-gain correction
int rawStripChannel(const CSCDetId &id, int geomChannel) const
CSCConditions theConditions
void initializeEvent(const edm::EventSetup &es)
fetch database content via EventSetup
float chamberTimingCorrection(const CSCDetId &detId) const
chamber timing correction in ns given detId of chamber
float stripWeight(const CSCDetId &id, int geomStrip) const
return gain weight for given strip channel
float gasGainCorrection(const CSCDetId &detId, int strip, int wire) const
bool badStrip(const CSCDetId &id, int geomStrip, int nstrips) const
Is the strip bad?
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) ...
float anodeBXoffset(const CSCDetId &detId) const
float pedestalSigma(const CSCDetId &detId, int channel) const
static ped rms in ADC counts
void stripWeights(const CSCDetId &id, short int nstrips, float *weights) const
void crossTalk(const CSCDetId &id, int channel, std::vector< float > &ct) const
void initializeEvent(const edm::EventSetup &es)
fetch the cond data from the database
const std::bitset< 112 > & badStripWord() const
bad strip channel word for a CSCLayer - 1 bit per channel