CMS 3D CMS Logo

List of all members | Classes | 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
 

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

std::string AlignmentLabel_
 
edm::InputTag beamSpotInputTag_
 
edm::EDGetTokenT< reco::BeamSpotbeamspotToken_
 
MonitorElementbsBeamWidthX
 
MonitorElementbsBeamWidthY
 
MonitorElementbsDxdz
 
MonitorElementbsDydz
 
MonitorElementbsSigmaZ
 
MonitorElementbsType
 
MonitorElementbsX
 
MonitorElementbsY
 
MonitorElementbsZ
 
MonitorElementchi2ndf
 
MonitorElementchi2prob
 
edm::ParameterSet conf_
 
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
 
int ndof_
 
MonitorElementntracks
 
MonitorElementntracksVsZ [2]
 
MonitorElementphi_pt1
 
MonitorElementphi_pt10
 
MonitorElementscore [2]
 
edm::EDGetTokenT< VertexScorescoreToken_
 
MonitorElementsumpt
 
std::string TopFolderName_
 
MonitorElementtrksWeight [2]
 
MonitorElementtt [2]
 
MonitorElementtype [2]
 
bool useHPfoAlignmentPlots_
 
edm::InputTag vertexInputTag_
 
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
 
- 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 &)
 
- 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 26 of file PrimaryVertexMonitor.h.

Member Typedef Documentation

◆ VertexScore

Definition at line 52 of file PrimaryVertexMonitor.h.

Constructor & Destructor Documentation

◆ PrimaryVertexMonitor()

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

Definition at line 17 of file PrimaryVertexMonitor.cc.

References beamSpotInputTag_, beamspotToken_, edm::ParameterSet::getParameter(), scoreToken_, vertexInputTag_, and vertexToken_.

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

◆ ~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 327 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(), and vertexToken_.

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

◆ 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(), 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 
66  nbvtx = iBooker.book1D("vtxNbr", "Reconstructed Vertices in Event", 80, -0.5, 79.5);
67  nbgvtx = iBooker.book1D("goodvtxNbr", "Reconstructed Good Vertices in Event", 80, -0.5, 79.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", 100, 0., 100.);
148  bsBeamWidthY = iBooker.book1D("bsBeamWidthY", "BeamSpot BeamWidthY", 100, 0., 100.);
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]
MonitorElement * xerr[2]
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MonitorElement * vtxndf[2]
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * bsSigmaZ
edm::InputTag beamSpotInputTag_
MonitorElement * eta_pt1
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]
MonitorElement * ntracksVsZ[2]
edm::ParameterSet conf_
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:399
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
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:212
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)

◆ pvTracksPlots()

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

Definition at line 406 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::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().

406  {
407  if (!v.isValid())
408  return;
409  if (v.isFake())
410  return;
411 
412  if (v.tracksSize() == 0) {
413  ntracks->Fill(0);
414  return;
415  }
416 
417  const math::XYZPoint myVertex(v.position().x(), v.position().y(), v.position().z());
418 
419  size_t nTracks = 0;
420  float sumPT = 0.;
421 
422  for (reco::Vertex::trackRef_iterator t = v.tracks_begin(); t != v.tracks_end(); t++) {
423  bool isHighPurity = (**t).quality(reco::TrackBase::highPurity);
424  if (!isHighPurity && useHPfoAlignmentPlots_)
425  continue;
426 
427  float pt = (**t).pt();
428  if (pt < 1.)
429  continue;
430 
431  nTracks++;
432 
433  float eta = (**t).eta();
434  float phi = (**t).phi();
435 
436  float w = v.trackWeight(*t);
437  float chi2NDF = (**t).normalizedChi2();
438  float chi2Prob = TMath::Prob((**t).chi2(), (int)(**t).ndof());
439  float Dxy = (**t).dxy(myVertex) * cmToUm;
440  float Dz = (**t).dz(myVertex) * cmToUm;
441  float DxyErr = (**t).dxyError() * cmToUm;
442  float DzErr = (**t).dzError() * cmToUm;
443 
444  sumPT += pt * pt;
445 
446  // fill MEs
447  phi_pt1->Fill(phi);
448  eta_pt1->Fill(eta);
449 
450  weight->Fill(w);
451  chi2ndf->Fill(chi2NDF);
452  chi2prob->Fill(chi2Prob);
453  dxy2->Fill(Dxy);
454 
455  dxy_pt1.IP_->Fill(Dxy);
456  dxy_pt1.IPVsPhi_->Fill(phi, Dxy);
457  dxy_pt1.IPVsEta_->Fill(eta, Dxy);
458  dxy_pt1.IPVsEtaVsPhi_->Fill(eta, phi, Dxy);
459 
460  dxy_pt1.IPErr_->Fill(DxyErr);
461  dxy_pt1.IPErrVsPhi_->Fill(phi, DxyErr);
462  dxy_pt1.IPErrVsEta_->Fill(eta, DxyErr);
463  dxy_pt1.IPErrVsEtaVsPhi_->Fill(eta, phi, DxyErr);
464 
465  dz_pt1.IP_->Fill(Dz);
466  dz_pt1.IPVsPhi_->Fill(phi, Dz);
467  dz_pt1.IPVsEta_->Fill(eta, Dz);
469 
470  dz_pt1.IPErr_->Fill(DzErr);
471  dz_pt1.IPErrVsPhi_->Fill(phi, DzErr);
472  dz_pt1.IPErrVsEta_->Fill(eta, DzErr);
473  dz_pt1.IPErrVsEtaVsPhi_->Fill(eta, phi, DzErr);
474 
475  if (pt < 10.)
476  continue;
477 
478  phi_pt10->Fill(phi);
479  eta_pt10->Fill(eta);
480 
481  dxy_pt10.IP_->Fill(Dxy);
482  dxy_pt10.IPVsPhi_->Fill(phi, Dxy);
483  dxy_pt10.IPVsEta_->Fill(eta, Dxy);
485 
486  dxy_pt10.IPErr_->Fill(DxyErr);
487  dxy_pt10.IPErrVsPhi_->Fill(phi, DxyErr);
488  dxy_pt10.IPErrVsEta_->Fill(eta, DxyErr);
489  dxy_pt10.IPErrVsEtaVsPhi_->Fill(eta, phi, DxyErr);
490 
491  dz_pt10.IP_->Fill(Dz);
492  dz_pt10.IPVsPhi_->Fill(phi, Dz);
493  dz_pt10.IPVsEta_->Fill(eta, Dz);
495 
496  dz_pt10.IPErr_->Fill(DzErr);
497  dz_pt10.IPErrVsPhi_->Fill(phi, DzErr);
498  dz_pt10.IPErrVsEta_->Fill(eta, DzErr);
499  dz_pt10.IPErrVsEtaVsPhi_->Fill(eta, phi, DzErr);
500  }
501  ntracks->Fill(float(nTracks));
502  sumpt->Fill(sumPT);
503 }
dqm::reco::MonitorElement * IPErrVsEta_
T w() const
MonitorElement * eta_pt1
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 505 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().

505  {
506  if (i < 0 || i > 1)
507  return;
508  if (!v.isValid())
509  type[i]->Fill(2.);
510  else if (v.isFake())
511  type[i]->Fill(1.);
512  else
513  type[i]->Fill(0.);
514 
515  if (v.isValid() && !v.isFake()) {
516  float weight = 0;
517  for (reco::Vertex::trackRef_iterator t = v.tracks_begin(); t != v.tracks_end(); t++)
518  weight += v.trackWeight(*t);
519  trksWeight[i]->Fill(weight);
520  nbtksinvtx[i]->Fill(v.tracksSize());
521  ntracksVsZ[i]->Fill(v.position().z() - beamSpot.z0(), v.tracksSize());
522 
523  vtxchi2[i]->Fill(v.chi2());
524  vtxndf[i]->Fill(v.ndof());
525  vtxprob[i]->Fill(ChiSquaredProbability(v.chi2(), v.ndof()));
526 
527  xrec[i]->Fill(v.position().x());
528  yrec[i]->Fill(v.position().y());
529  zrec[i]->Fill(v.position().z());
530 
531  float xb = beamSpot.x0() + beamSpot.dxdz() * (v.position().z() - beamSpot.z0());
532  float yb = beamSpot.y0() + beamSpot.dydz() * (v.position().z() - beamSpot.z0());
533  xDiff[i]->Fill((v.position().x() - xb) * cmToUm);
534  yDiff[i]->Fill((v.position().y() - yb) * cmToUm);
535 
536  xerr[i]->Fill(v.xError() * cmToUm);
537  yerr[i]->Fill(v.yError() * cmToUm);
538  zerr[i]->Fill(v.zError() * cmToUm);
539  xerrVsTrks[i]->Fill(weight, v.xError() * cmToUm);
540  yerrVsTrks[i]->Fill(weight, v.yError() * cmToUm);
541  zerrVsTrks[i]->Fill(weight, v.zError() * cmToUm);
542 
543  nans[i]->Fill(1., edm::isNotFinite(v.position().x()) * 1.);
544  nans[i]->Fill(2., edm::isNotFinite(v.position().y()) * 1.);
545  nans[i]->Fill(3., edm::isNotFinite(v.position().z()) * 1.);
546 
547  int index = 3;
548  for (int k = 0; k != 3; k++) {
549  for (int j = k; j != 3; j++) {
550  index++;
551  nans[i]->Fill(index * 1., edm::isNotFinite(v.covariance(k, j)) * 1.);
552  // in addition, diagonal element must be positive
553  if (j == k && v.covariance(k, j) < 0) {
554  nans[i]->Fill(index * 1., 1.);
555  }
556  }
557  }
558  }
559 }
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_

std::string PrimaryVertexMonitor::AlignmentLabel_
private

Definition at line 62 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

◆ beamSpotInputTag_

edm::InputTag PrimaryVertexMonitor::beamSpotInputTag_
private

Definition at line 55 of file PrimaryVertexMonitor.h.

Referenced by analyze(), bookHistograms(), and PrimaryVertexMonitor().

◆ beamspotToken_

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

Definition at line 51 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and PrimaryVertexMonitor().

◆ bsBeamWidthX

MonitorElement * PrimaryVertexMonitor::bsBeamWidthX
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsBeamWidthY

MonitorElement * PrimaryVertexMonitor::bsBeamWidthY
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsDxdz

MonitorElement * PrimaryVertexMonitor::bsDxdz
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsDydz

MonitorElement * PrimaryVertexMonitor::bsDydz
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsSigmaZ

MonitorElement * PrimaryVertexMonitor::bsSigmaZ
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsType

MonitorElement * PrimaryVertexMonitor::bsType
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsX

MonitorElement* PrimaryVertexMonitor::bsX
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsY

MonitorElement * PrimaryVertexMonitor::bsY
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ bsZ

MonitorElement * PrimaryVertexMonitor::bsZ
private

Definition at line 77 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ chi2ndf

MonitorElement * PrimaryVertexMonitor::chi2ndf
private

Definition at line 79 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ chi2prob

MonitorElement * PrimaryVertexMonitor::chi2prob
private

Definition at line 79 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ cmToUm

constexpr int PrimaryVertexMonitor::cmToUm = 10000
staticprivate

Definition at line 67 of file PrimaryVertexMonitor.h.

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

◆ conf_

edm::ParameterSet PrimaryVertexMonitor::conf_
private

Definition at line 57 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

◆ dqmLabel

std::string PrimaryVertexMonitor::dqmLabel
private

Definition at line 59 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

◆ dxy2

MonitorElement* PrimaryVertexMonitor::dxy2
private

Definition at line 83 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ dxy_pt1

IPMonitoring PrimaryVertexMonitor::dxy_pt1
private

Definition at line 86 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ dxy_pt10

IPMonitoring PrimaryVertexMonitor::dxy_pt10
private

Definition at line 87 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ dz_pt1

IPMonitoring PrimaryVertexMonitor::dz_pt1
private

Definition at line 89 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ dz_pt10

IPMonitoring PrimaryVertexMonitor::dz_pt10
private

Definition at line 90 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ errorPrinted_

bool PrimaryVertexMonitor::errorPrinted_
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by analyze().

◆ eta_pt1

MonitorElement * PrimaryVertexMonitor::eta_pt1
private

Definition at line 80 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ eta_pt10

MonitorElement * PrimaryVertexMonitor::eta_pt10
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ nans

MonitorElement * PrimaryVertexMonitor::nans[2]
private

Definition at line 75 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ nbgvtx

MonitorElement * PrimaryVertexMonitor::nbgvtx
private

Definition at line 70 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ nbtksinvtx

MonitorElement * PrimaryVertexMonitor::nbtksinvtx[2]
private

Definition at line 70 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ nbvtx

MonitorElement* PrimaryVertexMonitor::nbvtx
private

Definition at line 70 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ ndof_

int PrimaryVertexMonitor::ndof_
private

Definition at line 63 of file PrimaryVertexMonitor.h.

Referenced by analyze().

◆ ntracks

MonitorElement * PrimaryVertexMonitor::ntracks
private

Definition at line 79 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ ntracksVsZ

MonitorElement* PrimaryVertexMonitor::ntracksVsZ[2]
private

Definition at line 74 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ phi_pt1

MonitorElement* PrimaryVertexMonitor::phi_pt1
private

Definition at line 80 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ phi_pt10

MonitorElement* PrimaryVertexMonitor::phi_pt10
private

Definition at line 81 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

◆ score

MonitorElement * PrimaryVertexMonitor::score[2]
private

Definition at line 70 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

◆ scoreToken_

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

Definition at line 53 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and PrimaryVertexMonitor().

◆ sumpt

MonitorElement* PrimaryVertexMonitor::sumpt
private

◆ TopFolderName_

std::string PrimaryVertexMonitor::TopFolderName_
private

Definition at line 61 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

◆ trksWeight

MonitorElement * PrimaryVertexMonitor::trksWeight[2]
private

Definition at line 70 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ tt

MonitorElement* PrimaryVertexMonitor::tt[2]
private

Definition at line 71 of file PrimaryVertexMonitor.h.

◆ type

MonitorElement* PrimaryVertexMonitor::type[2]
private

◆ useHPfoAlignmentPlots_

bool PrimaryVertexMonitor::useHPfoAlignmentPlots_
private

Definition at line 64 of file PrimaryVertexMonitor.h.

Referenced by pvTracksPlots().

◆ vertexInputTag_

edm::InputTag PrimaryVertexMonitor::vertexInputTag_
private

Definition at line 55 of file PrimaryVertexMonitor.h.

Referenced by analyze(), bookHistograms(), and PrimaryVertexMonitor().

◆ vertexToken_

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

Definition at line 50 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and PrimaryVertexMonitor().

◆ vtxchi2

MonitorElement* PrimaryVertexMonitor::vtxchi2[2]
private

Definition at line 75 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ vtxndf

MonitorElement * PrimaryVertexMonitor::vtxndf[2]
private

Definition at line 75 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ vtxprob

MonitorElement * PrimaryVertexMonitor::vtxprob[2]
private

Definition at line 75 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ weight

MonitorElement * PrimaryVertexMonitor::weight
private

◆ xDiff

MonitorElement * PrimaryVertexMonitor::xDiff[2]
private

Definition at line 72 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ xerr

MonitorElement * PrimaryVertexMonitor::xerr[2]
private

◆ xerrVsTrks

MonitorElement* PrimaryVertexMonitor::xerrVsTrks[2]
private

Definition at line 73 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ xrec

MonitorElement* PrimaryVertexMonitor::xrec[2]
private

Definition at line 72 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ yDiff

MonitorElement * PrimaryVertexMonitor::yDiff[2]
private

Definition at line 72 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ yerr

MonitorElement * PrimaryVertexMonitor::yerr[2]
private

◆ yerrVsTrks

MonitorElement * PrimaryVertexMonitor::yerrVsTrks[2]
private

Definition at line 73 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ yrec

MonitorElement * PrimaryVertexMonitor::yrec[2]
private

Definition at line 72 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ zerr

MonitorElement * PrimaryVertexMonitor::zerr[2]
private

Definition at line 72 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ zerrVsTrks

MonitorElement * PrimaryVertexMonitor::zerrVsTrks[2]
private

Definition at line 73 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

◆ zrec

MonitorElement * PrimaryVertexMonitor::zrec[2]
private

Definition at line 72 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().