File indexing completed on 2024-04-06 12:07:06
0001 #ifndef DTSegmentAnalysisTest_H
0002 #define DTSegmentAnalysisTest_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include "FWCore/Framework/interface/Frameworkfwd.h"
0016 #include "DataFormats/Common/interface/Handle.h"
0017 #include "FWCore/Framework/interface/ESHandle.h"
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "FWCore/Framework/interface/MakerMacros.h"
0020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0021 #include "FWCore/Framework/interface/LuminosityBlock.h"
0022
0023 #include "DQMServices/Core/interface/DQMStore.h"
0024 #include "FWCore/ServiceRegistry/interface/Service.h"
0025 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0026 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0027
0028 #include <memory>
0029 #include <iostream>
0030 #include <fstream>
0031 #include <string>
0032 #include <vector>
0033 #include <map>
0034
0035 class DTGeometry;
0036 class DTChamberId;
0037 class DTSuperLayerId;
0038
0039 class DTSegmentAnalysisTest : public DQMEDHarvester {
0040 public:
0041
0042 DTSegmentAnalysisTest(const edm::ParameterSet &ps);
0043
0044
0045 ~DTSegmentAnalysisTest() override;
0046
0047 void beginRun(const edm::Run &, const edm::EventSetup &) override;
0048
0049 void bookHistos(DQMStore::IBooker &);
0050
0051
0052 std::string getMEName(const DTChamberId &chID, std::string histoTag);
0053
0054
0055 void performClientDiagnostic(DQMStore::IGetter &);
0056
0057 protected:
0058 void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;
0059 void dqmEndLuminosityBlock(DQMStore::IBooker &,
0060 DQMStore::IGetter &,
0061 edm::LuminosityBlock const &,
0062 edm::EventSetup const &) override;
0063
0064 void dqmBeginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &);
0065
0066 private:
0067 int nLSs;
0068 unsigned int nLumiSegs;
0069
0070 bool detailedAnalysis;
0071 int nMinEvts;
0072
0073 int maxPhiHit;
0074 int maxPhiZHit;
0075
0076 bool runOnline;
0077
0078 bool bookingdone;
0079
0080 edm::ParameterSet parameters;
0081 edm::ESGetToken<DTGeometry, MuonGeometryRecord> muonGeomToken_;
0082 const DTGeometry *muonGeom;
0083
0084
0085 std::map<std::pair<int, int>, MonitorElement *> chi2Histos;
0086 std::map<std::pair<int, int>, MonitorElement *> segmRecHitHistos;
0087 std::map<int, MonitorElement *> summaryHistos;
0088
0089 std::string topHistoFolder;
0090 };
0091
0092 #endif