A better future with standards
This is just me kicking myself for not doing this sooner. I noticed that @Sawatzky was using this server so I thought I might bring this up again. It is a shame that each experiment has their own "hallc_replay" rather than collaborating and improving the same one.
The dbase/param files work but many problems remain: naming convention, making sure they are properly included in the upstream files, do they have the correct run range, and so on... AFAIK there are no linters for these files.
Without going to a full on database or using data exchange standards (json,yml,toml,etc) it is hard to image the situation improving.
This problem is hardly unique and so there are many possible ways to improve it. Parsing the json is trivial. Note that the current parser is not standard in any way.
There does not seem to be a logical difference between the .param
, .database
, or .kinematics
files other than some assumptions about what is expected in them. The assumptions is why they are so fragile.
It is worth pointing out one thing. The only reason the "hcana" executable is even needed is it manages a few global variables which handle the params and a few other things. If it weren't for this, we could just compile the shared library and use "root". This design is obviously bad and I have figured out some work-arounds in other branches.
Is there any interest in improving this? Should I just let it go and live my life?