19 #ifdef WITH_ECAL_COND_DB
213 sprintf(histo,
"EBIT integrity quality summary");
219 sprintf(histo,
"EBIT integrity quality errors summary");
221 for (
int i = 0;
i < 36;
i++) {
226 sprintf(histo,
"EBIT PN integrity quality summary");
232 sprintf(histo,
"EBOT digi occupancy summary");
238 sprintf(histo,
"EBOT digi occupancy summary 1D");
240 for (
int i = 0;
i < 36;
i++) {
245 sprintf(histo,
"EBOT PN digi occupancy summary");
251 sprintf(histo,
"EBSFT front-end status summary");
257 sprintf(histo,
"EBSFT front-end status errors summary");
259 for (
int i = 0;
i < 36;
i++) {
264 sprintf(histo,
"EBPOT pedestal quality summary G12");
270 sprintf(histo,
"EBPOT pedestal quality errors summary G12");
272 for (
int i = 0;
i < 36;
i++) {
277 sprintf(histo,
"EBPOT pedestal G12 RMS map");
283 sprintf(histo,
"EBPOT pedestal G12 mean");
285 for (
int i = 0;
i < 36;
i++) {
290 sprintf(histo,
"EBPOT pedestal G12 rms");
292 for (
int i = 0;
i < 36;
i++) {
299 sprintf(histo,
"EBLT laser quality summary L1");
305 sprintf(histo,
"EBLT laser quality errors summary L1");
307 for (
int i = 0;
i < 36;
i++) {
312 sprintf(histo,
"EBLT PN laser quality summary L1");
318 sprintf(histo,
"EBLT PN laser quality errors summary L1");
320 for (
int i = 0;
i < 36;
i++) {
325 sprintf(histo,
"EBLT laser L1 amplitude summary");
327 for (
int i = 0;
i < 36;
i++) {
332 sprintf(histo,
"EBLT laser L1 timing summary");
334 for (
int i = 0;
i < 36;
i++) {
339 sprintf(histo,
"EBLT laser L1 amplitude over PN summary");
341 for (
int i = 0;
i < 36;
i++) {
350 sprintf(histo,
"EBLT laser quality summary L2");
356 sprintf(histo,
"EBLT laser quality errors summary L2");
358 for (
int i = 0;
i < 36;
i++) {
363 sprintf(histo,
"EBLT PN laser quality summary L2");
369 sprintf(histo,
"EBLT PN laser quality errors summary L2");
371 for (
int i = 0;
i < 36;
i++) {
376 sprintf(histo,
"EBLT laser L2 amplitude summary");
378 for (
int i = 0;
i < 36;
i++) {
383 sprintf(histo,
"EBLT laser L2 timing summary");
385 for (
int i = 0;
i < 36;
i++) {
390 sprintf(histo,
"EBLT laser L2 amplitude over PN summary");
392 for (
int i = 0;
i < 36;
i++) {
401 sprintf(histo,
"EBLT laser quality summary L3");
407 sprintf(histo,
"EBLT laser quality errors summary L3");
409 for (
int i = 0;
i < 36;
i++) {
414 sprintf(histo,
"EBLT PN laser quality summary L3");
420 sprintf(histo,
"EBLT PN laser quality errors summary L3");
422 for (
int i = 0;
i < 36;
i++) {
427 sprintf(histo,
"EBLT laser L3 amplitude summary");
429 for (
int i = 0;
i < 36;
i++) {
434 sprintf(histo,
"EBLT laser L3 timing summary");
436 for (
int i = 0;
i < 36;
i++) {
441 sprintf(histo,
"EBLT laser L3 amplitude over PN summary");
443 for (
int i = 0;
i < 36;
i++) {
452 sprintf(histo,
"EBLT laser quality summary L4");
458 sprintf(histo,
"EBLT laser quality errors summary L4");
460 for (
int i = 0;
i < 36;
i++) {
465 sprintf(histo,
"EBLT PN laser quality summary L4");
471 sprintf(histo,
"EBLT PN laser quality errors summary L4");
473 for (
int i = 0;
i < 36;
i++) {
478 sprintf(histo,
"EBLT laser L4 amplitude summary");
480 for (
int i = 0;
i < 36;
i++) {
485 sprintf(histo,
"EBLT laser L4 timing summary");
487 for (
int i = 0;
i < 36;
i++) {
492 sprintf(histo,
"EBLT laser L4 amplitude over PN summary");
494 for (
int i = 0;
i < 36;
i++) {
503 sprintf(histo,
"EBPT pedestal quality G01 summary");
513 sprintf(histo,
"EBPT pedestal quality G06 summary");
523 sprintf(histo,
"EBPT pedestal quality G12 summary");
533 sprintf(histo,
"EBPT PN pedestal quality G01 summary");
543 sprintf(histo,
"EBPT PN pedestal quality G16 summary");
553 sprintf(histo,
"EBTPT test pulse quality G01 summary");
563 sprintf(histo,
"EBTPT test pulse quality G06 summary");
573 sprintf(histo,
"EBTPT test pulse quality G12 summary");
583 sprintf(histo,
"EBTPT PN test pulse quality G01 summary");
593 sprintf(histo,
"EBTPT PN test pulse quality G16 summary");
603 sprintf(histo,
"EBTPT test pulse amplitude G01 summary");
605 for (
int i = 0;
i < 36;
i++) {
614 sprintf(histo,
"EBTPT test pulse amplitude G06 summary");
616 for (
int i = 0;
i < 36;
i++) {
625 sprintf(histo,
"EBTPT test pulse amplitude G12 summary");
627 for (
int i = 0;
i < 36;
i++) {
634 sprintf(histo,
"EBOT energy summary");
640 sprintf(histo,
"EBTMT timing quality summary");
646 sprintf(histo,
"EBTMT timing mean 1D summary");
651 sprintf(histo,
"EBTMT timing rms 1D summary");
656 sprintf(histo,
"EBTMT timing mean");
658 for (
int i = 0;
i < 36;
i++) {
664 sprintf(histo,
"EBTMT timing rms");
666 for (
int i = 0;
i < 36;
i++) {
672 sprintf(histo,
"EBTTT Et trigger tower summary");
678 sprintf(histo,
"EBTTT emulator error quality summary");
684 sprintf(histo,
"EBTTT Trigger Primitives Timing summary");
691 sprintf(histo,
"EBTTT Trigger Primitives Non Single Timing summary");
698 sprintf(histo,
"EB global summary");
913 #ifdef WITH_ECAL_COND_DB
927 if (
ievt_ % 10 == 0 ) {
931 for (
int iex = 1; iex <= 170; iex++ ) {
932 for (
int ipx = 1; ipx <= 360; ipx++ ) {
958 for (
int iex = 1; iex <= 20; iex++ ) {
959 for (
int ipx = 1; ipx <= 90; ipx++ ) {
975 for (
int iex = 1; iex <= 34; iex++ ) {
976 for (
int ipx = 1; ipx <= 72; ipx++ ) {
1057 for (
unsigned int i=0;
i<
clients_.size();
i++ ) {
1083 sprintf(histo, (
prefixME_ +
"/EBOccupancyTask/EBOT rec hit energy %s").c_str(),
Numbers::sEB(ism).c_str());
1087 sprintf(histo, (
prefixME_ +
"/EBPedestalOnlineTask/Gain12/EBPOT pedestal %s G12").c_str(),
Numbers::sEB(ism).c_str());
1091 sprintf(histo, (
prefixME_ +
"/EBTriggerTowerTask/EBTTT Et map Real Digis %s").c_str(),
Numbers::sEB(ism).c_str());
1099 sprintf(histo, (
prefixME_ +
"/EcalInfo/EBMM DCC").c_str());
1103 sprintf(histo, (
prefixME_ +
"/EBRawDataTask/EBRDT L1A FE errors").c_str());
1107 for (
int ie = 1; ie <= 85; ie++ ) {
1108 for (
int ip = 1; ip <= 20; ip++ ) {
1112 me = ebic->
meg01_[ism-1];
1123 ipx = ip+20*(ism-1);
1126 ipx = 1+(20-ip)+20*(ism-19);
1134 h2 = ebic->
h_[ism-1];
1138 float xval = h2->GetBinContent( ie, ip );
1145 ipx = ip+20*(ism-1);
1148 ipx = 1+(20-ip)+20*(ism-19);
1160 me = ebpoc->
meg03_[ism-1];
1169 ipx = ip+20*(ism-1);
1172 ipx = 1+(20-ip)+20*(ism-19);
1182 float num01, mean01, rms01;
1192 ipx = ip+20*(ism-1);
1195 ipx = 1+(20-ip)+20*(ism-19);
1215 ipx = ip+20*(ism-1);
1218 ipx = 1+(20-ip)+20*(ism-19);
1223 me = eblc->
meg01_[ism-1];
1229 if ( me->getEntries() != 0 ) {
1240 me = eblc->
meg02_[ism-1];
1246 if ( me->getEntries() != 0 ) {
1257 me = eblc->
meg03_[ism-1];
1263 if ( me->getEntries() != 0 ) {
1274 me = eblc->
meg04_[ism-1];
1280 if ( me->getEntries() != 0 ) {
1293 me_01 = ebpc->
meg01_[ism-1];
1294 me_02 = ebpc->
meg02_[ism-1];
1295 me_03 = ebpc->
meg03_[ism-1];
1302 ipx = ip+20*(ism-1);
1305 ipx = 1+(20-ip)+20*(ism-19);
1325 me_01 = ebtpc->
meg01_[ism-1];
1326 me_02 = ebtpc->
meg02_[ism-1];
1327 me_03 = ebtpc->
meg03_[ism-1];
1334 ipx = ip+20*(ism-1);
1337 ipx = 1+(20-ip)+20*(ism-19);
1367 float xval =
hot01_[ism-1]->GetBinContent( ie, ip );
1374 ipx = ip+20*(ism-1);
1377 ipx = 1+(20-ip)+20*(ism-19);
1386 me = ebtmc->
meg01_[ism-1];
1397 ipx = ip+20*(ism-1);
1400 ipx = 1+(20-ip)+20*(ism-19);
1408 float num02, mean02, rms02;
1430 for (
int ie = 1; ie <= 17; ie++ ) {
1431 for (
int ip = 1; ip <= 4; ip++ ) {
1441 ipx = 1+(4-ip)+4*(ism-19);
1453 if ( me->getBinContent( ism ) > 0 ) xval = 1;
1457 me = ebsfc->
meh01_[ism-1];
1461 if ( me->getBinContent( ie, ip ) > 0 ) xval = 0;
1476 bool hadNonZeroInterest =
false;
1480 mean01 =
httt01_[ism-1]->GetBinContent( ie, ip );
1482 if ( mean01 != 0. ) {
1496 hadNonZeroInterest =
true;
1516 h2 = ebtttc->
l01_[ism-1];
1517 h3 = ebtttc->
l02_[ism-1];
1522 float emulErrorVal = h2->GetBinContent( ie, ip );
1524 if( emulErrorVal!=0 && hadNonZeroInterest ) xval = 0;
1528 if ( xval!=0 && hadNonZeroInterest ) xval = 1;
1540 for(
int i = 1;
i <= 10;
i++ ) {
1541 for(
int j = 1;
j <= 5;
j++ ) {
1548 ipseudostripx =
j+5*(ism-1);
1551 ipseudostripx =
j+5*(ism-19);
1556 me_04 = ebic->
meg02_[ism-1];
1557 h2 = ebic->
hmem_[ism-1];
1568 float xval = h2->GetBinContent(
i,1);
1577 me_04 = ebpc->
meg04_[ism-1];
1578 me_05 = ebpc->
meg05_[ism-1];
1593 me_04 = ebtpc->
meg04_[ism-1];
1594 me_05 = ebtpc->
meg05_[ism-1];
1611 me = eblc->
meg09_[ism-1];
1617 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
1628 me = eblc->
meg10_[ism-1];
1634 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
1645 me = eblc->
meg11_[ism-1];
1651 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
1662 me = eblc->
meg12_[ism-1];
1668 if ( me->getEntries() != 0 && me->getEntries() != 0 ) {
1682 for(
int chan=0; chan<1700; chan++) {
1684 int ie = (chan)/20 + 1;
1685 int ip = (chan)%20 + 1;
1698 if( xval != 2 && xval != 5 ) {
1704 if( mea01 && met01 && meaopn01 ) {
1722 if( xval != 2 && xval != 5 ) {
1728 if( mea02 && met02 && meaopn02 ) {
1746 if( xval != 2 && xval != 5 ) {
1752 if( mea03 && met03 && meaopn03 ) {
1770 if( xval != 2 && xval != 5 ) {
1776 if( mea04 && met04 && meaopn04 ) {
1798 if ( xval01 != 2 && xval01 != 5 ) {
1800 me = ebtpc->
mea01_[ism-1];
1816 if ( xval02 != 2 && xval02 != 5 ) {
1818 me = ebtpc->
mea02_[ism-1];
1834 if ( xval03 != 2 && xval03 != 5 ) {
1836 me = ebtpc->
mea03_[ism-1];
1857 int nGlobalErrors = 0;
1858 int nGlobalErrorsEB[36];
1859 int nValidChannels = 0;
1860 int nValidChannelsEB[36];
1862 for (
int i = 0;
i < 36;
i++) {
1863 nGlobalErrorsEB[
i] = 0;
1864 nValidChannelsEB[
i] = 0;
1867 for (
int iex = 1; iex <= 170; iex++ ) {
1868 for (
int ipx = 1; ipx <= 360; ipx++ ) {
1872 int ism = (ipx-1)/20 + 1 ;
1873 if ( iex>85 ) ism+=18;
1885 float val_ls_1=2, val_ls_2=2, val_ls_3=2, val_ls_4=2;
1888 if(val_ls_1==2 || val_ls_1==3 || val_ls_1==4 || val_ls_1==5) val_ls_1=1;
1892 if(val_ls_2==2 || val_ls_2==3 || val_ls_2==4 || val_ls_2==5) val_ls_2=1;
1896 if(val_ls_3==2 || val_ls_3==3 || val_ls_3==4 || val_ls_3==5) val_ls_3=1;
1900 if(val_ls_4==2 || val_ls_4==3 || val_ls_4==4 || val_ls_4==5) val_ls_4=1;
1904 if (val_ls_1 == 0 || val_ls_2==0 || val_ls_3==0 || val_ls_4==0) val_ls=0;
1918 if( val_in==3 || val_in==4 || val_in==5) val_in=1;
1919 if(val_po==2 || val_po==3 || val_po==4 || val_po==5) val_po=1;
1920 if(val_tm==2 || val_tm==3 || val_tm==4 || val_tm==5) val_tm=1;
1921 if( val_sf==3 || val_sf==4 || val_sf==5) val_sf=1;
1922 if(val_ee==2 || val_ee==3 || val_ee==4 || val_ee==5) val_ee=1;
1924 if(val_in==6) xval=6;
1925 else if(val_in==0) xval=0;
1926 else if(val_po==0 || val_ls==0 || val_tm==0 || val_sf==0 || val_ee==0) xval=0;
1927 else if(val_po==2 || val_ls==2 || val_tm==2 || val_sf==2 || val_ee==2) xval=2;
1935 float frac_synch_errors = 0.;
1937 if(norm > 0) frac_synch_errors = float(
synch01_->GetBinContent(ism))/
float(norm);
1939 if(val_sy==0) xval=0;
1944 for (
unsigned int i=0;
i<
clients_.size();
i++ ) {
1947 TH2F* h2 = ebic->
h_[ism-1];
1949 iEntries = h2->GetEntries();
1955 if ( iEntries==0 ) {
1961 if ( xval >= 0 && xval <= 5 ) {
1962 if ( xval != 2 && xval != 5 ) ++nValidChannels;
1964 if ( xval != 2 && xval != 5 ) ++nValidChannelsEB[(ipx-1)/20];
1966 if ( xval != 2 && xval != 5 ) ++nValidChannelsEB[18+(ipx-1)/20];
1968 if ( xval == 0 ) ++nGlobalErrors;
1970 if ( xval == 0 ) ++nGlobalErrorsEB[(ipx-1)/20];
1972 if ( xval == 0 ) ++nGlobalErrorsEB[18+(ipx-1)/20];
1983 float reportSummary = -1.0;
1984 if ( nValidChannels != 0 )
1985 reportSummary = 1.0 - float(nGlobalErrors)/float(nValidChannels);
1987 if ( me ) me->
Fill(reportSummary);
1991 for (
int i = 0;
i < 36;
i++) {
1992 float reportSummaryEB = -1.0;
1993 if ( nValidChannelsEB[
i] != 0 )
1994 reportSummaryEB = 1.0 - float(nGlobalErrorsEB[
i])/float(nValidChannelsEB[i]);
1995 sprintf(histo,
"EcalBarrel_%s",
Numbers::sEB(i+1).c_str());
1997 if ( me ) me->
Fill(reportSummaryEB);
2003 int nValidChannelsTT[72][34];
2004 int nGlobalErrorsTT[72][34];
2005 for (
int iettx = 0; iettx < 34; iettx++ ) {
2006 for (
int ipttx = 0; ipttx < 72; ipttx++ ) {
2007 nValidChannelsTT[ipttx][iettx] = 0;
2008 nGlobalErrorsTT[ipttx][iettx] = 0;
2012 for (
int iex = 1; iex <= 170; iex++ ) {
2013 for (
int ipx = 1; ipx <= 360; ipx++ ) {
2015 int iettx = (iex-1)/5+1;
2016 int ipttx = (ipx-1)/5+1;
2020 if ( xval >= 0 && xval <= 5 ) {
2021 if ( xval != 2 && xval != 5 ) ++nValidChannelsTT[ipttx-1][iettx-1];
2022 if ( xval == 0 ) ++nGlobalErrorsTT[ipttx-1][iettx-1];
2028 for (
int iettx = 0; iettx < 34; iettx++ ) {
2029 for (
int ipttx = 0; ipttx < 72; ipttx++ ) {
2032 if ( nValidChannelsTT[ipttx][iettx] != 0 )
2033 xval = 1.0 - float(nGlobalErrorsTT[ipttx][iettx])/float(nValidChannelsTT[ipttx][iettx]);
MonitorElement * mea02_[36]
MonitorElement * meg12_[36]
MonitorElement * mePedestalOnlineRMS_
MonitorElement * meLaserL4PNErr_
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
MonitorElement * meOccupancyPN_
MonitorElement * meRecHitEnergy_
MonitorElement * meg09_[36]
MonitorElement * meTriggerTowerEt_
void setBinContent(int binx, double content)
set content of bin (1-D)
virtual ~EBSummaryClient()
Destructor.
static std::string sEB(const int ism)
MonitorElement * meLaserL3_
void cleanup(void)
Cleanup.
MonitorElement * meTestPulseAmplG01_
MonitorElement * meg03_[36]
MonitorElement * me_o02_[36]
MonitorElement * meg02_[36]
MonitorElement * meg05_[36]
MonitorElement * meTestPulseG12_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * meLaserL4AmplOverPN_
MonitorElement * meg04_[36]
MonitorElement * mePedestalPNG01_
MonitorElement * met02_[36]
MonitorElement * meLaserL1Timing_
MonitorElement * meTimingMean_
Some "id" conversions.
static void maskBinContent(const MonitorElement *me, const int ix, const int iy)
Mask the bin content.
MonitorElement * meStatusFlagsErr_
MonitorElement * meLaserL1_
MonitorElement * meg02_[36]
MonitorElement * meg03_[36]
MonitorElement * mea01_[36]
MonitorElement * meIntegrity_
MonitorElement * meg02_[36]
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * meg01_[36]
MonitorElement * mePedestalOnlineErr_
MonitorElement * mePedestalG06_
MonitorElement * meOccupancy_
MonitorElement * meTestPulseAmplG12_
MonitorElement * meLaserL3Timing_
std::vector< int > superModules_
std::vector< int > laserWavelengths_
double getEntries(void) const
get # of entries
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
MonitorElement * mea03_[36]
MonitorElement * met04_[36]
MonitorElement * meLaserL2Err_
MonitorElement * meLaserL2_
MonitorElement * meg04_[36]
MonitorElement * meLaserL3Ampl_
MonitorElement * meTestPulsePNG16_
MonitorElement * mea02_[36]
MonitorElement * mePedestalG01_
MonitorElement * meg10_[36]
MonitorElement * meIntegrityErr_
void beginJob(void)
BeginJob.
MonitorElement * meLaserL3PNErr_
MonitorElement * meg01_[36]
MonitorElement * meLaserL2PN_
MonitorElement * meTestPulsePNG01_
MonitorElement * meLaserL4Timing_
MonitorElement * meLaserL2AmplOverPN_
void removeElement(const std::string &name)
MonitorElement * meTimingRMS_
EBSummaryClient(const edm::ParameterSet &ps)
Constructor.
MonitorElement * meIntegrityPN_
MonitorElement * mea04_[36]
MonitorElement * meLaserL3Err_
MonitorElement * meLaserL4Err_
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
MonitorElement * meh01_[36]
MonitorElement * meg04_[36]
MonitorElement * meTimingRMS1D_
MonitorElement * meOccupancy1D_
void setEntries(double nentries)
set # of entries
MonitorElement * meTriggerTowerEmulError_
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
MonitorElement * met03_[36]
MonitorElement * meTriggerTowerTiming_
Ecal Monitor Utils for Client.
MonitorElement * meLaserL3PN_
MonitorElement * meLaserL3AmplOverPN_
MonitorElement * meg01_[36]
MonitorElement * meaopn04_[36]
MonitorElement * meLaserL4PN_
MonitorElement * meLaserL2Timing_
MonitorElement * meaopn01_[36]
MonitorElement * meTimingMean1D_
MonitorElement * me_o01_[36]
MonitorElement * meTiming_
MonitorElement * meg03_[36]
MonitorElement * meLaserL1AmplOverPN_
MonitorElement * mePedestalOnlineRMSMap_
MonitorElement * meg11_[36]
MonitorElement * meLaserL4Ampl_
MonitorElement * meLaserL1Err_
MonitorElement * mea01_[36]
MonitorElement * mea03_[36]
MonitorElement * meLaserL4_
MonitorElement * meg01_[36]
MonitorElement * meTestPulseAmplG06_
double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * mePedestalOnline_
MonitorElement * meGlobalSummary_
std::vector< int > MGPAGainsPN_
MonitorElement * meStatusFlags_
MonitorElement * meLaserL1PN_
MonitorElement * meLaserL2PNErr_
MonitorElement * meTestPulseG06_
MonitorElement * meTestPulseG01_
MonitorElement * meLaserL1Ampl_
MonitorElement * meg05_[36]
float synchErrorThreshold_
MonitorElement * meLaserL1PNErr_
MonitorElement * meg02_[36]
MonitorElement * meg03_[36]
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
MonitorElement * meg01_[36]
std::vector< int > MGPAGains_
MonitorElement * meaopn02_[36]
int ism(int ieta, int iphi)
MonitorElement * meaopn03_[36]
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void Reset(void)
reset ME (ie. contents, errors, etc)
static bool getBinStatistics(const T *histo, const int ix, const int iy, float &num, float &mean, float &rms)
Returns true if the bin contains good statistical data.
MonitorElement * meLaserL2Ampl_
std::vector< EBClient * > clients_
void analyze(void)
Analyze.
void beginRun(void)
BeginRun.
MonitorElement * mePedestalG12_
void setCurrentFolder(const std::string &fullpath)
MonitorElement * met01_[36]
MonitorElement * meTriggerTowerNonSingleTiming_
MonitorElement * mePedestalOnlineMean_
MonitorElement * mePedestalPNG16_