ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tools
Campaigns
python
MC21.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
from
AthenaConfiguration.Enums
import
ProductionStep
3
from
Campaigns.Utils
import
Campaign
4
5
6
def
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
35
def
MC21aSingleBeamspot
(flags):
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
43
def
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
68
def
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
83
def
MC21NoPileUpLowMuRun
(flags):
84
"""MC21a flags for MC to match 2002 Low Mu data"""
85
MC21NoPileUp
(flags)
86
flags.Input.ConditionsRunNumber = 420000
87
88
89
def
BeamspotSplitMC21a
():
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
97
def
MC21SimulationNoIoV
(flags):
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
117
def
MC21SimulationLowMuRun
(flags):
118
"""MC21 flags for low mu run simulation"""
119
MC21SimulationNoIoV
(flags)
120
121
flags.Input.RunNumbers = [420000]
122
flags.Input.OverrideRunNumber =
True
123
flags.Input.LumiBlockNumbers = [1]
# dummy value
124
125
126
def
MC21SimulationSingleIoV
(flags):
127
"""MC21 flags for simulation"""
128
MC21SimulationNoIoV
(flags)
129
130
flags.Input.RunNumbers = [410000]
131
flags.Input.OverrideRunNumber =
True
132
flags.Input.LumiBlockNumbers = [1]
# dummy value
133
134
135
def
MC21Simulation
(flags):
136
"""MC21 flags for simulation (alias)"""
137
MC21SimulationSingleIoV
(flags)
138
139
140
def
MC21SimulationMultipleIoV
(flags):
141
"""MC21 flags for simulation"""
142
MC21SimulationNoIoV
(flags)
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
151
def
MC21SimulationSingleIoVCalibrationHits
(flags):
152
"""MC21 flags for simulation with CalibrationHits"""
153
MC21SimulationSingleIoV
(flags)
154
from
SimuJobTransforms
import
CalHits, ParticleID
155
CalHits(flags)
156
ParticleID(flags)
157
158
159
def
MC21SimulationCalibrationHits
(flags):
160
"""MC21 flags for simulation with CalibrationHits (alias)"""
161
MC21SimulationSingleIoVCalibrationHits
(flags)
162
163
164
def
MC21SimulationMultipleIoVCalibrationHits
(flags):
165
"""MC21 flags for simulation with CalibrationHits"""
166
MC21SimulationMultipleIoV
(flags)
167
from
SimuJobTransforms
import
CalHits, ParticleID
168
CalHits(flags)
169
ParticleID(flags)
python.MC21.MC21SimulationNoIoV
MC21SimulationNoIoV(flags)
Definition
MC21.py:97
python.MC21.MC21SimulationCalibrationHits
MC21SimulationCalibrationHits(flags)
Definition
MC21.py:159
python.MC21.MC21aSingleBeamspot
MC21aSingleBeamspot(flags)
Definition
MC21.py:35
python.MC21.MC21SimulationMultipleIoV
MC21SimulationMultipleIoV(flags)
Definition
MC21.py:140
python.MC21.MC21NoPileUp
MC21NoPileUp(flags)
Definition
MC21.py:68
python.MC21.BeamspotSplitMC21a
BeamspotSplitMC21a()
Definition
MC21.py:89
python.MC21.MC21SimulationLowMuRun
MC21SimulationLowMuRun(flags)
Definition
MC21.py:117
python.MC21.MC21NoPileUpLowMuRun
MC21NoPileUpLowMuRun(flags)
Definition
MC21.py:83
python.MC21.MC21SimulationSingleIoVCalibrationHits
MC21SimulationSingleIoVCalibrationHits(flags)
Definition
MC21.py:151
python.MC21.MC21Simulation
MC21Simulation(flags)
Definition
MC21.py:135
python.MC21.MC21a
MC21a(flags)
Definition
MC21.py:6
python.MC21.MC21LowMu
MC21LowMu(flags)
Definition
MC21.py:43
python.MC21.MC21SimulationMultipleIoVCalibrationHits
MC21SimulationMultipleIoVCalibrationHits(flags)
Definition
MC21.py:164
python.MC21.MC21SimulationSingleIoV
MC21SimulationSingleIoV(flags)
Definition
MC21.py:126
Generated on
for ATLAS Offline Software by
1.17.0