From 3d09a27d3d422b9182d7e2ac2c2143c3a20a3ac7 Mon Sep 17 00:00:00 2001 From: Frank Gaede <frank.gaede@desy.de> Date: Mon, 3 Apr 2017 17:54:04 +0200 Subject: [PATCH] enforce definition of tracker volume in ddsim - add option to enable debug output actions for hits from Markus --- DDSim/DD4hepSimulation.py | 40 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/DDSim/DD4hepSimulation.py b/DDSim/DD4hepSimulation.py index e1bdd8bea..461886d9d 100644 --- a/DDSim/DD4hepSimulation.py +++ b/DDSim/DD4hepSimulation.py @@ -76,6 +76,7 @@ class DD4hepSimulation(object): self._errorMessages = [] self._dumpParameter = False self._dumpSteeringFile = False + self.enableDetailedHitsAndParticleInfo = False ## objects for extended configuration option self.output = Output() @@ -394,13 +395,48 @@ class DD4hepSimulation(object): part.MinDistToParentVertex= self.part.minDistToParentVertex part.OutputLevel = self.output.part part.enableUI() + + + if self.enableDetailedHitsAndParticleInfo: + #---- debug code from Markus for detailed dumps of hits and MC-truth assignement ------ + # Add the particle dumper to associate the MC truth + evt = DDG4.EventAction(kernel,"Geant4ParticleDumpAction/ParticleDump") + kernel.eventAction().adopt(evt) + evt.enableUI() + # Add the hit dumper BEFORE any hit truth is fixed + evt = DDG4.EventAction(kernel,"Geant4HitDumpAction/RawDump") + kernel.eventAction().adopt(evt) + evt.enableUI() + # Add the hit dumper to the event action sequence + evt = DDG4.EventAction(kernel,"Geant4HitTruthHandler/HitTruth") + kernel.eventAction().adopt(evt) + evt.enableUI() + # Add the hit dumper AFTER any hit truth is fixed. We should see the reduced track references + evt = DDG4.EventAction(kernel,"Geant4HitDumpAction/HitDump") + kernel.eventAction().adopt(evt) + evt.enableUI() + + #---------------------------------- + + + + user = DDG4.Action(kernel,"Geant4TCUserParticleHandler/UserParticleHandler") try: user.TrackingVolume_Zmax = DDG4.tracker_region_zmax user.TrackingVolume_Rmax = DDG4.tracker_region_rmax - except AttributeError as e: - print "No Attribute: ", str(e) + print " *** definition of tracker region *** " + print " tracker_region_zmax = " , user.TrackingVolume_Zmax + print " tracker_region_rmax = " , user.TrackingVolume_Rmax + print " ************************************ " + + except AttributeError as e: + print "ERROR - attribute of tracker region missing in detector model ", str(e) + print " make sure to specify the global constants tracker_region_zmax and tracker_region_rmax " + print " this is needed for the MC-truth link of created sim-hits ! " + exit(1) + # user.enableUI() part.adopt(user) -- GitLab