|
|
Go to the documentation of this file.
23 unsigned short hcalInput,
27 unsigned short twrNo)
const {
36 throw cms::Exception(
"Invalid Data") <<
"ECAL compressedET should be less than 0xFF, is " << ecalInput;
38 throw cms::Exception(
"Invalid Data") <<
"HCAL compressedET should be less than 0xFF, is " << hcalInput;
40 throw cms::Exception(
"Invalid Data") <<
"ECAL finegrain should be a single bit, is " << fgbit;
42 unsigned short iAbsEta = (
unsigned short)
abs(
iEta);
45 unsigned short phiSide = (iPhi / 4) % 2;
46 if (iAbsEta < 1 || iAbsEta > 28)
47 throw cms::Exception(
"Invalid Data") <<
"1 <= |IEta| <= 28, is " << iAbsEta;
50 unsigned short ecalAfterMask = 0;
51 unsigned short hcalAfterMask = 0;
61 ecalBeforeMask < noisyChannelMask_->ecalThreshold) ||
68 ecalAfterMask = ecalInput;
85 hcalAfterMask = hcalInput;
90 unsigned long etIn7Bits;
91 unsigned long etIn9Bits;
93 if ((ecalAfterMask == 0 && hcalAfterMask > 0) &&
113 unsigned long shiftEtIn9Bits = etIn9Bits << 8;
115 unsigned long shiftActivityBit = 0;
126 unsigned long output = etIn7Bits + shiftHE_FGBit + shiftEtIn9Bits + shiftActivityBit;
131 unsigned short crtNo,
132 unsigned short crdNo,
133 unsigned short twrNo)
const {
141 unsigned short iAbsEta =
abs(
iEta);
143 unsigned short phiSide = twrNo / 4;
144 if (iAbsEta < 29 || iAbsEta > 32)
145 throw cms::Exception(
"Invalid Data") <<
"29 <= |iEta| <= 32, is " << iAbsEta;
162 int ht_bin = ((
int)floor(
et) / 5);
268 unsigned long etBits = (
unsigned long)(
et /
lsb);
double eMinForFGCut() const
double hMinForHoECut() const
short calcIEta(unsigned short iCrate, unsigned short iCard, unsigned short iTower) const
unsigned int eGammaETCode(float ecal, float hcal, int iAbsEta) const
bool activityBit(float ecal, float hcal) const
unsigned int lookup(unsigned short ecalInput, unsigned short hcalInput, unsigned short fgbit, unsigned short crtNo, unsigned short crdNo, unsigned short twrNo) const
float JetMETTPGSum(const float &ecal, const float &hcal, const unsigned &iAbsEta) const
bool hOeFGVetoBit(float ecal, float hcal, bool fgbit) const
double et(unsigned short rank, unsigned short eta, short etaSign) const
convert from rank to physically meaningful quantity
double et(unsigned short rank, unsigned short eta, short etaSign) const
convert from rank to physically meaningful quantity
double eActivityCut() const
const L1RCTChannelMask * channelMask_
const L1RCTNoisyChannelMask * noisyChannelMask_
const std::vector< double > & eGammaECalScaleFactors() const
double hActivityCut() const
double eMaxForHoECut() const
bool noiseVetoHEminus() const
double eMaxForFGCut() const
const std::vector< double > & eGammaHCalScaleFactors() const
float EGammaTPGSum(const float &ecal, const float &hcal, const unsigned &iAbsEta) const
const std::vector< double > & jetMETECalScaleFactors() const
float convertEcal(unsigned short ecal, unsigned short iAbsEta, short sign) const
unsigned int jetMETETCode(float ecal, float hcal, int iAbsEta) const
const L1CaloEcalScale * ecalScale_
const L1RCTParameters * rctParameters_
uint16_t rank(const uint16_t linear) const
convert from linear Et scale to rank scale
const std::vector< double > & jetMETHCalScaleFactors() const
unsigned short calcIPhi(unsigned short iCrate, unsigned short iCard, unsigned short iTower) const
eMinForHoECut
RCTConfigProducers.eMinForHoECut = 1 RCTConfigProducers.eMaxForHoECut = 30.
double eMinForHoECut() const
unsigned long convertToInteger(float et, float lsb, int precision) const
bool noiseVetoHEplus() const
const L1CaloHcalScale * hcalScale_
Abs< T >::type abs(const T &t)
const L1CaloEtScale * etScale_
float convertHcal(unsigned short hcal, unsigned short iAbsEta, short sign) const
unsigned int emRank(unsigned short energy) const