diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 17b92796498871b5468676237659bc589f5451f1..3145f1cfc2a085f201f15a57bdb673684c07ac89 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@ image: eicweb.phy.anl.gov:4567/eic/juggler/juggler:latest
 
 default:
   artifacts:
-    expire_in: 10 mins
+    expire_in: 60 mins
     paths:
       - config/
       - results/
@@ -45,7 +45,6 @@ generate_config:
   script:
     - mkdir -p config && ./bin/gen_ci_config -p test_ -i dummy > config/dummy_config.yml
     - mkdir -p config && ./bin/gen_ci_config -p clustering_ -i clustering > config/clustering_config.yml
-    - mkdir -p config && ./bin/gen_ci_config -p ecal_ -i ecal > config/ecal_config.yml
 
 dummy-pipeline:
   stage: run
@@ -65,14 +64,17 @@ clustering-pipeline:
         job: generate_config
     strategy: depend
 
-ecal-pipeline:
-  stage: run
-  needs: ["generate_config"]
-  trigger:
-    include:
-      - artifact: config/ecal_config.yml
-        job: generate_config
-    strategy: depend
+include: 
+  - local: 'ecal/ecal_config.yml'
+
+    #ecal-pipeline:
+    #  stage: run
+    #  needs: ["get_data"]
+    #  trigger:
+    #    include:
+    #      - artifact: config/ecal_config.yml
+    #        job: generate_config
+    #    strategy: depend
 
     #crystal_electron_simulation:
     #  stage: run
diff --git a/ecal/ecal_config.yml b/ecal/ecal_config.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f359b64910c805140211bc0f7293d6dc77366ad2
--- /dev/null
+++ b/ecal/ecal_config.yml
@@ -0,0 +1,14 @@
+ecal_1_emcal_electrons:
+  image: eicweb.phy.anl.gov:4567/eic/juggler/juggler:latest
+  tags:
+    - silicon
+  timeout: 12 hours 30 minutes
+  artifacts:
+    expire_in: 20 weeks
+    paths:
+      - results/
+      - sim_output/
+  stage: run
+  script:
+    - bash ecal/emcal_electrons.sh
+
diff --git a/ecal/emcal_electrons.sh b/ecal/emcal_electrons.sh
index 73b0e56ffb55f60b2a976cf23a765fd1b1a4a658..4404dab5486669dfe7fafe7b9898900898692a12 100644
--- a/ecal/emcal_electrons.sh
+++ b/ecal/emcal_electrons.sh
@@ -1,14 +1,25 @@
 #!/bin/bash
 
+
+if [[ ! -n  "${JUGGLER_DETECTOR}" ]] ; then 
+  export JUGGLER_DETECTOR="topside"
+fi
+
+if [[ ! -n  "${JUGGLER_N_EVENTS}" ]] ; then 
+  export JUGGLER_N_EVENTS=1000
+fi
+
 export JUGGLER_FILE_NAME_TAG="emcal_uniform_electrons"
-export JUGGLER_N_EVENTS=1000
-export JUGGLER_DETECTOR="topside"
 export JUGGLER_GEN_FILE="${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"
 
+echo "JUGGLER_N_EVENTS = ${JUGGLER_N_EVENTS}"
+echo "JUGGLER_DETECTOR = ${JUGGLER_DETECTOR}"
+
 git clone https://eicweb.phy.anl.gov/EIC/datasets.git datasets
-root -b -q "datasets/emcal_electrons.cxx(1e4, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
+root -b -q "datasets/emcal_electrons.cxx(${JUGGLER_N_EVENTS}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
 
 git clone https://eicweb.phy.anl.gov/EIC/detectors/${JUGGLER_DETECTOR}.git
 mkdir ${JUGGLER_DETECTOR}/build
@@ -20,6 +31,7 @@ pushd ${JUGGLER_DETECTOR}
 ls -l
 # run geant4 simulations
 npsim --runType batch \
+      -v WARNING \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${JUGGLER_DETECTOR}.xml \
       --inputFiles ../${JUGGLER_FILE_NAME_TAG}.hepmc \
@@ -27,10 +39,16 @@ npsim --runType batch \
 # Need to figure out how to pass file name to juggler from the commandline
 
 xenv -x /usr/local/Juggler.xenv gaudirun.py ../ecal/options/example_crystal.py
+ls -l
 
 popd
+ls -l
 
 pwd
 mkdir -p results
-root -b -q "./scripts/makeplot.C(\"${JUGGLER_DETECTOR}/${JUGGLER_SIM_FILE}\")"
+root -b -q "./scripts/makeplot.C(\"${JUGGLER_DETECTOR}/${JUGGLER_REC_FILE}\")"
+
+mkdir -p sim_output
+cp "${JUGGLER_DETECTOR}/${JUGGLER_REC_FILE}" sim_output/.
+cp "${JUGGLER_DETECTOR}/${JUGGLER_SIM_FILE}" sim_output/.