fkw_ss_090721
// file loop TIter fileIter(listOfFiles); TFile *currentFile = 0; while ( currentFile = (TFile*)fileIter.Next() ) { TFile f(currentFile->GetTitle()); TTree *tree = (TTree*)f.Get("Events"); cms2.Init(tree); //Event Loop unsigned int nEvents = tree->GetEntries(); // nEvents = 100; for( unsigned int event = 0; event < nEvents; ++event) { cms2.GetEntry(event); ++nEventsTotal; if ( nEventsTotal%10000 == 0 ) { std::cout << "Event: " << nEventsTotal << endl; } // loop over true electrons for ( unsigned int els = 0; els < genps_p4().size(); ++els ) { // check for true electron if ( TMath::Abs(genps_id()[els]) != 11 ) continue; // check for pT >= 10 GeV if ( genps_p4()[els].pt() < 10. ) continue; // fill true histrograms els_pt_sim->Fill(genps_p4()[els].pt()); els_eta_sim->Fill(genps_p4()[els].eta()); } // loop over reco electrons for (unsigned int els = 0; els < els_p4().size(); ++els) { // cuts // check for pT >= 10 GeV if ( els_p4()[els].pt() < 10. ) continue; if ( !goodElectronIsolated(els,true) ) continue; if ( conversionElectron(els) ) continue; // check how many electrons don't have an associated track els_trkId->Fill(els_trkidx().at(els)); // tmp charge variable double charge = els_charge().at(els); // if electron has associated track and track charge is not equal to electron charge, veto int trk = els_trkidx().at(els); if ( (trk >= 0) && (charge != trks_charge().at(trk)) ) { continue; } // exclude reco electron which is not a true electron if ( abs(els_mc_id()[els]) != 11 ) continue; // fill reco els_pt_reco->Fill(els_p4().at(els).Pt()); els_eta_reco->Fill(els_p4().at(els).eta()); // fill reco_corCharge if ( (charge == -1 && els_mc_id().at(els) == 11) || (charge == 1 && els_mc_id().at(els) == -11) ) { els_pt_reco_corCharge->Fill(els_p4().at(els).Pt()); els_eta_reco_corCharge->Fill(els_p4().at(els).eta()); } // fill recosim els_pt_recosim->Fill(els_mc_p4().at(els).Pt()); els_eta_recosim->Fill(els_mc_p4().at(els).eta()); // correct charge identified if ( (charge == -1 && els_mc_id().at(els) == 11) || (charge == 1 && els_mc_id().at(els) == -11) ) { els_pt_recosim_corCharge->Fill(els_mc_p4().at(els).Pt()); els_eta_recosim_corCharge->Fill(els_mc_p4().at(els).eta()); // incorrect charge identified } else { els_pt_recosim_incorCharge->Fill(els_mc_p4().at(els).Pt()); els_eta_recosim_incorCharge->Fill(els_mc_p4().at(els).eta()); } } } }
comment | reco efficiency [%] | barrel reco efficiency [%] | forward reco efficiency [%] | charge misidentification rate [%] | barrel charge misidentification rate [%] | forward charge misidentification rate [%] |
---|---|---|---|---|---|---|
OLD | 79.643 | 86.434 | 68.898 | 0.414 | 0.138 | 0.901 |
// file loop TIter fileIter(listOfFiles); TFile *currentFile = 0; while ( currentFile = (TFile*)fileIter.Next() ) { TFile f(currentFile->GetTitle()); TTree *tree = (TTree*)f.Get("Events"); cms2.Init(tree); //Event Loop unsigned int nEvents = tree->GetEntries(); // nEvents = 100; for( unsigned int event = 0; event < nEvents; ++event) { cms2.GetEntry(event); ++nEventsTotal; if ( nEventsTotal%10000 == 0 ) { std::cout << "Event: " << nEventsTotal << endl; } // loop over true electrons for ( unsigned int els = 0; els < genps_p4().size(); ++els ) { // check that electron is final state electron if ( genps_status()[els] != 1 ) continue; // check for true electron if ( TMath::Abs(genps_id()[els]) != 11 ) continue; // fill true histrograms els_pt_sim->Fill(genps_p4()[els].pt()); els_eta_sim->Fill(genps_p4()[els].eta()); } // loop over reco electrons for (unsigned int els = 0; els < els_p4().size(); ++els) { // cuts // SUSY cuts, replace // if ( !goodElectronIsolated(els) ) continue; // with corresponding cuts if ( !GoodSusyLeptonID(11,els) ) continue; if ( !PassSusyLeptonIsolation(11,els) ) continue; // SUSY cuts, replace // if ( conversionElectron(els) ) continue; // with corresponding cuts if ( conversionElectron(els) ) continue; // check how many electrons don't have an associated track els_trkId->Fill(els_trkidx().at(els)); // tmp charge variable double charge = els_charge().at(els); // SUSY cuts, replace // if electron has associated track and track charge is not equal to electron charge, veto // int trk = els_trkidx().at(els); // if ( (trk >= 0) && (charge != trks_charge().at(trk)) ) { // continue; // } // with corresponding cuts if ( isChargeFlip(els) ) continue; // fill reco els_pt_reco->Fill(els_p4().at(els).Pt()); els_eta_reco->Fill(els_p4().at(els).eta()); // fill reco_corCharge if ( (charge == -1 && els_mc_id().at(els) == 11) || (charge == 1 && els_mc_id().at(els) == -11) ) { els_pt_reco_corCharge->Fill(els_p4().at(els).Pt()); els_eta_reco_corCharge->Fill(els_p4().at(els).eta()); } // exclude reco which has no true electron match if ( abs(els_mc_id()[els]) != 11 ) continue; // fill recosim els_pt_recosim->Fill(els_mc_p4().at(els).Pt()); els_eta_recosim->Fill(els_mc_p4().at(els).eta()); // correct charge identified if ( (charge == -1 && els_mc_id().at(els) == 11) || (charge == 1 && els_mc_id().at(els) == -11) ) { els_pt_recosim_corCharge->Fill(els_mc_p4().at(els).Pt()); els_eta_recosim_corCharge->Fill(els_mc_p4().at(els).eta()); // incorrect charge identified } else { els_pt_recosim_incorCharge->Fill(els_mc_p4().at(els).Pt()); els_eta_recosim_incorCharge->Fill(els_mc_p4().at(els).eta()); } } } }
comment | reco efficiency [%] | barrel reco efficiency [%] | forward reco efficiency [%] | charge misidentification rate [%] | barrel charge misidentification rate [%] | forward charge misidentification rate [%] |
---|---|---|---|---|---|---|
NEW | 79.318 | 88.113 | 66.252 | 0.343 | 0.118 | 0.763 |
comment | reco efficiency [%] | barrel reco efficiency [%] | forward reco efficiency [%] | charge misidentification rate [%] | barrel charge misidentification rate [%] | forward charge misidentification rate [%] |
---|---|---|---|---|---|---|
NEW | 79.318 | 88.113 | 66.252 | 0.343 | 0.118 | 0.763 |
OLD | 79.643 | 86.434 | 68.898 | 0.414 | 0.138 | 0.901 |
fkw_ss_090721
for CMS/NtupleMacros
gutsche_090722_SUSY