CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1RCTLutWriter Class Reference

#include <L1RCTLutWriter.h>

Inheritance diagram for L1RCTLutWriter:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 L1RCTLutWriter (const edm::ParameterSet &)
 
 ~L1RCTLutWriter () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void endJob () override
 
void writeEicLutFile (unsigned short card)
 
void writeJscLutFile ()
 
void writeRcLutFile (unsigned short card)
 
void writeThresholdsFile (unsigned int eicThreshold, unsigned int jscThresholdBarrel, unsigned int jscThresholdEndcap)
 

Private Attributes

std::string keyName_
 
L1RCTLookupTableslookupTable_
 
std::ofstream lutFile_
 
const L1RCTParametersrctParameters_
 
bool useDebugTpgScales_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

L1Trigger/L1RCTLutWriter/src/L1RCTLutWriter.cc

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 48 of file L1RCTLutWriter.h.

Constructor & Destructor Documentation

◆ L1RCTLutWriter()

L1RCTLutWriter::L1RCTLutWriter ( const edm::ParameterSet iConfig)
explicit

Definition at line 37 of file L1RCTLutWriter.cc.

39  keyName_(iConfig.getParameter<std::string>("key")),
40  useDebugTpgScales_(iConfig.getParameter<bool>("useDebugTpgScales")) {
41  // now do what ever initialization is needed
42 }

◆ ~L1RCTLutWriter()

L1RCTLutWriter::~L1RCTLutWriter ( )
override

Definition at line 44 of file L1RCTLutWriter.cc.

44  {
45  // do anything here that needs to be done at destruction time
46  // (e.g. close files, deallocate resources etc.)
47 
48  if (lookupTable_ != nullptr)
49  delete lookupTable_;
50 }

References lookupTable_.

Member Function Documentation

◆ analyze()

void L1RCTLutWriter::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 57 of file L1RCTLutWriter.cc.

57  {
58  // get all the configuration information from the event, set it
59  // in the lookuptable
60  edm::ESHandle<L1RCTParameters> rctParameters;
61  iSetup.get<L1RCTParametersRcd>().get(rctParameters);
62  rctParameters_ = rctParameters.product();
64  iSetup.get<L1EmEtScaleRcd>().get(emScale);
65  const L1CaloEtScale *s = emScale.product();
66 
67  // make dummy channel mask -- we don't want to mask
68  // any channels when writing LUTs, that comes afterwards
70  for (int i = 0; i < 18; i++) {
71  for (int j = 0; j < 2; j++) {
72  for (int k = 0; k < 28; k++) {
73  m->ecalMask[i][j][k] = false;
74  m->hcalMask[i][j][k] = false;
75  }
76  for (int k = 0; k < 4; k++) {
77  m->hfMask[i][j][k] = false;
78  }
79  }
80  }
81 
82  // Same for Noisy mask
83  // make dummy channel mask -- we don't want to mask
84  // any channels when writing LUTs, that comes afterwards
86  for (int i = 0; i < 18; i++) {
87  for (int j = 0; j < 2; j++) {
88  for (int k = 0; k < 28; k++) {
89  m2->ecalMask[i][j][k] = false;
90  m2->hcalMask[i][j][k] = false;
91  }
92  for (int k = 0; k < 4; k++) {
93  m2->hfMask[i][j][k] = false;
94  }
95  }
96  }
97  m2->ecalThreshold = 0.0;
98  m2->hcalThreshold = 0.0;
99  m2->hfThreshold = 0.0;
100 
101  // use these dummies to get the delete right when using old-style
102  // scales to create set of L1CaloXcalScales
103  L1CaloEcalScale *dummyE(nullptr);
104  L1CaloHcalScale *dummyH(nullptr);
105 
106  if (useDebugTpgScales_) // generate new-style scales from tpg scales
107  {
108  std::cout << "Using old-style TPG scales!" << std::endl;
109 
110  // old version of hcal energy scale to convert input
112  iSetup.get<CaloTPGRecord>().get(transcoder);
113  const CaloTPGTranscoder *h_tpg = transcoder.product();
114 
115  // old version of ecal energy scale to convert input
116  EcalTPGScale *e_tpg = new EcalTPGScale();
117  e_tpg->setEventSetup(iSetup);
118 
119  L1CaloEcalScale *ecalScale = new L1CaloEcalScale();
120  L1CaloHcalScale *hcalScale = new L1CaloHcalScale();
121 
122  // generate L1CaloXcalScales from old-style scales (thanks, werner!)
123 
124  // ECAL
125  for (unsigned short ieta = 1; ieta <= L1CaloEcalScale::nBinEta; ++ieta) {
126  for (unsigned short irank = 0; irank < L1CaloEcalScale::nBinRank; ++irank) {
127  EcalSubdetector subdet = (ieta <= 17) ? EcalBarrel : EcalEndcap;
128  double etGeVPos = e_tpg->getTPGInGeV(irank,
129  EcalTrigTowerDetId(1, // +ve eta
130  subdet,
131  ieta,
132  1)); // dummy phi value
133  ecalScale->setBin(irank, ieta, 1, etGeVPos);
134  }
135  }
136 
137  for (unsigned short ieta = 1; ieta <= L1CaloEcalScale::nBinEta; ++ieta) {
138  for (unsigned short irank = 0; irank < L1CaloEcalScale::nBinRank; ++irank) {
139  EcalSubdetector subdet = (ieta <= 17) ? EcalBarrel : EcalEndcap;
140 
141  double etGeVNeg = e_tpg->getTPGInGeV(irank,
142  EcalTrigTowerDetId(-1, // -ve eta
143  subdet,
144  ieta,
145  2)); // dummy phi value
146  ecalScale->setBin(irank, ieta, -1, etGeVNeg);
147  }
148  }
149 
150  // HCAL
151  for (unsigned short ieta = 1; ieta <= L1CaloHcalScale::nBinEta; ++ieta) {
152  for (unsigned short irank = 0; irank < L1CaloHcalScale::nBinRank; ++irank) {
153  double etGeV = h_tpg->hcaletValue(ieta, irank);
154 
155  hcalScale->setBin(irank, ieta, 1, etGeV);
156  hcalScale->setBin(irank, ieta, -1, etGeV);
157  }
158  }
159 
160  // set the input scales
161  lookupTable_->setEcalScale(ecalScale);
162  lookupTable_->setHcalScale(hcalScale);
163 
164  dummyE = ecalScale;
165  dummyH = hcalScale;
166 
167  delete e_tpg;
168 
169  } else {
170  // get energy scale to convert input from ECAL
172  iSetup.get<L1CaloEcalScaleRcd>().get(ecalScale);
173  const L1CaloEcalScale *e = ecalScale.product();
174 
175  // get energy scale to convert input from HCAL
177  iSetup.get<L1CaloHcalScaleRcd>().get(hcalScale);
178  const L1CaloHcalScale *h = hcalScale.product();
179 
180  // set scales
183  }
184 
188  // lookupTable_->setHcalScale(h);
189  // lookupTable_->setEcalScale(e);
191 
192  for (unsigned short nCard = 0; nCard <= 6; nCard = nCard + 2) {
193  writeRcLutFile(nCard);
194  writeEicLutFile(nCard);
195  }
196  writeJscLutFile();
197 
198  unsigned int eicThreshold = rctParameters_->eicIsolationThreshold();
199  unsigned int jscThresholdBarrel = rctParameters_->jscQuietThresholdBarrel();
200  unsigned int jscThresholdEndcap = rctParameters_->jscQuietThresholdEndcap();
201  writeThresholdsFile(eicThreshold, jscThresholdBarrel, jscThresholdEndcap);
202 
203  if (dummyE != nullptr)
204  delete dummyE;
205  if (dummyH != nullptr)
206  delete dummyH;
207 }

References gather_cfg::cout, MillePedeFileConverter_cfg::e, EcalBarrel, EcalEndcap, L1RCTNoisyChannelMask::ecalMask, L1RCTNoisyChannelMask::ecalThreshold, L1RCTParameters::eicIsolationThreshold(), edm::EventSetup::get(), get, EcalTPGScale::getTPGInGeV(), CaloTPGTranscoder::hcaletValue(), L1RCTNoisyChannelMask::hcalMask, L1RCTNoisyChannelMask::hcalThreshold, L1RCTNoisyChannelMask::hfMask, L1RCTNoisyChannelMask::hfThreshold, mps_fire::i, LEDCalibrationChannels::ieta, dqmiolumiharvest::j, L1RCTParameters::jscQuietThresholdBarrel(), L1RCTParameters::jscQuietThresholdEndcap(), dqmdumpme::k, lookupTable_, visualization-live-secondInstance_cfg::m, L1CaloEcalScale::nBinEta, L1CaloHcalScale::nBinEta, L1CaloEcalScale::nBinRank, L1CaloHcalScale::nBinRank, edm::ESHandle< T >::product(), rctParameters_, alignCSCRings::s, L1CaloEcalScale::setBin(), L1CaloHcalScale::setBin(), L1RCTLookupTables::setChannelMask(), L1RCTLookupTables::setEcalScale(), EcalTPGScale::setEventSetup(), L1RCTLookupTables::setHcalScale(), L1RCTLookupTables::setL1CaloEtScale(), L1RCTLookupTables::setNoisyChannelMask(), L1RCTLookupTables::setRCTParameters(), useDebugTpgScales_, writeEicLutFile(), writeJscLutFile(), writeRcLutFile(), and writeThresholdsFile().

◆ endJob()

void L1RCTLutWriter::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 211 of file L1RCTLutWriter.cc.

211 {}

◆ writeEicLutFile()

void L1RCTLutWriter::writeEicLutFile ( unsigned short  card)
private

Definition at line 304 of file L1RCTLutWriter.cc.

304  {
305  // try timestamp
306  char filename[256];
307  char command[264];
308  if (card != 6) {
309  int card2 = card + 1;
310  sprintf(filename, "EIC%i%i-%s.dat", card, card2, keyName_.c_str());
311  } else {
312  sprintf(filename, "EIC6-%s.dat", keyName_.c_str());
313  }
314  // open file for writing, delete any existing content
316  lutFile_ << "Emulator-parameter generated EIC lut file, card " << card << " key " << keyName_ << " ";
317  // close to append timestamp info
318  lutFile_.close();
319  sprintf(command, "date >> %s", filename);
320  system(command);
321 
322  // reopen file for writing values
323  lutFile_.open(filename, std::ios::app);
324 
325  unsigned long data = 0;
326 
327  // write all memory addresses in increasing order
328  // address = (1<<22) + (etIn7Bits<<1)
329 
330  // 2^7 = 0x7f = 128
331  for (int etIn7Bits = 0; etIn7Bits < 128; etIn7Bits++) {
332  data = lookupTable_->emRank(etIn7Bits);
333  if (data > 0x3f) {
334  data = 0x3f;
335  }
336  lutFile_ << std::hex << data << std::dec << std::endl;
337  }
338  lutFile_.close();
339  return;
340 }

References mps_check::command, data, TauDecayModes::dec, L1RCTLookupTables::emRank(), corrVsCorr::filename, keyName_, lookupTable_, lutFile_, and pileupReCalc_HLTpaths::trunc.

Referenced by analyze().

◆ writeJscLutFile()

void L1RCTLutWriter::writeJscLutFile ( )
private

Definition at line 343 of file L1RCTLutWriter.cc.

343  {
344  char filename[256];
345  char command[264];
346  sprintf(filename, "JSC-%s.dat", keyName_.c_str());
347 
348  // open file; if it already existed, delete existing content
350  lutFile_ << "Emulator parameter-generated lut file, key " << keyName_ << " ";
351  // close to append time-stamp
352  lutFile_.close();
353  sprintf(command, "date >> %s", filename);
354  system(command);
355  // reopen file for writing
356  lutFile_.open(filename, std::ios::app);
357 
358  unsigned long data = 0;
359  unsigned long data0 = 0;
360  unsigned long data1 = 0;
361 
362  // write all memory addresses in increasing order
363  // address = (1<<22) + (lutbits<<17) + (phi1et<<9) + (phi0et<<1);
364 
365  // ecl and U93/U225 lut id bits, identify eta segment of hf
366  for (int lutbits = 0; lutbits < 4; lutbits++) {
367  // 8-bit phi_1 et for each eta partition
368  for (unsigned int phi1et = 0; phi1et < 256; phi1et++) {
369  // 8-bit phi_0 et for each eta
370  for (unsigned int phi0et = 0; phi0et < 256; phi0et++) {
371  // lookup takes "(hf_et, crate, card, tower)"
372  // "card" convention for hf is 999, tower is 0-7
373  // but equivalent to 0-3 == lutbits
374  // crate doesn't matter, take 0
375  // only |ieta| matters
376  data0 = lookupTable_->lookup(phi0et, 0, 999, lutbits);
377  if (data0 > 0xff) {
378  data0 = 0xff; // 8-bit output energy for each phi region
379  }
380  data1 = lookupTable_->lookup(phi1et, 0, 999, lutbits);
381  if (data1 > 0xff) {
382  data1 = 0xff; // 8-bit output energy for each phi region
383  }
384  data = (data1 << 8) + (data0);
385  lutFile_ << std::hex << data << std::dec << std::endl;
386  /*
387  if (phi0et < 10 && phi1et < 10)
388  {
389  std::cout << "Writer: jsc. lutbits=" << lutbits
390  << " phi0et=" << phi0et << " data0=" << data0
391  << " phi1et=" << phi1et << " data1=" << data1
392  << std::endl;
393  }
394  */
395  }
396  }
397  }
398 
399  lutFile_.close();
400  return;
401 }

References mps_check::command, data, TauDecayModes::dec, corrVsCorr::filename, keyName_, L1RCTLookupTables::lookup(), lookupTable_, lutFile_, and pileupReCalc_HLTpaths::trunc.

Referenced by analyze().

◆ writeRcLutFile()

void L1RCTLutWriter::writeRcLutFile ( unsigned short  card)
private

Definition at line 214 of file L1RCTLutWriter.cc.

214  {
215  // don't mess yet with name
216  char filename[256];
217  char command[264];
218  if (card != 6) {
219  int card2 = card + 1;
220  sprintf(filename, "RC%i%i-%s.dat", card, card2, keyName_.c_str());
221  // sprintf(filename, "RC%i%i.dat", card, card2);
222  } else {
223  sprintf(filename, "RC6-%s.dat", keyName_.c_str());
224  // sprintf(filename, "RC6.dat");
225  }
226  // open file for writing, delete any existing content
228  lutFile_ << "Emulator-parameter generated lut file, card " << card << " key " << keyName_ << " ";
229 
230  // close to append timestamp info
231  lutFile_.close();
232  sprintf(command, "date >> %s", filename);
233  system(command);
234 
235  // reopen file for writing values
236  lutFile_.open(filename, std::ios::app);
237 
238  unsigned long data = 0;
239 
240  // write all memory addresses in increasing order
241  // address = (1<<22)+(nLUT<<19)+(eG?<18)+(hcalEt<<10)+(ecalfg<<9)+(ecalEt<<1)
242 
243  // loop through the physical LUTs on the card, 0-7
244  for (unsigned short nLUT = 0; nLUT < 8; nLUT++) {
245  // determine ieta, iphi, etc. everything
246  unsigned short iAbsEta = 0;
247  if (card != 6) {
248  iAbsEta = (card / 2) * 8 + nLUT + 1;
249  } else {
250  if (nLUT < 4) {
251  iAbsEta = (card / 2) * 8 + nLUT + 1;
252  } else {
253  iAbsEta = (card / 2) * 8 + (3 - (nLUT % 4)) + 1;
254  }
255  // std::cout << "LUT is " << nLUT << " iAbsEta is " << iAbsEta <<
256  // std::endl;
257  }
258 
259  // All RCT stuff uniform in phi, symmetric wrt eta = 0
260 
261  // below line always gives crate in +eta; makes no difference to us
262  unsigned short crate = rctParameters_->calcCrate(1, iAbsEta);
263  unsigned short tower = rctParameters_->calcTower(1, iAbsEta);
264 
265  // first do region sums half of LUTs, bit 18 of address is 0
266  // loop through 8 bits of hcal energy, 2^8 is 256
267  for (unsigned int hcalEt = 0; hcalEt < 256; hcalEt++) {
268  // loop through 1 bit of ecal fine grain
269  for (unsigned short ecalfg = 0; ecalfg < 2; ecalfg++) {
270  // loop through 8 bits of ecal energy
271  for (unsigned int ecalEt = 0; ecalEt < 256; ecalEt++) {
272  // assign 10-bit (9et,1mip) sums data here!
273  unsigned long output = lookupTable_->lookup(ecalEt, hcalEt, ecalfg, crate, card, tower);
274  unsigned short etIn9Bits = (output >> 8) & 511;
275  unsigned short tauActivityBit = (output >> 17) & 1;
276  data = (tauActivityBit << 9) + etIn9Bits;
277  lutFile_ << std::hex << data << std::dec << std::endl;
278  }
279  }
280  }
281  // second do egamma half of LUTs, bit 18 of address is 1
282  // loop through 8 bits of hcal energy
283  for (unsigned int hcalEt = 0; hcalEt < 256; hcalEt++) {
284  // loop through 1 bit of ecal fine grain
285  for (unsigned short ecalfg = 0; ecalfg < 2; ecalfg++) {
286  // loop through 8 bits of ecal energy
287  for (unsigned int ecalEt = 0; ecalEt < 256; ecalEt++) {
288  // assign 8-bit (7et,1veto) egamma data here!
289  unsigned long output = lookupTable_->lookup(ecalEt, hcalEt, ecalfg, crate, card, tower);
290  unsigned short etIn7Bits = output & 127;
291  unsigned short heFgVetoBit = (output >> 7) & 1;
292  data = (heFgVetoBit << 7) + etIn7Bits;
293  lutFile_ << std::hex << data << std::dec << std::endl;
294  }
295  }
296  }
297  }
298 
299  lutFile_.close();
300  return;
301 }

References L1RCTParameters::calcCrate(), L1RCTParameters::calcTower(), mps_check::command, data, TauDecayModes::dec, corrVsCorr::filename, keyName_, L1RCTLookupTables::lookup(), lookupTable_, lutFile_, convertSQLitetoXML_cfg::output, rctParameters_, hgcalTowerProducer_cfi::tower, and pileupReCalc_HLTpaths::trunc.

Referenced by analyze().

◆ writeThresholdsFile()

void L1RCTLutWriter::writeThresholdsFile ( unsigned int  eicThreshold,
unsigned int  jscThresholdBarrel,
unsigned int  jscThresholdEndcap 
)
private

Definition at line 404 of file L1RCTLutWriter.cc.

406  {
407  //
408  std::ofstream thresholdsFile;
409  char filename[256];
410  sprintf(filename, "Thresholds-%s.dat", keyName_.c_str());
411  thresholdsFile.open(filename, std::ios::trunc);
412 
413  thresholdsFile << "key is " << keyName_ << std::endl << std::endl;
414  thresholdsFile << "eicIsolationThreshold " << eicThreshold << std::endl;
415  thresholdsFile << "jscQuietThresholdBarrel " << jscThresholdBarrel << std::endl;
416  thresholdsFile << "jscQuietThresholdEndcap " << jscThresholdEndcap << std::endl;
417 
418  thresholdsFile.close();
419 }

References corrVsCorr::filename, keyName_, and pileupReCalc_HLTpaths::trunc.

Referenced by analyze().

Member Data Documentation

◆ keyName_

std::string L1RCTLutWriter::keyName_
private

◆ lookupTable_

L1RCTLookupTables* L1RCTLutWriter::lookupTable_
private

◆ lutFile_

std::ofstream L1RCTLutWriter::lutFile_
private

Definition at line 66 of file L1RCTLutWriter.h.

Referenced by writeEicLutFile(), writeJscLutFile(), and writeRcLutFile().

◆ rctParameters_

const L1RCTParameters* L1RCTLutWriter::rctParameters_
private

Definition at line 64 of file L1RCTLutWriter.h.

Referenced by analyze(), and writeRcLutFile().

◆ useDebugTpgScales_

bool L1RCTLutWriter::useDebugTpgScales_
private

Definition at line 68 of file L1RCTLutWriter.h.

Referenced by analyze().

EcalTPGScale::getTPGInGeV
double getTPGInGeV(const EcalTriggerPrimitiveDigi &tpDigi)
Definition: EcalTPGScale.cc:18
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
mps_fire.i
i
Definition: mps_fire.py:355
EcalTPGScale
Definition: EcalTPGScale.h:8
L1CaloHcalScale
Definition: L1CaloHcalScale.h:28
L1CaloEcalScale
Definition: L1CaloEcalScale.h:28
L1RCTNoisyChannelMask::hfThreshold
float hfThreshold
Definition: L1RCTNoisyChannelMask.h:14
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:32
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:214
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:63
L1RCTLutWriter::useDebugTpgScales_
bool useDebugTpgScales_
Definition: L1RCTLutWriter.h:68
hgcalTowerProducer_cfi.tower
tower
Definition: hgcalTowerProducer_cfi.py:3
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
EcalSubdetector
EcalSubdetector
Definition: EcalSubdetector.h:10
EcalTPGScale::setEventSetup
void setEventSetup(const edm::EventSetup &evtSetup)
Definition: EcalTPGScale.cc:16
EcalTrigTowerDetId
Definition: EcalTrigTowerDetId.h:14
mps_check.command
list command
Definition: mps_check.py:25
L1RCTParameters::jscQuietThresholdEndcap
unsigned jscQuietThresholdEndcap() const
Definition: L1RCTParameters.h:77
EcalBarrel
Definition: EcalSubdetector.h:10
L1CaloEcalScale::nBinRank
static const unsigned short nBinRank
Definition: L1CaloEcalScale.h:31
L1RCTNoisyChannelMask
Definition: L1RCTNoisyChannelMask.h:7
alignCSCRings.s
s
Definition: alignCSCRings.py:92
L1RCTLookupTables::setHcalScale
void setHcalScale(const L1CaloHcalScale *hcalScale)
Definition: L1RCTLookupTables.h:27
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
edm::ESHandle
Definition: DTSurvey.h:22
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
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
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
CaloTPGRecord
Definition: CaloTPGRecord.h:26
L1RCTLutWriter::writeThresholdsFile
void writeThresholdsFile(unsigned int eicThreshold, unsigned int jscThresholdBarrel, unsigned int jscThresholdEndcap)
Definition: L1RCTLutWriter.cc:404
L1RCTLutWriter::keyName_
std::string keyName_
Definition: L1RCTLutWriter.h:67
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::writeJscLutFile
void writeJscLutFile()
Definition: L1RCTLutWriter.cc:343
get
#define get
L1RCTNoisyChannelMask::hfMask
bool hfMask[18][2][4]
Definition: L1RCTNoisyChannelMask.h:10
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
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
L1RCTLutWriter::lutFile_
std::ofstream lutFile_
Definition: L1RCTLutWriter.h:66
L1RCTParameters::calcTower
unsigned short calcTower(unsigned short rct_iphi, unsigned short absIeta) const
Definition: L1RCTParameters.cc:109
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:304
L1EmEtScaleRcd
Definition: L1EmEtScaleRcd.h:30
L1RCTLookupTables::setRCTParameters
void setRCTParameters(const L1RCTParameters *rctParameters)
Definition: L1RCTLookupTables.h:21
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
L1RCTLutWriter::rctParameters_
const L1RCTParameters * rctParameters_
Definition: L1RCTLutWriter.h:64
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
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
L1RCTLookupTables::emRank
unsigned int emRank(unsigned short energy) const
Definition: L1RCTLookupTables.cc:220
L1CaloHcalScaleRcd
Definition: L1CaloHcalScaleRcd.h:13
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37