TrackingMultiplet changes to use it for a DUT
Follow-up of the discussion on mattermost: Some changes to use TrackingMultiplet with a DUT (rather than a scatterer) - e.g. for a use case with a scatterer behind the DUT, before the downstream telescope planes.
Contains the following changes:
- gbl refit (Thanks @lhuth !)
- options "require_detectors" and "timestamp_from" (analogous to what exists in Tracking4D)
- update README accordingly
Some more changes necessary to use the Multiplet Tracks for DUT analysis (before, unless the DUT was used for building the Multiplet, DUTAssociation etc would crash with
"Fatal internal error Track Object Multiplet does not have any entry for detector <dut> Cannot continue..."
PixelDetector.cpp / AnalysisDUT / AnalysisTracks:
getStatefor Multiplet tracks (getState is done quite differently for Multiplet tracks than for the others, and will fail for the DUT, unless it is used as one of the upstream or downstream detectors) Not sure if this is the best way to fix this issue, but I also didn't see any obvious less-messy ways to do it differently
Not directly related to the Multiplets, but as I was changing this class anyway for the getState thing...
- why should I not create histos for DUT, if I run this module after DUTassociaton? removed if(d->isDUT())
Few related classes:
- added some debug-level log messages while debugging the changes above (not directly related to the new functionality, so I could remove them again, if you think there's no future use)