Repository navigation
Produce oscillation sensitivity plots
Stat only example, for including systematics increase jobs (~200-400) and memory, change config/tag/tarball (stat only runs very quickly if use tarball that only includes dsts)
jobsub_submit \
--group sbnd \
--role=Analysis --memory=8000MB --expected-lifetime=48h --disk=50GB \
--onsite-only \
--singularity-image /cvmfs/singularity.opensciencegrid.org/fermilab/fnal-wn-sl7:latest \
-N 40 \
--generate-email-summary \
-f /pnfs/sbnd/resilient/users/bslater/valor_prism_3or8_numu_stat.tar \
file:////sbnd/app/users/bslater/valor/VALOR-SBN/prod/jobsub_submit_param_scan_multifits_v2_tarball.sh \
--tag sbnd_prism3_numu_stat --param_nullhyp1 0 --param_nullhyp2 0 \
--physics-hypothesis eff_sterile_osc \
--config-file /pnfs/sbnd/persistent/users/bslater/valor/config/sbn_numu_disapp_prism3_2020a1_sbndonly_stat.xml \
--param1 sinsq2thMuMu --min-value1 1E-3 --max-value1 1 --log-param1 1 --npoints1 40 \
--param2 dm41sq --min-value2 1E-2 --max-value2 1E2 --log-param2 1 --npoints2 40 \
--param3 sinsq2thMuE --param_nullhyp3 0 --fixed_at_val3 0 --fix_val3 0 \
--param4 sinsq2thEE --param_nullhyp4 0 --fixed_at_val4 0 --fix_val4 1 \
--discovery 1 --hierarchy normal --store-spectra 1 \
--fit-option minuit+with_simplex_fallback \
--load-prior-from-file none --pot-override -999 \
--mesg-thresholds verbosity.xml --param-values-option prefit-errors \
--jobdir /pnfs/sbnd/scratch/users/bslater2/valor/prism3/numu_stat \
--tarball valor_prism_3or8_numu_stat.tar \
--njobs 40 \
--osc-prior-file /pnfs/sbnd/persistent/users/bslater/valor/priors/void.xml \
-f is full tarball path
--tarball is name of tarball
file:/// changes from old to accommodate accessing tarball by jobsub copying it to the worker node from dCache, and making it available at the same path on the worker node
Jobsub options you may want to change: --memory, --expected-lifetime, --disk, number of jobs (both -N and --njobs) (use your intuition)
--fix_val3 and --fix_val4 should have at least 1 floating (set to 0) for stat-only fits but for stat+syst fits both should eb fixed (set to 1)
VALOR options you may want to change: --config-file, --paramX (param1 is the mixing angle of interest, param3/4 are the other two mixing angles which we tend to fix to 0), --min-value1 and max-value1 (tend to use [1E-3,1] for numu and [1E-5,1] for nue)
Config file, prior file, jobdir, and tarball need to be on /pnfs. Obviously point these to one of your own directories (tarball on resilient, config/prior on persistent).
--jobdir should point to /pnfs/sbnd/scratch/users/usename/ as the token authentication path that users have access to depends on the username
Check job status at https://fifemon.fnal.gov/monitor/d/000000116/user-batch-details?orgId=1
Same as above but with injected osc params.
i.e. --param_nullhyp has non-zero values.
Put all the fit root files in one directory.
$VALOR_EXPT/macros/contours/fit_result_to_graphs.py '/path/to/root/files/*.root' -p ANALYSIS_VARIANT -e
where ANALYSIS_VARIANT ∈ {MuMu, MuE, EE} and -e tells the script we're producing an exclusion contour (omit if doing inclusion).
External limits for comparison are located in VALOR-SDK/data/contours/sterile_nu/.
valor VALOR-SBN/macros/contrib/tom/chisq_contours.cc'("output_root_file_from_fit_result_to_graphs.py","ANALYSIS_VARIANT")'
where ANALYSIS_VARIANT ∈ {mumu, mue, ee} <---> numu disappearance, nue appearance and nue disappearance.
Need to setup the Jobsub client.
source /cvmfs/sbnd.opensciencegrid.org/products/sbnd/setup_sbnd.sh
setup jobsub_client
jobsub_submit \
--group sbnd \
--role=Analysis --memory=6500MB --expected-lifetime=48h --disk=50GB \
--append_condor_requirements='((TARGET.HAS_SINGULARITY=?=true)&&(TARGET.HAS_CVMFS_sbnd_opensciencegrid_org==true))' \
--resource-provides=usage_model=DEDICATED,OPPORTUNISTIC,OFFSITE \
-l '+SingularityImage=\"/cvmfs/singularity.opensciencegrid.org/fermilab/fnal-wn-sl7:latest\"' \
-N 200 \
--generate-email-summary \
file:///sbnd/app/users/tham/VALOR_master/VALOR-SBN/prod/jobsub_submit_param_scan_multifits_v2.sh \
--tag sbn_modern_numu_disapp --param_nullhyp1 0 --param_nullhyp2 0 \
--physics-hypothesis eff_sterile_osc \
--config-file /pnfs/sbnd/persistent/users/tham/valor/config_files/sbn_2020/MY_CONFIG.XML \
--param1 sinsq2thMuMu --min-value1 1E-3 --max-value1 1 --log-param1 1 --npoints1 40 \
--param2 dm41sq --min-value2 1E-2 --max-value2 1E2 --log-param2 1 --npoints2 40 \
--param3 sinsq2thMuE --param_nullhyp3 0 --fixed_at_val3 0 --fix_val3 1 \
--param4 sinsq2thEE --param_nullhyp4 0 --fixed_at_val4 0 --fix_val4 1 \
--discovery 1 --hierarchy normal --store-spectra 1 \
--fit-option minuit+with_simplex_fallback \
--load-prior-from-file none --pot-override -999 \
--mesg-thresholds verbosity.xml --param-values-option prefit-errors \
--tarball /pnfs/sbnd/resilient/users/tham/valor/MY_TARBALL.tar \
--jobdir /pnfs/sbnd/persistent/users/tham/valor/MY_DIRECTORY \
--njobs 200 \
--osc-prior-file /pnfs/sbnd/persistent/users/tham/valor/priors/void.xml \
Jobsub options you may want to change: --memory, --expected-lifetime, --disk, number of jobs (both -N and --njobs) (use your intuition)
VALOR options you may want to change: --config-file, --paramX (param1 is the mixing angle of interest, param3/4 are the other two mixing angles which we tend to fix to 0), --min-value1 and max-value1 (tend to use [1E-3,1] for numu and [1E-5,1] for nue)
Same as above but with injected osc params.
i.e. --param_nullhyp has non-zero values.
Config file, prior file, tarball and jodir need to be on /pnfs. Obviously point these to one of your own directories.
VALOR_tarball.tar is a tarball of the VALOR-SBN and VALOR-SDK. Can create with
tar -cvf valor.tar VALOR-SBN/ VALOR-SDK/
(use -hcvf if data files are located elsewhere and are connected via symlink).
Avoid making your tarball too large, ~2GB or so is fine (otherwise you may get shouted at by grid people..).
Check job status at https://fifemon.fnal.gov/monitor/d/000000116/user-batch-details?orgId=1
Put all the fit root files in one directory.
$VALOR_EXPT/macros/contours/fit_result_to_graphs.py '/path/to/root/files/*.root' -p ANALYSIS_VARIANT -e
where ANALYSIS_VARIANT ∈ {MuMu, MuE, EE} and -e tells the script we're producing an exclusion contour (omit if doing inclusion).
External limits for comparison are located in VALOR-SDK/data/contours/sterile_nu/.
valor VALOR-SBN/macros/contrib/tom/chisq_contours.cc'("output_root_file_from_fit_result_to_graphs.py","ANALYSIS_VARIANT")'
where ANALYSIS_VARIANT ∈ {mumu, mue, ee} <---> numu disappearance, nue appearance and nue disappearance.
Copyright (c) 2010-2021, The VALOR Fitting Group. All Rights Reserved.