MC Signal Validation

Last update: 20 Nov 2024 [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

Use a new shell for this part.

dir tutorial/MCTutorial

Set up git so that you get the newer version recommended by ATLAS, rather than the one out of the box on the machine you are using:

lsetup git

Check out the validation package using the following command (if you have your ssh keys set up):

git clone ssh://git@gitlab.cern.ch:7999/atlas-analysis-sw-tutorial/MCValidation.git

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

git clone https://gitlab.cern.ch/atlas-analysis-sw-tutorial/MCValidation.git

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.

dir tutorial/MCTutorial/MCValidation

Set up a recent AnalysisBase release and create the necessary directory structure by calling:

source setup.sh

This command will set up the working area and AnalysisBase release for you; you can look at the contents of the script to see how it does so if you wish.

Running the validation

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

source compile.sh

If there are no errors, use the command:

source build/x86_64*/setup.sh

dir tutorial/MCTutorial/MCValidation/run

Use the run.sh script to run the validation code:

cd run
source run.sh

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.

Checking the output

Open the file submitDir/hist-MCDerivation.root using ROOT:

root submitDir/hist-MCDerivation.root

Look at the histograms h_m_bsm and h_N_el_vs_N_mu. Are these as expected? Does the BSM mass match the mass in the JOs file name? Do the events consist of 2e, 2mu or e+mu decays?

tip When you look at a 2D histogram like h_N_el_vs_N_mu, it is generally useful to draw it with the "colz" option to color the z-axis. Blue indicates few entries and yellow indicates many entries.