ProdAgent Installation
To install it:
mkdir prodagent
export APT_VER=0.5.15lorg3.2-cmp; export VO_CMS_SW_DIR=/home/mdias/prodagent/
export SCRAM_ARCH=slc4_ia32_gcc345
export LANG "C"
wget -O $VO_CMS_SW_DIR/bootstrap.sh http://cmsrep.cern.ch/cmssw/cms/bootstrap.sh
sh -x $VO_CMS_SW_DIR/bootstrap.sh setup -repository comp -path $VO_CMS_SW_DIR -arch $SCRAM_ARCH >& $VO_CMS_SW_DIR/bootstrap_$SCRAM_ARCH.log
sh -x $VO_CMS_SW_DIR/bootstrap.sh setup -repository comp -path $VO_CMS_SW_DIR -arch $SCRAM_ARCH >&
$VO_CMS_SW_DIR/bootstrap_$SCRAM_ARCH.log
source $VO_CMS_SW_DIR/$SCRAM_ARCH/external/apt/$APT_VER/etc/profile.d/init.sh
apt-get update; apt-get install cms+prodagent+PRODAGENT_0_12_9-cmp
Export necessary variables
cd /home/mdias/prodagent/slc4_ia32_gcc345/cms/prodagent/PRODAGENT_0_12_9-cmp/
export PYTHONPATH=$PYTHONPATH:`pwd`/lib
. /OSG/setup.sh
export PYTHONPATH=$PYTHONPATH:`pwd`/lib
source /home/mdias/prodagent/slc4_ia32_gcc345/cms/prodagent/PRODAGENT_0_12_9-cmp/etc/profile.d/dependencies-setup.sh
export PRODAGENT_WORKDIR=/home/mdias/work
PRODAGENT_CONFIG=$PRODAGENT_WORKDIR/ProdAgentConfig.xml
Start to configure it
voms-proxy-init -hours 200 -voms cms:/cms/uscms
prodAgent-new-config
prodAgent-edit-config --component=ProdAgent --parameter=ProdAgentWorkDir --value=$PRODAGENT_WORKDIR
prodAgent-edit-config --component=ProdAgent --parameter=ProdAgentName --value=T2_BR_SPRACE
prodAgent-edit-config --component=JobCreator --parameter=CreatorName --value=OSGCreator
prodAgent-edit-config --component=JobSubmitter --parameter=SubmitterName --value=OSGSubmitter
To use the official production:
prodAgent-edit-config --component=LocalDBS --parameter=DBSURL --value=https://cmsdbsprod.cern.ch:8443/cms_dbs_prod_local_0X_writer/servlet/DBSServlet
prodAgent-edit-config --component=LocalDBS --parameter=ReadDBSURL --value=http://cmsdbsprod.cern.ch/cms_dbs_prod_local_0X/servlet/DBSServlet
prodAgent-edit-config --component=DBSInterface --parameter=CloseBlockFiles --value=100
prodAgent-edit-config --component=MergeSensor --parameter=MinMergeFileSize --value=1000000000
prodAgent-edit-config --component=MergeSensor --parameter=MaxMergeFileSize --value=3000000000
prodAgent-edit-config --component=PhEDExConfig--parameter=PhEDExDropBox --value=/tmp
prodAgent-edit-config --component=PhEDExConfig--parameter=DBPARAM --value=/home/mdias/work/DBParam:Debug/SPRACE
where the last file,
/home/mdias/work/DBParam
, has
Section Debug/SPRACE
Interface Oracle
Database cms_transfermgmt_sc
AuthDBUsername cms_transfermgmt_sc_writer
AuthDBPassword uNobtr3Ude9d
AuthRole phedex_sprace_debug
AuthRolePassword Ch452dfarMw
ConnectionLife 86400
LogConnection on
LogSQL off
Continuing
prodAgent-edit-config --component=DBSInterface --parameter=skipPhEDExInjection --value="False"
prodAgent-edit-config --component=JobCleanup --parameter=SuccessArchive --value=/home/mdias/work/success
prodAgent-edit-config --component=JobCleanup --parameter=FailureArchive --value=/home/mdias/work/fail
prodAgent-edit-config --component=ProdMon --parameter=Team --value=T2_BR_SPRACE
prodAgent-edit-config --component=ProdMon --parameter=exportEnabled --value=True
Editing
$PRODAGENT_WORKDIR/CreatorPluginConfig.xml
configure the stage out
%CODE{"html"}%
%ENDCODE%
and software setup
%CODE{"html"}%
%ENDCODE%
Start to configure the mysql database
prodAgent-edit-config --component=ProdAgentDB --parameter=user --value=root
prodAgent-edit-config --component=ProdAgentDB --parameter=passwd --value=YourProdAgentPassHere
prodAgent-edit-config --component=ProdAgentDB --parameter=socketFileLocation --value=$PRODAGENT_WORKDIR/mysqldata/mysql.sock
prodAgent-edit-config --component=ProdAgentDB --parameter=dbName --value=ProdAgentDB
Doing the database initialization
mkdir $PRODAGENT_WORKDIR/mysqldata
mysql_install_db --datadir=$PRODAGENT_WORKDIR/mysqldata
mysqld_safe --datadir=$PRODAGENT_WORKDIR/mysqldata --socket=$PRODAGENT_WORKDIR/mysqldata/mysql.sock --skip-networking --log-error=$PRODAGENT_WORKDIR/mysqldata/error.log --pid-file=$PRODAGENT_WORKDIR/mysqldata/mysqld.pid &
mysqladmin -u root password 'XXXXXXX' --socket=$PRODAGENT_WORKDIR/mysqldata/mysql.sock
Install your databases
prodAgent-install-db
prodAgent-install-bosslite-db
Starting ProdAgent after install
To start it you can use the following script
%CODE{"sh"}%
#!/bin/bash
cd /home/mdias/prodagent/slc4_ia32_gcc345/cms/prodagent/PRODAGENT_0_12_9-cmp
export PRODAGENT_ROOT=`pwd`
export PATH=$PATH:`pwd`/bin
export PYTHONPATH=$PYTHONPATH:`pwd`/lib
export PRODAGENT_WORKDIR=/home/mdias/work
export PRODAGENT_CONFIG=$PRODAGENT_WORKDIR/ProdAgentConfig.xml
export MYTESTAREA=/home/mdias/prodagent
source /home/mdias/prodagent/slc4_ia32_gcc345/cms/prodagent/PRODAGENT_0_12_9-cmp/etc/profile.d/dependencies-setup.sh
/home/mdias/prodagent/slc4_ia32_gcc345/external/mysql/5.0.45-cmp3/bin/mysqld_safe--datadir=$PRODAGENT_WORKDIR/mysqldata --socket=$PRODAGENT_WORKDIR/mysqldata/mysql.sock --skip-networking -log-error=$PRODAGENT_WORKDIR/mysqldata/error.log --pid-file=$PRODAGENT_WORKDIR/mysqldata/mysqld.pid &
prodAgentd --start
%ENDCODE%
You can use also
prodAgentd --status
prodAgentd --shutdown
AlpGen Production using ProdAgent
AlpGen uses a python script, cmsGen to interface with AlpGen inside CMSSW, following these steps:
- 1rst step: get information from the config file
- 2nd step: copy alpgen grid2 file
- 3rd step: split the cfg file into two files
- 4th step: make weighted events
- 5th step: make unweighted events
- 6th step: make links and providing some information
First, set up your cms environment:
%CODE{"sh"}%
TOP=$PWD
export SCRAM_ARCH=slc4_ia32_gcc345
export BUILD_ARCH=slc4_ia32_gcc345
export VDT_LOCATION=/OSG
source $VDT_LOCATION/setup.sh
#Check for valid voms proxy, must be valid for at least 24hrs
voms-proxy-info -exists -valid 24:00
if [ $? == 1 ] ; then
voms-proxy-init -voms cms:/cms/uscms
fi
export X509_USER_PROXY=$(voms-proxy-info -path)
# define versions
project=CMSSW
version=2_1_12
# set up a CMSSW area
cd $TOP
export SW_DIR=/home/OSG_app/app/cmssoft/cms
source $SW_DIR/cmsset_default.sh ${project}_${version}
scramv1 project $project ${project}_${version}
cd ${project}_${version}/src
Now we have to install the AlpGen :
cmsenv
export CVSROOT=:ext:mafd@cmscvs.cern.ch:/cvs_server/repositories/CMSSW
export CVS_RSH=/usr/bin/ssh
addpkg GeneratorInterface/AlpgenInterface V00-03-00-01
addpkg FWCore/Sources V00-15-01-01
cvs co -r 1.1.2.3 GeneratorInterface/AlpgenInterface/src/AlpgenExtractor.cc
scram b
%ENDCODE%
Create a configuration file , =w0j_0ptw100_alpgen.cfg=, with
* First line: alpgen (*always*)
* Second line: name of the executable
* Third line: name of the grid2 file (*without ".grid2*)
* All the rest: standard parameters, it's highly recommended not to include the seeds to avoid confusion (but it doesn't matter)
About =grid2 files=, they MUST be in the CMSSW release. They are in this area: =$HOME/CMSSW_2_1_12/src/GeneratorInterface/AlpgenInterface/data/=
alpgen
wjet_0ptw100gen
w0j_0ptw100
njets 0
ebeam 7000
ih2 1
ickkw 1
iqopt 1
ptjmin 20
etajmax 5
drjmin 0.7
iwdecmode 4
now you can run this
%CODE{"sh"}%
export PYTHONPATH=$PYTHONPATH:$HOME/prodagent/slc4_ia32_gcc345/cms/prodcommon/PRODCOMMON_0_12_9-cmp/lib/
mkdir $HOME/cmsRun1 $HOME/cmsGen1
python $HOME/prodagent/slc4_ia32_gcc345/cms/prodcommon/PRODCOMMON_0_12_9-cmp/lib/ProdCommon/CmsGen/cmsGen.py --generator=alpgen --number-of-events=1000 --seeds=10 --cfg=$HOME/w0j_0ptw100_alpgen.cfg
%ENDCODE%