26 lhcStatusInfoCollectionTag_() {}
39 "lhcStatusInfoCollectionTag",
edm::InputTag(
"tcdsDigis",
"tcdsRecord"));
59 bool const& ByLumiResetSwitch,
65 if (ByLumiResetSwitch) {
73 MESet& meLHCStatusByLumi(static_cast<MESet&>(
MEs_.
at(
"LHCStatusByLumi")));
90 std::vector<int>::iterator pBinFine(
99 for (EcalTPGTowerStatusMap::const_iterator ttItr(towerMap.begin()); ttItr != towerMap.end(); ++ttItr) {
100 if ((*ttItr).second > 0) {
107 for (EcalTPGStripStatusMap::const_iterator stItr(stripMap.begin()); stItr != stripMap.end(); ++stItr) {
108 if ((*stItr).second > 0) {
171 template <
typename DigiCollection>
173 for (
typename DigiCollection::const_iterator digiItr(_digis.begin()); digiItr != _digis.end(); ++digiItr) {
190 MESet& meEtSummaryByLumi(
MEs_.
at(
"EtSummaryByLumi"));
197 MESet& meTTFlags4ByLumi(
MEs_.
at(
"TTFlags4ByLumi"));
203 double nTP[] = {0., 0., 0.};
207 float et(tpItr->compressedEt());
212 else if (ttid.zside() < 0)
224 int interest(tpItr->ttFlag() & 0x3);
241 int ttF(tpItr->ttFlag());
265 for (EcalTPGTowerStatusMap::const_iterator ttItr(TTStatusMap.begin()); ttItr != TTStatusMap.end(); ++ttItr) {
267 if (ttItr->second > 0)
273 for (EcalTPGStripStatusMap::const_iterator stItr(StripStatusMap.begin()); stItr != StripStatusMap.end(); ++stItr) {
278 if (stItr->second > 0)
295 int et(tpItr->compressedEt());
299 for (
int iDigi(0); iDigi < 5; iDigi++) {
300 float sampleEt((*tpItr)[iDigi].compressedEt());
302 if (sampleEt > maxEt) {
320 int realEt(realItr->compressedEt());
323 int ttF(realItr->ttFlag());
324 if ((ttF == 1 || ttF == 3) &&
328 if (tpItr->fineGrain() != realItr->fineGrain())
333 std::vector<int> matchedIndex(0);
336 for (
int iDigi(0); iDigi < 5; iDigi++) {
337 if ((*tpItr)[iDigi].compressedEt() == realEt) {
340 matchedIndex.push_back(iDigi + 1);
345 matchedIndex.clear();
346 matchedIndex.push_back(3);
351 if (matchedIndex.empty())
352 matchedIndex.push_back(0);
359 for (std::vector<int>::iterator matchItr(matchedIndex.begin()); matchItr != matchedIndex.end();
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getUntrackedParameter(std::string const &, T const &) const
const EcalTPGTowerStatus * TTStatus
std::map< uint32_t, uint16_t > EcalTPGTowerStatusMap
#define DEFINE_ECALDQM_WORKER(TYPE)
int tccId() const
get the DCC (Ecal Local DCC value not global one) id
MESet & at(const std::string &key)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void beginRun(edm::Run const &, edm::EventSetup const &) override
void setParams(edm::ParameterSet const &) override
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
void beginEvent(edm::Event const &, edm::EventSetup const &, bool const &, bool &) override
edm::ESGetToken< EcalTPGTowerStatus, EcalTPGTowerStatusRcd > TTStatusRcd_
std::vector< int > bxBinEdgesFine_
constexpr uint32_t rawId() const
get the raw id
std::vector< T >::const_iterator const_iterator
int bunchCrossing() const
__host__ __device__ constexpr RandomIt upper_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
std::map< uint32_t, unsigned > towerReadouts_
const std::map< uint32_t, uint16_t > & getMap() const
Class to contain information from TCDS FED.
bool getData(T &iHolder) const
EcalTrigTowerConstituentsMap const * GetTrigTowerMap()
edm::EDGetTokenT< TCDSRecord > lhcStatusInfoRecordToken_
void addDependencies(DependencySet &) override
int ttId() const
get the tower id
void runOnEmulTPs(EcalTrigPrimDigiCollection const &)
virtual void fill(EcalDQMSetupObjects const, DetId const &, double=1., double=1., double=1.)
CaloTowerDetId towerOf(reco::CaloCluster const &cluster, CaloTowerConstituentsMap const &towerMap)
edm::ESGetToken< EcalTPGStripStatus, EcalTPGStripStatusRcd > StripStatusRcd_
const EcalTPGStripStatus * StripStatus
std::vector< DetId > constituentsOf(const EcalTrigTowerDetId &id) const
Get the constituent detids for this tower id.
void runOnDigis(DigiCollection const &)
const_iterator end() const
EcalDQMSetupObjects const getEcalDQMSetupObjects()
EcalTrigPrimDigiCollection const * realTps_
void setTokens(edm::ConsumesCollector &) override
std::vector< int > bxBinEdges_
void runOnRealTPs(EcalTrigPrimDigiCollection const &)
const std::map< uint32_t, uint16_t > & getMap() const
iterator find(key_type k)
EcalElectronicsMapping const * GetElectronicsMap()
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
std::map< uint32_t, uint16_t > EcalTPGStripStatusMap
virtual void reset(EcalElectronicsMapping const *, double=0., double=0., double=0.)
void push_back(Dependency const &_d)
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
void erase(const std::string &key)
const_iterator begin() const
edm::InputTag lhcStatusInfoCollectionTag_