CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
CandidateBenchmark Class Reference

To plot Candidate quantities. More...

#include <CandidateBenchmark.h>

Inheritance diagram for CandidateBenchmark:
Benchmark CandidateBenchmarkAnalyzer

Public Member Functions

 CandidateBenchmark (Mode mode)
 
template<class C >
void fill (const C &candidates)
 
void fillOne (const reco::Candidate &candidate)
 fill histograms with a given particle More...
 
void setup (DQMStore::IBooker &b)
 book histograms More...
 
void setup (DQMStore::IBooker &b, const edm::ParameterSet &parameterSet)
 
 ~CandidateBenchmark () override
 
- Public Member Functions inherited from Benchmark
 Benchmark (Mode mode=DEFAULT)
 
bool isInRange (float pt, float eta, float phi) const
 
virtual void setDirectory (TDirectory *dir)
 
void setParameters (Mode mode)
 
void setRange (float ptMin, float ptMax, float etaMin, float etaMax, float phiMin, float phiMax)
 
void write ()
 
virtual ~Benchmark ()(false)
 

Protected Attributes

TH1F * charge_
 
TH1F * eta_
 
bool histogramBooked_
 
TH1F * pdgId_
 COLIN add this histo. More...
 
TH1F * phi_
 
TH1F * pt_
 
- Protected Attributes inherited from Benchmark
TDirectory * dir_
 
float etaMax_
 
float etaMin_
 
Mode mode_
 
float phiMax_
 
float phiMin_
 
float ptMax_
 
float ptMin_
 

Additional Inherited Members

- Public Types inherited from Benchmark
enum  Mode { DEFAULT, DQMOFFLINE, VALIDATION }
 
- Protected Member Functions inherited from Benchmark
TH1F * book1D (DQMStore::IBooker &b, const char *histname, const char *title, int nbins, float xmin, float xmax)
 book a 1D histogram, either through IBooker or plain root More...
 
TH2F * book2D (DQMStore::IBooker &b, const char *histname, const char *title, int nbinsx, float xmin, float xmax, int nbinsy, float ymin, float ymax)
 book a 2D histogram, either through IBooker or plain root More...
 
TH2F * book2D (DQMStore::IBooker &b, const char *histname, const char *title, int nbinsx, float *xbins, int nbinsy, float ymin, float ymax)
 book a 2D histogram, either through IBooker or plain root More...
 
TProfile * bookProfile (DQMStore::IBooker &b, const char *histname, const char *title, int nbinsx, float xmin, float xmax, float ymin, float ymax, const char *option)
 book a TProfile, either through IBooker or plain root More...
 
TProfile * bookProfile (DQMStore::IBooker &b, const char *histname, const char *title, int nbinsx, float *xbins, float ymin, float ymax, const char *option)
 book a TProfile, either through IBooker or plain root More...
 

Detailed Description

To plot Candidate quantities.

Definition at line 10 of file CandidateBenchmark.h.

Constructor & Destructor Documentation

CandidateBenchmark::CandidateBenchmark ( Mode  mode)

Definition at line 12 of file CandidateBenchmark.cc.

References charge_, eta_, histogramBooked_, pdgId_, phi_, and pt_.

12  : Benchmark(mode) {
13  pt_ = nullptr;
14  eta_ = nullptr;
15  phi_ = nullptr;
16  charge_ = nullptr;
17  pdgId_ = nullptr;
18 
19  histogramBooked_ = false;
20 }
TH1F * pdgId_
COLIN add this histo.
Benchmark(Mode mode=DEFAULT)
Definition: Benchmark.h:34
CandidateBenchmark::~CandidateBenchmark ( )
override

Definition at line 22 of file CandidateBenchmark.cc.

22 {}

Member Function Documentation

template<class C >
void CandidateBenchmark::fill ( const C &  candidates)

Definition at line 37 of file CandidateBenchmark.h.

References fillOne(), and mps_fire::i.

Referenced by CandidateBenchmarkAnalyzer::analyze().

37  {
38  for (unsigned int i = 0; i < candCollection.size(); i++) {
39  const reco::Candidate &cand = candCollection[i];
40  fillOne(cand);
41  }
42 }
void fillOne(const reco::Candidate &candidate)
fill histograms with a given particle
void CandidateBenchmark::fillOne ( const reco::Candidate candidate)

fill histograms with a given particle

Definition at line 90 of file CandidateBenchmark.cc.

References reco::Candidate::charge(), charge_, reco::Candidate::eta(), eta_, histogramBooked_, Benchmark::isInRange(), reco::Candidate::phi(), phi_, reco::Candidate::pt(), and pt_.

Referenced by fill(), PFCandidateMonitor::fill(), PFCandidateManager::fill(), PFJetMonitor::fill(), and PFMETMonitor::fillOne().

90  {
91  if (!isInRange(cand.pt(), cand.eta(), cand.phi()))
92  return;
93 
94  if (histogramBooked_) {
95  if (pt_)
96  pt_->Fill(cand.pt());
97  if (eta_)
98  eta_->Fill(cand.eta());
99  if (phi_)
100  phi_->Fill(cand.phi());
101  if (charge_)
102  charge_->Fill(cand.charge());
103  }
104 }
bool isInRange(float pt, float eta, float phi) const
Definition: Benchmark.h:50
void CandidateBenchmark::setup ( DQMStore::IBooker b)

book histograms

Definition at line 24 of file CandidateBenchmark.cc.

References Benchmark::book1D(), charge_, Benchmark::DQMOFFLINE, eta_, histogramBooked_, Benchmark::PhaseSpace::m, Benchmark::PhaseSpace::M, Benchmark::mode_, Benchmark::PhaseSpace::n, phi_, and pt_.

Referenced by CandidateBenchmarkAnalyzer::bookHistograms(), PFMETMonitor::setup(), PFCandidateMonitor::setup(), and PFJetMonitor::setup().

24  {
25  if (!histogramBooked_) {
26  PhaseSpace ptPS(100, 0, 100);
27  PhaseSpace phiPS(360, -3.1416, 3.1416);
28  PhaseSpace etaPS(100, -5, 5);
29  switch (mode_) {
30  case DQMOFFLINE:
31  default:
32  ptPS = PhaseSpace(50, 0, 100);
33  phiPS.n = 50;
34  etaPS.n = 20;
35  break;
36  }
37 
38  pt_ = book1D(b, "pt_", "pt_;p_{T} (GeV)", ptPS.n, ptPS.m, ptPS.M);
39  eta_ = book1D(b, "eta_", "eta_;#eta", etaPS.n, etaPS.m, etaPS.M);
40  phi_ = book1D(b, "phi_", "phi_;#phi", phiPS.n, phiPS.m, phiPS.M);
41  charge_ = book1D(b, "charge_", "charge_;charge", 3, -1.5, 1.5);
42 
43  histogramBooked_ = true;
44  }
45 }
TH1F * book1D(DQMStore::IBooker &b, const char *histname, const char *title, int nbins, float xmin, float xmax)
book a 1D histogram, either through IBooker or plain root
Definition: Benchmark.cc:16
Mode mode_
Definition: Benchmark.h:124
void CandidateBenchmark::setup ( DQMStore::IBooker b,
const edm::ParameterSet parameterSet 
)

Definition at line 47 of file CandidateBenchmark.cc.

References Benchmark::book1D(), charge_, eta_, edm::ParameterSet::getParameter(), histogramBooked_, phi_, and pt_.

47  {
48  if (!histogramBooked_) {
49  edm::ParameterSet ptPS = parameterSet.getParameter<edm::ParameterSet>("PtHistoParameter");
50  edm::ParameterSet etaPS = parameterSet.getParameter<edm::ParameterSet>("EtaHistoParameter");
51  edm::ParameterSet phiPS = parameterSet.getParameter<edm::ParameterSet>("PhiHistoParameter");
52  edm::ParameterSet chPS = parameterSet.getParameter<edm::ParameterSet>("ChargeHistoParameter");
53 
54  if (ptPS.getParameter<bool>("switchOn")) {
55  pt_ = book1D(b,
56  "pt_",
57  "p_{T};p_{T} (GeV)",
58  ptPS.getParameter<int32_t>("nBin"),
59  ptPS.getParameter<double>("xMin"),
60  ptPS.getParameter<double>("xMax"));
61  }
62  if (etaPS.getParameter<bool>("switchOn")) {
63  eta_ = book1D(b,
64  "eta_",
65  "#eta;#eta",
66  etaPS.getParameter<int32_t>("nBin"),
67  etaPS.getParameter<double>("xMin"),
68  etaPS.getParameter<double>("xMax"));
69  }
70  if (phiPS.getParameter<bool>("switchOn")) {
71  phi_ = book1D(b,
72  "phi_",
73  "#phi;#phi",
74  phiPS.getParameter<int32_t>("nBin"),
75  phiPS.getParameter<double>("xMin"),
76  phiPS.getParameter<double>("xMax"));
77  }
78  if (chPS.getParameter<bool>("switchOn")) {
79  charge_ = book1D(b,
80  "charge_",
81  "charge;charge",
82  chPS.getParameter<int32_t>("nBin"),
83  chPS.getParameter<double>("xMin"),
84  chPS.getParameter<double>("xMax"));
85  }
86  histogramBooked_ = true;
87  }
88 }
T getParameter(std::string const &) const
TH1F * book1D(DQMStore::IBooker &b, const char *histname, const char *title, int nbins, float xmin, float xmax)
book a 1D histogram, either through IBooker or plain root
Definition: Benchmark.cc:16

Member Data Documentation

TH1F* CandidateBenchmark::charge_
protected

Definition at line 29 of file CandidateBenchmark.h.

Referenced by CandidateBenchmark(), fillOne(), and setup().

TH1F* CandidateBenchmark::eta_
protected

Definition at line 27 of file CandidateBenchmark.h.

Referenced by CandidateBenchmark(), fillOne(), and setup().

bool CandidateBenchmark::histogramBooked_
protected

Definition at line 33 of file CandidateBenchmark.h.

Referenced by CandidateBenchmark(), fillOne(), and setup().

TH1F* CandidateBenchmark::pdgId_
protected

COLIN add this histo.

Definition at line 31 of file CandidateBenchmark.h.

Referenced by CandidateBenchmark().

TH1F* CandidateBenchmark::phi_
protected

Definition at line 28 of file CandidateBenchmark.h.

Referenced by CandidateBenchmark(), fillOne(), and setup().

TH1F* CandidateBenchmark::pt_
protected

Definition at line 26 of file CandidateBenchmark.h.

Referenced by CandidateBenchmark(), fillOne(), and setup().