61 nVertices_ =
fs->make<TH1F>(
"nVertices",
"number of reconstructed primary vertices", 50, 0, 50);
62 nTracks_ =
fs->make<TH1F>(
"nTracks",
"number of tracks at primary vertex", 100, 0, 300);
63 x_ =
fs->make<TH1F>(
"pvX",
"primary vertex x", 100, -0.1, 0.1);
64 y_ =
fs->make<TH1F>(
"pvY",
"primary vertex y", 100, -0.1, 0.1);
65 z_ =
fs->make<TH1F>(
"pvZ",
"primary vertex z", 100, -30, 30);
66 xErr_ =
fs->make<TH1F>(
"pvErrorX",
"primary vertex x error", 100, 0, 0.005);
67 yErr_ =
fs->make<TH1F>(
"pvErrorY",
"primary vertex y error", 100, 0, 0.005);
68 zErr_ =
fs->make<TH1F>(
"pvErrorZ",
"primary vertex z error", 100, 0, 0.01);
69 xDelta_ =
fs->make<TH1F>(
"pvDeltaX",
"x shift wrt simulated vertex", 100, -0.01, 0.01);
70 yDelta_ =
fs->make<TH1F>(
"pvDeltaY",
"y shift wrt simulated vertex", 100, -0.01, 0.01);
71 zDelta_ =
fs->make<TH1F>(
"pvDeltaZ",
"z shift wrt simulated vertex", 100, -0.02, 0.02);
72 xPull_ =
fs->make<TH1F>(
"pvPullX",
"primary vertex x pull", 100, -5, 5);
73 yPull_ =
fs->make<TH1F>(
"pvPullY",
"primary vertex y pull", 100, -5, 5);
74 zPull_ =
fs->make<TH1F>(
"pvPullZ",
"primary vertex z pull", 100, -5, 5);
93 if (!pvHandle->empty()) {
110 xPull_->Fill((
pv.x() - simPV.X()) /
pv.xError());
111 yPull_->Fill((
pv.y() - simPV.Y()) /
pv.yError());
112 zPull_->Fill((
pv.z() - simPV.Z()) /
pv.zError());
static const std::string kSharedResource
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
edm::EDGetTokenT< reco::GenParticleCollection > genParticlesToken_
#define DEFINE_FWK_MODULE(type)
edm::EDGetTokenT< reco::VertexCollection > srcToken_
std::vector< Vertex > VertexCollection
void analyze(const edm::Event &event, const edm::EventSetup &es) override
~PatVertexAnalyzer() override
XYZPointD XYZPoint
point in space with cartesian internal representation
PatVertexAnalyzer(const edm::ParameterSet ¶ms)
constructor and destructor