CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/DQMOffline/RecoB/plugins/PrimaryVertexMonitor.h

Go to the documentation of this file.
00001 #ifndef PrimaryVertexMonitor_H
00002 #define PrimaryVertexMonitor_H
00003 
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/EDAnalyzer.h"
00006 #include "FWCore/Framework/interface/Event.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00009 #include "FWCore/Utilities/interface/InputTag.h"
00010 
00011 #include "DQMServices/Core/interface/DQMStore.h"
00012 #include "DQMServices/Core/interface/MonitorElement.h"
00013 
00014 #include "DataFormats/VertexReco/interface/Vertex.h"
00015 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00016 
00017 
00023 class PrimaryVertexMonitor : public edm::EDAnalyzer {
00024    public:
00025       explicit PrimaryVertexMonitor(const edm::ParameterSet& pSet);
00026 
00027       ~PrimaryVertexMonitor();
00028 
00029       virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup);
00030 
00031   virtual void endJob();
00032 
00033    private:
00034 
00035   void vertexPlots(const reco::Vertex & v, const reco::BeamSpot& beamSpot, int i);
00036 
00037   edm::InputTag moduleLabel, beamSpotLabel;
00038 
00039   DQMStore * dqmStore_;
00040   std::string dqmLabel;
00041 
00042   // the histos
00043   MonitorElement *nbvtx, *nbtksinvtx[2], *trksWeight[2];
00044   MonitorElement *tt[2];
00045   MonitorElement *xrec[2] , *yrec[2], *zrec[2], *xDiff[2] , *yDiff[2], *xerr[2] , *yerr[2], *zerr[2] ;
00046   MonitorElement *xerrVsTrks[2] , *yerrVsTrks[2], *zerrVsTrks[2] ;
00047   MonitorElement *vtxchi2[2] , *vtxndf[2], *vtxprob[2] , *nans[2];
00048   MonitorElement *type[2];
00049   MonitorElement *bsX, *bsY, *bsZ, *bsSigmaZ, *bsDxdz, *bsDydz, *bsBeamWidthX, *bsBeamWidthY, *bsType;
00050 };
00051 
00052 
00053 #endif