diff --git a/macro/run/run_sim.C b/macro/run/run_sim.C
new file mode 100644
index 0000000000000000000000000000000000000000..a35bb0898ccf28ffed75a76a5b713e23fa01a0c1
--- /dev/null
+++ b/macro/run/run_sim.C
@@ -0,0 +1,140 @@
+/* Copyright (C) 2023 Facility for AntiProton and Ion Research in Europe GmbH, Darmstadt
+   SPDX-License-Identifier: GPL-3.0-only
+   Authors: Eoin Clerkin [committer] */
+
+
+
+
+#include "run_tra_file.C"
+
+/*
+void run_tra_beam(Int_t nEvents = 1, const char* species = "Au", Double_t beamP = 12., Double_t beamStartZ = -5.,
+                  const char* output = "beam", const char* setup = "sis100_electron", ECbmEngine engine = kGeant3,
+                  int randomSeed = 0, Bool_t overwrite = kTRUE, Bool_t store = kFALSE)
+*/
+
+#include "run_tra_beam.C"
+
+
+/*
+void run_digi(TString inputEvents = "", Int_t nEvents = -1, TString output = "", Double_t eventRate = 1.e7,
+              Double_t tsLength = -1., TString inputSignal = "", TString inputBeam = "", Double_t beamRate = 1.e9)
+*/
+
+#include "run_digi.C"
+
+/*
+void run_reco(TString input = "", Int_t nTimeSlices = -1, Int_t firstTimeSlice = 0, TString output = "",
+              TString sEvBuildRaw = "", TString setup = "sis100_electron", TString paramFile = "",
+              Bool_t debugWithMC = false)
+*/
+
+#include "run_reco.C"
+
+
+void run_sim(){
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* void run_tra_file(const char* input = "", Int_t nEvents = 1, const char* output = "",
+                  const char* setup = "sis100_electron", ECbmEngine engine = kGeant3, int randomSeed = 0,
+                  Bool_t overwrite = kTRUE) */
+
+// Transport URQMD data
+// const char* input = "/home/eoin/cbmroot/source/input/urqmd.auau.10gev.centr.root";
+
+
+const char* input = "";
+Int_t nEvents = 1;
+
+TString output = "sim";
+
+output.Data();
+const char* output = "sim";
+
+
+
+
+
+
+
+const char* setup = "sis100_electron";
+ECbmEngine engine = kGeant3;
+int randomSeed = 1234;
+Bool_t overwrite = kTRUE;
+Bool_t traj = kFALSE;
+
+//(void)run_tra_file(input, nEvents, output.Data(), setup, engine, randomSeed, overwrite, traj); 
+
+
+(void)run_tra_file(input, nEvents, output.Data(), setup, engine, randomSeed, overwrite); 
+
+
+
+
+
+
+
+
+
+// Transport Beam
+
+
+
+
+
+
+/*
+Run digitisation
+*/
+
+//TString inputEvents = "sim";
+// Int_t nEvents = -1;
+// output
+Double_t eventRate = 1.e7;
+Double_t tsLength = -1;
+TString inputSignal = "";
+TString inputBeam = "";
+Double_t beamRate = 1.e9;
+
+
+(void)run_digi(inputEvents,nEvents,output,eventRate,tsLength,inputSignal,inputBeam,beamRate);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// Run Transport 
+
+root -q 'run_reco.C("test",-1,0,"test","real","sis100_electron","test",false)'
+
+
+
+
+
+
+printf("Program ends successfully");
+}
+