CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
VertexMonitor Class Reference

#include <VertexMonitor.h>

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void initHisto (DQMStore::IBooker &ibooker)
 
 VertexMonitor (const edm::ParameterSet &, const edm::InputTag &, const edm::InputTag &, std::string pvLabel)
 
 VertexMonitor (const edm::ParameterSet &, const edm::InputTag &, const edm::InputTag &, std::string pvLabel, edm::ConsumesCollector &iC)
 
virtual ~VertexMonitor ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Public Attributes

MonitorElementChi2oNDFVsBXlumi
 
MonitorElementChi2oNDFVsGoodPVtx
 
MonitorElementChi2ProbVsBXlumi
 
MonitorElementChi2ProbVsGoodPVtx
 
edm::ParameterSet conf_
 
bool doAllPlots_
 
bool doPlotsVsBXlumi_
 
bool doPlotsVsGoodPVtx_
 
MonitorElementFractionOfGoodPVtx
 
MonitorElementFractionOfGoodPVtxVsBXlumi
 
MonitorElementFractionOfGoodPVtxVsGoodPVtx
 
MonitorElementFractionOfGoodPVtxVsPVtx
 
MonitorElementGoodPVtxChi2oNDFVsBXlumi
 
MonitorElementGoodPVtxChi2oNDFVsGoodPVtx
 
MonitorElementGoodPVtxChi2ProbVsBXlumi
 
MonitorElementGoodPVtxChi2ProbVsGoodPVtx
 
MonitorElementGoodPVtxNumberOfTracks
 
MonitorElementGoodPVtxNumberOfTracksVsBXlumi
 
MonitorElementGoodPVtxNumberOfTracksVsGoodPVtx
 
MonitorElementGoodPVtxNumberOfTracksVsGoodPVtxNdof
 
MonitorElementGoodPVtxSumPt
 
MonitorElementGoodPVtxSumPtVsBXlumi
 
MonitorElementGoodPVtxSumPtVsGoodPVtx
 
std::string histname
 
std::string label_
 
GetLumilumiDetails_
 
MonitorElementNumberOfBADndofPVtx
 
MonitorElementNumberOfBADndofPVtxVsBXlumi
 
MonitorElementNumberOfBADndofPVtxVsGoodPVtx
 
MonitorElementNumberOfFakePVtx
 
MonitorElementNumberOfFakePVtxVsBXlumi
 
MonitorElementNumberOfFakePVtxVsGoodPVtx
 
MonitorElementNumberOfGoodPVtx
 
MonitorElementNumberOfGoodPVtxVsBXlumi
 
MonitorElementNumberOfPVtx
 
MonitorElementNumberOfPVtxVsBXlumi
 
MonitorElementNumberOfPVtxVsGoodPVtx
 
edm::InputTag primaryVertexInputTag_
 
edm::EDGetTokenT< reco::VertexCollectionpvToken_
 
edm::InputTag selectedPrimaryVertexInputTag_
 
edm::EDGetTokenT< reco::VertexCollectionselpvToken_
 

Detailed Description

Monitoring source for general quantities related to vertex

Definition at line 31 of file VertexMonitor.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 33 of file VertexMonitor.h.

◆ MonitorElement

Definition at line 34 of file VertexMonitor.h.

Constructor & Destructor Documentation

◆ VertexMonitor() [1/2]

VertexMonitor::VertexMonitor ( const edm::ParameterSet iConfig,
const edm::InputTag primaryVertexInputTag,
const edm::InputTag selectedPrimaryVertexInputTag,
std::string  pvLabel 
)

Definition at line 18 of file VertexMonitor.cc.

22  : conf_(iConfig),
23  primaryVertexInputTag_(primaryVertexInputTag),
24  selectedPrimaryVertexInputTag_(selectedPrimaryVertexInputTag),
25  label_(pvLabel),
26  NumberOfPVtx(nullptr),
27  NumberOfPVtxVsBXlumi(nullptr),
28  NumberOfPVtxVsGoodPVtx(nullptr),
29  NumberOfGoodPVtx(nullptr),
30  NumberOfGoodPVtxVsBXlumi(nullptr),
31  FractionOfGoodPVtx(nullptr),
34  FractionOfGoodPVtxVsPVtx(nullptr),
35  NumberOfBADndofPVtx(nullptr),
38  GoodPVtxSumPt(nullptr),
39  GoodPVtxSumPtVsBXlumi(nullptr),
40  GoodPVtxSumPtVsGoodPVtx(nullptr),
41  GoodPVtxNumberOfTracks(nullptr),
46  GoodPVtxChi2oNDFVsBXlumi(nullptr),
48  GoodPVtxChi2ProbVsBXlumi(nullptr),
49  doAllPlots_(conf_.getParameter<bool>("doAllPlots")),
50  doPlotsVsBXlumi_(conf_.getParameter<bool>("doPlotsVsBXlumi")),
51  doPlotsVsGoodPVtx_(conf_.getParameter<bool>("doPlotsVsGoodPVtx"))
52 
53 {
54  //now do what ever initialization is needed
55  if (doPlotsVsBXlumi_)
56  lumiDetails_ = new GetLumi(iConfig.getParameter<edm::ParameterSet>("BXlumiSetup"));
57 }

References doPlotsVsBXlumi_, edm::ParameterSet::getParameter(), and lumiDetails_.

◆ VertexMonitor() [2/2]

VertexMonitor::VertexMonitor ( const edm::ParameterSet iConfig,
const edm::InputTag primaryVertexInputTag,
const edm::InputTag selectedPrimaryVertexInputTag,
std::string  pvLabel,
edm::ConsumesCollector iC 
)

◆ ~VertexMonitor()

VertexMonitor::~VertexMonitor ( )
virtual

Definition at line 72 of file VertexMonitor.cc.

72  {
73  // do anything here that needs to be done at desctruction time
74  // (e.g. close files, deallocate resources etc.)
75  // if (lumiDetails_) delete lumiDetails_;
76 }

Member Function Documentation

◆ analyze()

void VertexMonitor::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Definition at line 85 of file VertexMonitor.cc.

85  {
86  double bxlumi = 0.;
87  if (doPlotsVsBXlumi_)
88  bxlumi = lumiDetails_->getValue(iEvent);
89  // std::cout << "bxlumi : " << bxlumi << std::endl;
90 
91  size_t totalNumPV = 0;
92  size_t totalNumBADndofPV = 0;
94  iEvent.getByToken(pvToken_, pvHandle);
95  if (pvHandle.isValid()) {
96  totalNumPV = pvHandle->size();
97  // std::cout << "totalNumPV : " << totalNumPV << std::endl;
98  for (reco::VertexCollection::const_iterator pv = pvHandle->begin(); pv != pvHandle->end(); ++pv) {
99  //--- count pv w/ ndof < 4
100  if (pv->ndof() < 4.)
101  totalNumBADndofPV++;
102  }
103  } else
104  return;
105  NumberOfPVtx->Fill(totalNumPV);
106  NumberOfBADndofPVtx->Fill(totalNumBADndofPV);
107  if (doPlotsVsBXlumi_) {
108  NumberOfPVtxVsBXlumi->Fill(bxlumi, totalNumPV);
109  NumberOfBADndofPVtxVsBXlumi->Fill(bxlumi, totalNumBADndofPV);
110  }
111 
112  size_t totalNumGoodPV = 0;
114  iEvent.getByToken(selpvToken_, selpvHandle);
115  if (selpvHandle.isValid())
116  totalNumGoodPV = selpvHandle->size();
117  else
118  return;
119  // std::cout << "totalNumGoodPV: " << totalNumGoodPV << std::endl;
120  if (doPlotsVsGoodPVtx_) {
121  NumberOfPVtxVsGoodPVtx->Fill(totalNumGoodPV, totalNumPV);
122  NumberOfBADndofPVtxVsGoodPVtx->Fill(totalNumGoodPV, totalNumBADndofPV);
123  }
124 
125  double fracGoodPV = double(totalNumGoodPV) / double(totalNumPV);
126  // std::cout << "fracGoodPV: " << fracGoodPV << std::endl;
127 
128  NumberOfGoodPVtx->Fill(totalNumGoodPV);
129  FractionOfGoodPVtx->Fill(fracGoodPV);
130  if (doPlotsVsBXlumi_) {
131  NumberOfGoodPVtxVsBXlumi->Fill(bxlumi, totalNumGoodPV);
132  FractionOfGoodPVtxVsBXlumi->Fill(bxlumi, fracGoodPV);
133  }
134  if (doPlotsVsGoodPVtx_) {
135  FractionOfGoodPVtxVsGoodPVtx->Fill(totalNumGoodPV, fracGoodPV);
136  FractionOfGoodPVtxVsPVtx->Fill(totalNumPV, fracGoodPV);
137  }
138 
139  if (!selpvHandle->empty()) {
140  double sumpt = 0;
141  size_t ntracks = 0;
142  double chi2ndf = 0.;
143  double chi2prob = 0.;
144 
145  if (!selpvHandle->at(0).isFake()) {
146  reco::Vertex pv = selpvHandle->at(0);
147 
148  ntracks = pv.tracksSize();
149  chi2ndf = pv.normalizedChi2();
150  chi2prob = TMath::Prob(pv.chi2(), (int)pv.ndof());
151 
152  for (reco::Vertex::trackRef_iterator itrk = pv.tracks_begin(); itrk != pv.tracks_end(); ++itrk) {
153  double pt = (**itrk).pt();
154  sumpt += pt * pt;
155  }
156  GoodPVtxSumPt->Fill(sumpt);
158 
159  if (doPlotsVsBXlumi_) {
160  GoodPVtxSumPtVsBXlumi->Fill(bxlumi, sumpt);
162  GoodPVtxChi2oNDFVsBXlumi->Fill(bxlumi, chi2ndf);
163  GoodPVtxChi2ProbVsBXlumi->Fill(bxlumi, chi2prob);
164  }
165  if (doPlotsVsGoodPVtx_) {
166  GoodPVtxSumPtVsGoodPVtx->Fill(totalNumGoodPV, sumpt);
168  GoodPVtxChi2oNDFVsGoodPVtx->Fill(totalNumGoodPV, chi2ndf);
169  GoodPVtxChi2ProbVsGoodPVtx->Fill(totalNumGoodPV, chi2prob);
170  }
171  }
172  }
173 }

References doPlotsVsBXlumi_, doPlotsVsGoodPVtx_, dqm::impl::MonitorElement::Fill(), FractionOfGoodPVtx, FractionOfGoodPVtxVsBXlumi, FractionOfGoodPVtxVsGoodPVtx, FractionOfGoodPVtxVsPVtx, GetLumi::getValue(), GoodPVtxChi2oNDFVsBXlumi, GoodPVtxChi2oNDFVsGoodPVtx, GoodPVtxChi2ProbVsBXlumi, GoodPVtxChi2ProbVsGoodPVtx, GoodPVtxNumberOfTracks, GoodPVtxNumberOfTracksVsBXlumi, GoodPVtxNumberOfTracksVsGoodPVtx, GoodPVtxSumPt, GoodPVtxSumPtVsBXlumi, GoodPVtxSumPtVsGoodPVtx, iEvent, createfilelist::int, edm::HandleBase::isValid(), lumiDetails_, vertices_cff::ntracks, NumberOfBADndofPVtx, NumberOfBADndofPVtxVsBXlumi, NumberOfBADndofPVtxVsGoodPVtx, NumberOfGoodPVtx, NumberOfGoodPVtxVsBXlumi, NumberOfPVtx, NumberOfPVtxVsBXlumi, NumberOfPVtxVsGoodPVtx, DiDispStaMuonMonitor_cfi::pt, MetAnalyzer::pv(), pvToken_, and selpvToken_.

◆ fillDescriptions()

void VertexMonitor::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 385 of file VertexMonitor.cc.

385  {
386  //The following says we do not know what parameters are allowed so do no validation
387  // Please change this to state exactly what you do use, even if it is no parameters
389  desc.setUnknown();
390  descriptions.addDefault(desc);
391 }

References edm::ConfigurationDescriptions::addDefault(), and submitPVResolutionJobs::desc.

◆ initHisto()

void VertexMonitor::initHisto ( DQMStore::IBooker ibooker)
virtual

Definition at line 176 of file VertexMonitor.cc.

176  {
177  // parameters from the configuration
178  std::string MEFolderName = conf_.getParameter<std::string>("PVFolderName");
179 
180  // get binning from the configuration
181  edm::ParameterSet ParametersGoodPVtx = conf_.getParameter<edm::ParameterSet>("GoodPVtx");
182  int GoodPVtxBin = ParametersGoodPVtx.getParameter<int>("GoodPVtxBin");
183  double GoodPVtxMin = ParametersGoodPVtx.getParameter<double>("GoodPVtxMin");
184  double GoodPVtxMax = ParametersGoodPVtx.getParameter<double>("GoodPVtxMax");
185 
186  edm::ParameterSet ParametersNTrkPVtx = conf_.getParameter<edm::ParameterSet>("NTrkPVtx");
187  int NTrkPVtxBin = ParametersNTrkPVtx.getParameter<int>("NTrkPVtxBin");
188  double NTrkPVtxMin = ParametersNTrkPVtx.getParameter<double>("NTrkPVtxMin");
189  double NTrkPVtxMax = ParametersNTrkPVtx.getParameter<double>("NTrkPVtxMax");
190 
191  edm::ParameterSet ParametersSumPtPVtx = conf_.getParameter<edm::ParameterSet>("SumPtPVtx");
192  int SumPtPVtxBin = ParametersSumPtPVtx.getParameter<int>("SumPtPVtxBin");
193  double SumPtPVtxMin = ParametersSumPtPVtx.getParameter<double>("SumPtPVtxMin");
194  double SumPtPVtxMax = ParametersSumPtPVtx.getParameter<double>("SumPtPVtxMax");
195 
196  // book histo
197  // ----------------------//
198  ibooker.setCurrentFolder(MEFolderName + "/" + label_);
199 
200  histname = "NumberOfPVtx_" + label_;
202  NumberOfPVtx->setAxisTitle("Number of PV", 1);
203  NumberOfPVtx->setAxisTitle("Number of Events", 2);
204 
205  histname = "NumberOfGoodPVtx_" + label_;
207  NumberOfGoodPVtx->setAxisTitle("Number of Good PV", 1);
208  NumberOfGoodPVtx->setAxisTitle("Number of Events", 2);
209 
210  histname = "FractionOfGoodPVtx_" + label_;
211  FractionOfGoodPVtx = ibooker.book1D(histname, histname, 100, 0., 1.);
212  FractionOfGoodPVtx->setAxisTitle("fraction of Good PV", 1);
213  FractionOfGoodPVtx->setAxisTitle("Number of Events", 2);
214 
215  histname = "NumberOfBADndofPVtx_" + label_;
217  NumberOfBADndofPVtx->setAxisTitle("Number of BADndof #PV", 1);
218  NumberOfBADndofPVtx->setAxisTitle("Number of Events", 2);
219 
220  histname = "GoodPVtxSumPt_" + label_;
222  GoodPVtxSumPt->setAxisTitle("primary vertex #Sum p_{T}^{2} [GeV^{2}/c^{2}]", 1);
223  GoodPVtxSumPt->setAxisTitle("Number of events", 2);
224 
225  histname = "GoodPVtxNumberOfTracks_" + label_;
227  GoodPVtxNumberOfTracks->setAxisTitle("primary vertex number of tracks", 1);
228  GoodPVtxNumberOfTracks->setAxisTitle("Number of events", 2);
229 
230  if (doPlotsVsBXlumi_) {
231  // get binning from the configuration
232  edm::ParameterSet BXlumiParameters = conf_.getParameter<edm::ParameterSet>("BXlumiSetup");
233  int BXlumiBin = BXlumiParameters.getParameter<int>("BXlumiBin");
234  double BXlumiMin = BXlumiParameters.getParameter<double>("BXlumiMin");
235  double BXlumiMax = BXlumiParameters.getParameter<double>("BXlumiMax");
236 
237  ibooker.setCurrentFolder(MEFolderName + "/" + label_ + "/PUmonitoring/");
238 
239  histname = "NumberOfPVtxVsBXlumi_" + label_;
242  NumberOfPVtxVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
243  NumberOfPVtxVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
244  NumberOfPVtxVsBXlumi->setAxisTitle("Mean number of PV", 2);
245 
246  histname = "NumberOfGoodPVtxVsBXlumi_" + label_;
249  NumberOfGoodPVtxVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
250  NumberOfGoodPVtxVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
251  NumberOfGoodPVtxVsBXlumi->setAxisTitle("Mean number of PV", 2);
252 
253  histname = "FractionOfGoodPVtxVsBXlumi_" + label_;
255  FractionOfGoodPVtxVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
256  FractionOfGoodPVtxVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
257  FractionOfGoodPVtxVsBXlumi->setAxisTitle("Mean number of PV", 2);
258 
259  histname = "NumberOfBADndofPVtxVsBXlumi_" + label_;
262  NumberOfBADndofPVtxVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
263  NumberOfBADndofPVtxVsBXlumi->setAxisTitle("BADndof #PV", 1);
264  NumberOfBADndofPVtxVsBXlumi->setAxisTitle("Number of Events", 2);
265 
266  histname = "GoodPVtxSumPtVsBXlumi_" + label_;
269  GoodPVtxSumPtVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
270  GoodPVtxSumPtVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
271  GoodPVtxSumPtVsBXlumi->setAxisTitle("Mean pv #Sum p_{T}^{2} [GeV^{2}/c]^{2}", 2);
272 
273  histname = "GoodPVtxNumberOfTracksVsBXlumi_" + label_;
276  GoodPVtxNumberOfTracksVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
277  GoodPVtxNumberOfTracksVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
278  GoodPVtxNumberOfTracksVsBXlumi->setAxisTitle("Mean pv number of tracks", 2);
279 
280  // get binning from the configuration
281  double Chi2NDFMin = conf_.getParameter<double>("Chi2NDFMin");
282  double Chi2NDFMax = conf_.getParameter<double>("Chi2NDFMax");
283 
284  double Chi2ProbMin = conf_.getParameter<double>("Chi2ProbMin");
285  double Chi2ProbMax = conf_.getParameter<double>("Chi2ProbMax");
286 
287  histname = "Chi2oNDFVsBXlumi_" + label_;
290  Chi2oNDFVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
291  Chi2oNDFVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
292  Chi2oNDFVsBXlumi->setAxisTitle("Mean #chi^{2}/ndof", 2);
293 
294  histname = "Chi2ProbVsBXlumi_" + label_;
297  Chi2ProbVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
298  Chi2ProbVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
299  Chi2ProbVsBXlumi->setAxisTitle("Mean #chi^{2}/prob", 2);
300 
301  histname = "GoodPVtxChi2oNDFVsBXlumi_" + label_;
304  GoodPVtxChi2oNDFVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
305  GoodPVtxChi2oNDFVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
306  GoodPVtxChi2oNDFVsBXlumi->setAxisTitle("Mean PV #chi^{2}/ndof", 2);
307 
308  histname = "GoodPVtxChi2ProbVsBXlumi_" + label_;
311  GoodPVtxChi2ProbVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
312  GoodPVtxChi2ProbVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
313  GoodPVtxChi2ProbVsBXlumi->setAxisTitle("Mean PV #chi^{2}/prob", 2);
314  }
315 
316  if (doPlotsVsGoodPVtx_) {
317  ibooker.setCurrentFolder(MEFolderName + "/" + label_ + "/PUmonitoring/VsGoodPVtx");
318 
319  histname = "NumberOfPVtxVsGoodPVtx_" + label_;
322  NumberOfPVtxVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
323  NumberOfPVtxVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
324  NumberOfPVtxVsGoodPVtx->setAxisTitle("Mean number of PV", 2);
325 
326  histname = "FractionOfGoodPVtxVsGoodPVtx_" + label_;
329  FractionOfGoodPVtxVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
330  FractionOfGoodPVtxVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
331  FractionOfGoodPVtxVsGoodPVtx->setAxisTitle("Mean fraction of Good PV", 2);
332 
333  histname = "FractionOfGoodPVtxVsPVtx_" + label_;
336  FractionOfGoodPVtxVsPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
337  FractionOfGoodPVtxVsPVtx->setAxisTitle("Number of Good PV", 1);
338  FractionOfGoodPVtxVsPVtx->setAxisTitle("Mean number of Good PV", 2);
339 
340  histname = "NumberOfBADndofPVtxVsGoodPVtx_" + label_;
343  NumberOfBADndofPVtxVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
344  NumberOfBADndofPVtxVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
345  NumberOfBADndofPVtxVsGoodPVtx->setAxisTitle("Mean Number of BAD PV", 2);
346 
347  histname = "GoodPVtxSumPtVsGoodPVtx_" + label_;
350  GoodPVtxSumPtVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
351  GoodPVtxSumPtVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
352  GoodPVtxSumPtVsGoodPVtx->setAxisTitle("Mean pv #Sum p_{T}^{2} [GeV^{2}/c]^{2}", 2);
353 
354  histname = "GoodPVtxNumberOfTracksVsGoodPVtx_" + label_;
357  GoodPVtxNumberOfTracksVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
358  GoodPVtxNumberOfTracksVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
359  GoodPVtxNumberOfTracksVsGoodPVtx->setAxisTitle("Mean pv number of tracks", 2);
360 
361  // get binning from the configuration
362  double Chi2NDFMin = conf_.getParameter<double>("Chi2NDFMin");
363  double Chi2NDFMax = conf_.getParameter<double>("Chi2NDFMax");
364 
365  double Chi2ProbMin = conf_.getParameter<double>("Chi2ProbMin");
366  double Chi2ProbMax = conf_.getParameter<double>("Chi2ProbMax");
367 
368  histname = "GoodPVtxChi2oNDFVsGoodPVtx_" + label_;
371  GoodPVtxChi2oNDFVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
372  GoodPVtxChi2oNDFVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
373  GoodPVtxChi2oNDFVsGoodPVtx->setAxisTitle("Mean PV #chi^{2}/ndof", 2);
374 
375  histname = "GoodPVtxChi2ProbVsGoodPVtx_" + label_;
378  GoodPVtxChi2ProbVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
379  GoodPVtxChi2ProbVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
380  GoodPVtxChi2ProbVsGoodPVtx->setAxisTitle("Mean PV #chi^{2}/prob", 2);
381  }
382 }

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::bookProfile(), BXlumiParameters_cfi::BXlumiBin, BXlumiParameters_cfi::BXlumiMax, BXlumiParameters_cfi::BXlumiMin, beam_dqm_sourceclient-live_cfg::Chi2NDFMax, beam_dqm_sourceclient-live_cfg::Chi2NDFMin, Chi2oNDFVsBXlumi, MonitorTrackSTAMuons_cfi::Chi2ProbMax, MonitorTrackSTAMuons_cfi::Chi2ProbMin, Chi2ProbVsBXlumi, conf_, doPlotsVsBXlumi_, doPlotsVsGoodPVtx_, FractionOfGoodPVtx, FractionOfGoodPVtxVsBXlumi, FractionOfGoodPVtxVsGoodPVtx, FractionOfGoodPVtxVsPVtx, edm::ParameterSet::getParameter(), dqm::legacy::MonitorElement::getTH1(), TrackerCollisionTrackingMonitor_cfi::GoodPVtxBin, GoodPVtxChi2oNDFVsBXlumi, GoodPVtxChi2oNDFVsGoodPVtx, GoodPVtxChi2ProbVsBXlumi, GoodPVtxChi2ProbVsGoodPVtx, TrackerCollisionTrackingMonitor_cfi::GoodPVtxMax, TrackerCollisionTrackingMonitor_cfi::GoodPVtxMin, GoodPVtxNumberOfTracks, GoodPVtxNumberOfTracksVsBXlumi, GoodPVtxNumberOfTracksVsGoodPVtx, GoodPVtxSumPt, GoodPVtxSumPtVsBXlumi, GoodPVtxSumPtVsGoodPVtx, histname, label_, TrackingMonitor_cfi::NTrkPVtxBin, TrackerCollisionTrackingMonitor_cfi::NTrkPVtxMax, TrackingMonitor_cfi::NTrkPVtxMin, NumberOfBADndofPVtx, NumberOfBADndofPVtxVsBXlumi, NumberOfBADndofPVtxVsGoodPVtx, NumberOfGoodPVtx, NumberOfGoodPVtxVsBXlumi, NumberOfPVtx, NumberOfPVtxVsBXlumi, NumberOfPVtxVsGoodPVtx, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, TrackingMonitor_cfi::SumPtPVtxBin, TrackingMonitor_cfi::SumPtPVtxMax, and TrackingMonitor_cfi::SumPtPVtxMin.

Member Data Documentation

◆ Chi2oNDFVsBXlumi

MonitorElement* VertexMonitor::Chi2oNDFVsBXlumi

Definition at line 79 of file VertexMonitor.h.

Referenced by initHisto().

◆ Chi2oNDFVsGoodPVtx

MonitorElement* VertexMonitor::Chi2oNDFVsGoodPVtx

Definition at line 78 of file VertexMonitor.h.

◆ Chi2ProbVsBXlumi

MonitorElement* VertexMonitor::Chi2ProbVsBXlumi

Definition at line 81 of file VertexMonitor.h.

Referenced by initHisto().

◆ Chi2ProbVsGoodPVtx

MonitorElement* VertexMonitor::Chi2ProbVsGoodPVtx

Definition at line 80 of file VertexMonitor.h.

◆ conf_

edm::ParameterSet VertexMonitor::conf_

Definition at line 51 of file VertexMonitor.h.

Referenced by initHisto().

◆ doAllPlots_

bool VertexMonitor::doAllPlots_

Definition at line 97 of file VertexMonitor.h.

◆ doPlotsVsBXlumi_

bool VertexMonitor::doPlotsVsBXlumi_

Definition at line 98 of file VertexMonitor.h.

Referenced by analyze(), initHisto(), and VertexMonitor().

◆ doPlotsVsGoodPVtx_

bool VertexMonitor::doPlotsVsGoodPVtx_

Definition at line 99 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ FractionOfGoodPVtx

MonitorElement* VertexMonitor::FractionOfGoodPVtx

Definition at line 67 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ FractionOfGoodPVtxVsBXlumi

MonitorElement* VertexMonitor::FractionOfGoodPVtxVsBXlumi

Definition at line 68 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ FractionOfGoodPVtxVsGoodPVtx

MonitorElement* VertexMonitor::FractionOfGoodPVtxVsGoodPVtx

Definition at line 69 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ FractionOfGoodPVtxVsPVtx

MonitorElement* VertexMonitor::FractionOfGoodPVtxVsPVtx

Definition at line 70 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxChi2oNDFVsBXlumi

MonitorElement* VertexMonitor::GoodPVtxChi2oNDFVsBXlumi

Definition at line 93 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxChi2oNDFVsGoodPVtx

MonitorElement* VertexMonitor::GoodPVtxChi2oNDFVsGoodPVtx

Definition at line 92 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxChi2ProbVsBXlumi

MonitorElement* VertexMonitor::GoodPVtxChi2ProbVsBXlumi

Definition at line 95 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxChi2ProbVsGoodPVtx

MonitorElement* VertexMonitor::GoodPVtxChi2ProbVsGoodPVtx

Definition at line 94 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxNumberOfTracks

MonitorElement* VertexMonitor::GoodPVtxNumberOfTracks

Definition at line 87 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxNumberOfTracksVsBXlumi

MonitorElement* VertexMonitor::GoodPVtxNumberOfTracksVsBXlumi

Definition at line 88 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxNumberOfTracksVsGoodPVtx

MonitorElement* VertexMonitor::GoodPVtxNumberOfTracksVsGoodPVtx

Definition at line 89 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxNumberOfTracksVsGoodPVtxNdof

MonitorElement* VertexMonitor::GoodPVtxNumberOfTracksVsGoodPVtxNdof

Definition at line 90 of file VertexMonitor.h.

◆ GoodPVtxSumPt

MonitorElement* VertexMonitor::GoodPVtxSumPt

Definition at line 83 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxSumPtVsBXlumi

MonitorElement* VertexMonitor::GoodPVtxSumPtVsBXlumi

Definition at line 84 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ GoodPVtxSumPtVsGoodPVtx

MonitorElement* VertexMonitor::GoodPVtxSumPtVsGoodPVtx

Definition at line 85 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ histname

std::string VertexMonitor::histname

Definition at line 101 of file VertexMonitor.h.

Referenced by initHisto().

◆ label_

std::string VertexMonitor::label_

◆ lumiDetails_

GetLumi* VertexMonitor::lumiDetails_

Definition at line 60 of file VertexMonitor.h.

Referenced by analyze(), and VertexMonitor().

◆ NumberOfBADndofPVtx

MonitorElement* VertexMonitor::NumberOfBADndofPVtx

Definition at line 74 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ NumberOfBADndofPVtxVsBXlumi

MonitorElement* VertexMonitor::NumberOfBADndofPVtxVsBXlumi

Definition at line 75 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ NumberOfBADndofPVtxVsGoodPVtx

MonitorElement* VertexMonitor::NumberOfBADndofPVtxVsGoodPVtx

Definition at line 76 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ NumberOfFakePVtx

MonitorElement* VertexMonitor::NumberOfFakePVtx

Definition at line 71 of file VertexMonitor.h.

◆ NumberOfFakePVtxVsBXlumi

MonitorElement* VertexMonitor::NumberOfFakePVtxVsBXlumi

Definition at line 72 of file VertexMonitor.h.

◆ NumberOfFakePVtxVsGoodPVtx

MonitorElement* VertexMonitor::NumberOfFakePVtxVsGoodPVtx

Definition at line 73 of file VertexMonitor.h.

◆ NumberOfGoodPVtx

MonitorElement* VertexMonitor::NumberOfGoodPVtx

Definition at line 65 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ NumberOfGoodPVtxVsBXlumi

MonitorElement* VertexMonitor::NumberOfGoodPVtxVsBXlumi

Definition at line 66 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ NumberOfPVtx

MonitorElement* VertexMonitor::NumberOfPVtx

Definition at line 62 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ NumberOfPVtxVsBXlumi

MonitorElement* VertexMonitor::NumberOfPVtxVsBXlumi

Definition at line 63 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ NumberOfPVtxVsGoodPVtx

MonitorElement* VertexMonitor::NumberOfPVtxVsGoodPVtx

Definition at line 64 of file VertexMonitor.h.

Referenced by analyze(), and initHisto().

◆ primaryVertexInputTag_

edm::InputTag VertexMonitor::primaryVertexInputTag_

Definition at line 53 of file VertexMonitor.h.

Referenced by VertexMonitor().

◆ pvToken_

edm::EDGetTokenT<reco::VertexCollection> VertexMonitor::pvToken_

Definition at line 57 of file VertexMonitor.h.

Referenced by analyze(), and VertexMonitor().

◆ selectedPrimaryVertexInputTag_

edm::InputTag VertexMonitor::selectedPrimaryVertexInputTag_

Definition at line 54 of file VertexMonitor.h.

Referenced by VertexMonitor().

◆ selpvToken_

edm::EDGetTokenT<reco::VertexCollection> VertexMonitor::selpvToken_

Definition at line 58 of file VertexMonitor.h.

Referenced by analyze(), and VertexMonitor().

reco::Vertex::trackRef_iterator
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:38
VertexMonitor::GoodPVtxSumPt
MonitorElement * GoodPVtxSumPt
Definition: VertexMonitor.h:83
VertexMonitor::Chi2ProbVsBXlumi
MonitorElement * Chi2ProbVsBXlumi
Definition: VertexMonitor.h:81
VertexMonitor::GoodPVtxChi2oNDFVsGoodPVtx
MonitorElement * GoodPVtxChi2oNDFVsGoodPVtx
Definition: VertexMonitor.h:92
VertexMonitor::NumberOfPVtxVsBXlumi
MonitorElement * NumberOfPVtxVsBXlumi
Definition: VertexMonitor.h:63
VertexMonitor::NumberOfPVtxVsGoodPVtx
MonitorElement * NumberOfPVtxVsGoodPVtx
Definition: VertexMonitor.h:64
VertexMonitor::FractionOfGoodPVtxVsPVtx
MonitorElement * FractionOfGoodPVtxVsPVtx
Definition: VertexMonitor.h:70
VertexMonitor::selectedPrimaryVertexInputTag_
edm::InputTag selectedPrimaryVertexInputTag_
Definition: VertexMonitor.h:54
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
TrackingMonitor_cfi.NTrkPVtxMin
NTrkPVtxMin
Definition: TrackingMonitor_cfi.py:396
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
TrackingMonitor_cfi.NTrkPVtxBin
NTrkPVtxBin
Definition: TrackingMonitor_cfi.py:395
VertexMonitor::GoodPVtxSumPtVsGoodPVtx
MonitorElement * GoodPVtxSumPtVsGoodPVtx
Definition: VertexMonitor.h:85
vertices_cff.ntracks
ntracks
Definition: vertices_cff.py:34
VertexMonitor::lumiDetails_
GetLumi * lumiDetails_
Definition: VertexMonitor.h:60
BXlumiParameters_cfi.BXlumiMin
BXlumiMin
Definition: BXlumiParameters_cfi.py:18
VertexMonitor::GoodPVtxChi2ProbVsGoodPVtx
MonitorElement * GoodPVtxChi2ProbVsGoodPVtx
Definition: VertexMonitor.h:94
edm::Handle< reco::VertexCollection >
VertexMonitor::GoodPVtxChi2ProbVsBXlumi
MonitorElement * GoodPVtxChi2ProbVsBXlumi
Definition: VertexMonitor.h:95
TrackerCollisionTrackingMonitor_cfi.GoodPVtxBin
GoodPVtxBin
Definition: TrackerCollisionTrackingMonitor_cfi.py:82
MonitorTrackSTAMuons_cfi.Chi2ProbMin
Chi2ProbMin
Definition: MonitorTrackSTAMuons_cfi.py:76
TrackerCollisionTrackingMonitor_cfi.NTrkPVtxMax
NTrkPVtxMax
Definition: TrackerCollisionTrackingMonitor_cfi.py:89
GetLumi
Definition: GetLumi.h:21
VertexMonitor::doAllPlots_
bool doAllPlots_
Definition: VertexMonitor.h:97
TrackingMonitor_cfi.SumPtPVtxMin
SumPtPVtxMin
Definition: TrackingMonitor_cfi.py:403
VertexMonitor::label_
std::string label_
Definition: VertexMonitor.h:55
VertexMonitor::FractionOfGoodPVtx
MonitorElement * FractionOfGoodPVtx
Definition: VertexMonitor.h:67
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
VertexMonitor::FractionOfGoodPVtxVsGoodPVtx
MonitorElement * FractionOfGoodPVtxVsGoodPVtx
Definition: VertexMonitor.h:69
dqm::legacy::MonitorElement::getTH1
virtual TH1 * getTH1() const
Definition: MonitorElement.h:475
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
BXlumiParameters_cfi.BXlumiBin
BXlumiBin
Definition: BXlumiParameters_cfi.py:17
edm::ParameterSet
Definition: ParameterSet.h:47
VertexMonitor::pvToken_
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: VertexMonitor.h:57
VertexMonitor::VertexMonitor
VertexMonitor(const edm::ParameterSet &, const edm::InputTag &, const edm::InputTag &, std::string pvLabel)
Definition: VertexMonitor.cc:18
VertexMonitor::NumberOfBADndofPVtxVsGoodPVtx
MonitorElement * NumberOfBADndofPVtxVsGoodPVtx
Definition: VertexMonitor.h:76
VertexMonitor::doPlotsVsBXlumi_
bool doPlotsVsBXlumi_
Definition: VertexMonitor.h:98
createfilelist.int
int
Definition: createfilelist.py:10
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
iEvent
int iEvent
Definition: GenABIO.cc:224
VertexMonitor::GoodPVtxNumberOfTracksVsGoodPVtxNdof
MonitorElement * GoodPVtxNumberOfTracksVsGoodPVtxNdof
Definition: VertexMonitor.h:90
TrackerCollisionTrackingMonitor_cfi.GoodPVtxMin
GoodPVtxMin
Definition: TrackerCollisionTrackingMonitor_cfi.py:83
beam_dqm_sourceclient-live_cfg.Chi2NDFMin
Chi2NDFMin
Definition: beam_dqm_sourceclient-live_cfg.py:193
VertexMonitor::GoodPVtxChi2oNDFVsBXlumi
MonitorElement * GoodPVtxChi2oNDFVsBXlumi
Definition: VertexMonitor.h:93
VertexMonitor::NumberOfGoodPVtxVsBXlumi
MonitorElement * NumberOfGoodPVtxVsBXlumi
Definition: VertexMonitor.h:66
VertexMonitor::NumberOfGoodPVtx
MonitorElement * NumberOfGoodPVtx
Definition: VertexMonitor.h:65
beam_dqm_sourceclient-live_cfg.Chi2NDFMax
Chi2NDFMax
Definition: beam_dqm_sourceclient-live_cfg.py:192
GetLumi::getValue
double getValue(const edm::Event &)
Definition: GetLumi.cc:48
VertexMonitor::conf_
edm::ParameterSet conf_
Definition: VertexMonitor.h:51
VertexMonitor::histname
std::string histname
Definition: VertexMonitor.h:101
VertexMonitor::GoodPVtxSumPtVsBXlumi
MonitorElement * GoodPVtxSumPtVsBXlumi
Definition: VertexMonitor.h:84
VertexMonitor::NumberOfBADndofPVtx
MonitorElement * NumberOfBADndofPVtx
Definition: VertexMonitor.h:74
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
VertexMonitor::doPlotsVsGoodPVtx_
bool doPlotsVsGoodPVtx_
Definition: VertexMonitor.h:99
TrackingMonitor_cfi.SumPtPVtxBin
SumPtPVtxBin
Definition: TrackingMonitor_cfi.py:402
VertexMonitor::NumberOfPVtx
MonitorElement * NumberOfPVtx
Definition: VertexMonitor.h:62
VertexMonitor::GoodPVtxNumberOfTracksVsGoodPVtx
MonitorElement * GoodPVtxNumberOfTracksVsGoodPVtx
Definition: VertexMonitor.h:89
VertexMonitor::FractionOfGoodPVtxVsBXlumi
MonitorElement * FractionOfGoodPVtxVsBXlumi
Definition: VertexMonitor.h:68
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
VertexMonitor::selpvToken_
edm::EDGetTokenT< reco::VertexCollection > selpvToken_
Definition: VertexMonitor.h:58
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
MonitorTrackSTAMuons_cfi.Chi2ProbMax
Chi2ProbMax
Definition: MonitorTrackSTAMuons_cfi.py:75
VertexMonitor::GoodPVtxNumberOfTracksVsBXlumi
MonitorElement * GoodPVtxNumberOfTracksVsBXlumi
Definition: VertexMonitor.h:88
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
VertexMonitor::GoodPVtxNumberOfTracks
MonitorElement * GoodPVtxNumberOfTracks
Definition: VertexMonitor.h:87
TrackingMonitor_cfi.SumPtPVtxMax
SumPtPVtxMax
Definition: TrackingMonitor_cfi.py:404
BXlumiParameters_cfi.BXlumiMax
BXlumiMax
Definition: BXlumiParameters_cfi.py:19
reco::Vertex
Definition: Vertex.h:35
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
VertexMonitor::primaryVertexInputTag_
edm::InputTag primaryVertexInputTag_
Definition: VertexMonitor.h:53
TrackerCollisionTrackingMonitor_cfi.GoodPVtxMax
GoodPVtxMax
Definition: TrackerCollisionTrackingMonitor_cfi.py:84
VertexMonitor::NumberOfBADndofPVtxVsBXlumi
MonitorElement * NumberOfBADndofPVtxVsBXlumi
Definition: VertexMonitor.h:75
VertexMonitor::Chi2oNDFVsBXlumi
MonitorElement * Chi2oNDFVsBXlumi
Definition: VertexMonitor.h:79