Important notice: opendata-dev.cern.ch is a development server. Please use it for testing purposes only. The content may be erased at any time. Please use opendata.cern.ch for production.
FIXME: Introduce table of contents
This quick start guide is meant as a guide for the very first steps to get going with DELPHI software and data access.
The DELPHI stack consists of the following modules:
Please read and accept the data access rules.
DELPHI data access rules are available here, or from the DELPHI web pages.
Please read these before accessing the DELPHI software and data.
There are two possible ways to access the software stack.
A docker container is available which ships with all the modules installed. Please take a look here
Binaries are also available from CVMFS, for a variety of different Linux flavors. There are no native Windows or Apple ports available for the time being.
This method is convenient if you are running a desktop or a virtual machine with one of the supported Linux flavors on it.
You will need to have:
Please check the instructions at https://cvmfs.readthedocs.io/en/stable/cpt-quickstart.html and https://eoscta.docs.cern.ch/install/eos/ and https://eos-web.web.cern.ch/eos-web.
For C-Shell (csh, tcsh ), do
source /cvmfs/delphi.cern.ch/setup.csh
For Bourne shell (sh, bash, zsh, ...), type
. /cvmfs/delphi.cern.ch/setup.sh
/etc/profile.d/delphi.sh
or /etc/profile.d/delphi.csh
instead.
After sourcing the environment, make sure that the environment variable DELPHI_DATA_ROOT points to the tip of the data area. This is specifically important if you copied the data sets you want to use locally. The default is /eos/experiment/delphi/castor2015
.
DELPHI manuals and notes are available from https://cds.cern.ch/
Here is a selection for getting started:
The sources are available on https://gitlab.cern.ch/delphi. Some modules still requires CERN authentication. The plan is to release the software in the near future.
The DELPHI stack is mostly written in Fortran, with some bits written in C. Only gfortran and GNU gcc are supported. We use the gfortran version which comes with the supported operating system.
The collaboration main contact for data preservation is the mailing list DELPHI-data-preservation-board@cern.ch. Support can only be given on a best effort basis. Suggestions and feedback is of course welcome!
Some basic examples of how to run the software stack and perform various tasks can be found in the /cvmfs/delphi.cern.ch/examples
tree.
In the following, we will * Create some Monte Carlo events and run simulation, reconstruction and DST production on them * First, we will show how to do so interactively * Then, how to do this on the batch farm at CERN * Show how to read the result from an analysis job
Simulation is reconstruction code is supported for all the years 1992 and later. The code differs a bit for each of the years.
For creating a few events with a build-in generator run
runsim -VERSION va0u -LABO CERN -NRUN 1000 -EBEAM 45.625 -igen qqps -NEVMAX 10
It will as well pass the events through the detector simulation with the following settings:
The events will be reconstructed and an extended short DST file will be created, which is ready for analysis.
Created files:
In principle, analysis code can be run as well on the full DST output, however, this requires that a bunch of modules and fixes have to be rerun on top of the data, before they can be used.
In this case the generator is run externally and the output is written to a file in a specific format. This can then be passed through the detector simulation with
runsim -VERSION va0u -LABO CERN -NRUN 1000 -EBEAM 45.625 -gext generated.lund -NEVMAX 10
A source code example of DELPHI tuned Pythia can be found in the example tree.
The following script can be run interactively or submitted to a batch farm with DELPHI setup
#!/bin/bash
pgm=skelana
export DELLIBS=`dellib skelana dstana pxdst vfclap vdclap ux tanagra ufield bsaurus herlib trigger uhlib dstana`
export CERNLIBS=`cernlib genlib packlib kernlib ariadne herwig jetset74`
echo "+OPTION VERbose" > $pgm.cra1
echo "+USE, ${PLINAM}." >> $pgm.cra1
cat $DELPHI_PAM/skelana.cra >> $pgm.cra1
# modify
ycmd=`which nypatchy`
command="$ycmd - $pgm.f $pgm.cra1 $pgm.ylog $pgm.c - - ${pgm}R.f .go"
echo "Running $command"
eval $command
# compile
for ending in .f .F ; do
ls *$ending >/dev/null 2>&1
if [ $? -eq 0 ]; then
for file in *$ending ; do
$FCOMP $FFLAGS -c $file
done
fi
done
for ending in *.c *.C *.cc ; do
ls *$ending >/dev/null 2>&1
if [ $? -eq 0 ]; then
for file in *ending ; do
$CCOMP $CFLAGS -c $file
done
fi
done
# link
$FCOMP $LDFLAGS *.o -o $pgm.exe $ADDLIB $DELLIBS $CERNLIBS
# cleanup
rm -f *.f *.c *.o
# create input file
echo "FILE = simana.xsdst" > ./PDLINPUT
# execute
./$pgm.exe 1>$pgm.log 2>$pgm.err
This simple script will:
DELPHI data is organised in data sets which are identified via a nickname. When using opendata, each nickname comes with a corresponding DOI which you can quote.
To analyse data, use the nicknames which you can find at http://delphiwww.cern.ch/offline/data/castor/html. In this case, the PDLINPUT file created by the script above should contain the keyword PDL, followed by the nickname, e.g.
FAT = short94_c2
The DELPHI event server can be used to pick and reprocss individual events from raw data. It supports different modes:
The wired option is no longer supported as the wired code no longer exists.
Example:
des -m dstana -e 84078:10815
R84078_E10815.dst
dstana.dst
Note: Running the event server requires access to the DELPHI raw data sets.
After setting up the DELPHI environment you can start the DELPHI event display with
rungra
More examples can be found at https://gitlab.cern.ch/delphi/examples.