25 bxBinEdges_{ {1, 271, 541, 892, 1162, 1432, 1783, 2053, 2323, 2674, 2944, 3214, 3446, 3490, 3491, 3565} },
67 MEs_.at(
"EtSummaryByLumi").reset();
68 MEs_.at(
"TTFlags4ByLumi").reset();
69 MEs_.at(
"LHCStatusByLumi").reset(-1);
84 MESet& meLHCStatusByLumi(static_cast<MESet&>(
MEs_.at(
"LHCStatusByLumi")));
111 MESet& meTTMaskMap(
MEs_.at(
"TTMaskMap"));
113 for(EcalTPGTowerStatusMap::const_iterator ttItr(towerMap.begin()); ttItr != towerMap.end(); ++ttItr){
115 if ((*ttItr).second > 0)
119 meTTMaskMap.fill(ttid,1);
123 for(EcalTPGStripStatusMap::const_iterator stItr(stripMap.begin()); stItr != stripMap.end(); ++stItr){
125 if ((*stItr).second > 0)
129 meTTMaskMap.fill(stid,1);
189 template<
typename DigiCollection>
193 for(
typename DigiCollection::const_iterator digiItr(_digis.begin()); digiItr != _digis.end(); ++digiItr){
210 MESet& meEtRealMap(
MEs_.at(
"EtRealMap"));
211 MESet& meEtSummary(
MEs_.at(
"EtSummary"));
212 MESet& meEtSummaryByLumi(
MEs_.at(
"EtSummaryByLumi"));
213 MESet& meLowIntMap(
MEs_.at(
"LowIntMap"));
214 MESet& meMedIntMap(
MEs_.at(
"MedIntMap"));
215 MESet& meHighIntMap(
MEs_.at(
"HighIntMap"));
217 MESet& meTTFlagsVsEt(
MEs_.at(
"TTFlagsVsEt"));
218 MESet& meTTFlags4(
MEs_.at(
"TTFlags4") );
219 MESet& meTTFlags4ByLumi(
MEs_.at(
"TTFlags4ByLumi") );
220 MESet& meTTFMismatch(
MEs_.at(
"TTFMismatch"));
225 double nTP[] = {0., 0., 0.};
229 float et(tpItr->compressedEt());
234 else if(ttid.zside() < 0)
241 meEtReal.fill(ttid,
et);
242 meEtRealMap.fill(ttid,
et);
243 meEtSummary.fill(ttid,
et);
244 meEtSummaryByLumi.fill(ttid,
et);
246 int interest(tpItr->ttFlag() & 0x3);
250 meLowIntMap.fill(ttid);
253 meMedIntMap.fill(ttid);
256 meHighIntMap.fill(ttid);
263 int ttF( tpItr->ttFlag() );
264 meTTFlags.fill( ttid, 1.0*ttF );
265 meTTFlagsVsEt.fill(ttid,
et, 1.0*ttF);
269 meTTFlags4.fill( ttid );
270 meTTFlags4ByLumi.fill( ttid );
273 meTTFMismatch.fill(ttid);
283 MESet& meTTMaskMapAll(
MEs_.at(
"TTMaskMapAll"));
288 for( EcalTPGTowerStatusMap::const_iterator ttItr(TTStatusMap.begin()); ttItr != TTStatusMap.end(); ++ttItr ){
290 if ( ttItr->second > 0 )
291 meTTMaskMapAll.setBinContent( ttid,1 );
297 for( EcalTPGStripStatusMap::const_iterator stItr(StripStatusMap.begin()); stItr != StripStatusMap.end(); ++stItr ){
302 if ( stItr->second > 0 )
303 meTTMaskMapAll.setBinContent( ttid,1 );
311 MESet& meEtMaxEmul(
MEs_.at(
"EtMaxEmul"));
312 MESet& meEmulMaxIndex(
MEs_.at(
"EmulMaxIndex"));
313 MESet& meMatchedIndex(
MEs_.at(
"MatchedIndex"));
314 MESet& meEtEmulError(
MEs_.at(
"EtEmulError"));
315 MESet& meFGEmulError(
MEs_.at(
"FGEmulError"));
316 MESet& meRealvEmulEt(
MEs_.at(
"RealvEmulEt"));
321 int et(tpItr->compressedEt());
325 for(
int iDigi(0); iDigi < 5; iDigi++){
326 float sampleEt((*tpItr)[iDigi].compressedEt());
328 if(sampleEt > maxEt){
334 meEtMaxEmul.fill(ttid, maxEt);
336 meEmulMaxIndex.fill(ttid, iMax);
347 int realEt(realItr->compressedEt());
351 int ttF(realItr->ttFlag());
354 if(
et != realEt) match =
false;
355 if(tpItr->fineGrain() != realItr->fineGrain()) matchFG =
false;
359 std::vector<int> matchedIndex(0);
362 for(
int iDigi(0); iDigi < 5; iDigi++){
363 if((*tpItr)[iDigi].compressedEt() == realEt) {
366 matchedIndex.push_back(iDigi + 1);
371 matchedIndex.clear();
372 matchedIndex.push_back(3);
377 if(matchedIndex.empty()) matchedIndex.push_back(0);
380 meRealvEmulEt.fill( ttid,realEt,(*tpItr)[2].compressedEt() );
383 for(std::vector<int>::iterator matchItr(matchedIndex.begin()); matchItr != matchedIndex.end(); ++matchItr){
384 meMatchedIndex.fill(ttid, *matchItr + 0.5);
399 if(!match) meEtEmulError.fill(ttid);
400 if(!matchFG) meFGEmulError.fill(ttid);
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getUntrackedParameter(std::string const &, T const &) const
std::map< uint32_t, uint16_t > EcalTPGTowerStatusMap
const BSTRecord & getBST() const
#define DEFINE_ECALDQM_WORKER(TYPE)
int tccId() const
get the DCC (Ecal Local DCC value not global one) id
void beginEvent(edm::Event const &, edm::EventSetup const &) override
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 [...
EcalElectronicsMapping const * getElectronicsMap()
constexpr uint32_t rawId() const
get the raw id
std::vector< T >::const_iterator const_iterator
int bunchCrossing() const
edm::ESHandle< EcalTPGTowerStatus > TTStatusRcd
std::map< uint32_t, unsigned > towerReadouts_
const std::map< uint32_t, uint16_t > & getMap() const
uint16_t const getBeamMode() const
Class to contain information from TCDS FED.
edm::EDGetTokenT< TCDSRecord > lhcStatusInfoRecordToken_
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
void addDependencies(DependencySet &) override
EcalTrigTowerConstituentsMap const * getTrigTowerMap()
int ttId() const
get the tower id
void runOnEmulTPs(EcalTrigPrimDigiCollection const &)
std::vector< DetId > constituentsOf(const EcalTrigTowerDetId &id) const
Get the constituent detids for this tower id.
void runOnDigis(DigiCollection const &)
const_iterator end() const
EcalTrigPrimDigiCollection const * realTps_
void setTokens(edm::ConsumesCollector &) override
edm::ESHandle< EcalTPGStripStatus > StripStatusRcd
void runOnRealTPs(EcalTrigPrimDigiCollection const &)
virtual void fill(DetId const &, double=1., double=1., double=1.)
const std::map< uint32_t, uint16_t > & getMap() const
et
define resolution functions of each parameter
std::array< int, nBXBins+1 > bxBinEdges_
iterator find(key_type k)
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
void push_back(Dependency const &_d)
T const * product() const
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
const_iterator begin() const
edm::InputTag lhcStatusInfoCollectionTag_