Closed cjbacchus closed 2 years ago
My opinionated self:
- Are we counting number of spills properly in data, analogous to MC's
nGenEvent
? I think the BNB accounting gives us the mechanism to do that, but I don't think we actually propagate the info all the way through
I somehow doubt it. The information is expected to be in sbn::ExtraTriggerInfo (I think that is gateCountFromPreviousTrigger
), and maybe @jzettle knows whether it is filled at all by ICARUS trigger decoder.
Then whether it is propagated to CAF is yet another question.
- We have
first_in_file
andfirst_in_subrun
flags at the moment. I think they only support this use-case. Should we scrap them and just make the test be "pot field is non-empty"?
I would encourage to get rid of them. Their name is misleading, too, as they actually mark a art (sub)run transition that happens at any input and output file change (and, kindly, on (sub)run changes too).
- If you apply a slice cut in FileReducer that removes all slices, the containing spills will still be kept, with the slice list emptied out. The only way to remove spills and get this husk state is with a spill cut. Should we add some kind of "drop zero-slice spills" option to FileReducer?
Too much of a user question for me to have a motivated opinion... ~An alternative that is not the same (but shares one relevant effect) is to allow skipping the preservation of POT information into the reduced files, and in that case the husk
bit may be reset. Then slice lists with husk
bits false
can be unconditionally dropped.
Not sure if this makes any sense...~ [edit: reading the code and re-reading the description I realize that the implementation is different from an earlier draft we talked about and which i was thinking of]
...tag them as "husks" and make CAFAna skip those records.
Depends on https://github.com/SBNSoftware/sbnanaobj/pull/40 which adds the flag in question
This still needs to be tested. I am struggling a little because of the tortured git history of the SRBNBInfo object. Easiest thing I think is to get that part merged back into main.
has_husk
check work properly? On regular and FlatCAFs?Observations
nGenEvent
? I think the BNB accounting gives us the mechanism to do that, but I don't think we actually propagate the info all the way throughfirst_in_file
andfirst_in_subrun
flags at the moment. I think they only support this use-case. Should we scrap them and just make the test be "pot field is non-empty"?