Reduce the number of `bind` statements needed: improved configuration (derivation) of SourceIDs
If a function 'f' calls a function 'g' where 'g' is a @configurable, remove any arguments from 'f' which are solely used to call 'g', if they are 'configurable' by binding 'g'.
This removes the need to (consistently!) bind both 'f' and 'g', and instead only requires 'g' to be bound. Basically, bind-able arguments which only exist to configure layers 'below' the current should not be there.
long version:
- add dedicated python 'HltSourceID' enum, and add a single mapping of InputProcessTypes to HltSourceID. Use this 'HltSourceID' enum to verify the validity of arguments.
- remove the stream and input process arguments from
get_odin: there can be only one ODIN, and other than having to know from whichRawEventit must be created (which requires configuringdefault_raw_event, not configuringget_odin) there is nothing to be configured. - remove arguments from
get_mc_track_infothat are never used - remove arguments from
default_raw_bankswhich are solely used to configuredefault_raw_event - remove arguments from
dstdata_filterwhich are solely used to configuredefault_raw_bankswhich are then solely used to configuredefault_raw_event - add a (currently unused)
sourceargument todstdata_filterwhich should be used to select the sourceID of the DstData raw bank on which the filter is applied - remove arguments from
upfront_decoderwhich are solely used to configuredefault_raw_bankswhich are then solely used to configuredefault_raw_event - remove arguments from
get_odin - remove
input_processandstreamarguments fromget_hlt_reports, and add asourceargument to filter the provided RawBanks which are provideddefault_raw_banks, which uses an appropriately configureddefault_raw_event(i.e. only the latter depends on stream / input_process) - remove duplicate mention of
input_processinoptions-- now it only appears once instead of twice...
Must be applied in conjunction with Moore!2276 (merged), Analysis!979 (merged) and DaVinci!898 (merged)
Edited by Gerhard Raven