510def ATLAS_RegionCreatorListCfg(flags):
511 result = ComponentAccumulator()
512 regionCreatorList = []
513
514 if flags.Detector.GeometryCavern or flags.Sim.CavernBackground not in [CavernBackground.Off, CavernBackground.Signal]:
515 regionCreatorList += [
516 result.popToolsAndMerge(SX1PhysicsRegionToolCfg(flags)),
517 result.popToolsAndMerge(BedrockPhysicsRegionToolCfg(flags)),
518 result.popToolsAndMerge(CavernShaftsConcretePhysicsRegionToolCfg(flags))]
519
520 if flags.Detector.GeometryID:
521 if flags.Detector.GeometryPixel:
522 regionCreatorList += [result.popToolsAndMerge(PixelPhysicsRegionToolCfg(flags))]
523 if flags.Detector.GeometrySCT:
524 regionCreatorList += [result.popToolsAndMerge(SCTPhysicsRegionToolCfg(flags))]
525 if flags.Detector.GeometryTRT:
526 regionCreatorList += [result.popToolsAndMerge(TRTPhysicsRegionToolCfg(flags))]
527 if flags.GeoModel.Run in [LHCPeriod.Run2, LHCPeriod.Run3]:
528
529 regionCreatorList += [result.popToolsAndMerge(TRT_ArPhysicsRegionToolCfg(flags))]
530
531 if flags.Detector.GeometryBpipe:
532 if flags.Sim.BeamPipeSimMode is not BeamPipeSimMode.Normal:
533 regionCreatorList += [result.popToolsAndMerge(BeampipeFwdCutPhysicsRegionToolCfg(flags))]
534 if not flags.Detector.GeometryFwdRegion and (flags.Detector.GeometryAFP or flags.Detector.GeometryALFA or flags.Detector.GeometryZDC):
535 regionCreatorList += [result.popToolsAndMerge(FWDBeamLinePhysicsRegionToolCfg(flags))]
536 if flags.Detector.GeometryITk:
537 if flags.Detector.GeometryITkPixel:
538 regionCreatorList += [result.popToolsAndMerge(ITkPixelPhysicsRegionToolCfg(flags))]
539 if flags.Detector.GeometryITkStrip:
540 regionCreatorList += [result.popToolsAndMerge(ITkStripPhysicsRegionToolCfg(flags))]
541 if flags.Detector.GeometryHGTD:
542 regionCreatorList += [result.popToolsAndMerge(HGTDPhysicsRegionToolCfg(flags))]
543 if flags.Detector.GeometryITk or flags.Detector.GeometryHGTD:
544
545 if flags.Detector.GeometryBpipe:
546 if flags.Sim.BeamPipeSimMode is not BeamPipeSimMode.Normal:
547 regionCreatorList += [result.popToolsAndMerge(BeampipeFwdCutPhysicsRegionToolCfg(flags))]
548 if not flags.Detector.GeometryFwdRegion and (flags.Detector.GeometryAFP or flags.Detector.GeometryALFA or flags.Detector.GeometryZDC):
549 regionCreatorList += [result.popToolsAndMerge(FWDBeamLinePhysicsRegionToolCfg(flags))]
550 if flags.Detector.GeometryCalo:
551 if flags.Detector.GeometryLAr:
552
553 if flags.Sim.LArParameterization is not LArParameterization.NoFrozenShowers \
554 and flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC, CalibrationRun.DeadLAr]:
555 Logging.log.info('You requested both calibration hits and frozen showers / parameterization in the LAr.')
556 Logging.log.info(' Such a configuration is not allowed, and would give junk calibration hits where the showers are modified.')
557 Logging.log.info(' Please try again with a different value of either flags.Sim.LArParameterization (' + str(flags.Sim.LArParameterization.value) + ') or flags.Sim.CalibrationRun ('+str(flags.Sim.CalibrationRun.value)+')')
558 raise RuntimeError('Configuration not allowed')
559 regionCreatorList += [
560 result.popToolsAndMerge(EMBPhysicsRegionToolCfg(flags)),
561 result.popToolsAndMerge(EMECPhysicsRegionToolCfg(flags)),
562 result.popToolsAndMerge(HECPhysicsRegionToolCfg(flags)),
563 result.popToolsAndMerge(FCALPhysicsRegionToolCfg(flags))]
564 fullCommandList = '\t'.join(flags.Sim.G4Commands)
565 if flags.Sim.LArParameterization is LArParameterization.FrozenShowers or 'EMECPara' in fullCommandList:
566
567
568
569
570
571
572
573 regionCreatorList += [
574 result.popToolsAndMerge(EMECParaPhysicsRegionToolCfg(flags))]
575 if flags.Sim.LArParameterization is not LArParameterization.NoFrozenShowers:
576 regionCreatorList += [result.popToolsAndMerge(FCALParaPhysicsRegionToolCfg(flags)),
577 result.popToolsAndMerge(FCAL2ParaPhysicsRegionToolCfg(flags))]
578 if flags.Sim.LArParameterization in [LArParameterization.DeadMaterialFrozenShowers, LArParameterization.FrozenShowersFCalOnly, LArParameterization.FastCaloSim]:
579 pass
580 regionCreatorList += [
581 result.popToolsAndMerge(PreSampLArPhysicsRegionToolCfg(flags)),
582 result.popToolsAndMerge(DeadMaterialPhysicsRegionToolCfg(flags))]
583 if flags.Sim.LArParameterization is LArParameterization.FastCaloSim:
584 regionCreatorList += [result.popToolsAndMerge(CALOPhysicsRegionToolCfg(flags))]
585
588 if flags.Detector.GeometryMuon:
589
590 regionCreatorList += [
591 result.popToolsAndMerge(DriftWallPhysicsRegionToolCfg(flags)),
592 result.popToolsAndMerge(DriftWall1PhysicsRegionToolCfg(flags)),
593 result.popToolsAndMerge(DriftWall2PhysicsRegionToolCfg(flags))]
594 if flags.Sim.CavernBackground not in [CavernBackground.Off, CavernBackground.Read] and not flags.Sim.RecordFlux:
595 regionCreatorList += [result.popToolsAndMerge(MuonSystemFastPhysicsRegionToolCfg(flags))]
596 result.setPrivateTools(regionCreatorList)
597 return result
598
599