Skip to content

Punchthrough AF3 implementation in FastG4

Implement AF3 punch-through simulation as part of the FastGeant4 (G4VFastSimulation). Added option to toggle it on or off via --postExec e.g. with doPunchThrough=False (default to True).

Two PublicToolHandle(s) introduced to FastCaloSim.cxx (main driver code inheriting G4VFastSimulationModel):

  • PunchThroughG4Tool (interfaced via IPunchThroughG4Tool)
  • PunchThroughG4Classifier (interfaced via IPunchThroughG4Classifier)

Added LibXml2 and introduce ROOT into Simulation/G4Atlas/G4AtlasTools/CMakeLists.txt to parse the xml and ROOT config files. At the moment, the punchthrough probability is calculated from classifier using network lwtnn file (in the future there is plan to convert and use ONNX file directly as well).

ISF_InterfacesLib is needed to get ISF_Interfaces/IGeoIDSvc.h (defined as ISF::GeoIDSvc) as this is still using 'm_geoIDSvc->identifyNextGeoID(amg3DPosVec,amg3DMomVec)` to check whether the particles point towards AtlasDetDescr::fAtlasCalo.

Minimum reproducibility/transform:

asetup Athena,24.0.68
AtlasG4_tf.py --CA --multithreaded --randomSeed '10' --maxEvents '20' --skipEvents '0' --preInclude 'sim:Campaigns.MC23aSimulationMultipleIoV,SimuJobTransforms.FastCaloSim' --postInclude 'default:PyJobTransforms.UseFrontier' --preExec 'AtlasG4Tf:doPunchThrough=True' --postExec 'from AthenaCommon.Constants import INFO,VERBOSE,DEBUG;from AthenaCommon.Logging import log;log.setLevel(VERBOSE);sim:cfg.addEventAlgo(CompFactory.JobOptsDumperAlg(FileName="CAConfig.txt"))' --inputEVNTFile '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CampaignInputs/mc21/EVNT/mc21_13p6TeV.601229.PhPy8EG_A14_ttbar_hdamp258p75_SingleLep.evgen.EVNT.e8453/EVNT.29328277._003902.pool.root.1' --outputHITSFile='test.MT.HITS.pool.root' --physicsList='FTFP_BERT_ATL' --conditionsTag 'default:OFLCOND-MC23-SDR-RUN3-01' --geometryVersion='default:ATLAS-R3S-2021-03-02-00' --verbose --imf False;

Tagging FCS conveners @zhangr , @jbeirer

Edited by Firdaus Soberi

Merge request reports

Loading