CMS 3D CMS Logo

L1RCTProducer.cc
Go to the documentation of this file.
2 
3 // RunInfo stuff
7 
8 #include <vector>
9 using std::vector;
10 #include <iostream>
11 
12 using std::cout;
13 using std::endl;
14 const int L1RCTProducer::crateFED[18][6] = {{613, 614, 603, 702, 718, 1118},
15  {611, 612, 602, 700, 718, 1118},
16  {627, 610, 601, 716, 722, 1122},
17  {625, 626, 609, 714, 722, 1122},
18  {623, 624, 608, 712, 722, 1122},
19  {621, 622, 607, 710, 720, 1120},
20  {619, 620, 606, 708, 720, 1120},
21  {617, 618, 605, 706, 720, 1120},
22  {615, 616, 604, 704, 718, 1118},
23  {631, 632, 648, 703, 719, 1118},
24  {629, 630, 647, 701, 719, 1118},
25  {645, 628, 646, 717, 723, 1122},
26  {643, 644, 654, 715, 723, 1122},
27  {641, 642, 653, 713, 723, 1122},
28  {639, 640, 652, 711, 721, 1120},
29  {637, 638, 651, 709, 721, 1120},
30  {635, 636, 650, 707, 721, 1120},
31  {633, 634, 649, 705, 719, 1118}};
32 
34  : rctLookupTables(new L1RCTLookupTables),
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 }
59 
60 void L1RCTProducer::beginRun(edm::Run const &run, const edm::EventSetup &eventSetup) {
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 }
69 
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 }
94 
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 }
129 
131  bool getFromOmds,
132  int runNumber) // eventSetup apparently doesn't include run number:
133 // http://cmslxr.fnal.gov/lxr/source/FWCore/Framework/interface/EventSetup.h
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 }
284 
285 const std::vector<int> L1RCTProducer::getFedVectorFromRunInfo(const edm::EventSetup &eventSetup) {
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 }
296 
297 const std::vector<int> L1RCTProducer::getFedVectorFromOmds(const edm::EventSetup &eventSetup) {
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 }
315 
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 }
370 
371 // print contents of (FULL) FED vector
372 void L1RCTProducer::printFedVector(const std::vector<int> &fedVector) {
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 }
377 
378 // print contents of RCT channel mask fedUpdatedMask
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 }
386 
387 // print contents of RCT channel mask fedUpdatedMask
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 }
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
electrons_cff.bool
bool
Definition: electrons_cff.py:372
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
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::Run
Definition: Run.h:45
hcal
Definition: ConfigurationDatabase.cc:13
LuminosityBlock.h
L1CaloEcalScaleRcd
Definition: L1CaloEcalScaleRcd.h:12
edm
HLT enums.
Definition: AlignableModifier.h:19
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1RCTParametersRcd
Definition: L1RCTParametersRcd.h:12
egammaIdentification.eta_min
eta_min
Definition: egammaIdentification.py:20
L1RCTProducer::beginRun
void beginRun(edm::Run const &r, const edm::EventSetup &c) final
Definition: L1RCTProducer.cc:60
L1RCTProducer::printUpdatedFedMask
void printUpdatedFedMask()
Definition: L1RCTProducer.cc:379
edm::SortedCollection
Definition: SortedCollection.h:49
rctDigis_cfi.queryIntervalInLS
queryIntervalInLS
Definition: rctDigis_cfi.py:12
L1RCTChannelMask::hfMask
bool hfMask[18][2][4]
Definition: L1RCTChannelMask.h:10
L1RCTChannelMask
Definition: L1RCTChannelMask.h:7
edm::LuminosityBlockBase::run
RunNumber_t run() const
Definition: LuminosityBlockBase.h:42
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
distMuonMETValueMapProducer_cff.useHcal
useHcal
Definition: distMuonMETValueMapProducer_cff.py:23
patCandidatesForDimuonsSequences_cff.hcal
hcal
Definition: patCandidatesForDimuonsSequences_cff.py:37
L1RCTProducer.h
rctDigis_cfi.getFedsFromOmds
getFedsFromOmds
Definition: rctDigis_cfi.py:9
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
DigiToRawDM_cff.ecalDigis
ecalDigis
Definition: DigiToRawDM_cff.py:57
edm::LuminosityBlockBase::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockBase.h:40
L1RCTProducer::maxBarrel
static const int maxBarrel
Definition: L1RCTProducer.h:84
Run.h
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
gctDigis_cfi.conditionsLabel
conditionsLabel
Definition: gctDigis_cfi.py:12
h
dqmdumpme.k
k
Definition: dqmdumpme.py:60
RunInfoRcd
Definition: RunSummaryRcd.h:26
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1RCTProducer::beginLuminosityBlock
void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &context) final
Definition: L1RCTProducer.cc:70
L1RCTLookupTables
Definition: L1RCTLookupTables.h:11
distMuonMETValueMapProducer_cff.useEcal
useEcal
Definition: distMuonMETValueMapProducer_cff.py:22
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
L1RCTProducer::L1RCTProducer
L1RCTProducer(const edm::ParameterSet &ps)
Definition: L1RCTProducer.cc:33
L1RCTProducer::rct
std::unique_ptr< L1RCT > rct
Definition: L1RCTProducer.h:65
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
edm::ParameterSet
Definition: ParameterSet.h:36
L1RCTProducer::crateFED
static const int crateFED[18][6]
Definition: L1RCTProducer.h:81
rctDigis_cfi.queryDelayInLS
queryDelayInLS
Definition: rctDigis_cfi.py:11
L1RCTChannelMaskRcd
Definition: L1RCTChannelMaskRcd.h:12
L1RCTProducer::produce
void produce(edm::Event &e, const edm::EventSetup &c) final
Definition: L1RCTProducer.cc:316
createfilelist.int
int
Definition: createfilelist.py:10
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
edm::EventSetup
Definition: EventSetup.h:57
get
#define get
L1RCTProducer::printFedVector
void printFedVector(const std::vector< int > &)
Definition: L1RCTProducer.cc:372
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
RunInfo.h
L1RCTProducer::queryDelayInLS
unsigned int queryDelayInLS
Definition: L1RCTProducer.h:72
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
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
DigiToRawDM_cff.hcalDigis
hcalDigis
Definition: DigiToRawDM_cff.py:58
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::printUpdatedFedMaskVerbose
void printUpdatedFedMaskVerbose()
Definition: L1RCTProducer.cc:388
L1RCTProducer::ecalDigis
std::vector< edm::InputTag > ecalDigis
Definition: L1RCTProducer.h:68
event
Definition: event.py:1
edm::Event
Definition: Event.h:73
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