13.4. Validation#
The validation of the MC generators is performed to ensure that updates to the framework do not break the generator level particle multiplicities and event shapes. These validations are run automatically when updates are added to the framework and can also be run manually. The output histograms are compared to reference histograms to make sure that nothing has changed.
Warning
In the case of updating to new releases or if changes to the DECAY_BELLE2.dec are implemented it is very likely that the histograms will not agree with the reference. This validation is only a good metric when comparing updates to the same release as the reference histograms.
The different python scripts used for the validation are located at generators/validation/decayfile/
.
13.4.1. Reconstruction Scripts#
There are two reconstruction scripts divided between charged and mixed MC:
MultiplicitiesEventShapeCharged.py
MultiplicitiesEventShapeMixed.py
Parameters#
- input: the input root file, default file for MultiplicitiesEventShapeCharged.py and
MultiplicitiesEventShapeMixed.py are
charged.cdst.root
andmixed.cdst.root
respectively
- output: the output file name, default names for MultiplicitiesEventShapeCharged.py and
MultiplicitiesEventShapeMixed.py are
MCvalidationCharged.root
orMCvalidationMixed.root
respectively
The output file contains three TTrees. The first TTree is the particle multiplicities on generator level, the second
TTree is the particle multiplicities split between if the particle is a daughter
of \(B^+\), \(B^-\), \(B^0\) or \(\overline{B^0}\). They split multiplicity variables are defined as
eventExtraInfo variables in SplitMultiplicities.py
. Finally the last TTree saves the generator level event shapes
defined in the event_shape
collection in Predefined collections.
13.4.2. Validation Histograms#
The validation histograms are created with the following python scripts:
MultiplicityPlotsCharged.py
MultiplicityPlotsMixed.py
SplitMultiplicityPlotsCharged.py
SplitMultiplicityPlotsMixed.py
EventShapePlotsCharged.py
EventShapePlotsMixed.py
13.4.3. Multiplicity Plots#
Save validation histograms of particle multiplicities for genUpsilon4S daughters.
Parameters#
- input: the input root file, default file for MultiplicityPlotsCharged.py and MultiplicityPlotsMixed.py are
MCvalidationCharged.root
andMCvalidationMixed.root
respectively
- output: the output file name, default names for MultiplicityPlotsCharged.py and MultiplicityPlotsMixed.py are
MultiplicityPlotsCharged.root
orMultiplicityPlotsMixed.root
respectively
13.4.4. Split Multiplicity Plots#
Save validation histograms of particle multiplicities split between if the particle is a daughter of \(B^+\), \(B^-\), \(B^0\) or \(\overline{B^0}\).
Parameters#
- input: the input root file, default file for SplitMultiplicityPlotsCharged.py and SplitMultiplicityPlotsMixed.py
are
MCvalidationCharged.root
andMCvalidationMixed.root
respectively
- output: the output file name, default names for SplitMultiplicityPlotsCharged.py and
SplitMultiplicityPlotsMixed.py are
SplitMultiplicityPlotsCharged.root
orSplitMultiplicityPlotsMixed.root
respectively
13.4.5. Event Shapes#
Save validation histograms of event shape variables.
Parameters#
- input: the input root file, default file for EventShapePlotsCharged.py and EventShapePlotsMixed.py are
MCvalidationCharged.root
andMCvalidationMixed.root
respectively
- output: the output file name, default names for EventShapePlotsCharged.py and EventShapeMixed.py are
EventShapePlotsCharged.root
orEventShapelotsMixed.root
respectively
13.4.6. Validation of New Releases#
This section will detail how the MC validation between release 5 and release 6 was performed. The MC samples were
constructed using feature/enable-evtgen-for-using-old-decfiles-old-pythia
(see GitLab for more information)
which enables release 6 to simulate MC with release 5 DECAY_BELLE2.dec. The three samples investigated in the
validation was:
R5D5: Old Evtgen version, Rel 5 dec file, Pythia 6 (generated with release-05-01-10)
R6D6: New Evtgen version (2.00), Rel 6 dec file, Pythia 8 (generated with prerelease-06-00-00b)
R6D5: New Evtgen version (2.00), Rel 5 dec file, Pythia 6 internally converted to Pythia 8 (generated with prerelease-06-00-00b)
This makes it easier to investigate where differences between releases originate from. It is also a good check to see if changes to the DECAY_BELLE2.dec are seen in the MC as expected.