SCRIPT FOR RUNNING ON REMOTE DATASETS

From LHEP Wiki
Revision as of 09:49, 18 March 2015 by Lhep (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

To do only once :

  • 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()