3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from AthenaConfiguration.Enums
import ProductionStep
11 histsvc = CompFactory.THistSvc(name=
"THistSvc",
12 Output=[ f
"{output_name} DATAFILE='{flags.Output.HISTFileName}' OPT='RECREATE'" ])
13 result.addService(histsvc)
21 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
22 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/histos/")
23 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
24 kwargs.setdefault(
"EventInfo", f
"{flags.Overlay.BkgPrefix}EventInfo")
26 result.addEventAlgo(CompFactory.EventInfoRDOAnalysis(name, **kwargs))
34 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
37 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
38 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
39 kwargs.setdefault(
"NtupleTreeName",
"BCM")
40 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/BCM/")
42 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
43 prefix=flags.Overlay.BkgPrefix
44 kwargs.setdefault(
"InputKey", f
"{prefix}BCM_RDOs")
45 kwargs.setdefault(
"InputTruthKey", f
"{prefix}BCM_SDO_Map")
47 result.addEventAlgo(CompFactory.BCM_RDOAnalysis(name, **kwargs))
55 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
58 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
59 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
60 kwargs.setdefault(
"NtupleTreeName",
"Pixel")
61 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/Pixel/")
62 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
63 kwargs.setdefault(
"InputKey", f
"{flags.Overlay.BkgPrefix}PixelRDOs")
64 kwargs.setdefault(
"InputTruthKey", f
"{flags.Overlay.BkgPrefix}PixelSDO_Map")
65 kwargs.setdefault(
"InputMcEventCollectionKey", f
"{flags.Overlay.BkgPrefix}TruthEvent")
67 kwargs.setdefault(
"InputKey",
"PixelRDOs")
68 kwargs.setdefault(
"InputTruthKey",
"PixelSDO_Map")
69 kwargs.setdefault(
"InputMcEventCollectionKey",
"TruthEvent")
71 result.addEventAlgo(CompFactory.PixelRDOAnalysis(name, **kwargs))
79 from SCT_GeoModel.SCT_GeoModelConfig
import SCT_ReadoutGeometryCfg
82 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
83 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
84 kwargs.setdefault(
"NtupleTreeName",
"SCT")
85 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/SCT/")
86 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
87 kwargs.setdefault(
"InputKey", f
"{flags.Overlay.BkgPrefix}SCT_RDOs")
88 kwargs.setdefault(
"InputTruthKey", f
"{flags.Overlay.BkgPrefix}SCT_SDO_Map")
89 kwargs.setdefault(
"InputMcEventCollectionKey", f
"{flags.Overlay.BkgPrefix}TruthEvent")
91 kwargs.setdefault(
"InputKey",
"SCT_RDOs")
92 kwargs.setdefault(
"InputTruthKey",
"SCT_SDO_Map")
93 kwargs.setdefault(
"InputMcEventCollectionKey",
"TruthEvent")
95 result.addEventAlgo(CompFactory.SCT_RDOAnalysis(name, **kwargs))
103 from TRT_GeoModel.TRT_GeoModelConfig
import TRT_ReadoutGeometryCfg
106 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
107 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
108 kwargs.setdefault(
"NtupleTreeName",
"TRT")
109 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/TRT/")
111 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
112 prefix=flags.Overlay.BkgPrefix
113 kwargs.setdefault(
"InputKey", f
"{prefix}TRT_RDOs")
114 kwargs.setdefault(
"InputTruthKey", f
"{prefix}TRT_SDO_Map")
116 result.addEventAlgo(CompFactory.TRT_RDOAnalysis(name, **kwargs))
124 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
127 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
128 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/ITkPixel/")
129 kwargs.setdefault(
"SharedHistPath",
"/RDOAnalysis/histos/")
130 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
131 kwargs.setdefault(
"CollectionName", f
"{flags.Overlay.BkgPrefix}ITkPixelRDOs")
132 kwargs.setdefault(
"SDOCollectionName", f
"{flags.Overlay.BkgPrefix}ITkPixelSDO_Map")
133 kwargs.setdefault(
"McEventCollectionName", f
"{flags.Overlay.BkgPrefix}TruthEvent")
135 kwargs.setdefault(
"CollectionName",
"ITkPixelRDOs")
136 kwargs.setdefault(
"SDOCollectionName",
"ITkPixelSDO_Map")
137 kwargs.setdefault(
"McEventCollectionName",
"TruthEvent")
139 result.addEventAlgo(CompFactory.ITk.PixelRDOAnalysis(name, **kwargs))
147 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
150 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
151 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/ITkStrip/")
152 kwargs.setdefault(
"SharedHistPath",
"/RDOAnalysis/histos/")
153 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
154 kwargs.setdefault(
"CollectionName", f
"{flags.Overlay.BkgPrefix}ITkStripRDOs")
155 kwargs.setdefault(
"SDOCollectionName", f
"{flags.Overlay.BkgPrefix}ITkStripSDO_Map")
156 kwargs.setdefault(
"McEventCollectionName", f
"{flags.Overlay.BkgPrefix}TruthEvent")
158 kwargs.setdefault(
"CollectionName",
"ITkStripRDOs")
159 kwargs.setdefault(
"SDOCollectionName",
"ITkStripSDO_Map")
160 kwargs.setdefault(
"McEventCollectionName",
"TruthEvent")
162 result.addEventAlgo(CompFactory.ITk.StripRDOAnalysis(name, **kwargs))
170 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
173 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
174 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/HGTD/")
175 kwargs.setdefault(
"SharedHistPath",
"/RDOAnalysis/histos/")
176 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
177 kwargs.setdefault(
"CollectionName", f
"{flags.Overlay.BkgPrefix}HGTD_RDOs")
178 kwargs.setdefault(
"SDOCollectionName", f
"{flags.Overlay.BkgPrefix}HGTD_SDO_Map")
179 kwargs.setdefault(
"McEventCollectionName", f
"{flags.Overlay.BkgPrefix}TruthEvent")
181 kwargs.setdefault(
"CollectionName",
"HGTD_RDOs")
182 kwargs.setdefault(
"SDOCollectionName",
"HGTD_SDO_Map")
183 kwargs.setdefault(
"McEventCollectionName",
"TruthEvent")
185 result.addEventAlgo(CompFactory.HGTD_RDOAnalysis(name, **kwargs))
193 from PLRGeoModelXml.PLR_GeoModelConfig
import PLR_ReadoutGeometryCfg
196 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
197 kwargs.setdefault(
"CollectionName", f
"{flags.Overlay.BkgPrefix}PLR_RDOs")
198 kwargs.setdefault(
"SDOCollectionName", f
"{flags.Overlay.BkgPrefix}PLR_SDO_Map")
199 kwargs.setdefault(
"McEventCollectionName", f
"{flags.Overlay.BkgPrefix}TruthEvent")
201 kwargs.setdefault(
"CollectionName",
"PLR_RDOs")
202 kwargs.setdefault(
"SDOCollectionName",
"PLR_SDO_Map")
203 kwargs.setdefault(
"McEventCollectionName",
"TruthEvent")
204 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/PLR/")
205 kwargs.setdefault(
"SharedHistPath",
"/RDOAnalysis/histos/")
206 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
207 kwargs.setdefault(
"NtupleName",
"PLR")
208 kwargs.setdefault(
"DetectorName",
"PLR")
209 kwargs.setdefault(
"PixelIDName",
"PLR_ID")
211 result.addEventAlgo(CompFactory.ITk.PixelRDOAnalysis(name, **kwargs))
223 if flags.Detector.EnablePixel:
226 if flags.Detector.EnableSCT:
229 if flags.Detector.EnableTRT:
232 if flags.Detector.EnableLAr:
235 if flags.Detector.EnableTile:
238 if flags.Detector.EnableMDT:
239 from MuonConfig.MuonByteStreamCnvTestConfig
import MdtRdoToMdtDigitCfg
241 if "MDTCSM" in flags.Input.Collections:
243 elif f
"{flags.Overlay.BkgPrefix}MDTCSM" in flags.Input.Collections:
245 MdtDigitContainer=f
"{flags.Overlay.BkgPrefix}MDT_DIGITS" ))
249 if flags.Detector.EnableRPC:
250 if "RPCPAD" in flags.Input.Collections
or f
"{flags.Overlay.BkgPrefix}RPCPAD" in flags.Input.Collections:
251 from MuonConfig.MuonByteStreamCnvTestConfig
import RpcRdoToRpcDigitCfg
255 if flags.Detector.EnableTGC:
256 from MuonConfig.MuonByteStreamCnvTestConfig
import TgcRdoToTgcDigitCfg
257 if "TGCRDO" in flags.Input.Collections:
259 elif f
"{flags.Overlay.BkgPrefix}TGCRDO" in flags.Input.Collections:
261 TgcDigitContainer=f
"{flags.Overlay.BkgPrefix}TGC_DIGITS"))
264 if flags.Detector.EnablesTGC:
265 from MuonConfig.MuonByteStreamCnvTestConfig
import STGC_RdoToDigitCfg
266 if "sTGCRDO" in flags.Input.Collections:
268 elif f
"{flags.Overlay.BkgPrefix}sTGCRDO" in flags.Input.Collections:
270 sTgcRdoContainer=f
"{flags.Overlay.BkgPrefix}sTGCRDO",
271 sTgcDigitContainer=f
"{flags.Overlay.BkgPrefix}sTGC_DIGITS"))
274 if flags.Detector.EnableMM:
275 from MuonConfig.MuonByteStreamCnvTestConfig
import MM_RdoToDigitCfg
276 if "MMRDO" in flags.Input.Collections:
278 elif f
"{flags.Overlay.BkgPrefix}MMRDO" in flags.Input.Collections:
279 acc.merge(
MM_RdoToDigitCfg(flags,MmRdoContainer=f
"{flags.Overlay.BkgPrefix}MMRDO",
280 MmDigitContainer=f
"{flags.Overlay.BkgPrefix}MM_DIGITS"))
283 if flags.Detector.EnableMuon:
284 from MuonPRDTest.MuonPRDTestCfg
import AddHitValAlgCfg
285 acc.merge(
AddHitValAlgCfg(flags, name =
"MuonHitValAlg", outFile=flags.Output.HISTFileName, doSDOs =
True, doDigits=
True))
287 if flags.Detector.EnableITkPixel:
290 if flags.Detector.EnableITkStrip:
293 if flags.Detector.EnableHGTD:
296 if flags.Detector.EnablePLR:
303 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
306 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
307 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
308 kwargs.setdefault(
"NtupleTreeName",
"LAr")
309 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/LAr/")
311 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
312 kwargs.setdefault(
"PreSampling",
True)
313 prefix=flags.Overlay.BkgPrefix
314 kwargs.setdefault(
"InputRawChannelKey",
'')
315 kwargs.setdefault(
"InputTTL1HADKey",
'')
316 kwargs.setdefault(
"InputTTL1EMKey",
'')
317 kwargs.setdefault(
"InputRawChannelKey",
"LArRawChannels")
318 kwargs.setdefault(
"InputTTL1HADKey",
"LArTTL1HAD")
319 kwargs.setdefault(
"InputTTL1EMKey",
"LArTTL1EM")
320 kwargs.setdefault(
"InputDigitKey", f
"{prefix}LArDigitContainer_MC_Thinned")
322 result.addEventAlgo(CompFactory.LArRDOAnalysis(name, **kwargs))
330 from TileGeoModel.TileGMConfig
import TileGMCfg
332 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
335 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
336 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
337 kwargs.setdefault(
"NtupleTreeName",
"Tile")
338 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/Tile/")
340 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
341 kwargs.setdefault(
"PreSampling",
True)
342 prefix=flags.Overlay.BkgPrefix
343 kwargs.setdefault(
"InputRawChKey",
'')
344 kwargs.setdefault(
"InputMuRcvRawChKey",
'')
345 kwargs.setdefault(
"InputMuRcvKey",
'')
346 kwargs.setdefault(
"InputMBTS_TTL1Key",
'')
347 kwargs.setdefault(
"InputTileTTL1Key",
'')
348 kwargs.setdefault(
"InputL2Key",
'')
349 kwargs.setdefault(
"InputRawChKey",
'TileRawChannelCnt')
350 kwargs.setdefault(
"InputMuRcvRawChKey",
'MuRcvRawChCnt')
351 kwargs.setdefault(
"InputMuRcvKey",
'TileMuRcvCnt')
352 if flags.Detector.EnableMBTS:
353 kwargs.setdefault(
"InputMBTS_TTL1Key",
'TileTTL1MBTS')
355 kwargs.setdefault(
"InputMBTS_TTL1Key",
"")
356 kwargs.setdefault(
"InputTileTTL1Key",
'TileTTL1Cnt')
357 kwargs.setdefault(
"InputL2Key",
'TileL2Cnt')
358 kwargs.setdefault(
"InputDigitsMuRcvKey", f
'{prefix}MuRcvDigitsCnt')
359 if f
"{prefix}TileDigitsCnt" in flags.Input.Collections:
360 kwargs.setdefault(
"InputDigitsFltKey", f
"{prefix}TileDigitsCnt")
362 kwargs.setdefault(
"InputDigitsFltKey",
"TileDigitsFlt")
364 result.addEventAlgo(CompFactory.TileRDOAnalysis(name, **kwargs))
372 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
375 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
376 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
377 kwargs.setdefault(
"NtupleTreeName",
"CSC")
378 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/CSC/")
380 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
381 prefix=flags.Overlay.BkgPrefix
382 kwargs.setdefault(
"InputKey", f
"{prefix}CSCRDO")
383 kwargs.setdefault(
"InputTruthKey", f
"{prefix}CSC_SDO")
385 result.addEventAlgo(CompFactory.CSC_RDOAnalysis(name, **kwargs))
393 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
396 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
397 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
398 kwargs.setdefault(
"NtupleTreeName",
"MDT")
399 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/MDT/")
401 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
402 prefix=flags.Overlay.BkgPrefix
403 kwargs.setdefault(
"InputKey", f
"{prefix}MDTCSM")
404 kwargs.setdefault(
"InputTruthKey", f
"{prefix}MDT_SDO")
406 result.addEventAlgo(CompFactory.MDT_RDOAnalysis(name, **kwargs))
414 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
417 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
418 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
419 kwargs.setdefault(
"NtupleTreeName",
"RPC")
420 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/RPC/")
422 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
423 prefix=flags.Overlay.BkgPrefix
424 kwargs.setdefault(
"InputKey", f
"{prefix}RPCPAD")
425 kwargs.setdefault(
"InputTruthKey", f
"{prefix}RPC_SDO")
427 result.addEventAlgo(CompFactory.RPC_RDOAnalysis(name, **kwargs))
435 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
438 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
439 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
440 kwargs.setdefault(
"NtupleTreeName",
"TGC")
441 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/TGC/")
443 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
444 prefix=flags.Overlay.BkgPrefix
445 kwargs.setdefault(
"InputKey", f
"{prefix}TGCRDO")
446 kwargs.setdefault(
"InputTruthKey", f
"{prefix}TGC_SDO")
448 result.addEventAlgo(CompFactory.TGC_RDOAnalysis(name, **kwargs))
456 from argparse
import ArgumentParser
458 parser = ArgumentParser()
459 parser.add_argument(
"--threads", type=int, help=
"number of threads", default=1)
460 parser.add_argument(
"--inputFile",
"-i", default=[
461 "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/WorkflowReferences/main/d1759/v5/myRDO.pool.root"
463 help=
"Input file to run on ", nargs=
"+")
464 parser.add_argument(
"--geoTag", default=
"ATLAS-R3S-2021-03-02-00", help=
"Geometry tag to use", choices=[
"ATLAS-R2-2016-01-02-01",
465 "ATLAS-R3S-2021-03-02-00"])
466 parser.add_argument(
"--condTag", default=
"OFLCOND-MC23-SDR-RUN3-09", help=
"Conditions tag to use",
467 choices=[
"OFLCOND-MC16-SDR-RUN2-11",
468 "OFLCOND-MC23-SDR-RUN3-09"])
470 parser.add_argument(
"--outFile", default=
"RDOAnalysis.root", help=
"Output ROOT file to dump the geomerty")
471 parser.add_argument(
"--nEvents", help=
"Number of events to run", type = int ,default = 1)
472 parser.add_argument(
"--skipEvents", help=
"Number of events to skip", type = int, default = 0)
473 parser.add_argument(
"--geoModelFile", default =
"", help=
"GeoModel SqLite file containing the muon geometry.")
479 if __name__ ==
"__main__":
480 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
483 flags.Concurrency.NumThreads = args.threads
484 flags.Concurrency.NumConcurrentEvents = args.threads
485 flags.Input.Files = args.inputFile
486 flags.GeoModel.AtlasVersion = args.geoTag
487 flags.IOVDb.GlobalTag = args.condTag
488 flags.Scheduler.ShowDataDeps =
True
489 flags.Scheduler.ShowDataFlow =
True
491 flags.Exec.MaxEvents = args.nEvents
492 flags.Exec.SkipEvents = args.skipEvents
493 flags.Output.HISTFileName = args.outFile
494 if len (args.geoModelFile) > 0:
495 flags.GeoModel.SQLiteDB =
True
496 flags.GeoModel.SQLiteDBFullPath = args.geoModelFile
500 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
503 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
508 cfg.printConfig(withDetails=
True, summariseProps=
True)
509 if not cfg.run().isSuccess():
exit(1)