ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/plugins/HbbTreeMaker.cc
(Generate patch)

Comparing UserCode/HbbAnalysis/plugins/HbbTreeMaker.cc (file contents):
Revision 1.1 by amagnan, Thu Sep 17 19:39:51 2009 UTC vs.
Revision 1.3 by amagnan, Tue Oct 13 12:14:05 2009 UTC

# Line 159 | Line 159 | void HbbTreeMaker::analyze(const edm::Ev
159      std::cout << "AMM: Collection " << muonSrc_  << " not available! Exception : " << e.what() << ". " << std::endl;
160    }
161  
162 <  HbbMuons(lMuonCollection,event_->muons());
162 >  HbbMuons(lMuonCollection,lRecoVertices,event_->muons());
163  
164  
165    edm::Handle<std::vector<pat::Tau> > lTauCollection;
# Line 298 | Line 298 | void HbbTreeMaker::analyze(const edm::Ev
298  
299  
300   void HbbTreeMaker::HbbElectrons(const edm::Handle<std::vector<pat::Electron> > & aCol,
301 <                           std::vector<HbbAnalysis::Electron> & aVec)
301 >                                std::vector<HbbAnalysis::Electron> & aVec)
302   {//HbbElectrons
303  
304    if (aCol.isValid()){
# Line 314 | Line 314 | void HbbTreeMaker::HbbElectrons(const ed
314            HbbAnalysis::GenVars lGen;
315            if ((*iter).genLepton()){
316              lGen.valid = true;
317 +            lGen.E = (*iter).genLepton()->energy();
318              lGen.pT = (*iter).genLepton()->pt();
319              lGen.eta = (*iter).genLepton()->eta();
320              lGen.phi = (*iter).genLepton()->phi();
# Line 327 | Line 328 | void HbbTreeMaker::HbbElectrons(const ed
328            }
329            else {
330              lGen.valid = false;
331 +            lGen.E = 0;
332              lGen.pT = 0;
333              lGen.eta = 0;
334              lGen.phi = 0;
# Line 340 | Line 342 | void HbbTreeMaker::HbbElectrons(const ed
342            }
343  
344            HbbAnalysis::BaseVars lReco;
345 +          lReco.E = (*iter).energy();
346            lReco.pT = (*iter).pt();
347            lReco.eta = (*iter).eta();
348            lReco.phi = (*iter).phi();
# Line 379 | Line 382 | void HbbTreeMaker::HbbElectrons(const ed
382  
383  
384   void HbbTreeMaker::HbbMuons(const edm::Handle<std::vector<pat::Muon> > & aCol,
385 <                       std::vector<HbbAnalysis::Muon> & aVec)
385 >                            const edm::Handle<std::vector<reco::Vertex> > & aRecoVertices,
386 >                            std::vector<HbbAnalysis::Muon> & aVec)
387   {//HbbMuons
388  
389    if (aCol.isValid()){
# Line 395 | Line 399 | void HbbTreeMaker::HbbMuons(const edm::H
399            HbbAnalysis::GenVars lGen;
400            if ((*iter).genLepton()){
401              lGen.valid = true;
402 +            lGen.E = (*iter).genLepton()->energy();
403              lGen.pT = (*iter).genLepton()->pt();
404              lGen.eta = (*iter).genLepton()->eta();
405              lGen.phi = (*iter).genLepton()->phi();
# Line 408 | Line 413 | void HbbTreeMaker::HbbMuons(const edm::H
413            }
414            else {
415              lGen.valid = false;
416 +            lGen.E = 0;
417              lGen.pT = 0;
418              lGen.eta = 0;
419              lGen.phi = 0;
# Line 421 | Line 427 | void HbbTreeMaker::HbbMuons(const edm::H
427            }
428  
429            HbbAnalysis::BaseVars lReco;
430 +          lReco.E = (*iter).energy();
431            lReco.pT = (*iter).pt();
432            lReco.eta = (*iter).eta();
433            lReco.phi = (*iter).phi();
# Line 429 | Line 436 | void HbbTreeMaker::HbbMuons(const edm::H
436            lReco.vy = (*iter).vy();
437            lReco.vz = (*iter).vz();
438  
439 +          HbbAnalysis::MuTrkVars lTrk;
440 +
441 +          reco::TrackRef lTrackerTrk = (*iter).innerTrack();
442 +          if ( lTrackerTrk.isAvailable() && lTrackerTrk.isNonnull() ) {
443 +            if ( aRecoVertices->size() >= 1 ) {
444 +              const reco::Vertex& thePrimaryEventVertex = (*aRecoVertices->begin());
445 +              lTrk.IPd0 = -lTrackerTrk->dxy(thePrimaryEventVertex.position());
446 +              lTrk.IPdz = lTrackerTrk->dz(thePrimaryEventVertex.position());
447 +            }
448 +            else {
449 +              lTrk.IPd0 = 0;
450 +              lTrk.IPdz = 0;
451 +            }
452 +
453 +            lTrk.nHits =  lTrackerTrk->numberOfValidHits();
454 +          }
455 +          else {
456 +            lTrk.IPd0 = 0;
457 +            lTrk.IPdz = 0;
458 +            lTrk.nHits = 0;
459 +          }
460 +
461            HbbAnalysis::MuIsoVars lIsoR03;
462            lIsoR03.sumPt = recoMuon->isolationR03().sumPt;
463            lIsoR03.emEt = recoMuon->isolationR03().emEt;
# Line 472 | Line 501 | void HbbTreeMaker::HbbMuons(const edm::H
501            lID.nMatchesMedium = recoMuon->numberOfMatches(reco::Muon::SegmentArbitration);
502            lID.nMatchesTight = recoMuon->numberOfMatches(reco::Muon::SegmentAndTrackArbitration);
503  
504 <          HbbAnalysis::Muon lObj(lGen,lReco,lIsoR03,lIsoR05,lID);
504 >          HbbAnalysis::Muon lObj(lGen,lReco,lTrk,lIsoR03,lIsoR05,lID);
505            aVec.push_back(lObj);
506            iEle++;
507          }
# Line 482 | Line 511 | void HbbTreeMaker::HbbMuons(const edm::H
511   }//HbbMuons
512  
513   void HbbTreeMaker::HbbTaus(const edm::Handle<std::vector<pat::Tau> > & aCol,
514 <                      const edm::Handle<std::vector<reco::Vertex> > & aRecoVertices,
515 <                      std::vector<HbbAnalysis::Tau> & aVec)
514 >                           const edm::Handle<std::vector<reco::Vertex> > & aRecoVertices,
515 >                           std::vector<HbbAnalysis::Tau> & aVec)
516   {//HbbTaus
517    
518    if (aCol.isValid()){
# Line 499 | Line 528 | void HbbTreeMaker::HbbTaus(const edm::Ha
528            HbbAnalysis::GenVars lGen;
529            if ((*iter).genLepton()){
530              lGen.valid = true;
531 +            lGen.E = (*iter).genLepton()->energy();
532              lGen.pT = (*iter).genLepton()->pt();
533              lGen.eta = (*iter).genLepton()->eta();
534              lGen.phi = (*iter).genLepton()->phi();
# Line 512 | Line 542 | void HbbTreeMaker::HbbTaus(const edm::Ha
542            }
543            else {
544              lGen.valid = false;
545 +            lGen.E = 0;
546              lGen.pT = 0;
547              lGen.eta = 0;
548              lGen.phi = 0;
# Line 554 | Line 585 | void HbbTreeMaker::HbbTaus(const edm::Ha
585            }
586  
587            HbbAnalysis::BaseVars lReco;
588 +          lReco.E = (*iter).energy();
589            lReco.pT = (*iter).pt();
590            lReco.eta = (*iter).eta();
591            lReco.phi = (*iter).phi();
# Line 775 | Line 807 | void HbbTreeMaker::HbbJets(const edm::Ha
807            HbbAnalysis::GenVars lGen;
808            if ((*iter).genParton()){
809              lGen.valid = true;
810 +            lGen.E = (*iter).genParton()->energy();
811              lGen.pT = (*iter).genParton()->pt();
812              lGen.eta = (*iter).genParton()->eta();
813              lGen.phi = (*iter).genParton()->phi();
# Line 788 | Line 821 | void HbbTreeMaker::HbbJets(const edm::Ha
821            }
822            else {
823              lGen.valid = false;
824 +            lGen.E = 0;
825              lGen.pT = 0;
826              lGen.eta = 0;
827              lGen.phi = 0;
# Line 830 | Line 864 | void HbbTreeMaker::HbbJets(const edm::Ha
864            }
865  
866            HbbAnalysis::BaseVars lReco;
867 +          lReco.E = (*iter).energy();
868            lReco.pT = (*iter).pt();
869            lReco.eta = (*iter).eta();
870            lReco.phi = (*iter).phi();
# Line 999 | Line 1034 | void HbbTreeMaker::HbbParticles(const ed
1034  
1035        HbbAnalysis::MCVars lMC;
1036        lMC.index = mccount;
1037 +      lMC.E = p.energy();
1038        lMC.pT = p.pt();
1039        lMC.eta = p.eta();
1040        lMC.phi = p.phi();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines