Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:17

0001 #ifndef SiPixelEDAClient_H
0002 #define SiPixelEDAClient_H
0003 
0004 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0005 #include "DQMServices/Core/interface/DQMStore.h"
0006 #include "FWCore/Framework/interface/Frameworkfwd.h"
0007 #include "FWCore/Framework/interface/LuminosityBlock.h"
0008 #include "FWCore/Framework/interface/Run.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 
0011 // Stuff for cabling map to allow end run computations
0012 #include "CondFormats/DataRecord/interface/SiPixelFedCablingMapRcd.h"
0013 #include "CondFormats/SiPixelObjects/interface/SiPixelFedCablingMap.h"
0014 
0015 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
0016 
0017 #include <fstream>
0018 #include <iostream>
0019 #include <map>
0020 #include <string>
0021 #include <vector>
0022 
0023 class SiPixelWebInterface;
0024 class SiPixelInformationExtractor;
0025 class SiPixelDataQuality;
0026 class SiPixelActionExecutor;
0027 
0028 class SiPixelEDAClient : public DQMEDHarvester {
0029 public:
0030   SiPixelEDAClient(const edm::ParameterSet &ps);
0031   ~SiPixelEDAClient() override;
0032 
0033 protected:
0034   void beginRun(edm::Run const &run, edm::EventSetup const &eSetup) override;
0035   void dqmEndLuminosityBlock(DQMStore::IBooker &iBooker,
0036                              DQMStore::IGetter &iGetter,
0037                              edm::LuminosityBlock const &lumiSeg,
0038                              edm::EventSetup const &c) override;
0039   void dqmEndJob(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter) override;
0040 
0041 private:
0042   unsigned long long m_cacheID_;
0043   int nLumiSecs_;
0044   int nEvents_;
0045   int nEvents_lastLS_;
0046   int nErrorsBarrel_lastLS_;
0047   int nErrorsEndcap_lastLS_;
0048 
0049   SiPixelWebInterface *sipixelWebInterface_;
0050   SiPixelInformationExtractor *sipixelInformationExtractor_;
0051   SiPixelDataQuality *sipixelDataQuality_;
0052   SiPixelActionExecutor *sipixelActionExecutor_;
0053 
0054   int tkMapFrequency_;
0055   int summaryFrequency_;
0056   unsigned int staticUpdateFrequency_;
0057   bool actionOnLumiSec_;
0058   bool actionOnRunEnd_;
0059   int evtOffsetForInit_;
0060   std::string summaryXMLfile_;
0061   bool hiRes_;
0062   double noiseRate_;
0063   int noiseRateDenominator_;
0064   bool offlineXMLfile_;
0065   int nFEDs_;
0066   bool Tier0Flag_;
0067   bool firstLumi;
0068   bool doHitEfficiency_;
0069   bool isUpgrade_;
0070   std::string inputSource_;
0071 
0072   std::ostringstream html_out_;
0073 
0074   edm::EDGetTokenT<FEDRawDataCollection> inputSourceToken_;
0075   SiPixelFedCablingMap theCablingMap;
0076 
0077   edm::ESGetToken<SiPixelFedCablingMap, SiPixelFedCablingMapRcd> cablingMapToken_;
0078 };
0079 
0080 #endif