WIP: Update Track Labelling
As discussed in meetings [e.g. here], the current track labelling in the PerformanceFramework could be improved:
- Definition of a B hadron track is not harmonised with tracking CP (who use this tool).
- More granularity in track categories will allow for more advanced studies (e.g. looking at "Fake B" tracks or "Geant B" tracks).
Changes
- The old
v_jet_trk_orig
branch (filled inBHadronBranches.cxx
) has been renamed tov_jet_trk_orig_old
. Keeping the information for now as it contains double b-tagging origin support which is not included in the new labels. - Add a copy of the
InDetTrackTruthOriginTool
from master. Versions in the current analysis releases don't contain recent updates which improve the "From B" labels. These files (btagAnalysis/src/components/IInDetTrackTruthOriginTool.h
etc) can be easily removed in the future when using r22 analysis releases. - Add two branches in
TrackBranches.cxx
,truth_origin
andtruth_label
.truth_origin
saves directly the output from theInDetTrackTruthOriginTool
, which is a bitwise flag giving inclusive labels for all the categories defined inbtagAnalysis/src/components/InDetTrackTruthOriginDefs.h
. As discussed, more useful for FTAG will be exclusive labels which are generated by theTrackBranches::get_track_label(...)
function, which using a three digit scheme suggested by Valerio (see below). - Because I had problems running the
BTagTrackAugmenter
(previously noted here), I downgraded the Athena release from 21.2.87.0 to 21.2.38.0, and run with some modified jobOptions*_nom.py
borrowed from @srettie (I also had to modify the accessorsBTagTrackAccessors.hh
). Any ideas on how to fix this and run with the standardsetup.sh
script andjobOptions.py
please let me know!
Three digit exclusive track labelling scheme
One possible proposal for me for an exclusive labelling would be the following. I use a 3 digit code for easy regexp
0: pu/fake : no match to a truth particle whatsoever of TMP<0.xx(*) with 0.xx a very low number
1: good geant: TMP>0.75(**) && isGeant
2: fake geant : TMP<0.75 && isGeant
3: good lepton: isELE/MUON && !isGeant && TMP>0.75
4: fake lepton : isELE/MUON && !isGeant && TMP<0.75
5: good hadron: !isELE/MUON && !isGeant && TMP>0.75
6: fake hadron : !isELE/MUON && !isGeant && TMP<0.75
+10: if the matched truth particle can be traced back to a weakly decaying D-hadron
+100: if the matched truth particle can be traced back to a weakly decaying B-hadron
so a well matched semileptonic D hadron decay from a B will be: 113.