CMS 3D CMS Logo

VertexMonitor.cc
Go to the documentation of this file.
1 
2 /*
3  * See header file for a description of this class.
4  *
5  * \author: Mia Tosi,40 3-B32,+41227671609
6  */
7 
11 
13 
15 
16 #include "TMath.h"
17 
19  const edm::InputTag& primaryVertexInputTag,
20  const edm::InputTag& selectedPrimaryVertexInputTag,
21  std::string pvLabel)
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),
32  FractionOfGoodPVtxVsBXlumi(nullptr),
33  FractionOfGoodPVtxVsGoodPVtx(nullptr),
34  FractionOfGoodPVtxVsPVtx(nullptr),
35  NumberOfBADndofPVtx(nullptr),
36  NumberOfBADndofPVtxVsBXlumi(nullptr),
37  NumberOfBADndofPVtxVsGoodPVtx(nullptr),
38  GoodPVtxSumPt(nullptr),
39  GoodPVtxSumPtVsBXlumi(nullptr),
40  GoodPVtxSumPtVsGoodPVtx(nullptr),
41  GoodPVtxNumberOfTracks(nullptr),
42  GoodPVtxNumberOfTracksVsBXlumi(nullptr),
43  GoodPVtxNumberOfTracksVsGoodPVtx(nullptr),
44  GoodPVtxNumberOfTracksVsGoodPVtxNdof(nullptr),
45  GoodPVtxChi2oNDFVsGoodPVtx(nullptr),
46  GoodPVtxChi2oNDFVsBXlumi(nullptr),
47  GoodPVtxChi2ProbVsGoodPVtx(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 }
58 
60  const edm::InputTag& primaryVertexInputTag,
61  const edm::InputTag& selectedPrimaryVertexInputTag,
62  std::string pvLabel,
64  : VertexMonitor(iConfig, primaryVertexInputTag, selectedPrimaryVertexInputTag, pvLabel) {
65  if (doPlotsVsBXlumi_)
66  lumiDetails_ = new GetLumi(iConfig.getParameter<edm::ParameterSet>("BXlumiSetup"), iC);
67 
70 }
71 
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 }
77 
78 //
79 // member functions
80 //
81 
82 // -- Analyse
83 // ------------ method called for each event ------------
84 // ------------------------------------------------------- //
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  if (pvHandle.isValid()) {
95  totalNumPV = pvHandle->size();
96  // std::cout << "totalNumPV : " << totalNumPV << std::endl;
97  for (reco::VertexCollection::const_iterator pv = pvHandle->begin(); pv != pvHandle->end(); ++pv) {
98  //--- count pv w/ ndof < 4
99  if (pv->ndof() < 4.)
100  totalNumBADndofPV++;
101  }
102  } else
103  return;
104  NumberOfPVtx->Fill(totalNumPV);
105  NumberOfBADndofPVtx->Fill(totalNumBADndofPV);
106  if (doPlotsVsBXlumi_) {
107  NumberOfPVtxVsBXlumi->Fill(bxlumi, totalNumPV);
108  NumberOfBADndofPVtxVsBXlumi->Fill(bxlumi, totalNumBADndofPV);
109  }
110 
111  size_t totalNumGoodPV = 0;
112  edm::Handle<reco::VertexCollection> selpvHandle = iEvent.getHandle(selpvToken_);
113  if (selpvHandle.isValid())
114  totalNumGoodPV = selpvHandle->size();
115  else
116  return;
117  // std::cout << "totalNumGoodPV: " << totalNumGoodPV << std::endl;
118  if (doPlotsVsGoodPVtx_) {
119  NumberOfPVtxVsGoodPVtx->Fill(totalNumGoodPV, totalNumPV);
120  NumberOfBADndofPVtxVsGoodPVtx->Fill(totalNumGoodPV, totalNumBADndofPV);
121  }
122 
123  double fracGoodPV = double(totalNumGoodPV) / double(totalNumPV);
124  // std::cout << "fracGoodPV: " << fracGoodPV << std::endl;
125 
126  NumberOfGoodPVtx->Fill(totalNumGoodPV);
127  FractionOfGoodPVtx->Fill(fracGoodPV);
128  if (doPlotsVsBXlumi_) {
129  NumberOfGoodPVtxVsBXlumi->Fill(bxlumi, totalNumGoodPV);
130  FractionOfGoodPVtxVsBXlumi->Fill(bxlumi, fracGoodPV);
131  }
132  if (doPlotsVsGoodPVtx_) {
133  FractionOfGoodPVtxVsGoodPVtx->Fill(totalNumGoodPV, fracGoodPV);
134  FractionOfGoodPVtxVsPVtx->Fill(totalNumPV, fracGoodPV);
135  }
136 
137  if (!selpvHandle->empty()) {
138  double sumpt = 0;
139  size_t ntracks = 0;
140  double chi2ndf = 0.;
141  double chi2prob = 0.;
142 
143  if (!selpvHandle->at(0).isFake()) {
144  reco::Vertex pv = selpvHandle->at(0);
145 
146  ntracks = pv.tracksSize();
147  chi2ndf = pv.normalizedChi2();
148  chi2prob = TMath::Prob(pv.chi2(), (int)pv.ndof());
149 
150  for (reco::Vertex::trackRef_iterator itrk = pv.tracks_begin(); itrk != pv.tracks_end(); ++itrk) {
151  double pt = (**itrk).pt();
152  sumpt += pt * pt;
153  }
154  GoodPVtxSumPt->Fill(sumpt);
156 
157  if (doPlotsVsBXlumi_) {
158  GoodPVtxSumPtVsBXlumi->Fill(bxlumi, sumpt);
160  GoodPVtxChi2oNDFVsBXlumi->Fill(bxlumi, chi2ndf);
161  GoodPVtxChi2ProbVsBXlumi->Fill(bxlumi, chi2prob);
162  }
163  if (doPlotsVsGoodPVtx_) {
164  GoodPVtxSumPtVsGoodPVtx->Fill(totalNumGoodPV, sumpt);
166  GoodPVtxChi2oNDFVsGoodPVtx->Fill(totalNumGoodPV, chi2ndf);
167  GoodPVtxChi2ProbVsGoodPVtx->Fill(totalNumGoodPV, chi2prob);
168  }
169  }
170  }
171 }
172 
173 // ------------ method called once each job just before starting event loop ------------
175  // parameters from the configuration
176  std::string MEFolderName = conf_.getParameter<std::string>("PVFolderName");
177 
178  // get binning from the configuration
179  edm::ParameterSet ParametersGoodPVtx = conf_.getParameter<edm::ParameterSet>("GoodPVtx");
180  int GoodPVtxBin = ParametersGoodPVtx.getParameter<int>("GoodPVtxBin");
181  double GoodPVtxMin = ParametersGoodPVtx.getParameter<double>("GoodPVtxMin");
182  double GoodPVtxMax = ParametersGoodPVtx.getParameter<double>("GoodPVtxMax");
183 
184  edm::ParameterSet ParametersNTrkPVtx = conf_.getParameter<edm::ParameterSet>("NTrkPVtx");
185  int NTrkPVtxBin = ParametersNTrkPVtx.getParameter<int>("NTrkPVtxBin");
186  double NTrkPVtxMin = ParametersNTrkPVtx.getParameter<double>("NTrkPVtxMin");
187  double NTrkPVtxMax = ParametersNTrkPVtx.getParameter<double>("NTrkPVtxMax");
188 
189  edm::ParameterSet ParametersSumPtPVtx = conf_.getParameter<edm::ParameterSet>("SumPtPVtx");
190  int SumPtPVtxBin = ParametersSumPtPVtx.getParameter<int>("SumPtPVtxBin");
191  double SumPtPVtxMin = ParametersSumPtPVtx.getParameter<double>("SumPtPVtxMin");
192  double SumPtPVtxMax = ParametersSumPtPVtx.getParameter<double>("SumPtPVtxMax");
193 
194  // book histo
195  // ----------------------//
196  ibooker.setCurrentFolder(MEFolderName + "/" + label_);
197 
198  histname = "NumberOfPVtx_" + label_;
200  NumberOfPVtx->setAxisTitle("Number of PV", 1);
201  NumberOfPVtx->setAxisTitle("Number of Events", 2);
202 
203  histname = "NumberOfGoodPVtx_" + label_;
205  NumberOfGoodPVtx->setAxisTitle("Number of Good PV", 1);
206  NumberOfGoodPVtx->setAxisTitle("Number of Events", 2);
207 
208  histname = "FractionOfGoodPVtx_" + label_;
209  FractionOfGoodPVtx = ibooker.book1D(histname, histname, 100, 0., 1.);
210  FractionOfGoodPVtx->setAxisTitle("fraction of Good PV", 1);
211  FractionOfGoodPVtx->setAxisTitle("Number of Events", 2);
212 
213  histname = "NumberOfBADndofPVtx_" + label_;
215  NumberOfBADndofPVtx->setAxisTitle("Number of BADndof #PV", 1);
216  NumberOfBADndofPVtx->setAxisTitle("Number of Events", 2);
217 
218  histname = "GoodPVtxSumPt_" + label_;
220  GoodPVtxSumPt->setAxisTitle("primary vertex #Sum p_{T}^{2} [GeV^{2}/c^{2}]", 1);
221  GoodPVtxSumPt->setAxisTitle("Number of events", 2);
222 
223  histname = "GoodPVtxNumberOfTracks_" + label_;
225  GoodPVtxNumberOfTracks->setAxisTitle("primary vertex number of tracks", 1);
226  GoodPVtxNumberOfTracks->setAxisTitle("Number of events", 2);
227 
228  if (doPlotsVsBXlumi_) {
229  // get binning from the configuration
230  edm::ParameterSet BXlumiParameters = conf_.getParameter<edm::ParameterSet>("BXlumiSetup");
231  int BXlumiBin = BXlumiParameters.getParameter<int>("BXlumiBin");
232  double BXlumiMin = BXlumiParameters.getParameter<double>("BXlumiMin");
233  double BXlumiMax = BXlumiParameters.getParameter<double>("BXlumiMax");
234 
235  ibooker.setCurrentFolder(MEFolderName + "/" + label_ + "/PUmonitoring/");
236 
237  histname = "NumberOfPVtxVsBXlumi_" + label_;
240  NumberOfPVtxVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
241  NumberOfPVtxVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
242  NumberOfPVtxVsBXlumi->setAxisTitle("Mean number of PV", 2);
243 
244  histname = "NumberOfGoodPVtxVsBXlumi_" + label_;
247  NumberOfGoodPVtxVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
248  NumberOfGoodPVtxVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
249  NumberOfGoodPVtxVsBXlumi->setAxisTitle("Mean number of PV", 2);
250 
251  histname = "FractionOfGoodPVtxVsBXlumi_" + label_;
253  FractionOfGoodPVtxVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
254  FractionOfGoodPVtxVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
255  FractionOfGoodPVtxVsBXlumi->setAxisTitle("Mean number of PV", 2);
256 
257  histname = "NumberOfBADndofPVtxVsBXlumi_" + label_;
260  NumberOfBADndofPVtxVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
261  NumberOfBADndofPVtxVsBXlumi->setAxisTitle("BADndof #PV", 1);
262  NumberOfBADndofPVtxVsBXlumi->setAxisTitle("Number of Events", 2);
263 
264  histname = "GoodPVtxSumPtVsBXlumi_" + label_;
267  GoodPVtxSumPtVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
268  GoodPVtxSumPtVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
269  GoodPVtxSumPtVsBXlumi->setAxisTitle("Mean pv #Sum p_{T}^{2} [GeV^{2}/c]^{2}", 2);
270 
271  histname = "GoodPVtxNumberOfTracksVsBXlumi_" + label_;
274  GoodPVtxNumberOfTracksVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
275  GoodPVtxNumberOfTracksVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
276  GoodPVtxNumberOfTracksVsBXlumi->setAxisTitle("Mean pv number of tracks", 2);
277 
278  // get binning from the configuration
279  double Chi2NDFMin = conf_.getParameter<double>("Chi2NDFMin");
280  double Chi2NDFMax = conf_.getParameter<double>("Chi2NDFMax");
281 
282  double Chi2ProbMin = conf_.getParameter<double>("Chi2ProbMin");
283  double Chi2ProbMax = conf_.getParameter<double>("Chi2ProbMax");
284 
285  histname = "Chi2oNDFVsBXlumi_" + label_;
288  Chi2oNDFVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
289  Chi2oNDFVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
290  Chi2oNDFVsBXlumi->setAxisTitle("Mean #chi^{2}/ndof", 2);
291 
292  histname = "Chi2ProbVsBXlumi_" + label_;
295  Chi2ProbVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
296  Chi2ProbVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
297  Chi2ProbVsBXlumi->setAxisTitle("Mean #chi^{2}/prob", 2);
298 
299  histname = "GoodPVtxChi2oNDFVsBXlumi_" + label_;
302  GoodPVtxChi2oNDFVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
303  GoodPVtxChi2oNDFVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
304  GoodPVtxChi2oNDFVsBXlumi->setAxisTitle("Mean PV #chi^{2}/ndof", 2);
305 
306  histname = "GoodPVtxChi2ProbVsBXlumi_" + label_;
309  GoodPVtxChi2ProbVsBXlumi->getTH1()->SetCanExtend(TH1::kAllAxes);
310  GoodPVtxChi2ProbVsBXlumi->setAxisTitle("lumi BX [10^{30}Hzcm^{-2}]", 1);
311  GoodPVtxChi2ProbVsBXlumi->setAxisTitle("Mean PV #chi^{2}/prob", 2);
312  }
313 
314  if (doPlotsVsGoodPVtx_) {
315  ibooker.setCurrentFolder(MEFolderName + "/" + label_ + "/PUmonitoring/VsGoodPVtx");
316 
317  histname = "NumberOfPVtxVsGoodPVtx_" + label_;
320  NumberOfPVtxVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
321  NumberOfPVtxVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
322  NumberOfPVtxVsGoodPVtx->setAxisTitle("Mean number of PV", 2);
323 
324  histname = "FractionOfGoodPVtxVsGoodPVtx_" + label_;
327  FractionOfGoodPVtxVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
328  FractionOfGoodPVtxVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
329  FractionOfGoodPVtxVsGoodPVtx->setAxisTitle("Mean fraction of Good PV", 2);
330 
331  histname = "FractionOfGoodPVtxVsPVtx_" + label_;
334  FractionOfGoodPVtxVsPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
335  FractionOfGoodPVtxVsPVtx->setAxisTitle("Number of Good PV", 1);
336  FractionOfGoodPVtxVsPVtx->setAxisTitle("Mean number of Good PV", 2);
337 
338  histname = "NumberOfBADndofPVtxVsGoodPVtx_" + label_;
341  NumberOfBADndofPVtxVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
342  NumberOfBADndofPVtxVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
343  NumberOfBADndofPVtxVsGoodPVtx->setAxisTitle("Mean Number of BAD PV", 2);
344 
345  histname = "GoodPVtxSumPtVsGoodPVtx_" + label_;
348  GoodPVtxSumPtVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
349  GoodPVtxSumPtVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
350  GoodPVtxSumPtVsGoodPVtx->setAxisTitle("Mean pv #Sum p_{T}^{2} [GeV^{2}/c]^{2}", 2);
351 
352  histname = "GoodPVtxNumberOfTracksVsGoodPVtx_" + label_;
355  GoodPVtxNumberOfTracksVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
356  GoodPVtxNumberOfTracksVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
357  GoodPVtxNumberOfTracksVsGoodPVtx->setAxisTitle("Mean pv number of tracks", 2);
358 
359  // get binning from the configuration
360  double Chi2NDFMin = conf_.getParameter<double>("Chi2NDFMin");
361  double Chi2NDFMax = conf_.getParameter<double>("Chi2NDFMax");
362 
363  double Chi2ProbMin = conf_.getParameter<double>("Chi2ProbMin");
364  double Chi2ProbMax = conf_.getParameter<double>("Chi2ProbMax");
365 
366  histname = "GoodPVtxChi2oNDFVsGoodPVtx_" + label_;
369  GoodPVtxChi2oNDFVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
370  GoodPVtxChi2oNDFVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
371  GoodPVtxChi2oNDFVsGoodPVtx->setAxisTitle("Mean PV #chi^{2}/ndof", 2);
372 
373  histname = "GoodPVtxChi2ProbVsGoodPVtx_" + label_;
376  GoodPVtxChi2ProbVsGoodPVtx->getTH1()->SetCanExtend(TH1::kAllAxes);
377  GoodPVtxChi2ProbVsGoodPVtx->setAxisTitle("Number of Good PV", 1);
378  GoodPVtxChi2ProbVsGoodPVtx->setAxisTitle("Mean PV #chi^{2}/prob", 2);
379  }
380 }
381 
382 // ------------ method fills 'descriptions' with the allowed parameters for the module ------------
384  //The following says we do not know what parameters are allowed so do no validation
385  // Please change this to state exactly what you do use, even if it is no parameters
387  desc.setUnknown();
388  descriptions.addDefault(desc);
389 }
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
electrons_cff.bool
bool
Definition: electrons_cff.py:366
VertexMonitor::NumberOfPVtxVsBXlumi
MonitorElement * NumberOfPVtxVsBXlumi
Definition: VertexMonitor.h:63
MessageLogger.h
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
VertexMonitor::~VertexMonitor
virtual ~VertexMonitor()
Definition: VertexMonitor.cc:72
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
VertexMonitor::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: VertexMonitor.cc:383
TrackingMonitor_cfi.NTrkPVtxMin
NTrkPVtxMin
Definition: TrackingMonitor_cfi.py:396
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DQMStore.h
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
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
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
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
VertexMonitor.h
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
iEvent
int iEvent
Definition: GenABIO.cc:224
TrackerCollisionTrackingMonitor_cfi.GoodPVtxMin
GoodPVtxMin
Definition: TrackerCollisionTrackingMonitor_cfi.py:83
beam_dqm_sourceclient-live_cfg.Chi2NDFMin
Chi2NDFMin
Definition: beam_dqm_sourceclient-live_cfg.py:194
VertexMonitor::analyze
virtual void analyze(const edm::Event &, const edm::EventSetup &)
Definition: VertexMonitor.cc:85
edm::EventSetup
Definition: EventSetup.h:58
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:193
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GetLumi::getValue
double getValue(const edm::Event &)
Definition: GetLumi.cc:48
InputTag.h
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
GetLumi.h
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
dqm::implementation::IBooker
Definition: DQMStore.h:43
VertexMonitor::selpvToken_
edm::EDGetTokenT< reco::VertexCollection > selpvToken_
Definition: VertexMonitor.h:58
VertexMonitor
Definition: VertexMonitor.h:31
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
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:791
VertexMonitor::GoodPVtxNumberOfTracks
MonitorElement * GoodPVtxNumberOfTracks
Definition: VertexMonitor.h:87
edm::InputTag
Definition: InputTag.h:15
VertexMonitor::initHisto
virtual void initHisto(DQMStore::IBooker &ibooker)
Definition: VertexMonitor.cc:174
TrackingMonitor_cfi.SumPtPVtxMax
SumPtPVtxMax
Definition: TrackingMonitor_cfi.py:404
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
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