Clean up hit config a bit
This is my attempt to disentangle two aspect of using "hits" in this code. Previously in the json configuration we had:
- An optional object in the top level configuration that specifies the hit parameters
- Another bool switch in the
decorators
configuration that turned on hit decorations in the jets
The switch had to be set to true
and the block had to exist for the decorations to be added, because without the parameters it wasn't clear what decorations should be applied. With this change I'm making adding the decorations conditional on the block existing: clearly without it we can't write anything, and even with it we can still avoid writing decorations by removing them from the jet_int_variables
.
I also created separate configuration structures for the hit writer and the decorator. Right now they share some parameters (they are assigned to both when the json configuration is read in), but I wanted to keep these things separated in case we start adding a lot more configurable parameters. Beyond that I made it impossible to create the hit decorator class without passing it a configuration, similar to what we do with a lot of other tools here.
@sargyrop, does this change make sense to you?