Skip to content
Snippets Groups Projects
Commit a359c8ee authored by Dave Casper's avatar Dave Casper Committed by FASER Reco
Browse files

Work in progress on MC configuration

parent f5da0d47
No related branches found
No related tags found
1 merge request!418alma9-dev merge
Showing
with 40 additions and 45 deletions
......@@ -11,20 +11,13 @@ find_package( Geant4 )
find_package( XercesC )
# Component(s) in the package:
atlas_add_library( EcalG4_SDLib
atlas_add_component( EcalG4_SD
src/*.cxx
OBJECT
NO_PUBLIC_HEADERS
src/components/*.cxx
INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} StoreGateLib SGtests GaudiKernel FaserCaloSimEvent G4AtlasToolsLib FaserMCTruth )
atlas_add_library( ECALG4_SD
src/components/*.cxx
OBJECT
NO_PUBLIC_HEADERS
PRIVATE_LINK_LIBRARIES EcalG4_SDLib )
# Install files from the package:
atlas_install_python_modules( python/*.py )
......@@ -144,7 +144,7 @@ def setupDetectorsFromList(flags, detectors, toggle_geometry=False, validate_onl
status = d in detectors
name = f'Detector.Enable{d}'
if flags.hasFlag(name):
if flags(name) != status:
if flags[name] != status:
changed = True
if validate_only:
log.warning("Flag '%s' should be %s but is set to %s", name, status, not status)
......@@ -154,7 +154,7 @@ def setupDetectorsFromList(flags, detectors, toggle_geometry=False, validate_onl
if toggle_geometry:
name = f'Detector.Geometry{d}'
if flags.hasFlag(name):
if flags(name) != status:
if flags[name] != status:
changed = True
if validate_only:
log.warning("Flag '%s' should be %s but is set to %s", name, status, not status)
......@@ -180,14 +180,14 @@ def enableDetectors(flags, detectors, toggle_geometry=False):
for d in detectors:
name = f'Detector.Enable{d}'
if flags.hasFlag(name):
if flags(name) is not True:
if flags[name] is not True:
changed = True
log.info("Enabling '%s'", name)
flags._set(name, True)
if toggle_geometry:
name = f'Detector.Geometry{d}'
if flags.hasFlag(name):
if flags(name) is not True:
if flags[name] is not True:
changed = True
log.info("Enabling '%s'", name)
flags._set(name, True)
......@@ -211,14 +211,14 @@ def disableDetectors(flags, detectors, toggle_geometry=False):
for d in detectors:
name = f'Detector.Enable{d}'
if flags.hasFlag(name):
if flags(name) is not False:
if flags[name] is not False:
changed = True
log.info("Disabling '%s'", name)
flags._set(name, False)
if toggle_geometry:
name = f'Detector.Geometry{d}'
if flags.hasFlag(name):
if flags(name) is not False:
if flags[name] is not False:
changed = True
log.info("Disabling '%s'", name)
flags._set(name, False)
......
......@@ -63,7 +63,7 @@ if __name__ == '__main__':
#
# Sim configFlags
#
configFlags.Sim.Layout = "FASER"
configFlags.GeoModel.Layout = "FASER"
configFlags.Sim.PhysicsList = "FTFP_BERT"
configFlags.Sim.ReleaseGeoModel = False
configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
......
......@@ -63,7 +63,7 @@ if __name__ == '__main__':
#
# Sim configFlags
#
configFlags.Sim.Layout = "FASER"
configFlags.GeoModel.Layout = "FASER"
configFlags.Sim.PhysicsList = "FTFP_BERT"
configFlags.Sim.ReleaseGeoModel = False
configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
......
......@@ -66,7 +66,7 @@ if __name__ == '__main__':
#
# Sim configFlags
#
configFlags.Sim.Layout = "FASER"
configFlags.GeoModel.Layout = "FASER"
configFlags.Sim.PhysicsList = "FTFP_BERT"
configFlags.Sim.ReleaseGeoModel = False
configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
......
......@@ -30,12 +30,12 @@ if __name__ == "__main__":
from AthenaCommon.Configurable import Configurable
from CalypsoConfiguration.AllConfigFlags import initConfigFlags
# Configurable.configurableRun3Behavior = True
# # Configurable.configurableRun3Behavior = True
print("CACfg = ", isComponentAccumulatorCfg())
# print("CACfg = ", isComponentAccumulatorCfg())
print("AthenaCommon.Include", "AthenaCommon.Include" in sys.modules)
print("Configurable._useGlobalInstances", Configurable._useGlobalInstances)
# print("AthenaCommon.Include", "AthenaCommon.Include" in sys.modules)
# print("Configurable._useGlobalInstances", Configurable._useGlobalInstances)
# Flags for this job
configFlags = initConfigFlags()
......
......@@ -136,7 +136,7 @@ if __name__ == '__main__':
#
# Sim configFlags
#
configFlags.Sim.Layout = "FASER"
configFlags.GeoModel.Layout = "FASER"
configFlags.Sim.PhysicsList = "FTFP_BERT"
configFlags.Sim.ReleaseGeoModel = False
configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
......
......@@ -144,7 +144,7 @@ if __name__ == '__main__':
#
# Sim configFlags
#
configFlags.Sim.Layout = "FASER"
configFlags.GeoModel.Layout = "FASER"
configFlags.Sim.PhysicsList = args.G4_phys
configFlags.Sim.ReleaseGeoModel = False
configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
......
......@@ -3,7 +3,7 @@
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
# import sys
from AthenaConfiguration.MainServicesConfig import AthSequencer
from AthenaCommon.AlgSequence import AthSequencer
import ParticleGun as PG
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
......
......@@ -3,7 +3,7 @@
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
# import sys
from AthenaConfiguration.MainServicesConfig import AthSequencer
from AthenaCommon.AlgSequence import AthSequencer
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, ConfigurationError
from AthenaConfiguration.ComponentFactory import CompFactory
......
......@@ -3,7 +3,7 @@
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
import sys, tempfile, pathlib
from AthenaConfiguration.MainServicesConfig import AthSequencer
from AthenaCommon.AlgSequence import AthSequencer
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
......
......@@ -36,9 +36,9 @@ def G4FaserAlgBasicCfg(ConfigFlags, name="G4FaserAlg", **kwargs):
## default true
kwargs.setdefault("KillAbortedEvents", ConfigFlags.Sim.KillAbortedEvents)
from RngComps.RandomServices import RNG
result.merge(RNG(ConfigFlags.Random.Engine, name="AthRNGSvc"))
kwargs.setdefault("AtRndmGenSvc", result.getService("AthRNGSvc"))
from RngComps.RngCompsConfig import AthRNGSvcCfg
kwargs.setdefault("AtRndmGenSvc",
result.getPrimaryAndMerge(AthRNGSvcCfg(ConfigFlags)).name)
kwargs.setdefault("RandomGenerator", "athena")
......
......@@ -14,6 +14,7 @@ if __name__ == '__main__':
from AthenaCommon.Logging import log
from AthenaCommon.Constants import DEBUG, VERBOSE
from AthenaCommon.Configurable import Configurable
from Campaigns.Utils import Campaign
log.setLevel(DEBUG)
Configurable.configurableRun3Behavior = 1
#
......@@ -28,10 +29,11 @@ if __name__ == '__main__':
#
# All these must be specified to avoid auto-configuration
#
configFlags.Input.RunNumber = [12345] #Isn't updating - todo: investigate
configFlags.Input.RunNumbers = [12345] #Isn't updating - todo: investigate
configFlags.Input.OverrideRunNumber = True
configFlags.Input.LumiBlockNumber = [1]
configFlags.Input.LumiBlockNumbers = [1]
configFlags.Input.isMC = True
configFlags.Input.MCCampaign = Campaign.Unknown
#
# Output file name
#
......@@ -39,7 +41,7 @@ if __name__ == '__main__':
#
# Sim configFlags
#
configFlags.Sim.Layout = "FASER"
configFlags.GeoModel.Layout = "FASER"
configFlags.Sim.PhysicsList = "FTFP_BERT"
configFlags.Sim.ReleaseGeoModel = False
configFlags.Sim.IncludeParentsInG4Event = True # Controls whether BeamTruthEvent is written to output HITS file
......
......@@ -5,7 +5,7 @@ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
DetectorGeometrySvc, G4AtlasSvc, G4GeometryNotifierSvc, PhysicsListSvc=CompFactory.getComps("DetectorGeometrySvc","G4AtlasSvc","G4GeometryNotifierSvc","PhysicsListSvc",)
from G4FaserTools.G4GeometryToolConfig import G4AtlasDetectorConstructionToolCfg
from G4StepLimitation.G4StepLimitationConfigNew import G4StepLimitationToolCfg
from G4StepLimitation.G4StepLimitationConfig import G4StepLimitationToolCfg
from Pythia8Decayer.Pythia8DecayerConfigNew import Pythia8DecayerPhysicsToolCfg
def DetectorGeometrySvcCfg(ConfigFlags, name="DetectorGeometrySvc", **kwargs):
......
......@@ -38,8 +38,8 @@ def EcalPhysicsRegionToolCfg(ConfigFlags, name='EcalPhysicsRegionTool', **kwargs
volumeList = ['Ecal::Ecal']
kwargs.setdefault("VolumeList", volumeList)
rangeEMB = 0.03
from G4AtlasApps.SimFlags import simFlags
if '_EMV' not in simFlags.PhysicsList() and '_EMX' not in simFlags.PhysicsList():
# from G4AtlasApps.SimFlags import simFlags
if '_EMV' not in ConfigFlags.Sim.PhysicsList and '_EMX' not in ConfigFlags.Sim.PhysicsList:
rangeEMB = 0.1
kwargs.setdefault("ElectronCut", rangeEMB)
kwargs.setdefault("PositronCut", rangeEMB)
......
......@@ -16,7 +16,7 @@ def AthenaStackingActionToolCfg(ConfigFlags, name='G4UA::AthenaStackingActionToo
result = ComponentAccumulator()
## Killing neutrinos
if "FASER" in ConfigFlags.Sim.Layout:
if "FASER" in ConfigFlags.GeoModel.Layout:
kwargs.setdefault('KillAllNeutrinos', True)
## Neutron Russian Roulette
#need to check if it exists?
......
......@@ -8,8 +8,8 @@ KG Tan, 17/06/2012
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
from BarcodeServices.BarcodeServicesConfigNew import MC15aPlusBarcodeSvcCfg
from ISF_HepMC_Tools.ISF_HepMC_ToolsConfigNew import ParticleFinalStateFilterCfg, GenParticleInteractingFilterCfg
from BarcodeServices.BarcodeServicesConfig import BarcodeSvcCfg
from ISF_HepMC_Tools.ISF_HepMC_ToolsConfig import ParticleFinalStateFilterCfg, GenParticleInteractingFilterCfg
# from FaserISF_HepMC_Tools.FaserISF_HepMC_ToolsConfigNew import FaserTruthStrategyCfg, FaserDipoleTruthStrategyCfg
from FaserISF_HepMC_Tools.FaserISF_HepMC_ToolsConfigNew import TruthStrategyGroupCfg, TrenchStrategyGroupCfg
......@@ -43,8 +43,8 @@ def FaserInputConverterCfg(ConfigFlags, name="ISF_FaserInputConverter", **kwargs
#just use this barcodeSvc for now. TODO - make configurable
#from G4AtlasApps.SimFlags import simFlags
#kwargs.setdefault('BarcodeSvc', simFlags.TruthStrategy.BarcodeServiceName())
result = MC15aPlusBarcodeSvcCfg(ConfigFlags)
kwargs.setdefault('BarcodeSvc', result.getService("Barcode_MC15aPlusBarcodeSvc") )
result = ComponentAccumulator()
# kwargs.setdefault('BarcodeSvc', result.getPrimaryAndMerge(BarcodeSvcCfg(ConfigFlags)).name)
kwargs.setdefault("UseGeneratedParticleMass", False)
......@@ -58,8 +58,8 @@ def FaserInputConverterCfg(ConfigFlags, name="ISF_FaserInputConverter", **kwargs
# Generic Truth Service Configurations
#
def FaserTruthServiceCfg(ConfigFlags, name="FaserISF_TruthService", **kwargs):
result = MC15aPlusBarcodeSvcCfg(ConfigFlags)
kwargs.setdefault('BarcodeSvc', result.getService("Barcode_MC15aPlusBarcodeSvc") )
result = ComponentAccumulator()
kwargs.setdefault('BarcodeSvc', result.getPrimaryAndMerge(BarcodeSvcCfg(ConfigFlags)).name)
# acc = FaserTruthStrategyCfg(ConfigFlags)
# acc2= FaserDipoleTruthStrategyCfg(ConfigFlags)
......
......@@ -42,7 +42,7 @@
+Event/FaserEventStorage
-Event/.*
+FaserGeometryCommon/.*
-Generators/.*
+Generators/.*
+LHCData/LHCDataAlgs
+LHCData/LHCDataTools
#-LHCData/.*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment