== Exemple de job d'analyse utilisant athena et DQ2 == Ce tutoriel décrit comment executer un job d'analyse en utilisant: * Le software d'ATLAS athena * Un package d'analyse à compiler (Merci à Bertrand Brelier). * Des fichiers de dataset obtenus avec DQ2. Pour lancer un job, vous avez besoin de quatre fichiers * '''Le fichier JDL''' (Job Description Langage)Le fichier job.jdl est le fichier qui décrit votre job.[[BR]] Dans ce fichier vous trouverez une ligne de commentaire (#...) qui décrit chaque nouvelle instruction du fichier JDL. * '''L'executable'''. Le fichier job.sh est le script qui va être exécuter sur la machine distante (le WN) * '''L'archive du package''' package.tar.gz contenant le package d'analyse à compiler.[[BR]] Le package fourni exécute une analyse sur des fichier EVGN. Une fois compilé, un exemple de job se trouve dans le répertoire run : il faut fournir un evgen en entrée dans le fichier python. * '''Le fichier jobOption.py''' fourni en entrée d'athena.[[BR]] Ce fichier à été écrit en se basant sur l'exemple donné dans le package d'analyse. * __Analyse détaillée du script job.sh__ * Initialisation de l'environnement du software athena {{{ source $VO_ATLAS_SW_DIR/software/14.0.0/setup.sh -tag=14.0.0,setup source $SITEROOT/AtlasOffline/14.0.0/AtlasOfflineRunTime/cmt/setup.sh }}} Le package tourne sous athena 14.0.x. ATLAS installe les versions de son soft sous $VO_ATLAS_SW_DIR.Sont initialisés ici le software athena et l'environnement d'exécution !AtlasOfflineRunTime. * Initialisation de l'environnement LFC {{{ export LFC_HOST=lfc-prod.in2p3.fr export LFC_HOME=/grid/atlas/users/user.FabianLambert }}} Le catalogue LFC utilisé ici pour enregistré les lfn des fichiers que produit le job. * Initialisation de l'environnement CMT {{{ export CMTPATH=`pwd`:${CMTPATH} }}} CMT est l'outil de configuration qui sert à compiler les packages de ATLAS en résolvant leur dépendances. [[BR]] Il peut aussi éventuellement servir à rapatrier les sources d'un package depuis un repository CVS. Dans notre cas le package est fourni dans l'archive package.tar.gz. * Initialisation de l'environnement DQ2 {{{ source $VO_ATLAS_SW_DIR/ddm/latest/setup.sh }}} DQ2 est l'outil ATLAS qui permet de récupérer des données sur la grille. * Décompression de l'archive {{{ tar -xvzf ${1} }}} L'archive est décompressé sur le WN. Le nom de l'archive est le paramètre $!{1} passé au job. * Compilation du package {{{ cd MyValidation/cmt cmt config source setup.sh gmake }}} Le package fourni est configuré avec CMT puis compilé. * Récupération des fichiers avec DQ2 {{{ cd ../.. dq2-get -D -f ${4} ${3} mv ${4} jobInput.root }}} Le fichier $!{4} du dataset $!{3} est récupéré sur le WN. Ce fichier d'entrée est renommé en un nom générique utilisé par le package d'analyse. * Execution d'athena {{{ athena.py ${2} }}} Athena est exécuté avec le fichier de job options passé en paramètre. * Récupération du résultat sur le SE {{{ mv jobOutput.root user.flambert.${4} lcg-cr --vo atlas -l user.flambert.${4} -d srm://lpsc-se-dpm-server.in2p3.fr/dpm/in2p3.fr/home/atlas/flambert/user.flambert.${4} file://`pwd`/user.flambert.${4} rm user.flambert.${4} }}} Le job produit un fichier avec un nom générique, ce fichier est renommé en fonction du nom d'une fichier en entrée. [[BR]] Il est ensuite enregistré sur le SE et dans le LFC en utilisant les commandes de grille habituelle. Le fichier de sortie sur le WN est ensuite effacé. * __Soumission du job et résultat__ Le job est soumis avec la commande edg-job-submit (!LCG2) ou avec glite-wms-job-submit(!GLITE). Le résultat peut être vu en utilisant !ROOT. Dans l'exemple, l'analyse porte sur un boson de higgs. ''-->Exercice: Dans le script job.sh, les LFN utilisés sont ils relatifs ou absolus ?'' [wiki:jobSubmission up] ;