MuonPhysValMonitoringTool - add more data to output TTree
Add a new functionality and fix a minor bug in the muon physics validation code.
-
The main muon physics validation tool, MuonPhysValMonitoringTool, can now save various interesting properties of reconstructed and truth muons as well as some key EventInfo variables in ROOT TTree objects. The TTree objects are then saved in muon physics validation ntuples. They can be used for an event-by-event based investigation of muon simulation and reconstruction software updates. A TTree object is owned by the MuonTree class, which is almost completely updated. This class is responsible to create/set TTree branches, fill them and do all necessary operations on the branch variables (its own member variables). A pointer of the MuonTree type is added to the MuonValidationPlots class as well as the new wrapper methods to call the methods of the MuonTree class. Via its member MuonValidationPlots objects the main tool, MuonPhysValMonitoringTool, creates a MuonTree object (hence, a TTree object) for each muon category; passes an EventInfo object and reconstructed muon (and truth muon if MC) objects to the MuonTree object for further processing for each event; saves all TTree objects in an output ntuple at the end of run. The setting of the corresponding flag of MuonPhysValMonitoringTool to turn on/off cartoon and saving of TTree objects is added into the main jobOptions file of muon physics validation.
-
Fix duplicated scaling of statistical uncertainties of bins of the muon physics validation histograms when normilizing them to one in the validator.py macro.