28 :
fileName(conf.getUntrackedParameter<std::
string>(
"rctTestInputFile")),
30 rct(new
L1RCT(rctLookupTables)),
31 useEcal(conf.getParameter<bool>(
"useEcal")),
32 useHcal(conf.getParameter<bool>(
"useHcal")),
33 ecalDigisLabel(conf.getParameter<edm::
InputTag>(
"ecalDigisLabel")),
34 hcalDigisLabel(conf.getParameter<edm::
InputTag>(
"hcalDigisLabel")),
41 useDebugTpgScales(conf.getParameter<bool>(
"useDebugTpgScales")),
91 ecalScale->
setBin(irank, ieta, 1, etGeVPos);
109 ecalScale->
setBin(irank, ieta, -1, etGeVNeg);
122 hcalScale->
setBin(irank, ieta, 1, etGeV);
123 hcalScale->
setBin(irank, ieta, -1, etGeV);
159 ofs <<
"Crate = 0-17" << std::endl
160 <<
"Card = 0-7 within the crate" << std::endl
161 <<
"Tower = 0-31 covers 4 x 8 covered by the card" << std::endl
162 <<
"EMAddr(0:8) = EMFGBit(0:0)+CompressedEMET(1:8)" << std::endl
163 <<
"HDAddr(0:8) = HDFGBit(0:0)+CompressedHDET(1:8) - note: "
164 "HDFGBit(0:0) is not part of the hardware LUT address"
167 "LinearEMET(0:6)+HoEFGVetoBit(7:7)+LinearJetET(8:16)+ActivityBit(17:"
182 <<
"LUTOut" << std::endl;
185 for (
unsigned short iCrate = 0; iCrate < 18; iCrate++) {
186 for (
unsigned short iCard = 0; iCard < 7; iCard++) {
188 for (
unsigned short iTower = 0; iTower < 32; iTower++) {
194 ofs << std::hex << nEvents <<
"\t" << iCrate <<
"\t" << iCard <<
"\t" << iTower <<
"\t" << ecal * 2 + fgbit
195 <<
"\t" << hcal * 2 + mubit <<
"\t" << lutOutput <<
std::dec << std::endl;
const edm::EventSetup & c
unsigned short hcalCompressedET(int crate, int card, int tower)
void setBin(unsigned short rank, unsigned short eta, short etaSign, double et)
set scale element; use this to create non-linear scales
void setBin(unsigned short rank, unsigned short eta, short etaSign, double et)
set scale element; use this to create non-linear scales
unsigned short hcalFineGrainBit(int crate, int card, int tower)
void setHcalScale(const L1CaloHcalScale *hcalScale)
unsigned short ecalFineGrainBit(int crate, int card, int tower)
unsigned short ecalCompressedET(int crate, int card, int tower)
static const unsigned short nBinRank
void setL1CaloEtScale(const L1CaloEtScale *etScale)
double getTPGInGeV(const EcalTriggerPrimitiveDigi &tpDigi) const
std::vector< edm::EDGetTokenT< int > > tokens_
T const * product() const
void setEcalScale(const L1CaloEcalScale *ecalScale)
void setRCTParameters(const L1RCTParameters *rctParameters)
static const unsigned short nBinRank
void digiInput(const EcalTrigPrimDigiCollection &ecalCollection, const HcalTrigPrimDigiCollection &hcalCollection)
static const unsigned short nBinEta
static const unsigned short nBinEta
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
virtual double hcaletValue(const int &ieta, const int &iphi, const int &version, const int &compressedValue) const =0
void setChannelMask(const L1RCTChannelMask *channelMask)
unsigned int lookup(unsigned short ecalInput, unsigned short hcalInput, unsigned short fgbit, unsigned short crtNo, unsigned short crdNo, unsigned short twrNo) const