ATLAS Offline Software
Loading...
Searching...
No Matches
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
4from AthenaConfiguration.AllConfigFlags import initConfigFlags
5from AthenaConfiguration.MainServicesConfig import MainServicesCfg
6from AthenaCommon.Logging import log
7import sys
8
9if 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))
16else:
17 MisalignMode = -1
18
19flags = initConfigFlags()
20
21flags.Input.isMC = True
22
23flags.Input.Files = []
24
25from AthenaConfiguration.TestDefaults import defaultGeometryTags,defaultConditionsTags
26flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN4
27
28#Toggle this to use a local geometry input
29flags.ITk.Geometry.AllLocal = False
30
31if 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
44flags.IOVDb.GlobalTag = defaultConditionsTags.RUN4_MC
45flags.GeoModel.Align.Dynamic = False
46if(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
79flags.Detector.GeometryCalo = False
80flags.Detector.GeometryMuon = False
81
82# This should run serially for the moment.
83flags.Concurrency.NumThreads = 1
84flags.Concurrency.NumConcurrentEvents = 1
85
86log.debug('Lock config flags now.')
87flags.lock()
88
89log.debug('dumping config flags now.')
90flags.dump()
91
92cfg=MainServicesCfg(flags)
93if(MisalignMode!=-1):
94 from IOVDbSvc.IOVDbSvcConfig import addFolders
95 cfg.merge(addFolders(flags,"/Indet/AlignITk",db=DBName,detDb=DBFile,tag=tag))
96
97from TrkExUnitTests.TrkExUnitTestsConfig import ExtrapolationEngineTestCfg
98topoAcc=ExtrapolationEngineTestCfg(flags,
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
124cfg.merge(topoAcc)
125cfg.printConfig()
126cfg.run(10)
if(febId1==febId2)
void print(char *figname, TCanvas *c1)