CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Attributes | Static Private Attributes
L1RCTProducer Class Reference

#include <L1RCTProducer.h>

Inheritance diagram for L1RCTProducer:
edm::stream::EDProducer<>

Public Member Functions

void beginLuminosityBlock (edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &context) final
 
void beginRun (edm::Run const &r, const edm::EventSetup &c) final
 
const std::vector< int > getFedVectorFromOmds (const edm::EventSetup &)
 
const std::vector< int > getFedVectorFromRunInfo (const edm::EventSetup &)
 
 L1RCTProducer (const edm::ParameterSet &ps)
 
void printFedVector (const std::vector< int > &)
 
void printUpdatedFedMask ()
 
void printUpdatedFedMaskVerbose ()
 
void produce (edm::Event &e, const edm::EventSetup &c) final
 
void updateConfiguration (const edm::EventSetup &)
 
void updateFedVector (const edm::EventSetup &, bool getFromOmds, int)
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Types

enum  crateSection {
  c_min, ebOddFed = c_min, ebEvenFed, eeFed,
  hbheFed, hfFed, hfFedUp, c_max = hfFedUp
}
 

Private Attributes

std::vector< int > bunchCrossings
 
std::string conditionsLabel
 
std::vector< edm::InputTagecalDigis
 
std::unique_ptr< L1RCTChannelMaskfedUpdatedMask
 
bool getFedsFromOmds
 
std::vector< edm::InputTaghcalDigis
 
unsigned int queryDelayInLS
 
unsigned int queryIntervalInLS
 
std::unique_ptr< L1RCTrct
 
std::unique_ptr< L1RCTLookupTablesrctLookupTables
 
bool useEcal
 
bool useHcal
 

Static Private Attributes

static const int crateFED [18][6]
 
static const int maxBarrel = 17
 
static const int maxEndcap = 28
 
static const int maxHF = 32
 
static const int minBarrel = 1
 
static const int minEndcap = 17
 
static const int minHF = 29
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 45 of file L1RCTProducer.h.

Member Enumeration Documentation

◆ crateSection

Enumerator
c_min 
ebOddFed 
ebEvenFed 
eeFed 
hbheFed 
hfFed 
hfFedUp 
c_max 

Definition at line 79 of file L1RCTProducer.h.

Constructor & Destructor Documentation

◆ L1RCTProducer()

L1RCTProducer::L1RCTProducer ( const edm::ParameterSet ps)
explicit

Definition at line 33 of file L1RCTProducer.cc.

35  rct(new L1RCT(rctLookupTables.get())),
36  useEcal(conf.getParameter<bool>("useEcal")),
37  useHcal(conf.getParameter<bool>("useHcal")),
38  ecalDigis(conf.getParameter<std::vector<edm::InputTag>>("ecalDigis")),
39  hcalDigis(conf.getParameter<std::vector<edm::InputTag>>("hcalDigis")),
40  bunchCrossings(conf.getParameter<std::vector<int>>("BunchCrossings")),
41  getFedsFromOmds(conf.getParameter<bool>("getFedsFromOmds")),
42  queryDelayInLS(conf.getParameter<unsigned int>("queryDelayInLS")),
43  queryIntervalInLS(conf.getParameter<unsigned int>("queryIntervalInLS")),
44  conditionsLabel(conf.getParameter<std::string>("conditionsLabel")),
45  fedUpdatedMask(nullptr) {
46  produces<L1CaloEmCollection>();
47  produces<L1CaloRegionCollection>();
48 
49  for (unsigned int ihc = 0; ihc < hcalDigis.size(); ihc++) {
50  consumes<edm::SortedCollection<HcalTriggerPrimitiveDigi, edm::StrictWeakOrdering<HcalTriggerPrimitiveDigi>>>(
51  hcalDigis[ihc]);
52  }
53 
54  for (unsigned int iec = 0; iec < ecalDigis.size(); iec++) {
55  consumes<edm::SortedCollection<EcalTriggerPrimitiveDigi, edm::StrictWeakOrdering<EcalTriggerPrimitiveDigi>>>(
56  ecalDigis[iec]);
57  }
58 }

References ecalDigis, and hcalDigis.

Member Function Documentation

◆ beginLuminosityBlock()

void L1RCTProducer::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
const edm::EventSetup context 
)
final

Definition at line 70 of file L1RCTProducer.cc.

70  {
71  // check LS number every LS, if the checkOMDS flag is set AND it's the right
72  // LS, update the FED vector from OMDS can pass the flag as the bool?? but
73  // only check LS number if flag is true anyhow
74  if (getFedsFromOmds) {
75  unsigned int nLumi = lumiSeg.luminosityBlock(); // doesn't even need the (unsigned int) cast
76  // because LuminosityBlockNumber_t is already
77  // an unsigned int
78  // LS count starts at 1, want to be able to delay 0 LS's intuitively
79  if (((nLumi - 1) == queryDelayInLS) ||
80  (queryIntervalInLS > 0 &&
81  nLumi % queryIntervalInLS == 0)) // to guard against problems if online DQM crashes; every 100
82  // LS is ~20-30 minutes, not too big a load, hopefully not too
83  // long between
84  {
85  int runNumber = lumiSeg.run();
86  // std::cout << "Lumi section for this FED vector update is " <<
87  // nLumi << std::endl;
88  updateFedVector(context, true, runNumber); // OMDS
89  } else if (queryIntervalInLS <= 0) {
90  // don't do interval checking... cout message??
91  }
92  }
93 }

References getFedsFromOmds, edm::LuminosityBlockBase::luminosityBlock(), queryDelayInLS, queryIntervalInLS, edm::LuminosityBlockBase::run(), convertSQLiteXML::runNumber, and updateFedVector().

◆ beginRun()

void L1RCTProducer::beginRun ( edm::Run const &  r,
const edm::EventSetup c 
)
final

Definition at line 60 of file L1RCTProducer.cc.

60  {
61  // std::cout << "getFedsFromOmds is " << getFedsFromOmds << std::endl;
62 
63  updateConfiguration(eventSetup);
64 
65  int runNumber = run.run();
66  updateFedVector(eventSetup, false,
67  runNumber); // RUNINFO ONLY at beginning of run
68 }

References writedatasetfile::run, convertSQLiteXML::runNumber, updateConfiguration(), and updateFedVector().

◆ getFedVectorFromOmds()

const std::vector< int > L1RCTProducer::getFedVectorFromOmds ( const edm::EventSetup eventSetup)

Definition at line 297 of file L1RCTProducer.cc.

297  {
298  // std::cout << "Getting FED vector from my specific ES RunInfo object" <<
299  // std::endl;
300 
301  // get FULL FED vector from RunInfo object specifically created to have OMDS
302  // fed vector
304  eventSetup.get<RunInfoRcd>().get("OmdsFedVector",
305  sum); // using label to get my specific instance of RunInfo
306  if (sum.isValid()) {
307  const RunInfo *summary = sum.product();
308  const std::vector<int> fedvector = summary->m_fed_in;
309 
310  return fedvector;
311  } else {
312  return getFedVectorFromRunInfo(eventSetup);
313  }
314 }

References edm::EventSetup::get(), get, getFedVectorFromRunInfo(), edm::ESHandleBase::isValid(), edm::ESHandle< T >::product(), and edmLumisInFiles::summary.

Referenced by updateFedVector().

◆ getFedVectorFromRunInfo()

const std::vector< int > L1RCTProducer::getFedVectorFromRunInfo ( const edm::EventSetup eventSetup)

Definition at line 285 of file L1RCTProducer.cc.

285  {
286  // std::cout << "Getting FED vector from standard RunInfo object" <<
287  // std::endl;
288  // get FULL FED vector from RUNINFO
290  eventSetup.get<RunInfoRcd>().get(sum);
291  const RunInfo *summary = sum.product();
292  const std::vector<int> fedvector = summary->m_fed_in;
293 
294  return fedvector;
295 }

References edm::EventSetup::get(), get, edm::ESHandle< T >::product(), and edmLumisInFiles::summary.

Referenced by getFedVectorFromOmds(), and updateFedVector().

◆ printFedVector()

void L1RCTProducer::printFedVector ( const std::vector< int > &  fedVector)

Definition at line 372 of file L1RCTProducer.cc.

372  {
373  std::cout << "Contents of given fedVector: ";
374  std::copy(fedVector.begin(), fedVector.end(), std::ostream_iterator<int>(std::cout, ", "));
375  std::cout << std::endl;
376 }

References filterCSVwithJSON::copy, and gather_cfg::cout.

◆ printUpdatedFedMask()

void L1RCTProducer::printUpdatedFedMask ( )

Definition at line 379 of file L1RCTProducer.cc.

379  {
380  if (fedUpdatedMask != nullptr) {
381  fedUpdatedMask->print(std::cout);
382  } else {
383  std::cout << "Trying to print contents of fedUpdatedMask, but it doesn't exist!" << std::endl;
384  }
385 }

References gather_cfg::cout, and fedUpdatedMask.

◆ printUpdatedFedMaskVerbose()

void L1RCTProducer::printUpdatedFedMaskVerbose ( )

Definition at line 388 of file L1RCTProducer.cc.

388  {
389  if (fedUpdatedMask != nullptr) {
390  // print contents of fedvector
391  std::cout << "Contents of fedUpdatedMask: ";
392  // std::copy(fedUpdatedMask.begin(), fedUpdatedMask.end(),
393  // std::ostream_iterator<int>(std::cout, ", "));
394  std::cout << "--> ECAL mask: " << std::endl;
395  for (int i = 0; i < 18; i++) {
396  for (int j = 0; j < 2; j++) {
397  for (int k = 0; k < 28; k++) {
398  std::cout << fedUpdatedMask->ecalMask[i][j][k] << ", ";
399  }
400  }
401  }
402  std::cout << "--> HCAL mask: " << std::endl;
403  for (int i = 0; i < 18; i++) {
404  for (int j = 0; j < 2; j++) {
405  for (int k = 0; k < 28; k++) {
406  std::cout << fedUpdatedMask->hcalMask[i][j][k] << ", ";
407  }
408  }
409  }
410  std::cout << "--> HF mask: " << std::endl;
411  for (int i = 0; i < 18; i++) {
412  for (int j = 0; j < 2; j++) {
413  for (int k = 0; k < 4; k++) {
414  std::cout << fedUpdatedMask->hfMask[i][j][k] << ", ";
415  }
416  }
417  }
418 
419  std::cout << std::endl;
420  } else {
421  // print error message
422  std::cout << "Trying to print contents of fedUpdatedMask, but it doesn't exist!" << std::endl;
423  }
424 }

References gather_cfg::cout, fedUpdatedMask, mps_fire::i, dqmiolumiharvest::j, and dqmdumpme::k.

◆ produce()

void L1RCTProducer::produce ( edm::Event e,
const edm::EventSetup c 
)
final

Definition at line 316 of file L1RCTProducer.cc.

316  {
317  std::unique_ptr<L1CaloEmCollection> rctEmCands(new L1CaloEmCollection);
318  std::unique_ptr<L1CaloRegionCollection> rctRegions(new L1CaloRegionCollection);
319 
320  if (!(ecalDigis.size() == hcalDigis.size() && hcalDigis.size() == bunchCrossings.size()))
321  throw cms::Exception("BadInput") << "From what I see the number of your your ECAL input digi "
322  "collections.\n"
323  << "is different from the size of your HCAL digi input collections\n"
324  << "or the size of your BX factor collection"
325  << "They must be the same to correspond to the same Bxs\n"
326  << "It does not matter if one of them is empty\n";
327 
328  // loop through and process each bx
329  for (unsigned short sample = 0; sample < bunchCrossings.size(); sample++) {
332 
335 
336  if (useHcal && event.getByLabel(hcalDigis[sample], hcal))
337  hcalIn = *hcal;
338 
339  if (useEcal && event.getByLabel(ecalDigis[sample], ecal))
340  ecalIn = *ecal;
341 
342  rct->digiInput(ecalIn, hcalIn);
343  rct->processEvent();
344 
345  // Stuff to create
346  for (int j = 0; j < 18; j++) {
347  L1CaloEmCollection isolatedEGObjects = rct->getIsolatedEGObjects(j);
348  L1CaloEmCollection nonisolatedEGObjects = rct->getNonisolatedEGObjects(j);
349  for (int i = 0; i < 4; i++) {
350  isolatedEGObjects.at(i).setBx(bunchCrossings[sample]);
351  nonisolatedEGObjects.at(i).setBx(bunchCrossings[sample]);
352  rctEmCands->push_back(isolatedEGObjects.at(i));
353  rctEmCands->push_back(nonisolatedEGObjects.at(i));
354  }
355  }
356 
357  for (int i = 0; i < 18; i++) {
358  std::vector<L1CaloRegion> regions = rct->getRegions(i);
359  for (int j = 0; j < 22; j++) {
360  regions.at(j).setBx(bunchCrossings[sample]);
361  rctRegions->push_back(regions.at(j));
362  }
363  }
364  }
365 
366  // putting stuff back into event
367  event.put(std::move(rctEmCands));
368  event.put(std::move(rctRegions));
369 }

References bunchCrossings, bsc_activity_cfg::ecal, ecalDigis, Exception, hltEgammaHLTExtra_cfi::hcal, hcalDigis, mps_fire::i, dqmiolumiharvest::j, eostools::move(), rct, simplePhotonAnalyzer_cfi::sample, useEcal, and useHcal.

◆ updateConfiguration()

void L1RCTProducer::updateConfiguration ( const edm::EventSetup eventSetup)

Definition at line 95 of file L1RCTProducer.cc.

95  {
96  // Refresh configuration information every event
97  // Hopefully, this does not take too much time
98  // There should be a call back function in future to
99  // handle changes in configuration
100  // parameters to configure RCT (thresholds, etc)
101  edm::ESHandle<L1RCTParameters> rctParameters;
102  eventSetup.get<L1RCTParametersRcd>().get(conditionsLabel, rctParameters);
103  const L1RCTParameters *r = rctParameters.product();
104 
105  // SCALES
106 
107  // energy scale to convert eGamma output
109  eventSetup.get<L1EmEtScaleRcd>().get(conditionsLabel, emScale);
110  const L1CaloEtScale *s = emScale.product();
111 
112  // get energy scale to convert input from ECAL
114  eventSetup.get<L1CaloEcalScaleRcd>().get(conditionsLabel, ecalScale);
115  const L1CaloEcalScale *e = ecalScale.product();
116 
117  // get energy scale to convert input from HCAL
119  eventSetup.get<L1CaloHcalScaleRcd>().get(conditionsLabel, hcalScale);
120  const L1CaloHcalScale *h = hcalScale.product();
121 
122  // set scales
123  rctLookupTables->setEcalScale(e);
124  rctLookupTables->setHcalScale(h);
125 
126  rctLookupTables->setRCTParameters(r);
127  rctLookupTables->setL1CaloEtScale(s);
128 }

References conditionsLabel, MillePedeFileConverter_cfg::e, edm::EventSetup::get(), get, edm::ESHandle< T >::product(), alignCSCRings::r, rctLookupTables, and alignCSCRings::s.

Referenced by beginRun().

◆ updateFedVector()

void L1RCTProducer::updateFedVector ( const edm::EventSetup eventSetup,
bool  getFromOmds,
int  runNumber 
)

Definition at line 130 of file L1RCTProducer.cc.

134 {
135  // list of RCT channels to mask
137  eventSetup.get<L1RCTChannelMaskRcd>().get(channelMask);
138  const L1RCTChannelMask *cEs = channelMask.product();
139 
140  // list of Noisy RCT channels to mask
142  eventSetup.get<L1RCTNoisyChannelMaskRcd>().get(hotChannelMask);
143  const L1RCTNoisyChannelMask *cEsNoise = hotChannelMask.product();
144  rctLookupTables->setNoisyChannelMask(cEsNoise);
145 
146  // Update the channel mask according to the FED VECTOR
147  // This is the beginning of run. We delete the old
148  // create the new and set it in the LUTs
149 
150  fedUpdatedMask = std::make_unique<L1RCTChannelMask>();
151  // copy a constant object
152  for (int i = 0; i < 18; i++) {
153  for (int j = 0; j < 2; j++) {
154  for (int k = 0; k < 28; k++) {
155  fedUpdatedMask->ecalMask[i][j][k] = cEs->ecalMask[i][j][k];
156  fedUpdatedMask->hcalMask[i][j][k] = cEs->hcalMask[i][j][k];
157  }
158  for (int k = 0; k < 4; k++) {
159  fedUpdatedMask->hfMask[i][j][k] = cEs->hfMask[i][j][k];
160  }
161  }
162  }
163 
164  // // adding fed mask into channel mask
165 
166  const std::vector<int> Feds = getFromOmds ? getFedVectorFromOmds(eventSetup) : getFedVectorFromRunInfo(eventSetup);
167  // so can create/initialize/assign const quantity in one line accounting for
168  // if statement wikipedia says this is exactly what it's for:
169  // http://en.wikipedia.org/wiki/%3F:#C.2B.2B
170 
171  // std::cout << "Contents of ";
172  // std::cout << (getFromOmds ? "OMDS RunInfo" : "standard RunInfo");
173  // std::cout << " FED vector" << std::endl;
174  // printFedVector(Feds);
175 
176  bool useUpgradedHF = false;
177 
178  std::vector<int> caloFeds; // pare down the feds to the interesting ones
179  // is this unneccesary?
180  // Mike B : This will decrease the find speed so better do it
181  for (std::vector<int>::const_iterator cf = Feds.begin(); cf != Feds.end(); ++cf) {
182  int fedNum = *cf;
183  if ((fedNum > 600 && fedNum < 724) || fedNum == 1118 || fedNum == 1120 || fedNum == 1122)
184  caloFeds.push_back(fedNum);
185 
186  if (fedNum == 1118 || fedNum == 1120 || fedNum == 1122)
187  useUpgradedHF = true;
188  }
189 
190  for (int cr = 0; cr < 18; ++cr) {
191  for (crateSection cs = c_min; cs <= c_max; cs = crateSection(cs + 1)) {
192  bool fedFound = false;
193 
194  // Try to find the FED
195  std::vector<int>::iterator fv = std::find(caloFeds.begin(), caloFeds.end(), crateFED[cr][cs]);
196  if (fv != caloFeds.end())
197  fedFound = true;
198 
199  if (!fedFound) {
200  int eta_min = 0;
201  int eta_max = 0;
202  bool phi_even[2] = {false}; //, phi_odd = false;
203  bool ecal = false;
204 
205  switch (cs) {
206  case ebEvenFed:
207  eta_min = minBarrel;
208  eta_max = maxBarrel;
209  phi_even[0] = true;
210  ecal = true;
211  break;
212 
213  case ebOddFed:
214  eta_min = minBarrel;
215  eta_max = maxBarrel;
216  phi_even[1] = true;
217  ecal = true;
218  break;
219 
220  case eeFed:
221  eta_min = minEndcap;
222  eta_max = maxEndcap;
223  phi_even[0] = true;
224  phi_even[1] = true;
225  ecal = true;
226  break;
227 
228  case hbheFed:
229  eta_min = minBarrel;
230  eta_max = maxEndcap;
231  phi_even[0] = true;
232  phi_even[1] = true;
233  ecal = false;
234  break;
235 
236  case hfFed:
237  if (useUpgradedHF)
238  break;
239 
240  eta_min = minHF;
241  eta_max = maxHF;
242 
243  phi_even[0] = true;
244  phi_even[1] = true;
245  ecal = false;
246  break;
247 
248  case hfFedUp:
249  if (!useUpgradedHF)
250  break;
251 
252  eta_min = minHF;
253  eta_max = maxHF;
254 
255  phi_even[0] = true;
256  phi_even[1] = true;
257  ecal = false;
258  break;
259 
260  default:
261  break;
262  }
263  for (int ieta = eta_min; ieta <= eta_max; ++ieta) {
264  if (ieta <= 28) // barrel and endcap
265  for (int even = 0; even <= 1; even++) {
266  if (phi_even[even]) {
267  if (ecal)
268  fedUpdatedMask->ecalMask[cr][even][ieta - 1] = true;
269  else
270  fedUpdatedMask->hcalMask[cr][even][ieta - 1] = true;
271  }
272  }
273  else
274  for (int even = 0; even <= 1; even++)
275  if (phi_even[even])
276  fedUpdatedMask->hfMask[cr][even][ieta - 29] = true;
277  }
278  }
279  }
280  }
281 
282  rctLookupTables->setChannelMask(fedUpdatedMask.get());
283 }

References c_max, c_min, crateFED, fwrapper::cs, ebEvenFed, ebOddFed, L1RCTChannelMask::ecalMask, eeFed, egammaIdentification::eta_max, egammaIdentification::eta_min, fedUpdatedMask, spr::find(), edm::EventSetup::get(), get, getFedVectorFromOmds(), getFedVectorFromRunInfo(), hbheFed, L1RCTChannelMask::hcalMask, hfFed, hfFedUp, L1RCTChannelMask::hfMask, mps_fire::i, LEDCalibrationChannels::ieta, dqmiolumiharvest::j, dqmdumpme::k, maxBarrel, maxEndcap, maxHF, minBarrel, minEndcap, minHF, edm::ESHandle< T >::product(), and rctLookupTables.

Referenced by beginLuminosityBlock(), and beginRun().

Member Data Documentation

◆ bunchCrossings

std::vector<int> L1RCTProducer::bunchCrossings
private

Definition at line 70 of file L1RCTProducer.h.

Referenced by produce().

◆ conditionsLabel

std::string L1RCTProducer::conditionsLabel
private

Definition at line 74 of file L1RCTProducer.h.

Referenced by updateConfiguration().

◆ crateFED

const int L1RCTProducer::crateFED
staticprivate
Initial value:
= {{613, 614, 603, 702, 718, 1118},
{611, 612, 602, 700, 718, 1118},
{627, 610, 601, 716, 722, 1122},
{625, 626, 609, 714, 722, 1122},
{623, 624, 608, 712, 722, 1122},
{621, 622, 607, 710, 720, 1120},
{619, 620, 606, 708, 720, 1120},
{617, 618, 605, 706, 720, 1120},
{615, 616, 604, 704, 718, 1118},
{631, 632, 648, 703, 719, 1118},
{629, 630, 647, 701, 719, 1118},
{645, 628, 646, 717, 723, 1122},
{643, 644, 654, 715, 723, 1122},
{641, 642, 653, 713, 723, 1122},
{639, 640, 652, 711, 721, 1120},
{637, 638, 651, 709, 721, 1120},
{635, 636, 650, 707, 721, 1120},
{633, 634, 649, 705, 719, 1118}}

Definition at line 81 of file L1RCTProducer.h.

Referenced by updateFedVector().

◆ ecalDigis

std::vector<edm::InputTag> L1RCTProducer::ecalDigis
private

Definition at line 68 of file L1RCTProducer.h.

Referenced by L1RCTProducer(), and produce().

◆ fedUpdatedMask

std::unique_ptr<L1RCTChannelMask> L1RCTProducer::fedUpdatedMask
private

◆ getFedsFromOmds

bool L1RCTProducer::getFedsFromOmds
private

Definition at line 71 of file L1RCTProducer.h.

Referenced by beginLuminosityBlock().

◆ hcalDigis

std::vector<edm::InputTag> L1RCTProducer::hcalDigis
private

Definition at line 69 of file L1RCTProducer.h.

Referenced by L1RCTProducer(), and produce().

◆ maxBarrel

const int L1RCTProducer::maxBarrel = 17
staticprivate

Definition at line 84 of file L1RCTProducer.h.

Referenced by updateFedVector().

◆ maxEndcap

const int L1RCTProducer::maxEndcap = 28
staticprivate

Definition at line 86 of file L1RCTProducer.h.

Referenced by updateFedVector().

◆ maxHF

const int L1RCTProducer::maxHF = 32
staticprivate

Definition at line 88 of file L1RCTProducer.h.

Referenced by updateFedVector().

◆ minBarrel

const int L1RCTProducer::minBarrel = 1
staticprivate

Definition at line 83 of file L1RCTProducer.h.

Referenced by updateFedVector().

◆ minEndcap

const int L1RCTProducer::minEndcap = 17
staticprivate

Definition at line 85 of file L1RCTProducer.h.

Referenced by updateFedVector().

◆ minHF

const int L1RCTProducer::minHF = 29
staticprivate

Definition at line 87 of file L1RCTProducer.h.

Referenced by updateFedVector().

◆ queryDelayInLS

unsigned int L1RCTProducer::queryDelayInLS
private

Definition at line 72 of file L1RCTProducer.h.

Referenced by beginLuminosityBlock().

◆ queryIntervalInLS

unsigned int L1RCTProducer::queryIntervalInLS
private

Definition at line 73 of file L1RCTProducer.h.

Referenced by beginLuminosityBlock().

◆ rct

std::unique_ptr<L1RCT> L1RCTProducer::rct
private

Definition at line 65 of file L1RCTProducer.h.

Referenced by produce().

◆ rctLookupTables

std::unique_ptr<L1RCTLookupTables> L1RCTProducer::rctLookupTables
private

Definition at line 64 of file L1RCTProducer.h.

Referenced by updateConfiguration(), and updateFedVector().

◆ useEcal

bool L1RCTProducer::useEcal
private

Definition at line 66 of file L1RCTProducer.h.

Referenced by produce().

◆ useHcal

bool L1RCTProducer::useHcal
private

Definition at line 67 of file L1RCTProducer.h.

Referenced by produce().

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
L1RCTProducer::ebOddFed
Definition: L1RCTProducer.h:79
L1RCTProducer::updateFedVector
void updateFedVector(const edm::EventSetup &, bool getFromOmds, int)
Definition: L1RCTProducer.cc:130
L1RCTProducer::useHcal
bool useHcal
Definition: L1RCTProducer.h:67
mps_fire.i
i
Definition: mps_fire.py:428
L1RCTNoisyChannelMaskRcd
Definition: L1RCTNoisyChannelMaskRcd.h:12
L1CaloHcalScale
Definition: L1CaloHcalScale.h:28
L1CaloEcalScale
Definition: L1CaloEcalScale.h:28
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
L1RCTProducer::maxHF
static const int maxHF
Definition: L1RCTProducer.h:88
simplePhotonAnalyzer_cfi.sample
sample
Definition: simplePhotonAnalyzer_cfi.py:12
L1RCTProducer::getFedVectorFromOmds
const std::vector< int > getFedVectorFromOmds(const edm::EventSetup &)
Definition: L1RCTProducer.cc:297
fwrapper::cs
unique_ptr< ClusterSequence > cs
Definition: fastjetfortran_madfks.cc:47
hcal
Definition: ConfigurationDatabase.cc:13
L1CaloEcalScaleRcd
Definition: L1CaloEcalScaleRcd.h:12
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1RCTParametersRcd
Definition: L1RCTParametersRcd.h:12
egammaIdentification.eta_min
eta_min
Definition: egammaIdentification.py:19
edm::SortedCollection
Definition: SortedCollection.h:49
L1RCTChannelMask::hfMask
bool hfMask[18][2][4]
Definition: L1RCTChannelMask.h:10
L1RCTChannelMask
Definition: L1RCTChannelMask.h:7
L1RCTProducer::queryIntervalInLS
unsigned int queryIntervalInLS
Definition: L1RCTProducer.h:73
L1RCTProducer::c_min
Definition: L1RCTProducer.h:79
L1RCTProducer::hfFed
Definition: L1RCTProducer.h:79
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
ecal
Definition: ElectronicsMappingGPU.h:13
edm::Handle
Definition: AssociativeIterator.h:50
hltEgammaHLTExtra_cfi.hcal
hcal
Definition: hltEgammaHLTExtra_cfi.py:42
convertSQLiteXML.runNumber
runNumber
Definition: convertSQLiteXML.py:91
L1RCTProducer::hfFedUp
Definition: L1RCTProducer.h:79
L1RCTProducer::maxEndcap
static const int maxEndcap
Definition: L1RCTProducer.h:86
L1RCTNoisyChannelMask
Definition: L1RCTNoisyChannelMask.h:7
alignCSCRings.s
s
Definition: alignCSCRings.py:92
L1RCTProducer::useEcal
bool useEcal
Definition: L1RCTProducer.h:66
RunInfo
Definition: RunInfo.h:18
L1CaloEmCollection
std::vector< L1CaloEmCand > L1CaloEmCollection
Definition: L1CaloCollections.h:10
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
L1RCT
Definition: L1RCT.h:20
L1RCTProducer::maxBarrel
static const int maxBarrel
Definition: L1RCTProducer.h:84
edm::ESHandle
Definition: DTSurvey.h:22
L1RCTProducer::ebEvenFed
Definition: L1RCTProducer.h:79
L1RCTProducer::crateSection
crateSection
Definition: L1RCTProducer.h:79
L1RCTProducer::getFedVectorFromRunInfo
const std::vector< int > getFedVectorFromRunInfo(const edm::EventSetup &)
Definition: L1RCTProducer.cc:285
h
dqmdumpme.k
k
Definition: dqmdumpme.py:60
RunInfoRcd
Definition: RunSummaryRcd.h:26
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
egammaIdentification.eta_max
eta_max
Definition: egammaIdentification.py:19
L1RCTLookupTables
Definition: L1RCTLookupTables.h:11
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
L1RCTProducer::rct
std::unique_ptr< L1RCT > rct
Definition: L1RCTProducer.h:65
L1RCTProducer::crateFED
static const int crateFED[18][6]
Definition: L1RCTProducer.h:81
L1RCTChannelMaskRcd
Definition: L1RCTChannelMaskRcd.h:12
edmLumisInFiles.summary
summary
Definition: edmLumisInFiles.py:39
L1CaloEtScale
Definition: L1CaloEtScale.h:29
L1RCTProducer::getFedsFromOmds
bool getFedsFromOmds
Definition: L1RCTProducer.h:71
L1RCTProducer::hcalDigis
std::vector< edm::InputTag > hcalDigis
Definition: L1RCTProducer.h:69
get
#define get
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
L1RCTChannelMask::hcalMask
bool hcalMask[18][2][28]
Definition: L1RCTChannelMask.h:9
alignCSCRings.r
r
Definition: alignCSCRings.py:93
L1RCTProducer::minHF
static const int minHF
Definition: L1RCTProducer.h:87
L1RCTProducer::bunchCrossings
std::vector< int > bunchCrossings
Definition: L1RCTProducer.h:70
L1RCTProducer::queryDelayInLS
unsigned int queryDelayInLS
Definition: L1RCTProducer.h:72
eostools.move
def move(src, dest)
Definition: eostools.py:511
writedatasetfile.run
run
Definition: writedatasetfile.py:27
L1CaloRegionCollection
std::vector< L1CaloRegion > L1CaloRegionCollection
Definition: L1CaloCollections.h:11
L1RCTProducer::fedUpdatedMask
std::unique_ptr< L1RCTChannelMask > fedUpdatedMask
Definition: L1RCTProducer.h:77
L1RCTProducer::conditionsLabel
std::string conditionsLabel
Definition: L1RCTProducer.h:74
L1RCTProducer::eeFed
Definition: L1RCTProducer.h:79
L1EmEtScaleRcd
Definition: L1EmEtScaleRcd.h:30
Exception
Definition: hltDiff.cc:245
L1RCTProducer::hbheFed
Definition: L1RCTProducer.h:79
L1RCTParameters
Definition: L1RCTParameters.h:27
bsc_activity_cfg.ecal
ecal
Definition: bsc_activity_cfg.py:25
L1RCTProducer::updateConfiguration
void updateConfiguration(const edm::EventSetup &)
Definition: L1RCTProducer.cc:95
AlignmentPI::regions
regions
Definition: AlignmentPayloadInspectorHelper.h:76
L1RCTProducer::c_max
Definition: L1RCTProducer.h:79
L1RCTProducer::minBarrel
static const int minBarrel
Definition: L1RCTProducer.h:83
L1RCTChannelMask::ecalMask
bool ecalMask[18][2][28]
Definition: L1RCTChannelMask.h:8
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
L1RCTProducer::ecalDigis
std::vector< edm::InputTag > ecalDigis
Definition: L1RCTProducer.h:68
event
Definition: event.py:1
L1RCTProducer::rctLookupTables
std::unique_ptr< L1RCTLookupTables > rctLookupTables
Definition: L1RCTProducer.h:64
L1RCTProducer::minEndcap
static const int minEndcap
Definition: L1RCTProducer.h:85
L1CaloHcalScaleRcd
Definition: L1CaloHcalScaleRcd.h:13
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37