3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from AthenaConfiguration.Enums
import ProductionStep
9 from MuonConfig.MuonConfigUtils
import setupHistSvcCfg
10 return setupHistSvcCfg(flags, outFile =flags.Output.HISTFileName, outStream = output_name)
16 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
17 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/histos/")
18 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
19 kwargs.setdefault(
"EventInfo", f
"{flags.Overlay.BkgPrefix}EventInfo")
21 result.addEventAlgo(CompFactory.EventInfoRDOAnalysis(name, **kwargs))
29 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
32 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
33 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
34 kwargs.setdefault(
"NtupleTreeName",
"BCM")
35 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/BCM/")
37 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
38 prefix=flags.Overlay.BkgPrefix
39 kwargs.setdefault(
"InputKey", f
"{prefix}BCM_RDOs")
40 kwargs.setdefault(
"InputTruthKey", f
"{prefix}BCM_SDO_Map")
42 result.addEventAlgo(CompFactory.BCM_RDOAnalysis(name, **kwargs))
50 from PixelGeoModel.PixelGeoModelConfig
import PixelReadoutGeometryCfg
53 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
54 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
55 kwargs.setdefault(
"NtupleTreeName",
"Pixel")
56 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/Pixel/")
57 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
58 kwargs.setdefault(
"InputKey", f
"{flags.Overlay.BkgPrefix}PixelRDOs")
59 kwargs.setdefault(
"InputTruthKey", f
"{flags.Overlay.BkgPrefix}PixelSDO_Map")
60 kwargs.setdefault(
"InputMcEventCollectionKey", f
"{flags.Overlay.BkgPrefix}TruthEvent")
62 kwargs.setdefault(
"InputKey",
"PixelRDOs")
63 kwargs.setdefault(
"InputTruthKey",
"PixelSDO_Map")
64 kwargs.setdefault(
"InputMcEventCollectionKey",
"TruthEvent")
66 result.addEventAlgo(CompFactory.PixelRDOAnalysis(name, **kwargs))
74 from SCT_GeoModel.SCT_GeoModelConfig
import SCT_ReadoutGeometryCfg
77 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
78 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
79 kwargs.setdefault(
"NtupleTreeName",
"SCT")
80 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/SCT/")
81 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
82 kwargs.setdefault(
"InputKey", f
"{flags.Overlay.BkgPrefix}SCT_RDOs")
83 kwargs.setdefault(
"InputTruthKey", f
"{flags.Overlay.BkgPrefix}SCT_SDO_Map")
84 kwargs.setdefault(
"InputMcEventCollectionKey", f
"{flags.Overlay.BkgPrefix}TruthEvent")
86 kwargs.setdefault(
"InputKey",
"SCT_RDOs")
87 kwargs.setdefault(
"InputTruthKey",
"SCT_SDO_Map")
88 kwargs.setdefault(
"InputMcEventCollectionKey",
"TruthEvent")
90 result.addEventAlgo(CompFactory.SCT_RDOAnalysis(name, **kwargs))
98 from TRT_GeoModel.TRT_GeoModelConfig
import TRT_ReadoutGeometryCfg
101 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
102 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
103 kwargs.setdefault(
"NtupleTreeName",
"TRT")
104 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/TRT/")
106 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
107 prefix=flags.Overlay.BkgPrefix
108 kwargs.setdefault(
"InputKey", f
"{prefix}TRT_RDOs")
109 kwargs.setdefault(
"InputTruthKey", f
"{prefix}TRT_SDO_Map")
111 result.addEventAlgo(CompFactory.TRT_RDOAnalysis(name, **kwargs))
119 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
122 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
123 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/ITkPixel/")
124 kwargs.setdefault(
"SharedHistPath",
"/RDOAnalysis/histos/")
125 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
126 kwargs.setdefault(
"CollectionName", f
"{flags.Overlay.BkgPrefix}ITkPixelRDOs")
127 kwargs.setdefault(
"SDOCollectionName", f
"{flags.Overlay.BkgPrefix}ITkPixelSDO_Map")
128 kwargs.setdefault(
"McEventCollectionName", f
"{flags.Overlay.BkgPrefix}TruthEvent")
130 kwargs.setdefault(
"CollectionName",
"ITkPixelRDOs")
131 kwargs.setdefault(
"SDOCollectionName",
"ITkPixelSDO_Map")
132 kwargs.setdefault(
"McEventCollectionName",
"TruthEvent")
134 result.addEventAlgo(CompFactory.ITk.PixelRDOAnalysis(name, **kwargs))
142 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
145 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
146 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/ITkStrip/")
147 kwargs.setdefault(
"SharedHistPath",
"/RDOAnalysis/histos/")
148 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
149 kwargs.setdefault(
"CollectionName", f
"{flags.Overlay.BkgPrefix}ITkStripRDOs")
150 kwargs.setdefault(
"SDOCollectionName", f
"{flags.Overlay.BkgPrefix}ITkStripSDO_Map")
151 kwargs.setdefault(
"McEventCollectionName", f
"{flags.Overlay.BkgPrefix}TruthEvent")
153 kwargs.setdefault(
"CollectionName",
"ITkStripRDOs")
154 kwargs.setdefault(
"SDOCollectionName",
"ITkStripSDO_Map")
155 kwargs.setdefault(
"McEventCollectionName",
"TruthEvent")
157 result.addEventAlgo(CompFactory.ITk.StripRDOAnalysis(name, **kwargs))
165 from HGTD_GeoModelXml.HGTD_GeoModelConfig
import HGTD_ReadoutGeometryCfg
168 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
169 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/HGTD/")
170 kwargs.setdefault(
"SharedHistPath",
"/RDOAnalysis/histos/")
171 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
172 kwargs.setdefault(
"CollectionName", f
"{flags.Overlay.BkgPrefix}HGTD_RDOs")
173 kwargs.setdefault(
"SDOCollectionName", f
"{flags.Overlay.BkgPrefix}HGTD_SDO_Map")
174 kwargs.setdefault(
"McEventCollectionName", f
"{flags.Overlay.BkgPrefix}TruthEvent")
176 kwargs.setdefault(
"CollectionName",
"HGTD_RDOs")
177 kwargs.setdefault(
"SDOCollectionName",
"HGTD_SDO_Map")
178 kwargs.setdefault(
"McEventCollectionName",
"TruthEvent")
180 result.addEventAlgo(CompFactory.HGTD_RDOAnalysis(name, **kwargs))
188 from PLRGeoModelXml.PLR_GeoModelConfig
import PLR_ReadoutGeometryCfg
191 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
192 kwargs.setdefault(
"CollectionName", f
"{flags.Overlay.BkgPrefix}PLR_RDOs")
193 kwargs.setdefault(
"SDOCollectionName", f
"{flags.Overlay.BkgPrefix}PLR_SDO_Map")
194 kwargs.setdefault(
"McEventCollectionName", f
"{flags.Overlay.BkgPrefix}TruthEvent")
196 kwargs.setdefault(
"CollectionName",
"PLR_RDOs")
197 kwargs.setdefault(
"SDOCollectionName",
"PLR_SDO_Map")
198 kwargs.setdefault(
"McEventCollectionName",
"TruthEvent")
199 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/PLR/")
200 kwargs.setdefault(
"SharedHistPath",
"/RDOAnalysis/histos/")
201 kwargs.setdefault(
"NtuplePath",
"/RDOAnalysis/ntuples/")
202 kwargs.setdefault(
"NtupleName",
"PLR")
203 kwargs.setdefault(
"DetectorName",
"PLR")
204 kwargs.setdefault(
"PixelIDName",
"PLR_ID")
206 result.addEventAlgo(CompFactory.ITk.PixelRDOAnalysis(name, **kwargs))
218 if flags.Detector.EnablePixel:
221 if flags.Detector.EnableSCT:
224 if flags.Detector.EnableTRT:
227 if flags.Detector.EnableLAr:
230 if flags.Detector.EnableTile:
233 if flags.Detector.EnableMDT:
234 from MuonConfig.MuonByteStreamCnvTestConfig
import MdtRdoToMdtDigitCfg
236 if "MDTCSM" in flags.Input.Collections:
238 elif f
"{flags.Overlay.BkgPrefix}MDTCSM" in flags.Input.Collections:
240 MdtDigitContainer=f
"{flags.Overlay.BkgPrefix}MDT_DIGITS" ))
244 if flags.Detector.EnableRPC:
245 if "RPCPAD" in flags.Input.Collections
or f
"{flags.Overlay.BkgPrefix}RPCPAD" in flags.Input.Collections:
246 from MuonConfig.MuonByteStreamCnvTestConfig
import RpcRdoToRpcDigitCfg
250 if flags.Detector.EnableTGC:
251 from MuonConfig.MuonByteStreamCnvTestConfig
import TgcRdoToTgcDigitCfg
252 if "TGCRDO" in flags.Input.Collections:
254 elif f
"{flags.Overlay.BkgPrefix}TGCRDO" in flags.Input.Collections:
256 TgcDigitContainer=f
"{flags.Overlay.BkgPrefix}TGC_DIGITS"))
259 if flags.Detector.EnablesTGC:
260 from MuonConfig.MuonByteStreamCnvTestConfig
import STGC_RdoToDigitCfg
261 if "sTGCRDO" in flags.Input.Collections:
263 elif f
"{flags.Overlay.BkgPrefix}sTGCRDO" in flags.Input.Collections:
265 sTgcRdoContainer=f
"{flags.Overlay.BkgPrefix}sTGCRDO",
266 sTgcDigitContainer=f
"{flags.Overlay.BkgPrefix}sTGC_DIGITS"))
269 if flags.Detector.EnableMM:
270 from MuonConfig.MuonByteStreamCnvTestConfig
import MM_RdoToDigitCfg
271 if "MMRDO" in flags.Input.Collections:
273 elif f
"{flags.Overlay.BkgPrefix}MMRDO" in flags.Input.Collections:
274 acc.merge(
MM_RdoToDigitCfg(flags,MmRdoContainer=f
"{flags.Overlay.BkgPrefix}MMRDO",
275 MmDigitContainer=f
"{flags.Overlay.BkgPrefix}MM_DIGITS"))
278 if flags.Detector.EnableMuon:
279 if not flags.Muon.usePhaseIIGeoSetup:
280 from MuonPRDTest.HitValAlgDigi
import HitValAlgDigiCfg
283 from MuonPRDTestR4.MuonHitTestConfig
import MuonDigiTestCfg, MuonPileUpTestCfg
284 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
289 if flags.Detector.EnableITkPixel:
292 if flags.Detector.EnableITkStrip:
295 if flags.Detector.EnableHGTD:
298 if flags.Detector.EnablePLR:
305 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
308 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
309 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
310 kwargs.setdefault(
"NtupleTreeName",
"LAr")
311 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/LAr/")
313 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
314 kwargs.setdefault(
"PreSampling",
True)
315 prefix=flags.Overlay.BkgPrefix
316 kwargs.setdefault(
"InputRawChannelKey",
'')
317 kwargs.setdefault(
"InputTTL1HADKey",
'')
318 kwargs.setdefault(
"InputTTL1EMKey",
'')
319 kwargs.setdefault(
"InputRawChannelKey",
"LArRawChannels")
320 kwargs.setdefault(
"InputTTL1HADKey",
"LArTTL1HAD")
321 kwargs.setdefault(
"InputTTL1EMKey",
"LArTTL1EM")
322 if flags.Digitization.AddCaloDigiThinned
or \
323 f
"{prefix}LArDigitContainer_MC_Thinned" in flags.Input.Collections
or \
324 flags.Common.ProductionStep
is ProductionStep.PileUpPresampling
or \
325 flags.Common.ProductionStep
is ProductionStep.Digitization: \
327 kwargs.setdefault(
"InputDigitKey", f
"{prefix}LArDigitContainer_MC_Thinned")
329 kwargs.setdefault(
"InputDigitKey",
"")
331 result.addEventAlgo(CompFactory.LArRDOAnalysis(name, **kwargs))
339 from TileGeoModel.TileGMConfig
import TileGMCfg
341 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
344 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
345 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
346 kwargs.setdefault(
"NtupleTreeName",
"Tile")
347 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/Tile/")
349 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
350 kwargs.setdefault(
"PreSampling",
True)
351 prefix=flags.Overlay.BkgPrefix
352 kwargs.setdefault(
"InputRawChKey",
'')
353 kwargs.setdefault(
"InputMuRcvRawChKey",
'')
354 kwargs.setdefault(
"InputMuRcvKey",
'')
355 kwargs.setdefault(
"InputMBTS_TTL1Key",
'')
356 kwargs.setdefault(
"InputTileTTL1Key",
'')
357 kwargs.setdefault(
"InputL2Key",
'')
358 kwargs.setdefault(
"InputRawChKey",
'TileRawChannelCnt')
359 kwargs.setdefault(
"InputMuRcvRawChKey",
'MuRcvRawChCnt')
360 kwargs.setdefault(
"InputMuRcvKey",
'TileMuRcvCnt')
361 if flags.Detector.EnableMBTS:
362 kwargs.setdefault(
"InputMBTS_TTL1Key",
'TileTTL1MBTS')
364 kwargs.setdefault(
"InputMBTS_TTL1Key",
"")
365 kwargs.setdefault(
"InputTileTTL1Key",
'TileTTL1Cnt')
366 kwargs.setdefault(
"InputL2Key",
'TileL2Cnt')
367 kwargs.setdefault(
"InputDigitsMuRcvKey", f
'{prefix}MuRcvDigitsCnt')
368 if f
"{prefix}TileDigitsCnt" in flags.Input.Collections:
369 kwargs.setdefault(
"InputDigitsFltKey", f
"{prefix}TileDigitsCnt")
371 kwargs.setdefault(
"InputDigitsFltKey",
"TileDigitsFlt")
373 result.addEventAlgo(CompFactory.TileRDOAnalysis(name, **kwargs))
381 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
384 kwargs.setdefault(
"NtupleFileName",
"/RDOAnalysis")
385 kwargs.setdefault(
"NtupleDirectoryName",
"/ntuples/")
386 kwargs.setdefault(
"NtupleTreeName",
"CSC")
387 kwargs.setdefault(
"HistPath",
"/RDOAnalysis/CSC/")
389 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
390 prefix=flags.Overlay.BkgPrefix
391 kwargs.setdefault(
"InputKey", f
"{prefix}CSCRDO")
392 kwargs.setdefault(
"InputTruthKey", f
"{prefix}CSC_SDO")
394 result.addEventAlgo(CompFactory.CSC_RDOAnalysis(name, **kwargs))
401 if flags.Muon.usePhaseIIGeoSetup:
402 from HitAnalysis.HitAnalysisConfig
import xMuonHitAnalysisCfg
405 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
407 result.addEventAlgo(CompFactory.MuonVal.MuonSDOAnalysis(**kwargs))
408 histPath = kwargs[
"HistPath"]
413 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
415 kwargs.setdefault(
"HistPath",
"RDOAnalysis/MDT")
416 prefix= flags.Overlay.BkgPrefix
if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling
else ""
417 kwargs.setdefault(
"InputKey", f
"{prefix}MDTCSM")
418 result.addEventAlgo(CompFactory.MuonVal.MdtRDOAnalysis(name, **kwargs))
421 InputKey=f
"{prefix}MDT_SDO",
422 HistPath=
"MuonSDOAnalysis/MDT/SDO",
428 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
431 kwargs.setdefault(
"HistPath",
"RDOAnalysis/RPC/")
433 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
434 prefix=flags.Overlay.BkgPrefix
435 if not flags.Muon.usePhaseIIGeoSetup:
436 kwargs.setdefault(
"InputPadKey", f
"{prefix}RPCPAD" if not flags.Muon.usePhaseIIGeoSetup
else "" )
437 from MuonConfig.MuonCablingConfig
import RPCCablingConfigCfg
439 kwargs.setdefault(
"InputRdoKey", f
"{prefix}NRPCRDO" if flags.Muon.enableNRPC
else "" )
440 result.addEventAlgo(CompFactory.MuonVal.RpcRDOAnalysis(name, **kwargs))
444 InputKey=f
"{prefix}RPC_SDO",
445 HistPath=
"MuonSDOAnalysis/RPC/SDO",
451 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
453 kwargs.setdefault(
"HistPath",
"RDOAnalysis/TGC/")
455 if flags.Common.ProductionStep
is ProductionStep.PileUpPresampling:
456 prefix=flags.Overlay.BkgPrefix
457 kwargs.setdefault(
"InputKey", f
"{prefix}TGCRDO")
458 result.addEventAlgo(CompFactory.MuonVal.TgcRDOAnalysis(name, **kwargs))
461 InputKey=f
"{prefix}TGC_SDO",
462 HistPath=
"MuonSDOAnalysis/TGC/SDO",
469 from argparse
import ArgumentParser
470 from AthenaConfiguration.TestDefaults
import defaultTestFiles
471 parser = ArgumentParser()
472 parser.add_argument(
"--threads", type=int, help=
"number of threads", default=1)
473 parser.add_argument(
"--inputFile",
"-i", default= defaultTestFiles.RDO_RUN3,
474 help=
"Input file to run on ", nargs=
"+")
475 parser.add_argument(
"--outFile", default=
"RDOAnalysis.root", help=
"Output ROOT file to dump the geomerty")
476 parser.add_argument(
"--nEvents", help=
"Number of events to run", type = int ,default = 1)
477 parser.add_argument(
"--skipEvents", help=
"Number of events to skip", type = int, default = 0)
478 parser.add_argument(
"--geoModelFile", default =
"", help=
"GeoModel SqLite file containing the muon geometry.")
482 if __name__ ==
"__main__":
483 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
486 flags.Concurrency.NumThreads = args.threads
487 flags.Concurrency.NumConcurrentEvents = args.threads
488 flags.Input.Files = args.inputFile
489 flags.Scheduler.ShowDataDeps =
True
490 flags.Scheduler.ShowDataFlow =
True
492 flags.Exec.MaxEvents = args.nEvents
493 flags.Exec.SkipEvents = args.skipEvents
494 flags.Output.HISTFileName = args.outFile
495 if len (args.geoModelFile) > 0:
496 flags.GeoModel.SQLiteDB =
True
497 flags.GeoModel.SQLiteDBFullPath = args.geoModelFile
498 from MuonGeoModelTestR4.testGeoModel
import configureDefaultTagsCfg
501 from MuonConfig.MuonConfigUtils
import configureCondTag
505 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
508 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
513 from MuonConfig.MuonConfigUtils
import executeTest