Skip to content

Commit

Permalink
Merge pull request #11966 from mengleisun/CMSSW_7_5_X_NewDQM
Browse files Browse the repository at this point in the history
new plots for ECAL DQM
  • Loading branch information
davidlange6 committed Nov 7, 2015
2 parents 67f9f8f + 8a78267 commit b69279c
Show file tree
Hide file tree
Showing 18 changed files with 273 additions and 20 deletions.
6 changes: 5 additions & 1 deletion DQM/EcalCommon/interface/MESetBinningUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,20 @@ namespace ecaldqm
kCrystal,
kTriggerTower,
kSuperCrystal,
kPseudoStrip,
kTCC,
kDCC,
kProjEta,
kProjPhi,
kRCT,
kUser,
kReport,
kTrend,
nBinType
};

enum Constants {
nPresetBinnings = kProjPhi + 1,
nPresetBinnings = kRCT + 1,

nEBSMEta = 85,
nEBSMPhi = 20,
Expand Down Expand Up @@ -159,6 +161,8 @@ namespace ecaldqm
int findBinCrystal_(ObjectType, DetId const&, int = -1);
int findBinCrystal_(ObjectType, EcalElectronicsId const&);
int findBinTriggerTower_(ObjectType, DetId const&);
int findBinPseudoStrip_(ObjectType, DetId const&);
int findBinRCT_(ObjectType, DetId const&);
int findBinSuperCrystal_(ObjectType, DetId const&, int = -1);
int findBinSuperCrystal_(ObjectType, EcalElectronicsId const&);
}
Expand Down
14 changes: 13 additions & 1 deletion DQM/EcalCommon/src/MESetBinningUtils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,12 @@ namespace ecaldqm
case kSuperCrystal:
return findBinSuperCrystal_(_otype, _id);
break;
case kPseudoStrip:
return findBinPseudoStrip_(_otype, _id);
break;
case kRCT:
return findBinRCT_(_otype, _id);
break;
default :
return 0;
}
Expand Down Expand Up @@ -339,7 +345,11 @@ namespace ecaldqm

switch(_otype){
case kSM:
return iSM;
if(_btype == kPseudoStrip){
iSM = iSM <= kEEmTCCHigh ? (iSM + 1) % 18 / 2 : iSM >= kEEpTCCLow ? (iSM + 1 - 72) % 18 / 2 + 45: (iSM + 1) - kEEmTCCHigh;
return iSM;
}
else return iSM;

case kEBSM:
return iSM - 9;
Expand Down Expand Up @@ -828,10 +838,12 @@ namespace ecaldqm
if(_btypeName == "Crystal") return kCrystal;
else if(_btypeName == "TriggerTower") return kTriggerTower;
else if(_btypeName == "SuperCrystal") return kSuperCrystal;
else if(_btypeName == "PseudoStrip") return kPseudoStrip;
else if(_btypeName == "TCC") return kTCC;
else if(_btypeName == "DCC") return kDCC;
else if(_btypeName == "ProjEta") return kProjEta;
else if(_btypeName == "ProjPhi") return kProjPhi;
else if(_btypeName == "RCT") return kRCT;
else if(_btypeName == "User") return kUser;
else if(_btypeName == "Report") return kReport;
else if(_btypeName == "Trend") return kTrend;
Expand Down
60 changes: 60 additions & 0 deletions DQM/EcalCommon/src/MESetBinningUtils2.cc
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ namespace ecaldqm
break;
case kSuperCrystal:
case kTriggerTower:
case kPseudoStrip:
if(_axis == 1)
specs.nbins = 72;
else if(_axis == 2)
Expand Down Expand Up @@ -163,6 +164,7 @@ namespace ecaldqm
switch(_btype){
case kCrystal:
case kTriggerTower:
case kPseudoStrip:
if(_axis == 1)
specs.nbins = _zside ? 100 : 200;
if(_axis == 2)
Expand Down Expand Up @@ -211,6 +213,7 @@ namespace ecaldqm
specs.title = "crystal";
break;
case kTriggerTower:
case kPseudoStrip:
specs.nbins = isBarrel ? 68 : 80;
specs.low = 0.;
specs.high = specs.nbins;
Expand Down Expand Up @@ -240,6 +243,7 @@ namespace ecaldqm
specs.nbins = isBarrel ? nEBSMPhi : nEEY;
break;
case kTriggerTower:
case kPseudoStrip:
if(_axis == 1)
specs.nbins = isBarrel ? nEBSMEta / 5 : nEEX;
else if(_axis == 2)
Expand Down Expand Up @@ -350,6 +354,20 @@ namespace ecaldqm
specs.high = 6.;
}
break;
case kRCT:
if(_axis == 1){
specs.nbins = 64;
specs.low = -32.;
specs.high = 32.;
specs.title = "RCT iEta";
}
else if(_axis == 2){
specs.nbins = 72;
specs.low = 0.;
specs.high = 72.;
specs.title = "RCT Phi";
}
break;
default:
break;
}
Expand Down Expand Up @@ -485,6 +503,24 @@ namespace ecaldqm
return findBinCrystal_(_otype, getElectronicsMap()->getDetId(_id));
}

int
findBinRCT_(ObjectType _otype, DetId const& _id)
{
int xbin(0);
int ybin(0);
int nbinsX(0);

EcalTrigTowerDetId ttid(_id);
int ieta(ttid.ieta());
int iphi((ttid.iphi() + 1) % 72 + 1);

xbin = ieta < 0? ieta + 33: ieta + 32;
ybin = iphi;
nbinsX = 64;

return (nbinsX + 2) * ybin + xbin;
}

int
findBinTriggerTower_(ObjectType _otype, DetId const& _id)
{
Expand Down Expand Up @@ -512,6 +548,10 @@ namespace ecaldqm
ybin = ieta < 0 ? (iphi - 1) % 4 + 1 : 4 - (iphi - 1) % 4;
nbinsX = 17;
break;
case kEcal:
xbin = ieta < 0? ieta + 33: ieta + 32;
ybin = iphi > 70? iphi-70: iphi+2;
nbinsX = 64;
default:
break;
}
Expand All @@ -525,6 +565,26 @@ namespace ecaldqm
return (nbinsX + 2) * ybin + xbin;
}

int
findBinPseudoStrip_(ObjectType _otype, DetId const& _id){

int xbin(0);
int ybin(0);
int nbinsX(0);
int subdet(_id.subdetId());

if((subdet == EcalTriggerTower && !isEndcapTTId(_id)) || subdet == EcalBarrel){
return findBinTriggerTower_(_otype, _id);
}
else if(subdet == EcalEndcap){
unsigned tccid(tccId(_id));
unsigned iSM(tccid <= 36 ? tccid % 18 / 2 : (tccid - 72) % 18 / 2);
return findBinCrystal_(_otype, _id, iSM);
}

return (nbinsX + 2) * ybin + xbin;
}

int
findBinSuperCrystal_(ObjectType _otype, const DetId& _id, int _iSM/* -1*/)
{
Expand Down
45 changes: 33 additions & 12 deletions DQM/EcalCommon/src/MESetDet2D.cc
Original file line number Diff line number Diff line change
Expand Up @@ -93,32 +93,53 @@ namespace ecaldqm

int bin;

if(isEndcapTTId(_id)){
std::vector<DetId> ids(getTrigTowerMap()->constituentsOf(EcalTrigTowerDetId(_id)));
unsigned nId(ids.size());
for(unsigned iId(0); iId < nId; iId++){
bin = binning::findBin2D(obj, binning::kTriggerTower, ids[iId]);
fill_(iME, bin, _w);
}
}
else{
if(btype_ == binning::kRCT){
bin = binning::findBin2D(obj, btype_, _id);
fill_(iME, bin, _w);
}
else{
if(isEndcapTTId(_id)){
std::vector<DetId> ids(getTrigTowerMap()->constituentsOf(EcalTrigTowerDetId(_id)));
unsigned nId(ids.size());
for(unsigned iId(0); iId < nId; iId++){
bin = binning::findBin2D(obj, binning::kTriggerTower, ids[iId]);
fill_(iME, bin, _w);
}
}
else{
bin = binning::findBin2D(obj, btype_, _id);
fill_(iME, bin, _w);
}
}
}

void
MESetDet2D::fill(EcalElectronicsId const& _id, double _w/* = 1.*/, double, double)
{
if(!active_) return;

unsigned iME(binning::findPlotIndex(otype_, _id));
unsigned iME(0);
if(btype_ == binning::kPseudoStrip) iME = binning::findPlotIndex(otype_, _id.dccId(),binning::kPseudoStrip);
else iME = binning::findPlotIndex(otype_, _id);
checkME_(iME);

binning::ObjectType obj(binning::getObject(otype_, iME));

int bin(binning::findBin2D(obj, btype_, _id));
fill_(iME, bin, _w);
int bin;

if(btype_ == binning::kPseudoStrip){
EcalElectronicsId stid(_id);
std::vector<DetId> ids(getElectronicsMap()->pseudoStripConstituents(stid.dccId(), stid.towerId(), stid.stripId()));
unsigned nId(ids.size());
for(unsigned iId(0); iId < nId; iId++){
bin = binning::findBin2D(obj, btype_ , ids[iId]);
fill_(iME, bin, _w);
}
}
else{
bin = binning::findBin2D(obj, btype_, _id);
fill_(iME, bin, _w);
}
}

void
Expand Down
3 changes: 2 additions & 1 deletion DQM/EcalMonitorClient/python/LaserClient_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
sources = cms.untracked.PSet(
Timing = ecalLaserTask.MEs.Timing,
PNAmplitude = ecalLaserTask.MEs.PNAmplitude,
Amplitude = ecalLaserTask.MEs.Amplitude
Amplitude = ecalLaserTask.MEs.Amplitude,
CalibStatus = ecalLaserTask.MEs.CalibStatus
),
MEs = cms.untracked.PSet(
TimingRMS = cms.untracked.PSet(
Expand Down
3 changes: 2 additions & 1 deletion DQM/EcalMonitorClient/python/LedClient_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
sources = cms.untracked.PSet(
Timing = ecalLedTask.MEs.Timing,
PNAmplitude = ecalLedTask.MEs.PNAmplitude,
Amplitude = ecalLedTask.MEs.Amplitude
Amplitude = ecalLedTask.MEs.Amplitude,
CalibStatus = ecalLedTask.MEs.CalibStatus
),
MEs = cms.untracked.PSet(
TimingMean = cms.untracked.PSet(
Expand Down
6 changes: 5 additions & 1 deletion DQM/EcalMonitorClient/src/LaserClient.cc
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ namespace ecaldqm
MESetMulti const& sAmplitude(static_cast<MESetMulti const&>(sources_.at("Amplitude")));
MESetMulti const& sTiming(static_cast<MESetMulti const&>(sources_.at("Timing")));
MESetMulti const& sPNAmplitude(static_cast<MESetMulti const&>(sources_.at("PNAmplitude")));
MESet const& sCalibStatus(static_cast<MESet const&>(sources_.at("CalibStatus")));

for(std::map<int, unsigned>::iterator wlItr(wlToME_.begin()); wlItr != wlToME_.end(); ++wlItr){
meQuality.use(wlItr->second);
Expand All @@ -119,6 +120,9 @@ namespace ecaldqm

MESet::const_iterator tItr(sTiming);
MESet::const_iterator aItr(sAmplitude);

int wl(wlItr->first-1);
bool enabled(wl < 0? false: sCalibStatus.getBinContent(wl) > 0 ? true: false);
for(MESet::iterator qItr(meQuality.beginChannel()); qItr != qEnd; qItr.toNextChannel()){

DetId id(qItr->getId());
Expand All @@ -130,7 +134,7 @@ namespace ecaldqm
float aEntries(aItr->getBinEntries());

if(aEntries < minChannelEntries_){
qItr->setBinContent(doMask ? kMUnknown : kUnknown);
qItr->setBinContent(enabled ? (doMask ? kMUnknown : kUnknown) : kMUnknown);
continue;
}

Expand Down
6 changes: 5 additions & 1 deletion DQM/EcalMonitorClient/src/LedClient.cc
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ namespace ecaldqm
MESetMulti const& sAmplitude(static_cast<MESetMulti const&>(sources_.at("Amplitude")));
MESetMulti const& sTiming(static_cast<MESetMulti const&>(sources_.at("Timing")));
MESetMulti const& sPNAmplitude(static_cast<MESetMulti const&>(sources_.at("PNAmplitude")));
MESet const& sCalibStatus(static_cast<MESet const&>(sources_.at("CalibStatus")));

for(std::map<int, unsigned>::iterator wlItr(wlToME_.begin()); wlItr != wlToME_.end(); ++wlItr){
meQuality.use(wlItr->second);
Expand All @@ -117,6 +118,9 @@ namespace ecaldqm

MESet::const_iterator tItr(sTiming);
MESet::const_iterator aItr(sAmplitude);

int wl(wlItr->first+3);
bool enabled(wl < 0? false: sCalibStatus.getBinContent(wl) > 0 ? true: false);
for(MESet::iterator qItr(meQuality.beginChannel()); qItr != qEnd; qItr.toNextChannel()){

DetId id(qItr->getId());
Expand All @@ -128,7 +132,7 @@ namespace ecaldqm
float aEntries(aItr->getBinEntries());

if(aEntries < minChannelEntries_){
qItr->setBinContent(doMask ? kMUnknown : kUnknown);
qItr->setBinContent(enabled ? (doMask ? kMUnknown : kUnknown) : kMUnknown);
continue;
}

Expand Down
7 changes: 7 additions & 0 deletions DQM/EcalMonitorTasks/interface/LaserTask.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@ namespace ecaldqm {
void runOnPnDigis(EcalPnDiodeDigiCollection const&);
void runOnUncalibRecHits(EcalUncalibratedRecHitCollection const&);

enum Wavelength{
kGreen,
kBlue,
kIRed,
nWavelength
};

private:
void setParams(edm::ParameterSet const&) override;

Expand Down
18 changes: 18 additions & 0 deletions DQM/EcalMonitorTasks/python/LaserTask_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,24 @@
laserWavelengths = ecaldqmLaserWavelengths
),
MEs = cms.untracked.PSet(
CalibStatus = cms.untracked.PSet(
path = cms.untracked.string('EcalCalibration/EventInfo/Calibration event rate'),
kind = cms.untracked.string('TProfile'),
otype = cms.untracked.string('None'),
btype = cms.untracked.string('User'),
xaxis = cms.untracked.PSet(
nbins = cms.untracked.int32(5),
low = cms.untracked.double(-0.5),
high = cms.untracked.double(4.5),
labels = cms.untracked.vstring(['Green Laser','Blue Laser','IR Laser','LED1','LED2'])
),
yaxis = cms.untracked.PSet(
low = cms.untracked.double(0),
high = cms.untracked.double(1),
title = cms.untracked.string('event rate')
),
description = cms.untracked.string('')
),
PNAmplitude = cms.untracked.PSet(
path = cms.untracked.string('%(subdet)s/%(prefix)sLaserTask/Laser%(wl)s/PN/Gain16/%(prefix)sLT PNs amplitude %(sm)s G16 L%(wl)s'),
otype = cms.untracked.string('SMMEM'),
Expand Down
18 changes: 18 additions & 0 deletions DQM/EcalMonitorTasks/python/LedTask_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,24 @@
ledWavelengths = ecaldqmLedWavelengths
),
MEs = cms.untracked.PSet(
CalibStatus = cms.untracked.PSet(
path = cms.untracked.string('EcalCalibration/EventInfo/Calibration event rate'),
kind = cms.untracked.string('TProfile'),
otype = cms.untracked.string('None'),
btype = cms.untracked.string('User'),
xaxis = cms.untracked.PSet(
nbins = cms.untracked.int32(5),
low = cms.untracked.double(-0.5),
high = cms.untracked.double(4.5),
labels = cms.untracked.vstring(['Green Laser','Blue Laser','IR Laser','LED1','LED2'])
),
yaxis = cms.untracked.PSet(
low = cms.untracked.double(0),
high = cms.untracked.double(1),
title = cms.untracked.string('event rate')
),
description = cms.untracked.string('')
),
PNAmplitude = cms.untracked.PSet(
path = cms.untracked.string('EcalEndcap/EELedTask/Led%(wl)s/PN/Gain16/EELDT PNs amplitude %(sm)s G16 L%(wl)s'),
otype = cms.untracked.string('EESMMEM'),
Expand Down
Loading

0 comments on commit b69279c

Please sign in to comment.