File indexing completed on 2023-03-17 10:56:02
0001 #include "DQM/SiPixelMonitorClient/interface/SiPixelCertification.h"
0002
0003 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "FWCore/ServiceRegistry/interface/Service.h"
0006
0007 #include "DQMServices/Core/interface/DQMStore.h"
0008
0009 #include "CondFormats/DataRecord/interface/RunSummaryRcd.h"
0010 #include "CondFormats/RunInfo/interface/RunInfo.h"
0011 #include "CondFormats/RunInfo/interface/RunSummary.h"
0012
0013 #include <cmath>
0014 #include <cstdio>
0015 #include <iomanip>
0016 #include <iostream>
0017 #include <sstream>
0018 #include <string>
0019
0020 using namespace std;
0021 using namespace edm;
0022 SiPixelCertification::SiPixelCertification(const edm::ParameterSet &ps) {
0023 edm::LogInfo("SiPixelCertification") << "SiPixelCertification::Creating SiPixelCertification ";
0024 firstLumi = true;
0025 }
0026
0027 SiPixelCertification::~SiPixelCertification() {
0028 edm::LogInfo("SiPixelCertification") << "SiPixelCertification::Deleting SiPixelCertification ";
0029 }
0030
0031 void SiPixelCertification::dqmEndLuminosityBlock(DQMStore::IBooker &iBooker,
0032 DQMStore::IGetter &iGetter,
0033 const edm::LuminosityBlock &lumiBlock,
0034 const edm::EventSetup &iSetup) {
0035
0036
0037
0038 if (firstLumi) {
0039 iBooker.setCurrentFolder("Pixel/EventInfo");
0040 CertificationPixel = iBooker.bookFloat("CertificationSummary");
0041 iBooker.setCurrentFolder("Pixel/EventInfo/CertificationContents");
0042 CertificationBarrel = iBooker.bookFloat("PixelBarrelFraction");
0043 CertificationEndcap = iBooker.bookFloat("PixelEndcapFraction");
0044
0045 CertificationPixel->Fill(1.);
0046 CertificationBarrel->Fill(1.);
0047 CertificationEndcap->Fill(1.);
0048
0049 firstLumi = false;
0050 }
0051
0052 edm::LogInfo("SiPixelCertification") << "SiPixelCertification::endLuminosityBlock ";
0053
0054
0055 float dcsFrac = (iGetter.getElement("Pixel/EventInfo/DCSSummary"))->getFloatValue();
0056 float daqFrac = (iGetter.getElement("Pixel/EventInfo/DAQSummary"))->getFloatValue();
0057 float dqmFrac = (iGetter.getElement("Pixel/EventInfo/reportSummary"))->getFloatValue();
0058 float pixel_all = std::min(dcsFrac, daqFrac);
0059 pixel_all = std::min(pixel_all, dqmFrac);
0060
0061
0062 CertificationPixel = iGetter.getElement("Pixel/EventInfo/CertificationSummary");
0063 if (CertificationPixel)
0064 CertificationPixel->Fill(pixel_all);
0065
0066 dcsFrac = (iGetter.getElement("Pixel/EventInfo/DCSContents/PixelBarrelFraction"))->getFloatValue();
0067 daqFrac = (iGetter.getElement("Pixel/EventInfo/DAQContents/PixelBarrelFraction"))->getFloatValue();
0068 dqmFrac = (iGetter.getElement("Pixel/EventInfo/reportSummaryContents/PixelBarrelFraction"))->getFloatValue();
0069 float pixel_barrel = std::min(dcsFrac, daqFrac);
0070 pixel_barrel = std::min(pixel_barrel, dqmFrac);
0071
0072
0073 CertificationBarrel = iGetter.getElement("Pixel/EventInfo/CertificationContents/PixelBarrelFraction");
0074 if (CertificationBarrel)
0075 CertificationBarrel->Fill(pixel_barrel);
0076
0077 dcsFrac = (iGetter.getElement("Pixel/EventInfo/DCSContents/PixelEndcapFraction"))->getFloatValue();
0078 daqFrac = (iGetter.getElement("Pixel/EventInfo/DAQContents/PixelEndcapFraction"))->getFloatValue();
0079 dqmFrac = (iGetter.getElement("Pixel/EventInfo/reportSummaryContents/PixelEndcapFraction"))->getFloatValue();
0080 float pixel_endcap = std::min(dcsFrac, daqFrac);
0081 pixel_endcap = std::min(pixel_endcap, dqmFrac);
0082
0083
0084 CertificationEndcap = iGetter.getElement("Pixel/EventInfo/CertificationContents/PixelEndcapFraction");
0085 if (CertificationEndcap)
0086 CertificationEndcap->Fill(pixel_endcap);
0087 }
0088
0089 void SiPixelCertification::dqmEndJob(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter) {
0090
0091 edm::LogInfo("SiPixelCertification") << "SiPixelCertification::endRun ";
0092
0093
0094 float dcsFrac = (iGetter.getElement("Pixel/EventInfo/DCSSummary"))->getFloatValue();
0095 float daqFrac = (iGetter.getElement("Pixel/EventInfo/DAQSummary"))->getFloatValue();
0096 float dqmFrac = (iGetter.getElement("Pixel/EventInfo/reportSummary"))->getFloatValue();
0097 float pixel_all = std::min(dcsFrac, daqFrac);
0098 pixel_all = std::min(pixel_all, dqmFrac);
0099
0100
0101 if (CertificationPixel)
0102 CertificationPixel->Fill(pixel_all);
0103
0104 dcsFrac = (iGetter.getElement("Pixel/EventInfo/DCSContents/PixelBarrelFraction"))->getFloatValue();
0105 daqFrac = (iGetter.getElement("Pixel/EventInfo/DAQContents/PixelBarrelFraction"))->getFloatValue();
0106 dqmFrac = (iGetter.getElement("Pixel/EventInfo/reportSummaryContents/PixelBarrelFraction"))->getFloatValue();
0107 float pixel_barrel = std::min(dcsFrac, daqFrac);
0108 pixel_barrel = std::min(pixel_barrel, dqmFrac);
0109
0110
0111 if (CertificationBarrel)
0112 CertificationBarrel->Fill(pixel_barrel);
0113
0114 dcsFrac = (iGetter.getElement("Pixel/EventInfo/DCSContents/PixelEndcapFraction"))->getFloatValue();
0115 daqFrac = (iGetter.getElement("Pixel/EventInfo/DAQContents/PixelEndcapFraction"))->getFloatValue();
0116 dqmFrac = (iGetter.getElement("Pixel/EventInfo/reportSummaryContents/PixelEndcapFraction"))->getFloatValue();
0117 float pixel_endcap = std::min(dcsFrac, daqFrac);
0118 pixel_endcap = std::min(pixel_endcap, dqmFrac);
0119
0120
0121 if (CertificationEndcap)
0122 CertificationEndcap->Fill(pixel_endcap);
0123 }