File indexing completed on 2024-04-06 12:08:12
0001
0002 #include "DQM/RPCMonitorClient/interface/RPCRecHitProbabilityClient.h"
0003 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0004
0005 #include <string>
0006 #include <fmt/format.h>
0007
0008 RPCRecHitProbabilityClient::RPCRecHitProbabilityClient(const edm::ParameterSet &iConfig) {
0009 edm::LogVerbatim("rpcdqmclient") << "[RPCRecHitProbabilityClient]: Constructor";
0010
0011 const std::string subsystemFolder = iConfig.getUntrackedParameter<std::string>("RPCFolder", "RPC");
0012 const std::string recHitTypeFolder = iConfig.getUntrackedParameter<std::string>("MuonFolder", "Muon");
0013
0014 const std::string summaryFolder = iConfig.getUntrackedParameter<std::string>("GlobalFolder", "SummaryHistograms");
0015
0016 globalFolder_ = subsystemFolder + "/" + recHitTypeFolder + "/" + summaryFolder;
0017 }
0018
0019 void RPCRecHitProbabilityClient::beginJob() {
0020 edm::LogVerbatim("rpcrechitprobabilityclient") << "[RPCRecHitProbabilityClient]: Begin Job";
0021 }
0022
0023 void RPCRecHitProbabilityClient::dqmEndLuminosityBlock(DQMStore::IBooker &,
0024 DQMStore::IGetter &,
0025 edm::LuminosityBlock const &,
0026 edm::EventSetup const &) {}
0027
0028 void RPCRecHitProbabilityClient::dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) {
0029 edm::LogVerbatim("rpcrechitprobabilityclient") << "[RPCRecHitProbabilityClient]: End Run";
0030
0031 MonitorElement *NumberOfMuonEta = igetter.get(globalFolder_ + "/NumberOfMuonEta");
0032 MonitorElement *NumberOfMuonPt_B = igetter.get(globalFolder_ + "/NumberOfMuonPt_Barrel");
0033 MonitorElement *NumberOfMuonPt_EP = igetter.get(globalFolder_ + "/NumberOfMuonPt_EndcapP");
0034 MonitorElement *NumberOfMuonPt_EM = igetter.get(globalFolder_ + "/NumberOfMuonPt_EndcapM");
0035 MonitorElement *NumberOfMuonPhi_B = igetter.get(globalFolder_ + "/NumberOfMuonPhi_Barrel");
0036 MonitorElement *NumberOfMuonPhi_EP = igetter.get(globalFolder_ + "/NumberOfMuonPhi_EndcapP");
0037 MonitorElement *NumberOfMuonPhi_EM = igetter.get(globalFolder_ + "/NumberOfMuonPhi_EndcapM");
0038
0039 if (NumberOfMuonEta == nullptr || NumberOfMuonPt_B == nullptr || NumberOfMuonPt_EP == nullptr ||
0040 NumberOfMuonPt_EM == nullptr || NumberOfMuonPhi_B == nullptr || NumberOfMuonPhi_EP == nullptr ||
0041 NumberOfMuonPhi_EM == nullptr)
0042 return;
0043
0044 TH1F *NumberOfMuonEtaTH1F = NumberOfMuonEta->getTH1F();
0045 TH1F *NumberOfMuonPtBTH1F = NumberOfMuonPt_B->getTH1F();
0046 TH1F *NumberOfMuonPtEPTH1F = NumberOfMuonPt_EP->getTH1F();
0047 TH1F *NumberOfMuonPtEMTH1F = NumberOfMuonPt_EM->getTH1F();
0048 TH1F *NumberOfMuonPhiBTH1F = NumberOfMuonPhi_B->getTH1F();
0049 TH1F *NumberOfMuonPhiEPTH1F = NumberOfMuonPhi_EP->getTH1F();
0050 TH1F *NumberOfMuonPhiEMTH1F = NumberOfMuonPhi_EM->getTH1F();
0051
0052 MonitorElement *recHit;
0053 for (int i = 1; i <= 6; i++) {
0054 recHit = igetter.get(fmt::format("{}/{}RecHitMuonEta", globalFolder_, i));
0055 if (recHit)
0056 recHit->getTH1F()->Divide(NumberOfMuonEtaTH1F);
0057
0058 recHit = igetter.get(fmt::format("{}/{}RecHitMuonPtB", globalFolder_, i));
0059 if (recHit) {
0060 recHit->getTH1F()->Divide(NumberOfMuonPtBTH1F);
0061 }
0062
0063 recHit = igetter.get(fmt::format("{}/{}RecHitMuonPhiB", globalFolder_, i));
0064 if (recHit) {
0065 recHit->getTH1F()->Divide(NumberOfMuonPhiBTH1F);
0066 }
0067
0068 recHit = igetter.get(fmt::format("{}/{}RecHitMuonPtEP", globalFolder_, i));
0069 if (recHit) {
0070 recHit->getTH1F()->Divide(NumberOfMuonPtEPTH1F);
0071 }
0072
0073 recHit = igetter.get(fmt::format("{}/{}RecHitMuonPhiEP", globalFolder_, i));
0074 if (recHit) {
0075 recHit->getTH1F()->Divide(NumberOfMuonPhiEPTH1F);
0076 }
0077
0078 recHit = igetter.get(fmt::format("{}/{}RecHitMuonPtEM", globalFolder_, i));
0079 if (recHit) {
0080 recHit->getTH1F()->Divide(NumberOfMuonPtEMTH1F);
0081 }
0082
0083 recHit = igetter.get(fmt::format("{}/{}RecHitMuonPhiEM", globalFolder_, i));
0084 if (recHit) {
0085 recHit->getTH1F()->Divide(NumberOfMuonPhiEMTH1F);
0086 }
0087 }
0088 }