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];
87 <<
"Failed to retrieve L1GlobalTriggerReadoutRecord from the Event!";
107 bool hcal_top =
false;
108 bool hcal_bot =
false;
110 std::vector<int> valid_phi;
111 if ((psb.
aData(4) & 0x3f) >= 1) {
112 valid_phi.push_back((psb.
aData(4) >> 10) & 0x1f);
114 if ((psb.
bData(4) & 0x3f) >= 1) {
115 valid_phi.push_back((psb.
bData(4) >> 10) & 0x1f);
117 if ((psb.
aData(5) & 0x3f) >= 1) {
118 valid_phi.push_back((psb.
aData(5) >> 10) & 0x1f);
120 if ((psb.
bData(5) & 0x3f) >= 1) {
121 valid_phi.push_back((psb.
bData(5) >> 10) & 0x1f);
123 std::vector<int>::const_iterator
iphi;
124 for (
iphi = valid_phi.begin();
iphi != valid_phi.end();
iphi++) {
130 if (hcal_top && hcal_bot)
137 std::vector<L1MuGMTReadoutRecord>
const& records(l1MuHndl->
getRecords());
139 for (
unsigned iR(0); iR != records.size(); ++iR) {
140 if (records[iR].getBxInEvent() != 0)
146 std::vector<L1MuRegionalCand> dtBXCands(records[iR].getDTBXCands());
147 for (iC = 0; iC != dtBXCands.size(); ++iC)
148 if (!dtBXCands[iC].
empty())
150 if (iC != dtBXCands.size())
154 std::vector<L1MuRegionalCand> brlRPCCands(records[iR].getBrlRPCCands());
155 for (iC = 0; iC != brlRPCCands.size(); ++iC)
156 if (!brlRPCCands[iC].
empty())
158 if (iC != brlRPCCands.size())
162 std::vector<L1MuRegionalCand> cscCands(records[iR].getCSCCands());
163 for (iC = 0; iC != cscCands.size(); ++iC)
164 if (!cscCands[iC].
empty())
166 if (iC != cscCands.size())
174 MESet& meExclusiveTriggers(
MEs_.
at(
"ExclusiveTriggers"));
193 for (
unsigned iFED(0); iFED !=
nDCC; iFED++) {
205 switch (_collection) {
222 MESet& meBCEtMapProjEta(
MEs_.
at(
"BCEtMapProjEta"));
223 MESet& meBCEtMapProjPhi(
MEs_.
at(
"BCEtMapProjPhi"));
225 MESet& meBCOccupancyProjEta(
MEs_.
at(
"BCOccupancyProjEta"));
226 MESet& meBCOccupancyProjPhi(
MEs_.
at(
"BCOccupancyProjPhi"));
230 MESet& meBCSizeMapProjEta(
MEs_.
at(
"BCSizeMapProjEta"));
231 MESet& meBCSizeMapProjPhi(
MEs_.
at(
"BCSizeMapProjPhi"));
241 if (bcItr->caloID().detectors() != 0) {
256 id = subgeom->getClosestCell(gp);
262 float energy(bcItr->energy());
265 float et(
energy / std::cosh(posEta));
282 float size(bcItr->size());
379 MESet& meSCClusterVsSeed(
MEs_.
at(
"SCClusterVsSeed"));
380 MESet& meSCSeedOccupancy(
MEs_.
at(
"SCSeedOccupancy"));
381 MESet& meSingleCrystalCluster(
MEs_.
at(
"SingleCrystalCluster"));
403 for (reco::SuperClusterCollection::const_iterator scItr(_scs.begin()); scItr != _scs.end(); ++scItr) {
413 seedId = subgeom->getClosestCell(gp);
420 if (seedItr ==
hits->end())
425 float energy(scItr->energy());
427 float size(scItr->size());
451 if (scItr->size() == 1)
454 float e3x3(EcalClusterTools::e3x3(*scItr->seed(),
hits,
GetTopology()));
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
void runOnBasicClusters(edm::View< reco::CaloCluster > const &, Collections)
#define DEFINE_ECALDQM_WORKER(TYPE)
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
void endEvent(edm::Event const &, edm::EventSetup const &) override
edm::LuminosityBlockNumber_t iLumi
const cms_uint16_t aData(int iA) const
get/set A_DATA_CH_IA
void addDependencies(DependencySet &) override
MESet & at(const std::string &key)
EcalRecHitCollection const * ebHits_
std::vector< EcalRecHit >::const_iterator const_iterator
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > L1GlobalTriggerReadoutRecordToken_
const DecisionWord & decisionWord(int bxInEventValue) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Log< level::Error, false > LogError
CaloTopology const * GetTopology()
CaloGeometry const * GetGeometry()
void fill(EcalDQMSetupObjects const edso, DetId const &_id, double _xyw=1., double _yw=1., double _w=1.) override
const cms_uint16_t bData(int iB) const
get/set B_DATA_CH_IB
std::vector< std::string > egTriggerAlgos_
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
float swissCrossMaxThreshold_
std::vector< bool > DecisionWord
typedefs
virtual void fill(EcalDQMSetupObjects const, DetId const &, double=1., double=1., double=1.)
unsigned trigTypeToME_[nTriggerTypes]
bool filterRunType(short const *) override
void beginEvent(edm::Event const &, edm::EventSetup const &, bool const &, bool &) override
EcalRecHitCollection const * eeHits_
EcalDQMSetupObjects const getEcalDQMSetupObjects()
edm::EDGetTokenT< L1MuGMTReadoutCollection > L1MuGMTReadoutCollectionToken_
unsigned getIndex(PathReplacements const &) const
std::vector< L1MuGMTReadoutRecord > const & getRecords() const
void runOnRecHits(EcalRecHitCollection const &, Collections)
static constexpr int nDCC
const L1GtPsbWord gtPsbWord(cms_uint16_t boardIdValue, int bxInEventValue) const
get / set PSB word (record) in the GT readout record
XYZPointD XYZPoint
point in space with cartesian internal representation
void setTokens(edm::ConsumesCollector &) override
void runOnSuperClusters(reco::SuperClusterCollection const &, Collections)
edm::InputTag L1GlobalTriggerReadoutRecordTag_
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
static int position[264][3]
std::bitset< nTriggerTypes > triggered_
const_iterator begin() const
edm::InputTag L1MuGMTReadoutCollectionTag_
std::map< std::string, std::string > PathReplacements
void push_back(Dependency const &_d)
double phi(EBDetId const &)
const_iterator end() const
void erase(const std::string &key)
void setParams(edm::ParameterSet const &) override
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > menuRcd