CMS 3D CMS Logo

L1RCTLutWriter.cc
Go to the documentation of this file.
2 
4 
11 
12 // default scales
17 
18 // debug scales
22 
25 
26 //
27 // constants, enums and typedefs
28 //
29 
30 //
31 // static data member definitions
32 //
33 
34 //
35 // constructors and destructor
36 //
38  : lookupTable_(new L1RCTLookupTables),
39  keyName_(iConfig.getParameter<std::string>("key")),
40  rctParametersToken_(esConsumes<L1RCTParameters, L1RCTParametersRcd>()),
41  emScaleToken_(esConsumes<L1CaloEtScale, L1EmEtScaleRcd>()),
42  transcoderToken_(esConsumes<CaloTPGTranscoder, CaloTPGRecord>()),
43  hcalScaleToken_(esConsumes<L1CaloHcalScale, L1CaloHcalScaleRcd>()),
44  ecalScaleToken_(esConsumes<L1CaloEcalScale, L1CaloEcalScaleRcd>()),
45  useDebugTpgScales_(iConfig.getParameter<bool>("useDebugTpgScales")),
46  tokens_(consumesCollector()) {
47  // now do what ever initialization is needed
48 }
49 
51  // do anything here that needs to be done at destruction time
52  // (e.g. close files, deallocate resources etc.)
53 
54  if (lookupTable_ != nullptr)
55  delete lookupTable_;
56 }
57 
58 //
59 // member functions
60 //
61 
62 // ------------ method called to for each event ------------
64  // get all the configuration information from the event, set it
65  // in the lookuptable
67  rctParameters_ = rctParameters.product();
69  const L1CaloEtScale *s = emScale.product();
70 
71  // make dummy channel mask -- we don't want to mask
72  // any channels when writing LUTs, that comes afterwards
74  for (int i = 0; i < 18; i++) {
75  for (int j = 0; j < 2; j++) {
76  for (int k = 0; k < 28; k++) {
77  m->ecalMask[i][j][k] = false;
78  m->hcalMask[i][j][k] = false;
79  }
80  for (int k = 0; k < 4; k++) {
81  m->hfMask[i][j][k] = false;
82  }
83  }
84  }
85 
86  // Same for Noisy mask
87  // make dummy channel mask -- we don't want to mask
88  // any channels when writing LUTs, that comes afterwards
90  for (int i = 0; i < 18; i++) {
91  for (int j = 0; j < 2; j++) {
92  for (int k = 0; k < 28; k++) {
93  m2->ecalMask[i][j][k] = false;
94  m2->hcalMask[i][j][k] = false;
95  }
96  for (int k = 0; k < 4; k++) {
97  m2->hfMask[i][j][k] = false;
98  }
99  }
100  }
101  m2->ecalThreshold = 0.0;
102  m2->hcalThreshold = 0.0;
103  m2->hfThreshold = 0.0;
104 
105  // use these dummies to get the delete right when using old-style
106  // scales to create set of L1CaloXcalScales
107  L1CaloEcalScale *dummyE(nullptr);
108  L1CaloHcalScale *dummyH(nullptr);
109 
110  if (useDebugTpgScales_) // generate new-style scales from tpg scales
111  {
112  std::cout << "Using old-style TPG scales!" << std::endl;
113 
114  // old version of hcal energy scale to convert input
116  const CaloTPGTranscoder *h_tpg = transcoder.product();
117 
118  // old version of ecal energy scale to convert input
119  EcalTPGScale e_tpg(tokens_, iSetup);
120 
121  L1CaloEcalScale *ecalScale = new L1CaloEcalScale();
122  L1CaloHcalScale *hcalScale = new L1CaloHcalScale();
123 
124  // generate L1CaloXcalScales from old-style scales (thanks, werner!)
125 
126  // ECAL
127  for (unsigned short ieta = 1; ieta <= L1CaloEcalScale::nBinEta; ++ieta) {
128  for (unsigned short irank = 0; irank < L1CaloEcalScale::nBinRank; ++irank) {
129  EcalSubdetector subdet = (ieta <= 17) ? EcalBarrel : EcalEndcap;
130  double etGeVPos = e_tpg.getTPGInGeV(irank,
131  EcalTrigTowerDetId(1, // +ve eta
132  subdet,
133  ieta,
134  1)); // dummy phi value
135  ecalScale->setBin(irank, ieta, 1, etGeVPos);
136  }
137  }
138 
139  for (unsigned short ieta = 1; ieta <= L1CaloEcalScale::nBinEta; ++ieta) {
140  for (unsigned short irank = 0; irank < L1CaloEcalScale::nBinRank; ++irank) {
141  EcalSubdetector subdet = (ieta <= 17) ? EcalBarrel : EcalEndcap;
142 
143  double etGeVNeg = e_tpg.getTPGInGeV(irank,
144  EcalTrigTowerDetId(-1, // -ve eta
145  subdet,
146  ieta,
147  2)); // dummy phi value
148  ecalScale->setBin(irank, ieta, -1, etGeVNeg);
149  }
150  }
151 
152  // HCAL
153  for (unsigned short ieta = 1; ieta <= L1CaloHcalScale::nBinEta; ++ieta) {
154  for (unsigned short irank = 0; irank < L1CaloHcalScale::nBinRank; ++irank) {
155  double etGeV = h_tpg->hcaletValue(ieta, irank);
156 
157  hcalScale->setBin(irank, ieta, 1, etGeV);
158  hcalScale->setBin(irank, ieta, -1, etGeV);
159  }
160  }
161 
162  // set the input scales
163  lookupTable_->setEcalScale(ecalScale);
164  lookupTable_->setHcalScale(hcalScale);
165 
166  dummyE = ecalScale;
167  dummyH = hcalScale;
168 
169  } else {
170  // get energy scale to convert input from ECAL
172  const L1CaloEcalScale *e = ecalScale.product();
173 
174  // get energy scale to convert input from HCAL
176  const L1CaloHcalScale *h = hcalScale.product();
177 
178  // set scales
181  }
182 
186  // lookupTable_->setHcalScale(h);
187  // lookupTable_->setEcalScale(e);
189 
190  for (unsigned short nCard = 0; nCard <= 6; nCard = nCard + 2) {
191  writeRcLutFile(nCard);
192  writeEicLutFile(nCard);
193  }
194  writeJscLutFile();
195 
196  unsigned int eicThreshold = rctParameters_->eicIsolationThreshold();
197  unsigned int jscThresholdBarrel = rctParameters_->jscQuietThresholdBarrel();
198  unsigned int jscThresholdEndcap = rctParameters_->jscQuietThresholdEndcap();
199  writeThresholdsFile(eicThreshold, jscThresholdBarrel, jscThresholdEndcap);
200 
201  if (dummyE != nullptr)
202  delete dummyE;
203  if (dummyH != nullptr)
204  delete dummyH;
205 }
206 
207 // ------------ method called once each job just after ending the event loop
208 // ------------
210 
211 // ------------ method to write one receiver card lut file
212 void L1RCTLutWriter::writeRcLutFile(unsigned short card) {
213  // don't mess yet with name
214  char filename[256];
215  char command[264];
216  if (card != 6) {
217  int card2 = card + 1;
218  sprintf(filename, "RC%i%i-%s.dat", card, card2, keyName_.c_str());
219  // sprintf(filename, "RC%i%i.dat", card, card2);
220  } else {
221  sprintf(filename, "RC6-%s.dat", keyName_.c_str());
222  // sprintf(filename, "RC6.dat");
223  }
224  // open file for writing, delete any existing content
226  lutFile_ << "Emulator-parameter generated lut file, card " << card << " key " << keyName_ << " ";
227 
228  // close to append timestamp info
229  lutFile_.close();
230  sprintf(command, "date >> %s", filename);
231  system(command);
232 
233  // reopen file for writing values
234  lutFile_.open(filename, std::ios::app);
235 
236  unsigned long data = 0;
237 
238  // write all memory addresses in increasing order
239  // address = (1<<22)+(nLUT<<19)+(eG?<18)+(hcalEt<<10)+(ecalfg<<9)+(ecalEt<<1)
240 
241  // loop through the physical LUTs on the card, 0-7
242  for (unsigned short nLUT = 0; nLUT < 8; nLUT++) {
243  // determine ieta, iphi, etc. everything
244  unsigned short iAbsEta = 0;
245  if (card != 6) {
246  iAbsEta = (card / 2) * 8 + nLUT + 1;
247  } else {
248  if (nLUT < 4) {
249  iAbsEta = (card / 2) * 8 + nLUT + 1;
250  } else {
251  iAbsEta = (card / 2) * 8 + (3 - (nLUT % 4)) + 1;
252  }
253  // std::cout << "LUT is " << nLUT << " iAbsEta is " << iAbsEta <<
254  // std::endl;
255  }
256 
257  // All RCT stuff uniform in phi, symmetric wrt eta = 0
258 
259  // below line always gives crate in +eta; makes no difference to us
260  unsigned short crate = rctParameters_->calcCrate(1, iAbsEta);
261  unsigned short tower = rctParameters_->calcTower(1, iAbsEta);
262 
263  // first do region sums half of LUTs, bit 18 of address is 0
264  // loop through 8 bits of hcal energy, 2^8 is 256
265  for (unsigned int hcalEt = 0; hcalEt < 256; hcalEt++) {
266  // loop through 1 bit of ecal fine grain
267  for (unsigned short ecalfg = 0; ecalfg < 2; ecalfg++) {
268  // loop through 8 bits of ecal energy
269  for (unsigned int ecalEt = 0; ecalEt < 256; ecalEt++) {
270  // assign 10-bit (9et,1mip) sums data here!
271  unsigned long output = lookupTable_->lookup(ecalEt, hcalEt, ecalfg, crate, card, tower);
272  unsigned short etIn9Bits = (output >> 8) & 511;
273  unsigned short tauActivityBit = (output >> 17) & 1;
274  data = (tauActivityBit << 9) + etIn9Bits;
275  lutFile_ << std::hex << data << std::dec << std::endl;
276  }
277  }
278  }
279  // second do egamma half of LUTs, bit 18 of address is 1
280  // loop through 8 bits of hcal energy
281  for (unsigned int hcalEt = 0; hcalEt < 256; hcalEt++) {
282  // loop through 1 bit of ecal fine grain
283  for (unsigned short ecalfg = 0; ecalfg < 2; ecalfg++) {
284  // loop through 8 bits of ecal energy
285  for (unsigned int ecalEt = 0; ecalEt < 256; ecalEt++) {
286  // assign 8-bit (7et,1veto) egamma data here!
287  unsigned long output = lookupTable_->lookup(ecalEt, hcalEt, ecalfg, crate, card, tower);
288  unsigned short etIn7Bits = output & 127;
289  unsigned short heFgVetoBit = (output >> 7) & 1;
290  data = (heFgVetoBit << 7) + etIn7Bits;
291  lutFile_ << std::hex << data << std::dec << std::endl;
292  }
293  }
294  }
295  }
296 
297  lutFile_.close();
298  return;
299 }
300 
301 // ------------ method to write one electron isolation card lut file
302 void L1RCTLutWriter::writeEicLutFile(unsigned short card) {
303  // try timestamp
304  char filename[256];
305  char command[264];
306  if (card != 6) {
307  int card2 = card + 1;
308  sprintf(filename, "EIC%i%i-%s.dat", card, card2, keyName_.c_str());
309  } else {
310  sprintf(filename, "EIC6-%s.dat", keyName_.c_str());
311  }
312  // open file for writing, delete any existing content
314  lutFile_ << "Emulator-parameter generated EIC lut file, card " << card << " key " << keyName_ << " ";
315  // close to append timestamp info
316  lutFile_.close();
317  sprintf(command, "date >> %s", filename);
318  system(command);
319 
320  // reopen file for writing values
321  lutFile_.open(filename, std::ios::app);
322 
323  unsigned long data = 0;
324 
325  // write all memory addresses in increasing order
326  // address = (1<<22) + (etIn7Bits<<1)
327 
328  // 2^7 = 0x7f = 128
329  for (int etIn7Bits = 0; etIn7Bits < 128; etIn7Bits++) {
330  data = lookupTable_->emRank(etIn7Bits);
331  if (data > 0x3f) {
332  data = 0x3f;
333  }
334  lutFile_ << std::hex << data << std::dec << std::endl;
335  }
336  lutFile_.close();
337  return;
338 }
339 
340 // ------------ method to write one jet summary card lut file
342  char filename[256];
343  char command[264];
344  sprintf(filename, "JSC-%s.dat", keyName_.c_str());
345 
346  // open file; if it already existed, delete existing content
348  lutFile_ << "Emulator parameter-generated lut file, key " << keyName_ << " ";
349  // close to append time-stamp
350  lutFile_.close();
351  sprintf(command, "date >> %s", filename);
352  system(command);
353  // reopen file for writing
354  lutFile_.open(filename, std::ios::app);
355 
356  unsigned long data = 0;
357  unsigned long data0 = 0;
358  unsigned long data1 = 0;
359 
360  // write all memory addresses in increasing order
361  // address = (1<<22) + (lutbits<<17) + (phi1et<<9) + (phi0et<<1);
362 
363  // ecl and U93/U225 lut id bits, identify eta segment of hf
364  for (int lutbits = 0; lutbits < 4; lutbits++) {
365  // 8-bit phi_1 et for each eta partition
366  for (unsigned int phi1et = 0; phi1et < 256; phi1et++) {
367  // 8-bit phi_0 et for each eta
368  for (unsigned int phi0et = 0; phi0et < 256; phi0et++) {
369  // lookup takes "(hf_et, crate, card, tower)"
370  // "card" convention for hf is 999, tower is 0-7
371  // but equivalent to 0-3 == lutbits
372  // crate doesn't matter, take 0
373  // only |ieta| matters
374  data0 = lookupTable_->lookup(phi0et, 0, 999, lutbits);
375  if (data0 > 0xff) {
376  data0 = 0xff; // 8-bit output energy for each phi region
377  }
378  data1 = lookupTable_->lookup(phi1et, 0, 999, lutbits);
379  if (data1 > 0xff) {
380  data1 = 0xff; // 8-bit output energy for each phi region
381  }
382  data = (data1 << 8) + (data0);
383  lutFile_ << std::hex << data << std::dec << std::endl;
384  /*
385  if (phi0et < 10 && phi1et < 10)
386  {
387  std::cout << "Writer: jsc. lutbits=" << lutbits
388  << " phi0et=" << phi0et << " data0=" << data0
389  << " phi1et=" << phi1et << " data1=" << data1
390  << std::endl;
391  }
392  */
393  }
394  }
395  }
396 
397  lutFile_.close();
398  return;
399 }
400 
401 //-----------Write text file containing the 1 JSC and 2 EIC thresholds
402 void L1RCTLutWriter::writeThresholdsFile(unsigned int eicThreshold,
403  unsigned int jscThresholdBarrel,
404  unsigned int jscThresholdEndcap) {
405  //
406  std::ofstream thresholdsFile;
407  char filename[256];
408  sprintf(filename, "Thresholds-%s.dat", keyName_.c_str());
409  thresholdsFile.open(filename, std::ios::trunc);
410 
411  thresholdsFile << "key is " << keyName_ << std::endl << std::endl;
412  thresholdsFile << "eicIsolationThreshold " << eicThreshold << std::endl;
413  thresholdsFile << "jscQuietThresholdBarrel " << jscThresholdBarrel << std::endl;
414  thresholdsFile << "jscQuietThresholdEndcap " << jscThresholdEndcap << std::endl;
415 
416  thresholdsFile.close();
417 }
418 
419 // define this as a plug-in
420 // DEFINE_FWK_MODULE(L1RCTLutWriter); // done in SealModule.cc
L1EmEtScaleRcd.h
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
CaloTPGTranscoder
Definition: CaloTPGTranscoder.h:24
L1RCTParameters::eicIsolationThreshold
unsigned eicIsolationThreshold() const
Definition: L1RCTParameters.h:75
electrons_cff.bool
bool
Definition: electrons_cff.py:393
L1RCTNoisyChannelMask.h
L1RCTChannelMaskRcd.h
mps_fire.i
i
Definition: mps_fire.py:428
EcalTPGScale
Definition: EcalTPGScale.h:16
L1CaloHcalScale
Definition: L1CaloHcalScale.h:28
L1RCTParameters.h
L1RCTLutWriter::L1RCTLutWriter
L1RCTLutWriter(const edm::ParameterSet &)
Definition: L1RCTLutWriter.cc:37
L1CaloEcalScale
Definition: L1CaloEcalScale.h:28
L1RCTNoisyChannelMask::hfThreshold
float hfThreshold
Definition: L1RCTNoisyChannelMask.h:14
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
L1RCTLookupTables::lookup
unsigned int lookup(unsigned short ecalInput, unsigned short hcalInput, unsigned short fgbit, unsigned short crtNo, unsigned short crdNo, unsigned short twrNo) const
Definition: L1RCTLookupTables.cc:22
L1RCTLutWriter::writeRcLutFile
void writeRcLutFile(unsigned short card)
Definition: L1RCTLutWriter.cc:212
L1CaloEcalScaleRcd
Definition: L1CaloEcalScaleRcd.h:12
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1RCTParametersRcd
Definition: L1RCTParametersRcd.h:12
L1RCTLutWriter::lookupTable_
L1RCTLookupTables * lookupTable_
Definition: L1RCTLutWriter.h:74
L1RCTLutWriter::useDebugTpgScales_
bool useDebugTpgScales_
Definition: L1RCTLutWriter.h:84
hgcalTowerProducer_cfi.tower
tower
Definition: hgcalTowerProducer_cfi.py:4
L1CaloHcalScale::nBinRank
static const unsigned short nBinRank
Definition: L1CaloHcalScale.h:31
L1RCTChannelMask
Definition: L1RCTChannelMask.h:7
L1RCTNoisyChannelMask::ecalMask
bool ecalMask[18][2][28]
Definition: L1RCTNoisyChannelMask.h:8
L1RCTLutWriter::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: L1RCTLutWriter.cc:63
EcalSubdetector
EcalSubdetector
Definition: EcalSubdetector.h:10
EcalTrigTowerDetId
Definition: EcalTrigTowerDetId.h:14
CaloTPGTranscoder.h
mps_check.command
list command
Definition: mps_check.py:25
L1RCTParameters::jscQuietThresholdEndcap
unsigned jscQuietThresholdEndcap() const
Definition: L1RCTParameters.h:77
L1RCTChannelMask.h
EcalBarrel
Definition: EcalSubdetector.h:10
L1CaloEcalScale::nBinRank
static const unsigned short nBinRank
Definition: L1CaloEcalScale.h:31
L1CaloHcalScale.h
L1RCTNoisyChannelMaskRcd.h
L1RCTNoisyChannelMask
Definition: L1RCTNoisyChannelMask.h:7
alignCSCRings.s
s
Definition: alignCSCRings.py:92
L1RCTLookupTables::setHcalScale
void setHcalScale(const L1CaloHcalScale *hcalScale)
Definition: L1RCTLookupTables.h:27
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
L1RCTLutWriter::tokens_
EcalTPGScale::Tokens tokens_
Definition: L1RCTLutWriter.h:85
L1RCTLutWriter::hcalScaleToken_
edm::ESGetToken< L1CaloHcalScale, L1CaloHcalScaleRcd > hcalScaleToken_
Definition: L1RCTLutWriter.h:82
edm::ESHandle
Definition: DTSurvey.h:22
tokens_
std::vector< edm::EDGetTokenT< int > > tokens_
Definition: TimeStudyModules.cc:75
corrVsCorr.filename
filename
Definition: corrVsCorr.py:123
L1RCTParameters::calcCrate
unsigned short calcCrate(unsigned short rct_iphi, short ieta) const
Definition: L1RCTParameters.cc:83
h
dqmdumpme.k
k
Definition: dqmdumpme.py:60
L1RCTParameters::jscQuietThresholdBarrel
unsigned jscQuietThresholdBarrel() const
Definition: L1RCTParameters.h:76
L1RCTLutWriter::endJob
void endJob() override
Definition: L1RCTLutWriter.cc:209
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1RCTLutWriter::transcoderToken_
edm::ESGetToken< CaloTPGTranscoder, CaloTPGRecord > transcoderToken_
Definition: L1RCTLutWriter.h:81
EcalEndcap
Definition: EcalSubdetector.h:10
L1CaloHcalScale::nBinEta
static const unsigned short nBinEta
Definition: L1CaloHcalScale.h:32
L1RCTLookupTables
Definition: L1RCTLookupTables.h:11
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
edm::ParameterSet
Definition: ParameterSet.h:47
CaloTPGRecord
Definition: CaloTPGRecord.h:26
L1RCTLutWriter::writeThresholdsFile
void writeThresholdsFile(unsigned int eicThreshold, unsigned int jscThresholdBarrel, unsigned int jscThresholdEndcap)
Definition: L1RCTLutWriter.cc:402
L1RCTLutWriter::emScaleToken_
edm::ESGetToken< L1CaloEtScale, L1EmEtScaleRcd > emScaleToken_
Definition: L1RCTLutWriter.h:80
EcalTPGScale::getTPGInGeV
double getTPGInGeV(const EcalTriggerPrimitiveDigi &tpDigi) const
Definition: EcalTPGScale.cc:17
L1RCTLutWriter::keyName_
std::string keyName_
Definition: L1RCTLutWriter.h:78
iEvent
int iEvent
Definition: GenABIO.cc:224
L1CaloEtScale
Definition: L1CaloEtScale.h:29
L1RCTNoisyChannelMask::ecalThreshold
float ecalThreshold
Definition: L1RCTNoisyChannelMask.h:12
L1RCTLookupTables::setL1CaloEtScale
void setL1CaloEtScale(const L1CaloEtScale *etScale)
Definition: L1RCTLookupTables.h:29
L1RCTLutWriter.h
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:148
L1RCTLookupTables.h
edm::EventSetup
Definition: EventSetup.h:57
L1RCTLutWriter::writeJscLutFile
void writeJscLutFile()
Definition: L1RCTLutWriter.cc:341
CaloTPGRecord.h
L1RCTNoisyChannelMask::hfMask
bool hfMask[18][2][4]
Definition: L1RCTNoisyChannelMask.h:10
L1CaloEtScale.h
L1CaloEcalScaleRcd.h
L1CaloHcalScaleRcd.h
L1CaloHcalScale::setBin
void setBin(unsigned short rank, unsigned short eta, short etaSign, double et)
set scale element; use this to create non-linear scales
Definition: L1CaloHcalScale.cc:33
L1RCTLutWriter::lutFile_
std::ofstream lutFile_
Definition: L1RCTLutWriter.h:77
std
Definition: JetResolutionObject.h:76
L1RCTParameters::calcTower
unsigned short calcTower(unsigned short rct_iphi, unsigned short absIeta) const
Definition: L1RCTParameters.cc:109
L1CaloEcalScale.h
L1CaloEcalScale::setBin
void setBin(unsigned short rank, unsigned short eta, short etaSign, double et)
set scale element; use this to create non-linear scales
Definition: L1CaloEcalScale.cc:33
L1RCTLookupTables::setNoisyChannelMask
void setNoisyChannelMask(const L1RCTNoisyChannelMask *channelMask)
Definition: L1RCTLookupTables.h:24
L1RCTLookupTables::setEcalScale
void setEcalScale(const L1CaloEcalScale *ecalScale)
Definition: L1RCTLookupTables.h:31
L1RCTLutWriter::writeEicLutFile
void writeEicLutFile(unsigned short card)
Definition: L1RCTLutWriter.cc:302
L1EmEtScaleRcd
Definition: L1EmEtScaleRcd.h:30
L1RCTLookupTables::setRCTParameters
void setRCTParameters(const L1RCTParameters *rctParameters)
Definition: L1RCTLookupTables.h:21
L1RCTParameters
Definition: L1RCTParameters.h:27
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
CaloTPGTranscoder::hcaletValue
virtual double hcaletValue(const int &ieta, const int &iphi, const int &version, const int &compressedValue) const =0
L1RCTParametersRcd.h
L1RCTLutWriter::~L1RCTLutWriter
~L1RCTLutWriter() override
Definition: L1RCTLutWriter.cc:50
L1RCTLutWriter::rctParameters_
const L1RCTParameters * rctParameters_
Definition: L1RCTLutWriter.h:75
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
L1RCTLookupTables::setChannelMask
void setChannelMask(const L1RCTChannelMask *channelMask)
Definition: L1RCTLookupTables.h:23
L1CaloEcalScale::nBinEta
static const unsigned short nBinEta
Definition: L1CaloEcalScale.h:32
edm::Event
Definition: Event.h:73
L1RCTLutWriter::ecalScaleToken_
edm::ESGetToken< L1CaloEcalScale, L1CaloEcalScaleRcd > ecalScaleToken_
Definition: L1RCTLutWriter.h:83
pileupReCalc_HLTpaths.trunc
trunc
Definition: pileupReCalc_HLTpaths.py:144
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
L1RCTNoisyChannelMask::hcalThreshold
float hcalThreshold
Definition: L1RCTNoisyChannelMask.h:13
L1RCTNoisyChannelMask::hcalMask
bool hcalMask[18][2][28]
Definition: L1RCTNoisyChannelMask.h:9
EcalTPGScale.h
L1RCTLookupTables::emRank
unsigned int emRank(unsigned short energy) const
Definition: L1RCTLookupTables.cc:220
L1RCTLutWriter::rctParametersToken_
edm::ESGetToken< L1RCTParameters, L1RCTParametersRcd > rctParametersToken_
Definition: L1RCTLutWriter.h:79
L1CaloHcalScaleRcd
Definition: L1CaloHcalScaleRcd.h:13
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37