ATLAS Offline Software
RunExEngineTestITk.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
4 from AthenaConfiguration.AllConfigFlags import initConfigFlags
5 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
6 from AthenaCommon.Logging import log
7 import sys
8 
9 if len(sys.argv[1:]):
10  cmdargs=dict(arg.split('=') for arg in sys.argv[1:])
11  if 'MisalignMode' not in cmdargs.keys():
12  MisalignMode = -1
13  else:
14  MisalignMode=int(cmdargs.get('MisalignMode',11))
15  print("Looking for misalignment files for mode "+str(MisalignMode))
16 else:
17  MisalignMode = -1
18 
19 flags = initConfigFlags()
20 
21 flags.Input.isMC = True
22 
23 flags.Input.Files = []
24 
25 from AthenaConfiguration.TestDefaults import defaultGeometryTags,defaultConditionsTags
26 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN4
27 
28 #Toggle this to use a local geometry input
29 flags.ITk.Geometry.AllLocal = False
30 
31 if flags.ITk.Geometry.AllLocal:
32 
33  detectors = [
34  "ITkPixel",
35  "ITkStrip",
36  "Bpipe"
37  ]
38  from AthenaConfiguration.DetectorConfigFlags import setupDetectorFlags
39  setupDetectorFlags(flags, detectors, toggle_geometry=True)
40 
41  flags.TrackingGeometry.MaterialSource = "Input"
42  flags.Detector.GeometryHGTD = False
43 
44 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN4_MC
45 flags.GeoModel.Align.Dynamic = False
46 if(MisalignMode!=-1):
47  tag=""
48  BFile=""
49  DBFile="MisalignmentSet"+str(MisalignMode)+".db"
50  flags.ITk.Geometry.alignmentFolder = "/Indet/AlignITk"
51  flags.ITk.Geometry.stripAlignable=True
52  flags.ITk.Geometry.pixelAlignable=True
53  flags.ITk.Align.alignITkPixel = True
54  flags.ITk.Align.alignITkStrip = True
55 
56 
57  if(MisalignMode==0):
58  tag="InDetSi_MisalignmentMode_no Misalignment"
59  elif(MisalignMode==1):
60  tag="InDetSi_MisalignmentMode_misalignment by 6 parameters"
61  elif(MisalignMode==2):
62  tag="InDetSi_MisalignmentMode_random misalignment"
63  elif(MisalignMode==3):
64  tag="InDetSi_MisalignmentMode_IBL-stave temperature dependent bowing"
65  elif(MisalignMode==7):
66  tag="InDetSi_MisalignmentMode_misalignment according to module indices"
67  elif(MisalignMode==11):
68  tag="InDetSi_MisalignmentMode_R deltaR (radial expansion)"
69  elif(MisalignMode==21):
70  tag="InDetSi_MisalignmentMode_R deltaPhi (curl)"
71  elif(MisalignMode==31):
72  tag="InDetSi_MisalignmentMode_R deltaZ (telescope)"
73  elif(MisalignMode==99):
74  tag="InDetSi_MisalignmentMode_99"
75  DBFile="MisalignmentSet99.db"
76  DBName="OFLCOND"
77  flags.IOVDb.DBConnection ="sqlite://;schema="+DBFile+";dbname="+DBName
78 
79 flags.Detector.GeometryCalo = False
80 flags.Detector.GeometryMuon = False
81 
82 # This should run serially for the moment.
83 flags.Concurrency.NumThreads = 1
84 flags.Concurrency.NumConcurrentEvents = 1
85 
86 log.debug('Lock config flags now.')
87 flags.lock()
88 
89 log.debug('dumping config flags now.')
90 flags.dump()
91 
92 cfg=MainServicesCfg(flags)
93 if(MisalignMode!=-1):
94  from IOVDbSvc.IOVDbSvcConfig import addFolders
95  cfg.merge(addFolders(flags,"/Indet/AlignITk",db=DBName,detDb=DBFile,tag=tag))
96 
97 from TrkExUnitTests.TrkExUnitTestsConfig import ExtrapolationEngineTestCfg
99  NumberOfTestsPerEvent = 100,
100  # parameters mode: 0 - neutral tracks, 1 - charged particles
101  ParametersMode = 1,
102  # do the full test backwards as well
103  BackExtrapolation = False,
104  # Smear the production vertex - standard primary vertex paramters
105  SmearOrigin = True,
106  SimgaOriginD0 = 2./3.,
107  SimgaOriginZ0 = 50.,
108  # pT range for testing
109  PtMin = 1000,
110  PtMax = 1000,
111  # The test range in Eta
112  EtaMin = -5.,
113  EtaMax = 5.,
114  # Configure how you wanna run
115  CollectSensitive = True,
116  CollectPassive = True,
117  CollectBoundary = True,
118  CollectMaterial = True,
119  UseHGTD = flags.Detector.GeometryHGTD,
120  # the path limit to test
121  PathLimit = -1.,
122  )
123 
124 cfg.merge(topoAcc)
125 cfg.printConfig()
126 cfg.run(10)
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:312
python.IOVDbSvcConfig.addFolders
def addFolders(flags, folderStrings, detDb=None, className=None, extensible=False, tag=None, db=None, modifiers='')
Definition: IOVDbSvcConfig.py:86
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:26
python.DetectorConfigFlags.setupDetectorFlags
def setupDetectorFlags(flags, custom_list=None, use_metadata=False, toggle_geometry=False, validate_only=False, keep_beampipe=False)
Definition: DetectorConfigFlags.py:292
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567
TrkExUnitTestsConfig.ExtrapolationEngineTestCfg
def ExtrapolationEngineTestCfg(flags, name="ExtrapolationEngineTest", **kwargs)
Definition: TrkExUnitTestsConfig.py:13
str
Definition: BTagTrackIpAccessor.cxx:11