17 {{613, 614, 603, 702, 718},
18 {611, 612, 602, 700, 718},
19 {627, 610, 601, 716, 722},
20 {625, 626, 609, 714, 722},
21 {623, 624, 608, 712, 722},
22 {621, 622, 607, 710, 720},
23 {619, 620, 606, 708, 720},
24 {617, 618, 605, 706, 720},
25 {615, 616, 604, 704, 718},
26 {631, 632, 648, 703, 719},
27 {629, 630, 647, 701, 719},
28 {645, 628, 646, 717, 723},
29 {643, 644, 654, 715, 723},
30 {641, 642, 653, 713, 723},
31 {639, 640, 652, 711, 721},
32 {637, 638, 651, 709, 721},
33 {635, 636, 650, 707, 721},
34 {633, 634, 649, 705, 719}};
40 rct(new
L1RCT(rctLookupTables)),
41 useEcal(conf.getParameter<bool>(
"useEcal")),
42 useHcal(conf.getParameter<bool>(
"useHcal")),
43 ecalDigis(conf.getParameter<std::vector<edm::InputTag> >(
"ecalDigis")),
44 hcalDigis(conf.getParameter<std::vector<edm::InputTag> >(
"hcalDigis")),
45 bunchCrossings(conf.getParameter<std::vector<int> >(
"BunchCrossings")),
46 getFedsFromOmds(conf.getParameter<bool>(
"getFedsFromOmds")),
47 queryDelayInLS(conf.getParameter<unsigned int>(
"queryDelayInLS")),
48 queryIntervalInLS(conf.getParameter<unsigned int>(
"queryIntervalInLS")),
51 produces<L1CaloEmCollection>();
52 produces<L1CaloRegionCollection>();
161 for (
int i = 0;
i < 18;
i++)
163 for (
int j = 0;
j < 2;
j++)
165 for (
int k = 0;
k < 28;
k++)
170 for (
int k = 0;
k < 4;
k++)
188 std::vector<int> caloFeds;
191 for(std::vector<int>::const_iterator cf = Feds.begin(); cf != Feds.end(); ++cf)
194 if(fedNum > 600 && fedNum <724)
195 caloFeds.push_back(fedNum);
198 for(
int cr = 0; cr < 18; ++cr)
203 bool fedFound =
false;
207 std::vector<int>::iterator fv =
std::find(caloFeds.begin(),caloFeds.end(),
crateFED[cr][
cs]);
208 if(fv!=caloFeds.end())
214 bool phi_even[2] = {
false};
260 for(
int ieta = eta_min; ieta <= eta_max; ++ieta)
263 for(
int even = 0; even<=1 ; even++)
274 for(
int even = 0; even<=1 ; even++)
294 const std::vector<int> fedvector = summary->
m_fed_in;
311 const std::vector<int> fedvector = summary->
m_fed_in;
334 <<
"From what I see the number of your your ECAL input digi collections.\n"
335 <<
"is different from the size of your HCAL digi input collections\n"
336 <<
"or the size of your BX factor collection"
337 <<
"They must be the same to correspond to the same Bxs\n"
338 <<
"It does not matter if one of them is empty\n";
363 for (
int j = 0;
j<18;
j++)
367 for (
int i = 0;
i<4;
i++)
371 rctEmCands->push_back(isolatedEGObjects.at(
i));
372 rctEmCands->push_back(nonisolatedEGObjects.at(
i));
377 for (
int i = 0;
i < 18;
i++)
380 for (
int j = 0;
j < 22;
j++)
383 rctRegions->push_back(regions.at(
j));
391 event.put(rctEmCands);
392 event.put(rctRegions);
399 std::cout <<
"Contents of given fedVector: ";
400 std::copy(fedVector.begin(), fedVector.end(), std::ostream_iterator<int>(
std::cout,
", "));
401 std::cout << std::endl;
413 std::cout <<
"Trying to print contents of fedUpdatedMask, but it doesn't exist!" << std::endl;
423 std::cout <<
"Contents of fedUpdatedMask: ";
425 std::cout <<
"--> ECAL mask: " << std::endl;
426 for (
int i = 0;
i < 18;
i++)
428 for (
int j = 0;
j < 2;
j++)
430 for (
int k = 0;
k < 28;
k++)
436 std::cout <<
"--> HCAL mask: " << std::endl;
437 for (
int i = 0;
i < 18;
i++)
439 for (
int j = 0;
j < 2;
j++)
441 for (
int k = 0;
k < 28;
k++)
447 std::cout <<
"--> HF mask: " << std::endl;
448 for (
int i = 0;
i < 18;
i++)
450 for (
int j = 0;
j < 2;
j++)
452 for (
int k = 0;
k < 4;
k++)
464 std::cout <<
"Trying to print contents of fedUpdatedMask, but it doesn't exist!" << std::endl;
std::vector< L1CaloEmCand > L1CaloEmCollection
auto_ptr< ClusterSequence > cs
const std::vector< int > getFedVectorFromRunInfo(const edm::EventSetup &)
void updateConfiguration(const edm::EventSetup &)
L1RCTLookupTables * rctLookupTables
std::vector< L1CaloRegion > getRegions(unsigned crate)
void printFedVector(const std::vector< int > &)
void printUpdatedFedMaskVerbose()
L1RCTProducer(const edm::ParameterSet &ps)
static const int crateFED[18][5]
unsigned int queryDelayInLS
virtual void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &context) overridefinal
L1CaloEmCollection getNonisolatedEGObjects(unsigned crate)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::vector< edm::InputTag > hcalDigis
void print(std::ostream &s) const
LuminosityBlockNumber_t luminosityBlock() const
void setHcalScale(const L1CaloHcalScale *hcalScale)
const std::vector< int > getFedVectorFromOmds(const edm::EventSetup &)
std::vector< edm::InputTag > ecalDigis
std::vector< int > bunchCrossings
virtual void produce(edm::Event &e, const edm::EventSetup &c) overridefinal
std::vector< int > m_fed_in
L1CaloEmCollection getIsolatedEGObjects(unsigned crate)
void printUpdatedFedMask()
void updateFedVector(const edm::EventSetup &, bool getFromOmds, int)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
void setL1CaloEtScale(const L1CaloEtScale *etScale)
static const int minBarrel
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
static const int minEndcap
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
L1RCTChannelMask * fedUpdatedMask
static const int maxBarrel
T const * product() const
void setEcalScale(const L1CaloEcalScale *ecalScale)
unsigned int queryIntervalInLS
virtual void beginRun(edm::Run const &r, const edm::EventSetup &c) overridefinal
void setRCTParameters(const L1RCTParameters *rctParameters)
static const int maxEndcap
void digiInput(const EcalTrigPrimDigiCollection &ecalCollection, const HcalTrigPrimDigiCollection &hcalCollection)
void setNoisyChannelMask(const L1RCTNoisyChannelMask *channelMask)
std::vector< L1CaloRegion > L1CaloRegionCollection
void setChannelMask(const L1RCTChannelMask *channelMask)