ATLAS Offline Software
IDAlignFlags.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 # File: InDetAlignConfig/python/IDAlignFlags.py
4 # Author: David Brunner (david.brunner@cern.ch), Thomas Strebler (thomas.strebler@cern.ch)
5 
6 from AthenaCommon.Logging import logging
7 
9  from AthenaConfiguration.AthConfigFlags import AthConfigFlags
10  icf = AthConfigFlags()
11 
12  icf.addFlag("baseDir", "./")
13  icf.addFlag("accumulate", True)
14  icf.addFlag("doMonitoring", False)
15  icf.addFlag("alignPixel", True)
16  icf.addFlag("alignSCT", True)
17  icf.addFlag("alignTRT", True)
18  icf.addFlag("writeAlignNtuple", False)
19  icf.addFlag("inputTracksCollection", "CombinedInDetTracks")
20  icf.addFlag("pixelAlignmentLevel", -1)
21  icf.addFlag("pixelAlignmentLevelBarrel", -1)
22  icf.addFlag("pixelAlignmentLevelEndcaps", -1)
23  icf.addFlag("SCTAlignmentLevel", -1)
24  icf.addFlag("SCTAlignmentLevelBarrel", -1)
25  icf.addFlag("SCTAlignmentLevelEndcaps", -1)
26  icf.addFlag("TRTAlignmentLevel", -1)
27  icf.addFlag("TRTAlignmentLevelBarrel", -1)
28  icf.addFlag("TRTAlignmentLevelEndcaps", -1)
29  icf.addFlag("beamSpotTag", "")
30  icf.addFlag("IBLDistTag", "")
31  icf.addFlag("L1IDTag", "")
32  icf.addFlag("L2PIXTag", "")
33  icf.addFlag("L2SCTTag", "")
34  icf.addFlag("L1TRTTag", "")
35  icf.addFlag("L3SiTag", "")
36  icf.addFlag("L2TRTTag", "")
37  icf.addFlag("L3TRTTag", "")
38  icf.addFlag("errorScalingTag", "")
39  icf.addFlag("lorentzAngleTag", "")
40  icf.addFlag("MDNTag", "")
41  icf.addFlag("pixelDistortionTag", "")
42  icf.addFlag("TRTCalibT0TagCos", "")
43  icf.addFlag("TRTCalibRtTagCos", "")
44  icf.addFlag("inputTFiles", "AlignmentTFile.root")
45  icf.addFlag("outputConditionFile", "alignment_output.pool.root")
46 
47  return icf
48 
49 def setL11AlignmentFlags(flags, InputLocalDatabase = ""):
50  flags.InDet.Align.pixelAlignmentLevel = 11
51  flags.InDet.Align.pixelAlignmentLevelBarrel = -1
52  flags.InDet.Align.pixelAlignmentLevelEndcaps = -1
53 
54  flags.InDet.Align.SCTAlignmentLevel = 1
55  flags.InDet.Align.SCTAlignmentLevelBarrel = -1
56  flags.InDet.Align.SCTAlignmentLevelEndcaps = -1
57 
58  flags.InDet.Align.TRTAlignmentLevel = 1
59  flags.InDet.Align.TRTAlignmentLevelBarrel = -1
60  flags.InDet.Align.TRTAlignmentLevelEndcaps = -1
61 
62  if InputLocalDatabase:
63  msg = logging.getLogger('setL16AlignmentFlags')
64  msg.info(f"Change IBLDist tag from '{flags.InDet.Align.IBLDistTag}' to 'InDetAlignIBLDIST-T0-Alignment'")
65  msg.info(f"Change L1IDTag tag from '{flags.InDet.Align.L1IDTag}' to 'InDetAlignL1-T0-Alignment'")
66 
67  flags.InDet.Align.IBLDistTag = "InDetAlignIBLDIST-T0-Alignment"
68  flags.InDet.Align.L1IDTag = "InDetAlignL1-T0-Alignment"
69 
70 def setL16AlignmentFlags(flags, InputLocalDatabase = ""):
71  if not flags.InDet.Align.alignPixel:
72  raise Exception("With alignment level '16' the flag 'flags.InDet.Align.alignPixel' must be true'")
73 
74  flags.InDet.Align.pixelAlignmentLevel = 16
75  flags.InDet.Align.pixelAlignmentLevelBarrel = -1
76  flags.InDet.Align.pixelAlignmentLevelEndcaps = -1
77 
78  flags.InDet.Align.SCTAlignmentLevel = 1
79  flags.InDet.Align.SCTAlignmentLevelBarrel = -1
80  flags.InDet.Align.SCTAlignmentLevelEndcaps = -1
81 
82  flags.InDet.Align.TRTAlignmentLevel = 1
83  flags.InDet.Align.TRTAlignmentLevelBarrel = -1
84  flags.InDet.Align.TRTAlignmentLevelEndcaps = -1
85 
86  flags.InDet.Align.alignSCT = False
87  flags.InDet.Align.alignTRT = False
88 
89  if InputLocalDatabase:
90  msg = logging.getLogger('setL16AlignmentFlags')
91  msg.info(f"Change IBLDist tag from '{flags.InDet.Align.IBLDistTag}' to 'InDetAlignIBLDIST-T0-Alignment'")
92  msg.info(f"Change L1IDTag tag from '{flags.InDet.Align.L1IDTag}' to 'InDetAlignL1-T0-Alignment'")
93 
94  flags.InDet.Align.IBLDistTag = "InDetAlignIBLDIST-T0-Alignment"
95  flags.InDet.Align.L1IDTag = "InDetAlignL1-T0-Alignment"
96 
97 
99  pass
100 
102  pass
IDAlignFlags.setL3AlignmentFlags
def setL3AlignmentFlags(flags)
Definition: IDAlignFlags.py:101
IDAlignFlags.setL2AlignmentFlags
def setL2AlignmentFlags(flags)
TODO Fill L2 and L3 from current T0 setup.
Definition: IDAlignFlags.py:98
IDAlignFlags.createInDetAlignFlags
def createInDetAlignFlags()
Definition: IDAlignFlags.py:8
IDAlignFlags.setL16AlignmentFlags
def setL16AlignmentFlags(flags, InputLocalDatabase="")
Definition: IDAlignFlags.py:70
IDAlignFlags.setL11AlignmentFlags
def setL11AlignmentFlags(flags, InputLocalDatabase="")
Definition: IDAlignFlags.py:49