Setup athena At CERN

  • Log in to lxplus (pcatlas001 to pcatla04 para rel_12) (para rel_13 pcatlas005 to pcatlas010)
  • Crear un directorio de trabajo en su directorio home, por ejemplo:
cd /home/dmoreno
mkdir athena
mkdir athena/13.0.30.3
mkdir athena/13.0.30.3/AtlasProduction-13.0.30.3
mkdir athena/13.0.30.3/AtlasProduction-13.0.30.3/run
  • Crear directorio cmthome
cd /home/dmoreno
mkdir cmthome
cd cmthome

Setup athena para 13.0.30.3

*Crear fichero llamado "requirements" en su directorio cmthome.

vi requirements

*Puede usar como modelo el siguiente ejemplo, solo reemplace dmoreno, por su correspondiente area de trabajo:

###### cmthome/requirement ######


set   CMTSITE  CERN
set   SITEROOT /afs/cern.ch
macro ATLAS_DIST_AREA ${SITEROOT}/atlas/software/dist

macro ATLAS_TEST_AREA /home/dmoreno/athena/13.0.30.3

apply_tag optimized

use AtlasLogin AtlasLogin-* $(ATLAS_DIST_AREA)

#recommended : you don't need to type the second AtlasOfflineRuntime/setup.sh
apply_tag setup

#Esta linea es necesaria para correr en pcatlas005-pcatlas006, pues por defecto ellos corren con  64bits
apply_tag 32
#################################################################

* Para crear la apropiada version del cmt para este release debe ejecutar en su directorio cmthome

source /afs/cern.ch/sw/contrib/CMT/v1r20p20070524/mgr/setup.sh
cmt config

Luego haga:

source setup.sh -tag=13.0.30,32,gcc323

Y chequee que el path haya sido creado correctamente:

echo $CMTPATH
Deberia obtener algo parecido a: /home/dmoreno/athena/13.0.30.3/AtlasOffline-13.0.30:/afs/cern.ch/atlas/software/builds/AtlasOffline/13.0.30

*Vaya a su directorio de trabajo:

cd /home/dmoreno/athena/13.0.30.3/AtlasOffline-13.0.30

*Ahora para obtener las variables de ambiente apropiadas para esta version del release, exporte su CMTPATH y compile:

export CMTPATH=/home/dmoreno/athena/13.0.30.3/AtlasProduction-13.0.30.3:/afs/cern.ch/atlas/software/releases/13.0.30/AtlasProduction/13.0.30.3
source /afs/cern.ch/atlas/software/releases/13.0.30/AtlasProduction/13.0.30.3/AtlasProductionRunTime/cmt/setup.sh

*Vuelva a exportar su CMTPATH y compile los paquetes usados para hacer la reconstruccion:

export CMTPATH=/home/dmoreno/athena/13.0.30.3/AtlasProduction-13.0.30.3:$CMTPATH
RecExCommon_links_zc.sh
TriggerRelease_links.sh

Algunos paquetes necesarios para la reconstruccion:

*Para hacer una correcta reconstruccion y un completo llenado de las varibles en cada nivel del trigger, se debe hacer el check out y compilacion de los siguietes paquetes:

TrigNtInDet-00-03-32 Trigger/TrigAnalysis

TrigT1Calo-01-36-03 Trigger/TrigT1

*Copie de mi directorio /afs/cern.ch/user/d/dmoreno el archivo CBNTAA_LVL1calo.cxx a :

/"yourhome"/athena/13.0.30.3/AtlasProduction-13.0.30.3/Trigger/TrigT1/TrigT1Calo/src
cd ../cmt
gmake

TrigEgammaHypo-00-06-84 Trigger/TrigHypothesis

TrigNtEgamma-02-01-03  Trigger/TrigAnalysis

Setup athena para 12.0.7

  • Crear fichero llamado "requirements" con el siguiente contenido
###### cmthome/requirement ######
set   CMTSITE  CERN
set   SITEROOT /afs/cern.ch
macro ATLAS_DIST_AREA ${SITEROOT}/atlas/software/dist

macro ATLAS_TEST_AREA /home/tfonseca/athena/12.0.7

# This tag simplifies the naming convention for the test release
# directories for project builds, in particularly by removing the
# otherwise required <project>- prefix.
#apply_tag simpleTest

# this is not needed anymore for project builds (default=opt)
# but needed in case of monolithic builds
#apply_tag optimized

use AtlasLogin AtlasLogin-* $(ATLAS_DIST_AREA)

# If you wish to use a single test release directory 
#rather than the default of a test directory per release:
#apply_tag oneTest

#recommended : you don't need to type the second AtlasOfflineRuntime/setup.sh
apply_tag setup

Deben cambiar la direccion que hay en ATLAS_TEST_AREA en este ejemplo y poner la de su directorio de trabajo

  • ?Estan usando "bash"?
Si no lo estan usando, para usarlo tecleen en linea de comando:
bash

  • Se deben correr los siguientes comandos para levantar cmt:
source /afs/cern.ch/sw/contrib/CMT/v1r19/mgr/setup.sh
cmt config

(hasta aqui solo es necesario hacerlo una vez, la primera vez que uno levanta athena)

source setup.sh -tag=12.0.7,opt

  • Chequeemos que todo esta bien seteado:
echo $CMTPATH
Es importante prestar atencion a lo que sale de aqui y acostumbrarse a hacerlo! Deberia salirles algo parecido a esto: /home/tfonseca/athena/12.0.7/AtlasOffline-12.0.7:/afs/cern.ch/atlas/software/builds/AtlasOffline/12.0.7 El primer path es donde athena buscara en su directorio posibles paquetes que ustedes modifiquen El segundo path es donde athena ira a buscar los paquetes si no encuentra nada en su directorio de trabajo.... y asi sucesivamente...

  • Creemos el directorio donde athena va a buscar las cosas para este release y desde donde vamos a correr
cd ../athena/12.0.7
mkdir AtlasOffline-12.0.7
mkdir AtlasOffline-12.0.7/run
cd AtlasOffline-12.0.7/run

  • Set up el environment para correr la reconstruccion (en principio esto no es necesario si han incluido
     apply_tag setup  
    en su requirements file, pero yo igual lo hago):
source /afs/cern.ch/atlas/software/builds/AtlasOffline/12.0.7/AtlasOfflineRunTime/cmt/setup.sh

  • Estos dos comandos no son imprescindibles pero crean links y preparan jO que suelen ser utiles cuando uno corre en el "RecExCommon" framework, como nosotros
RecExCommon_links_zc.sh
TriggerRelease_links.sh
Chequense su CMTPATH para ver como ha cambiado...
echo $CMTPATH

Run an example job on ESD to produce AANT

  • Copiarse las jobOptions (jO)
cp /afs/cern.ch/user/t/tfonseca/public/for_Colombia/jOexamples/* .

  • Corremos athena con el siguiente comando:
athena.py -bs ejemplo.1.py > example.1.log

Ya sabemos correr athena! \(^_^)/ Cuando termine chequearse que se ha creado un fichero:

ls -lrt ntuple_example_fromESD.root
ntuple_example_fromESD.root que se puede abrir con root y mirar las variables. Con un editor de texto nos podemos chequar el logfile example.1.log

Run athena on a new terminal.

  • Si ya setearon athena siguiendo las instrucciones anteriores (una vez que se ha seteado, aunque pasen dias y meses se puede seguir usando el mismo setup, en ocasiones es necesario cambiar la version de cmt), cuando quieran volver a correr athena en una nueva terminal, logeense al cern, y vayan a su cmthome directory, por ejemplo:
cd /home/tfonseca/cmthome
Si no estan usando bash por defecto recuerden teclear en la linea de comandos:
bash
A continuacion elijan el release y las opciones con las que van a querer correr athena:
source setup.sh -tag=12.0.7,opt
Chequee que todo esta bien seteado:
echo $CMTPATH
Se pueden ir a su run directory habitual, por ejemplo:
cd /home/tfonseca/athena/12.0.7/AtlasOffline-12.0.7/run/
Set up el environment para correr la reconstruccion (en principio esto no es necesario si han incluido apply_tag setup en su requirements file, pero yo igual lo hago), recuerden que ha de ser compatible con el release que estan corriendo, encuentran este script en el segundo de los paths que les devuelve echo $CMTPATH anhadiendole AtlasOfflineRunTime/cmt/setup.sh:
source /afs/cern.ch/atlas/software/builds/AtlasOffline/12.0.7/AtlasOfflineRunTime/cmt/setup.sh
* Estos dos comandos no son imprescindibles pero crean links y preparan jO que suelen ser utiles cuando uno corre en el "RecExCommon" framework, como nosotros
RecExCommon_links_zc.sh
TriggerRelease_links.sh
* Ya pueden correr athena, por ejemplo con el siguiente comando:
athena.py -bs ejemplo.1.py > example.1.log

Check out a package

  • Como saber que tag de un paquete se corresponde con el release que uno esta corriendo, se puede usar el comando cmt show versions dando a continuacion la direccion completa del paquete, por ejemplo:
cmt show versions Trigger/TrigTools/TrigOnlineSpacePointTool 

  • Para bajarse un paquete uno utiliza el comando cmt co desde el directorio de trabajo del release correspondiente y se da la direccion completa del paquete
cd /home/tfonseca/athena/12.0.7/AtlasOffline-12.0.7
    • Para bajarse la head version de un paquete (la version mas actualizada del mismo):
      cmt co Trigger/TrigTools/TrigOnlineSpacePointTool
      
cmt les imprime la tag que se estan bajando. En el futuro si se les olvida cual es la tag que tienen instalada en su directorio de trabajo pueden averiguarlo mirando el contenido del siguiente fichero:
more Trigger/TrigTools/TrigOnlineSpacePointTool/cmt/version.cmt

  • Esta no es la tag que nos interesa de este paquete asi que la vamos a borrar, y nos vamos a bajar la tag que nos interesa: TrigOnlineSpacePointTool-00-00-23-bf01 Para bajarse una tag particular de un paquete debe usarse el comando cmt co con la opcion -r, ejemplo:
rm -r Trigger/TrigTools/TrigOnlineSpacePointTool
cmt co -r TrigOnlineSpacePointTool-00-00-23-bf01 Trigger/TrigTools/TrigOnlineSpacePointTool
Vean que ahora la tag que nos hemos bajado es distinta:
more Trigger/TrigTools/TrigOnlineSpacePointTool/cmt/version.cmt
Se debe compilar el paquete para que athena lo utilice:
cd Trigger/TrigTools/TrigOnlineSpacePointTool/cmt
cmt config
source setup.sh
gmake
source /afs/cern.ch/atlas/software/releases/AtlasProduction/12.0.6.1/AtlasProductionRunTime/cmt/setup.sh
(Este ultimo script es necesario correrlo despues del primer paquete que uno se baja por si se baja mas paquetes posteriormente para que los otros paquetes sean reconocidos. En teoria, como hemos dicho mas arriba, si uno ha incluido en su requirements apply_tag setup esto no es necesario, pero no hace danho). ?Que ven si vuelven a usar?
cmt show versions Trigger/TrigTools/TrigOnlineSpacePointTool

Ahora podrian volver a correr athena

Ejemplo de bajarse un paquete y modificarlo

Nuestro ejemplo: modificacion para incluir en las variables del Inner Detector L2 AANT la extrapolacion de eta al calorimetro. Desde el directorio correspondiente a su directorio de trabajo y al realease que estan usando chequeense cual es la tag que corresponde al release que estan corriendo:
cd /home/tfonseca/athena/12.0.7/AtlasOffline-12.0.7
cmt show versions Trigger/TrigAnalysis/TrigNtInDet
Bajense esa tag:
cmt co -r TrigNtInDet-00-03-15-06 Trigger/TrigAnalysis/TrigNtInDet
cd Trigger/TrigAnalysis/TrigNtInDet
ls -lrt
  • Parentesis, "estructura de los paquetes en athena"
    • TrigNtInDet: header files
    • src: source files
    • share: jobOptions
    • python: configurables
    • cmt: cmt stuff

  • Modifiquemos el paquete:
cd src
Movamos el fichero original a un nombre arbitrario
mv CBNTAA_TrigInDetTrack.cxx delete.cxx
Copiense el fichero modificado de mi directorio:
scp SuLogin@pcatlas002:/home/tfonseca/athena/12.0.6.1/AtlasProduction-12.0.6.1/Trigger/TrigAnalysis/TrigNtInDet/src/CBNTAA_TrigInDetTrack.cxx .
Veamos las diferencias que hay entre el fichero original y el modificado
diff CBNTAA_TrigInDetTrack.cxx delete.cxx
Borremos el fichero original
rm delete.cxx
Ya terminamos nuestra modificacion, vamos a compilarnos el paquete para que athena lo reconozca:
cd ..
cd cmt
cmt config
source setup.sh
gmake

Ahora podemos correr athena de nuevo.

Other important commands

Checking out more than one package

  • En ocasiones los paquetes dependen unos de otros, si uno se baja varios paquetes y unos dependen de otros la compilacion debe hacerse "en el orden adecuado", para que todo el mundo utilice el paquete que uno tiene en su area de trabajo local y no el default del release. Esto se puede hacer "automaticamente" si cuando se compila el paquete desde el directorio cmt se utilizan los siguientes comandos en lugar de los que hemos visto mas arriba:
cd cmt
cmt br cmt config
source setup.sh
cmt br gmake

checkFile.py informacion de un fichero de datos

Les da mucha informacion del contenido del fichero, entre otras cosas el numero de sucesos. Para usarlo athena tiene que estar seteada. Si o usan sin argumentos les da instrucciones. Un ejemplo:
checkFile.py -f /space2/data/susy/ESD/trig1_misal1_csc11.005403.SU3_jimmy_susy.recon.ESD.v12000601_tid008599/trig1_misal1_csc11.005403.SU3_jimmy_susy.recon.ESD.v12000601_tid008599._00801.pool.root.1

Ejercicios

Crear una ntupla de SUSY

  • Usen los datos almacenados en: /space2/data/susy/ESD
  • Modifiquen el fichero ejemplo.1.py (llamenle ejemplo.susy.py)
  • Recuerden que para construir la lista de ficheros pueden usar el regalo de Attila: ~tfonseca/public/scripts/fromAttila/create_dataset.pl

What to check in the logfile:

  • Abrir logfile, ir al final y chequearse que no hay errores que la aplicacion termino successfully:
"ApplicationMgr                                       INFO Application Manager Finalized successfully
ApplicationMgr                                       INFO Application Manager Terminated successfully"
  • Buscar mensajes de error, ej:
grep ERROR suLogFile.log > susErrores.txt
  • Comprobar el numero de sucesos que se ha corrido, ej:
grep "start of event" suLogFile.log > susEventos.txt

Example of Standard JobOptions (jO)

AOD- > AANT

Ejemplo the job options para crear una ntupla AANT a partir de AOD. Ha de tenerse en cuenta que entonces no estara disponible la informacion de L1 AODtoAANT.py

Other links for jO

Link for trigger jO

In this link you can find several jO to produce AANT, ESD, AOD, etc...

Links utiles

http://alxr.usatlas.bnl.gov/lxr/source

(obsolete) http://atlas-sw.cern.ch/cgi-bin/viewcvs-atlas.cgi/offline/

2009: https://svnweb.cern.ch/trac/atlasoff/browser

-- TeresaFonsecaMartin - 25 Sep 2007

Topic attachments
I Attachment History Action Size Date Who Comment
Texttxt AODtoAANT.py.txt r1 manage 1.6 K 2007-10-04 - 00:41 TeresaFonsecaMartin job options to produce an AANT from an AOD
Texttxt ejemplo.1.py.txt r1 manage 1.5 K 2007-11-22 - 21:37 TeresaFonsecaMartin Example 1 to run athena
Texttxt ejemplo.2.py.txt r1 manage 1.4 K 2007-11-22 - 21:38 TeresaFonsecaMartin ejemplo 2 para correr athena
Texttxt ejemplo3.py.txt r1 manage 4.0 K 2007-11-22 - 21:38 TeresaFonsecaMartin ejemplo 3 para correr athena
Edit | Attach | Watch | Print version | History: r16 < r15 < r14 < r13 < r12 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r16 - 2010-04-26 - unknown
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback