67 short int is =
id.station();
68 short int ir =
id.ring();
71 short int nStrips = 80;
72 if ( is == 1 && ir == 1) nStrips = 64;
73 if ( is == 1 && ir == 3) nStrips = 64;
76 const CSCDetId testId(
id.
endcap(), 1, 1,
id.chamber(),
id.layer() );
78 for (
short int i = 0;
i < 16; ++
i) {
88 for (
short int i = 0;
i < nStrips; ++
i) {
119 short int strip1 = centralStrip;
120 short int triplet[3];
121 bool isME1a = (
id.ring()==4);
128 strip1 = centralStrip%16;
129 if (strip1 == 0) strip1 = 16;
137 }
else if (strip1 == 80) {
154 for (
short int i = 0;
i < 3; ++
i) {
156 short int channel = triplet[
i];
158 std::vector<float> me(12);
169 for (
short int j=0;
j<11; ++
j ) {
173 elem[12]= me[11] *
w;
178 bool isFlawed =
false;
179 for (
int k = 0;
k < 15; ++
k) {
181 if (elem[
k] < 0.001) elem[
k] = 0.001;
183 if (elem[
k] > 50.) isFlawed =
true;
205 for (
int k = 0;
k < 15; ++
k) nMatrix.push_back( elem[
k] );
213 short int strip1 = centralStrip;
214 short int triplet[3];
215 bool isME1a = (
id.ring()==4);
222 strip1 = centralStrip%16;
223 if (strip1 == 0) strip1 = 16;
231 }
else if (strip1 == 80) {
249 for (
short int i = 0;
i < 3; ++
i) {
251 short int channel = triplet[
i];
252 std::vector<float> ct(4);
261 xtalks.push_back(ct[0]);
262 xtalks.push_back(ct[1]);
263 xtalks.push_back(ct[2]);
264 xtalks.push_back(ct[3]);
300 if(geomStrip>0 && geomStrip<81){
308 if( rawChan>0 && rawChan<81 ){
309 aBadS = badStrips.test(rawChan-1);
325 if (w > 1.5) w = 1.5;
326 if (w < 0.5) w = 0.5;
const std::bitset< 80 > & badStripWord(const CSCDetId &id) const
return bad channel words per CSCLayer - 1 bit per channel
float pedestalSigma(const CSCDetId &detId, int channel) const
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) ...
float gain(const CSCDetId &id, int channel) const
channels count from 1
CSCRecoConditions(const edm::ParameterSet &pset)
void noiseMatrix(const CSCDetId &id, int centralStrip, std::vector< float > &nme) const
bool nearBadStrip(const CSCDetId &id, int geomStrip) const
Is a neighbour bad?
float chipCorrection(const CSCDetId &detId, int channel) const
float averageGain() const
return average gain over entire CSC system
float chamberTimingCorrection(const CSCDetId &detId) const
float stripWeight(const CSCDetId &id, int channel) const
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
float anodeBXoffset(const CSCDetId &detId) const
float pedestal(const CSCDetId &detId, int channel) const
in ADC counts
void stripWeights(const CSCDetId &id, float *weights) const
bool badStrip(const CSCDetId &id, int geomStrip) const
Is the strip bad?
float gasGainCorrection(const CSCDetId &detId, int strip, int wire) const
returns gas-gain correction given detId (w/layer), strip, channel. This converts ME1/4 strips 1-16 to...
CSCConditions theConditions
void initializeEvent(const edm::EventSetup &es)
fetch the maps from the database
const std::bitset< 112 > & badWireWord(const CSCDetId &id) const
float gain(const CSCDetId &detId, int channel) const
channels count from 1
float chipCorrection(const CSCDetId &detId, int channel) const
float anodeBXoffset(const CSCDetId &detId) const
void crossTalk(const CSCDetId &id, int centralStrip, std::vector< float > &xtalks) const
int channelFromStrip(const CSCDetId &id, int strip) const
float pedestalSigma(const CSCDetId &id, int channel) const
sigma of static pedestal in ADC counts
int rawStripChannel(const CSCDetId &id, int igeom) const
Return raw strip channel number for input geometrical channel number.
float pedestal(const CSCDetId &id, int channel) const
static pedestal in ADC counts
float gasGainCorrection(const CSCDetId &detId, int strip, int wire) const
gas gain correction as a function of detId (w/layer), strip, and wire
CSCDetId rawCSCDetId(const CSCDetId &id) const
void initializeEvent(const edm::EventSetup &es)
fetch the cond data from the database
const std::bitset< 112 > & badWireWord(const CSCDetId &id) const
Get bad wiregroup word.
float chamberTimingCorrection(const CSCDetId &detId) const