diff --git a/benchmarks/clustering/options/full_cal_reco.py b/benchmarks/clustering/options/full_cal_reco.py index 2769bdebb2ce2d6334e062cd7178ceabc146c114..3e63bf563e676cd2354f6030c4a29436c6a22818 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,