'file:../../../Detector/DetFCChhBaseline1/compact/FCChh_DectEmptyMaster.xml', 'file:../../../Detector/DetFCChhTrackerSimple/compact/Tracker.xml' ], OutputLevel=DEBUG) from Configurables import SimG4Svc geantservice = SimG4Svc( "SimG4Svc", detector='SimG4DD4hepDetector', physicslist="SimG4FtfpBert", actions="SimG4FullSimActions", ) from Configurables import SimG4Alg, SimG4SaveTrackerHits, SimG4PrimariesFromEdmTool savetrackertool = SimG4SaveTrackerHits( "SimG4SaveTrackerHits", readoutNames=["TrackerBarrelReadout", "TrackerEndcapReadout"]) savetrackertool.DataOutputs.positionedTrackHits.Path = "positionedHits" savetrackertool.DataOutputs.trackHits.Path = "hits" particle_converter = SimG4PrimariesFromEdmTool("EdmConverter") particle_converter.DataInputs.genParticles.Path = "allGenParticles" geantsim = SimG4Alg("SimG4Alg", outputs=["SimG4SaveTrackerHits/SimG4SaveTrackerHits"], eventProvider=particle_converter) from Configurables import PodioOutput out = PodioOutput("out", filename="out_full_moreEvents.root", OutputLevel=DEBUG) out.outputCommands = ["keep *"]
from Configurables import RndmGenSvc from GaudiSvc.GaudiSvcConf import HepRndm__Engine_CLHEP__RanluxEngine_ randomEngine = eval('HepRndm__Engine_CLHEP__RanluxEngine_') randomEngine = randomEngine('RndmGenSvc.Engine') randomEngine.Seeds = [0123456] geant_output_tool_list = [] from Configurables import SimG4SaveParticleHistory savehisttool = SimG4SaveParticleHistory("saveHistory") savehisttool.mcParticles.Path = "SimParticles" savehisttool.genVertices.Path = "SimVertices" geant_output_tool_list += [savehisttool] from Configurables import SimG4SaveTrackerHits savetrackertool = SimG4SaveTrackerHits("saveTrackerHits") savetrackertool.readoutNames = [ "TrackerBarrelReadout", "TrackerEndcapReadout", ] savetrackertool.positionedTrackHits.Path = "TrackerHitsPosition" savetrackertool.trackHits.Path = "TrackerHits" savetrackertool.digiTrackHits.Path = "TrackerHitsDigiPostPoint" geant_output_tool_list += [savetrackertool] from Configurables import SimG4FullSimActions actions = SimG4FullSimActions() actions.enableHistory = True # set up output tools for included detectors # the algorithm itself is configured in the sim file
ApplicationMgr().TopAlg += [reader] # DD4hep geometry service from Configurables import GeoSvc ## parse the given xml file path_to_detectors = os.environ.get("FCCDETECTORS", "") geoservice = GeoSvc("GeoSvc") geoservice.detectors = [ os.path.join(path_to_detectors, 'Detector/DetFCCeeCLD/compact/FCCee_o2_v02/FCCee_o2_v02.xml'), ] from Configurables import SimG4Alg from Configurables import SimG4SaveCalHits from Configurables import SimG4SaveTrackerHits savetrackertool = SimG4SaveTrackerHits("saveTrackerHits_Barrel") savetrackertool.readoutNames = ["VertexBarrelCollection"] savetrackertool.SimTrackHits.Path = "hits_VXD_barrel" SimG4Alg("SimG4Alg").outputs += [savetrackertool] from Configurables import SimG4SaveTrackerHits savetrackertool_endcap = SimG4SaveTrackerHits("saveTrackerHits_Endcap") savetrackertool_endcap.readoutNames = ["VertexEndcapCollection"] savetrackertool_endcap.SimTrackHits.Path = "hits_VXD_endcap" SimG4Alg("SimG4Alg").outputs += [savetrackertool_endcap] from Configurables import SimG4SaveTrackerHits savetrackertool_ITB = SimG4SaveTrackerHits("saveTrackerHits_IT_Barrel") savetrackertool_ITB.readoutNames = ["InnerTrackerBarrelCollection"] savetrackertool_ITB.SimTrackHits.Path = "hits_IT_barrel" SimG4Alg("SimG4Alg").outputs += [savetrackertool_ITB]
hepmc_dump = HepMCDumper("hepmc") hepmc_dump.DataInputs.hepmc.Path = "hepmc" from Configurables import GeoSvc geoservice = GeoSvc("GeoSvc", detectors=['file:compact/Box_dd4hepTrackerSD.xml'], OutputLevel=DEBUG) from Configurables import SimG4Svc geantservice = SimG4Svc("SimG4Svc", detector='SimG4DD4hepDetector', physicslist="SimG4FtfpBert", actions="SimG4FullSimActions") from Configurables import SimG4Alg, SimG4SaveTrackerHits, SimG4PrimariesFromEdmTool savetrackertool = SimG4SaveTrackerHits("SimG4SaveTrackerHits", readoutNames=["TrackerSiliconHits"]) savetrackertool.DataOutputs.trackClusters.Path = "clusters" savetrackertool.DataOutputs.trackHits.Path = "hits" savetrackertool.DataOutputs.trackHitsClusters.Path = "hitClusterAssociation" particle_converter = SimG4PrimariesFromEdmTool("EdmConverter") particle_converter.DataInputs.genParticles.Path = "allGenParticles" geantsim = SimG4Alg("SimG4Alg", outputs=[ "SimG4SaveTrackerHits/SimG4SaveTrackerHits", "InspectHitsCollectionsTool" ], eventProvider=particle_converter) from Configurables import FCCDataSvc, PodioOutput podiosvc = FCCDataSvc("EventDataSvc")
# first, create a tool that saves the tracker hits # Name of that tool in GAUDI is "XX/YY" where XX is the tool class name ("SimG4SaveTrackerHits") # and YY is the given name ("saveTrackerHits") savetrajectorytool = SimG4SaveTrajectory("saveTrajectory") savetrajectorytool.trajectory.Path = "trajectory" savetrajectorytool.trajectoryPoints.Path = "trajectoryPoints" savehisttool = SimG4SaveParticleHistory("saveHistory") savehisttool.mcParticles.Path = "simParticles" savehisttool.genVertices.Path = "simVertices" savetrackertool = SimG4SaveTrackerHits("saveTrackerHits_Barrel", readoutNames = ["VertexBarrelCollection"]) savetrackertool.positionedTrackHits.Path = "positionedHits_VXD_barrel" savetrackertool.trackHits.Path = "hits_VXD_barrel" savetrackertool.digiTrackHits.Path = "digiHits_VXD_barrel" savetrackertool_endcap = SimG4SaveTrackerHits("saveTrackerHits_Endcap", readoutNames = ["VertexEndcapCollection"]) savetrackertool_endcap.positionedTrackHits.Path = "positionedHits_VXD_endcap" savetrackertool_endcap.trackHits.Path = "hits_VXD_endcap" savetrackertool_endcap.digiTrackHits.Path = "digiHits_VXD_endcap" savetrackertool_ITB = SimG4SaveTrackerHits("saveTrackerHits_IT_Barrel", readoutNames = ["InnerTrackerBarrelCollection"]) savetrackertool_ITB.positionedTrackHits.Path = "positionedHits_IT_barrel" savetrackertool_ITB.trackHits.Path = "hits_IT_barrel" savetrackertool_ITB.digiTrackHits.Path = "digiHits_IT_barrel" savetrackertool_ITE = SimG4SaveTrackerHits("saveTrackerHits_IT_Endcap", readoutNames = ["InnerTrackerEndcapCollection"])
geoservice = GeoSvc( "GeoSvc", detectors=[ 'file:Detector/DetFCChhBaseline1/compact/FCChh_DectEmptyMaster.xml', 'file:Detector/DetFCChhTrackerTkLayout/compact/Tracker.xml' ], OutputLevel=INFO) from Configurables import SimG4Svc geantservice = SimG4Svc("SimG4Svc", detector='SimG4DD4hepDetector', physicslist="SimG4FtfpBert", actions="SimG4FullSimActions") from Configurables import SimG4Alg, SimG4SaveTrackerHits savetool = SimG4SaveTrackerHits("saveHits", readoutNames=["TrackerBarrelReadout"]) savetool.positionedTrackHits.Path = "PositionedHits" savetool.trackHits.Path = "Hits" from Configurables import SimG4SingleParticleGeneratorTool pgun = SimG4SingleParticleGeneratorTool("SimG4SingleParticleGeneratorTool", saveEdm=True, particleName="mu-", energyMin=1000, energyMax=1000, etaMin=0, etaMax=0, OutputLevel=DEBUG) geantsim = SimG4Alg("SimG4Alg", outputs=["SimG4SaveTrackerHits/saveHits"], eventProvider=pgun, OutputLevel=DEBUG)
ApplicationMgr().ExtSvc += [podioevent] # DD4hep geometry service from Configurables import GeoSvc ## parse the given xml file path_to_detectors = os.environ.get("FCCDETECTORS", "") geoservice = GeoSvc("GeoSvc") geoservice.detectors = [ os.path.join(path_to_detectors, 'Detector/DetFCCeeIDEA/compact/FCCee_DectMaster.xml'), ] ApplicationMgr().ExtSvc += [geoservice] from Configurables import SimG4Alg from Configurables import SimG4SaveTrackerHits savetrackertool = SimG4SaveTrackerHits("saveTrackerHits_Barrel") savetrackertool.readoutNames = ["VertexBarrelCollection"] savetrackertool.SimTrackHits.Path = "TrackerHits_barrel" SimG4Alg("SimG4Alg").outputs += [savetrackertool] from Configurables import SimG4SaveTrackerHits savetrackertool_endcap = SimG4SaveTrackerHits("saveTrackerHits_Endcap") savetrackertool_endcap.readoutNames = ["VertexEndcapCollection"] savetrackertool_endcap.SimTrackHits.Path = "positionedHits_endcap" SimG4Alg("SimG4Alg").outputs += [savetrackertool_endcap] from Configurables import SimG4SaveTrackerHits savetrackertool_DCH = SimG4SaveTrackerHits("saveTrackerHits_DCH") savetrackertool_DCH.readoutNames = ["DriftChamberCollection"] savetrackertool_DCH.SimTrackHits.Path = "positionedHits_DCH" SimG4Alg("SimG4Alg").outputs += [savetrackertool_DCH]
# Geant4 algorithm # Translates EDM to G4Event, passes the event to G4, writes out outputs via tools from Configurables import SimG4Alg, SimG4SaveTrackerHits, SimG4PrimariesFromEdmTool, SimG4SaveParticleHistory, SimG4SaveTrajectory # first, create a tool that saves the tracker hits # Name of that tool in GAUDI is "XX/YY" where XX is the tool class name ("SimG4SaveTrackerHits") # and YY is the given name ("saveTrackerHits") savetrajectorytool = SimG4SaveTrajectory("saveTrajectory") savetrajectorytool.trajectory.Path = "trajectory" savetrajectorytool.trajectoryPoints.Path = "trajectoryPoints" savehisttool = SimG4SaveParticleHistory("saveHistory") savehisttool.mcParticles.Path = "simParticles" savehisttool.genVertices.Path = "simVertices" savetrackertool = SimG4SaveTrackerHits("saveTrackerHits_Barrel", readoutNames=["VertexBarrelCollection"]) savetrackertool.positionedTrackHits.Path = "positionedHits_barrel" savetrackertool.trackHits.Path = "hits_barrel" savetrackertool.digiTrackHits.Path = "digiHits_barrel" savetrackertool_endcap = SimG4SaveTrackerHits( "saveTrackerHits_Endcap", readoutNames=["VertexEndcapCollection"]) savetrackertool_endcap.positionedTrackHits.Path = "positionedHits_endcap" savetrackertool_endcap.trackHits.Path = "hits_endcap" savetrackertool_endcap.digiTrackHits.Path = "digiHits_endcap" savetrackertool_DCH = SimG4SaveTrackerHits( "saveTrackerHits_DCH", readoutNames=["DriftChamberCollection"]) savetrackertool_DCH.positionedTrackHits.Path = "positionedHits_DCH" savetrackertool_DCH.trackHits.Path = "hits_DCH" savetrackertool_DCH.digiTrackHits.Path = "digiHits_DCH"