This is TikiWiki 1.9.6 -Sirius- © 2002–2006 by the Tiki community Nov 21, 2009 [07:34]
Menu [hide]
Toggle  Wiki
Toggle  FAQs
TikiWiki Assistant
Thank you for installing TikiWiki!
Click the :: options in the Menu for more options. Please, also see TikiMovies for more setup details.
Munich Software Tutorial 11.0.41
print PDF
English

Munich Software Tutorial 11.0.41

0 Information on the Web

  • The ATLAS homepage ist here
  • The ATLAS Beginners Workbook is here
  • The ATLAS Computing Wiki is here

1 How to find CSC Data

1.1 Information on the web


1.2 Browse the LFC catalog

The LFC (or LCG File Catalog) has been developed by http://lcg.web.cern.ch/LCG/ to resolve problems with the EDG Replica Manager File Catalog.
The File Catalog (or Replica Catalog) maps between the Logical File Name and the Storage URL (or URLs) for files managed by the Grid, e.g.,
Wiki link: http://wiki.gridpp.ac.uk/wiki/LCG_File_Catalog

1.3. Use DQ2 tools

The ATLAS DDM (Distributed Data Management) group is involved in developing a system to manage access to ATLAS data that is distributed at sites all around the world. The new DDM software is named DQ2.
  • Use to DQ2 user client tools:

    source /software/atlas/dq2/dq2_user_client/setup.sh.LMU
    dq2_ls *5145*
    dq2_ls -fg csc11.005145.PythiaZmumu.recon.AOD.v11004103
    dq2_get -rl csc11.005145.PythiaZmumu.recon.AOD.v11004103 csc11.005145.PythiaZmumu.recon.AOD.v11004103._00299.pool.root

  • Make PoolFileCatalog.xml and job-options file for Athena

    dq2_poolFCjobO -pj -d/tmp/<username> csc11.005145.PythiaZmumu.recon.AOD.v11004103



2 How to create an Athena Aware ntuple

2.1 Information on the web



2.2 Create an Athena Aware Ntuple

  • Setup and working area for Athena:
    ssh etppc43
    cd /data/etp/<username>/
    mkdir -p Tutorial/11.0.41
    cd Tutorial/11.0.41
    source /software/atlas/dist-kit/11.0.41/setup.sh
    export CVSROOT=:ext:<cernusername>@atlas-sw.cern.ch:/atlascvs
    export CVS_RSH=ssh
    export CMTPATH=`pwd`:${CMTPATH}
    cmt co -r UserAnalysis-00-05-11 PhysicsAnalysis/AnalysisCommon/UserAnalysis
    cd PhysicsAnalysis/AnalysisCommon/UserAnalysis/UserAnalysis-00-05-11/cmt/
    source setup.sh
    cp /data/etp/elmsheus/Tutorial/files/AnalysisSkeleton.h ../UserAnalysis/
    cp /data/etp/elmsheus/Tutorial/files/AnalysisSkeleton.cxx ../src
    gmake


  • Prepare the jobOption file with the local dataset:
    cd ../run/
    get_files AnalysisSkeleton_jobOptions.py
    cp /data/etp/atlas_mc/csc11/csc11.005151.McAtNloZmumu.recon.AOD.v11004103/PoolFileCatalog.xml .
    cp /data/etp/atlas_mc/csc11/csc11.005151.McAtNloZmumu.recon.AOD.v11004103/files_jobO.py .


    Remove the following lines in AnalysisSkeleton_jobOptions.py:

    EventSelector.InputCollections = [
    "AOD.pool.root"
    ]

    Insert instead in AnalysisSkeleton_jobOptions.py:
    include( "files_jobO.py" )

    And set the following for testing in AnalysisSkeleton_jobOptions.py:
    # Number of Events to process
    theApp.EvtMax = 100

  • Start Athena with:
    athena.py -b AnalysisSkeleton_jobOptions.py

If everything worked fine, you have produced a file AnalysisSkeleton.aan.root, which contains a TTree CollectionTree and several subfolders with basic distibution histograms TH1D.
You can either use your program ''AnalysisSkeleton.cxx" to further improve your analysis and selection and use the histograms to plot your distibution.
The second option is to use the TTree CollectionTree and further develop your selection in ROOT.

3 How to analyse the ntuple with ROOT/PROOF


3.1 Using ROOT

  • To analyse the TTree CollectionTree you can either do this the classic way and process the TTree sequentially in ROOT by:
    root
    [ ] TFile f("AnalysisSkeleton.aan.root")
    [ ] CollectionTree->MakeClass("CollectionTreeClassic")

  • and insert all your analysis code in the method CollectionTreeClassic::Loop() of CollectionTreeClassic.C. There is also documenation how to start the event loop in 'CollectionTreeClassic.C'.

It is strongly adviced to always compile your code before execution in ROOT by using .L CollectionTreeClassic.C++ in the interactive root session. Or even better: write code that runs outside the root-interactive-mode and use the interactive mode only for beautifing your paper plots.

3.2 Information on the web about PROOF


3.3 Prepare PROOF session

To analyse the CollectionTree in parallel with several computing nodes we use PROOF.
  • We need a newer version of root (e.g. v5.10). Open therefor a new terminal window.
    cd /data/etp/<username>/Tutorial/11.0.41/PhysicsAnalysis/AnalysisCommon/UserAnalysis/UserAnalysis-00-05-11/run
    ini cernlib_new
    root-config --version

  • Edit $HOME/.rootrc :
    ProofServ.UseSSH: 1

  • Edit $HOME/.rootauthrc :
    default method ssh pt:no us:<username>

  • Edit $HOME/.rootdaemonrc
    #
    # Everything allowed from the local host (for testing)
    #
    127.0.0.1 4 0 3 1 2 5
    #
    # secure methods allowed by default
    default usrpwd ssh

  • Option 1: Using xinetd
    There is a PROOF master installed on etpopt01 with workers on etpopt01/2/3
    (see /usr/local/root/proof/etc/proof.conf). They are activated automatically via xinetd.
    Skip the next subsection and go to 3.4 and use gROOT->Proof("proofup://etpopt01:1093");

  • Option 2: Using local proofd
    If you'd like to use your own proofd on several different nodes follow the next steps. Only the user who started the proofd can use them.

  • Edit $HOME/.proof.conf:
    node localhost port=1093
    slave etpopt02 port=1092
    slave etpopt03 port=1093


  • start a master proofd on the node where you start your interactive root session with:
    ini cernlib_new (_dev) use at least root v5.06 !!
    proofd -p 1093 -noauth -f (start daemon in foreground, use -d 1/2/3 for debugging)

  • repeat this for every worker node, ie. log on etpopt02/etpopt03:
    ini cernlib_new
    proofd -p 1093 -noauth -f

3.4 Start PROOF

  • Start an interactive root session and generate an PROOF analysis code skeleton:
    root -l
    [ ] TFile f("AnalysisSkeleton.aan.root")
    [ ] CollectionTree->MakeSelector("CollectionTree")

  • Have a look at CollectionTree.C and understand the code.
    Copy the modified CollectionTree.C/h and the prooftest.C macro files from:
    cp /data/etp/elmsheus/Tutorial/files/prooftest.C .
    cp /data/etp/elmsheus/Tutorial/files/CollectionTree.C .
    cp /data/etp/elmsheus/athena/Tutorial/files/CollectionTree.h .

    The macro prooftest.C looks like:
    {
    gROOT->Proof("localhost:1093");
    //gROOT->Proof("proofup://etpopt01:1093");
    //gProof->SetLogLevel(4);
    TDSet *set_mc = new TDSet("TTree","CollectionTree");
    //TChain *set_mc = new TChain("TTree","CollectionTree");
    set_mc->Add("AnalysisSkeleton.aan.root");
    set_mc->Process("CollectionTree.C+");
    }

  • Start prooftest.C with:
    .x prooftest.C


Created by: Johannes.Elmsheuser last modification: Monday 24 of April, 2006 [14:25:18 UTC] by Johannes.Elmsheuser


RSS Wiki
[ Execution time: 0.47 secs ]   [ Memory usage: 7.49MB ]   [ 48 database queries used ]   [ GZIP Enabled ]   [ Server load: 0.00 ]