Skip to content
Snippets Groups Projects

Draft: Resolve "Update pi0 reconstruction"

Open Jihee Kim requested to merge 68-update-pi0-reconstruction into master
3 files
+ 171
17
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -2,8 +2,7 @@ import json
@@ -2,8 +2,7 @@ import json
import os
import os
import ROOT
import ROOT
from Gaudi.Configuration import *
from Gaudi.Configuration import *
from GaudiKernel import SystemOfUnits as units
from GaudiKernel.SystemOfUnits import mm, MeV, rad, ns
from Configurables import ApplicationMgr, EICDataSvc, PodioOutput, GeoSvc
from Configurables import ApplicationMgr, EICDataSvc, PodioOutput, GeoSvc
from Configurables import PodioInput
from Configurables import PodioInput
@@ -20,7 +19,7 @@ with open('config/emcal_barrel_calibration.json') as f:
@@ -20,7 +19,7 @@ with open('config/emcal_barrel_calibration.json') as f:
calib_data = json.load(f)['electron']
calib_data = json.load(f)['electron']
kwargs = dict()
kwargs = dict()
kwargs['sf'] = float(calib_data['sampling_fraction_img'])
kwargs['img_sf'] = float(calib_data['sampling_fraction_img'])
# input arguments through environment variables
# input arguments through environment variables
kwargs['input'] = os.environ.get('CB_EMCAL_SIM_FILE', '../topside/barrel_pion0_5GeV.root')
kwargs['input'] = os.environ.get('CB_EMCAL_SIM_FILE', '../topside/barrel_pion0_5GeV.root')
@@ -41,52 +40,49 @@ out = PodioOutput("out", filename=kwargs['output'])
@@ -41,52 +40,49 @@ out = PodioOutput("out", filename=kwargs['output'])
podioinput = PodioInput("PodioReader", collections=["mcparticles", "EcalBarrelHits"], OutputLevel=DEBUG)
podioinput = PodioInput("PodioReader", collections=["mcparticles", "EcalBarrelHits"], OutputLevel=DEBUG)
copier = MCCopier("MCCopier",
copier = MCCopier("MCCopier",
# OutputLevel=DEBUG,
inputCollection="mcparticles",
inputCollection="mcparticles",
outputCollection="mcparticles2")
outputCollection="mcparticles2")
calcopier = CalCopier("CalCopier",
calcopier = CalCopier("CalCopier",
# OutputLevel=DEBUG,
inputCollection="EcalBarrelHits",
inputCollection="EcalBarrelHits",
outputCollection="EcalBarrelHits2")
outputCollection="EcalBarrelHits2")
# use the same daq_setting for digi/reco pair
# use the same daq_setting for digi/reco pair
daq_setting = dict(
daq_setting = dict(
dynamicRangeADC=3*units.MeV,
dynamicRangeADC=3*MeV,
capacityADC=32767,
capacityADC=32767,
pedestalMean=400,
pedestalMean=400,
pedestalSigma=50) # 50/32767*3 MeV ~ 5 keV
pedestalSigma=50) # 50/32767*3 MeV ~ 5 keV
imcaldigi = CalorimeterHitDigi("imcal_digi",
imcaldigi = CalorimeterHitDigi("imcal_digi",
# OutputLevel=DEBUG,
inputHitCollection="EcalBarrelHits",
inputHitCollection="EcalBarrelHits",
outputHitCollection="DigiEcalBarrelImagingHits",
outputHitCollection="DigiEcalBarrelImagingHits",
energyResolutions=[0., 0.02, 0.],
energyResolutions=[0., 0.02, 0.],
**daq_setting)
**daq_setting)
imcalreco = ImagingPixelReco("imcal_reco",
imcalreco = ImagingPixelReco("imcal_reco",
# OutputLevel=DEBUG,
inputHitCollection=imcaldigi.outputHitCollection,
inputHitCollection=imcaldigi.outputHitCollection,
outputHitCollection="RecoEcalBarrelImagingHits",
outputHitCollection="RecoEcalBarrelImagingHits",
readoutClass="EcalBarrelHits",
readoutClass="EcalBarrelHits",
layerField="layer",
layerField="layer",
sectorField="module",
sectorField="module",
 
thresholdFactor=5.0,
**daq_setting)
**daq_setting)
imcalcluster = ImagingTopoCluster("imcal_cluster",
imcalcluster = ImagingTopoCluster("imcal_cluster",
# OutputLevel=DEBUG,
inputHitCollection=imcalreco.outputHitCollection,
inputHitCollection=imcalreco.outputHitCollection,
outputProtoClusterCollection="EcalBarrelImagingProtoClusters",
outputProtoClusterCollection="EcalBarrelImagingProtoClusters",
localDistXY=[2.*units.mm, 2*units.mm],
localDistXY=[2.*mm, 2*mm],
layerDistEtaPhi=[10*units.mrad, 10*units.mrad],
layerDistEtaPhi=[0.01*rad, 0.01*rad],
neighbourLayersRange=2,
neighbourLayersRange=2,
sectorDist=3.*units.cm,
sectorDist=30.*mm,
minClusterNhits=5)
minClusterNhits=15,
 
minClusterEdep=0.5*MeV)
 
clusterreco = ImagingClusterReco("imcal_clreco",
clusterreco = ImagingClusterReco("imcal_clreco",
# OutputLevel=DEBUG,
inputHitCollection=imcalcluster.inputHitCollection,
inputHitCollection=imcalcluster.inputHitCollection,
inputProtoClusterCollection=imcalcluster.outputProtoClusterCollection,
inputProtoClusterCollection=imcalcluster.outputProtoClusterCollection,
outputLayerCollection="EcalBarrelImagingClustersLayers",
outputLayerCollection="EcalBarrelImagingClustersLayers",
outputClusterCollection="EcalBarrelImagingClusters",
outputClusterCollection="EcalBarrelImagingClusters",
outputInfoCollection="EcalBarrelImagingClustersInfo",
outputInfoCollection="EcalBarrelImagingClustersInfo",
samplingFraction=sf)
samplingFraction=kwargs['img_sf'])
out.outputCommands = ["keep *"]
out.outputCommands = ["keep *"]
Loading