The ATLAS offline tutorial is being presented regularly at CERN, but it is also possible to do the exercises yourself. It gives a good overview over the different tools that are available for physics analysis with ATLAS data. During the tutorial there are informational talks about the tools and data, as well as a lot of hands-on programming.

First a few useful links:

Tutorials

Useful pages for doing analyses

Tools, overview (on lxplus, after initial setting up - see offline workbook for that)

athena

setup athena

 source ~/cmthome/setup.sh -tag=15.4.0,setup,32 
(or whichever version you want instead of 15.4.0) If you run into an error message like:
AtlasLogin: Configuration problem - CMTCONFIG (i686-slc5-gcc34-opt) not available for /afs/cern.ch/atlas/software/builds/AtlasOffline/15.4.0
add the option
overrideConfig
to the source setup.

setup athena job options (to produce events)

source cmthome/setup.sh -tag=15.4.0,AtlasProduction,setup,releases,32 

run example

athena jobO_1.py jobO_2.py jobO_3.py 

grid

setup

source /afs/cern.ch/project/gd/LCG-share/current/etc/profile.d/grid_env.sh 
voms-proxy-init --voms atlas 

submit to grid directly

Usually you use an interface such as ganga or pathena, but you can submit to the grid directly (similar to the tier3).
Create a file with a jdl ending like:
#############Hello World#################
Executable = "/bin/echo";
Arguments = "Hello welcome to the Grid ";
StdOutput = "hello.out";
StdError = "hello.err";
OutputSandbox = {"hello.out","hello.err"};
VirtualOrganisation = "atlas";
######################################### 
and submit:
glite-wms-job-submit -a -o jobIDfile helloworld.jdl 

check status

glite-wms-job-status -i jobIDfile

retrieve output

glite-wms-job-output -i  jobIDfile --dir jo

ganga (grid)

idea

The idea of ganga is that a program can be submitted to different backends without changing it.
Possible backends are: local, LCG, panda.

setup

 source /afs/cern.ch/sw/ganga/install/etc/setup-atlas.sh 

start

 ganga 

submit python script (example)

j = Job()
j.application=Athena()
j.application.option_file='$HOME/LOCATION/HelloWorldOptions.py'
j.application.prepare()
j.application.max_events=10
j.backend=LCG()
j.submit() 

check status

within ganga, do
jobs
or if you know the number, do
jobs(NUMBER)

find output in your gangadir/home

$HOME/PLACE/gangadir/workspace/NAME/LocalAMGA/NUMBER

panda (grid)

idea

Panda is nice for monitoring jobs, but submission to LCG is usually faster! pathena allows to submit athena jobs to panda without using ganga

setup

export PATHENA_GRID_SETUP_SH=/afs/cern.ch/project/gd/LCG-share/current/etc/profile.d/grid_env.sh
source /afs/cern.ch/atlas/offline/external/GRID/DA/panda-client/latest/etc/panda/panda_setup.sh 

run pathena

pathena jobO_1.py jobO_2.py jobO_3.py [--inDS inputDataset] --outDS outputDataset
(compare syntax with athena! they tried to make it as similar as possible)

run prun

Prun is used to run non-athena jobs on the grid (like root macros).
A good overview is here: https://twiki.cern.ch/twiki/bin/view/Atlas/PandaRun
If you want to submit a cint macro to the grid do something like the following:
prun --exec "root.exe CutFlowZ.C" --athenaTag=15.6.8.7 --inDS group10.D3PD --outDS user10.SarahHeim.CutFlow --outputs Cutflow.txt --nFiles 5

it will upload the files from the directory that it thinks it needs, but will skip file with a *.root ending, for example. You can force prun to upload these (in case you need them) by attaching
--extFile FileA,FileB,FileC

check status

Go to PANDA monitoring page: http://panda.cern.ch:25880/server/pandamon/query and type in the pandaID or go to PANDA user page: http://panda.cern.ch:25880/server/pandamon/query?dash=Quota and find your name
You can also type
pbook
and then help(),show() or status()

retrieve output with dq2

dq2

idea

Dq2 is a tool with which data can be found and retrieved (see: MakeDPDs and DataFromGrid)

setup

source /afs/cern.ch/atlas/offline/external/GRID/ddm/DQ2Clients/setup.sh 
voms-proxy-init --voms atlas

run

Checking if files exist:
dq2-ls fdr08_run2.0052283.physics_Muon.merge.AOD.o3_f8_m10
Getting list of replicas (complete and incomplete):
dq2-ls -r fdr08_run2.0052283.physics_Muon.merge.AOD.o3_f8_m10
List files in a certain dataset:
dq2-ls -f fdr08_run2.0052283.physics_Muon.merge.AOD.o3_f8_m10
Download one file from dataset (limit 40GB per day!)
dq2-get -f fdr08_run2.0052283.physics_Muon.merge.AOD.o3_f8_m10._0006.1 fdr08_run2.0052283.physics_Muon.merge.AOD.o3_f8_m10
Download whole dataset:
dq2-get fdr08_run2.0052283.physics_Muon.merge.AOD.o3_f8_m10
Download the whole dataset, but only the root files (useful as log files are pretty big)
dq2-get fdr08_run2.0052283.physics_Muon.merge.AOD.o3_f8_m10 | grep root

AthenaRootAccess (ARA) (grid)

Atlantis

idea

Allows you to look at the tracks of your event in a detector simulation. Btw, Atlantis graphs are like histograms when it comes to publication.

java setup

. /afs/cern.ch/sw/lcg/external/Java/bin/setup.sh

athena setup

 source cmthome/setup.sh -tag=15.4.0,setup,32 
(or whichever version you want instead of 15.4.0)

start

atlantis

Email addresses in case of problems:

-- SarahHeim - 24 Aug 2009
Topic revision: r12 - 01 Jul 2010, SarahHeim
 

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback