-
Dietrich Liko authoredDietrich Liko authored
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]
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]
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]