Skip to content

Commit cbcad39

Browse files
committed
Implementation of suggested corrections in PR47235
1 parent 3727ca8 commit cbcad39

18 files changed

+1636
-1375
lines changed

DQMOffline/Configuration/python/autoDQM.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
'PostDQMOffline',
33
'DQMMessageLoggerClientSeq'],
44

5-
'commonReduced': ['@dcs+@DQMMessageLogger+@hlt+@beam+@castor+@physics',
5+
'commonReduced': ['@dcs+@DQMMessageLogger+@hlt+@beam+@castor+@physics',
66
'PostDQMOffline',
77
'@dcs+@DQMMessageLogger+@hlt+@beam+@fed+dqmFastTimerServiceClient'],
88

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,48 @@
1-
<use name="FWCore/Framework"/>
2-
<use name="FWCore/Utilities"/>
1+
<use name="CalibFormats/SiStripObjects"/>
2+
<use name="CalibTracker/Records"/>
3+
<use name="CommonTools/TriggerUtils"/>
4+
<use name="CondFormats/DTObjects"/>
5+
<use name="CondFormats/DataRecord"/>
6+
<use name="CondFormats/SiStripObjects"/>
37
<use name="DQMServices/Core"/>
4-
<use name="FWCore/PluginManager"/>
5-
<use name="MagneticField/Engine"/>
6-
<use name="MagneticField/Records"/>
7-
<use name="Geometry/CaloGeometry"/>
8-
<use name="Geometry/CSCGeometry"/>
9-
<use name="Geometry/HcalTowerAlgo"/>
10-
<use name="HLTrigger/HLTcore"/>
11-
<use name="HLTriggerOffline/Scouting"/>
12-
<use name="DataFormats/JetReco"/>
13-
<use name="DataFormats/METReco"/>
148
<use name="DataFormats/CaloTowers"/>
15-
<use name="DataFormats/HcalRecHit"/>
16-
<use name="DataFormats/HcalDetId"/>
17-
<use name="DataFormats/EgammaReco"/>
18-
<use name="DataFormats/EgammaCandidates"/>
199
<use name="DataFormats/CSCRecHit"/>
20-
<use name="DataFormats/EcalDetId"/>
21-
<use name="DataFormats/DetId"/>
22-
<use name="DataFormats/RecoCandidate"/>
23-
<use name="DataFormats/MuonReco"/>
24-
<use name="DataFormats/FEDRawData"/>
25-
<use name="RecoJets/JetProducers"/>
26-
<use name="RecoJets/JetAssociationAlgorithms"/>
27-
<use name="RecoMuon/TrackingTools"/>
28-
<use name="TrackingTools/TransientTrack"/>
29-
<use name="TrackingTools/Records"/>
30-
<use name="DataFormats/TrackReco"/>
31-
<use name="DataFormats/Common"/>
32-
<use name="DataFormats/Math"/>
3310
<use name="DataFormats/CSCDigi"/>
3411
<use name="DataFormats/CSCRecHit"/>
3512
<use name="DataFormats/DTRecHit"/>
13+
<use name="DataFormats/DetId"/>
14+
<use name="DataFormats/EcalDetId"/>
15+
<use name="DataFormats/EgammaCandidates"/>
16+
<use name="DataFormats/EgammaReco"/>
17+
<use name="DataFormats/FEDRawData"/>
18+
<use name="DataFormats/HcalDetId"/>
19+
<use name="DataFormats/HcalRecHit"/>
20+
<use name="DataFormats/JetReco"/>
21+
<use name="DataFormats/METReco"/>
22+
<use name="DataFormats/Math"/>
23+
<use name="DataFormats/MuonReco"/>
3624
<use name="DataFormats/PatCandidates"/>
37-
<use name="DataFormats/TrackingRecHit"/>
38-
<use name="DataFormats/TrackerRecHit2D"/>
25+
<use name="DataFormats/RecoCandidate"/>
3926
<use name="DataFormats/SiStripCluster"/>
4027
<use name="DataFormats/SiStripDetId"/>
41-
<use name="CalibFormats/SiStripObjects"/>
42-
<use name="CondFormats/SiStripObjects"/>
43-
<use name="CondFormats/DTObjects"/>
44-
<use name="CalibTracker/Records"/>
45-
<use name="CondFormats/DataRecord"/>
46-
<use name="CommonTools/TriggerUtils"/>
47-
<use name="JetMETCorrections/JetCorrector"/>
28+
<use name="DataFormats/TrackReco"/>
29+
<use name="DataFormats/TrackerRecHit2D"/>
30+
<use name="DataFormats/TrackingRecHit"/>
4831
<use name="EventFilter/CSCRawToDigi"/>
32+
<use name="FWCore/Framework"/>
33+
<use name="FWCore/PluginManager"/>
34+
<use name="FWCore/Utilities"/>
35+
<use name="Geometry/CaloGeometry"/>
36+
<use name="Geometry/CSCGeometry"/>
37+
<use name="Geometry/HcalTowerAlgo"/>
38+
<use name="HLTrigger/HLTcore"/>
39+
<use name="HLTriggerOffline/Scouting"/>
40+
<use name="JetMETCorrections/JetCorrector"/>
41+
<use name="MagneticField/Engine"/>
42+
<use name="MagneticField/Records"/>
43+
<use name="RecoJets/JetAssociationAlgorithms"/>
44+
<use name="RecoJets/JetProducers"/>
45+
<use name="RecoMuon/TrackingTools"/>
46+
<use name="TrackingTools/Records"/>
47+
<use name="TrackingTools/TransientTrack"/>
4948
<flags EDM_PLUGIN="1"/>

HLTriggerOffline/Scouting/plugins/BuildFile.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
<use name="TrackingTools/Records"/>
1212
<use name="HLTrigger/HLTcore"/>
1313
<use name="DataFormats/HLTReco"/>
14-
<flags EDM_PLUGIN="1"/>
14+
<flags EDM_PLUGIN="1"/>

HLTriggerOffline/Scouting/plugins/ElectronEfficiencyPlotter.cc

Lines changed: 62 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,51 @@
11
#include "ElectronEfficiencyPlotter.h"
22

33
// Framework
4-
#include <FWCore/Framework/interface/Event.h>
5-
#include "DataFormats/Common/interface/Handle.h"
6-
#include <FWCore/Framework/interface/ESHandle.h>
7-
#include <FWCore/Framework/interface/MakerMacros.h>
8-
#include <FWCore/Framework/interface/EventSetup.h>
9-
#include <FWCore/ParameterSet/interface/ParameterSet.h>
4+
#include <cmath>
5+
#include <string>
106

117
#include "DQMServices/Core/interface/DQMStore.h"
8+
#include "DataFormats/Common/interface/Handle.h"
9+
#include "FWCore/Framework/interface/ESHandle.h"
10+
#include "FWCore/Framework/interface/Event.h"
11+
#include "FWCore/Framework/interface/EventSetup.h"
12+
#include "FWCore/Framework/interface/MakerMacros.h"
1213
#include "FWCore/MessageLogger/interface/MessageLogger.h"
13-
#include "FWCore/Framework/interface/Run.h"
14-
15-
#include <iostream>
16-
#include <cstdio>
17-
#include <string>
18-
#include <cmath>
14+
#include "FWCore/ParameterSet/interface/ParameterSet.h"
1915
#include "TF1.h"
2016
#include "TH1F.h"
2117

2218
using namespace edm;
2319
using namespace std;
2420

25-
ElectronEfficiencyPlotter::ElectronEfficiencyPlotter(const edm::ParameterSet &ps) {
26-
parameters = ps;
21+
// Constructor
22+
ElectronEfficiencyPlotter::ElectronEfficiencyPlotter(
23+
const edm::ParameterSet &ps) {
24+
ptBin_ = ps.getParameter<int>("ptBin");
25+
ptMin_ = ps.getParameter<double>("ptMin");
26+
ptMax_ = ps.getParameter<double>("ptMax");
2727

28-
ptBin = parameters.getParameter<int>("ptBin");
29-
ptMin = parameters.getParameter<double>("ptMin");
30-
ptMax = parameters.getParameter<double>("ptMax");
31-
32-
ID_ = parameters.getParameter<string>("sctElectronID");
33-
theFolder_ = parameters.getParameter<string>("folder");
34-
sourceFolder_ = parameters.getParameter<string>("srcFolder");
28+
ID_ = ps.getParameter<string>("sctElectronID");
29+
theFolder_ = ps.getParameter<string>("folder");
30+
sourceFolder_ = ps.getParameter<string>("srcFolder");
3531
}
3632

37-
ElectronEfficiencyPlotter::~ElectronEfficiencyPlotter() {}
38-
39-
void ElectronEfficiencyPlotter::dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) {
33+
void ElectronEfficiencyPlotter::dqmEndJob(DQMStore::IBooker &ibooker,
34+
DQMStore::IGetter &igetter) {
4035
ibooker.setCurrentFolder(theFolder_);
4136

4237
h_eff_pt_EB_doubleEG_HLT =
43-
ibooker.book1D("Eff_pt_barrel_DSTdoubleEG", "DSTdoubleEG Eff. vs Pt (barrel)", ptBin, ptMin, ptMax);
38+
ibooker.book1D("Eff_pt_barrel_DSTdoubleEG",
39+
"DSTdoubleEG Eff. vs Pt (barrel)", ptBin_, ptMin_, ptMax_);
4440
h_eff_pt_EE_doubleEG_HLT =
45-
ibooker.book1D("Eff_pt_endcap_DSTdoubleEG", "DSTdoubleEG Eff. vs Pt (endcap)", ptBin, ptMin, ptMax);
46-
h_eff_pt_EB_singlePhoton_HLT =
47-
ibooker.book1D("Eff_pt_barrel_DSTsinglePhoton", "DSTsinglePhoton Eff. vs Pt (barrel)", ptBin, ptMin, ptMax);
48-
h_eff_pt_EE_singlePhoton_HLT =
49-
ibooker.book1D("Eff_pt_endcap_DSTsinglePhoton", "DSTsinglePhoton Eff. vs Pt (endcap)", ptBin, ptMin, ptMax);
41+
ibooker.book1D("Eff_pt_endcap_DSTdoubleEG",
42+
"DSTdoubleEG Eff. vs Pt (endcap)", ptBin_, ptMin_, ptMax_);
43+
h_eff_pt_EB_singlePhoton_HLT = ibooker.book1D(
44+
"Eff_pt_barrel_DSTsinglePhoton", "DSTsinglePhoton Eff. vs Pt (barrel)",
45+
ptBin_, ptMin_, ptMax_);
46+
h_eff_pt_EE_singlePhoton_HLT = ibooker.book1D(
47+
"Eff_pt_endcap_DSTsinglePhoton", "DSTsinglePhoton Eff. vs Pt (endcap)",
48+
ptBin_, ptMin_, ptMax_);
5049

5150
// Axis title
5251
h_eff_pt_EB_singlePhoton_HLT->setAxisTitle("p_{T} (GeV)", 1);
@@ -55,45 +54,57 @@ void ElectronEfficiencyPlotter::dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::
5554
h_eff_pt_EE_doubleEG_HLT->setAxisTitle("p_{T} (GeV)", 1);
5655

5756
MonitorElement *Numerator_pt_barrel_doubleEG_hlt =
58-
igetter.get(sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_fireTrigObj_Pt_Barrel");
57+
igetter.get(sourceFolder_ +
58+
"/resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_"
59+
"fireTrigObj_Pt_Barrel");
5960
MonitorElement *Numerator_pt_endcap_doubleEG_hlt =
60-
igetter.get(sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_fireTrigObj_Pt_Endcap");
61+
igetter.get(sourceFolder_ +
62+
"/resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_"
63+
"fireTrigObj_Pt_Endcap");
6164
MonitorElement *Numerator_pt_barrel_singlePhoton_hlt =
62-
igetter.get(sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_fireTrigObj_Pt_Barrel");
65+
igetter.get(sourceFolder_ +
66+
"/resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_"
67+
"fireTrigObj_Pt_Barrel");
6368
MonitorElement *Numerator_pt_endcap_singlePhoton_hlt =
64-
igetter.get(sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_fireTrigObj_Pt_Endcap");
65-
MonitorElement *Denominator_pt_barrel =
66-
igetter.get(sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_Pt_Barrel");
67-
MonitorElement *Denominator_pt_endcap =
68-
igetter.get(sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_Pt_Endcap");
69+
igetter.get(sourceFolder_ +
70+
"/resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_"
71+
"fireTrigObj_Pt_Endcap");
72+
MonitorElement *Denominator_pt_barrel = igetter.get(
73+
sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_Pt_Barrel");
74+
MonitorElement *Denominator_pt_endcap = igetter.get(
75+
sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_Pt_Endcap");
6976

7077
if (Numerator_pt_barrel_doubleEG_hlt && Denominator_pt_barrel)
71-
GetEfficiency(Numerator_pt_barrel_doubleEG_hlt, Denominator_pt_barrel, h_eff_pt_EB_doubleEG_HLT);
78+
calculateEfficiency(Numerator_pt_barrel_doubleEG_hlt, Denominator_pt_barrel,
79+
h_eff_pt_EB_doubleEG_HLT);
7280
if (Numerator_pt_endcap_doubleEG_hlt && Denominator_pt_endcap)
73-
GetEfficiency(Numerator_pt_endcap_doubleEG_hlt, Denominator_pt_endcap, h_eff_pt_EE_doubleEG_HLT);
81+
calculateEfficiency(Numerator_pt_endcap_doubleEG_hlt, Denominator_pt_endcap,
82+
h_eff_pt_EE_doubleEG_HLT);
7483
if (Numerator_pt_barrel_singlePhoton_hlt && Denominator_pt_barrel)
75-
GetEfficiency(Numerator_pt_barrel_singlePhoton_hlt, Denominator_pt_barrel, h_eff_pt_EB_singlePhoton_HLT);
84+
calculateEfficiency(Numerator_pt_barrel_singlePhoton_hlt,
85+
Denominator_pt_barrel, h_eff_pt_EB_singlePhoton_HLT);
7686
if (Numerator_pt_endcap_singlePhoton_hlt && Denominator_pt_endcap)
77-
GetEfficiency(Numerator_pt_endcap_singlePhoton_hlt, Denominator_pt_endcap, h_eff_pt_EE_singlePhoton_HLT);
87+
calculateEfficiency(Numerator_pt_endcap_singlePhoton_hlt,
88+
Denominator_pt_endcap, h_eff_pt_EE_singlePhoton_HLT);
7889
}
7990

80-
void ElectronEfficiencyPlotter::GetEfficiency(MonitorElement *Numerator,
81-
MonitorElement *Denominator,
82-
MonitorElement *Efficiency) {
91+
void ElectronEfficiencyPlotter::calculateEfficiency(
92+
MonitorElement *Numerator, MonitorElement *Denominator,
93+
MonitorElement *Efficiency) {
8394
TH1F *h_numerator_pt = Numerator->getTH1F();
8495
TH1F *h_denominator_pt = Denominator->getTH1F();
8596
TH1F *h_eff_pt = Efficiency->getTH1F();
86-
if (h_eff_pt->GetSumw2N() == 0)
87-
h_eff_pt->Sumw2();
97+
if (h_eff_pt->GetSumw2N() == 0) h_eff_pt->Sumw2();
8898

8999
// ReBin
90100
int nBins = h_eff_pt->GetNbinsX();
91101
double *binEdges = new double[nBins + 1];
92-
for (int i = 0; i <= nBins; i++)
93-
binEdges[i] = h_eff_pt->GetBinLowEdge(i + 1);
102+
for (int i = 0; i <= nBins; i++) binEdges[i] = h_eff_pt->GetBinLowEdge(i + 1);
94103

95-
TH1F *h_numerator_pt_rebin = (TH1F *)h_numerator_pt->Rebin(nBins, "num_pt_rebinned", binEdges);
96-
TH1F *h_denominator_pt_rebin = (TH1F *)h_denominator_pt->Rebin(nBins, "num_pt_rebinned", binEdges);
104+
TH1F *h_numerator_pt_rebin =
105+
(TH1F *)h_numerator_pt->Rebin(nBins, "num_pt_rebinned", binEdges);
106+
TH1F *h_denominator_pt_rebin =
107+
(TH1F *)h_denominator_pt->Rebin(nBins, "num_pt_rebinned", binEdges);
97108
h_eff_pt->Divide(h_numerator_pt_rebin, h_denominator_pt_rebin, 1., 1., "B");
98109
}
99110

Lines changed: 18 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,34 @@
1-
#ifndef ElectronEfficiencyPlotter_H
2-
#define ElectronEfficiencyPlotter_H
1+
#ifndef HLTriggerOffline_Scouting_ElectronEfficiencyPlotter_H
2+
#define HLTriggerOffline_Scouting_ElectronEfficiencyPlotter_H
33

4-
#include "FWCore/Framework/interface/Frameworkfwd.h"
54
#include "DQMServices/Core/interface/DQMEDHarvester.h"
5+
#include "DQMServices/Core/interface/DQMStore.h"
66
#include "DataFormats/Common/interface/Handle.h"
7-
#include <FWCore/Framework/interface/ESHandle.h>
8-
#include <FWCore/Framework/interface/Event.h>
9-
#include <FWCore/Framework/interface/MakerMacros.h>
7+
#include "FWCore/Framework/interface/ESHandle.h"
8+
#include "FWCore/Framework/interface/Event.h"
9+
#include "FWCore/Framework/interface/Frameworkfwd.h"
10+
#include "FWCore/Framework/interface/LuminosityBlock.h"
11+
#include "FWCore/Framework/interface/MakerMacros.h"
1012
#include "FWCore/ParameterSet/interface/ParameterSet.h"
11-
#include <FWCore/Framework/interface/LuminosityBlock.h>
12-
13-
#include "DQMServices/Core/interface/DQMStore.h"
1413
#include "FWCore/ServiceRegistry/interface/Service.h"
15-
#include "FWCore/Framework/interface/Run.h"
16-
17-
#include <memory>
18-
#include <iostream>
19-
#include <string>
20-
#include <vector>
21-
#include <map>
22-
#include "TH1F.h"
2314

2415
class ElectronEfficiencyPlotter : public DQMEDHarvester {
25-
public:
16+
public:
2617
// Constructor
2718
ElectronEfficiencyPlotter(const edm::ParameterSet& ps);
2819
// Destructor
29-
~ElectronEfficiencyPlotter() override;
20+
~ElectronEfficiencyPlotter() override = default;
3021

31-
protected:
22+
protected:
3223
// DQM Client Diagnostic
3324
void dqmEndJob(DQMStore::IBooker&, DQMStore::IGetter&) override;
3425

35-
private:
26+
private:
3627
// counters
37-
int nevents;
38-
unsigned int nLumiSegs;
39-
int prescaleFactor;
40-
int run;
41-
42-
edm::ParameterSet parameters;
4328

44-
int ptBin;
45-
double ptMin;
46-
double ptMax;
29+
int ptBin_;
30+
double ptMin_;
31+
double ptMax_;
4732

4833
std::string ID_;
4934

@@ -54,7 +39,9 @@ class ElectronEfficiencyPlotter : public DQMEDHarvester {
5439

5540
std::string theFolder_;
5641
std::string sourceFolder_;
57-
void GetEfficiency(MonitorElement* Numerator, MonitorElement* Denominator, MonitorElement* Efficiency);
42+
void calculateEfficiency(MonitorElement* Numerator,
43+
MonitorElement* Denominator,
44+
MonitorElement* Efficiency);
5845
};
5946

6047
#endif

0 commit comments

Comments
 (0)