diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index ace163c18071fb2aa91540c14a6108f9acc1987c..0000000000000000000000000000000000000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,72 +0,0 @@
-#!groovy
-CHAT_CHANNEL = '#deep_learning'
-DEVELOPERS = ['mmoser@km3net.de, michael.m.moser@fau.de']
-
-def projectProperties = [
-        disableConcurrentBuilds(),
-        gitLabConnection('KM3NeT GitLab')
-]
-properties(projectProperties)
-
-node('master') {
-
-    // Start with a clean workspace
-    // cleanWs()
-    checkout scm
-
-    def docker_image = docker.build("orcasong-container:${env.BUILD_ID}")
-
-    docker_image.inside("-u root:root") {
-        gitlabBuilds(builds: ["install", "test"]) {
-            updateGitlabCommitStatus name: 'install', state: 'pending'
-            stage('build') {
-                try {
-                    sh """
-                        pip install .
-                    """
-                    updateGitlabCommitStatus name: 'install', state: 'success'
-                } catch (e) {
-                    // sendChatMessage("Build Failed")
-                    sendMail("Build Failed")
-                    updateGitlabCommitStatus name: 'install', state: 'failed'
-                    throw e
-                }
-            }
-            updateGitlabCommitStatus name: 'test', state: 'pending'
-            stage('test') {
-                try {
-                    sh """
-                        python -c "import orcasong"
-                    """
-                    updateGitlabCommitStatus name: 'test', state: 'success'
-                } catch (e) {
-                    // sendChatMessage("Build Failed")
-                    sendMail("Build Failed")
-                    updateGitlabCommitStatus name: 'test', state: 'failed'
-                    throw e
-                }
-            }
-        }
-    }
-}
-
-
-def sendChatMessage(message, channel=CHAT_CHANNEL) {
-    rocketSend channel: channel, message: "${message} - [Build ${env.BUILD_NUMBER} ](${env.BUILD_URL})"
-}
-
-
-def sendMail(subject, message='', developers=DEVELOPERS) {
-    for (int i = 0; i < developers.size(); i++) {
-        def developer = DEVELOPERS[i]
-        emailext (
-            subject: "$subject - Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
-            body: """
-                <p>$message</p>
-                <p>Check console output at <a href ='${env.BUILD_URL}'>${env.BUILD_URL}</a> to view the results.</p>
-            """,
-            to: developer
-        )
-    }
-}
-
diff --git a/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_1-5GeV_xyz-c.toml b/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_1-5GeV_xyz-c.toml
new file mode 100644
index 0000000000000000000000000000000000000000..36d7c2a7f84e312c8261d6421dcc69d540f9ad0f
--- /dev/null
+++ b/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_1-5GeV_xyz-c.toml
@@ -0,0 +1,37 @@
+# A config file for OrcaSong with multiple configurations.
+# Outcomment the config that you want to use!
+# More info about the .toml format at https://github.com/toml-lang/toml
+
+### All available options with some dummy values
+# --n_bins = '11,13,18,60'
+# --det_geo = 'Orca_115l_23m_h_9m_v'
+# --do2d = false
+# --do2d_plots = false
+# --do2d_plots_n = 10
+# --do3d = false
+# --do4d = true
+# --do4d_mode = 'time'
+# --timecut_mode = 'trigger_cluster'
+# --timecut_timespan = 'tight_1'
+# --do_mc_hits = false
+# --data_cut_triggered = false
+# --data_cut_e_low = 3
+# --data_cut_e_high = 100
+# --data_cut_throw_away = 0.00
+# --prod_ident = 1
+
+
+####----- Configuration for ORCA 115l -----####
+
+###--- 1-5GeV ---###
+
+### only take < 3GeV events, info throw away: elec-CC 0.25, muon-CC 0.25, elec-NC: 0.00
+
+## XYZ-C
+
+--n_bins = '11,13,18,31'
+--det_geo = 'Orca_115l_23m_h_9m_v'
+--do4d_mode = 'channel_id'
+--timecut_mode = 'trigger_cluster'
+--timecut_timespan = 'tight_0'
+--prod_ident = 2 # only for neutrinos: 1: 3-100 GeV prod, 2: 1-5 GeV prod.
\ No newline at end of file
diff --git a/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_1-5GeV_xyz-t.toml b/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_1-5GeV_xyz-t.toml
new file mode 100644
index 0000000000000000000000000000000000000000..517d58f888bc79ceaf3d49ff59709e3cdcb68ca3
--- /dev/null
+++ b/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_1-5GeV_xyz-t.toml
@@ -0,0 +1,37 @@
+# A config file for OrcaSong with multiple configurations.
+# Outcomment the config that you want to use!
+# More info about the .toml format at https://github.com/toml-lang/toml
+
+### All available options with some dummy values
+# --n_bins = '11,13,18,60'
+# --det_geo = 'Orca_115l_23m_h_9m_v'
+# --do2d = false
+# --do2d_plots = false
+# --do2d_plots_n = 10
+# --do3d = false
+# --do4d = true
+# --do4d_mode = 'time'
+# --timecut_mode = 'trigger_cluster'
+# --timecut_timespan = 'tight_1'
+# --do_mc_hits = false
+# --data_cut_triggered = false
+# --data_cut_e_low = 3
+# --data_cut_e_high = 100
+# --data_cut_throw_away = 0.00
+# --prod_ident = 1
+
+
+####----- Configuration for ORCA 115l -----####
+
+###--- 1-5GeV ---###
+
+### only take < 3GeV events, info throw away: elec-CC 0.25, muon-CC 0.25, elec-NC: 0.00
+
+## XYZ-T
+
+--n_bins = '11,13,18,100'
+--det_geo = 'Orca_115l_23m_h_9m_v'
+--do4d_mode = 'time'
+--timecut_mode = 'trigger_cluster'
+--timecut_timespan = 'tight_0'
+--prod_ident = 2 # only for neutrinos: 1: 3-100 GeV prod, 2: 1-5 GeV prod.
\ No newline at end of file
diff --git a/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_3-100GeV_xyz-c.toml b/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_3-100GeV_xyz-c.toml
new file mode 100644
index 0000000000000000000000000000000000000000..ea314ee905ec032605637d60549b954c0b0f0d7b
--- /dev/null
+++ b/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_3-100GeV_xyz-c.toml
@@ -0,0 +1,35 @@
+# A config file for OrcaSong with multiple configurations.
+# Outcomment the config that you want to use!
+# More info about the .toml format at https://github.com/toml-lang/toml
+
+### All available options with some dummy values
+# --n_bins = '11,13,18,60'
+# --det_geo = 'Orca_115l_23m_h_9m_v'
+# --do2d = false
+# --do2d_plots = false
+# --do2d_plots_n = 10
+# --do3d = false
+# --do4d = true
+# --do4d_mode = 'time'
+# --timecut_mode = 'trigger_cluster'
+# --timecut_timespan = 'tight_1'
+# --do_mc_hits = false
+# --data_cut_triggered = false
+# --data_cut_e_low = 3
+# --data_cut_e_high = 100
+# --data_cut_throw_away = 0.00
+# --prod_ident = 1
+
+
+####----- Configuration for ORCA 115l -----####
+
+###--- 3-100GeV ---###
+
+## XYZ-C
+
+--n_bins = '11,13,18,31'
+--det_geo = 'Orca_115l_23m_h_9m_v'
+--do4d_mode = 'channel_id'
+--timecut_mode = 'trigger_cluster'
+--timecut_timespan = 'tight_0'
+--prod_ident = 1 # only for neutrinos: 1: 3-100 GeV prod, 2: 1-5 GeV prod.
\ No newline at end of file
diff --git a/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_3-100GeV_xyz-t.toml b/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_3-100GeV_xyz-t.toml
new file mode 100644
index 0000000000000000000000000000000000000000..ea41e02650e610ceb296bfd39c6129a49b70c245
--- /dev/null
+++ b/orcasong/config/orca_115l_mupage_rn_neutr_classifier/conf_ORCA_115l_3-100GeV_xyz-t.toml
@@ -0,0 +1,35 @@
+# A config file for OrcaSong with multiple configurations.
+# Outcomment the config that you want to use!
+# More info about the .toml format at https://github.com/toml-lang/toml
+
+### All available options with some dummy values
+# --n_bins = '11,13,18,60'
+# --det_geo = 'Orca_115l_23m_h_9m_v'
+# --do2d = false
+# --do2d_plots = false
+# --do2d_plots_n = 10
+# --do3d = false
+# --do4d = true
+# --do4d_mode = 'time'
+# --timecut_mode = 'trigger_cluster'
+# --timecut_timespan = 'tight_1'
+# --do_mc_hits = false
+# --data_cut_triggered = false
+# --data_cut_e_low = 3
+# --data_cut_e_high = 100
+# --data_cut_throw_away = 0.00
+# --prod_ident = 1
+
+
+####----- Configuration for ORCA 115l -----####
+
+###--- 3-100GeV ---###
+
+## XYZ-T
+
+--n_bins = '11,13,18,100'
+--det_geo = 'Orca_115l_23m_h_9m_v'
+--do4d_mode = 'time'
+--timecut_mode = 'trigger_cluster'
+--timecut_timespan = 'tight_0'
+--prod_ident = 1 # only for neutrinos: 1: 3-100 GeV prod, 2: 1-5 GeV prod.
\ No newline at end of file
diff --git a/orcasong/config/conf_ORCA_115l_1-5GeV_xyz-c.toml b/orcasong/config/orca_115l_regression/conf_ORCA_115l_1-5GeV_xyz-c.toml
similarity index 100%
rename from orcasong/config/conf_ORCA_115l_1-5GeV_xyz-c.toml
rename to orcasong/config/orca_115l_regression/conf_ORCA_115l_1-5GeV_xyz-c.toml
diff --git a/orcasong/config/conf_ORCA_115l_1-5GeV_xyz-t.toml b/orcasong/config/orca_115l_regression/conf_ORCA_115l_1-5GeV_xyz-t.toml
similarity index 100%
rename from orcasong/config/conf_ORCA_115l_1-5GeV_xyz-t.toml
rename to orcasong/config/orca_115l_regression/conf_ORCA_115l_1-5GeV_xyz-t.toml
diff --git a/orcasong/config/conf_ORCA_115l_3-100GeV_xyz-c.toml b/orcasong/config/orca_115l_regression/conf_ORCA_115l_3-100GeV_xyz-c.toml
similarity index 100%
rename from orcasong/config/conf_ORCA_115l_3-100GeV_xyz-c.toml
rename to orcasong/config/orca_115l_regression/conf_ORCA_115l_3-100GeV_xyz-c.toml
diff --git a/orcasong/config/conf_ORCA_115l_3-100GeV_xyz-t.toml b/orcasong/config/orca_115l_regression/conf_ORCA_115l_3-100GeV_xyz-t.toml
similarity index 100%
rename from orcasong/config/conf_ORCA_115l_3-100GeV_xyz-t.toml
rename to orcasong/config/orca_115l_regression/conf_ORCA_115l_3-100GeV_xyz-t.toml
diff --git a/orcasong/job_logs/cout/.gitkeep b/orcasong/job_logs/cout/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/orcasong/job_submission_scripts/submit_data_to_images.sh b/orcasong/job_submission_scripts/submit_data_to_images.sh
new file mode 100644
index 0000000000000000000000000000000000000000..1a9ba2089144e8a51a609f2eff3b257c942bfa39
--- /dev/null
+++ b/orcasong/job_submission_scripts/submit_data_to_images.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+#
+#PBS -l nodes=1:ppn=4:sl32g,walltime=3:00:00
+#PBS -o /home/woody/capn/mppi033h/logs/submit_h5_to_histo_${PBS_JOBID}_${PBS_ARRAYID}.out -e /home/woody/capn/mppi033h/logs/submit_h5_to_histo_${PBS_JOBID}_${PBS_ARRAYID}.err
+# first non-empty non-comment line ends PBS options
+
+# Submit with 'qsub -t 1-10 submit_h5_data_to_h5_input.sh'
+# This script uses the h5_data_to_h5_input.py file in order to convert all 600 (muon/elec/tau) .h5 raw files to .h5 2D/3D projection files (CNN input).
+# The total amount of simulated files for each event type in ORCA is 600 -> file 1-600
+# The files should be converted in batches of files_per_job=60 files per job
+
+#--- USER INPUT ---##
+
+# load env, only working for conda env as of now
+python_env_folder=/home/hpc/capn/mppi033h/.virtualenv/python_3_env/
+code_folder=/home/woody/capn/mppi033h/Code/OrcaSong/orcasong
+
+detx_filepath=${code_folder}/detx_files/orca_115strings_av23min20mhorizontal_18OMs_alt9mvertical_v1.detx
+config_file=${code_folder}/config/orca_115l_regression/conf_ORCA_115l_3-100GeV_xyz-t.toml
+
+particle_type=muon-CC
+mc_prod=neutr_3-100GeV
+
+files_per_job=60 # total number of files per job, e.g. 10 jobs for 600: 600/10 = 60
+
+#--- USER INPUT ---##
+
+n=${PBS_ARRAYID}
+source activate ${python_env_folder}
+cd ${code_folder}
+
+declare -A filename_arr
+declare -A folder_ip_files_arr
+
+filename_arr=( ["muon-CC"]="JTE.KM3Sim.gseagen.muon-CC.3-100GeV-9.1E7-1bin-3.0gspec.ORCA115_9m_2016"
+               ["elec-CC"]="JTE.KM3Sim.gseagen.elec-CC.3-100GeV-1.1E6-1bin-3.0gspec.ORCA115_9m_2016"
+               ["elec-NC"]="JTE.KM3Sim.gseagen.elec-NC.3-100GeV-3.4E6-1bin-3.0gspec.ORCA115_9m_2016"
+               ["tau-CC"]="JTE.KM3Sim.gseagen.tau-CC.3.4-100GeV-2.0E8-1bin-3.0gspec.ORCA115_9m_2016"
+               ["mupage"]="JTE.ph.ph.mupage.ph.ph.ph.ORCA115_9m_2016")
+
+folder_ip_files_arr=( ["neutr_3-100GeV"]="/home/saturn/capn/mppi033h/Data/raw_data/ORCA_JTE_NEMOWATER/calibrated/with_jte_times/3-100GeV/${particle_type}"
+                      ["neutr_1-5GeV"]="/home/saturn/capn/mppi033h/Data/raw_data/ORCA_JTE_NEMOWATER/calibrated/with_jte_times/1-5GeV/${particle_type}"
+                      ["mupage"]="/home/saturn/capn/mppi033h/Data/raw_data/mupage")
+
+filename="${filename_arr[${particle_type}]}"
+folder="${folder_ip_files_arr[${mc_prod}]}"
+
+#ParticleType=muon-CC
+#ParticleType=elec-CC
+#ParticleType=elec-NC
+#ParticleType=tau-CC
+# ----- 3-100GeV------
+#FileName=JTE.KM3Sim.gseagen.muon-CC.3-100GeV-9.1E7-1bin-3.0gspec.ORCA115_9m_2016 #muon-CC
+#FileName=JTE.KM3Sim.gseagen.elec-CC.3-100GeV-1.1E6-1bin-3.0gspec.ORCA115_9m_2016 #elec-CC
+#FileName=JTE.KM3Sim.gseagen.elec-NC.3-100GeV-3.4E6-1bin-3.0gspec.ORCA115_9m_2016 #elec-NC
+#FileName=JTE.KM3Sim.gseagen.tau-CC.3.4-100GeV-2.0E8-1bin-3.0gspec.ORCA115_9m_2016 #tau-CC
+#HDFFOLDER=/home/woody/capn/mppi033h/Data/ORCA_JTE_NEMOWATER/raw_data/calibrated/with_jte_times/3-100GeV/${ParticleType}
+# ----- 3-100GeV------
+# ----- 1-5GeV------
+#FileName=JTE.KM3Sim.gseagen.muon-CC.1-5GeV-9.2E5-1bin-1.0gspec.ORCA115_9m_2016 #muon-CC
+#FileName=JTE.KM3Sim.gseagen.elec-CC.1-5GeV-2.7E5-1bin-1.0gspec.ORCA115_9m_2016 #elec-CC
+#FileName=JTE.KM3Sim.gseagen.elec-NC.1-5GeV-2.2E6-1bin-1.0gspec.ORCA115_9m_2016 #elec-NC
+#HDFFOLDER=/home/woody/capn/mppi033h/Data/ORCA_JTE_NEMOWATER/raw_data/calibrated/with_jte_times/1-5GeV/${ParticleType}
+# ----- 1-5GeV------
+
+# run
+no_of_loops=$((${files_per_job}/4)) # divide by 4 cores -> e.g, 15 4-core loops needed for files_per_job=60
+file_no_start=$((1+((${n}-1) * ${files_per_job}))) # filenumber of the first file that is being processed by this script (depends on JobArray variable 'n')
+
+for (( k=1; k<=${no_of_loops}; k++ ))
+do
+    file_no_loop_start=$((${file_no_start}+(k-1)*4))
+    thread1=${file_no_loop_start}
+    thread2=$((${file_no_loop_start} + 1))
+    thread3=$((${file_no_loop_start} + 2))
+    thread4=$((${file_no_loop_start} + 3))
+
+    (time taskset -c 0  python ${code_folder}/data_to_images.py -c ${config_file} ${folder}/${filename}.${thread1}.h5 ${detx_filepath} > ./job_logs/cout/${filename}.${thread1}.txt) &
+    (time taskset -c 1  python ${code_folder}/data_to_images.py -c ${config_file} ${folder}/${filename}.${thread2}.h5 ${detx_filepath} > ./job_logs/cout/${filename}.${thread2}.txt) &
+    (time taskset -c 2  python ${code_folder}/data_to_images.py -c ${config_file} ${folder}/${filename}.${thread3}.h5 ${detx_filepath} > ./job_logs/cout/${filename}.${thread3}.txt) &
+    (time taskset -c 3  python ${code_folder}/data_to_images.py -c ${config_file} ${folder}/${filename}.${thread4}.h5 ${detx_filepath} > ./job_logs/cout/${filename}.${thread4}.txt) &
+    wait
+done
+
diff --git a/orcasong/submit_h5_data_to_h5_input.sh b/orcasong/submit_h5_data_to_h5_input.sh
deleted file mode 100644
index fd80258ee33b4115607d8caab895a0e4130a49f6..0000000000000000000000000000000000000000
--- a/orcasong/submit_h5_data_to_h5_input.sh
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/bash
-#
-#PBS -l nodes=1:ppn=4:sl32g,walltime=3:00:00
-#PBS -o /home/woody/capn/mppi033h/logs/submit_h5_to_histo_${PBS_JOBID}_${PBS_ARRAYID}.out -e /home/woody/capn/mppi033h/logs/submit_h5_to_histo_${PBS_JOBID}_${PBS_ARRAYID}.err
-# first non-empty non-comment line ends PBS options
-
-# Submit with 'qsub -t 1-10 submit_h5_data_to_h5_input.sh'
-# This script uses the h5_data_to_h5_input.py file in order to convert all 600 (muon/elec/tau) .h5 raw files to .h5 2D/3D projection files (CNN input).
-# The total amount of simulated files for each event type in ORCA is 600 -> file 1-600
-# The files should be converted in batches of files_per_job=60 files per job
-
-# load env
-source activate /home/hpc/capn/mppi033h/.virtualenv/python_3_env/
-
-n=${PBS_ARRAYID}
-
-CodeFolder=/home/woody/capn/mppi033h/Code/OrcaSong
-cd ${CodeFolder}
-
-#ParticleType=muon-CC
-#ParticleType=elec-CC
-ParticleType=elec-NC
-#ParticleType=tau-CC
-# ----- 3-100GeV------
-#FileName=JTE.KM3Sim.gseagen.muon-CC.3-100GeV-9.1E7-1bin-3.0gspec.ORCA115_9m_2016 #muon-CC
-#FileName=JTE.KM3Sim.gseagen.elec-CC.3-100GeV-1.1E6-1bin-3.0gspec.ORCA115_9m_2016 #elec-CC
-#FileName=JTE.KM3Sim.gseagen.elec-NC.3-100GeV-3.4E6-1bin-3.0gspec.ORCA115_9m_2016 #elec-NC
-#FileName=JTE.KM3Sim.gseagen.tau-CC.3.4-100GeV-2.0E8-1bin-3.0gspec.ORCA115_9m_2016 #tau-CC
-#HDFFOLDER=/home/woody/capn/mppi033h/Data/ORCA_JTE_NEMOWATER/raw_data/calibrated/with_jte_times/3-100GeV/${ParticleType}
-# ----- 3-100GeV------
-# ----- 1-5GeV------
-#FileName=JTE.KM3Sim.gseagen.muon-CC.1-5GeV-9.2E5-1bin-1.0gspec.ORCA115_9m_2016 #muon-CC
-#FileName=JTE.KM3Sim.gseagen.elec-CC.1-5GeV-2.7E5-1bin-1.0gspec.ORCA115_9m_2016 #elec-CC
-FileName=JTE.KM3Sim.gseagen.elec-NC.1-5GeV-2.2E6-1bin-1.0gspec.ORCA115_9m_2016 #elec-NC
-HDFFOLDER=/home/woody/capn/mppi033h/Data/ORCA_JTE_NEMOWATER/raw_data/calibrated/with_jte_times/1-5GeV/${ParticleType}
-# ----- 1-5GeV------
-
-# -- denser detector study --
-# elec-CC 170 files, muon-CC 400 files.
-# 15m: 400 m-CC files, 170 e-CC files. time/file: m-CC 30s, e-CC 1m --> files_per_job_m-CC = 80, files_per_job_e-CC = 36, 5 jobs
-# 12m: 400 m-CC files, 170 e-CC files. time/file: m-CC 30s, e-CC 1m10s --> files_per_job_m-CC = 80, files_per_job_e-CC = 36, 5 jobs
-# 9m: 400 m-CC files, 170 e-CC files. time/file: m-CC 40s, e-CC - --> files_per_job_m-CC = 80, files_per_job_e-CC = 36, 5 jobs
-# 6m: 400 m-CC files, 170 e-CC files. time/file: m-CC 53s, e-CC - --> files_per_job_m-CC = 80, files_per_job_e-CC = 36, 5 jobs
-# 4.5m: 400 m-CC files, 170 e-CC files. time/file: m-CC 1m3s, e-CC - --> files_per_job_m-CC = 80, files_per_job_e-CC = 36, 5 jobs
-#vert_space=4p5m # 15m fpj m: 80, e: 36 ; 12m fpj m: , e: ;
-#FileName=JTE.KM3Sim.selectedEventsInCylinder_gseagen.muon-CC.1-20GeV-2.0E8-1bin-3.0gspec.ORCA115_h23v${vert_space}_2016 #muon-CC
-#FileName=JTE.KM3Sim.selectedEventsInCylinder_gseagen.elec-CC.1-20GeV-1.0E6-1bin-3.0gspec.ORCA115_h23v${vert_space}_2016 #elec-CC
-#HDFFOLDER=/home/woody/capn/mppi033h/Data/ORCA_JTE_NEMOWATER/raw_data/calibrated/without_mc_time_fix/denser_detector_study/${vert_space}
-#HDFFOLDER=/home/vault/capn/mppi033h/4p5m # 4p5m
-# -- denser detector study --
-
-files_per_job=60 # total number of files per job, e.g. 10 jobs for 600: 600/10 = 60
-
-# run
-no_of_loops=$((${files_per_job}/4)) # divide by 4 cores -> e.g, 15 4-core loops needed for files_per_job=60
-file_no_start=$((1+((${n}-1) * ${files_per_job}))) # filenumber of the first file that is being processed by this script (depends on JobArray variable 'n')
-
-for (( k=1; k<=${no_of_loops}; k++ ))
-do
-    file_no_loop_start=$((${file_no_start}+(k-1)*4))
-    thread1=${file_no_loop_start}
-    thread2=$((${file_no_loop_start} + 1))
-    thread3=$((${file_no_loop_start} + 2))
-    thread4=$((${file_no_loop_start} + 3))
-
-    (time taskset -c 0  python ${CodeFolder}/h5_data_to_h5_input.py ${HDFFOLDER}/${FileName}.${thread1}.h5 > ./logs/cout/${FileName}.${thread1}.txt) &
-    (time taskset -c 1  python ${CodeFolder}/h5_data_to_h5_input.py ${HDFFOLDER}/${FileName}.${thread2}.h5 > ./logs/cout/${FileName}.${thread2}.txt) &
-    (time taskset -c 2  python ${CodeFolder}/h5_data_to_h5_input.py ${HDFFOLDER}/${FileName}.${thread3}.h5 > ./logs/cout/${FileName}.${thread3}.txt) &
-    (time taskset -c 3  python ${CodeFolder}/h5_data_to_h5_input.py ${HDFFOLDER}/${FileName}.${thread4}.h5 > ./logs/cout/${FileName}.${thread4}.txt) &
-    wait
-done
-