Closed chenel closed 9 months ago
Seems the is_primary
thing has fixed itself?
We don't actually need all the true neutrino info via pass-through if we can correctly propagate the vertexID
, so long as we're using GENIE matching. (All the true neutrino info we'd ever want is in GENIE.) So I'm going to back-burner that component for now and focus on the GENIE matching.
We've finally got the vertexID stuff in place with #28, so we can close this one out.
In order to finish testing out ND-LAr ML-Reco branch filling w/ truth matching, there were a number of short-term workarounds necessary for compatibility with MiniRun-3 generation files. These will need to be addressed when upstream fixes land:
vertexID
s are rewritten inedep-sim
to be consecutive and so are not able to be uniquely matched to GENIE events in the .ghep files without using an intermediate file. (This is particularly problematic for rock neutrino events.) This will be fixed in files after MiniRun-4. A workaround that searches for matching particle content (at present: primary lepton energy) is used instead, but this is fairly inefficient.Supera
used by ML-reco tracks only particles, so information unique to neutrino interactions (for example: theirvertexID
) is lost. A workaround using true primary lepton energy is used to match events, but some information is still irretrievably lost. Work is in progress to add the necessarySupera
pass-through class and to fill it usingflow2supera
.There's also a separate problem that's not a hack per se but which also needs to be sorted out:
is_primary
field fortruth_particles
is not being deserialized correctly from ND-LAr reco files. It appears to be stored correctly, and when I view the files withh5py
I see bothtrue
andfalse
values, but via the C++ interface I'm always seeingfalse
.common.ixn.dlp
common.ixn.ndlp
sr.nd.lar.ndlp