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 hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () 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, patCandidatesForDimuonsSequences_cff::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, bsc_activity_cfg::ecal, L1RCTChannelMask::ecalMask, eeFed, distMuonTCMETValueMapProducer_cff::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:355
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:45
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:20
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
edm::Handle
Definition: AssociativeIterator.h:50
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
patCandidatesForDimuonsSequences_cff.hcal
hcal
Definition: patCandidatesForDimuonsSequences_cff.py:37
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:73
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
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
distMuonTCMETValueMapProducer_cff.eta_max
eta_max
Definition: distMuonTCMETValueMapProducer_cff.py:9
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:246
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