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