ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/NtupleWriter/src/NtupleWriter.cc
(Generate patch)

Comparing UserCode/UHHAnalysis/NtupleWriter/src/NtupleWriter.cc (file contents):
Revision 1.4 by peiffer, Mon Apr 2 15:10:03 2012 UTC vs.
Revision 1.5 by peiffer, Thu Apr 5 09:48:20 2012 UTC

# Line 171 | Line 171 | NtupleWriter::analyze(const edm::Event&
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){
# Line 199 | Line 234 | NtupleWriter::analyze(const edm::Event&
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       }
# Line 364 | Line 405 | NtupleWriter::analyze(const edm::Event&
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");
# Line 414 | Line 460 | NtupleWriter::analyze(const edm::Event&
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");
# Line 625 | Line 675 | NtupleWriter::analyze(const edm::Event&
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  
# Line 687 | Line 703 | NtupleWriter::beginRun(edm::Run const& i
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  ------------

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines