Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:09:09

0001 #ifndef TrackingMonitorClient_TrackingOfflineDQM_h
0002 #define TrackingMonitorClient_TrackingOfflineDQM_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     TrackingMonitorClient
0006 // Class  :     TrackingOfflineDQM
0007 //
0008 /**\class TrackingOfflineDQM TrackingOfflineDQM.h DQM/TrackingMonitorCluster/interface/TrackingOfflineDQM.h
0009 
0010  Description: 
0011    DQM class to perform Summary creation Quality Test on a merged Root file
0012    after CAF processing
0013  Usage:
0014     <usage>
0015 
0016 */
0017 //
0018 // Original Author:  Samvel Khalatyan (ksamdev at gmail dot com)
0019 //         Created:  Wed Oct 5 16:47:14 CET 2006
0020 //
0021 
0022 #include <string>
0023 
0024 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0026 #include "FWCore/Framework/interface/ESHandle.h"
0027 #include "FWCore/Framework/interface/LuminosityBlock.h"
0028 #include "FWCore/Framework/interface/Run.h"
0029 #include "FWCore/Framework/interface/EventSetup.h"
0030 
0031 #include "DQMServices/Core/interface/DQMStore.h"
0032 
0033 #include <iostream>
0034 #include <fstream>
0035 #include <string>
0036 #include <vector>
0037 #include <map>
0038 
0039 class TrackingActionExecutor;
0040 class SiStripDetCabling;
0041 class RunInfo;
0042 class RunInfoRcd;
0043 
0044 class TrackingOfflineDQM : public DQMEDHarvester {
0045 public:
0046   /// Constructor
0047   TrackingOfflineDQM(const edm::ParameterSet& ps);
0048 
0049   /// Destructor
0050   ~TrackingOfflineDQM() override;
0051 
0052 private:
0053   /// BeginJob
0054   void beginJob() override;
0055 
0056   /// BeginRun
0057   void beginRun(edm::Run const& run, edm::EventSetup const& eSetup) override;
0058 
0059   /// End Luminosity Block
0060   void dqmEndLuminosityBlock(DQMStore::IBooker& ibooker_,
0061                              DQMStore::IGetter& igetter_,
0062                              edm::LuminosityBlock const& lumiSeg,
0063                              edm::EventSetup const& eSetup) override;
0064 
0065   /// Endjob
0066   void dqmEndJob(DQMStore::IBooker& ibooker_, DQMStore::IGetter& igetter_) override;
0067 
0068 private:
0069   bool openInputFile();
0070 
0071   TrackingActionExecutor* actionExecutor_;
0072   std::string inputFileName_;
0073   std::string outputFileName_;
0074   int globalStatusFilling_;
0075   bool usedWithEDMtoMEConverter_;
0076   bool trackerFEDsFound_;
0077   bool allpixelFEDsFound_;
0078 
0079   edm::ParameterSet configPar_;
0080   edm::ESGetToken<RunInfo, RunInfoRcd> runInfoToken_;
0081   const RunInfo* sumFED_ = nullptr;
0082 };
0083 #endif