Skip to content
Snippets Groups Projects
Commit f8eba5d4 authored by Sylvester Joosten's avatar Sylvester Joosten
Browse files

Update the CI scripts for the DIS stub to be consistent with the more generic...

Update the CI scripts for the DIS stub to be consistent with the more generic DVMP scripts. Also did some more restructuring of the benchmark to make it easier to split off a generic benchmark library in the future.
parent 0bf9ff3f
No related branches found
No related tags found
1 merge request!10Update dis
Showing
with 515 additions and 29 deletions
......@@ -44,7 +44,7 @@ BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
ColumnLimit: 100
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
......
......@@ -33,9 +33,9 @@ detector:
- ./util/build_detector.sh
include:
- local: 'dis/config.yml'
- local: 'dvmp/config.yml'
- local: 'dvcs/config.yml'
- local: 'benchmarks/dis/config.yml'
- local: 'benchmarks/dvmp/config.yml'
- local: 'benchmarks/dvcs/config.yml'
summary:
stage: finish
......
{
// Ensure fmt is loaded
R__LOAD_LIBRARY(libfmt);
//
// top-level include-dir
gROOT->ProcessLine(".include include");
// setup a local build directory so we don't polute our source code with
// ROOT dictionaries etc.
gSystem->SetBuildDir("/tmp/root_build");
// ROOT dictionaries etc. if desired
const char* build_dir = gSystem->Getenv("ROOT_BUILD_DIR");
if (build_dir) {
gSystem->SetBuildDir(build_dir);
}
// style definition based off the ATLAS style
TStyle* s = gStyle;
......@@ -37,7 +43,7 @@
// use large fonts
// Int_t font=72; // Helvetica italics
Int_t font = 43; // Helvetica
Int_t font = 43; // Helvetica
Double_t tsize = 26;
s->SetTextFont(font);
......
accelerator @ f3ff428e
Subproject commit f3ff428e3b926a41e95beaa984d8dc05cec37cc7
File moved
File moved
File moved
#ifndef DVMP_H
#define DVMP_H
#include <util.h>
#include <algorithm>
#include <cmath>
#include <exception>
#include <fmt/core.h>
#include <limits>
#include <string>
#include <vector>
#include <Math/Vector4D.h>
// Additional utility functions for DVMP benchmarks. Where useful, these can be
// promoted to the top-level util library
namespace util {
// ADD EXTRA DIS UTILTIY FUNCTIONS HERE
//=========================================================================================================
} // namespace util
#endif
#include "dis.h"
#include "plot.h"
#include <benchmark.h>
#include <mt.h>
#include <util.h>
#include "ROOT/RDataFrame.hxx"
#include <cmath>
#include <fmt/color.h>
#include <fmt/core.h>
#include <fstream>
#include <iostream>
#include <nlohmann/json.hpp>
#include <string>
#include <vector>
int dis_electrons(const std::string& config_name)
{
// read our configuration
std::ifstream config_file{config_name};
nlohmann::json config;
config_file >> config;
const std::string rec_file = config["rec_file"];
const std::string detector = config["detector"];
std::string output_prefix = config["output_prefix"];
const std::string test_tag = config["test_tag"];
fmt::print(fmt::emphasis::bold | fg(fmt::color::forest_green),
"Running DIS electron analysis...\n");
fmt::print(" - Detector package: {}\n", detector);
fmt::print(" - input file: {}\n", rec_file);
fmt::print(" - output prefix: {}\n", output_prefix);
fmt::print(" - test tag: {}\n", test_tag);
// create our test definition
// test_tag
eic::util::Test dis_Q2_resolution{
{{"name", fmt::format("{}_Q2_resolution", test_tag)},
{"title", "DIS Q2 resolution"},
{"description",
fmt::format("DIS Q2 resolution with {}, estimated using a Gaussian fit.", detector)},
{"quantity", "resolution (in %)"},
{"target", "0.1"}}};
// Run this in multi-threaded mode if desired
ROOT::EnableImplicitMT(kNumThreads);
const double electron_mass = util::get_pdg_mass("electron");
// Ensure our output prefix always ends on a dot, a slash or a dash
// Necessary when generating output plots
if (output_prefix.back() != '.' && output_prefix.back() != '/' && output_prefix.back() != '-') {
output_prefix += "-";
}
ROOT::RDataFrame d("events", rec_file);
// utility lambda functions to bind the reconstructed particle type
// (as we have no PID yet)
auto momenta_from_tracking =
[electron_mass](const std::vector<eic::TrackParametersData>& tracks) {
return util::momenta_from_tracking(tracks, electron_mass);
};
auto d0 = d.Define("p_rec", momenta_from_tracking, {"outputTrackParameters"})
.Define("N", "p_rec.size()")
.Define("p_sim", util::momenta_from_simulation, {"mcparticles2"})
.Define("mom_sim", util::mom, {"p_sim"})
.Define("mom_rec", util::mom, {"p_rec"});
auto h_mom_sim = d0.Histo1D({"h_mom_sim", "; GeV; counts", 100, 0, 50}, "mom_sim");
auto h_mom_rec = d0.Histo1D({"h_mom_rec", "; GeV; counts", 100, 0, 50}, "mom_rec");
auto c = new TCanvas();
// Plot our histograms.
// TODO: to start I'm explicitly plotting the histograms, but want to
// factorize out the plotting code moving forward.
{
TCanvas c{"canvas", "canvas", 1200, 1200};
c.cd();
// gPad->SetLogx(false);
gPad->SetLogy(true);
auto& h1 = *h_mom_sim;
auto& h2 = *h_mom_rec;
// histogram style
h1.SetLineColor(plot::kMpBlue);
h1.SetLineWidth(2);
h2.SetLineColor(plot::kMpOrange);
h2.SetLineWidth(2);
// axes
h1.GetXaxis()->CenterTitle();
h1.GetYaxis()->CenterTitle();
// draw everything
h1.DrawClone("hist");
h2.DrawClone("hist same");
// FIXME hardcoded beam configuration
plot::draw_label(18, 275, detector);
TText* tptr1;
auto t1 = new TPaveText(.6, .8417, .9, .925, "NB NDC");
t1->SetFillColorAlpha(kWhite, 0);
t1->SetTextFont(43);
t1->SetTextSize(25);
tptr1 = t1->AddText("simulated");
tptr1->SetTextColor(plot::kMpBlue);
tptr1 = t1->AddText("reconstructed");
tptr1->SetTextColor(plot::kMpOrange);
t1->Draw();
c.Print(fmt::format("{}momentum.png", output_prefix).c_str());
}
return 0;
}
{
"name": "DIS/SIDIS",
"title": "DIS/SIDIS Benchmarks",
"description": "Benchmark for (Semi-inclusive) DIS",
"target": "0.8"
}
dis:generate:
stage: initialize
image: eicweb.phy.anl.gov:4567/eic/juggler/juggler:latest
needs: []
timeout: 1 hours
cache:
key:
files:
- benchmarks/dis/generator/pythia_dis.cxx
prefix: "$CI_COMMIT_REF_SLUG"
paths:
- input/dis
artifacts:
paths:
- results
- input
script:
- bash dis/gen.sh
- bash benchmarks/dis/gen.sh --config barrel --ebeam 18 --pbeam 275
dis:process:
stage: process
needs: ["detector", "dis:generate"]
timeout: 1 hour
script:
- source options/env.sh
- ./util/compile_analyses.py dis
- ./benchmarks/dis/dis.sh --config barrel --ebeam 18 --pbeam 275
artifacts:
paths:
- results
script:
- echo "DIS benchmarks"
retry:
max: 2
when:
- runner_system_failure
cache:
key:
files:
- .rootlogon.C
- util/compile_analyses.py
prefix: "$CI_COMMIT_REF_SLUG"
paths:
- .local/root_build
dis:results:
stage: collect
needs: ["dis:process"]
script:
- echo "All DIS benchmarks successful"
- ./util/collect_tests.py dis
artifacts:
paths:
- results/dis.json
- results/dis
#!/bin/bash
## =============================================================================
## Run the DVMP benchmarks in 5 steps:
## 1. Build/install detector package
## Run the DIS benchmarks in 5 steps:
## 1. Parse the command line and setup environment
## 2. Detector simulation through npsim
## 3. Digitization and reconstruction through Juggler
## 4. Root-based Physics analyses
## 5. Finalize
## =============================================================================
echo "Running the DIS benchmarks"
## make sure we launch this script from the project root directory
PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/..
PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/../..
pushd ${PROJECT_ROOT}
echo "Running the DIS benchmarks"
## =============================================================================
## Load the environment variables. To build the detector we need the following
## variables:
## Step 1: Setup the environment variables
##
## First parse the command line flags.
## This sets the following environment variables:
## - CONFIG: The specific generator configuration
## - EBEAM: The electron beam energy
## - PBEAM: The ion beam energy
source util/parse_cmd.sh $@
## To run the reconstruction, we need the following global variables:
## - JUGGLER_INSTALL_PREFIX: Install prefix for Juggler (simu/recon)
## - JUGGLER_DETECTOR: the detector package we want to use for this benchmark
## - DETECTOR_PATH: full path to the detector definitions
##
## You can ready config/env.sh for more in-depth explanations of the variables
## You can ready options/env.sh for more in-depth explanations of the variables
## and how they can be controlled.
source config/env.sh
## Extra environment variables for DVMP:
## file tag for these tests
JUGGLER_FILE_NAME_TAG="dis"
# TODO use the input file name, as we will be generating a lot of these
# in the future...
# FIXME Generator file hardcoded for now
## note: these variables need to be exported to be accessible from
## the juggler options.py. We should really work on a dedicated
## juggler launcher to get rid of these "magic" variables. FIXME
export JUGGLER_GEN_FILE="results/dis/${JUGGLER_FILE_NAME_TAG}.hepmc"
export JUGGLER_SIM_FILE="sim_${JUGGLER_FILE_NAME_TAG}.root"
export JUGGLER_REC_FILE="rec_${JUGGLER_FILE_NAME_TAG}.root"
source options/env.sh
## We also need the following benchmark-specific variables:
##
## - BENCHMARK_TAG: Unique identified for this benchmark process.
## - BEAM_TAG: Identifier for the chosen beam configuration
## - INPUT_PATH: Path for generator-level input to the benchmarks
## - TMP_PATH: Path for temporary data (not exported as artifacts)
## - RESULTS_PATH: Path for benchmark output figures and files
##
## You can read dvmp/env.sh for more in-depth explanations of the variables.
source benchmarks/dis/env.sh
## Get a unique file names based on the configuration options
GEN_FILE=${INPUT_PATH}/gen-${CONFIG}_${JUGGLER_N_EVENTS}.hepmc
SIM_FILE=${TMP_PATH}/sim-${CONFIG}.root
SIM_LOG=${TMP_PATH}/sim-${CONFIG}.log
## =============================================================================
## Step 1: Build/install the desired detector package
## TODO remove this
#bash util/build_detector.sh
REC_FILE=${TMP_PATH}/rec-${CONFIG}.root
REC_LOG=${TMP_PATH}/sim-${CONFIG}.log
PLOT_TAG=${CONFIG}
## =============================================================================
## Step 2: Run the simulation
......@@ -55,8 +65,8 @@ npsim --runType batch \
-v WARNING \
--numberOfEvents ${JUGGLER_N_EVENTS} \
--compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
--inputFiles ${JUGGLER_GEN_FILE} \
--outputFile ${JUGGLER_SIM_FILE}
--inputFiles ${GEN_FILE} \
--outputFile ${SIM_FILE}
if [ "$?" -ne "0" ] ; then
echo "ERROR running npsim"
exit 1
......@@ -65,36 +75,67 @@ fi
## =============================================================================
## Step 3: Run digitization & reconstruction
echo "Running the digitization and reconstruction"
# FIXME Need to figure out how to pass file name to juggler from the commandline
## FIXME Need to figure out how to pass file name to juggler from the commandline
## the tracker_reconstruction.py options file uses the following environment
## variables:
## - JUGGLER_SIM_FILE: input detector simulation
## - JUGGLER_REC_FILE: output reconstructed data
## - JUGGLER_DETECTOR_PATH: Location of the detector geometry
## - JUGGLER_N_EVENTS: number of events to process (part of global environment)
## - JUGGLER_DETECTOR: detector package (part of global environment)
export JUGGLER_SIM_FILE=${SIM_FILE}
export JUGGLER_REC_FILE=${REC_FILE}
export JUGGLER_DETECTOR_PATH=${DETECTOR_PATH}
xenv -x ${JUGGLER_INSTALL_PREFIX}/Juggler.xenv \
gaudirun.py options/tracker_reconstruction.py
gaudirun.py options/tracker_reconstruction.py \
2>&1 > ${REC_LOG}
## on-error, first retry running juggler again as there is still a random
## crash we need to address FIXME
if [ "$?" -ne "0" ] ; then
echo "ERROR running juggler"
exit 1
echo "Juggler crashed, retrying..."
xenv -x ${JUGGLER_INSTALL_PREFIX}/Juggler.xenv \
gaudirun.py options/tracker_reconstruction.py \
2>&1 > ${REC_LOG}
if [ "$?" -ne "0" ] ; then
echo "ERROR running juggler, both attempts failed"
exit 1
fi
fi
ls -l
## =============================================================================
## Step 4: Analysis
root -b -q "dis/analysis/rec_dis_electrons.cxx(\"${JUGGLER_DETECTOR}/${JUGGLER_REC_FILE}\")"
## write a temporary configuration file for the analysis script
echo "Running analysis"
CONFIG="${TMP_PATH}/${PLOT_TAG}.json"
cat << EOF > ${CONFIG}
{
"rec_file": "${REC_FILE}",
"detector": "${JUGGLER_DETECTOR}",
"output_prefix": "${RESULTS_PATH}/${PLOT_TAG}",
"test_tag": "${BEAM_TAG}"
}
EOF
#cat ${CONFIG}
root -b -q "benchmarks/dis/analysis/dis_electrons.cxx+(\"${CONFIG}\")"
#root -b -q "benchmarks/dis/analysis/dis_electrons.cxx(\"${CONFIG}\")"
if [[ "$?" -ne "0" ]] ; then
echo "ERROR running root script"
echo "ERROR running rec_dis_electron script"
exit 1
fi
## =============================================================================
## Step 5: finalize
echo "Finalizing ${JUGGLER_FILE_NAME_TAG} benchmark"
echo "Finalizing DIS benchmark"
## Copy over reconsturction artifacts as long as we don't have
## Move over reconsturction artifacts as long as we don't have
## too many events
if [ "${JUGGLER_N_EVENTS}" -lt "500" ] ; then
cp ${JUGGLER_REC_FILE} results/dis/.
cp ${REC_FILE} ${RESULTS_PATH}
fi
## cleanup output files
rm ${JUGGLER_REC_FILE} ${JUGGLER_SIM_FILE}
## Always move over log files to the results path
cp ${REC_LOG} ${RESULTS_PATH}
## =============================================================================
## All done!
echo "${JUGGLER_FILE_NAME_TAG} benchmarks complete"
echo "DIS benchmarks complete"
#!/bin/bash
## =============================================================================
## Local configuration variables for this particular benchmark
## It defines the following additional variables:
##
## - BENCHMARK_TAG: Tag to identify this particular benchmark
## - BEAM_TAG Tag to identify the beam configuration
## - INPUT_PATH: Path for generator-level input to the benchmarks
## - TMP_PATH: Path for temporary data (not exported as artifacts)
## - RESULTS_PATH: Path for benchmark output figures and files
##
## This script assumes that EBEAM and PBEAM are set as part of the
## calling script (usually as command line argument).
##
## =============================================================================
## Tag for the local benchmark. Should be the same as the directory name for
## this particular benchmark set (for clarity).
## This tag is used for the output artifacts directory (results/${JUGGLER_TAG})
## and a tag in some of the output files.
export BENCHMARK_TAG="dis"
echo "Setting up the local environment for the ${BENCHMARK_TAG^^} benchmarks"
## Extra beam tag to identify the desired beam configuration
export BEAM_TAG="${EBEAM}on${PBEAM}"
## Data path for input data (generator-level hepmc file)
INPUT_PATH="input/${BENCHMARK_TAG}/${BEAM_TAG}"
mkdir -p ${INPUT_PATH}
export INPUT_PATH=`realpath ${INPUT_PATH}`
echo "INPUT_PATH: ${INPUT_PATH}"
## Data path for temporary data (not exported as artifacts)
TMP_PATH=${LOCAL_PREFIX}/tmp/${BEAM_TAG}
mkdir -p ${TMP_PATH}
export TMP_PATH=`realpath ${TMP_PATH}`
echo "TMP_PATH: ${TMP_PATH}"
## Data path for benchmark output (plots and reconstructed files
## if not too big).
RESULTS_PATH="results/${BENCHMARK_TAG}/${BEAM_TAG}"
mkdir -p ${RESULTS_PATH}
export RESULTS_PATH=`realpath ${RESULTS_PATH}`
echo "RESULTS_PATH: ${RESULTS_PATH}"
## =============================================================================
## That's all!
echo "Local environment setup complete."
......@@ -3,40 +3,65 @@
## =============================================================================
## Standin for a proper pythia generation process, similar to how we
## generate events for DVMP
## Runs in 5 steps:
## 1. Parse the command line and setup the environment
## 2. Check if we can load the requested file from the cache
## 3. Build generator exe
## 4. Run the actual generator
## 5. Finalize
## =============================================================================
## =============================================================================
## TODO: use JUGGLER_FILE_NAME_TAG instead of explicitly refering to dis
echo "Running the DIS benchmarks"
## make sure we launch this script from the project root directory
PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/..
PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/../..
pushd ${PROJECT_ROOT}
## =============================================================================
## Load the environment variables. To build the detector we need the following
## variables:
## Step 1: Setup the environment variables
## First parse the command line flags.
## This sets the following environment variables:
## - CONFIG: The specific generator configuration --> not currenlty used FIXME
## - EBEAM: The electron beam energy --> not currently used FIXME
## - PBEAM: The ion beam energy --> not currently used FIXME
source util/parse_cmd.sh $@
## To run the generator, we need the following global variables:
##
## - JUGGLER_INSTALL_PREFIX: Install prefix for Juggler (simu/recon)
## - JUGGLER_DETECTOR: the detector package we want to use for this benchmark
## - DETECTOR_PATH: full path to the detector definitions
## - LOCAL_PREFIX: Place to cache local packages and data
## - JUGGLER_N_EVENTS: Number of events to process
## - JUGGLER_RNG_SEED: Random seed for event generation.
##
## You can ready config/env.sh for more in-depth explanations of the variables
## You can read options/env.sh for more in-depth explanations of the variables
## and how they can be controlled.
source config/env.sh
source options/env.sh
## We also need the following benchmark-specific variables:
##
## - BENCHMARK_TAG: Unique identified for this benchmark process.
## - INPUT_PATH: Path for generator-level input to the benchmarks
## - TMP_PATH: Path for temporary data (not exported as artifacts)
##
## You can read dvmp/env.sh for more in-depth explanations of the variables.
source benchmarks/dis/env.sh
## Setup local environment
export DATA_PATH=results/dis
## Get a unique file name prefix based on the configuration options
GEN_TAG=gen-${CONFIG}_${JUGGLER_N_EVENTS} ## Generic file prefix
## Extra environment variables for DVMP:
## file tag for these tests
JUGGLER_FILE_NAME_TAG="dis"
## =============================================================================
## Step 2: Check if we really need to run, or can use the cache.
if [ -f "${INPUT_PATH}/${GEN_TAG}.hepmc" ]; then
echo "Found cached generator output for $GEN_TAG, no need to rerun"
exit 0
fi
echo "Generator output for $GEN_TAG not found in cache, need to run generator"
## =============================================================================
## Step 1: Dummy event generator
## TODO better file name that encodes the actual configuration we're running
echo "Compiling dis/src/pythia_dis.cc ..."
g++ dis/src/pythia_dis.cc -o pythia_dis \
## Step 3: Build generator exe
## TODO: need to configurability to the generator exe
echo "Compiling benchmarks/dis/generator/pythia_dis.cxx ..."
g++ benchmarks/dis/generator/pythia_dis.cxx -o pythia_dis \
-I/usr/local/include -Iinclude \
-O2 -std=c++11 -pedantic -W -Wall -Wshadow -fPIC \
-L/usr/local/lib -Wl,-rpath,/usr/local/lib -lpythia8 -ldl \
......@@ -46,20 +71,26 @@ if [[ "$?" -ne "0" ]] ; then
exit 1
fi
echo "done"
pwd
ls -lrth
./pythia_dis dis.hepmc
## =============================================================================
## Step 4: Run the event generator
echo "Running the generator"
./pythia_dis ${TMP_PATH}/${GEN_TAG}.hepmc
if [[ "$?" -ne "0" ]] ; then
echo "ERROR running pythia"
exit 1
fi
## =============================================================================
## Step 5: Finally, move relevant output into the artifacts directory and clean up
## =============================================================================
## Step 2: finalize
echo "Moving event generator output into ${DATA_PATH}"
#mv .local/${JUGGLER_FILE_NAME_TAG}.hepmc ${DATA_PATH}/${JUGGLER_FILE_NAME_TAG}.hepmc
echo "Moving generator output into ${INPUT_PATH}"
mv ${TMP_PATH}/${GEN_TAG}.hepmc ${INPUT_PATH}/${GEN_TAG}.hepmc
## this step only matters for local execution
echo "Cleaning up"
## does nothing
## =============================================================================
## All done!
echo "dis event generation complete"
echo "$BENCHMARK_TAG event generation complete"
#include "Pythia8/Pythia.h"
#include "Pythia8Plugins/HepMC3.h"
#include <unistd.h>
#include <cassert>
#include <unistd.h>
using namespace Pythia8;
......@@ -13,7 +13,7 @@ using std::string;
enum class mode { none, help, list, part };
struct settings {
double E_electron = 10.0; // GeV
double E_electron = 18.0; // GeV
double E_ion = 275.0; // GeV
std::string outfile = "dis.hepmc";
int ion_PID = 2212;
......@@ -22,7 +22,7 @@ struct settings {
bool success = false;
double Q2_min = 4.0;
int N_events = 1000;
mode selected = mode::none;
mode selected = mode::none;
};
template <typename T>
......@@ -63,16 +63,15 @@ void print_man_page(T cli, const char* argv0)
}
//______________________________________________________________________________
settings cmdline_settings(int argc, char* argv[]) {
settings cmdline_settings(int argc, char* argv[])
{
settings s;
auto lastOpt =
" options:" % (option("-h", "--help").set(s.selected, mode::help) % "show help",
value("file", s.outfile).if_missing([] {
std::cout << "You need to provide an output filename argument!\n";
}) % "output file");
auto lastOpt = " options:" % (option("-h", "--help").set(s.selected, mode::help) % "show help",
value("file", s.outfile).if_missing([] {
std::cout << "You need to provide an output filename argument!\n";
}) % "output file");
auto cli =
(command("help").set(s.selected, mode::help) | lastOpt);
auto cli = (command("help").set(s.selected, mode::help) | lastOpt);
assert(cli.flags_are_prefix_free());
......@@ -95,7 +94,8 @@ settings cmdline_settings(int argc, char* argv[]) {
}
//______________________________________________________________________________
int main(int argc, char* argv[]) {
int main(int argc, char* argv[])
{
settings s = cmdline_settings(argc, argv);
if (!s.success) {
......
......@@ -3,7 +3,7 @@ dvcs:process:
timeout: 1 hour
needs: ["detector"]
script:
- bash dvcs/dvcs.sh
- bash benchmarks/dvcs/dvcs.sh
artifacts:
paths:
- results
......@@ -18,5 +18,3 @@ dvcs:results:
paths:
- results
# reports:
# junit: ["results/dvcs/dvcs_report.xml"]
......@@ -15,9 +15,9 @@ echo "JUGGLER_FILE_NAME_TAG = ${JUGGLER_FILE_NAME_TAG}"
## - JUGGLER_DETECTOR: the detector package we want to use for this benchmark
## - DETECTOR_PATH: full path to the detector definitions
##
## You can ready config/env.sh for more in-depth explanations of the variables
## You can ready options/env.sh for more in-depth explanations of the variables
## and how they can be controlled.
source config/env.sh
source options/env.sh
curl -o test_proton_dvcs_eic.hepmc "https://eicweb.phy.anl.gov/api/v4/projects/345/jobs/artifacts/master/raw/data/test_proton_dvcs_eic.hepmc?job=compile"
......@@ -51,7 +51,7 @@ fi
mkdir -p results/dvcs
root -b -q "dvcs/scripts/dvcs_tests.cxx(\"${JUGGLER_REC_FILE}\")"
root -b -q "benchmarks/dvcs/scripts/dvcs_tests.cxx(\"${JUGGLER_REC_FILE}\")"
if [[ "$?" -ne "0" ]] ; then
echo "ERROR running root script"
exit 1
......@@ -62,10 +62,6 @@ if [[ "${JUGGLER_N_EVENTS}" -lt "500" ]] ; then
cp ${JUGGLER_REC_FILE} results/dvcs/.
fi
# Collect the results
#cp dvcs/report.xml results/dvcs/.
#cp dvcs/report2.xml results/dvcs/.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment