Preface/Requirements

This tutorial aims to demonstrate, how simulation and analysis can be performed with the PandaRoot framework. The example channel is

p pbar -> J/psi (-> mu+mu-) pi+ pi-

The analysis part will cover

  • Data access

  • Particle Identification

  • Combinatorics

  • MC truth match

  • Fitting with 4 constraint (4C), vertex constraint, mass constraint

The tutorial is based on trunk and is meant to be an all time running tutorial. All macros and necessary files can be found under tutorials/rho and macros/master. Last test of this tutorial was done Mar. 2022.

Installation of PandaRoot

In order to install PandaRoot and the external packages, please follow the instructions under https://git.panda.gsi.de/PandaRootGroup/PandaRoot/-/tree/dev/docs/Installation. After installation of the libraries, you can create a folder in an arbitrary place and copy all files from tutorials/rho to this place.

General Documentation of Rho classes

There is a wiki page available under which more detailled information about the Rho classes is available. Please follow https://panda-wiki.gsi.de/foswiki/bin/view/Computing/PandaRootAnalysisJuly13

Files in directory tutorials/rho

All things we are going to use and run are located in the directory tutorials/rho.

You’ll find the following files in this directory:

  • for event generation
    • pp_jpsi2pi_jpsi_mumu.dec - decay file specifying the signal decay channel

  • for running the simulation, digitization, reconstruction, and PID
    • tut_sim.C - Simulation (transport) of the generated events

    • tut_aod.C - Digitization, reconstruction and pid assignment of simulated data; this is the analysis-objects-data level (AOD).

    • tut_runall.sh - Shortcut shell script to run the two macros above for sim/digi/reco/pid macros

    • tut_fastsim.C - Run fast simulation (this skips the Geant based detailed simulation and transport, but only does smearing and acceptance cuts).

    • qfsana.C - Does fast simulation and analysis in one simple step

  • for analysis
    • auxtut.C - Some auxilliary functions for analysis

    • tut_ana_comb.C - Basic combinatorics

    • tut_ana_pid.C - Particle identification (PID)

    • tut_ana_mcmatch.C - Monte carlo truth match

    • tut_ana_mclist.C - Monte carlo truth list access

    • tut_ana_fit.C - Kinematic/vertex fitting

    • tut_ana.C - Combinatorics, PID, MC truth match and fitting all together

    • tut_ana_ntp.C - Example for using ntuple for analysis

    • tut_ana_fast.C - Does the complete analysis on the fast simulation output

    • qana.C - Simple one line macro call for a complete ntuple analysis.

    • tut_makegifs.C(_file_, _type_) - simple macro producing images with ending _type_ (“gif”, “pdf”, “png”,…) from all histograms in _file_

  • for running analysis in a !FairTask
    • PndTutAnaTask.h - Header file of the analysis class

    • PndTutAnaTask.cxx - Source file of the analysis class

    • CMakeLists.txt - necessary to build library

    • tutrhoLinkDef.h - necessary to build library

    • tut_ana_task.C - Macro to run the analysis task