CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
PrimaryVertexMonitor Class Reference

#include <PrimaryVertexMonitor.h>

Inheritance diagram for PrimaryVertexMonitor:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Classes

struct  IPMonitoring
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 PrimaryVertexMonitor (const edm::ParameterSet &pSet)
 
 ~PrimaryVertexMonitor () override=default
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 

Private Types

using VertexScore = edm::ValueMap< float >
 

Private Member Functions

void pvTracksPlots (const reco::Vertex &v)
 
void vertexPlots (const reco::Vertex &v, const reco::BeamSpot &beamSpot, int i)
 

Private Attributes

const std::string AlignmentLabel_
 
const edm::InputTag beamSpotInputTag_
 
const edm::EDGetTokenT< reco::BeamSpotbeamspotToken_
 
MonitorElementbsBeamWidthX
 
MonitorElementbsBeamWidthY
 
MonitorElementbsDxdz
 
MonitorElementbsDydz
 
MonitorElementbsSigmaZ
 
MonitorElementbsType
 
MonitorElementbsX
 
MonitorElementbsY
 
MonitorElementbsZ
 
MonitorElementchi2ndf
 
MonitorElementchi2prob
 
const edm::ParameterSet conf_
 
const std::string dqmLabel
 
MonitorElementdxy2
 
IPMonitoring dxy_pt1
 
IPMonitoring dxy_pt10
 
IPMonitoring dz_pt1
 
IPMonitoring dz_pt10
 
bool errorPrinted_
 
MonitorElementeta_pt1
 
MonitorElementeta_pt10
 
MonitorElementnans [2]
 
MonitorElementnbgvtx
 
MonitorElementnbtksinvtx [2]
 
MonitorElementnbvtx
 
const int ndof_
 
MonitorElementntracks
 
MonitorElementntracksVsZ [2]
 
MonitorElementphi_pt1
 
MonitorElementphi_pt10
 
MonitorElementscore [2]
 
const edm::EDGetTokenT< VertexScorescoreToken_
 
MonitorElementsumpt
 
const std::string TopFolderName_
 
MonitorElementtrksWeight [2]
 
MonitorElementtt [2]
 
MonitorElementtype [2]
 
const bool useHPfoAlignmentPlots_
 
const edm::InputTag vertexInputTag_
 
const edm::EDGetTokenT< reco::VertexCollectionvertexToken_
 
MonitorElementvtxchi2 [2]
 
MonitorElementvtxndf [2]
 
MonitorElementvtxprob [2]
 
MonitorElementweight
 
MonitorElementxDiff [2]
 
MonitorElementxerr [2]
 
MonitorElementxerrVsTrks [2]
 
MonitorElementxrec [2]
 
MonitorElementyDiff [2]
 
MonitorElementyerr [2]
 
MonitorElementyerrVsTrks [2]
 
MonitorElementyrec [2]
 
MonitorElementzerr [2]
 
MonitorElementzerrVsTrks [2]
 
MonitorElementzrec [2]
 

Static Private Attributes

static constexpr int cmToUm = 10000
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 23 of file PrimaryVertexMonitor.h.

Member Typedef Documentation

◆ VertexScore

Definition at line 57 of file PrimaryVertexMonitor.h.

Constructor & Destructor Documentation

◆ PrimaryVertexMonitor()

PrimaryVertexMonitor::PrimaryVertexMonitor ( const edm::ParameterSet pSet)
explicit

Definition at line 18 of file PrimaryVertexMonitor.cc.

19  : vertexInputTag_(pSet.getParameter<InputTag>("vertexLabel")),
20  beamSpotInputTag_(pSet.getParameter<InputTag>("beamSpotLabel")),
21  vertexToken_(consumes<reco::VertexCollection>(vertexInputTag_)),
22  scoreToken_(consumes<VertexScore>(vertexInputTag_)),
23  beamspotToken_(consumes<reco::BeamSpot>(beamSpotInputTag_)),
24  conf_(pSet),
25  TopFolderName_(pSet.getParameter<std::string>("TopFolderName")),
26  AlignmentLabel_(pSet.getParameter<std::string>("AlignmentLabel")),
27  ndof_(pSet.getParameter<int>("ndof")),
28  useHPfoAlignmentPlots_(pSet.getParameter<bool>("useHPforAlignmentPlots")),
29  errorPrinted_(false),
30  nbvtx(nullptr),
31  bsX(nullptr),
32  bsY(nullptr),
33  bsZ(nullptr),
34  bsSigmaZ(nullptr),
35  bsDxdz(nullptr),
36  bsDydz(nullptr),
37  bsBeamWidthX(nullptr),
38  bsBeamWidthY(nullptr),
39  bsType(nullptr),
40  sumpt(nullptr),
41  ntracks(nullptr),
42  weight(nullptr),
43  chi2ndf(nullptr),
44  chi2prob(nullptr),
45  phi_pt1(nullptr),
46  eta_pt1(nullptr),
47  phi_pt10(nullptr),
48  eta_pt10(nullptr),
49  dxy2(nullptr) {}
const std::string AlignmentLabel_
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
MonitorElement * bsSigmaZ
MonitorElement * eta_pt1
const edm::EDGetTokenT< reco::BeamSpot > beamspotToken_
MonitorElement * chi2ndf
const edm::InputTag vertexInputTag_
const edm::EDGetTokenT< VertexScore > scoreToken_
MonitorElement * phi_pt10
MonitorElement * eta_pt10
MonitorElement * chi2prob
const edm::ParameterSet conf_
const std::string TopFolderName_
MonitorElement * phi_pt1
const edm::EDGetTokenT< reco::VertexCollection > vertexToken_
MonitorElement * ntracks
MonitorElement * bsBeamWidthY
MonitorElement * bsBeamWidthX
const edm::InputTag beamSpotInputTag_

◆ ~PrimaryVertexMonitor()

PrimaryVertexMonitor::~PrimaryVertexMonitor ( )
overridedefault

Member Function Documentation

◆ analyze()

void PrimaryVertexMonitor::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 340 of file PrimaryVertexMonitor.cc.

References pwdgSkimBPark_cfi::beamSpot, beamSpotInputTag_, beamspotToken_, bsBeamWidthX, bsBeamWidthY, bsDxdz, bsDydz, bsSigmaZ, bsType, bsX, bsY, bsZ, cmToUm, errorPrinted_, dqm::impl::MonitorElement::Fill(), HcalObjRepresent::Fill(), mps_fire::i, iEvent, edm::HandleBase::isValid(), nbgvtx, nbvtx, ndof_, convertSQLiteXML::ok, pvTracksPlots(), score, scoreToken_, mathSSE::sqrt(), findQualityFiles::v, vertexInputTag_, vertexPlots(), vertexToken_, and btvMC_cff::vx.

340  {
342  iEvent.getByToken(vertexToken_, recVtxs);
343 
344  Handle<VertexScore> scores;
345  iEvent.getByToken(scoreToken_, scores);
346 
347  edm::Handle<reco::BeamSpot> beamSpotHandle;
348  iEvent.getByToken(beamspotToken_, beamSpotHandle);
349 
350  //
351  // check for absent products and simply "return" in that case
352  //
353  if (recVtxs.isValid() == false || beamSpotHandle.isValid() == false) {
354  edm::LogWarning("PrimaryVertexMonitor")
355  << " Some products not available in the event: VertexCollection " << vertexInputTag_ << " " << recVtxs.isValid()
356  << " BeamSpot " << beamSpotInputTag_ << " " << beamSpotHandle.isValid() << ". Skipping plots for this event";
357  return;
358  }
359 
360  // check upfront that refs to track are (likely) to be valid
361  {
362  bool ok = true;
363  for (const auto& v : *recVtxs) {
364  if (v.tracksSize() > 0) {
365  const auto& ref = v.trackRefAt(0);
366  if (ref.isNull() || !ref.isAvailable()) {
367  if (!errorPrinted_)
368  edm::LogWarning("PrimaryVertexMonitor")
369  << "Skipping vertex collection: " << vertexInputTag_
370  << " since likely the track collection the vertex has refs pointing to is missing (at least the first "
371  "TrackBaseRef is null or not available)";
372  else
373  errorPrinted_ = true;
374  ok = false;
375  }
376  }
377  }
378  if (!ok)
379  return;
380  }
381 
382  BeamSpot beamSpot = *beamSpotHandle;
383 
384  nbvtx->Fill(recVtxs->size() * 1.);
385  int ng = 0;
386  for (auto const& vx : (*recVtxs))
387  if (vx.isValid() && !vx.isFake() && vx.ndof() >= ndof_)
388  ++ng;
389  nbgvtx->Fill(ng * 1.);
390 
391  if (scores.isValid() && !(*scores).empty()) {
392  auto pvScore = (*scores).get(0);
393  score[1]->Fill(std::sqrt(pvScore));
394  for (unsigned int i = 1; i < (*scores).size(); ++i)
395  score[0]->Fill(std::sqrt((*scores).get(i)));
396  }
397 
398  // fill PV tracks MEs (as now, for alignment)
399  if (!recVtxs->empty()) {
400  vertexPlots(recVtxs->front(), beamSpot, 1);
401  pvTracksPlots(recVtxs->front());
402 
403  for (reco::VertexCollection::const_iterator v = recVtxs->begin() + 1; v != recVtxs->end(); ++v)
404  vertexPlots(*v, beamSpot, 0);
405  }
406 
407  // Beamline plots:
408  bsX->Fill(beamSpot.x0());
409  bsY->Fill(beamSpot.y0());
410  bsZ->Fill(beamSpot.z0());
411  bsSigmaZ->Fill(beamSpot.sigmaZ());
412  bsDxdz->Fill(beamSpot.dxdz());
413  bsDydz->Fill(beamSpot.dydz());
414  bsBeamWidthX->Fill(beamSpot.BeamWidthX() * cmToUm);
415  bsBeamWidthY->Fill(beamSpot.BeamWidthY() * cmToUm);
416  bsType->Fill(beamSpot.type());
417 }
void pvTracksPlots(const reco::Vertex &v)
void vertexPlots(const reco::Vertex &v, const reco::BeamSpot &beamSpot, int i)
MonitorElement * bsSigmaZ
const edm::EDGetTokenT< reco::BeamSpot > beamspotToken_
const edm::InputTag vertexInputTag_
const edm::EDGetTokenT< VertexScore > scoreToken_
void Fill(long long x)
int iEvent
Definition: GenABIO.cc:224
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
T sqrt(T t)
Definition: SSEVec.h:23
static constexpr int cmToUm
bool isValid() const
Definition: HandleBase.h:70
const edm::EDGetTokenT< reco::VertexCollection > vertexToken_
Log< level::Warning, false > LogWarning
MonitorElement * bsBeamWidthY
MonitorElement * score[2]
MonitorElement * bsBeamWidthX
const edm::InputTag beamSpotInputTag_

◆ bookHistograms()

void PrimaryVertexMonitor::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 53 of file PrimaryVertexMonitor.cc.

References AlignmentLabel_, beamSpotInputTag_, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), PrimaryVertexMonitor::IPMonitoring::bookIPMonitor(), dqm::implementation::IBooker::bookProfile(), bsBeamWidthX, bsBeamWidthY, bsDxdz, bsDydz, bsSigmaZ, bsType, bsX, bsY, bsZ, chi2ndf, chi2prob, conf_, dqmLabel, dxy2, dxy_pt1, dxy_pt10, beam_dqm_sourceclient-live_cfg::DxyBin, beam_dqm_sourceclient-live_cfg::DxyMax, beam_dqm_sourceclient-live_cfg::DxyMin, dz_pt1, dz_pt10, eta_pt1, eta_pt10, MonitorTrackInnerTrackMuons_cff::EtaBin, MonitorTrackInnerTrackMuons_cff::EtaMax, MonitorTrackInnerTrackMuons_cff::EtaMin, edm::ParameterSet::getParameter(), mps_fire::i, edm::InputTag::label(), pileupFilter_cff::maxPU, nans, nbgvtx, nbtksinvtx, nbvtx, ntracks, ntracksVsZ, phi_pt1, phi_pt10, MonitorTrackSTAMuons_cfi::PhiBin, MonitorTrackSTAMuons_cfi::PhiMax, MonitorTrackSTAMuons_cfi::PhiMin, PrimaryVertexMonitor::IPMonitoring::pTcut_, score, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, sumpt, TopFolderName_, trksWeight, PrimaryVertexMonitor::IPMonitoring::varname_, vertexInputTag_, vtxchi2, vtxndf, vtxprob, xDiff, xerr, xerrVsTrks, xrec, yDiff, yerr, yerrVsTrks, yrec, zerr, zerrVsTrks, and zrec.

53  {
54  std::string dqmLabel = "";
55 
56  //
57  // Book all histograms.
58  //
59 
60  // get the store
62  iBooker.setCurrentFolder(dqmLabel);
63 
64  // xPos = iBooker.book1D ("xPos","x Coordinate" ,100, -0.1, 0.1);
65  auto maxPU = conf_.getParameter<double>("PUMax");
66  nbvtx = iBooker.book1D("vtxNbr", "Reconstructed Vertices in Event", maxPU, -0.5, maxPU - 0.5);
67  nbgvtx = iBooker.book1D("goodvtxNbr", "Reconstructed Good Vertices in Event", maxPU, -0.5, maxPU - 0.5);
68 
69  // to be configured each year...
70  auto vposx = conf_.getParameter<double>("Xpos");
71  auto vposy = conf_.getParameter<double>("Ypos");
72 
73  nbtksinvtx[0] = iBooker.book1D("otherVtxTrksNbr", "Reconstructed Tracks in Vertex (other Vtx)", 40, -0.5, 99.5);
74  ntracksVsZ[0] = iBooker.bookProfile(
75  "otherVtxTrksVsZ", "Reconstructed Tracks in Vertex (other Vtx) vs Z", 80, -20., 20., 50, 0, 100, "");
76  ntracksVsZ[0]->setAxisTitle("z-bs", 1);
77  ntracksVsZ[0]->setAxisTitle("#tracks", 2);
78 
79  score[0] = iBooker.book1D("otherVtxScore", "sqrt(score) (other Vtx)", 100, 0., 400.);
80  trksWeight[0] = iBooker.book1D("otherVtxTrksWeight", "Total weight of Tracks in Vertex (other Vtx)", 40, 0, 100.);
81  vtxchi2[0] = iBooker.book1D("otherVtxChi2", "#chi^{2} (other Vtx)", 100, 0., 200.);
82  vtxndf[0] = iBooker.book1D("otherVtxNdf", "ndof (other Vtx)", 100, 0., 200.);
83  vtxprob[0] = iBooker.book1D("otherVtxProb", "#chi^{2} probability (other Vtx)", 100, 0., 1.);
84  nans[0] = iBooker.book1D("otherVtxNans", "Illegal values for x,y,z,xx,xy,xz,yy,yz,zz (other Vtx)", 9, 0.5, 9.5);
85 
86  nbtksinvtx[1] = iBooker.book1D("tagVtxTrksNbr", "Reconstructed Tracks in Vertex (tagged Vtx)", 100, -0.5, 99.5);
87  ntracksVsZ[1] = iBooker.bookProfile(
88  "tagVtxTrksVsZ", "Reconstructed Tracks in Vertex (tagged Vtx) vs Z", 80, -20., 20., 50, 0, 100, "");
89  ntracksVsZ[1]->setAxisTitle("z-bs", 1);
90  ntracksVsZ[1]->setAxisTitle("#tracks", 2);
91 
92  score[1] = iBooker.book1D("tagVtxScore", "sqrt(score) (tagged Vtx)", 100, 0., 400.);
93  trksWeight[1] = iBooker.book1D("tagVtxTrksWeight", "Total weight of Tracks in Vertex (tagged Vtx)", 100, 0, 100.);
94  vtxchi2[1] = iBooker.book1D("tagVtxChi2", "#chi^{2} (tagged Vtx)", 100, 0., 200.);
95  vtxndf[1] = iBooker.book1D("tagVtxNdf", "ndof (tagged Vtx)", 100, 0., 200.);
96  vtxprob[1] = iBooker.book1D("tagVtxProb", "#chi^{2} probability (tagged Vtx)", 100, 0., 1.);
97  nans[1] = iBooker.book1D("tagVtxNans", "Illegal values for x,y,z,xx,xy,xz,yy,yz,zz (tagged Vtx)", 9, 0.5, 9.5);
98 
99  xrec[0] = iBooker.book1D("otherPosX", "Position x Coordinate (other Vtx)", 100, vposx - 0.1, vposx + 0.1);
100  yrec[0] = iBooker.book1D("otherPosY", "Position y Coordinate (other Vtx)", 100, vposy - 0.1, vposy + 0.1);
101  zrec[0] = iBooker.book1D("otherPosZ", "Position z Coordinate (other Vtx)", 100, -20., 20.);
102  xDiff[0] = iBooker.book1D("otherDiffX", "X distance from BeamSpot (other Vtx)", 100, -500, 500);
103  yDiff[0] = iBooker.book1D("otherDiffY", "Y distance from BeamSpot (other Vtx)", 100, -500, 500);
104  xerr[0] = iBooker.book1D("otherErrX", "Uncertainty x Coordinate (other Vtx)", 100, 0., 100);
105  yerr[0] = iBooker.book1D("otherErrY", "Uncertainty y Coordinate (other Vtx)", 100, 0., 100);
106  zerr[0] = iBooker.book1D("otherErrZ", "Uncertainty z Coordinate (other Vtx)", 100, 0., 100);
107  xerrVsTrks[0] = iBooker.book2D(
108  "otherErrVsWeightX", "Uncertainty x Coordinate vs. track weight (other Vtx)", 100, 0, 100., 100, 0., 100);
109  yerrVsTrks[0] = iBooker.book2D(
110  "otherErrVsWeightY", "Uncertainty y Coordinate vs. track weight (other Vtx)", 100, 0, 100., 100, 0., 100);
111  zerrVsTrks[0] = iBooker.book2D(
112  "otherErrVsWeightZ", "Uncertainty z Coordinate vs. track weight (other Vtx)", 100, 0, 100., 100, 0., 100);
113 
114  xrec[1] = iBooker.book1D("tagPosX", "Position x Coordinate (tagged Vtx)", 100, vposx - 0.1, vposx + 0.1);
115  yrec[1] = iBooker.book1D("tagPosY", "Position y Coordinate (tagged Vtx)", 100, vposy - 0.1, vposy + 0.1);
116  zrec[1] = iBooker.book1D("tagPosZ", "Position z Coordinate (tagged Vtx)", 100, -20., 20.);
117  xDiff[1] = iBooker.book1D("tagDiffX", "X distance from BeamSpot (tagged Vtx)", 100, -500, 500);
118  yDiff[1] = iBooker.book1D("tagDiffY", "Y distance from BeamSpot (tagged Vtx)", 100, -500, 500);
119  xerr[1] = iBooker.book1D("tagErrX", "Uncertainty x Coordinate (tagged Vtx)", 100, 0., 100);
120  yerr[1] = iBooker.book1D("tagErrY", "Uncertainty y Coordinate (tagged Vtx)", 100, 0., 100);
121  zerr[1] = iBooker.book1D("tagErrZ", "Uncertainty z Coordinate (tagged Vtx)", 100, 0., 100);
122  xerrVsTrks[1] = iBooker.book2D(
123  "tagErrVsWeightX", "Uncertainty x Coordinate vs. track weight (tagged Vtx)", 100, 0, 100., 100, 0., 100);
124  yerrVsTrks[1] = iBooker.book2D(
125  "tagErrVsWeightY", "Uncertainty y Coordinate vs. track weight (tagged Vtx)", 100, 0, 100., 100, 0., 100);
126  zerrVsTrks[1] = iBooker.book2D(
127  "tagErrVsWeightZ", "Uncertainty z Coordinate vs. track weight (tagged Vtx)", 100, 0, 100., 100, 0., 100);
128 
129  type[0] = iBooker.book1D("otherType", "Vertex type (other Vtx)", 3, -0.5, 2.5);
130  type[1] = iBooker.book1D("tagType", "Vertex type (tagged Vtx)", 3, -0.5, 2.5);
131  for (int i = 0; i < 2; ++i) {
132  type[i]->setBinLabel(1, "Valid, real");
133  type[i]->setBinLabel(2, "Valid, fake");
134  type[i]->setBinLabel(3, "Invalid");
135  }
136 
137  // get the store
139  iBooker.setCurrentFolder(dqmLabel);
140 
141  bsX = iBooker.book1D("bsX", "BeamSpot x0", 100, vposx - 0.1, vposx + 0.1);
142  bsY = iBooker.book1D("bsY", "BeamSpot y0", 100, vposy - 0.1, vposy + 0.1);
143  bsZ = iBooker.book1D("bsZ", "BeamSpot z0", 100, -2., 2.);
144  bsSigmaZ = iBooker.book1D("bsSigmaZ", "BeamSpot sigmaZ", 100, 0., 10.);
145  bsDxdz = iBooker.book1D("bsDxdz", "BeamSpot dxdz", 100, -0.0003, 0.0003);
146  bsDydz = iBooker.book1D("bsDydz", "BeamSpot dydz", 100, -0.0003, 0.0003);
147  bsBeamWidthX = iBooker.book1D("bsBeamWidthX", "BeamSpot BeamWidthX", 500, 0., 15.);
148  bsBeamWidthY = iBooker.book1D("bsBeamWidthY", "BeamSpot BeamWidthY", 500, 0., 15.);
149  bsType = iBooker.book1D("bsType", "BeamSpot type", 4, -1.5, 2.5);
150  bsType->setBinLabel(1, "Unknown");
151  bsType->setBinLabel(2, "Fake");
152  bsType->setBinLabel(3, "LHC");
153  bsType->setBinLabel(4, "Tracker");
154 
155  // get the store
157  iBooker.setCurrentFolder(dqmLabel);
158 
159  int TKNoBin = conf_.getParameter<int>("TkSizeBin");
160  double TKNoMin = conf_.getParameter<double>("TkSizeMin");
161  double TKNoMax = conf_.getParameter<double>("TkSizeMax");
162 
163  int DxyBin = conf_.getParameter<int>("DxyBin");
164  double DxyMin = conf_.getParameter<double>("DxyMin");
165  double DxyMax = conf_.getParameter<double>("DxyMax");
166 
167  int PhiBin = conf_.getParameter<int>("PhiBin");
168  double PhiMin = conf_.getParameter<double>("PhiMin");
169  double PhiMax = conf_.getParameter<double>("PhiMax");
170 
171  int EtaBin = conf_.getParameter<int>("EtaBin");
172  double EtaMin = conf_.getParameter<double>("EtaMin");
173  double EtaMax = conf_.getParameter<double>("EtaMax");
174 
175  ntracks = iBooker.book1D("ntracks", "number of PV tracks (p_{T} > 1 GeV)", TKNoBin, TKNoMin, TKNoMax);
176  ntracks->setAxisTitle("Number of PV Tracks (p_{T} > 1 GeV) per Event", 1);
177  ntracks->setAxisTitle("Number of Event", 2);
178 
179  weight = iBooker.book1D("weight", "weight of PV tracks (p_{T} > 1 GeV)", 100, 0., 1.);
180  weight->setAxisTitle("weight of PV Tracks (p_{T} > 1 GeV) per Event", 1);
181  weight->setAxisTitle("Number of Event", 2);
182 
183  sumpt = iBooker.book1D("sumpt", "#Sum p_{T} of PV tracks (p_{T} > 1 GeV)", 100, -0.5, 249.5);
184  chi2ndf = iBooker.book1D("chi2ndf", "PV tracks (p_{T} > 1 GeV) #chi^{2}/ndof", 100, 0., 20.);
185  chi2prob = iBooker.book1D("chi2prob", "PV tracks (p_{T} > 1 GeV) #chi^{2} probability", 100, 0., 1.);
186 
187  dxy2 = iBooker.book1D("dxyzoom", "PV tracks (p_{T} > 1 GeV) d_{xy} (#mum)", DxyBin, DxyMin / 5., DxyMax / 5.);
188 
189  phi_pt1 = iBooker.book1D("phi_pt1", "PV tracks (p_{T} > 1 GeV) #phi; PV tracks #phi;#tracks", PhiBin, PhiMin, PhiMax);
190  eta_pt1 = iBooker.book1D("eta_pt1", "PV tracks (p_{T} > 1 GeV) #eta; PV tracks #eta;#tracks", EtaBin, EtaMin, EtaMax);
191  phi_pt10 =
192  iBooker.book1D("phi_pt10", "PV tracks (p_{T} > 10 GeV) #phi; PV tracks #phi;#tracks", PhiBin, PhiMin, PhiMax);
193  eta_pt10 =
194  iBooker.book1D("eta_pt10", "PV tracks (p_{T} > 10 GeV) #phi; PV tracks #eta;#tracks", EtaBin, EtaMin, EtaMax);
195 
196  // initialize and book the monitors;
197  dxy_pt1.varname_ = "xy";
198  dxy_pt1.pTcut_ = 1.f;
199  dxy_pt1.bookIPMonitor(iBooker, conf_);
200 
201  dxy_pt10.varname_ = "xy";
202  dxy_pt10.pTcut_ = 10.f;
203  dxy_pt10.bookIPMonitor(iBooker, conf_);
204 
205  dz_pt1.varname_ = "z";
206  dz_pt1.pTcut_ = 1.f;
207  dz_pt1.bookIPMonitor(iBooker, conf_);
208 
209  dz_pt10.varname_ = "z";
210  dz_pt10.pTcut_ = 10.f;
211  dz_pt10.bookIPMonitor(iBooker, conf_);
212 }
MonitorElement * xerrVsTrks[2]
const std::string AlignmentLabel_
MonitorElement * xerr[2]
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
MonitorElement * vtxndf[2]
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * bsSigmaZ
MonitorElement * eta_pt1
const std::string dqmLabel
Definition: weight.py:1
MonitorElement * chi2ndf
std::string const & label() const
Definition: InputTag.h:36
void bookIPMonitor(DQMStore::IBooker &, const edm::ParameterSet &)
MonitorElement * xDiff[2]
const edm::InputTag vertexInputTag_
MonitorElement * ntracksVsZ[2]
MonitorElement * zerrVsTrks[2]
MonitorElement * nans[2]
MonitorElement * phi_pt10
MonitorElement * yerrVsTrks[2]
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:408
MonitorElement * zerr[2]
MonitorElement * yrec[2]
MonitorElement * zrec[2]
MonitorElement * vtxchi2[2]
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * eta_pt10
MonitorElement * chi2prob
const edm::ParameterSet conf_
const std::string TopFolderName_
MonitorElement * nbtksinvtx[2]
MonitorElement * phi_pt1
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:221
MonitorElement * yerr[2]
MonitorElement * xrec[2]
MonitorElement * vtxprob[2]
MonitorElement * ntracks
MonitorElement * bsBeamWidthY
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * score[2]
MonitorElement * yDiff[2]
MonitorElement * trksWeight[2]
MonitorElement * bsBeamWidthX
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
const edm::InputTag beamSpotInputTag_

◆ fillDescriptions()

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

Definition at line 586 of file PrimaryVertexMonitor.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, M_PI, and AlCaHLTBitMon_QueryRunRegistry::string.

586  {
588  desc.add<std::string>("TopFolderName", "OfflinePV");
589  desc.add<std::string>("AlignmentLabel", "Alignment");
590  desc.add<int>("ndof", 4);
591  desc.add<bool>("useHPforAlignmentPlots", true);
592  desc.add<InputTag>("vertexLabel", edm::InputTag("offlinePrimaryVertices"));
593  desc.add<InputTag>("beamSpotLabel", edm::InputTag("offlineBeamSpot"));
594  desc.add<double>("PUMax", 80.0);
595  desc.add<double>("Xpos", 0.1);
596  desc.add<double>("Ypos", 0.0);
597  desc.add<int>("TkSizeBin", 100);
598  desc.add<double>("TkSizeMin", -0.5);
599  desc.add<double>("TkSizeMax", 499.5);
600  desc.add<int>("DxyBin", 100);
601  desc.add<double>("DxyMin", -5000.0);
602  desc.add<double>("DxyMax", 5000.0);
603  desc.add<int>("DzBin", 100);
604  desc.add<double>("DzMin", -2000.0);
605  desc.add<double>("DzMax", 2000.0);
606  desc.add<int>("PhiBin", 32);
607  desc.add<double>("PhiMin", -M_PI);
608  desc.add<double>("PhiMax", M_PI);
609  desc.add<int>("EtaBin", 26);
610  desc.add<double>("EtaMin", 2.5);
611  desc.add<double>("EtaMax", -2.5);
612  desc.add<int>("PhiBin2D", 12);
613  desc.add<int>("EtaBin2D", 8);
614  descriptions.addWithDefaultLabel(desc);
615 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
#define M_PI

◆ pvTracksPlots()

void PrimaryVertexMonitor::pvTracksPlots ( const reco::Vertex v)
private

Definition at line 419 of file PrimaryVertexMonitor.cc.

References chi2ndf, chi2prob, cmToUm, dxy2, dxy_pt1, dxy_pt10, dz_pt1, dz_pt10, PVValHelper::eta, eta_pt1, eta_pt10, dqm::impl::MonitorElement::Fill(), reco::TrackBase::highPurity, createfilelist::int, PrimaryVertexMonitor::IPMonitoring::IP_, PrimaryVertexMonitor::IPMonitoring::IPErr_, PrimaryVertexMonitor::IPMonitoring::IPErrVsEta_, PrimaryVertexMonitor::IPMonitoring::IPErrVsEtaVsPhi_, PrimaryVertexMonitor::IPMonitoring::IPErrVsPhi_, PrimaryVertexMonitor::IPMonitoring::IPPull_, PrimaryVertexMonitor::IPMonitoring::IPVsEta_, PrimaryVertexMonitor::IPMonitoring::IPVsEtaVsPhi_, PrimaryVertexMonitor::IPMonitoring::IPVsPhi_, beamSpotPI::nTracks, ntracks, phi, phi_pt1, phi_pt10, DiDispStaMuonMonitor_cfi::pt, sumpt, submitPVValidationJobs::t, useHPfoAlignmentPlots_, findQualityFiles::v, and w().

Referenced by analyze().

419  {
420  if (!v.isValid())
421  return;
422  if (v.isFake())
423  return;
424 
425  if (v.tracksSize() == 0) {
426  ntracks->Fill(0);
427  return;
428  }
429 
430  const math::XYZPoint myVertex(v.position().x(), v.position().y(), v.position().z());
431 
432  size_t nTracks = 0;
433  float sumPT = 0.;
434 
435  for (reco::Vertex::trackRef_iterator t = v.tracks_begin(); t != v.tracks_end(); t++) {
436  bool isHighPurity = (**t).quality(reco::TrackBase::highPurity);
437  if (!isHighPurity && useHPfoAlignmentPlots_)
438  continue;
439 
440  float pt = (**t).pt();
441  if (pt < 1.)
442  continue;
443 
444  nTracks++;
445 
446  float eta = (**t).eta();
447  float phi = (**t).phi();
448 
449  float w = v.trackWeight(*t);
450  float chi2NDF = (**t).normalizedChi2();
451  float chi2Prob = TMath::Prob((**t).chi2(), (int)(**t).ndof());
452  float Dxy = (**t).dxy(myVertex) * cmToUm;
453  float Dz = (**t).dz(myVertex) * cmToUm;
454  float DxyErr = (**t).dxyError() * cmToUm;
455  float DzErr = (**t).dzError() * cmToUm;
456 
457  sumPT += pt * pt;
458 
459  // fill MEs
460  phi_pt1->Fill(phi);
461  eta_pt1->Fill(eta);
462 
463  weight->Fill(w);
464  chi2ndf->Fill(chi2NDF);
465  chi2prob->Fill(chi2Prob);
466  dxy2->Fill(Dxy);
467 
468  // dxy pT>1
469 
470  dxy_pt1.IP_->Fill(Dxy);
471  dxy_pt1.IPVsPhi_->Fill(phi, Dxy);
472  dxy_pt1.IPVsEta_->Fill(eta, Dxy);
473  dxy_pt1.IPVsEtaVsPhi_->Fill(eta, phi, Dxy);
474 
475  dxy_pt1.IPErr_->Fill(DxyErr);
476  dxy_pt1.IPPull_->Fill(Dxy / DxyErr);
477  dxy_pt1.IPErrVsPhi_->Fill(phi, DxyErr);
478  dxy_pt1.IPErrVsEta_->Fill(eta, DxyErr);
479  dxy_pt1.IPErrVsEtaVsPhi_->Fill(eta, phi, DxyErr);
480 
481  // dz pT>1
482 
483  dz_pt1.IP_->Fill(Dz);
484  dz_pt1.IPVsPhi_->Fill(phi, Dz);
485  dz_pt1.IPVsEta_->Fill(eta, Dz);
487 
488  dz_pt1.IPErr_->Fill(DzErr);
489  dz_pt1.IPPull_->Fill(Dz / DzErr);
490  dz_pt1.IPErrVsPhi_->Fill(phi, DzErr);
491  dz_pt1.IPErrVsEta_->Fill(eta, DzErr);
492  dz_pt1.IPErrVsEtaVsPhi_->Fill(eta, phi, DzErr);
493 
494  if (pt < 10.)
495  continue;
496 
497  phi_pt10->Fill(phi);
498  eta_pt10->Fill(eta);
499 
500  // dxy pT>10
501 
502  dxy_pt10.IP_->Fill(Dxy);
503  dxy_pt10.IPVsPhi_->Fill(phi, Dxy);
504  dxy_pt10.IPVsEta_->Fill(eta, Dxy);
506 
507  dxy_pt10.IPErr_->Fill(DxyErr);
508  dxy_pt10.IPPull_->Fill(Dxy / DxyErr);
509  dxy_pt10.IPErrVsPhi_->Fill(phi, DxyErr);
510  dxy_pt10.IPErrVsEta_->Fill(eta, DxyErr);
511  dxy_pt10.IPErrVsEtaVsPhi_->Fill(eta, phi, DxyErr);
512 
513  // dxz pT>10
514 
515  dz_pt10.IP_->Fill(Dz);
516  dz_pt10.IPVsPhi_->Fill(phi, Dz);
517  dz_pt10.IPVsEta_->Fill(eta, Dz);
519 
520  dz_pt10.IPErr_->Fill(DzErr);
521  dz_pt10.IPPull_->Fill(Dz / DzErr);
522  dz_pt10.IPErrVsPhi_->Fill(phi, DzErr);
523  dz_pt10.IPErrVsEta_->Fill(eta, DzErr);
524  dz_pt10.IPErrVsEtaVsPhi_->Fill(eta, phi, DzErr);
525  }
526  ntracks->Fill(float(nTracks));
527  sumpt->Fill(sumPT);
528 }
dqm::reco::MonitorElement * IPErrVsEta_
T w() const
MonitorElement * eta_pt1
dqm::reco::MonitorElement * IPPull_
Definition: weight.py:1
MonitorElement * chi2ndf
dqm::reco::MonitorElement * IPVsEtaVsPhi_
dqm::reco::MonitorElement * IP_
void Fill(long long x)
MonitorElement * phi_pt10
dqm::reco::MonitorElement * IPVsEta_
dqm::reco::MonitorElement * IPErrVsPhi_
dqm::reco::MonitorElement * IPErr_
MonitorElement * eta_pt10
dqm::reco::MonitorElement * IPErrVsEtaVsPhi_
MonitorElement * chi2prob
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
dqm::reco::MonitorElement * IPVsPhi_
MonitorElement * phi_pt1
static constexpr int cmToUm
MonitorElement * ntracks
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:38

◆ vertexPlots()

void PrimaryVertexMonitor::vertexPlots ( const reco::Vertex v,
const reco::BeamSpot beamSpot,
int  i 
)
private

Definition at line 530 of file PrimaryVertexMonitor.cc.

References pwdgSkimBPark_cfi::beamSpot, ChiSquaredProbability(), cmToUm, dqm::impl::MonitorElement::Fill(), HcalObjRepresent::Fill(), mps_fire::i, edm::isNotFinite(), dqmiolumiharvest::j, dqmdumpme::k, nans, nbtksinvtx, ntracksVsZ, submitPVValidationJobs::t, trksWeight, findQualityFiles::v, vtxchi2, vtxndf, vtxprob, xDiff, xerr, xerrVsTrks, xrec, yDiff, yerr, yerrVsTrks, yrec, zerr, zerrVsTrks, and zrec.

Referenced by analyze().

530  {
531  if (i < 0 || i > 1)
532  return;
533  if (!v.isValid())
534  type[i]->Fill(2.);
535  else if (v.isFake())
536  type[i]->Fill(1.);
537  else
538  type[i]->Fill(0.);
539 
540  if (v.isValid() && !v.isFake()) {
541  float weight = 0;
542  for (reco::Vertex::trackRef_iterator t = v.tracks_begin(); t != v.tracks_end(); t++)
543  weight += v.trackWeight(*t);
544  trksWeight[i]->Fill(weight);
545  nbtksinvtx[i]->Fill(v.tracksSize());
546  ntracksVsZ[i]->Fill(v.position().z() - beamSpot.z0(), v.tracksSize());
547 
548  vtxchi2[i]->Fill(v.chi2());
549  vtxndf[i]->Fill(v.ndof());
550  vtxprob[i]->Fill(ChiSquaredProbability(v.chi2(), v.ndof()));
551 
552  xrec[i]->Fill(v.position().x());
553  yrec[i]->Fill(v.position().y());
554  zrec[i]->Fill(v.position().z());
555 
556  float xb = beamSpot.x0() + beamSpot.dxdz() * (v.position().z() - beamSpot.z0());
557  float yb = beamSpot.y0() + beamSpot.dydz() * (v.position().z() - beamSpot.z0());
558  xDiff[i]->Fill((v.position().x() - xb) * cmToUm);
559  yDiff[i]->Fill((v.position().y() - yb) * cmToUm);
560 
561  xerr[i]->Fill(v.xError() * cmToUm);
562  yerr[i]->Fill(v.yError() * cmToUm);
563  zerr[i]->Fill(v.zError() * cmToUm);
564  xerrVsTrks[i]->Fill(weight, v.xError() * cmToUm);
565  yerrVsTrks[i]->Fill(weight, v.yError() * cmToUm);
566  zerrVsTrks[i]->Fill(weight, v.zError() * cmToUm);
567 
568  nans[i]->Fill(1., edm::isNotFinite(v.position().x()) * 1.);
569  nans[i]->Fill(2., edm::isNotFinite(v.position().y()) * 1.);
570  nans[i]->Fill(3., edm::isNotFinite(v.position().z()) * 1.);
571 
572  int index = 3;
573  for (int k = 0; k != 3; k++) {
574  for (int j = k; j != 3; j++) {
575  index++;
576  nans[i]->Fill(index * 1., edm::isNotFinite(v.covariance(k, j)) * 1.);
577  // in addition, diagonal element must be positive
578  if (j == k && v.covariance(k, j) < 0) {
579  nans[i]->Fill(index * 1., 1.);
580  }
581  }
582  }
583  }
584 }
MonitorElement * xerrVsTrks[2]
MonitorElement * xerr[2]
MonitorElement * vtxndf[2]
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
Definition: weight.py:1
MonitorElement * xDiff[2]
MonitorElement * ntracksVsZ[2]
MonitorElement * zerrVsTrks[2]
MonitorElement * nans[2]
void Fill(long long x)
MonitorElement * yerrVsTrks[2]
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * zerr[2]
MonitorElement * yrec[2]
float ChiSquaredProbability(double chiSquared, double nrDOF)
MonitorElement * zrec[2]
MonitorElement * vtxchi2[2]
MonitorElement * nbtksinvtx[2]
static constexpr int cmToUm
MonitorElement * yerr[2]
MonitorElement * xrec[2]
MonitorElement * vtxprob[2]
MonitorElement * yDiff[2]
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:38
MonitorElement * trksWeight[2]

Member Data Documentation

◆ AlignmentLabel_

const std::string PrimaryVertexMonitor::AlignmentLabel_
private

Definition at line 66 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

◆ beamSpotInputTag_

const edm::InputTag PrimaryVertexMonitor::beamSpotInputTag_
private

Definition at line 55 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ beamspotToken_

const edm::EDGetTokenT<reco::BeamSpot> PrimaryVertexMonitor::beamspotToken_
private

Definition at line 59 of file PrimaryVertexMonitor.h.

Referenced by analyze().

◆ bsBeamWidthX

MonitorElement * PrimaryVertexMonitor::bsBeamWidthX
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsBeamWidthY

MonitorElement * PrimaryVertexMonitor::bsBeamWidthY
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsDxdz

MonitorElement * PrimaryVertexMonitor::bsDxdz
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsDydz

MonitorElement * PrimaryVertexMonitor::bsDydz
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsSigmaZ

MonitorElement * PrimaryVertexMonitor::bsSigmaZ
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsType

MonitorElement * PrimaryVertexMonitor::bsType
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsX

MonitorElement* PrimaryVertexMonitor::bsX
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsY

MonitorElement * PrimaryVertexMonitor::bsY
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsZ

MonitorElement * PrimaryVertexMonitor::bsZ
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ chi2ndf

MonitorElement * PrimaryVertexMonitor::chi2ndf
private

Definition at line 83 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ chi2prob

MonitorElement * PrimaryVertexMonitor::chi2prob
private

Definition at line 83 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ cmToUm

constexpr int PrimaryVertexMonitor::cmToUm = 10000
staticprivate

Definition at line 71 of file PrimaryVertexMonitor.h.

Referenced by analyze(), pvTracksPlots(), and vertexPlots().

◆ conf_

const edm::ParameterSet PrimaryVertexMonitor::conf_
private

Definition at line 63 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

◆ dqmLabel

const std::string PrimaryVertexMonitor::dqmLabel
private

Definition at line 64 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

◆ dxy2

MonitorElement* PrimaryVertexMonitor::dxy2
private

Definition at line 87 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ dxy_pt1

IPMonitoring PrimaryVertexMonitor::dxy_pt1
private

Definition at line 90 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ dxy_pt10

IPMonitoring PrimaryVertexMonitor::dxy_pt10
private

Definition at line 91 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ dz_pt1

IPMonitoring PrimaryVertexMonitor::dz_pt1
private

Definition at line 93 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ dz_pt10

IPMonitoring PrimaryVertexMonitor::dz_pt10
private

Definition at line 94 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ errorPrinted_

bool PrimaryVertexMonitor::errorPrinted_
private

Definition at line 69 of file PrimaryVertexMonitor.h.

Referenced by analyze().

◆ eta_pt1

MonitorElement * PrimaryVertexMonitor::eta_pt1
private

Definition at line 84 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ eta_pt10

MonitorElement * PrimaryVertexMonitor::eta_pt10
private

Definition at line 85 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ nans

MonitorElement * PrimaryVertexMonitor::nans[2]
private

Definition at line 79 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ nbgvtx

MonitorElement * PrimaryVertexMonitor::nbgvtx
private

Definition at line 74 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ nbtksinvtx

MonitorElement * PrimaryVertexMonitor::nbtksinvtx[2]
private

Definition at line 74 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ nbvtx

MonitorElement* PrimaryVertexMonitor::nbvtx
private

Definition at line 74 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ ndof_

const int PrimaryVertexMonitor::ndof_
private

Definition at line 67 of file PrimaryVertexMonitor.h.

Referenced by analyze().

◆ ntracks

MonitorElement * PrimaryVertexMonitor::ntracks
private

Definition at line 83 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ ntracksVsZ

MonitorElement* PrimaryVertexMonitor::ntracksVsZ[2]
private

Definition at line 78 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ phi_pt1

MonitorElement* PrimaryVertexMonitor::phi_pt1
private

Definition at line 84 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ phi_pt10

MonitorElement* PrimaryVertexMonitor::phi_pt10
private

Definition at line 85 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ score

MonitorElement * PrimaryVertexMonitor::score[2]
private

Definition at line 74 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ scoreToken_

const edm::EDGetTokenT<VertexScore> PrimaryVertexMonitor::scoreToken_
private

Definition at line 58 of file PrimaryVertexMonitor.h.

Referenced by analyze().

◆ sumpt

MonitorElement* PrimaryVertexMonitor::sumpt
private

◆ TopFolderName_

const std::string PrimaryVertexMonitor::TopFolderName_
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

◆ trksWeight

MonitorElement * PrimaryVertexMonitor::trksWeight[2]
private

Definition at line 74 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ tt

MonitorElement* PrimaryVertexMonitor::tt[2]
private

Definition at line 75 of file PrimaryVertexMonitor.h.

◆ type

MonitorElement* PrimaryVertexMonitor::type[2]
private

◆ useHPfoAlignmentPlots_

const bool PrimaryVertexMonitor::useHPfoAlignmentPlots_
private

Definition at line 68 of file PrimaryVertexMonitor.h.

Referenced by pvTracksPlots().

◆ vertexInputTag_

const edm::InputTag PrimaryVertexMonitor::vertexInputTag_
private

Definition at line 54 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ vertexToken_

const edm::EDGetTokenT<reco::VertexCollection> PrimaryVertexMonitor::vertexToken_
private

Definition at line 56 of file PrimaryVertexMonitor.h.

Referenced by analyze().

◆ vtxchi2

MonitorElement* PrimaryVertexMonitor::vtxchi2[2]
private

Definition at line 79 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ vtxndf

MonitorElement * PrimaryVertexMonitor::vtxndf[2]
private

Definition at line 79 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ vtxprob

MonitorElement * PrimaryVertexMonitor::vtxprob[2]
private

Definition at line 79 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ weight

MonitorElement * PrimaryVertexMonitor::weight
private

◆ xDiff

MonitorElement * PrimaryVertexMonitor::xDiff[2]
private

Definition at line 76 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ xerr

MonitorElement * PrimaryVertexMonitor::xerr[2]
private

◆ xerrVsTrks

MonitorElement* PrimaryVertexMonitor::xerrVsTrks[2]
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ xrec

MonitorElement* PrimaryVertexMonitor::xrec[2]
private

Definition at line 76 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ yDiff

MonitorElement * PrimaryVertexMonitor::yDiff[2]
private

Definition at line 76 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ yerr

MonitorElement * PrimaryVertexMonitor::yerr[2]
private

◆ yerrVsTrks

MonitorElement * PrimaryVertexMonitor::yerrVsTrks[2]
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ yrec

MonitorElement * PrimaryVertexMonitor::yrec[2]
private

Definition at line 76 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ zerr

MonitorElement * PrimaryVertexMonitor::zerr[2]
private

Definition at line 76 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ zerrVsTrks

MonitorElement * PrimaryVertexMonitor::zerrVsTrks[2]
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ zrec

MonitorElement * PrimaryVertexMonitor::zrec[2]
private

Definition at line 76 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().