Skip to content
Snippets Groups Projects

Draft: Initial MRICH reconstruction benchmark

Closed Wouter Deconinck requested to merge mrich-reconstruction into master
Files
3
+ 62
0
from Gaudi.Configuration import *
from GaudiKernel import SystemOfUnits as units
from Configurables import ApplicationMgr, EICDataSvc, PodioOutput, GeoSvc
detector_name = "topside"
if "JUGGLER_DETECTOR" in os.environ :
detector_name = str(os.environ["JUGGLER_DETECTOR"])
if "DETECTOR_PATH" in os.environ :
detector_name = str(os.environ["DETECTOR_PATH"])+"/"+detector_name
# todo add checks
input_sim_file = str(os.environ["JUGGLER_SIM_FILE"])
output_rec_file = str(os.environ["JUGGLER_REC_FILE"])
n_events = str(os.environ["JUGGLER_N_EVENTS"])
geo_service = GeoSvc("GeoSvc", detectors=["{}.xml".format(detector_name)])
podioevent = EICDataSvc("EventDataSvc", inputs=[input_sim_file])
from Configurables import PodioInput
from Configurables import Jug__Digi__PhotoMultiplierDigi as PhotoMultiplierDigi
from Configurables import Jug__Reco__PhotoMultiplierReco as PhotoMultiplierReco
from Configurables import Jug__Reco__PhotoRingClusters as PhotoRingClusters
from Configurables import Jug__Base__InputCopier_dd4pod__Geant4ParticleCollection_dd4pod__Geant4ParticleCollection_ as MCCopier
from Configurables import Jug__Base__InputCopier_dd4pod__PhotoMultiplierHitCollection_dd4pod__PhotoMultiplierHitCollection_ as PMTCopier
qe_data = [(1.0, 0.25), (7.5, 0.25),]
podioinput = PodioInput("PodioReader", collections=["mcparticles", "MRICHHits"])
## copiers to get around input --> output copy bug. Note the "2" appended to the output collection.
# copy these inputs to the output (a bug work around for now...). Note the the output name has a "2" at the end.
copier = MCCopier("MCCopier", inputCollection="mcparticles", outputCollection="mcparticles2")
pmtcopier = PMTCopier("PMTCopier", inputCollection="MRICHHits", outputCollection="MRICHHits2")
ce_mrich_digi = PhotoMultiplierDigi("ce_mrich_digi",
inputHitCollection="MRICHHits",
outputHitCollection="MRICHHitsDigi",
quantumEfficiency=[(a*units.eV, b) for a, b in qe_data])
ce_mrich_reco = PhotoMultiplierReco("ce_mrich_reco",
inputHitCollection="MRICHHitsDigi",
outputHitCollection="MRICHHitsReco")
ce_mrich_cl = PhotoRingClusters("ce_mrich_cl",
inputHitCollection="MRICHHitsReco",
outputClusterCollection="MRICHClusters",
OutputLevel=DEBUG)
out = PodioOutput("out", filename=output_rec_file)
out.outputCommands = ["keep *"]
ApplicationMgr(
TopAlg = [podioinput,
copier,
pmtcopier,
ce_mrich_digi, ce_mrich_reco, ce_mrich_cl,
out],
EvtSel = 'NONE',
EvtMax = n_events,
ExtSvc = [podioevent],
OutputLevel=WARNING
)
Loading