From 2c701d56f4e19201fc53f32be8491f879616179a Mon Sep 17 00:00:00 2001
From: miguelignacio <miguel.arratia@ucr>
Date: Wed, 21 Jul 2021 11:20:40 -0700
Subject: [PATCH] adding SciFi barrel clusters to full_cal_reco

---
 .../clustering/options/full_cal_reco.py       | 51 ++++++++++++++++++-
 1 file changed, 50 insertions(+), 1 deletion(-)

diff --git a/benchmarks/clustering/options/full_cal_reco.py b/benchmarks/clustering/options/full_cal_reco.py
index 2769bdeb..3e63bf56 100644
--- a/benchmarks/clustering/options/full_cal_reco.py
+++ b/benchmarks/clustering/options/full_cal_reco.py
@@ -19,7 +19,7 @@ cb_ecal_sf = float(os.environ.get("CB_ECAL_SAMP_FRAC", 0.01324))
 cb_hcal_sf = float(os.environ.get("CB_HCAL_SAMP_FRAC", 0.038))
 ci_hcal_sf = float(os.environ.get("CI_HCAL_SAMP_FRAC", 0.025))
 ce_hcal_sf = float(os.environ.get("CE_HCAL_SAMP_FRAC", 0.025))
-
+scifi_barrel_sf = float(os.environ.get("CB_EMCAL_SCFI_SAMP_FRAC",0.0938))
 # input and output
 input_sims = [f.strip() for f in str.split(os.environ["JUGGLER_SIM_FILE"], ",") if f.strip()]
 output_rec = str(os.environ["JUGGLER_REC_FILE"])
@@ -51,6 +51,7 @@ sim_coll = [
     "EcalEndcapPHits",
     "EcalBarrelHits",
     "HcalBarrelHits",
+    "EcalBarrelScFiHits",
     "HcalHadronEndcapHits",
     "HcalElectronEndcapHits",
 ]
@@ -176,6 +177,53 @@ cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco",
         outputClusterCollection="EcalBarrelClusters",
         outputLayerCollection="EcalBarrelLayers")
 
+#Central ECAL SciFi
+# use the same daq_setting for digi/reco pair
+scfi_barrel_daq = dict(
+        dynamicRangeADC=50.*MeV,
+        capacityADC=32768,
+        pedestalMean=400,
+        pedestalSigma=10)
+
+scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
+        inputHitCollection="EcalBarrelScFiHits",
+        outputHitCollection="EcalBarrelScFiHitsDigi",
+        **scfi_barrel_daq)
+
+scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
+        inputHitCollection="EcalBarrelScFiHitsDigi",
+        outputHitCollection="EcalBarrelScFiHitsReco",
+        thresholdFactor=5.0,
+        readoutClass="EcalBarrelScFiHits",
+        layerField="layer",
+        sectorField="module",
+        localDetFields=["system", "module"], # use local coordinates in each module (stave)
+        **scfi_barrel_daq)
+
+# merge hits in different layer (projection to local x-y plane)
+scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
+        # OutputLevel=DEBUG,
+        inputHitCollection="EcalBarrelScFiHitsReco",
+        outputHitCollection="EcalBarrelScFiGridReco",
+        fields=["fiber"],
+        fieldRefNumbers=[1],
+        readoutClass="EcalBarrelScFiHits")
+
+scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
+        # OutputLevel=DEBUG,
+        inputHitCollection="EcalBarrelScFiGridReco",
+        outputHitCollection="EcalBarrelScFiClusterHits",
+        splitCluster=False,
+        minClusterCenterEdep=10.*MeV,
+        localDistXZ=[30*mm, 30*mm])
+
+scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
+       inputHitCollection="EcalBarrelScFiClusterHits",
+       outputClusterCollection="EcalBarrelScFiClusters",
+       logWeightBase=6.2,
+       samplingFraction= scifi_barrel_sf)
+
+
 # Central Barrel Hcal
 cb_hcal_daq = dict(
          dynamicRangeADC=50.*MeV,
@@ -307,6 +355,7 @@ ApplicationMgr(
               ce_ecal_digi, ce_ecal_reco, ce_ecal_cl, ce_ecal_clreco,
               ci_ecal_digi, ci_ecal_reco, ci_ecal_merger, ci_ecal_cl, ci_ecal_clreco,
               cb_ecal_digi, cb_ecal_reco, cb_ecal_cl, cb_ecal_clreco,
+              scfi_barrel_digi, scfi_barrel_reco, scfi_barrel_merger, scfi_barrel_cl, scfi_barrel_clreco,
               cb_hcal_digi, cb_hcal_reco, cb_hcal_merger, cb_hcal_cl, cb_hcal_clreco,
               ce_hcal_digi, ce_hcal_reco, ce_hcal_merger, ce_hcal_cl, ce_hcal_clreco,
               ci_hcal_digi, ci_hcal_reco, ci_hcal_merger, ci_hcal_cl, ci_hcal_clreco,
-- 
GitLab