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")), |
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 |
|
|
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 |
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 |
|
|
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 |
|
|
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); |
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 |
|
|
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); |
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); |
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); |
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 |
|
|
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); |
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); |
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); |
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); |