171 |
|
} |
172 |
|
else HBHENoiseFilterResult = false; |
173 |
|
|
174 |
+ |
// ------------- primary vertices and beamspot ------------- |
175 |
+ |
|
176 |
+ |
if(doPV){ |
177 |
+ |
for(size_t j=0; j< pv_sources.size(); ++j){ |
178 |
+ |
pvs[j].clear(); |
179 |
+ |
|
180 |
+ |
edm::Handle< std::vector<reco::Vertex> > pv_handle; |
181 |
+ |
iEvent.getByLabel(pv_sources[j], pv_handle); |
182 |
+ |
const std::vector<reco::Vertex>& reco_pvs = *(pv_handle.product()); |
183 |
+ |
|
184 |
+ |
for (unsigned int i = 0; i < reco_pvs.size(); ++i) { |
185 |
+ |
reco::Vertex reco_pv = reco_pvs[i]; |
186 |
+ |
|
187 |
+ |
PrimaryVertex pv; |
188 |
+ |
pv.x = reco_pv.x(); |
189 |
+ |
pv.y = reco_pv.y(); |
190 |
+ |
pv.z = reco_pv.z(); |
191 |
+ |
pv.nTracks = reco_pv.nTracks(); |
192 |
+ |
//pv.isValid = reco_pv.isValid(); |
193 |
+ |
pv.chi2 = reco_pv.chi2(); |
194 |
+ |
pv.ndof = reco_pv.ndof(); |
195 |
+ |
|
196 |
+ |
pvs[j].push_back(pv); |
197 |
+ |
} |
198 |
+ |
} |
199 |
+ |
} |
200 |
+ |
|
201 |
+ |
edm::Handle<reco::BeamSpot> beamSpot; |
202 |
+ |
iEvent.getByLabel(edm::InputTag("offlineBeamSpot"), beamSpot); |
203 |
+ |
const reco::BeamSpot & bsp = *beamSpot; |
204 |
+ |
|
205 |
+ |
beamspot_x0 = bsp.x0(); |
206 |
+ |
beamspot_y0 = bsp.y0(); |
207 |
+ |
beamspot_z0 = bsp.z0(); |
208 |
+ |
|
209 |
|
// ------------- electrons ------------- |
210 |
|
if(doElectrons){ |
211 |
|
for(size_t j=0; j< electron_sources.size(); ++j){ |
234 |
|
ele.chargedHadronIso = pat_ele.chargedHadronIso(); |
235 |
|
ele.trackIso = pat_ele.trackIso(); |
236 |
|
ele.puChargedHadronIso = pat_ele.puChargedHadronIso(); |
237 |
< |
|
237 |
> |
ele.gsfTrack_trackerExpectedHitsInner_numberOfLostHits = pat_ele.gsfTrack()->trackerExpectedHitsInner().numberOfLostHits(); |
238 |
> |
ele.gsfTrack_px= pat_ele.gsfTrack()->px(); |
239 |
> |
ele.gsfTrack_py= pat_ele.gsfTrack()->py(); |
240 |
> |
ele.gsfTrack_pz= pat_ele.gsfTrack()->pz(); |
241 |
> |
ele.gsfTrack_vx= pat_ele.gsfTrack()->vx(); |
242 |
> |
ele.gsfTrack_vy= pat_ele.gsfTrack()->vy(); |
243 |
> |
ele.gsfTrack_vz= pat_ele.gsfTrack()->vz(); |
244 |
|
eles[j].push_back(ele); |
245 |
|
} |
246 |
|
} |
405 |
|
jet.electronMultiplicity =pat_jet.electronMultiplicity(); |
406 |
|
jet.photonMultiplicity =pat_jet.photonMultiplicity(); |
407 |
|
} |
408 |
+ |
|
409 |
+ |
jecUnc->setJetEta(pat_jet.eta()); |
410 |
+ |
jecUnc->setJetPt(pat_jet.pt()); |
411 |
+ |
jet.JEC_uncertainty = jecUnc->getUncertainty(true); |
412 |
+ |
|
413 |
|
jet.btag_simpleSecondaryVertexHighEff=pat_jet.bDiscriminator("simpleSecondaryVertexHighEffBJetTags"); |
414 |
|
jet.btag_simpleSecondaryVertexHighPur=pat_jet.bDiscriminator("simpleSecondaryVertexHighPurBJetTags"); |
415 |
|
jet.btag_combinedSecondaryVertex=pat_jet.bDiscriminator("combinedSecondaryVertexBJetTags"); |
460 |
|
// topjet.electronMultiplicity =pat_topjet.electronMultiplicity(); |
461 |
|
// topjet.photonMultiplicity =pat_topjet.photonMultiplicity(); |
462 |
|
|
463 |
+ |
jecUnc->setJetEta(pat_topjet.eta()); |
464 |
+ |
jecUnc->setJetPt(pat_topjet.pt()); |
465 |
+ |
topjet.JEC_uncertainty = jecUnc->getUncertainty(true); |
466 |
+ |
|
467 |
|
topjet.btag_simpleSecondaryVertexHighEff=pat_topjet.bDiscriminator("simpleSecondaryVertexHighEffBJetTags"); |
468 |
|
topjet.btag_simpleSecondaryVertexHighPur=pat_topjet.bDiscriminator("simpleSecondaryVertexHighPurBJetTags"); |
469 |
|
topjet.btag_combinedSecondaryVertex=pat_topjet.bDiscriminator("combinedSecondaryVertexBJetTags"); |
675 |
|
|
676 |
|
} |
677 |
|
|
628 |
– |
// ------------- primary vertices and beamspot ------------- |
629 |
– |
|
630 |
– |
if(doPV){ |
631 |
– |
for(size_t j=0; j< pv_sources.size(); ++j){ |
632 |
– |
pvs[j].clear(); |
633 |
– |
|
634 |
– |
edm::Handle< std::vector<reco::Vertex> > pv_handle; |
635 |
– |
iEvent.getByLabel(pv_sources[j], pv_handle); |
636 |
– |
const std::vector<reco::Vertex>& reco_pvs = *(pv_handle.product()); |
637 |
– |
|
638 |
– |
for (unsigned int i = 0; i < reco_pvs.size(); ++i) { |
639 |
– |
reco::Vertex reco_pv = reco_pvs[i]; |
640 |
– |
|
641 |
– |
PrimaryVertex pv; |
642 |
– |
pv.x = reco_pv.x(); |
643 |
– |
pv.y = reco_pv.y(); |
644 |
– |
pv.z = reco_pv.z(); |
645 |
– |
pv.nTracks = reco_pv.nTracks(); |
646 |
– |
//pv.isValid = reco_pv.isValid(); |
647 |
– |
pv.chi2 = reco_pv.chi2(); |
648 |
– |
pv.ndof = reco_pv.ndof(); |
649 |
– |
|
650 |
– |
pvs[j].push_back(pv); |
651 |
– |
} |
652 |
– |
} |
653 |
– |
} |
654 |
– |
|
655 |
– |
edm::Handle<reco::BeamSpot> beamSpot; |
656 |
– |
iEvent.getByLabel(edm::InputTag("offlineBeamSpot"), beamSpot); |
657 |
– |
const reco::BeamSpot & bsp = *beamSpot; |
658 |
– |
|
659 |
– |
beamspot_x0 = bsp.x0(); |
660 |
– |
beamspot_y0 = bsp.y0(); |
661 |
– |
beamspot_z0 = bsp.z0(); |
678 |
|
|
679 |
|
tr->Fill(); |
680 |
|
|
703 |
|
bool setup_changed = false; |
704 |
|
hlt_cfg.init(iRun, iSetup, "HLT", setup_changed); |
705 |
|
newrun=true; |
706 |
+ |
|
707 |
+ |
edm::ESHandle<JetCorrectorParametersCollection> JetCorParColl; |
708 |
+ |
iSetup.get<JetCorrectionsRecord>().get("AK5PF",JetCorParColl); |
709 |
+ |
JetCorrectorParameters const & JetCorPar = (*JetCorParColl)["Uncertainty"]; |
710 |
+ |
jecUnc = new JetCorrectionUncertainty(JetCorPar); |
711 |
+ |
|
712 |
|
} |
713 |
|
|
714 |
|
// ------------ method called when ending the processing of a run ------------ |