META TOPICPARENT |
name="OliverGutsche" |
Electron Charge Misidentification
updates
- 090501
- increase statistics to 30k events
- added goodElectronIsolated plots, not much difference to goodElectronWithoutIsolation
- added goodElectronIsolated including conversion removal plots, reduction mostly in forward region
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());
// correct charge identified
if ( (els_charge().at(els) == -1 && els_mc_id().at(els) == 11) || (els_charge().at(els) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_corCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_corCharge->Fill(els_mc_p4().at(els).eta());
// incorrect charge identified
} else {
els_pt_incorCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_incorCharge->Fill(els_mc_p4().at(els).eta());
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorCharge->Divide(els_pt);
els_eta_incorCharge->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 ( goodElectronIsolated(els) ) {
els_pt->Fill(els_mc_p4().at(els).Pt());
els_eta->Fill(els_mc_p4().at(els).eta());
// correct charge identified
if ( (els_charge().at(els) == -1 && els_mc_id().at(els) == 11) || (els_charge().at(els) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_corCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_corCharge->Fill(els_mc_p4().at(els).eta());
// incorrect charge identified
} else {
els_pt_incorCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_incorCharge->Fill(els_mc_p4().at(els).eta());
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorCharge->Divide(els_pt);
els_eta_incorCharge->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());
// correct charge identified
if ( (els_charge().at(els) == -1 && els_mc_id().at(els) == 11) || (els_charge().at(els) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_corCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_corCharge->Fill(els_mc_p4().at(els).eta());
// incorrect charge identified
} else {
els_pt_incorCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_incorCharge->Fill(els_mc_p4().at(els).eta());
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorCharge->Divide(els_pt);
els_eta_incorCharge->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());
// correct charge identified
if ( (els_charge().at(els) == -1 && els_mc_id().at(els) == 11) || (els_charge().at(els) == 1 && els_mc_id().at(els) == -11) ) {
els_pt_corCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_corCharge->Fill(els_mc_p4().at(els).eta());
// incorrect charge identified
} else {
els_pt_incorCharge->Fill(els_mc_p4().at(els).Pt());
els_eta_incorCharge->Fill(els_mc_p4().at(els).eta());
}
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorCharge->Divide(els_pt);
els_eta_incorCharge->Divide(els_eta);
|