Usando crab para guardar en un Storage Element
Primero vamos a hacer un recuento de lo que hemos hecho hasta ahora con crab (lo saque del twiki de Crab en CERN).
Basic Crab Commands
The basic workflow of commands you must use to run your job, monitor it and retrieve the results is shown below:
- "crab -create", create all jobs (no submission!)
- "crab -submit", submit all jobs above created
- The above two commands can be done in a single step ("crab -create -submit")
- "crab -status", check the status of all jobs above submitted
- "crab -getoutput", retrieve the output of all jobs above submitted and terminated
- "crab -publish", publish the results stored in the SE
Modificando el archivo crab.cfg
Vamos a modificar el archivo de configuración de crab (crab.cfg) para que los resultados los guarde en el Storage Element de Uniandes (este se llama
moboro).
El archivo debe quedar así:
[CRAB]
use_server = 1
jobtype = cmssw
scheduler = glite
[CMSSW]
datasetpath=none
pset=LM0Raw_cfg.py
total_number_of_events=6
events_per_job = 2
#number_of_jobs = 1
output_file = LM0_Gen_8E29_RAW.root
[USER]
return_data=0
email= su_email@gmail.com
copy_data = 1
storage_element = T3_CO_Uniandes
user_remote_dir = LM0_RawTest_su_nombre
check_user_remote_dir = 1
publish_data=1
publish_data_name = LM0_RawTest6events_su_nombre
dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet
Como pueden ver, cambiamos algunas cosas comparando con el archivo crab que habíamos usado en el caso anterior.
- return_data=0 Significa que ya no devuelva nuestros resultados a nuestra cuenta
- copy_data=1 Significa que los resultados se copien a un Storage Element
- storage_element = T3_CO_Uniandes Significa que los resultado se guardaran en el Storage Element de Uniandes
- user_remote_dir = LM0_RawTest_su_nombre Es el nombre de la carpeta con la que quedarán guardados nuestros resultados en el storage element.
- check_user_remote_dir = 1 Esto le dice a crab que revise el directorio de llegada en el Storage Element
- publish_data=1 Para pulicar los resultados obtenidos con crab y luego poder correr sobre ellos
- publish_data_name = LM0_RawTest6events_su_nombre El nombre con el que se publicarán los datos
- dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet
Es el sitio en el que se publicaran los resultados.
Corriendo crab
Para correr crab, seguimos los pasos de siempre
cd CMSSW_3_1_4/src/
cmsenv
source /usr/local/CRAB_2_7_2_p1/crab.sh
cd
cd CMSSW_3_1_4/src/simulacion/crab
crab -create
crab -submit
crab -status
Obteniendo resultados con crab
Despues que a nuestro correo llego la notificación que lo que enviamos con crab ya termino de correr, abrimos nuestra cuenta en yali nuevamente y hacemos:
cd CMSSW_3_1_4/src/
cmsenv
source /usr/local/CRAB_2_7_2_p1/crab.sh
cd
cd CMSSW_3_1_4/src/simulacion/crab
crab -status
crab -getoutput
La diferencia es que esta vez los resultados ya no quedarán guardados en nuestra cuenta sino en el Storage Element de Uniandes.
Para ver los resultados hacemos:
rfdir /dpm/uniandes.edu.co/home/cms/store/user/andresib/
El resultado de este comando me muestra todo lo que tenemos guardado en el Storage Element. Como ya corrimos en
GRID, en ese listado debe aparecer una carpeta con el nombre
LM0_RawTest_su_nombre. En mi caso el nombre que yo le dí a la carpeta fue:
LM0_RawTest6events
Puedo ver que tiene esa carpeta continuando con el comando rfdir
rfdir /dpm/uniandes.edu.co/home/cms/store/user/andresib/LM0_RawTest6events
Al hacerlo obtengo:
[inv-cmssw@yali crab]$ rfdir /dpm/uniandes.edu.co/home/cms/store/user/andresib/LM0_RawTest6events
drwxrwxr-x 1 146 106 0 Jun 23 00:06 LM0_RawTest6events
Y continuo con el comando rfdir:
rfdir /dpm/uniandes.edu.co/home/cms/store/user/andresib/LM0_RawTest6events/LM0_RawTest6events
Al hacerlo obtengo:
[inv-cmssw@yali crab]$ rfdir /dpm/uniandes.edu.co/home/cms/store/user/andresib/LM0_RawTest6events/LM0_RawTest6events
drwxrwxr-x 3 146 106 0 Jun 23 00:13 351dcce899e29567cc07a7bebb32cc83
Continuamos con rfdir:
rfdir /dpm/uniandes.edu.co/home/cms/store/user/andresib/LM0_RawTest6events/LM0_RawTest6events/351dcce899e29567cc07a7bebb32cc83
Al hacerlo obtengo:
[inv-cmssw@yali crab]$ rfdir /dpm/uniandes.edu.co/home/cms/store/user/andresib/LM0_RawTest6events/LM0_RawTest6events/351dcce899e29567cc07a7bebb32cc83
-rw-rw-r-- 1 146 106 4717371 Jun 23 00:13 LM0_Gen_8E29_RAW_1_1.root
-rw-rw-r-- 1 146 106 4194216 Jun 23 00:07 LM0_Gen_8E29_RAW_2_1.root
-rw-rw-r-- 1 146 106 4101799 Jun 23 00:06 LM0_Gen_8E29_RAW_3_1.root
Lo que significa que ya tenemos los archivo root en el Storage Element.
Publicando los resultados con crab en dbs
Una vez todo lo anterior esta hecho hacemos:
crab -publish
y tenemos que obtener algo como lo siguiente:
[le-cabre@yali public2]$ crab -publish
crab: Version 2.7.2 running on Wed Jun 23 11:08:03 2010 COT (16:08:03 UTC)
crab. Working options:
scheduler glite
job type CMSSW
server ON (default)
working directory /home/le-cabre/CMSSW_3_1_4/src/LM0/Lm0producer/crab/public2/crab_0_100622_231829/
crab: <dbs_url_for_publication> = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet
crab: --->>> Start dataset publication
crab: PrimaryDataset = LM0_RawTest6events
crab: ProcessedDataset = andresib-LM0_RawTest6events-351dcce899e29567cc07a7bebb32cc83
crab: <User Dataset Name> = /LM0_RawTest6events/andresib-LM0_RawTest6events-351dcce899e29567cc07a7bebb32cc83/USER
crab: --->>> End dataset publication
crab: --->>> Start files publication
crab: --->>> End files publication
crab: --->>> Check data publication: dataset /LM0_RawTest6events/andresib-LM0_RawTest6events-351dcce899e29567cc07a7bebb32cc83/USER in DBS url https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet
=== dataset /LM0_RawTest6events/andresib-LM0_RawTest6events-351dcce899e29567cc07a7bebb32cc83/USER
===== File block name: /LM0_RawTest6events/andresib-LM0_RawTest6events-351dcce899e29567cc07a7bebb32cc83/USER#6f978a00-8af8-491c-8674-dc63f8061a94
File block located at: ['moboro.uniandes.edu.co']
File block status: 0
Number of files: 3
Number of Bytes: 13013386
Number of Events: 6
total events: 6 in dataset: /LM0_RawTest6events/andresib-LM0_RawTest6events-351dcce899e29567cc07a7bebb32cc83/USER
crab: You can obtain more info about files of the dataset using: crab -checkPublication -USER.dataset_to_check=/LM0_RawTest6events/andresib-LM0_RawTest6events-351dcce899e29567cc07a7bebb32cc83/USER -USER.dbs_url_for_publication=https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -debug
Log file is /home/le-cabre/CMSSW_3_1_4/src/LM0/Lm0producer/crab/public2/crab_0_100622_231829/log/crab.log
Hecho esto podemos ir a la página de dbs:
https://cmsweb.cern.ch/dbs_discovery/
En la parte que dice
DBS instances elegimos lo siguiente: cms_dbs_ph_analysis_02
Este fue el sitio en el que publicamos cuando en el archivo
crab.cfg pusimos lo siguiente:
dbs_url_for_publication =
https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet
En el espacio para buscar podemos poner el nombre con el que publicamos lo que corrimos con crab.
En mi caso ese nombre es: LM0_RawTest6events
Ese nombre se encuentra en el archivo
crab.cfg cuando se escribió lo siguiente:
publish_data_name = LM0_RawTest6events_su_nombre
Hecho esto ya podemos hacer reconstrucción sobre estos archivos que generamos (y que estan el SE) con crab.
--
AndresCabrera - 23-Jun-2010