Public homepage
Who's who?

People

Institutes

Physics groups

Detector & Data

Detector

Components

Luminosity

Computing

Physics Results

Overview

Misc.

Selected links

Lectures

MPP ZEUS page

MPP home page

MPP ZEUS page

MPP ZEUS members

Public homepageInternal homepage

ZEUS Data Preservation project at Max-Planck Institut für Physik

Software packages

There are four most important sets of software packages in the ZEUS environment: analysis framework, event display, file catalog and Monte Carlo generation chain. This software was packaged and can be found on the DVD image, see chapter Virtual Machine for details.
  1. The analysis software used for ZEUS analysis is PAW and ROOT version 5. The corresponding manulas are available in PostScript for PAW and in pdf for ROOT. However, due to carefully selected structure of the preserved data, the data analysis can be completely done using the modern ROOT6.
  2. The event display for ZEUS is called ZeViS. The repository with sources is available at GitHub https://github.com/andriish/zevis. Please note that this is not a public repository, please send an e-mail to andrii.verbytskyi@nospam@mpp.mpg.de to join the repository on GitHub. The sources of the latest release ZeViS 3.16 are available here: ZEUS software The required password is the paswword used for the ZEUS web pages. ZeVis has been tested on RedHat7, RedHat8, MacOSX and Windows systems. The explicit instructions to how to compile ZeVis for these systems are in the README.md file in the source tarball. The command to run ZeViS is zevis. ZeViS uses environment variables ZEVISDIR and CNDATAPREFIX which correspond to the location of zevis auxialiry files (i.e. event lists) and the prefix for the location of the common ntuple files. For the usage of MPCDF grid storage it is also neccessary to use Grid certificate. See chapter ZEUS data access for details. Below you find an example of ZeViS running on CentOS7 machine (lxplus.cern.ch) and reading ZEUS data from MPCDF dCache. some_text Note: grid proxy was initialized with
    [user@lxplus715 build]$ voms-proxy-init -voms zeus --vomses ~/Z/share/zevis/vomses/zeus-grid-voms.desy.de
    
    , the data location was set with
    [user@lxplus715 build]$ export CNDATAPREFIX=gsidcap://grid-srm.rzg.mpg.de:22128/pnfs/rzg.mpg.de/data/zeus/
    
    and ZeVis itself was called with
    [user@lxplus715 build]$~/Z/bin/zevis
    
  3. The filecatalog for the ZEUS data is called CNINFO. The repository with sources is available at GitHub https://github.com/andriish/CNINFO. Please note that this is not a public repository, please send an e-mail to andrii.verbytskyi@nospam@mpp.mpg.de to join the repository on GitHub. The sources of the latest release CNINFO 1.02 are available here: ZEUS software The required password is the paswword used for the ZEUS web pages. CNINFO has been tested on RedHat7, RedHat8 and MacOSX systems. The explicit instructions how to compile CNINFO for these systems are in the README.md file in the source tarball. The utility cninfo_old is implemented in shell and uses the text database. The location of the database is set in environment variable CNTXTDB. Below an example is shown how to query information on available samples. Note: this is NOT supported and NOT recomended for usage, but is valuable as a historical artefact.
    [user@machine ~]$ ~/Z/bin/cninfo --help
    Using CNTXTDB=/afs/desy.de/user/z/zdata/public/cninfo_dbase.test7
    Usage: cninfo -q [a]                                                                                           
           cninfo -v comntp_version -t type -s sample [OPTIONS] -r runrange                                        
           cninfo -v comntp_version -t type -s sample [OPTIONS] -f                                                 
    Query options:                                                                                                 
            -q, --query             Query information about available current versions                             
    Mandatory options:                                                                                             
            -v, --version version   Use this common ntuple version.                                                
            -t, --type type         Select only specified type of files (root, paw or log)                         
            -s, --sample            Select specified sample.                                                       
    Additional options:                                                                                            
            -f, --full              Use all data available for this version (mandatory for MC samples)             
            -p, --path              Print full paths to files                                                      
            -r, --range Run1 Run2   Use run range from Run1 to Run2                                                
            -z, --zaconcards        Produce input control.cards for zacon (only for ROOT files)                    
            -c, --chain             Produce C++ code with chain definition (only for ROOT files)                   
            -h, --help              Show this help                                                                 
                                                                                                                   
    Examples:                                                                                                      
    1. Query available samples:                                                                                    
        cninfo -q                                                                                                  
        cninfo -q -v v08b                                                                                          
    2. For data you can specify run range or full sample:                                                          
        cninfo -v v03a -t root -s 07p -r 62555 62589                                                               
        cninfo -v v03a -t root -s 07p -f                                                                           
    3. For MC you can only specify full sample:                                                                    
        cninfo -v v02e -t root -s ariadne_high_Q2_NC_0607p -f                                                      
        cninfo -v v02e -t root -s ariadne_high_Q2_NC_0607p -f -p                                                   
        cninfo -v v02e -t root -s ariadne_high_Q2_NC_0607p -f -z                                                   
        cninfo -v v02e -t root -s ariadne_high_Q2_NC_0607p -f -c                                                   
                                                                                                                   
    [user@machine ~]$ 
    
  4. The cninfo utility is implemented in C++ and uses the SQLite3 database. The location of the database is set in environment variable CNSQLITEDB. Below an example is shown how to query information on available samplesusing this utility installed in ~/Z.
    [user@machine CNINFO]$ ~/Z/bin/cninfo_sqlite 
    Using CNSQLITEDB=/home/user/Z/share/CNINFO/CNINFO_sqlite3.db
    Using CNDATAPREFIX=dcap://dcap.desy.de/pnfs/desy.de/usr/zeus/
    Wrong syntax.
    Usage: cninfo_sqlite -q [a]                                                                                           
           cninfo_sqlite -v comntp_version -t type -s sample [OPTIONS] -r runrange                                        
           cninfo_sqlite -v comntp_version -t type -s sample [OPTIONS] -f                                                 
    Query options:                                                                                                 
            -q, --query             Query information about available current versions                             
    Mandatory options:                                                                                             
            -v, --version version   Use this common ntuple version.                                                
            -t, --type type         Select only specified type of files (root, paw or log). Defaults to root.      
            -s, --sample            Select specified sample.                                                       
    Additional options:                                                                                            
            -f, --full              Use all data available for this version (mandatory for MC samples)             
            -p, --path              Print full paths to files                                                      
            -r, --range Run1 Run2   Use run range from Run1 to Run2                                                
            -z, --zaconcards        Produce input control.cards for zacon (only for ROOT files)                    
            -c, --chain             Produce C++ code with chain definition (only for ROOT files)                   
            -h, --help              Show this help                                                                 
    New options (2016):                                                                                            
            -d, --database          Database location. Defaults to  CNSQLITEDB environment variable.               
            -x, --prefix            Prefix for the files. Defaults to  CNDATAPREFIX environment variable.          
            -n, --new               Create new database.                                                           
            -A, --addsubsample      Add subsample to database                                                      
            -a, --addfile           Add file to database                                                           
            -D, --debug             Turn on debug messages                                                        
                                                                                                                   
    Examples:                                                                                                      
    1. Query available samples:                                                                                    
        cninfo_sqlite -q                                                                                           
        cninfo_sqlite -q -v v08b                                                                                   
    2. For data you can specify run range or full sample:                                                          
        cninfo_sqlite -v v03a -t root -s 07p -r 62555 62589                                                        
        cninfo_sqlite -v v03a -t root -s 07p -f                                                                    
    3. For MC you can only specify full sample:                                                                    
        cninfo_sqlite -v v02e -t root -s ariadne_high_Q2_NC_0607p -f                                               
        cninfo_sqlite -v v02e -t root -s ariadne_high_Q2_NC_0607p -f -p                                            
        cninfo_sqlite -v v02e -t root -s ariadne_high_Q2_NC_0607p -f -z                                            
        cninfo_sqlite -v v02e -t root -s ariadne_high_Q2_NC_0607p -f -c                                            
    4. Manipulations with data dase                                                                                
    a. Create a DB:                                                                                                
        cninfo_sqlite -d ./MY_database.db   -n                                                                     
    b. Add Monte Carlo subsample with root files "more_mc_from_me" to an existing sample "ariadne_high_Q2_NC_0607p" in DB: 
        cninfo_sqlite -d ./MY_database.db   -A   "'ariadne_high_Q2_NC_0607p','07p','more_mc_from_me','root'"                 
    c. Create  Monte Carlo sample "ariadne_high_Q2_NC_0607p" with root files and subsample "more_mc_from_me" in DB:        
        cninfo_sqlite -d ./MY_database.db   -A   "'ariadne_high_Q2_NC_0607p','07p','more_mc_from_me','root'"                 
    d. Add root file to subsample 'more_mc_from_me':                                                               
        cninfo_sqlite -d ./MY_database.db   -a   "'/acs/z/ntup/07p/v08b/mc/ntp/zeusmc.hfix627.f10688.grape_ela_2pt_0_5k12_15.root','mc','root',50000,0.0,126063847,'2014-01-22_21:01:37','more_mc_from_me',0,0,'Some comment BH_el_PHP_0607p',50000" 
    [user@machine CNINFO]$ 
    [user@machine CNINFO]$ ~/Z/bin/cninfo_sqlite -v v02e -t root -s ariadne_high_Q2_NC_0607p -f -p | head  -n 20
    option -v with value `v02e'
    option -t with value `root'
    option -s with value `ariadne_high_Q2_NC_0607p'
    option -f with value `(null)'
    option -p with value `(null)'
    Using CNSQLITEDB=/home/andriish/Z/share/CNINFO/CNINFO_sqlite3.db
    Using CNDATAPREFIX=dcap://dcap.desy.de/pnfs/desy.de/usr/zeus/
    Q: select request from  user_versions  where user_version='v02e'  and user_versions.year='ariadne_high_Q2_NC_0607p'
    Q: select *  from files  where version='v02e_v2008a.1.MC.num07t3.0_ariadne_high_Q2_NC_07p'  and ftype='root'  order by name;
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0003.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0066.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0069.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0095.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0159.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0169.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0172.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0210.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0215.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0228.root
    dcap://dcap.desy.de/pnfs/desy.de/usr/zeus//z/ntup/07p/v02e/mc/root/zeusmc.afsy627.e11911.nc.dja.ari.5d.07p.100.0345.root
    [user@machine CNINFO]$
    
    
    The cninfo_sqlite utility can be used to create new database entries, i.e. for a newly generated Monte Carlo samples. Please see chapters ZEUS Monte Carlo events generation with old generators and ZEUS Monte Carlo events generation with new generators for details.
  5. In addition CNINFO package provides a header CNDataBase.h, which can be easily used in the analysis (in the ROOT interpreter or regular C++ code).