Feature #22147

Updated by Kyle Knoepfel 10 months ago

I see an example of calling art::Event::getManyByType in larsim/LArG4/, and
would like to use it to read in many instances of artdaq::Fragments. I might know all their labels, but want to be prepared for a case where I want to read all of them in, even with new labels I haven't seen before (the daq group might throw us some curveballs).

I'd like to do some selection on the labels as I am not interested in reading in all fragments, and I would like to even call removeCachedProduct in between processing each of these fragments
in order to save memory. I'd therefore rather not have all of the products read in by getManyByType in memory all at once.

A proposed solution: a new function (or some way to call existing functions) that gets all the labels of branches containing a specified data product that we can use as input to GetValidHandle or GetByLabel. The function should not read the contents of the data products into memory, just give us the labels. We still have to give it an example handle so it knows what data product to look for.