MC Signal Validation

Last update: 14 Nov 2022 [History] [Edit]

Before a MC sample can be submitted for central production, it is necessary to validate the physics process to avoid wasting computing resources. Each physics group has its own MC validation and request procedure. This tutorial is meant to show a simple validation to confirm that the JOs is producing the desired physics signature.

Validation is done by navigating the truth record and plotting particle multiplicities and kinematics. The truth record navigation typically requires looking into the parent and child particles from decays. For this exercise, the complex part of navigating the truth record is done for you.

Basic setup

In a new shell, navigate to the MCTutorial directory and check out the validation package using the following command (if you have your ssh keys set up):

git clone ssh://

or, if you don’t have your ssh keys set up, with the following command:

git clone

tip The MC validation code is based on the analysis package material that is presented later in this tutorial. The components of analysis packages will be discussed in detail later. For now, don’t worry about the package setup and just use the provided scripts.

Navigate to the newly checked out MCValidation directory and set up a recent AnalysisBase release and the directory structure by calling:


Running the validation

Begin by compiling the code. This can be done with the command:


If there are no errors, use the command:

source build/x86_64*/

Then navigate to the run directory and use the command:


to run the validation algorithm. This will create a directory named submitDir that contains several files and directories. The file named hist-MCDerivation.root contains histograms showing several validation distributions. data-ANALYSIS/MCDerivation.root contains a TTree that stores similar validation information.

In submitDir/hist-MCDerivation.root, look at the histograms h_m_bsm and h_N_el_vs_N_mu. Are these as expected?