Project

General

Profile

Legacy Validation » History » Version 8

« Previous - Version 8/9 (diff) - Next » - Current version
Tomasz Golan, 06/02/2016 11:33 AM


Legacy Validation

Legacy validation (src/scripts/production/batch) was translated to python and jobsub. At this moment, the code lives here: https://github.com/TomaszGolan/legacyValidation or here: /grid/fermiapp/genie/legacyValidation/

General comments on running GENIE on OSG can be found here: https://cdcvs.fnal.gov/redmine/projects/genie/wiki/Running_GENIE_on_grid

General instruction to legacy validation can be found on github.

Step by step

Builds

  • go to https://buildmaster.fnal.gov/view/GENIE/job/jenkinsTest/
  • choose Build with Parameters
  • choose the branch, e.g. branches/R-2_10_6 or trunk
  • every time build is called, svn repository is checked out, chosen branch is compiled and artifact is created
  • artifact name convention: genie_[branch]_buildmaster_YYYY-MM-DD.tgz
  • note, that name convention and link to jenkins is hard-coded in legacyValidation/jenkins.py

Run legacy validation:

  • go to /grid/fermiapp/genie/legacyValidation/
  • run runLegacyValidation.py, e.g.
./runLegacyValidation.py --genie_tag trunk --run_path /grid/fermiapp/genie/legacyValidation/runGENIE.sh --builds /grid/fermiapp/genie/builds/ --output /pnfs/genie/scratch/users/goran/legacyValidation
  • first the script will grab the last artifact for --genie_tag (note, you can specified build date by hand using --build_date flag)
  • it will be saved / extracted in --builds folder (note, this step is skipped if the build already exists in the folder)
  • --run_path is required; it gives the path to runGENIE.sh script which is used to run every GENIE job at grid (it handles copying input files, running GENIE command and copying output to pnfs)
  • the results will be saved in --output folder under [branch]/[build date] with the following structure
├── events                                           # ROOT files with event trees
│   ├── hadronization                                # used for hadronitzation test
│   ├── mctest                                       # used for "sanity" test
│   ├── repeatability                                # used for repeatability test
│   └── xsec_validation                              # used for xsec validation
├── legacyValidation-[branch]-[build date].dag       # this is a jobsub dag file which will be submitted
├── reports                                          # final results
│   ├── hadronization_test                           
│   │   └── file_list-[branch]-[build date].xml      # this is filelist xml file genrated automatically to be used for hadronization test jobs
│   ├── repeatability_test
│   ├── sanity_mctest
│   └── xsec_validation
│       ├── file_list-[branch]-[build date].xml      # this is filelist xml file genrated automatically to be used for xsec test jobs
│       └── single_comparisons_with_errors           # script generated one set with all plots; in this folder there are plot per test but with MC errors included
└── xsec                                             # xsec splines
    ├── nuA                                          # for nuclei
    └── nuN                                          # for nucleons

Run branches comparison

  • go to /grid/fermiapp/genie/legacyValidation/
  • run compare.py, e.g.
./compare.py --builds /grid/fermiapp/genie/builds/ --genie_tags 'R-2_10_6 R-2_10_8' --genie_dates '2016-04-04 2016-05-12' --top_dir /pnfs/genie/persistent/users/goran/legacyValidation/ --comp_path /grid/fermiapp/genie/legacyValidation/runCompare.sh
  • it needs path to $GENIE/bin, it will use --builds/[first provided tag]
  • it will look for the results in --top_dir assuming the folder structure explained above, in this case:
/pnfs/genie/persistent/users/goran/legacyValidation/R-2_10_6/2016-04-04
/pnfs/genie/persistent/users/goran/legacyValidation/R-2_10_8/2016-05-12
  • --comp_path flag is required; it gives the path to runCompare.sh script which is used to run GENIE validation apps (not at grid)