CMS 3D CMS Logo

RPCRechitProbabilityClient.cc
Go to the documentation of this file.
1 // Original Author: Anna Cimmino
2 
4 //Framework
7 //DQMServices
9 
10 #include <string>
11 
13 
14  edm::LogVerbatim ("rpcdqmclient") << "[RPCRecHitProbabilityClient]: Constructor";
15 
16 
17  std::string subsystemFolder= iConfig.getUntrackedParameter<std::string>("RPCFolder", "RPC");
18  std::string recHitTypeFolder= iConfig.getUntrackedParameter<std::string>("MuonFolder", "Muon");
19 
20  std::string summaryFolder = iConfig.getUntrackedParameter<std::string>("GlobalFolder", "SummaryHistograms");
21 
22  globalFolder_ = subsystemFolder + "/"+ recHitTypeFolder + "/"+ summaryFolder ;
23 
24 }
25 
27 
29 
30  edm::LogVerbatim ("rpcrechitprobabilityclient") << "[RPCRecHitProbabilityClient]: Begin Job";
31 
32 }
33 
34 
36 
37 
38 
40 
41  edm::LogVerbatim ("rpcrechitprobabilityclient") << "[RPCRecHitProbabilityClient]: End Run";
42 
43  MonitorElement * NumberOfMuonEta = igetter.get( globalFolder_ +"/NumberOfMuonEta");
44  MonitorElement * NumberOfMuonPt_B = igetter.get( globalFolder_ + "/NumberOfMuonPt_Barrel");
45  MonitorElement * NumberOfMuonPt_EP = igetter.get( globalFolder_ + "/NumberOfMuonPt_EndcapP");
46  MonitorElement * NumberOfMuonPt_EM = igetter.get( globalFolder_ + "/NumberOfMuonPt_EndcapM");
47  MonitorElement * NumberOfMuonPhi_B = igetter.get( globalFolder_ + "/NumberOfMuonPhi_Barrel");
48  MonitorElement * NumberOfMuonPhi_EP = igetter.get( globalFolder_ + "/NumberOfMuonPhi_EndcapP");
49  MonitorElement * NumberOfMuonPhi_EM = igetter.get( globalFolder_ + "/NumberOfMuonPhi_EndcapM");
50 
51  if(NumberOfMuonEta == nullptr ||
52  NumberOfMuonPt_B == nullptr || NumberOfMuonPt_EP == nullptr || NumberOfMuonPt_EM == nullptr ||
53  NumberOfMuonPhi_B == nullptr || NumberOfMuonPhi_EP == nullptr || NumberOfMuonPhi_EM == nullptr ) return;
54 
55 
56  TH1F * NumberOfMuonEtaTH1F = NumberOfMuonEta->getTH1F();
57  TH1F * NumberOfMuonPtBTH1F = NumberOfMuonPt_B->getTH1F();
58  TH1F * NumberOfMuonPtEPTH1F = NumberOfMuonPt_EP->getTH1F();
59  TH1F * NumberOfMuonPtEMTH1F = NumberOfMuonPt_EM->getTH1F();
60  TH1F * NumberOfMuonPhiBTH1F = NumberOfMuonPhi_B->getTH1F();
61  TH1F * NumberOfMuonPhiEPTH1F = NumberOfMuonPhi_EP->getTH1F();
62  TH1F * NumberOfMuonPhiEMTH1F = NumberOfMuonPhi_EM->getTH1F();
63 
65  TH1F * recHitTH1F;
66  std::stringstream name;
67 
68  for(int i = 1 ; i<= 6 ; i++) {
69 
70  recHit = nullptr;
71  recHitTH1F = nullptr;
72 
73  name.str("");
74  name<< globalFolder_ <<"/"<<i<<"RecHitMuonEta";
75  recHit = igetter.get(name.str());
76 
77  if(recHit){
78 
79  recHitTH1F = recHit->getTH1F();
80  recHitTH1F->Divide(NumberOfMuonEtaTH1F);
81  }
82 
83  recHit = nullptr;
84  recHitTH1F = nullptr;
85 
86  name.str("");
87  name<< globalFolder_ <<"/"<<i<<"RecHitMuonPtB";
88  recHit = igetter.get(name.str());
89 
90  if(recHit){
91  recHitTH1F = recHit->getTH1F();
92  recHitTH1F->Divide(NumberOfMuonPtBTH1F);
93  }
94 
95  recHit = nullptr;
96  recHitTH1F = nullptr;
97 
98  name.str("");
99  name<< globalFolder_ <<"/"<<i<<"RecHitMuonPhiB";
100  recHit = igetter.get(name.str());
101 
102  if(recHit){
103  recHitTH1F = recHit->getTH1F();
104  recHitTH1F->Divide(NumberOfMuonPhiBTH1F);
105  }
106 
107  recHit = nullptr;
108  recHitTH1F = nullptr;
109 
110  name.str("");
111  name<< globalFolder_ <<"/"<<i<<"RecHitMuonPtEP";
112  recHit = igetter.get(name.str());
113 
114  if(recHit){
115  recHitTH1F = recHit->getTH1F();
116  recHitTH1F->Divide(NumberOfMuonPtEPTH1F);
117  }
118 
119  recHit = nullptr;
120  recHitTH1F = nullptr;
121 
122  name.str("");
123  name<< globalFolder_ <<"/"<<i<<"RecHitMuonPhiEP";
124  recHit = igetter.get(name.str());
125 
126  if(recHit){
127  recHitTH1F = recHit->getTH1F();
128  recHitTH1F->Divide(NumberOfMuonPhiEPTH1F);
129  }
130 
131 
132  recHit = nullptr;
133  recHitTH1F = nullptr;
134 
135  name.str("");
136  name<< globalFolder_ <<"/"<<i<<"RecHitMuonPtEM";
137  recHit = igetter.get(name.str());
138 
139  if(recHit){
140  recHitTH1F = recHit->getTH1F();
141  recHitTH1F->Divide(NumberOfMuonPtEMTH1F);
142  }
143 
144  recHit = nullptr;
145  recHitTH1F = nullptr;
146 
147  name.str("");
148  name<< globalFolder_ <<"/"<<i<<"RecHitMuonPhiEM";
149  recHit = igetter.get(name.str());
150 
151  if(recHit){
152  recHitTH1F = recHit->getTH1F();
153  recHitTH1F->Divide(NumberOfMuonPhiEMTH1F);
154  }
155 
156 
157 
158  }
159 
160 }
161 
162 
163 
164 
T getUntrackedParameter(std::string const &, T const &) const
TH1F * getTH1F() const
MonitorElement * get(const std::string &path)
Definition: DQMStore.cc:302
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
RPCRecHitProbabilityClient(const edm::ParameterSet &ps)
Constructor.
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
~RPCRecHitProbabilityClient() override
Destructor.