Refactor Trigger Rates Code for MT
This MR starts the process of refactoring the new rates packages to use in MT with some more modern coding patterns.
This package has so far only been extensively used to do MC rates for the P-II TDAQ TDR. But we will use it also for R3 data rates.
Here I...
- Remove having the separate
RatesAnalysis
library andRatesAnalysisExamplesXAOD
component packages. Rather I move the componentExampleRatesFullMenu
into theRatesAnalysis
package where it is now calledRatesAnalysisFullMenu
. The python helper,RatesGetCrossSectionMC.py
, is also moved. -
Gaudi::Property
are used throughout - Tools are setup in Python, not behind-the-scenes by the C++ (cc @tsulaia, removes the need for the incident that you were concerned about)
- New main JO
FullMenu.py
uses aComponentAccumulator
, taking inspiration from the Run3DQTestingDriver.py
- Histograms and class members are managed via
unique_ptr
- Normalisation of histograms is removed as an option. This will always be applied when the output histograms are
hadd
merged and processed to CSV/JSON/XML rates.
cc @lixia, @jmontejo, @markowen - once this is merged we can do e.g. python FullMenu.py --targetLuminosity=2e34 Input.Files="['AOD.pool.root']"
where the AOD is the output of an EB data reprocessing, and hence be closer to having the MT rates pipeline.
Edited by Tim Martin