SCRIPT FOR RUNNING ON REMOTE DATASETS
Jump to navigation
Jump to search
To do only once :
- Assumes that you have compiled and tested your Athena code locally.
- Then, copy your package on lxplus (on the scratch to avoid quota issues. see https://twiki.cern.ch/twiki/bin/view/Atlas/GangaTutorial5, https://twiki.cern.ch/twiki/bin/view/Atlas/GangaShortTutorial5 and http://www-hep2.fzu.cz/twiki/bin/view/ATLAS/AthenaRelated to see how to setup Athena and Ganga on lxplus)
- Create a Load.Athena function in your profile script (below, what I put in .zshrc ) :
function Load.Athena { echo "Example : Load.Athena 15.3.1,setup,32" source ${HOME}/cmthome/setup.sh -tag=$* shift }
- Create a Load.Ganga function in your profile script (below, what I put in .zshrc ) :
function Load.Ganga { echo "Loading Ganga Environment" echo "Your LFC host:" ${LFC_HOST} # automatic LXPLUS Ganga setup source /afs/cern.ch/sw/ganga/install/etc/setup-atlas.sh $* }
To do each time you want to use ganga :
- From your home directory : Load.Athena 15.3.1,setup,32
cd $TestArea/<path/to/analysis/package>/cmt source setup.sh cd ../run Load.Ganga
and edit a ganga joboption as follows :
j = Job() j.name='LCG_SU3' # the name you want j.application=Athena() j.application.atlas_release = '15.3.1.6' # or anything else release j.application.exclude_from_user_area=["*.o","*.root*","*.exe"] j.application.prepare_old(athena_compile=True) # if need to use your own unofficial package j.application.option_file = 'Analysis_common_gangaTopOption.py' # joboption defining the common definition, useful when want to run the same code on many datasets j.application.max_events=-1 j.inputdata = DQ2Dataset() j.inputdata.dataset="mc08.105403.SU3_jimmy_susy.merge.AOD.e352_s462_r635_t53/" # your dataset j.outputdata=DQ2OutputDataset() j.outputdata.datasetname='105403.SU3._t53_v2' # the name of your production j.outputdata.outputdata=['Analysis.aan.root'] j.backend=LCG() # run on LCG because all datasets not available on nordugrid j.backend.requirements=AtlasLCGRequirements() j.backend.requirements.cloud = 'FR' # or anything else :-) j.splitter=DQ2JobSplitter() j.splitter.numsubjobs=2 j.submit()