Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
54  if(MisalignMode==0):
55  tag="InDetSi_MisalignmentMode_no Misalignment"
56  elif(MisalignMode==1):
57  tag="InDetSi_MisalignmentMode_misalignment by 6 parameters"
58  elif(MisalignMode==2):
59  tag="InDetSi_MisalignmentMode_random misalignment"
60  elif(MisalignMode==3):
61  tag="InDetSi_MisalignmentMode_IBL-stave temperature dependent bowing"
62  elif(MisalignMode==11):
63  tag="InDetSi_MisalignmentMode_R deltaR (radial expansion)"
64  elif(MisalignMode==21):
65  tag="InDetSi_MisalignmentMode_R deltaPhi (curl)"
66  elif(MisalignMode==31):
67  tag="InDetSi_MisalignmentMode_R deltaZ (telescope)"
68  elif(MisalignMode==99):
69  tag="InDetSi_MisalignmentMode_99"
70  DBFile="MisalignmentSet99.db"
71  DBName="OFLCOND"
72  flags.IOVDb.DBConnection ="sqlite://;schema="+DBFile+";dbname="+DBName
73 
74 flags.Detector.GeometryCalo = False
75 flags.Detector.GeometryMuon = False
76 
77 # This should run serially for the moment.
78 flags.Concurrency.NumThreads = 1
79 flags.Concurrency.NumConcurrentEvents = 1
80 
81 log.debug('Lock config flags now.')
82 flags.lock()
83 
84 log.debug('dumping config flags now.')
85 flags.dump()
86 
87 cfg=MainServicesCfg(flags)
88 if(MisalignMode!=-1):
89  from IOVDbSvc.IOVDbSvcConfig import addFolders
90  cfg.merge(addFolders(flags,"/Indet/AlignITk",db=DBName,detDb=DBFile,tag=tag))
91 
92 from TrkExUnitTests.TrkExUnitTestsConfig import ExtrapolationEngineTestCfg
94  NumberOfTestsPerEvent = 100,
95  # parameters mode: 0 - neutral tracks, 1 - charged particles
96  ParametersMode = 1,
97  # do the full test backwards as well
98  BackExtrapolation = False,
99  # Smear the production vertex - standard primary vertex paramters
100  SmearOrigin = True,
101  SimgaOriginD0 = 2./3.,
102  SimgaOriginZ0 = 50.,
103  # pT range for testing
104  PtMin = 1000,
105  PtMax = 1000,
106  # The test range in Eta
107  EtaMin = -5.,
108  EtaMax = 5.,
109  # Configure how you wanna run
110  CollectSensitive = True,
111  CollectPassive = True,
112  CollectBoundary = True,
113  CollectMaterial = True,
114  UseHGTD = flags.Detector.GeometryHGTD,
115  # the path limit to test
116  PathLimit = -1.,
117  )
118 
119 cfg.merge(topoAcc)
120 cfg.printConfig()
121 cfg.run(10)
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:260
python.IOVDbSvcConfig.addFolders
def addFolders(flags, folderStrings, detDb=None, className=None, extensible=False, tag=None, db=None, modifiers='')
Definition: IOVDbSvcConfig.py:81
TrkExUnitTestsConfig.ExtrapolationEngineTestCfg
def ExtrapolationEngineTestCfg(configFlags, name="ExtrapolationEngineTest", **kwargs)
Definition: TrkExUnitTestsConfig.py:17
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
python.DetectorConfigFlags.setupDetectorFlags
def setupDetectorFlags(flags, custom_list=None, use_metadata=False, toggle_geometry=False, validate_only=False, keep_beampipe=False)
Definition: DetectorConfigFlags.py:291
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567
str
Definition: BTagTrackIpAccessor.cxx:11