Back to home page

Project CMSSW displayed by LXR

 
 

    


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   // cout<<"Entering SiPixelCertification::endLuminosityBlock: "<<endl;
0036 
0037   // If first run, book some histograms
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   // Compute and fill overall certification bits, for now use smallest single
0054   // value:
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   // std::cout<<"Pixel numbers: "<<dcsFrac<<" , "<<daqFrac<<" , "<<dqmFrac<<" ,
0061   // "<<pixel_all<<std::endl;
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   // std::cout<<"Barrel numbers: "<<dcsFrac<<" , "<<daqFrac<<" , "<<dqmFrac<<" ,
0072   // "<<pixel_barrel<<std::endl;
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   // std::cout<<"Endcap numbers: "<<dcsFrac<<" , "<<daqFrac<<" , "<<dqmFrac<<" ,
0083   // "<<pixel_endcap<<std::endl;
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   // cout<<"Entering SiPixelCertification::endRun: "<<endl;
0091   edm::LogInfo("SiPixelCertification") << "SiPixelCertification::endRun ";
0092   // Compute and fill overall certification bits, for now use smallest single
0093   // value:
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   // std::cout<<"Pixel numbers: "<<dcsFrac<<" , "<<daqFrac<<" , "<<dqmFrac<<" ,
0100   // "<<pixel_all<<std::endl;
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   // std::cout<<"Barrel numbers: "<<dcsFrac<<" , "<<daqFrac<<" , "<<dqmFrac<<" ,
0110   // "<<pixel_barrel<<std::endl;
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   // std::cout<<"Endcap numbers: "<<dcsFrac<<" , "<<daqFrac<<" , "<<dqmFrac<<" ,
0120   // "<<pixel_endcap<<std::endl;
0121   if (CertificationEndcap)
0122     CertificationEndcap->Fill(pixel_endcap);
0123 }