110/10/06 - AliEn AliEn Tutorial Solutions Panos Christakoglou University of Athens - CERN
210/10/06 - AliEn Installation of AliEn software Try it out Download the installer from the web [bash]$ wget ien-installer Make the file executable [bash]$ chmod a+x al ien-installer Run the installer [bash]$./al ien-installer For the solutions, we assume that the user name is trn2301 with the following attributes: ● Local home directory: /home/trn2301 ● Alien home directory: /alice/cern.ch/user/t/trn2301 change the names accordingly to match your case!!!
310/10/06 - AliEn Authentication Try it out Get a valid proxy [bash]$ grid-proxy-init //provide the password when asked Get a valid token [bash]$ alien-token-init trn2301 //the username is optional and should be put if the local username isn't the same as the alien one Get your proxy info [bash]$ grid-proxy-info Get your token info [bash]$ alien-token-info [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
410/10/06 - AliEn General description of the shell Try it out (1) Access the shell [bash]$ aliensh List the contents of your alien directory [aliensh]$ whoami Check your user name [aliensh]$ whoami Check the alien working direcory [aliensh] $ pwd [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
510/10/06 - AliEn General description of the shell Try it out (2) Create the following directory structure in your alien $HOME directory: Tutorial/XML/jdl [aliensh] $ mkdir Tutorial [aliensh] $ mkdir Tutorial/XML [aliensh] $ mkdir Tutorial/XML/jdl Tutorial/XML/par [aliensh] $ mkdir Tutorial/XML/par Tutorial/XML/output [aliensh] $ mkdir Tutorial/XML/output Tutorial/XML/selectors [aliensh] $ mkdir Tutorial/XML/selector Tutorial/XML/macros [aliensh] $ mkdir Tutorial/XML/macros [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
610/10/06 - AliEn General description of the shell Try it out (3) Get the information of the file: /alice/cern.ch/user/p/pchrist/Tutorial/XML/selectors/esdPt.C [aliensh] $ whereis /alice/cern.ch/user/p/pchrist/Tutorial/XML/selectors/esdPt.C [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
710/10/06 - AliEn Working with the file catalog Try it out (1) Exit the shell [aliensh] $ exit Create the following directory structure in your local $HOME directory: AliEn/PDC06/001 and AliEn/PDC06/002 [bash]$ mkdir AliEn [bash]$ mkdir AliEn/PDC06 [bash]$ mkdir AliEn/PDC06/001 [bash]$ mkdir AliEn/PDC06/002 AliEn/Tags, AliEn/Local, AliEn/Interactive and AliEn/Batch [bash]$ mkdir AliEn/Tags [bash]$ mkdir AliEn/Local [bash]$ mkdir AliEn/Interactive [bash]$ mkdir AliEn/Batch [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
810/10/06 - AliEn Working with the file catalog Try it out (2) Copy the following files from the file catalog to your local $HOME/AliEn/Local directory: /alice/cern.ch/user/p/pchrist/Tutorial/LOCAL/ESD.par [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/LOCAL/ESD.par file:/home/trn2301/AliEn/Local/ESD.par /alice/cern.ch/user/p/pchrist/Tutorial/LOCAL/esdPt.C [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/LOCAL/esdPt.C file:/home/trn2301/AliEn/Local/esdPt.C /alice/cern.ch/user/p/pchrist/Tutorial/LOCAL/esdPt.h [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/LOCAL/esdPt.h file:/home/trn2301/AliEn/Local/esdPt.h /alice/cern.ch/user/p/pchrist/Tutorial/LOCAL/demoLocal.C [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/LOCAL/demoLocal.C file:/home/trn2301/AliEn/Local/demoLocal.C [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
910/10/06 - AliEn Working with the file catalog Try it out (3) Copy the following files from the file catalog to your local $HOME/AliEn/Tags directory: /alice/cern.ch/user/p/pchrist/Tutorial/TAGS/ESD.par [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/TAGS/ESD.par file:/home/trn2301/AliEn/Tags/ESD.par /alice/cern.ch/user/p/pchrist/Tutorial/TAGS/CreateTags.C [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/TAGS/CreateTags.C file:/home/trn2301/AliEn/Tags/CreateTags.C [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
1010/10/06 - AliEn Working with the file catalog Try it out (4) Copy the following files from the file catalog to your local $HOME/AliEn/PDC06/001 and $HOME/AliEn/PDC06/002 directories: /alice/cern.ch/user/a/aliprod/prod2006_2/output_pp/100/002/AliESDs.ro ot [aliensh]$ cp /alice/cern.ch/user/a/aliprod/prod2006_2/output_pp/100/002/AliESDs. root file:/home/trn2301/AliEn/PDC06/001/AliESDs.root /alice/cern.ch/user/a/aliprod/prod2006_2/output_pp/100/004/AliESDs.ro ot [aliensh]$ cp /alice/cern.ch/user/a/aliprod/prod2006_2/output_pp/100/004/AliESDs. root file:/home/trn2301/AliEn/PDC06/002/AliESDs.root [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
1110/10/06 - AliEn Working with the file catalog Try it out (5) Query the f.c. and get all the tag files (*.tag.root) under: /alice/cern.ch/user/a/aliprod/prod2006_2/output_pp/100/* and redirect it to the file tag100.xml [aliensh]$ find -x tag100 alice/cern.ch/user/a/aliprod/prod2006_2/output_pp/100/* tag.root > tag100.xml Repeat the previous exercise, limiting this time the number of output files to 10 and copy the xml file to your local $HOME/AliEn/Interactive [aliensh]$ find -l 10 -x tag100 alice/cern.ch/user/a/aliprod/prod2006_2/output_pp/100/* tag.root > tag100.xml [aliensh]$ exit [bash]$ mv tag100.xml /home/trn2301/AliEn/Interactive/ [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
1210/10/06 - AliEn Local analysis Try it out Open your local $HOME/AliEn/Tags/CreateTags.C file and modify it accordingly t->ReadLocalCollection("/home/trn2301/AliEn/PDC06"); Run it to create the tag files. [bash]$ root.exe -b -q CreateTags.C Delete the single tag files and stay with just the merged one. [bash]$ rm Run100.Event* Go to your local $HOME/AliEn/Local directory and open the demoLocal.C file. Change the line where you define the location of the tag files and run the macro. TagAna->ChainLocalTags(“/home/trn2301/AliEn/Tags”); [bash]$ root.exe demoLocal.C Impose some selection criteria inside the macro and rerun the example. EvCuts->SetMultiplicityRange(10,15); [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
1310/10/06 - AliEn Interactive analysis Try it out (1) Copy the following files to your local $HOME/AliEn/Interactive: /alice/cern.ch/user/p/pchrist/Tutorial/INTERACTIVE/ESD.par [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/INTERACTIVE/ESD.par file:/home/trn2301/AliEn/Interactive/ /alice/cern.ch/user/p/pchrist/Tutorial/INTERACTIVE/esdPt.h [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/INTERACTIVE/esdPt.h file:/home/trn2301/AliEn/Interactive/ /alice/cern.ch/user/p/pchrist/Tutorial/INTERACTIVE/esdPt.C [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/INTERACTIVE/esdPt.C file:/home/trn2301/AliEn/Interactive/ /alice/cern.ch/user/p/pchrist/Tutorial/INTERACTIVE/demoInteractive.C [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/INTERACTIVE/demoInteractive.C file:/home/trn2301/AliEn/Interactive/
1410/10/06 - AliEn Interactive analysis Try it out (2) Go to your local $HOME/AliEn/Interactive directory and open the demoInteractive.C file. Change the line where you define the tag collection and put the name of the file you created by querying the f.c (it should be tag100.xml). TAlienCollection* coll = TAlienCollection::Open("tag100.xml"); Run the macro. [bash]$ root.exe demoInteractive.C Impose some selection criteria and rerun the example. EvCuts->SetMultiplicityRange(10,15); [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
1510/10/06 - AliEn Batch analysis Try it out (1) Copy the following files to $HOME/AliEn/Batch: /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/ESD.par [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/ESD.par file:/home/trn2301/AliEn/Batch/ /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/esdPt.h [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/esdPt.h file:/home/trn2301/AliEn/Batch/ /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/esdPt.C [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/esdPt.C file:/home/trn2301/AliEn/Batch/ /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/demoBatch.C [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/demoBatch.C file:/home/trn2301/AliEn/Batch/
1610/10/06 - AliEn Batch analysis Try it out (2) /alice/cern.ch/user/p/pchrist/bin/batch.sh [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/batch.sh file:/home/trn2301/AliEn/Batch/ /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/pp10.xml [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/pp10.xml file:/home/trn2301/AliEn/Batch/ /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/analysis.jdl [aliensh]$ cp /alice/cern.ch/user/p/pchrist/Tutorial/BATCH/analysis.jdl file:/home/trn2301/AliEn/Batch/ [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
1710/10/06 - AliEn Batch analysis Try it out (3) Modify the InputFile, InputDataCollection and OutputDir fields of your analysis.jdl. InputFile= {"LF:/alice/cern.ch/user/t/trn2301/Tutorial/XML/selectors/esdPt.C", "LF:/alice/cern.ch/user/t/trn2301/Tutorial/XML/selectors/esdPt.h", "LF:/alice/cern.ch/user/t/trn2301/Tutorial/XML/par/ESD.par", "LF:/alice/cern.ch/user/t/trn2301/Tutorial/XML/macros/demoBatch.C"}; InputDataCollection="LF:/alice/cern.ch/user/t/trn2301/Tutorial/XML/xml/pp10.xml,nodow nload"; OutputDir="/alice/cern.ch/user/t/trn2301/Tutorial/XML/output"; [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
1810/10/06 - AliEn Batch analysis Try it out (4) Enter the shell and go to your AliEn $HOME directory. [bash]$ aliensh [aliensh]$ cd Copy the local batch.sh to your AliEn $HOME/bin. [aliensh]$ cp file:/home/trn2301/AliEn/Batch/batch.sh Copy the local analysis.jdl to your AliEn $HOME/Tutorial/XML/jdl. [aliensh]$ cp file:/home/trn2301/AliEn/Batch/analysis.jdl Copy the local pp10.xml to your AliEn $HOME/Tutorial/XML/xml. [aliensh]$ cp file:/home/trn2301/AliEn/Batch/pp10.xml [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
1910/10/06 - AliEn Batch analysis Try it out (5) Copy the local ESD.par to your AliEn $HOME/Tutorial/XML/par. [aliensh]$ cp file:/home/trn2301/AliEn/Batch/ESD.par Copy the local esdPt.* to your AliEn $HOME/Tutorial/XML/selectors. [aliensh]$ cp file:/home/trn2301/AliEn/Batch/esdPt.C Tutorial/XML/selectors/esdPt.C::CERN::Castor2 [aliensh]$ cp file:/home/trn2301/AliEn/Batch/esdPt.h Tutorial/XML/selectors/esdPt.h::CERN::Castor2 Copy the local demoBatch.C to your AliEn $HOME/Tutorial/XML/macros. [aliensh]$ cp file:/home/trn2301/AliEn/Batch/demoBatch.C Tutorial/XML/macros/demoBatch.C::CERN::Castor2 Go to your AliEn $HOME/Tutorial/XML/jdl and submit the job. [aliensh]$ cd Tutorial/XML/jdl [aliensh]$ submit analysis.jdl [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
2010/10/06 - AliEn Batch analysis Try it out (6) Check your job priority. [aliensh]$ check priority jobs trn2301 Display all your active jobs. [aliensh]$ top -user trn2301 Display the jdl of your job: [aliensh]$ ps -jdl XXX (where XXX is the given job id) Trace the status of your job: [aliensh]$ ps -trace XXX (where XXX is the given job id) [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file
2110/10/06 - AliEn Batch analysis Try it out (7) When the job 's status turns to RUNNING you can get the stdout and stderr of the job: [aliensh]$ spy XXX stdout (where XXX is the given job id) [aliensh]$ spy XXX stderr (where XXX is the given job id) Edit the already registered analysis.jdl while being in the shell [aliensh]$ edit analysis.jdl [bash]$ --> Your local bash shell [aliensh]$ --> Your alien bash shell No notation --> inside a file