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

Comparing UserCode/OSUT3Analysis/AnaTools/plugins/OSUAnalysis.cc (file contents):
Revision 1.43 by wulsin, Thu Mar 28 10:17:32 2013 UTC vs.
Revision 1.45 by ahart, Thu Apr 11 00:56:48 2013 UTC

# Line 11 | Line 11 | OSUAnalysis::OSUAnalysis (const edm::Par
11    tracks_ (cfg.getParameter<edm::InputTag> ("tracks")),
12    genjets_ (cfg.getParameter<edm::InputTag> ("genjets")),
13    mcparticles_ (cfg.getParameter<edm::InputTag> ("mcparticles")),
14 +  stops_ (cfg.getParameter<edm::InputTag> ("stops")),
15    primaryvertexs_ (cfg.getParameter<edm::InputTag> ("primaryvertexs")),
16    bxlumis_ (cfg.getParameter<edm::InputTag> ("bxlumis")),
17    photons_ (cfg.getParameter<edm::InputTag> ("photons")),
# Line 29 | Line 30 | OSUAnalysis::OSUAnalysis (const edm::Par
30    plotAllObjectsInPassingEvents_ (cfg.getParameter<bool> ("plotAllObjectsInPassingEvents")),
31    doPileupReweighting_ (cfg.getParameter<bool> ("doPileupReweighting")),
32    printEventInfo_ (cfg.getParameter<bool> ("printEventInfo")),
33 <  useTrackCaloRhoCorr_ (cfg.getParameter<bool> ("useTrackCaloRhoCorr"))
33 >  useTrackCaloRhoCorr_ (cfg.getParameter<bool> ("useTrackCaloRhoCorr")),
34 >  stopCTau_ (cfg.getParameter<vector<double> > ("stopCTau"))
35  
36   {
37  
# Line 41 | Line 43 | OSUAnalysis::OSUAnalysis (const edm::Par
43      //    muonSFWeight_ = new MuonSFWeight (muonSFFile_, muonSF_);
44      //    electronSFWeight_ = new ElectronSFWeight ("53X", electronSFID_);
45    }
46 + #ifdef DISPLACED_SUSY
47 +  if (datasetType_ == "signalMC")
48 +    cTauWeight_ = new CTauWeight (stopCTau_.at (0), stopCTau_.at (1), stops_);
49 + #endif
50  
51  
52    // Construct Cutflow Objects. These store the results of cut decisions and
# Line 497 | Line 503 | OSUAnalysis::analyze (const edm::Event &
503    if(doPileupReweighting_ && datasetType_ != "data")
504      scaleFactor = puWeight_->at (events->at (0).numTruePV);
505  
506 +  cTauScaleFactor_ = 1.0;
507 + #ifdef DISPLACED_SUSY
508 +  if (datasetType_ == "signalMC")
509 +    cTauScaleFactor_ = cTauWeight_->at (event);
510 + #endif
511 +  scaleFactor *= cTauScaleFactor_;
512  
513    //loop over all channels
514  
# Line 616 | Line 628 | OSUAnalysis::analyze (const edm::Event &
628  
629      }
630  
631 +    //     if(datasetType_ != "data") {
632 +    //       scaleFactor *= muonSFWeight_->at (chosenMuon ()->eta);
633 +    //       scaleFactor *= electronSFWeight_->at (chosenElectron ()->eta, chosenElectron ()->pt);
634 +    //     }
635 +
636      cutFlows_.at(currentChannelIndex)->fillCutFlow(scaleFactor);
637  
638  
# Line 632 | Line 649 | OSUAnalysis::analyze (const edm::Event &
649      }
650  
651  
635    //     if(datasetType_ != "data") {
636    //       scaleFactor *= muonSFWeight_->at (chosenMuon ()->eta);
637    //       scaleFactor *= electronSFWeight_->at (chosenElectron ()->eta, chosenElectron ()->pt);
638    //     }
639
652      //filling histograms
653      for (uint histogramIndex = 0; histogramIndex != histograms.size(); histogramIndex++){
654        histogram currentHistogram = histograms.at(histogramIndex);
# Line 1789 | Line 1801 | OSUAnalysis::valueLookup (const BNevent*
1801      else
1802        value = 1.0;
1803    }
1804 +  else if(variable == "cTauScaleFactor")
1805 +    value = cTauScaleFactor_;
1806  
1807    else{std::cout << "WARNING: invalid variable '" << variable << "'\n"; value = -999;}
1808  
# Line 2427 | Line 2441 | OSUAnalysis::valueLookup (const BNmuon*
2441    double value = 0.0;
2442  
2443    if(variable == "deltaPhi") value = fabs(deltaPhi(object1->phi,object2->phi));
2444 +  else if(variable == "deltaEta") value = fabs(object1->eta - object2->eta);
2445    else if(variable == "deltaR") value = deltaR(object1->eta,object1->phi,object2->eta,object2->phi);
2446    else if(variable == "invMass"){
2447      TLorentzVector fourVector1(object1->px, object1->py, object1->pz, object1->energy);
# Line 2496 | Line 2511 | OSUAnalysis::valueLookup (const BNelectr
2511    double value = 0.0;
2512  
2513    if(variable == "deltaPhi") value = fabs(deltaPhi(object1->phi,object2->phi));
2514 +  else if(variable == "deltaEta") value = fabs(object1->eta - object2->eta);
2515    else if(variable == "deltaR") value = deltaR(object1->eta,object1->phi,object2->eta,object2->phi);
2516    else if(variable == "invMass"){
2517      TLorentzVector fourVector1(object1->px, object1->py, object1->pz, object1->energy);
# Line 2550 | Line 2566 | OSUAnalysis::valueLookup (const BNelectr
2566    double value = 0.0;
2567  
2568    if(variable == "deltaPhi") value = fabs(deltaPhi(object1->phi,object2->phi));
2569 +  else if(variable == "deltaEta") value = fabs(object1->eta - object2->eta);
2570    else if(variable == "deltaR") value = deltaR(object1->eta,object1->phi,object2->eta,object2->phi);
2571    else if(variable == "invMass"){
2572      TLorentzVector fourVector1(object1->px, object1->py, object1->pz, object1->energy);
# Line 2596 | Line 2613 | OSUAnalysis::valueLookup (const BNelectr
2613    else if(variable == "muonDetIso"){
2614      value = (object2->trackIsoDR03) / object2->pt;
2615    }
2616 <
2616 >  else if(variable == "electronRelPFrhoIso"){
2617 >    value = ( object1->chargedHadronIsoDR03 + max(0.0, object1->neutralHadronIsoDR03 + object1->photonIsoDR03 - object1->AEffDr03*object1->rhoPrime) ) / object1->pt;
2618 >  }
2619 >  else if(variable == "muonRelPFdBetaIso"){
2620 >    value = (object2->pfIsoR04SumChargedHadronPt + max(0.0, object2->pfIsoR04SumNeutralHadronEt + object2->pfIsoR04SumPhotonEt - 0.5*object2->pfIsoR04SumPUPt)) / object2->pt;
2621 >  }
2622  
2623    else{std::cout << "WARNING: invalid variable '" << variable << "'\n"; value = -999;}
2624  
# Line 2613 | Line 2635 | OSUAnalysis::valueLookup (const BNelectr
2635    TLorentzVector fourVector1(0, 0, 0, 0);        
2636    TLorentzVector fourVector2(0, 0, 0, 0);        
2637    if(variable == "deltaPhi") value = fabs(deltaPhi(object1->phi,object2->phi));  
2638 +  else if(variable == "deltaEta") value = fabs(object1->eta - object2->eta);
2639    else if(variable == "deltaR") value = deltaR(object1->eta,object1->phi,object2->eta,object2->phi);    
2640    else if(variable == "invMass"){        
2641      fourVector1.SetPtEtaPhiM(object1->pt, object1->eta, object1->phi, electronMass);    
# Line 2635 | Line 2658 | OSUAnalysis::valueLookup (const BNmuon*
2658    TLorentzVector fourVector1(0, 0, 0, 0);
2659    TLorentzVector fourVector2(0, 0, 0, 0);
2660    if(variable == "deltaPhi") value = fabs(deltaPhi(object1->phi,object2->phi));
2661 +  else if(variable == "deltaEta") value = fabs(object1->eta - object2->eta);
2662    else if(variable == "deltaR") value = deltaR(object1->eta,object1->phi,object2->eta,object2->phi);
2663    else if(variable == "invMass"){
2664      fourVector1.SetPtEtaPhiM(object1->pt, object1->eta, object1->phi, muonMass);
# Line 2653 | Line 2677 | double
2677   OSUAnalysis::valueLookup (const BNtau* object1, const BNtau* object2, string variable, string function){
2678    double value = 0.0;
2679    if(variable == "deltaPhi") value = fabs(deltaPhi(object1->phi,object2->phi));
2680 +  else if(variable == "deltaEta") value = fabs(object1->eta - object2->eta);
2681    else if(variable == "deltaR") value = deltaR(object1->eta,object1->phi,object2->eta,object2->phi);
2682    else if(variable == "invMass"){
2683      TLorentzVector fourVector1(object1->px, object1->py, object1->pz, object1->energy);
# Line 2670 | Line 2695 | double
2695   OSUAnalysis::valueLookup (const BNmuon* object1, const BNtau* object2, string variable, string function){
2696    double value = 0.0;
2697    if(variable == "deltaPhi") value = fabs(deltaPhi(object1->phi,object2->phi));
2698 +  else if(variable == "deltaEta") value = fabs(object1->eta - object2->eta);
2699    else if(variable == "deltaR") value = deltaR(object1->eta,object1->phi,object2->eta,object2->phi);
2700    else if(variable == "invMass"){
2701      TLorentzVector fourVector1(object1->px, object1->py, object1->pz, object1->energy);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines