Electron Charge Misidentification corrected for ctf trk
updates
- 090501
- check charge misidentification of electron relative to true electron corrected for associated tracks correctly identifying electron charge, in general smaller than reco electron misidentifaction alone (good)
Input, 30k single particle gun electrons (2 electrons per event, antiPartilce = true)
uaf-4:/data/tmp/yanjuntu/singleElectron_ntuple_v3_30000.root
All electrons in els_p4
for (unsigned int els = 0;
els < els_p4().size(); els++) {
// cut to exclude patological events with true electron pt = 0.
if ( els_mc_p4().at(els).Pt() > 0. ) {
els_pt->Fill(els_mc_p4().at(els).Pt());
els_eta->Fill(els_mc_p4().at(els).eta());
// check that associated cft track charge gets wrong charge vs. true electron
// 2.5% of all electrons have to associated trk
if ( els_trkidx().at(els) >= 0 ) {
if ( (trks_charge().at(els_trkidx().at(els)) == -1 && els_mc_id().at(els) == 11) || (trks_charge().at(els_trkidx().at(els)) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_corTrkCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_corTrkCharge->Fill(els_mc_p4().at(els).eta());
// incorrect charge identified
} else {
els_pt_incorTrkCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_incorTrkCharge->Fill(els_mc_p4().at(els).eta());
if ( els_trkidx().at(els) >= 0 ) {
// correct charge identified by track
if ( (trks_charge().at(els_trkidx().at(els)) == -1 && els_mc_id().at(els) == 11) || (trks_charge().at(els_trkidx().at(els)) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_incorCharge_TrkCorrected->Fill(els_mc_p4().at(els).Pt());
els_eta_incorCharge_TrkCorrected->Fill(els_mc_p4().at(els).eta());
}
}
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorCharge_TrkCorrected->Divide(els_pt);
els_eta_incorCharge_TrkCorrected->Divide(els_eta);
good electrons without isolation
for (unsigned int els = 0;
els < els_p4().size(); els++) {
// cut to exclude patological events with true electron pt = 0.
if ( els_mc_p4().at(els).Pt() > 0. ) {
if ( goodElectronWithoutIsolation(els) ) {
els_pt->Fill(els_mc_p4().at(els).Pt());
els_eta->Fill(els_mc_p4().at(els).eta());
// check that associated cft track charge gets wrong charge vs. true electron
// 2.5% of all electrons have to associated trk
if ( els_trkidx().at(els) >= 0 ) {
if ( (trks_charge().at(els_trkidx().at(els)) == -1 && els_mc_id().at(els) == 11) || (trks_charge().at(els_trkidx().at(els)) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_corTrkCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_corTrkCharge->Fill(els_mc_p4().at(els).eta());
// incorrect charge identified
} else {
els_pt_incorTrkCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_incorTrkCharge->Fill(els_mc_p4().at(els).eta());
if ( els_trkidx().at(els) >= 0 ) {
// correct charge identified by track
if ( (trks_charge().at(els_trkidx().at(els)) == -1 && els_mc_id().at(els) == 11) || (trks_charge().at(els_trkidx().at(els)) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_incorCharge_TrkCorrected->Fill(els_mc_p4().at(els).Pt());
els_eta_incorCharge_TrkCorrected->Fill(els_mc_p4().at(els).eta());
}
}
}
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorCharge_TrkCorrected->Divide(els_pt);
els_eta_incorCharge_TrkCorrected->Divide(els_eta);
good isolated electrons
for (unsigned int els = 0;
els < els_p4().size(); els++) {
// cut to exclude patological events with true electron pt = 0.
if ( els_mc_p4().at(els).Pt() > 0. ) {
if ( goodElectronIsolated(els) ) {
els_pt->Fill(els_mc_p4().at(els).Pt());
els_eta->Fill(els_mc_p4().at(els).eta());
// check that associated cft track charge gets wrong charge vs. true electron
// 2.5% of all electrons have to associated trk
if ( els_trkidx().at(els) >= 0 ) {
if ( (trks_charge().at(els_trkidx().at(els)) == -1 && els_mc_id().at(els) == 11) || (trks_charge().at(els_trkidx().at(els)) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_corTrkCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_corTrkCharge->Fill(els_mc_p4().at(els).eta());
// incorrect charge identified
} else {
els_pt_incorTrkCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_incorTrkCharge->Fill(els_mc_p4().at(els).eta());
if ( els_trkidx().at(els) >= 0 ) {
// correct charge identified by track
if ( (trks_charge().at(els_trkidx().at(els)) == -1 && els_mc_id().at(els) == 11) || (trks_charge().at(els_trkidx().at(els)) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_incorCharge_TrkCorrected->Fill(els_mc_p4().at(els).Pt());
els_eta_incorCharge_TrkCorrected->Fill(els_mc_p4().at(els).eta());
}
}
}
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorCharge_TrkCorrected->Divide(els_pt);
els_eta_incorCharge_TrkCorrected->Divide(els_eta);
good isolated electrons including conversion removal
bool conversionElectron(int electron) {
// true if electron is a conversion electron
if( fabs(cms2.els_conv_dist()[electron]) < 0.02 && fabs(cms2.els_conv_dcot()[electron]) < 0.02)
return true;
return false;
}
for (unsigned int els = 0;
els < els_p4().size(); els++) {
// cut to exclude patological events with true electron pt = 0.
if ( els_mc_p4().at(els).Pt() > 0. ) {
if ( goodElectronIsolated(els) ) {
if ( !conversionElectron(els) ) {
els_pt->Fill(els_mc_p4().at(els).Pt());
els_eta->Fill(els_mc_p4().at(els).eta());
// check that associated cft track charge gets wrong charge vs. true electron
// 2.5% of all electrons have to associated trk
if ( els_trkidx().at(els) >= 0 ) {
if ( (trks_charge().at(els_trkidx().at(els)) == -1 && els_mc_id().at(els) == 11) || (trks_charge().at(els_trkidx().at(els)) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_corTrkCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_corTrkCharge->Fill(els_mc_p4().at(els).eta());
// incorrect charge identified
} else {
els_pt_incorTrkCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_incorTrkCharge->Fill(els_mc_p4().at(els).eta());
if ( els_trkidx().at(els) >= 0 ) {
// correct charge identified by track
if ( (trks_charge().at(els_trkidx().at(els)) == -1 && els_mc_id().at(els) == 11) || (trks_charge().at(els_trkidx().at(els)) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_incorCharge_TrkCorrected->Fill(els_mc_p4().at(els).Pt());
els_eta_incorCharge_TrkCorrected->Fill(els_mc_p4().at(els).eta());
}
}
}
}
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorCharge_TrkCorrected->Divide(els_pt);
els_eta_incorCharge_TrkCorrected->Divide(els_eta);