CMS 3D CMS Logo

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

#include <PrimaryVertexMonitor.h>

Inheritance diagram for PrimaryVertexMonitor:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

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
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

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
 
MonitorElementdxy
 
MonitorElementdxy2
 
MonitorElementdxyErr
 
MonitorElementdxyVsEta_pt1
 
MonitorElementdxyVsEta_pt10
 
MonitorElementdxyVsPhi_pt1
 
MonitorElementdxyVsPhi_pt10
 
MonitorElementdz
 
MonitorElementdzErr
 
MonitorElementdzVsEta_pt1
 
MonitorElementdzVsEta_pt10
 
MonitorElementdzVsPhi_pt1
 
MonitorElementdzVsPhi_pt10
 
bool errorPrinted_
 
MonitorElementnans [2]
 
MonitorElementnbgvtx
 
MonitorElementnbtksinvtx [2]
 
MonitorElementnbvtx
 
int ndof_
 
MonitorElementntracks
 
MonitorElementntracksVsZ [2]
 
MonitorElementscore [2]
 
edm::EDGetTokenT< VertexScorescoreToken_
 
MonitorElementsumpt
 
std::string TopFolderName_
 
MonitorElementtrksWeight [2]
 
MonitorElementtt [2]
 
MonitorElementtype [2]
 
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]
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 27 of file PrimaryVertexMonitor.h.

Member Typedef Documentation

Definition at line 43 of file PrimaryVertexMonitor.h.

Constructor & Destructor Documentation

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

Definition at line 16 of file PrimaryVertexMonitor.cc.

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

17  : conf_ ( pSet )
18  , TopFolderName_ ( pSet.getParameter<std::string>("TopFolderName") )
19  , AlignmentLabel_( pSet.getParameter<std::string>("AlignmentLabel") )
20  , ndof_ ( pSet.getParameter<int> ("ndof") )
21  , errorPrinted_ ( false )
22  , nbvtx(nullptr)
23  , bsX(nullptr)
24  , bsY(nullptr)
25  , bsZ(nullptr)
26  , bsSigmaZ(nullptr)
27  , bsDxdz(nullptr)
28  , bsDydz(nullptr)
29  , bsBeamWidthX(nullptr)
30  , bsBeamWidthY(nullptr)
31  , bsType(nullptr)
32  , sumpt(nullptr)
33  , ntracks(nullptr)
34  , weight(nullptr)
35  , chi2ndf(nullptr)
36  , chi2prob(nullptr)
37  , dxy(nullptr)
38  , dxy2(nullptr)
39  , dz(nullptr)
40  , dxyErr(nullptr)
41  , dzErr(nullptr)
42  , dxyVsPhi_pt1(nullptr)
43  , dzVsPhi_pt1(nullptr)
44  , dxyVsEta_pt1(nullptr)
45  , dzVsEta_pt1(nullptr)
46  , dxyVsPhi_pt10(nullptr)
47  , dzVsPhi_pt10(nullptr)
48  , dxyVsEta_pt10(nullptr)
49  , dzVsEta_pt10(nullptr)
50 {
51  // dqmStore_ = edm::Service<DQMStore>().operator->();
52 
53 
54  vertexInputTag_ = pSet.getParameter<InputTag>("vertexLabel");
55  beamSpotInputTag_ = pSet.getParameter<InputTag>("beamSpotLabel");
56  vertexToken_ = consumes<reco::VertexCollection>(vertexInputTag_);
57  scoreToken_ = consumes<VertexScore> (vertexInputTag_);
58  beamspotToken_ = consumes<reco::BeamSpot> (beamSpotInputTag_);
59 
60 }
T getParameter(std::string const &) const
MonitorElement * dxyVsEta_pt1
MonitorElement * dzVsPhi_pt10
MonitorElement * dzVsPhi_pt1
MonitorElement * bsSigmaZ
edm::InputTag beamSpotInputTag_
edm::EDGetTokenT< VertexScore > scoreToken_
MonitorElement * chi2ndf
MonitorElement * dxyVsPhi_pt10
MonitorElement * dzVsEta_pt1
edm::ParameterSet conf_
MonitorElement * dxyVsEta_pt10
edm::EDGetTokenT< reco::BeamSpot > beamspotToken_
edm::EDGetTokenT< reco::VertexCollection > vertexToken_
MonitorElement * dzVsEta_pt10
MonitorElement * chi2prob
MonitorElement * ntracks
MonitorElement * bsBeamWidthY
MonitorElement * bsBeamWidthX
MonitorElement * dxyVsPhi_pt1
PrimaryVertexMonitor::~PrimaryVertexMonitor ( )
override

Definition at line 242 of file PrimaryVertexMonitor.cc.

243 {}

Member Function Documentation

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

Definition at line 245 of file PrimaryVertexMonitor.cc.

References ecalDrivenElectronSeedsParameters_cff::beamSpot, beamSpotInputTag_, beamspotToken_, reco::BeamSpot::BeamWidthX(), reco::BeamSpot::BeamWidthY(), bsBeamWidthX, bsBeamWidthY, bsDxdz, bsDydz, bsSigmaZ, bsX, bsY, bsZ, reco::BeamSpot::dxdz(), reco::BeamSpot::dydz(), errorPrinted_, MonitorElement::Fill(), HcalObjRepresent::Fill(), edm::Event::getByToken(), mps_fire::i, edm::HandleBase::isValid(), nbgvtx, nbvtx, ndof_, convertSQLiteXML::ok, pvTracksPlots(), score, scoreToken_, reco::BeamSpot::sigmaZ(), mathSSE::sqrt(), findQualityFiles::v, vertexInputTag_, vertexPlots(), vertexToken_, reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().

246 {
247 
249  iEvent.getByToken(vertexToken_, recVtxs);
250 
251  Handle<VertexScore> scores;
252  iEvent.getByToken(scoreToken_, scores);
253 
254 
255  edm::Handle<reco::BeamSpot> beamSpotHandle;
256  iEvent.getByToken(beamspotToken_,beamSpotHandle);
257 
258  //
259  // check for absent products and simply "return" in that case
260  //
261  if (recVtxs.isValid() == false || beamSpotHandle.isValid()== false){
262  edm::LogWarning("PrimaryVertexMonitor")
263  <<" Some products not available in the event: VertexCollection "
264  <<vertexInputTag_<<" "
265  <<recVtxs.isValid() <<" BeamSpot "
266  <<beamSpotInputTag_<<" "
267  <<beamSpotHandle.isValid()<<". Skipping plots for this event";
268  return;
269  }
270 
271  // check upfront that refs to track are (likely) to be valid
272  {
273  bool ok = true;
274  for(const auto& v: *recVtxs) {
275  if(v.tracksSize() > 0) {
276  const auto& ref = v.trackRefAt(0);
277  if(ref.isNull() || !ref.isAvailable()) {
278  if (!errorPrinted_)
279  edm::LogWarning("PrimaryVertexMonitor")
280  << "Skipping vertex collection: " << vertexInputTag_ << " since likely the track collection the vertex has refs pointing to is missing (at least the first TrackBaseRef is null or not available)";
281  else
282  errorPrinted_ = true;
283  ok = false;
284  }
285  }
286  }
287  if(!ok)
288  return;
289  }
290 
291  BeamSpot beamSpot = *beamSpotHandle;
292 
293  nbvtx->Fill(recVtxs->size()*1.);
294  int ng=0;
295  for (auto const & vx : (*recVtxs) )
296  if (vx.isValid() && !vx.isFake() && vx.ndof()>=ndof_) ++ng;
297  nbgvtx->Fill(ng*1.);
298 
299  if (scores.isValid() && !(*scores).empty()) {
300  auto pvScore = (*scores).get(0);
301  score[1]->Fill(std::sqrt(pvScore));
302  for (unsigned int i=1; i<(*scores).size(); ++i)
303  score[0]->Fill(std::sqrt((*scores).get(i)));
304  }
305 
306  // fill PV tracks MEs (as now, for alignment)
307  if (!recVtxs->empty()) {
308 
309  vertexPlots (recVtxs->front(), beamSpot, 1);
310  pvTracksPlots(recVtxs->front());
311 
312  for(reco::VertexCollection::const_iterator v=recVtxs->begin()+1;
313  v!=recVtxs->end(); ++v)
314  vertexPlots(*v, beamSpot, 0);
315  }
316 
317  // Beamline plots:
318  bsX->Fill(beamSpot.x0());
319  bsY->Fill(beamSpot.y0());
320  bsZ->Fill(beamSpot.z0());
321  bsSigmaZ->Fill(beamSpot.sigmaZ());
322  bsDxdz->Fill(beamSpot.dxdz());
323  bsDydz->Fill(beamSpot.dydz());
324  bsBeamWidthX->Fill(beamSpot.BeamWidthX()*10000);
325  bsBeamWidthY->Fill(beamSpot.BeamWidthY()*10000);
326  // bsType->Fill(beamSpot.type());
327 
328 }
double z0() const
z coordinate
Definition: BeamSpot.h:68
void pvTracksPlots(const reco::Vertex &v)
void vertexPlots(const reco::Vertex &v, const reco::BeamSpot &beamSpot, int i)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
MonitorElement * bsSigmaZ
edm::InputTag beamSpotInputTag_
edm::EDGetTokenT< VertexScore > scoreToken_
void Fill(long long x)
double dydz() const
dydz slope
Definition: BeamSpot.h:84
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
T sqrt(T t)
Definition: SSEVec.h:18
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:86
edm::EDGetTokenT< reco::BeamSpot > beamspotToken_
edm::EDGetTokenT< reco::VertexCollection > vertexToken_
bool isValid() const
Definition: HandleBase.h:74
double dxdz() const
dxdz slope
Definition: BeamSpot.h:82
double sigmaZ() const
sigma z
Definition: BeamSpot.h:80
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:88
double y0() const
y coordinate
Definition: BeamSpot.h:66
MonitorElement * bsBeamWidthY
MonitorElement * score[2]
MonitorElement * bsBeamWidthX
double x0() const
x coordinate
Definition: BeamSpot.h:64
void PrimaryVertexMonitor::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 65 of file PrimaryVertexMonitor.cc.

References AlignmentLabel_, beamSpotInputTag_, DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile(), bsBeamWidthX, bsBeamWidthY, bsDxdz, bsDydz, bsSigmaZ, bsType, bsX, bsY, bsZ, chi2ndf, chi2prob, conf_, dqmLabel, dxy, dxy2, dxyErr, dxyVsEta_pt1, dxyVsEta_pt10, dxyVsPhi_pt1, dxyVsPhi_pt10, dz, dzErr, dzVsEta_pt1, dzVsEta_pt10, dzVsPhi_pt1, dzVsPhi_pt10, Gflash::EtaMax, Gflash::EtaMin, edm::ParameterSet::getParameter(), MonitorElement::getTH1F(), mps_fire::i, edm::InputTag::label(), nans, nbgvtx, nbtksinvtx, nbvtx, ntracks, ntracksVsZ, score, MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, sumpt, TopFolderName_, trksWeight, vertexInputTag_, vtxchi2, vtxndf, vtxprob, xDiff, xerr, xerrVsTrks, xrec, yDiff, yerr, yerrVsTrks, yrec, zerr, zerrVsTrks, and zrec.

66  {
67 
68  std::string dqmLabel = "";
69 
70  //
71  // Book all histograms.
72  //
73 
74  // get the store
75  dqmLabel = TopFolderName_+"/"+vertexInputTag_.label();
76  iBooker.setCurrentFolder(dqmLabel);
77 
78 // xPos = iBooker.book1D ("xPos","x Coordinate" ,100, -0.1, 0.1);
79 
80  nbvtx = iBooker.book1D("vtxNbr","Reconstructed Vertices in Event",80,-0.5,79.5);
81  nbgvtx = iBooker.book1D("goodvtxNbr","Reconstructed Good Vertices in Event",80,-0.5,79.5);
82 
83  // to be configured each year...
84  auto vposx = conf_.getParameter<double>("Xpos");
85  auto vposy = conf_.getParameter<double>("Ypos");
86 
87  nbtksinvtx[0] = iBooker.book1D("otherVtxTrksNbr","Reconstructed Tracks in Vertex (other Vtx)",40,-0.5,99.5);
88  ntracksVsZ[0] = iBooker.bookProfile("otherVtxTrksVsZ","Reconstructed Tracks in Vertex (other Vtx) vs Z",80,-20.,20.,50,0,100,"");
89  ntracksVsZ[0]->setAxisTitle("z-bs",1);
90  ntracksVsZ[0]->setAxisTitle("#tracks",2);
91 
92  score[0] = iBooker.book1D("otherVtxScore","sqrt(score) (other Vtx)",100,0.,400.);
93  trksWeight[0] = iBooker.book1D("otherVtxTrksWeight","Total weight of Tracks in Vertex (other Vtx)",40,0,100.);
94  vtxchi2[0] = iBooker.book1D("otherVtxChi2","#chi^{2} (other Vtx)",100,0.,200.);
95  vtxndf[0] = iBooker.book1D("otherVtxNdf","ndof (other Vtx)",100,0.,200.);
96  vtxprob[0] = iBooker.book1D("otherVtxProb","#chi^{2} probability (other Vtx)",100,0.,1.);
97  nans[0] = iBooker.book1D("otherVtxNans","Illegal values for x,y,z,xx,xy,xz,yy,yz,zz (other Vtx)",9,0.5,9.5);
98 
99  nbtksinvtx[1] = iBooker.book1D("tagVtxTrksNbr","Reconstructed Tracks in Vertex (tagged Vtx)",100,-0.5,99.5);
100  ntracksVsZ[1] = iBooker.bookProfile("tagVtxTrksVsZ","Reconstructed Tracks in Vertex (tagged Vtx) vs Z",80,-20.,20.,50,0,100,"");
101  ntracksVsZ[1]->setAxisTitle("z-bs",1);
102  ntracksVsZ[1]->setAxisTitle("#tracks",2);
103 
104  score[1] = iBooker.book1D("tagVtxScore","sqrt(score) (tagged Vtx)",100,0.,400.);
105  trksWeight[1] = iBooker.book1D("tagVtxTrksWeight","Total weight of Tracks in Vertex (tagged Vtx)",100,0,100.);
106  vtxchi2[1] = iBooker.book1D("tagVtxChi2","#chi^{2} (tagged Vtx)",100,0.,200.);
107  vtxndf[1] = iBooker.book1D("tagVtxNdf","ndof (tagged Vtx)",100,0.,200.);
108  vtxprob[1] = iBooker.book1D("tagVtxProb","#chi^{2} probability (tagged Vtx)",100,0.,1.);
109  nans[1] = iBooker.book1D("tagVtxNans","Illegal values for x,y,z,xx,xy,xz,yy,yz,zz (tagged Vtx)",9,0.5,9.5);
110 
111  xrec[0] = iBooker.book1D("otherPosX","Position x Coordinate (other Vtx)",100,vposx-0.1,vposx+0.1);
112  yrec[0] = iBooker.book1D("otherPosY","Position y Coordinate (other Vtx)",100,vposy-0.1,vposy+0.1);
113  zrec[0] = iBooker.book1D("otherPosZ","Position z Coordinate (other Vtx)",100,-20.,20.);
114  xDiff[0] = iBooker.book1D("otherDiffX","X distance from BeamSpot (other Vtx)",100,-500,500);
115  yDiff[0] = iBooker.book1D("otherDiffY","Y distance from BeamSpot (other Vtx)",100,-500,500);
116  xerr[0] = iBooker.book1D("otherErrX","Uncertainty x Coordinate (other Vtx)",100,0.,100);
117  yerr[0] = iBooker.book1D("otherErrY","Uncertainty y Coordinate (other Vtx)",100,0.,100);
118  zerr[0] = iBooker.book1D("otherErrZ","Uncertainty z Coordinate (other Vtx)",100,0.,100);
119  xerrVsTrks[0] = iBooker.book2D("otherErrVsWeightX","Uncertainty x Coordinate vs. track weight (other Vtx)",100,0,100.,100,0.,100);
120  yerrVsTrks[0] = iBooker.book2D("otherErrVsWeightY","Uncertainty y Coordinate vs. track weight (other Vtx)",100,0,100.,100,0.,100);
121  zerrVsTrks[0] = iBooker.book2D("otherErrVsWeightZ","Uncertainty z Coordinate vs. track weight (other Vtx)",100,0,100.,100,0.,100);
122 
123 
124  xrec[1] = iBooker.book1D("tagPosX","Position x Coordinate (tagged Vtx)",100,vposx-0.1,vposx+0.1);
125  yrec[1] = iBooker.book1D("tagPosY","Position y Coordinate (tagged Vtx)",100,vposy-0.1,vposy+0.1);
126  zrec[1] = iBooker.book1D("tagPosZ","Position z Coordinate (tagged Vtx)",100,-20.,20.);
127  xDiff[1] = iBooker.book1D("tagDiffX","X distance from BeamSpot (tagged Vtx)",100,-500, 500);
128  yDiff[1] = iBooker.book1D("tagDiffY","Y distance from BeamSpot (tagged Vtx)",100,-500, 500);
129  xerr[1] = iBooker.book1D("tagErrX","Uncertainty x Coordinate (tagged Vtx)",100,0.,100);
130  yerr[1] = iBooker.book1D("tagErrY","Uncertainty y Coordinate (tagged Vtx)",100,0.,100);
131  zerr[1] = iBooker.book1D("tagErrZ","Uncertainty z Coordinate (tagged Vtx)",100,0.,100);
132  xerrVsTrks[1] = iBooker.book2D("tagErrVsWeightX","Uncertainty x Coordinate vs. track weight (tagged Vtx)",100,0,100.,100,0.,100);
133  yerrVsTrks[1] = iBooker.book2D("tagErrVsWeightY","Uncertainty y Coordinate vs. track weight (tagged Vtx)",100,0,100.,100,0.,100);
134  zerrVsTrks[1] = iBooker.book2D("tagErrVsWeightZ","Uncertainty z Coordinate vs. track weight (tagged Vtx)",100,0,100.,100,0.,100);
135 
136  type[0] = iBooker.book1D("otherType","Vertex type (other Vtx)",3,-0.5,2.5);
137  type[1] = iBooker.book1D("tagType","Vertex type (tagged Vtx)",3,-0.5,2.5);
138  for (int i=0;i<2;++i){
139  type[i]->getTH1F()->GetXaxis()->SetBinLabel(1,"Valid, real");
140  type[i]->getTH1F()->GetXaxis()->SetBinLabel(2,"Valid, fake");
141  type[i]->getTH1F()->GetXaxis()->SetBinLabel(3,"Invalid");
142  }
143 
144 
145  // get the store
146  dqmLabel = TopFolderName_+"/"+beamSpotInputTag_.label();
147  iBooker.setCurrentFolder(dqmLabel);
148 
149  bsX = iBooker.book1D("bsX", "BeamSpot x0", 100,-0.1,0.1);
150  bsY = iBooker.book1D("bsY", "BeamSpot y0", 100,-0.1,0.1);
151  bsZ = iBooker.book1D("bsZ", "BeamSpot z0", 100,-2.,2.);
152  bsSigmaZ = iBooker.book1D("bsSigmaZ", "BeamSpot sigmaZ", 100, 0., 10. );
153  bsDxdz = iBooker.book1D("bsDxdz", "BeamSpot dxdz", 100, -0.0003, 0.0003);
154  bsDydz = iBooker.book1D("bsDydz", "BeamSpot dydz", 100, -0.0003, 0.0003);
155  bsBeamWidthX = iBooker.book1D("bsBeamWidthX", "BeamSpot BeamWidthX", 100, 0., 100.);
156  bsBeamWidthY = iBooker.book1D("bsBeamWidthY", "BeamSpot BeamWidthY", 100, 0., 100.);
157  bsType = iBooker.book1D("bsType", "BeamSpot type", 4, -1.5, 2.5);
158  bsType->getTH1F()->GetXaxis()->SetBinLabel(1,"Unknown");
159  bsType->getTH1F()->GetXaxis()->SetBinLabel(2,"Fake");
160  bsType->getTH1F()->GetXaxis()->SetBinLabel(3,"LHC");
161  bsType->getTH1F()->GetXaxis()->SetBinLabel(4,"Tracker");
162 
163 
164  // get the store
165  dqmLabel = TopFolderName_+"/"+AlignmentLabel_;
166  iBooker.setCurrentFolder(dqmLabel);
167 
168  int TKNoBin = conf_.getParameter<int>( "TkSizeBin");
169  double TKNoMin = conf_.getParameter<double>("TkSizeMin");
170  double TKNoMax = conf_.getParameter<double>("TkSizeMax");
171 
172  int DxyBin = conf_.getParameter<int>( "DxyBin");
173  double DxyMin = conf_.getParameter<double>("DxyMin");
174  double DxyMax = conf_.getParameter<double>("DxyMax");
175 
176  int DzBin = conf_.getParameter<int>( "DzBin");
177  double DzMin = conf_.getParameter<double>("DzMin");
178  double DzMax = conf_.getParameter<double>("DzMax");
179 
180  int PhiBin = conf_.getParameter<int>( "PhiBin");
181  double PhiMin = conf_.getParameter<double>("PhiMin");
182  double PhiMax = conf_.getParameter<double>("PhiMax");
183 
184  int EtaBin = conf_.getParameter<int>( "EtaBin");
185  double EtaMin = conf_.getParameter<double>("EtaMin");
186  double EtaMax = conf_.getParameter<double>("EtaMax");
187 
188 
189  ntracks = iBooker.book1D("ntracks","number of PV tracks (p_{T} > 1 GeV)", TKNoBin, TKNoMin, TKNoMax);
190  ntracks->setAxisTitle("Number of PV Tracks (p_{T} > 1 GeV) per Event", 1);
191  ntracks->setAxisTitle("Number of Event", 2);
192 
193  weight = iBooker.book1D("weight","weight of PV tracks (p_{T} > 1 GeV)", 100, 0., 1.);
194  weight->setAxisTitle("weight of PV Tracks (p_{T} > 1 GeV) per Event", 1);
195  weight->setAxisTitle("Number of Event", 2);
196 
197  sumpt = iBooker.book1D("sumpt", "#Sum p_{T} of PV tracks (p_{T} > 1 GeV)", 100,-0.5,249.5);
198  chi2ndf = iBooker.book1D("chi2ndf", "PV tracks (p_{T} > 1 GeV) #chi^{2}/ndof", 100, 0., 20. );
199  chi2prob = iBooker.book1D("chi2prob","PV tracks (p_{T} > 1 GeV) #chi^{2} probability",100, 0., 1. );
200 
201  dxy = iBooker.book1D("dxy", "PV tracks (p_{T} > 1 GeV) d_{xy} (#mum)", DxyBin, DxyMin, DxyMax);
202  dxy2 = iBooker.book1D("dxyzoom", "PV tracks (p_{T} > 1 GeV) d_{xy} (#mum)", DxyBin, DxyMin/5., DxyMax/5.);
203  dxyErr = iBooker.book1D("dxyErr", "PV tracks (p_{T} > 1 GeV) d_{xy} error (#mum)", 100, 0., 2000. );
204  dz = iBooker.book1D("dz", "PV tracks (p_{T} > 1 GeV) d_{z} (#mum)", DzBin, DzMin, DzMax );
205  dzErr = iBooker.book1D("dzErr", "PV tracks (p_{T} > 1 GeV) d_{z} error(#mum)", 100, 0., 10000. );
206 
207  dxyVsPhi_pt1 = iBooker.bookProfile("dxyVsPhi_pt1", "PV tracks (p_{T} > 1 GeV) d_{xy} (#mum) VS track #phi",PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
208  dxyVsPhi_pt1->setAxisTitle("PV track (p_{T} > 1 GeV) #phi", 1);
209  dxyVsPhi_pt1->setAxisTitle("PV track (p_{T} > 1 GeV) d_{xy} (#mum)",2);
210 
211  dzVsPhi_pt1 = iBooker.bookProfile("dzVsPhi_pt1", "PV tracks (p_{T} > 1 GeV) d_{z} (#mum) VS track #phi", PhiBin, PhiMin, PhiMax, DzBin, DzMin, DzMax, "");
212  dzVsPhi_pt1->setAxisTitle("PV track (p_{T} > 1 GeV) #phi", 1);
213  dzVsPhi_pt1->setAxisTitle("PV track (p_{T} > 1 GeV) d_{z} (#mum)",2);
214 
215  dxyVsEta_pt1 = iBooker.bookProfile("dxyVsEta_pt1", "PV tracks (p_{T} > 1 GeV) d_{xy} (#mum) VS track #eta",EtaBin, EtaMin, EtaMax, DxyBin, DxyMin, DxyMax,"");
216  dxyVsEta_pt1->setAxisTitle("PV track (p_{T} > 1 GeV) #eta", 1);
217  dxyVsEta_pt1->setAxisTitle("PV track (p_{T} > 1 GeV) d_{xy} (#mum)",2);
218 
219  dzVsEta_pt1 = iBooker.bookProfile("dzVsEta_pt1", "PV tracks (p_{T} > 1 GeV) d_{z} (#mum) VS track #eta", EtaBin, EtaMin, EtaMax, DzBin, DzMin, DzMax, "");
220  dzVsEta_pt1->setAxisTitle("PV track (p_{T} > 1 GeV) #eta", 1);
221  dzVsEta_pt1->setAxisTitle("PV track (p_{T} > 1 GeV) d_{z} (#mum)",2);
222 
223  dxyVsPhi_pt10 = iBooker.bookProfile("dxyVsPhi_pt10", "PV tracks (p_{T} > 10 GeV) d_{xy} (#mum) VS track #phi",PhiBin, PhiMin, PhiMax, DxyBin, DxyMin, DxyMax,"");
224  dxyVsPhi_pt10->setAxisTitle("PV track (p_{T} > 10 GeV) #phi", 1);
225  dxyVsPhi_pt10->setAxisTitle("PV track (p_{T} > 10 GeV) d_{xy} (#mum)",2);
226 
227  dzVsPhi_pt10 = iBooker.bookProfile("dzVsPhi_pt10", "PV tracks (p_{T} > 10 GeV) d_{z} (#mum) VS track #phi", PhiBin, PhiMin, PhiMax, DzBin, DzMin, DzMax, "");
228  dzVsPhi_pt10->setAxisTitle("PV track (p_{T} > 10 GeV) #phi", 1);
229  dzVsPhi_pt10->setAxisTitle("PV track (p_{T} > 10 GeV) d_{z} (#mum)",2);
230 
231  dxyVsEta_pt10 = iBooker.bookProfile("dxyVsEta_pt10", "PV tracks (p_{T} > 10 GeV) d_{xy} (#mum) VS track #eta",EtaBin, EtaMin, EtaMax, DxyBin, DxyMin, DxyMax,"");
232  dxyVsEta_pt10->setAxisTitle("PV track (p_{T} > 10 GeV) #eta", 1);
233  dxyVsEta_pt10->setAxisTitle("PV track (p_{T} > 10 GeV) d_{xy} (#mum)",2);
234 
235  dzVsEta_pt10 = iBooker.bookProfile("dzVsEta_pt10", "PV tracks (p_{T} > 10 GeV) d_{z} (#mum) VS track #eta", EtaBin, EtaMin, EtaMax, DzBin, DzMin, DzMax, "");
236  dzVsEta_pt10->setAxisTitle("PV track (p_{T} > 10 GeV) #eta", 1);
237  dzVsEta_pt10->setAxisTitle("PV track (p_{T} > 10 GeV) d_{z} (#mum)",2);
238 
239 }
type
Definition: HCALResponse.h:21
MonitorElement * xerrVsTrks[2]
T getParameter(std::string const &) const
MonitorElement * xerr[2]
MonitorElement * vtxndf[2]
MonitorElement * dxyVsEta_pt1
MonitorElement * dzVsPhi_pt10
MonitorElement * dzVsPhi_pt1
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
TH1F * getTH1F() const
MonitorElement * bsSigmaZ
edm::InputTag beamSpotInputTag_
Definition: weight.py:1
MonitorElement * chi2ndf
MonitorElement * dxyVsPhi_pt10
const double EtaMax[kNumberCalorimeter]
MonitorElement * xDiff[2]
MonitorElement * dzVsEta_pt1
MonitorElement * ntracksVsZ[2]
edm::ParameterSet conf_
MonitorElement * zerrVsTrks[2]
MonitorElement * nans[2]
MonitorElement * yerrVsTrks[2]
MonitorElement * dxyVsEta_pt10
MonitorElement * zerr[2]
MonitorElement * yrec[2]
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
MonitorElement * zrec[2]
const double EtaMin[kNumberCalorimeter]
MonitorElement * vtxchi2[2]
MonitorElement * dzVsEta_pt10
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
MonitorElement * chi2prob
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
MonitorElement * nbtksinvtx[2]
std::string const & label() const
Definition: InputTag.h:36
MonitorElement * yerr[2]
MonitorElement * xrec[2]
MonitorElement * vtxprob[2]
MonitorElement * ntracks
MonitorElement * bsBeamWidthY
MonitorElement * score[2]
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * yDiff[2]
MonitorElement * trksWeight[2]
MonitorElement * bsBeamWidthX
MonitorElement * dxyVsPhi_pt1
void PrimaryVertexMonitor::pvTracksPlots ( const reco::Vertex v)
private

Definition at line 331 of file PrimaryVertexMonitor.cc.

References chi2ndf, chi2prob, AlignmentPI::cmToUm, dxy, dxy2, dxyErr, dxyVsEta_pt1, dxyVsEta_pt10, dxyVsPhi_pt1, dxyVsPhi_pt10, dz, dzErr, dzVsEta_pt1, dzVsEta_pt10, dzVsPhi_pt1, dzVsPhi_pt10, PVValHelper::eta, HcalObjRepresent::Fill(), reco::TrackBase::highPurity, createfilelist::int, reco::Vertex::isFake(), reco::Vertex::isValid(), nTracks(), ntracks, phi, reco::Vertex::position(), EnergyCorrector::pt, sumpt, lumiQTWidget::t, reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), reco::Vertex::tracksSize(), reco::Vertex::trackWeight(), and w.

Referenced by analyze().

332 {
333 
334  if ( !v.isValid() ) return;
335  if ( v.isFake() ) return;
336 
337  if ( v.tracksSize() == 0 ) {
338  ntracks -> Fill ( 0 );
339  return;
340  }
341 
342  const math::XYZPoint myVertex(v.position().x(),v.position().y(),v.position().z());
343 
344  size_t nTracks = 0;
345  float sumPT = 0.;
346  const int cmToUm = 10000;
347 
349 
350  bool isHighPurity = (**t).quality(reco::TrackBase::highPurity);
351  if ( !isHighPurity ) continue;
352 
353  float pt = (**t).pt();
354  if ( pt < 1. ) continue;
355 
356  nTracks++;
357 
358  float eta = (**t).eta();
359  float phi = (**t).phi();
360 
361  float w = v.trackWeight(*t);
362  float chi2NDF = (**t).normalizedChi2();
363  float chi2Prob = TMath::Prob((**t).chi2(),(int)(**t).ndof());
364  float Dxy = (**t).dxy(myVertex)*cmToUm; // is it needed ?
365  float Dz = (**t).dz(myVertex)*cmToUm; // is it needed ?
366  float DxyErr = (**t).dxyError()*cmToUm;
367  float DzErr = (**t).dzError()*cmToUm;
368 
369  sumPT += pt*pt;
370 
371  // fill MEs
372  weight -> Fill (w);
373  chi2ndf -> Fill (chi2NDF);
374  chi2prob -> Fill (chi2Prob);
375  dxy -> Fill (Dxy);
376  dxy2 -> Fill (Dxy);
377  dz -> Fill (Dz);
378  dxyErr -> Fill (DxyErr);
379  dzErr -> Fill (DzErr);
380 
381  dxyVsPhi_pt1 -> Fill (phi,Dxy);
382  dzVsPhi_pt1 -> Fill (phi,Dz);
383  dxyVsEta_pt1 -> Fill (eta,Dxy);
384  dzVsEta_pt1 -> Fill (eta,Dz);
385 
386  if ( pt < 10. ) continue;
387  dxyVsPhi_pt10 -> Fill (phi,Dxy);
388  dzVsPhi_pt10 -> Fill (phi,Dz);
389  dxyVsEta_pt10 -> Fill (eta,Dxy);
390  dzVsEta_pt10 -> Fill (eta,Dz);
391  }
392  ntracks -> Fill (float(nTracks));
393  sumpt -> Fill (sumPT);
394 
395 }
const unsigned int nTracks(const reco::Vertex &sv)
MonitorElement * dxyVsEta_pt1
MonitorElement * dzVsPhi_pt10
MonitorElement * dzVsPhi_pt1
const double w
Definition: UKUtility.cc:23
trackRef_iterator tracks_end() const
last iterator over tracks
Definition: Vertex.cc:81
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:68
Definition: weight.py:1
MonitorElement * chi2ndf
MonitorElement * dxyVsPhi_pt10
const Point & position() const
position
Definition: Vertex.h:109
MonitorElement * dzVsEta_pt1
static const float cmToUm
MonitorElement * dxyVsEta_pt10
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
float trackWeight(const TREF &r) const
returns the weight with which a Track has contributed to the vertex-fit.
Definition: Vertex.h:81
MonitorElement * dzVsEta_pt10
bool isFake() const
Definition: Vertex.h:72
MonitorElement * chi2prob
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:37
MonitorElement * ntracks
trackRef_iterator tracks_begin() const
first iterator over tracks
Definition: Vertex.cc:76
size_t tracksSize() const
number of tracks
Definition: Vertex.cc:71
MonitorElement * dxyVsPhi_pt1
void PrimaryVertexMonitor::vertexPlots ( const reco::Vertex v,
const reco::BeamSpot beamSpot,
int  i 
)
private

Definition at line 397 of file PrimaryVertexMonitor.cc.

References reco::Vertex::chi2(), ChiSquaredProbability(), reco::Vertex::covariance(), DEFINE_FWK_MODULE, reco::BeamSpot::dxdz(), reco::BeamSpot::dydz(), MonitorElement::Fill(), HcalObjRepresent::Fill(), mps_fire::i, reco::Vertex::isFake(), edm::isNotFinite(), reco::Vertex::isValid(), gen::k, nans, nbtksinvtx, reco::Vertex::ndof(), ntracksVsZ, reco::Vertex::position(), lumiQTWidget::t, reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), reco::Vertex::tracksSize(), reco::Vertex::trackWeight(), trksWeight, vtxchi2, vtxndf, vtxprob, reco::BeamSpot::x0(), xDiff, xerr, reco::Vertex::xError(), xerrVsTrks, xrec, reco::BeamSpot::y0(), yDiff, yerr, reco::Vertex::yError(), yerrVsTrks, yrec, reco::BeamSpot::z0(), zerr, reco::Vertex::zError(), zerrVsTrks, and zrec.

Referenced by analyze().

398 {
399 
400  if (i < 0 || i > 1) return;
401  if (!v.isValid()) type[i]->Fill(2.);
402  else if (v.isFake()) type[i]->Fill(1.);
403  else type[i]->Fill(0.);
404 
405  if (v.isValid() && !v.isFake()) {
406  float weight = 0;
408  t!=v.tracks_end(); t++) weight+= v.trackWeight(*t);
409  trksWeight[i]->Fill(weight);
410  nbtksinvtx[i]->Fill(v.tracksSize());
411  ntracksVsZ[i]->Fill(v.position().z()- beamSpot.z0(),v.tracksSize());
412 
413  vtxchi2[i]->Fill(v.chi2());
414  vtxndf[i]->Fill(v.ndof());
416 
417  xrec[i]->Fill(v.position().x());
418  yrec[i]->Fill(v.position().y());
419  zrec[i]->Fill(v.position().z());
420 
421  float xb = beamSpot.x0() + beamSpot.dxdz() * (v.position().z() - beamSpot.z0());
422  float yb = beamSpot.y0() + beamSpot.dydz() * (v.position().z() - beamSpot.z0());
423  xDiff[i]->Fill((v.position().x() - xb)*10000);
424  yDiff[i]->Fill((v.position().y() - yb)*10000);
425 
426  xerr[i]->Fill(v.xError()*10000);
427  yerr[i]->Fill(v.yError()*10000);
428  zerr[i]->Fill(v.zError()*10000);
429  xerrVsTrks[i]->Fill(weight, v.xError()*10000);
430  yerrVsTrks[i]->Fill(weight, v.yError()*10000);
431  zerrVsTrks[i]->Fill(weight, v.zError()*10000);
432 
433  nans[i]->Fill(1.,edm::isNotFinite(v.position().x())*1.);
434  nans[i]->Fill(2.,edm::isNotFinite(v.position().y())*1.);
435  nans[i]->Fill(3.,edm::isNotFinite(v.position().z())*1.);
436 
437  int index = 3;
438  for (int k = 0; k != 3; k++) {
439  for (int j = k; j != 3; j++) {
440  index++;
441  nans[i]->Fill(index*1., edm::isNotFinite(v.covariance(k, j))*1.);
442  // in addition, diagonal element must be positive
443  if (j == k && v.covariance(k, j) < 0) {
444  nans[i]->Fill(index*1., 1.);
445  }
446  }
447  }
448  }
449 }
type
Definition: HCALResponse.h:21
MonitorElement * xerrVsTrks[2]
double z0() const
z coordinate
Definition: BeamSpot.h:68
MonitorElement * xerr[2]
MonitorElement * vtxndf[2]
trackRef_iterator tracks_end() const
last iterator over tracks
Definition: Vertex.cc:81
double zError() const
error on z
Definition: Vertex.h:123
bool isValid() const
Tells whether the vertex is valid.
Definition: Vertex.h:68
Definition: weight.py:1
double covariance(int i, int j) const
(i, j)-th element of error matrix, i, j = 0, ... 2
Definition: Vertex.h:130
MonitorElement * xDiff[2]
const Point & position() const
position
Definition: Vertex.h:109
MonitorElement * ntracksVsZ[2]
void Fill(long long x)
MonitorElement * zerrVsTrks[2]
MonitorElement * nans[2]
double dydz() const
dydz slope
Definition: BeamSpot.h:84
bool isNotFinite(T x)
Definition: isFinite.h:10
MonitorElement * yerrVsTrks[2]
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * zerr[2]
MonitorElement * yrec[2]
double chi2() const
chi-squares
Definition: Vertex.h:98
float ChiSquaredProbability(double chiSquared, double nrDOF)
MonitorElement * zrec[2]
float trackWeight(const TREF &r) const
returns the weight with which a Track has contributed to the vertex-fit.
Definition: Vertex.h:81
MonitorElement * vtxchi2[2]
double dxdz() const
dxdz slope
Definition: BeamSpot.h:82
double ndof() const
Definition: Vertex.h:105
int k[5][pyjets_maxn]
double xError() const
error on x
Definition: Vertex.h:119
bool isFake() const
Definition: Vertex.h:72
MonitorElement * nbtksinvtx[2]
MonitorElement * yerr[2]
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:37
double y0() const
y coordinate
Definition: BeamSpot.h:66
MonitorElement * xrec[2]
MonitorElement * vtxprob[2]
trackRef_iterator tracks_begin() const
first iterator over tracks
Definition: Vertex.cc:76
MonitorElement * yDiff[2]
double yError() const
error on y
Definition: Vertex.h:121
MonitorElement * trksWeight[2]
size_t tracksSize() const
number of tracks
Definition: Vertex.cc:71
double x0() const
x coordinate
Definition: BeamSpot.h:64

Member Data Documentation

std::string PrimaryVertexMonitor::AlignmentLabel_
private

Definition at line 53 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

edm::InputTag PrimaryVertexMonitor::beamSpotInputTag_
private

Definition at line 46 of file PrimaryVertexMonitor.h.

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

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

Definition at line 42 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and PrimaryVertexMonitor().

MonitorElement * PrimaryVertexMonitor::bsBeamWidthX
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * PrimaryVertexMonitor::bsBeamWidthY
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * PrimaryVertexMonitor::bsDxdz
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * PrimaryVertexMonitor::bsDydz
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * PrimaryVertexMonitor::bsSigmaZ
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * PrimaryVertexMonitor::bsType
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

MonitorElement* PrimaryVertexMonitor::bsX
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * PrimaryVertexMonitor::bsY
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * PrimaryVertexMonitor::bsZ
private

Definition at line 65 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * PrimaryVertexMonitor::chi2ndf
private

Definition at line 67 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement * PrimaryVertexMonitor::chi2prob
private

Definition at line 67 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

edm::ParameterSet PrimaryVertexMonitor::conf_
private

Definition at line 48 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

std::string PrimaryVertexMonitor::dqmLabel
private

Definition at line 50 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

MonitorElement* PrimaryVertexMonitor::dxy
private
MonitorElement * PrimaryVertexMonitor::dxy2
private

Definition at line 68 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement * PrimaryVertexMonitor::dxyErr
private
MonitorElement* PrimaryVertexMonitor::dxyVsEta_pt1
private

Definition at line 70 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement* PrimaryVertexMonitor::dxyVsEta_pt10
private

Definition at line 72 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement* PrimaryVertexMonitor::dxyVsPhi_pt1
private

Definition at line 69 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement* PrimaryVertexMonitor::dxyVsPhi_pt10
private

Definition at line 71 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement * PrimaryVertexMonitor::dz
private
MonitorElement * PrimaryVertexMonitor::dzErr
private
MonitorElement * PrimaryVertexMonitor::dzVsEta_pt1
private

Definition at line 70 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement * PrimaryVertexMonitor::dzVsEta_pt10
private

Definition at line 72 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement * PrimaryVertexMonitor::dzVsPhi_pt1
private

Definition at line 69 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement * PrimaryVertexMonitor::dzVsPhi_pt10
private

Definition at line 71 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

bool PrimaryVertexMonitor::errorPrinted_
private

Definition at line 55 of file PrimaryVertexMonitor.h.

Referenced by analyze().

MonitorElement * PrimaryVertexMonitor::nans[2]
private

Definition at line 63 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::nbgvtx
private

Definition at line 58 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * PrimaryVertexMonitor::nbtksinvtx[2]
private

Definition at line 58 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement* PrimaryVertexMonitor::nbvtx
private

Definition at line 58 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

int PrimaryVertexMonitor::ndof_
private

Definition at line 54 of file PrimaryVertexMonitor.h.

Referenced by analyze().

MonitorElement * PrimaryVertexMonitor::ntracks
private

Definition at line 67 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and pvTracksPlots().

MonitorElement* PrimaryVertexMonitor::ntracksVsZ[2]
private

Definition at line 62 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::score[2]
private

Definition at line 58 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 44 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and PrimaryVertexMonitor().

MonitorElement* PrimaryVertexMonitor::sumpt
private
std::string PrimaryVertexMonitor::TopFolderName_
private

Definition at line 52 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms().

MonitorElement * PrimaryVertexMonitor::trksWeight[2]
private

Definition at line 58 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement* PrimaryVertexMonitor::tt[2]
private

Definition at line 59 of file PrimaryVertexMonitor.h.

MonitorElement* PrimaryVertexMonitor::type[2]
private
edm::InputTag PrimaryVertexMonitor::vertexInputTag_
private

Definition at line 46 of file PrimaryVertexMonitor.h.

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

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

Definition at line 41 of file PrimaryVertexMonitor.h.

Referenced by analyze(), and PrimaryVertexMonitor().

MonitorElement* PrimaryVertexMonitor::vtxchi2[2]
private

Definition at line 63 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::vtxndf[2]
private

Definition at line 63 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::vtxprob[2]
private

Definition at line 63 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::weight
private
MonitorElement * PrimaryVertexMonitor::xDiff[2]
private

Definition at line 60 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::xerr[2]
private
MonitorElement* PrimaryVertexMonitor::xerrVsTrks[2]
private

Definition at line 61 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement* PrimaryVertexMonitor::xrec[2]
private

Definition at line 60 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::yDiff[2]
private

Definition at line 60 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::yerr[2]
private
MonitorElement * PrimaryVertexMonitor::yerrVsTrks[2]
private

Definition at line 61 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::yrec[2]
private

Definition at line 60 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::zerr[2]
private

Definition at line 60 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::zerrVsTrks[2]
private

Definition at line 61 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().

MonitorElement * PrimaryVertexMonitor::zrec[2]
private

Definition at line 60 of file PrimaryVertexMonitor.h.

Referenced by bookHistograms(), and vertexPlots().