Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Moden DELPHI Examples

Quickstart

Use DELPHI software with CMAKE and C++.

The repository contains language bindings for required FORTRAN subroutines and common blocks. Also a simple Analysis class is provided, that can be extended with your analysis program.

WARNING: Work in progress. In particular the Ntuple needs more work.

If required, you have to setup DELPHI software and ROOT from CVMFS

source /cvmfs/delphi.cern.ch/setup.sh
source /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.34.04/x86_64-almalinux9.5-gcc115-opt/bin/thisroot.sh

Check out the repository

git clone https://gitlab.cern.ch/delphi/modern-delphi-examples.git
cd modern-delphi-examples

and build the example program

mkdir build
cd build
cmake ..
make
cd ..

DELPHI Data can be found with fatfind command or the opendata portal. Metadata is encoded in the nickname. In most cases the use of short (LEP1) or xshort (LEP2) is recommaned.

In some cases several processings are available. They are encoded as last part of the nickname, e.g. "c2". The c is specifying the version of the reconstruction programn and the number is the version of the short DST program. Again, in most cases choose the latest version.

List all 94 datasets

fatfind -N ".*94.*"

List the file content of a dataset.

fatfind short94_c2

The nicknames can also be provided as an input to the DELPHI PHDST analysis library. For details see example01.

Some example nicknames are

  • Collision Data from 94: short94_c2
  • Simulation of Z0 into qq decays: sh_qqps_r94_2l_c2

DELPHI data cannot be read remote. If you have no access to CERN, you need to download the datafiles via the opendata portal and run the software stack locally.

Example01

Run PHDST in a FORTRAN environment. Demonstrate the use of patchy with cmake.

Usage:
   ./scripts/example01.sh [--input NICKNAME]  

PHDST docs

Example02

Run the SKELANA example SKELEXA.CAR from FORTRAN

The program has been patched to produce a dimuon and a hadron CSV file.

Usage:
   ./scripts/example02.sh [--input NICKNAME]  

SKELANA documentation

Example03

Run SKELANA and list some quantities. Useful to compare values with Example05, which reads similar values from C++.

Usage:
   ./scripts/example03.sh [--input NICKNAME]  

Example04

Run PHDST from C++.

No need for Patchy, but for the PHDST language bindings.

Usage:
   ./scripts/example04.sh [--input NICKNAME] [--max-events N] [--run-selection] [--select-hadrons]  

Example05

Run SKELANA from C++ and list some quantities

Usage:
   ./scripts/example05.sh [--input NICKNAME] [--max-events N] [--run-selection] [--select-hadrons]  

Example06

Run SKELANA and produce a ROOT Ntuple of some qunatities.

Usage:
   ./scripts/example06.sh [--input NICKNAME] [--max-events N] [--run-selection] [--select-hadrons]