26 swissCrossMaxThreshold_(3.),
28 trigTypeToME_{0, 1, 2, 3, 4},
29 L1GlobalTriggerReadoutRecordTag_(),
30 L1MuGMTReadoutCollectionTag_(),
31 L1GlobalTriggerReadoutRecordToken_(),
32 L1MuGMTReadoutCollectionToken_() {}
62 MESetMulti& occupancy(static_cast<MESetMulti&>(
MEs_.
at(
"SCSeedOccupancyTrig")));
64 repl[
"trig"] = triggerTypeNames[iT];
100 bool hcal_top =
false;
101 bool hcal_bot =
false;
103 std::vector<int> valid_phi;
104 if ((psb.
aData(4) & 0x3f) >= 1) {
105 valid_phi.push_back((psb.
aData(4) >> 10) & 0x1f);
107 if ((psb.
bData(4) & 0x3f) >= 1) {
108 valid_phi.push_back((psb.
bData(4) >> 10) & 0x1f);
110 if ((psb.
aData(5) & 0x3f) >= 1) {
111 valid_phi.push_back((psb.
aData(5) >> 10) & 0x1f);
113 if ((psb.
bData(5) & 0x3f) >= 1) {
114 valid_phi.push_back((psb.
bData(5) >> 10) & 0x1f);
116 std::vector<int>::const_iterator
iphi;
117 for (
iphi = valid_phi.begin();
iphi != valid_phi.end();
iphi++) {
123 if (hcal_top && hcal_bot)
130 std::vector<L1MuGMTReadoutRecord>
const& records(l1MuHndl->
getRecords());
132 for (
unsigned iR(0); iR != records.size(); ++iR) {
133 if (records[iR].getBxInEvent() != 0)
139 std::vector<L1MuRegionalCand> dtBXCands(records[iR].getDTBXCands());
140 for (iC = 0; iC != dtBXCands.size(); ++iC)
141 if (!dtBXCands[iC].
empty())
143 if (iC != dtBXCands.size())
147 std::vector<L1MuRegionalCand> brlRPCCands(records[iR].getBrlRPCCands());
148 for (iC = 0; iC != brlRPCCands.size(); ++iC)
149 if (!brlRPCCands[iC].
empty())
151 if (iC != brlRPCCands.size())
155 std::vector<L1MuRegionalCand> cscCands(records[iR].getCSCCands());
156 for (iC = 0; iC != cscCands.size(); ++iC)
157 if (!cscCands[iC].
empty())
159 if (iC != cscCands.size())
167 MESet& meExclusiveTriggers(
MEs_.
at(
"ExclusiveTriggers"));
186 for (
unsigned iFED(0); iFED !=
nDCC; iFED++) {
198 switch (_collection) {
215 MESet& meBCEtMapProjEta(
MEs_.
at(
"BCEtMapProjEta"));
216 MESet& meBCEtMapProjPhi(
MEs_.
at(
"BCEtMapProjPhi"));
218 MESet& meBCOccupancyProjEta(
MEs_.
at(
"BCOccupancyProjEta"));
219 MESet& meBCOccupancyProjPhi(
MEs_.
at(
"BCOccupancyProjPhi"));
223 MESet& meBCSizeMapProjEta(
MEs_.
at(
"BCSizeMapProjEta"));
224 MESet& meBCSizeMapProjPhi(
MEs_.
at(
"BCSizeMapProjPhi"));
234 if (bcItr->caloID().detectors() != 0) {
249 id = subgeom->getClosestCell(
gp);
255 float energy(bcItr->energy());
258 float et(
energy / std::cosh(posEta));
275 float size(bcItr->size());
371 MESet& meSCClusterVsSeed(
MEs_.
at(
"SCClusterVsSeed"));
372 MESet& meSCSeedOccupancy(
MEs_.
at(
"SCSeedOccupancy"));
373 MESet& meSingleCrystalCluster(
MEs_.
at(
"SingleCrystalCluster"));
395 for (reco::SuperClusterCollection::const_iterator scItr(_scs.begin()); scItr != _scs.end(); ++scItr) {
396 DetId seedId(scItr->seed()->seed());
405 seedId = subgeom->getClosestCell(
gp);
408 if (seedId.null() || (seedId.subdetId() != subdet))
412 if (seedItr ==
hits->end())
417 float energy(scItr->energy());
418 float rawEnergy(scItr->rawEnergy());
419 float size(scItr->size());
442 if (scItr->size() == 1)
445 float e3x3(EcalClusterTools::e3x3(*scItr->seed(),
hits,
GetTopology()));
458 static_cast<MESetMulti*>(meSCSeedOccupancyTrig)->use(
trigTypeToME_[iT]);
463 static_cast<MESetMulti*>(meSCSeedTimeTrigEx)->use(
trigTypeToME_[iT]);
464 static_cast<MESetMulti*>(meSCSeedTimeMapTrigEx)->use(
trigTypeToME_[iT]);