ATLAS Offline Software
Loading...
Searching...
No Matches
MC21.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.Enums import ProductionStep
3from Campaigns.Utils import Campaign
4
5
6def MC21a(flags):
7 """MC21a flags for MC to match initial Run 3 data"""
8 flags.Input.MCCampaign = Campaign.MC21a
9
10 flags.Beam.NumberOfCollisions = 60.
11
12 from LArConfiguration.LArConfigRun3 import LArConfigRun3PileUp
13 LArConfigRun3PileUp(flags)
14
15 # radiation damage
16 from SimulationConfig.SimEnums import PixelRadiationDamageSimulationType
17 flags.Digitization.PixelPlanarRadiationDamageSimulationType = PixelRadiationDamageSimulationType.RamoPotential
18
19 # pile-up
20 # These numbers are based upon a relative XS scaling of the high-pt slice
21 # of 64%, which leads to a relative high-pt / low-pt sampling of
22 # 0.001953314389 / 0.9980466856. Those numbers are then multiplied by 84.5
23 # to follow pile-up profile. Only a relevant number of significant digits
24 # are kept.
25 flags.Digitization.PU.NumberOfLowPtMinBias = 84.335
26 flags.Digitization.PU.NumberOfHighPtMinBias = 0.165
27 flags.Digitization.PU.BunchStructureConfig = 'RunDependentSimData.BunchStructure_Fill7314_BCMSPattern_Flat'
28 flags.Digitization.PU.ProfileConfig = 'RunDependentSimData.PileUpProfile_run410000_MC21a_MultiBeamspot'
29
30 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
31 # ensure better randomisation of high-pt minbias events
32 flags.Digitization.PU.HighPtMinBiasInputColOffset = -1
33
34
36 """MC21a flags for MC to match initial Run 3 data (single beamspot version)"""
37 MC21a(flags)
38
39 # override only pile-up profile
40 flags.Digitization.PU.ProfileConfig = 'RunDependentSimData.PileUpProfile_run410000_MC21a_SingleBeamspot'
41
42
43def MC21LowMu(flags):
44 """MC21 flags for MC to match Run 3 data with low pile-up"""
45 flags.Input.MCCampaign = Campaign.MC21a
46
47 flags.Beam.NumberOfCollisions = 60.
48 flags.Input.ConditionsRunNumber = 410000
49
50 from LArConfiguration.LArConfigRun3 import LArConfigRun3PileUp
51 LArConfigRun3PileUp(flags)
52
53 # radiation damage
54 from SimulationConfig.SimEnums import PixelRadiationDamageSimulationType
55 flags.Digitization.PixelPlanarRadiationDamageSimulationType = PixelRadiationDamageSimulationType.RamoPotential
56
57 # pile-up
58 # These numbers are based upon a relative XS scaling of the high-pt slice
59 # of 64%, which leads to a relative high-pt / low-pt sampling of
60 # 0.001953314389 / 0.9980466856. Those numbers are then multiplied by 0.05
61 # to simulate low pile-up. Only a relevant number of significant digits
62 # are kept.
63 flags.Digitization.PU.NumberOfLowPtMinBias = 0.0499
64 flags.Digitization.PU.NumberOfHighPtMinBias = 0.0001
65 flags.Digitization.PU.BunchStructureConfig = 'RunDependentSimData.BunchStructure_Fill7314_BCMSPattern_Flat'
66
67
68def MC21NoPileUp(flags):
69 """MC21a flags for MC to match initial Run 3 data"""
70 flags.Input.MCCampaign = Campaign.MC21a
71
72 flags.Beam.NumberOfCollisions = 0.
73 flags.Input.ConditionsRunNumber = 410000
74
75 from LArConfiguration.LArConfigRun3 import LArConfigRun3NoPileUp
76 LArConfigRun3NoPileUp(flags)
77
78 # radiation damage
79 from SimulationConfig.SimEnums import PixelRadiationDamageSimulationType
80 flags.Digitization.PixelPlanarRadiationDamageSimulationType = PixelRadiationDamageSimulationType.RamoPotential
81
82
84 """MC21a flags for MC to match 2002 Low Mu data"""
85 MC21NoPileUp(flags)
86 flags.Input.ConditionsRunNumber = 420000
87
88
90 """MC21a beamspot splitting configuration"""
91 substeps = 4
92 event_fractions = [0.14, 0.14, 0.14, 0.58]
93
94 return substeps, event_fractions
95
96
98 """MC21 base flags for simulation without specifying conditions IoVs"""
99 flags.Input.MCCampaign = Campaign.MC21a
100
101 from SimulationConfig.SimEnums import TruthStrategy
102 flags.Sim.PhysicsList = 'FTFP_BERT_ATL'
103 flags.Sim.TruthStrategy = TruthStrategy.MC15aPlus
104
105 flags.Sim.TRTRangeCut = 30.0
106 flags.Sim.TightMuonStepping = True
107
108 from SimulationConfig.G4Optimizations import enableBeamPipeKill, enableFrozenShowersFCalOnly
109 enableBeamPipeKill(flags)
110 if flags.Sim.ISF.Simulator.isFullSim():
111 enableFrozenShowersFCalOnly(flags)
112
113 from SimulationConfig.G4Optimizations import enableG4Optimizations
114 enableG4Optimizations(flags)
115
116
118 """MC21 flags for low mu run simulation"""
120
121 flags.Input.RunNumbers = [420000]
122 flags.Input.OverrideRunNumber = True
123 flags.Input.LumiBlockNumbers = [1] # dummy value
124
125
127 """MC21 flags for simulation"""
129
130 flags.Input.RunNumbers = [410000]
131 flags.Input.OverrideRunNumber = True
132 flags.Input.LumiBlockNumbers = [1] # dummy value
133
134
135def MC21Simulation(flags):
136 """MC21 flags for simulation (alias)"""
138
139
141 """MC21 flags for simulation"""
143
144 flags.Input.OverrideRunNumber = True
145
146 from RunDependentSimComps.PileUpUtils import generateRunAndLumiProfile
147 generateRunAndLumiProfile(flags,
148 profile= 'RunDependentSimData.PileUpProfile_run410000_MC21a_MultiBeamspot')
149
150
152 """MC21 flags for simulation with CalibrationHits"""
154 from SimuJobTransforms import CalHits, ParticleID
155 CalHits(flags)
156 ParticleID(flags)
157
158
160 """MC21 flags for simulation with CalibrationHits (alias)"""
162
163
165 """MC21 flags for simulation with CalibrationHits"""
167 from SimuJobTransforms import CalHits, ParticleID
168 CalHits(flags)
169 ParticleID(flags)
MC21SimulationCalibrationHits(flags)
Definition MC21.py:159
MC21SimulationMultipleIoVCalibrationHits(flags)
Definition MC21.py:164
MC21SimulationSingleIoVCalibrationHits(flags)
Definition MC21.py:151
MC21SimulationSingleIoV(flags)
Definition MC21.py:126
MC21SimulationNoIoV(flags)
Definition MC21.py:97
MC21NoPileUp(flags)
Definition MC21.py:68
MC21LowMu(flags)
Definition MC21.py:43
MC21SimulationMultipleIoV(flags)
Definition MC21.py:140
MC21aSingleBeamspot(flags)
Definition MC21.py:35
MC21a(flags)
Definition MC21.py:6
BeamspotSplitMC21a()
Definition MC21.py:89
MC21SimulationLowMuRun(flags)
Definition MC21.py:117
MC21Simulation(flags)
Definition MC21.py:135
MC21NoPileUpLowMuRun(flags)
Definition MC21.py:83