ATLAS Offline Software
Functions | Variables
DumpGeoConfig Namespace Reference

Functions

def configureGeometry (flags, cfg)
 
def getATLASVersion ()
 
def DumpGeoCfg (flags, name="DumpGeoCA", **kwargs)
 

Variables

 _logger = logging.getLogger('DumpGeo')
 
 flags = initConfigFlags()
 
 MaxEvents
 
 NumThreads
 
 parser = flags.getArgumentParser(description="Dump the detector geometry to a GeoModel-based SQLite '.db' file.")
 
 prog
 
 default
 
 help
 
 metavar
 
 action
 
 args = flags.fillFromArgs(parser=parser)
 
 OutputFileName
 
 ShowTreetopContent
 
 ForceOverwrite
 
bool dumpgeo_empty_input = False
 
 ProjectName
 
 RunNumbers
 
 TimeStamps
 
 TypedCollections
 
 GlobalTag
 
 isMC
 
 MCCampaign
 
 AtlasVersion
 
 None
 
 use_metadata
 
 toggle_geometry
 
 True
 
 keep_beampipe
 
 cfg = MainServicesCfg(flags)
 
 debugCAlevel = int(args.debugCA)
 

Function Documentation

◆ configureGeometry()

def DumpGeoConfig.configureGeometry (   flags,
  cfg 
)

Definition at line 25 of file DumpGeoConfig.py.

25 def configureGeometry(flags, cfg):
26 
27  # Beam pipe
28  if flags.Detector.GeometryBpipe:
29  from BeamPipeGeoModel.BeamPipeGMConfig import BeamPipeGeometryCfg
30  cfg.merge(BeamPipeGeometryCfg(flags))
31 
32  # Inner Detectors
33  if flags.Detector.GeometryPixel:
34  from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
35  cfg.merge(PixelReadoutGeometryCfg(flags))
36  # TODO: do we need to set this separately?
37  # if flags.Detector.GeometryBCM:
38 
39  if flags.Detector.GeometrySCT:
40  from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
41  cfg.merge(SCT_ReadoutGeometryCfg(flags))
42 
43  if flags.Detector.GeometryTRT:
44  from TRT_GeoModel.TRT_GeoModelConfig import TRT_ReadoutGeometryCfg
45  cfg.merge(TRT_ReadoutGeometryCfg(flags))
46 
47  # InDetServMat
48  # Trigger the build of the InDetServMat geometry
49  # if any ID subsystems have been enabled
50  if flags.Detector.GeometryID:
51  from InDetServMatGeoModel.InDetServMatGeoModelConfig import (
52  InDetServiceMaterialCfg)
53  cfg.merge(InDetServiceMaterialCfg(flags))
54 
55  # Calorimeters
56  if flags.Detector.GeometryLAr:
57  from LArGeoAlgsNV.LArGMConfig import LArGMCfg
58  cfg.merge(LArGMCfg(flags))
59 
60  if flags.Detector.GeometryTile:
61  from TileGeoModel.TileGMConfig import TileGMCfg
62  #flags.Tile.forceFullGeometry = True
63  cfg.merge(TileGMCfg(flags))
64  # We must set the "FULL" geometry explicitely, otherwise the "RECO" version will be used by default,
65  # which is almost 'empty' (just the first level of child volumes is created for the "RECO" geo).
66  cfg.getService("GeoModelSvc").DetectorTools["TileDetectorTool"].GeometryConfig="FULL"
67  # TODO: do we need to set this separately?
68  # if flags.Detector.GeometryMBTS:
69 
70  # Muon spectrometer
71  if flags.Detector.GeometryMuon:
72  from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg
73  cfg.merge(MuonGeoModelCfg(flags))
74 
75  # HGTD (defined only for Run4 geometry tags)
76  if flags.Detector.GeometryHGTD:
77  #set up geometry
78  if flags.HGTD.Geometry.useGeoModelXml:
79  from HGTD_GeoModelXml.HGTD_GeoModelConfig import HGTD_SimulationGeometryCfg
80  else:
81  from HGTD_GeoModel.HGTD_GeoModelConfig import HGTD_SimulationGeometryCfg
82  cfg.merge(HGTD_SimulationGeometryCfg(flags))
83 
84  # ITk (defined only for Run4 geometry tags)
85  if flags.Detector.GeometryITkPixel:
86  from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
87  cfg.merge(ITkPixelReadoutGeometryCfg(flags))
88  if flags.Detector.GeometryITkStrip:
89  from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
90  cfg.merge(ITkStripReadoutGeometryCfg(flags))
91  # TODO: do we need to set those separately?
92  # if flags.Detector.GeometryBCMPrime:
93  # if flags.Detector.GeometryPLR:
94 
95  # Cavern (disabled by default)
96  if flags.Detector.GeometryCavern:
97  from AtlasGeoModel.CavernGMConfig import CavernGeometryCfg
98  cfg.merge(CavernGeometryCfg(flags))
99 
100  # Forward detectors (disabled by default)
101  if flags.Detector.GeometryLucid or flags.Detector.GeometryALFA or flags.Detector.GeometryAFP or flags.Detector.GeometryFwdRegion :
102  from AtlasGeoModel.ForDetGeoModelConfig import ForDetGeometryCfg
103  cfg.merge(ForDetGeometryCfg(flags))
104  if flags.Detector.GeometryZDC:
105  from ZDC_GeoM.ZdcGeoModelConfig import ZDC_DetToolCfg
106  cfg.merge(ZDC_DetToolCfg(flags))
107 
108  # Temporary 'hack':
109  # Replace EllipticTube with Box,
110  # to bypass a crash due to lack of support
111  # for EllipticTube in GeoModelIO
112  # See: https://its.cern.ch/jira/browse/ATLASSIM-7263
113  if "ForwardRegionGeoModelTool" in cfg.getService("GeoModelSvc").DetectorTools:
114  cfg.getService("GeoModelSvc").DetectorTools["ForwardRegionGeoModelTool"].vp1Compatibility=True
115 
116 

◆ DumpGeoCfg()

def DumpGeoConfig.DumpGeoCfg (   flags,
  name = "DumpGeoCA",
**  kwargs 
)

Definition at line 124 of file DumpGeoConfig.py.

124 def DumpGeoCfg(flags, name="DumpGeoCA", **kwargs):
125  result = ComponentAccumulator()
126 
127  _logger.info("We're using these 'GeoModel.DumpGeo' configuration flags:")
128  flags.dump("GeoModel.DumpGeo")
129 
130  # Debug messages
131  _logger.debug("kwargs: %s", kwargs)
132 
133  # set additional DumpGeo Alg's properties
134  _logger.verbose("Using ATLAS/Athena version: %s", getATLASVersion())
135  _logger.verbose("Using GeoModel ATLAS version: %s", flags.GeoModel.AtlasVersion)
136  kwargs.setdefault("AtlasRelease", getATLASVersion())
137  kwargs.setdefault("AtlasVersion", flags.GeoModel.AtlasVersion)
138 
139  # Set the user's choice to see the content of the Treetops
140  if flags.GeoModel.DumpGeo.ShowTreetopContent:
141  kwargs.setdefault("ShowTreetopContent", True)
142 
143  # Set the name of the output '.db' file.
144  # Pick the custom name if the user set it;
145  # otherwise, build it from the geometry tag
146  # and the filtered Detector Managers (if any).
147  outFileName = ""
148  if flags.GeoModel.DumpGeo.OutputFileName:
149  outFileName = flags.GeoModel.DumpGeo.OutputFileName
150  else:
151  # Handle the user's inputs and create a file name
152  # for the output SQLite, accordingly
153  outFileName = "geometry"
154  filterDetManagers = []
155  # - Put Geometry TAG into the file name
156  # NOTE: at this point, the user-defined Geo TAG args.detDescr,
157  # if set, has already replaced the default TAG in 'flags';
158  # so, we can use the latter, directy.
159  geoTAG = flags.GeoModel.AtlasVersion
160  _logger.info("+++ Dumping this Detector Description geometry TAG: '%s'", geoTAG)
161  outFileName = outFileName + "-" + geoTAG
162 
163  if flags.GeoModel.DumpGeo.FilterDetManagers:
164 
165  _logger.info("+++ Filtering on these GeoModel 'Detector Managers': '%s'", flags.GeoModel.DumpGeo.FilterDetManagers)
166 
167  filterDetManagers = flags.GeoModel.DumpGeo.FilterDetManagers
168 
169  # Set the filter variable that is used in the C++ code
170  kwargs.setdefault("UserFilterDetManager", filterDetManagers)
171 
172  # - Put the filtered Detector Managers' names into the file name,
173  # if the user asked to filter on them
174  outFileName = outFileName + "-" + "-".join(filterDetManagers)
175 
176  # - Add the final extension to the name of the output SQLite file
177  outFileName = outFileName + ".db"
178 
179  # Set the output file name variable in the C++ code
180  kwargs.setdefault("OutSQLiteFileName", outFileName)
181 
182  # Check if the output SQLite file exists already,
183  # and overwrite it if the user asked to do so;
184  # otherwise, throw an error.
185  if os.path.exists(outFileName):
186  if flags.GeoModel.DumpGeo.ForceOverwrite:
187  print("+ DumpGeo -- NOTE -- You chose to overwrite an existing geometry dump file with the same name, if present.")
188  # os.environ["DUMPGEOFORCEOVERWRITE"] = "1" # save to an env var, for later use in GeoModelStandalone/GeoExporter
189  # Check if the file exists before attempting to delete it
190  if os.path.exists(outFileName):
191  os.remove(outFileName)
192  _logger.verbose(f"The file {outFileName} has been deleted.")
193  else:
194  _logger.verbose(f"The file {outFileName} does not exist. So, it was not needed to 'force-delete' it. Continuing...")
195  else:
196  _logger.error(f"+++ DumpGeo -- ERROR!! The ouput file '{outFileName}' exists already!\nPlease move or remove it, or use the 'force' option: '-f' or '--forceOverWrite'.\n\n")
197  sys.exit()
198 
199  # Schedule the DumpGeo Athena Algorithm
200  the_alg = CompFactory.DumpGeo(name="DumpGeoAlg", **kwargs)
201  result.addEventAlgo(the_alg, primary=True)
202  return result
203 
204 

◆ getATLASVersion()

def DumpGeoConfig.getATLASVersion ( )

Definition at line 117 of file DumpGeoConfig.py.

117 def getATLASVersion():
118  if "AtlasVersion" in os.environ:
119  return os.environ["AtlasVersion"]
120  if "AtlasBaseVersion" in os.environ:
121  return os.environ["AtlasBaseVersion"]
122  return "Unknown"
123 

Variable Documentation

◆ _logger

DumpGeoConfig._logger = logging.getLogger('DumpGeo')
private

Definition at line 23 of file DumpGeoConfig.py.

◆ action

DumpGeoConfig.action

Definition at line 248 of file DumpGeoConfig.py.

◆ args

DumpGeoConfig.args = flags.fillFromArgs(parser=parser)

Definition at line 253 of file DumpGeoConfig.py.

◆ AtlasVersion

DumpGeoConfig.AtlasVersion

Definition at line 300 of file DumpGeoConfig.py.

◆ cfg

DumpGeoConfig.cfg = MainServicesCfg(flags)

Definition at line 326 of file DumpGeoConfig.py.

◆ debugCAlevel

DumpGeoConfig.debugCAlevel = int(args.debugCA)

Definition at line 335 of file DumpGeoConfig.py.

◆ default

DumpGeoConfig.default

Definition at line 241 of file DumpGeoConfig.py.

◆ dumpgeo_empty_input

bool DumpGeoConfig.dumpgeo_empty_input = False

Definition at line 275 of file DumpGeoConfig.py.

◆ flags

DumpGeoConfig.flags = initConfigFlags()

Definition at line 213 of file DumpGeoConfig.py.

◆ ForceOverwrite

DumpGeoConfig.ForceOverwrite

Definition at line 268 of file DumpGeoConfig.py.

◆ GlobalTag

DumpGeoConfig.GlobalTag

Definition at line 297 of file DumpGeoConfig.py.

◆ help

DumpGeoConfig.help

Definition at line 242 of file DumpGeoConfig.py.

◆ isMC

DumpGeoConfig.isMC

Definition at line 298 of file DumpGeoConfig.py.

◆ keep_beampipe

DumpGeoConfig.keep_beampipe

Definition at line 312 of file DumpGeoConfig.py.

◆ MaxEvents

DumpGeoConfig.MaxEvents

Definition at line 215 of file DumpGeoConfig.py.

◆ MCCampaign

DumpGeoConfig.MCCampaign

Definition at line 299 of file DumpGeoConfig.py.

◆ metavar

DumpGeoConfig.metavar

Definition at line 242 of file DumpGeoConfig.py.

◆ None

DumpGeoConfig.None

Definition at line 311 of file DumpGeoConfig.py.

◆ NumThreads

DumpGeoConfig.NumThreads

Definition at line 228 of file DumpGeoConfig.py.

◆ OutputFileName

DumpGeoConfig.OutputFileName

Definition at line 264 of file DumpGeoConfig.py.

◆ parser

DumpGeoConfig.parser = flags.getArgumentParser(description="Dump the detector geometry to a GeoModel-based SQLite '.db' file.")

Definition at line 238 of file DumpGeoConfig.py.

◆ prog

DumpGeoConfig.prog

Definition at line 239 of file DumpGeoConfig.py.

◆ ProjectName

DumpGeoConfig.ProjectName

Definition at line 291 of file DumpGeoConfig.py.

◆ RunNumbers

DumpGeoConfig.RunNumbers

Definition at line 292 of file DumpGeoConfig.py.

◆ ShowTreetopContent

DumpGeoConfig.ShowTreetopContent

Definition at line 266 of file DumpGeoConfig.py.

◆ TimeStamps

DumpGeoConfig.TimeStamps

Definition at line 293 of file DumpGeoConfig.py.

◆ toggle_geometry

DumpGeoConfig.toggle_geometry

Definition at line 312 of file DumpGeoConfig.py.

◆ True

DumpGeoConfig.True

Definition at line 312 of file DumpGeoConfig.py.

◆ TypedCollections

DumpGeoConfig.TypedCollections

Definition at line 294 of file DumpGeoConfig.py.

◆ use_metadata

DumpGeoConfig.use_metadata

Definition at line 311 of file DumpGeoConfig.py.

python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
BeamPipeGMConfig.BeamPipeGeometryCfg
def BeamPipeGeometryCfg(flags)
Definition: BeamPipeGMConfig.py:5
TRT_GeoModelConfig.TRT_ReadoutGeometryCfg
def TRT_ReadoutGeometryCfg(flags)
Definition: TRT_GeoModelConfig.py:59
python.InDetServMatGeoModelConfig.InDetServiceMaterialCfg
def InDetServiceMaterialCfg(flags)
Definition: InDetServMatGeoModelConfig.py:8
ITkStripGeoModelConfig.ITkStripReadoutGeometryCfg
def ITkStripReadoutGeometryCfg(flags)
Definition: ITkStripGeoModelConfig.py:43
python.ForDetGeoModelConfig.ForDetGeometryCfg
def ForDetGeometryCfg(flags)
Definition: ForDetGeoModelConfig.py:33
ITkPixelGeoModelConfig.ITkPixelReadoutGeometryCfg
def ITkPixelReadoutGeometryCfg(flags)
Definition: ITkPixelGeoModelConfig.py:39
DumpGeoConfig.configureGeometry
def configureGeometry(flags, cfg)
Definition: DumpGeoConfig.py:25
ZdcGeoModelConfig.ZDC_DetToolCfg
def ZDC_DetToolCfg(flags)
Definition: ZdcGeoModelConfig.py:4
SCT_GeoModelConfig.SCT_ReadoutGeometryCfg
def SCT_ReadoutGeometryCfg(flags)
Definition: SCT_GeoModelConfig.py:51
LArGMConfig.LArGMCfg
def LArGMCfg(flags)
Definition: LArGMConfig.py:8
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
PixelGeoModelConfig.PixelReadoutGeometryCfg
def PixelReadoutGeometryCfg(flags)
Definition: PixelGeoModelConfig.py:52
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
DumpGeoConfig.getATLASVersion
def getATLASVersion()
Definition: DumpGeoConfig.py:117
python.CavernGMConfig.CavernGeometryCfg
def CavernGeometryCfg(flags)
Definition: CavernGMConfig.py:6
python.MuonGeometryConfig.MuonGeoModelCfg
def MuonGeoModelCfg(flags)
Definition: MuonGeometryConfig.py:28
DumpGeoConfig.DumpGeoCfg
def DumpGeoCfg(flags, name="DumpGeoCA", **kwargs)
Definition: DumpGeoConfig.py:124
HGTD_GeoModelConfig.HGTD_SimulationGeometryCfg
def HGTD_SimulationGeometryCfg(flags)
Definition: python/HGTD_GeoModelConfig.py:17
TileGMConfig.TileGMCfg
def TileGMCfg(flags)
Definition: TileGMConfig.py:7