Project

General

Profile


Contents page for CI validation documentation:


How to run the CI validation scripts locally

Note that full, detailed, documentation about how to use and edit the CI validation scripts can be found in Docdb-13373

If your CI validation jobs fail before the plots are produced and uploaded to the CI webpage (but still produced anatrees in the pnfs output directory), you may want to run the validation scripts locally. The CI validation scripts are installed in ubutil and are very easy to run yourself. Just follow these steps:

1. Set up the most recent version of ubutil

Setting up the most recent version of ubutil will ensure you have the most up-to-date validation scripts. Run these commands:

To list available versions of ubutil (and find the most recent one):

source /cvmfs/uboone.opensciencegrid.org/products/setup_uboone.sh
ups list -aK+ ubutil

Now you know which is the most recent version of ubutil, set it up:

setup ubutil <version> -q <qualifiers>

For example, right now the most recent version of ubutil is v07_04_00, with qualifier e17:prof, so I would run:

setup ubutil v07_04_00 -q e17:prof

2. Run the reconstructed-level validation

This validation script can be run on data or MC anatree files, and produces plots of reconstructed-level quantities only. In the CI validation, it is run on Corsika MC as part of the "Data_MC_Cosmic_Validation" workflow (for example, see here). Produce CI validation plots using this command:

sh ${UBUTIL_DIR}/bin/runAll.sh <anatree_file> "MC" <label> <anatree_file_for_comparison> "MC" <label_for_comparison>

where <anatree_file> and <anatree_file_for_comparison> should be the two analysistree files that you want to compare. The arguments <label> and <label_for_comparison> are what gets written in the legend: usually they should be either the uboonecode version or some identifier for your feature branch.

For example, to compare the output of the v07_04_00 and v07_03_00 CI validations, I would run:

sh ${UBUTIL_DIR}/bin/runAll.sh /pnfs/uboone/persistent/users/uboonepro/CI_physics_validation/data_mc_cosmic_validation/v07_04_00/3396/ana_hist_MC_merged.root MC v07_04_00 /pnfs/uboone/persistent/users/uboonepro/CI_physics_validation/data_mc_cosmic_validation/v07_03_00/3361/ana_hist_MC_merged.root MC v07_03_00

3. Run the truth-level validation

This validation script can only be run on MC, and makes most sense only on MC for neutrino interactions (e.g. BNB-only MC). In the CI validation, it is run on BNB MC as part of the "MC_BNB_Validation" workflow (for example, see here). Produce CI validation plots using this command:

sh ${UBUTIL_DIR}/bin/runCItruth.sh <anatree_file> <label> <anatree_file_for_comparison> <label_for_comparison> "short" 

As above, <anatree_file> and <anatree_file_for_comparison> should be the two analysistree files that you want to compare. The arguments <label> and <label_for_comparison> are what gets written in the legend: usually they should be either the uboonecode version or some identifier for your feature branch.

For example, to compare the output of the v07_04_00 and v07_03_00 CI validations, I would run:

sh ${UBUTIL_DIR}/bin/runCItruth.sh /pnfs/uboone/persistent/users/uboonepro/CI_physics_validation/mc_bnb_validation/v07_04_00/3397/ana_hist_merged.root v07_04_00 /pnfs/uboone/persistent/users/uboonepro/CI_physics_validation/mc_bnb_validation/v07_03_00/3318/ana_hist_merged.root v07_03_00 "short"