From 29f1713e3135f054c1ab65aa57bf982c160ff2ba Mon Sep 17 00:00:00 2001
From: FaserMC <fasermc@cern.ch>
Date: Thu, 28 Jul 2022 22:50:40 +0200
Subject: [PATCH] Updates for MDC simulation

---
 .../CaloDigiAlgs/python/CaloDigiAlgsConfig.py       |  8 ++++----
 .../Digitization/scripts/faserMDC_digi.py           |  4 ++--
 .../Digitization/scripts/faserMDC_digi_merge.py     |  4 ++--
 ...erMC-MDC_PG_muon_fasernu_higain_logE-101305.json | 13 +++++++++++++
 .../ScintDigiAlgs/python/ScintDigiAlgsConfig.py     | 10 +++++-----
 5 files changed, 26 insertions(+), 13 deletions(-)
 create mode 100644 Control/CalypsoExample/Generation/data/mdc/FaserMC-MDC_PG_muon_fasernu_higain_logE-101305.json

diff --git a/Calorimeter/CaloDigiAlgs/python/CaloDigiAlgsConfig.py b/Calorimeter/CaloDigiAlgs/python/CaloDigiAlgsConfig.py
index 1b8a0355..2b5cbf7a 100644
--- a/Calorimeter/CaloDigiAlgs/python/CaloDigiAlgsConfig.py
+++ b/Calorimeter/CaloDigiAlgs/python/CaloDigiAlgsConfig.py
@@ -33,11 +33,11 @@ def CaloWaveformDigiCfg(flags, name="CaloWaveformDigiAlg", **kwargs):
     kwargs.setdefault("CaloHitContainerKey", "EcalHits")
     kwargs.setdefault("WaveformContainerKey", "CaloWaveforms")
 
-    kwargs.setdefault("CB_alpha", -0.9)
-    kwargs.setdefault("CB_n", 10)
-    kwargs.setdefault("CB_sigma", 4)
+    kwargs.setdefault("CB_alpha", -0.32)
+    kwargs.setdefault("CB_n", 1000)
+    kwargs.setdefault("CB_sigma", 3.67)
     kwargs.setdefault("CB_mean", 820) # Time in ns
-    kwargs.setdefault("CB_norm", 4)  # Low gain default, use 20 for high gain
+    kwargs.setdefault("CB_norm", 40)  # Low gain default, use x5? for high gain
 
     kwargs.setdefault("base_mean", 15000)
     kwargs.setdefault("base_rms", 3)
diff --git a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py
index 5730e633..9ad760cb 100755
--- a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py
+++ b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi.py
@@ -131,9 +131,9 @@ acc.merge(FaserSCT_DigitizationCfg(ConfigFlags))
 
 from CaloDigiAlgs.CaloDigiAlgsConfig import CaloWaveformDigitizationCfg
 if args.highCaloGain:
-    calo_norm = 20.
+    calo_norm = 200.
 else:
-    calo_norm = 4.
+    calo_norm = 40.
 acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, CB_norm=calo_norm))
 
 from ScintDigiAlgs.ScintDigiAlgsConfig import ScintWaveformDigitizationCfg
diff --git a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi_merge.py b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi_merge.py
index cef68cb5..fd967355 100755
--- a/Control/CalypsoExample/Digitization/scripts/faserMDC_digi_merge.py
+++ b/Control/CalypsoExample/Digitization/scripts/faserMDC_digi_merge.py
@@ -193,9 +193,9 @@ acc.merge(FaserSCT_DigitizationCfg(ConfigFlags))
 
 from CaloDigiAlgs.CaloDigiAlgsConfig import CaloWaveformDigitizationCfg
 if args.highCaloGain:
-    calo_norm = 20.
+    calo_norm = 200.
 else:
-    calo_norm = 4.
+    calo_norm = 40.
 acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, CB_norm=calo_norm))
 
 from ScintDigiAlgs.ScintDigiAlgsConfig import ScintWaveformDigitizationCfg
diff --git a/Control/CalypsoExample/Generation/data/mdc/FaserMC-MDC_PG_muon_fasernu_higain_logE-101305.json b/Control/CalypsoExample/Generation/data/mdc/FaserMC-MDC_PG_muon_fasernu_higain_logE-101305.json
new file mode 100644
index 00000000..6ebccb30
--- /dev/null
+++ b/Control/CalypsoExample/Generation/data/mdc/FaserMC-MDC_PG_muon_fasernu_higain_logE-101305.json
@@ -0,0 +1,13 @@
+{
+    "file_length": 2000,
+    "mass": 105.66,
+    "maxE": 5000.0,
+    "minE": 10.0,
+    "pid": [-13, 13],
+    "radius": -100.0,
+    "run": 101305,
+    "sampler": "log",
+    "segment": 0,
+    "short": "MDC_PG_muon_fasernu_higain_logE",
+    "zpos": -3990.0
+}
diff --git a/Scintillator/ScintDigiAlgs/python/ScintDigiAlgsConfig.py b/Scintillator/ScintDigiAlgs/python/ScintDigiAlgsConfig.py
index ddf30746..efcf2ae9 100644
--- a/Scintillator/ScintDigiAlgs/python/ScintDigiAlgsConfig.py
+++ b/Scintillator/ScintDigiAlgs/python/ScintDigiAlgsConfig.py
@@ -12,11 +12,11 @@ from WaveformConditionsTools.WaveformCableMappingConfig import WaveformCableMapp
 # https://indico.cern.ch/event/1099652/contributions/4626975/attachments/2352595/4013927/Faser-Physics-run3933-plots.pdf  (20/01/2022)
 # Parameters are per scintillator source, but not per channel.
 dict_CB_param = {}
-dict_CB_param["Trigger"]=dict(CB_alpha=-0.38, CB_n=25, CB_mean=815, CB_sigma=7.7, CB_norm = 500 )
-dict_CB_param["Timing"]=dict(CB_alpha=-0.32, CB_n=65, CB_mean=846, CB_sigma=5.3, CB_norm = 500) # copy from Preshower; Timing was not in TestBeam
-dict_CB_param["Veto"]=dict(CB_alpha=-0.38, CB_n=25, CB_mean=815, CB_sigma=7.7, CB_norm = 1000) # copy from Trigger; Veto was not in TestBeam, but in sim "Veto" is the TestBeam Trigger component
-dict_CB_param["VetoNu"]=dict(CB_alpha=-0.38, CB_n=25, CB_mean=815, CB_sigma=7.7, CB_norm = 1000) # copy from Trigger; Veto was not in TestBeam, but in sim "Veto" is the TestBeam Trigger component
-dict_CB_param["Preshower"]=dict(CB_alpha=-0.32, CB_n=65, CB_mean=846, CB_sigma=5.3, CB_norm = 500)
+dict_CB_param["Trigger"]=dict(CB_alpha=-0.424, CB_n=6.14, CB_mean=815, CB_sigma=3.21, CB_norm = 5000)
+dict_CB_param["Timing"] =dict(CB_alpha=-0.424, CB_n=6.14, CB_mean=846, CB_sigma=3.21, CB_norm = 5000)
+dict_CB_param["Veto"]   =dict(CB_alpha=-0.32,  CB_n=9.0,  CB_mean=815, CB_sigma=3.35, CB_norm = 4000)
+dict_CB_param["VetoNu"] =dict(CB_alpha=-0.28,  CB_n=1000, CB_mean=815, CB_sigma=5.00, CB_norm = 10000) # copy from Trigger; Veto was not in TestBeam, but in sim "Veto" is the TestBeam Trigger component
+dict_CB_param["Preshower"]=dict(CB_alpha=-0.32, CB_n=1000, CB_mean=846, CB_sigma=4.0, CB_norm = 250)
 
 dict_baseline_params = {
     "Trigger"   : {"mean" : 15000, "rms" : 3},
-- 
GitLab