diff --git a/simrunner/data_config.json b/simrunner/data_config.json
index c57965e9e5474eafc7fcc05a95cad7c430cdb0cf..77000843ee00f40a9ed82139072cd44a4c5ee008 100644
--- a/simrunner/data_config.json
+++ b/simrunner/data_config.json
@@ -1,122 +1,7 @@
 {
-  "data_set_1":{
+  "data_config":{
     "--posixDataDir": "protokoll",
     "-n": "100",
-    "-s": "1M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_2":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "2M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_3":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "3M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_4":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "4M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_5":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "5M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_6":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "6M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_7":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "8M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_8":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "16M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_9":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "7M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_10":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "9M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_11":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "12M",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_12":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "600",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_13":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "1200",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_14":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "2400",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_15":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "4800",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_16":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "9600",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_17":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "60000",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_18":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "120000",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_19":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "240000",
-    "-i": "0.1s",
-    "-N": "4"},
-  "data_set_20":{
-    "--posixDataDir": "protokoll",
-    "-n": "100",
-    "-s": "480000",
     "-i": "0.1s",
     "-N": "4"}
 }
\ No newline at end of file
diff --git a/simrunner/simrunner.py b/simrunner/simrunner.py
index e3db2a4d1f341d46b2a62b5d2c19732790f0860f..9acaa4307dbcc97cd6c9c3a02ae6d8c5d4bc077d 100644
--- a/simrunner/simrunner.py
+++ b/simrunner/simrunner.py
@@ -21,27 +21,37 @@ def start_process(program_path, arguments):
 def set_arguments(data_config):
     data_config = read_config()
     e_list = []
-    for outer_key in data_config.keys():
-        inner_dict = data_config[outer_key]
-        arguments = []
-        for k, v in inner_dict.items():
-            arguments.append(k)
-            arguments.append(v)
-        arguments.append("-o")
-        arguments.append(outer_key)
-        e_list.append(arguments)
+    byte_sizes = ['16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192',
+                  '16384', '32768', '65536', '131072', '262144', '524288', '1048576', '2097152',
+                  '4194304', '8388608', '16777216', '33554432', '67108864']
+
+    for event in byte_sizes:
+        event_name = "Data_Set_" + event
+        arguments = ["-s", event]
+        for outer_key in data_config.keys():
+            inner_dict = data_config[outer_key]
+            for k, v in inner_dict.items():
+                arguments.append(k)
+                arguments.append(v)
+            arguments.append("-o")
+            arguments.append(event_name)
+            e_list.append(arguments)
     return e_list
 
 
-def run_sim(e_list, d_path, s_path):
+def run_sim(e_list, d_path, sim_path, st_path):
     for event in e_list:
         folder_name = event[-1]
-        relativ_path = os.path.join(d_path, folder_name)
-        os.makedirs(relativ_path, mode=0o777, exist_ok=True)
-        event[-1] = relativ_path
+        stat_file_name = "statistics_" + folder_name
+        relativ_path_data = os.path.join(d_path, folder_name)
+        relativ_path_stat = os.path.join(st_path, stat_file_name + ".dat")
+        os.makedirs(relativ_path_data, mode=0o777, exist_ok=True)
+        event[-1] = relativ_path_data
         arguments = event
-        output, errors, return_code = start_process(s_path, arguments)
+        output, errors, return_code = start_process(sim_path, arguments)
         print(output)
+        with open(relativ_path_stat, "w") as stat_file:
+            stat_file.write(output)
         print(errors)
         if return_code > 0:
             print("return code: ", return_code)
@@ -52,11 +62,13 @@ def run_sim(e_list, d_path, s_path):
 main_folder = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 data_path = os.path.join(main_folder, "output1")
 protokoll_path = os.path.join(main_folder, "protokoll")
+stat_path = os.path.join(data_path, "statistics")
 os.makedirs(protokoll_path, mode=0o777, exist_ok=True)
-sim_path = os.path.join(os.path.dirname(__file__), "../build/src/detsim")
+os.makedirs(stat_path, mode=0o777, exist_ok=True)
+simulation_path = os.path.join(os.path.dirname(__file__), "../build/src/detsim")
 
 # Setup arguments for Sim
 event_list = set_arguments(read_config())
 
 # Run detectorSimulation
-run_sim(event_list, data_path, sim_path)
+run_sim(event_list, data_path, simulation_path, stat_path)
diff --git a/tests/sizeScan.bash b/tests/sizeScan.bash
index 5950c42ab73a755ff7a2eef801bd6305e3afb282..99b291d1cee3b0eda6714e48bc5569964a90944f 100755
--- a/tests/sizeScan.bash
+++ b/tests/sizeScan.bash
@@ -22,7 +22,7 @@ TTree t("t","t");
 $(ls $resultbase/*/worker-dump-*.dat | awk '{print "t.ReadFile(\"" $0 "\",\"start/D:t/D:s/I\");"}');
 Double_t *binsx=new Double_t[$n+1];
 binsx[0]=0.75*(1<<4);
-Double_t f=TMath::Power((1.5*(1<<25))/binsx[0],1./$n);
+Double_t f=TMath::Power((1binsx = .5*(1<<25))/binsx[0],1./$n);
 for (Int_t i=1; i<=$n; i++) {binsx[i]= binsx[i-1]*f;}
 Double_t *binsy=new Double_t[101];
 binsy[0]=1e-6;
diff --git a/visualizer/visualizer/DataFrameCreator.py b/visualizer/visualizer/DataFrameCreator.py
index 0df1e33b2cdbd7f15c0e93fb0c71ba55c85226e8..50d3e94323faa0190bf53fb5c399d2295d555b52 100644
--- a/visualizer/visualizer/DataFrameCreator.py
+++ b/visualizer/visualizer/DataFrameCreator.py
@@ -6,11 +6,13 @@ class DataFrameCreator:
     def __init__(self, f_path):
         self.folder_path = f_path
 
-    def create_dataframes(self):
+    def create_dataframes_data(self):
         dfs = {}
-
-        for root, _, files in os.walk(self.folder_path):
-            for filename in files:
+        for root, _, folder in os.walk(self.folder_path):
+            if os.path.basename(root) == "statistics":
+                print("this was statistic")
+                continue
+            for filename in folder:
                 if filename.endswith('.dat'):
                     file_path = os.path.join(root, filename)
                     dataframe_name = os.path.splitext(filename)[0]
@@ -37,3 +39,6 @@ class DataFrameCreator:
             merged_dfs[outer_key] = merged_dataframe_sorted
 
         return merged_dfs
+
+
+
diff --git a/visualizer/visualizer/SeabornPlotter.py b/visualizer/visualizer/SeabornPlotter.py
index 2c3eb5f3714f8cd3cf9fac5aa7cbbce08d3ca639..eb53e4e2e297c824545479289dfdfb610901aefa 100644
--- a/visualizer/visualizer/SeabornPlotter.py
+++ b/visualizer/visualizer/SeabornPlotter.py
@@ -13,30 +13,30 @@ class SeabornPlotter:
         self.current_plot = None
 
     def configure_plot(self, ax):
-        #ax.set_xscale('log')
         if self.name == "idle" or self.name == "wait":
             ax.set_yscale('symlog', linthresh=0.1)
-
-
         else:
             ax.set_yscale('log')
 
-
     def plot(self):
         df = self.dataframe
         x = df['size']
         y = df['duration']
         title = "Procedure: {}".format(self.name)
 
-        f, ax = plt.subplots(figsize=(32, 18))
-        sns.boxplot(x=x, y=y, color=".15", palette="light:b")
+        f, ax = plt.subplots(figsize=(16, 9))
+        sns.boxenplot(x=x, y=y, color=".15", palette="light:b", scale="linear")
 
         self.configure_plot(ax)
 
+        # Anpassung der Achsenbeschriftungen und des Titels
+        ax.set_xlabel("Data size [Bytes]")
+        ax.set_ylabel("Time/Event [s]")
         plt.title(title)
-        plt.xlabel("Size of written data in ms")
-        plt.ylabel("Duration")
-        plt.savefig(title)
+
+        plt.grid(True)
+        plt.xticks(rotation=45)
+        plt.savefig(title + ".svg", format='svg')
         plt.show()
 
 
diff --git a/visualizer/visualizer/main.py b/visualizer/visualizer/main.py
index 5afc90ac1d9de0f8464801401cbf70ee37fc081b..7235961d0cd27c1b45133fb45f2e1ffdf43376fe 100644
--- a/visualizer/visualizer/main.py
+++ b/visualizer/visualizer/main.py
@@ -16,7 +16,7 @@ def main():
 
     # Import Data
     creator = DataFrameCreator(data_path)
-    dataframes = creator.create_dataframes()
+    dataframes = creator.create_dataframes_data()
     for frame in dataframes.keys():
         if not dataframes[frame].empty:
             # Setup Plotter