CTF track associated to Electron Charge Misidentification
updates
- 090501
- check that 2.5% of electrons don't have associated trk
- check charge misidentification of ctf track associated to electron relative to true electron, in general smaller than reco electron misidentifaction
Input, 30k single particle gun electrons (2 electrons per event, antiPartilce = true)
uaf-4:/data/tmp/yanjuntu/singleElectron_ntuple_v3_30000.root
Electron track association
- 2.5% of all electrons in the nutple don't have a track associated (=els_trkidx=-999)
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());
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorTrkCharge->Divide(els_pt);
els_eta_incorTrkCharge->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());
}
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorTrkCharge->Divide(els_pt);
els_eta_incorTrkCharge->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());
}
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorTrkCharge->Divide(els_pt);
els_eta_incorTrkCharge->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());
}
}
}
}
}
}
eta and pt
electron misidentification percentage in eta and pt
els_pt_incorTrkCharge->Divide(els_pt);
els_eta_incorTrkCharge->Divide(els_eta);