ATLAS Offline Software
MuonPRDTestCfg.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 
6 def NswOccupancyAlgCfg(flags, binWidth = 100):
7  result = ComponentAccumulator()
8  from MuonConfig.MuonConfigUtils import setupHistSvcCfg
9  result.merge(setupHistSvcCfg(flags,outFile="NswFairyTales.root", outStream="NSWSTORIES"))
10  the_alg = CompFactory.NswOccupancyAlg("NswOccupancyAlgBin{width}".format(width = binWidth), BinWidth = binWidth)
11  result.addEventAlgo(the_alg, primary = True)
12  return result
13 
14 def AddMetaAlgCfg(flags, alg_name="MuonTPMetaAlg", OutStream="NSWPRDValAlg", **kwargs):
15  result = ComponentAccumulator()
16  from AthenaServices.MetaDataSvcConfig import MetaDataSvcCfg
17  from EventBookkeeperTools.EventBookkeeperToolsConfig import CutFlowSvcCfg
18  result.merge(CutFlowSvcCfg(flags))
19  result.merge(MetaDataSvcCfg(flags))
20  if len(OutStream):
21  kwargs.setdefault("OutStream", OutStream)
22  alg_name += "_" + OutStream
23  kwargs.setdefault("isData", not flags.Input.isMC)
24  kwargs.setdefault("ExtraOutputs", [('xAOD::EventInfo', 'StoreGateSvc+EventInfo.MetaData' + OutStream)])
25  the_alg = CompFactory.MuonVal.MetaDataAlg(alg_name, **kwargs)
26  result.addEventAlgo(the_alg, primary=True) # top sequence
27  return result
28 
29 
30 def AddHitValAlgCfg(flags, name = "HitValAlg", outFile="NSWPRDValAlg.ntuple.root", **kwargs):
31  result = ComponentAccumulator()
32  from MuonConfig.MuonConfigUtils import setupHistSvcCfg
33  result.merge(setupHistSvcCfg(flags, outFile=outFile, outStream="MUONHITVALIDSTREAM"))
34 
35  kwargs.setdefault("doMMHit", flags.Detector.EnableMM)
36  kwargs.setdefault("doMMDigit", flags.Detector.EnableMM)
37  kwargs.setdefault("doMMRDO", flags.Detector.EnableMM)
38  kwargs.setdefault("doMMPRD", flags.Detector.EnableMM)
39  kwargs.setdefault("doMMSDO", flags.Detector.EnableMM)
40 
41 
42  kwargs.setdefault("doSTGCHit", flags.Detector.EnablesTGC)
43  kwargs.setdefault("doSTGCDigit", flags.Detector.EnablesTGC)
44  kwargs.setdefault("doSTGCRDO", flags.Detector.EnablesTGC)
45  kwargs.setdefault("doSTGCPRD",flags.Detector.EnablesTGC)
46  kwargs.setdefault("doSTGCSDO", flags.Detector.EnablesTGC)
47 
48  kwargs.setdefault("doRPCHit", flags.Detector.EnableRPC)
49  kwargs.setdefault("doRPCSDO", flags.Detector.EnableRPC)
50  kwargs.setdefault("doRPCDigit", flags.Detector.EnableRPC)
51  kwargs.setdefault("doRPCPRD", flags.Detector.EnableRPC)
52 
53  kwargs.setdefault("doMDTHit", flags.Detector.EnableMDT)
54  kwargs.setdefault("doMDTSDO", flags.Detector.EnableMDT)
55  kwargs.setdefault("doMDTDigit", flags.Detector.EnableMDT)
56  kwargs.setdefault("doMDTPRD", flags.Detector.EnableMDT)
57 
58  kwargs.setdefault("doTGCHit", flags.Detector.EnableTGC)
59  kwargs.setdefault("doTGCSDO", flags.Detector.EnableTGC)
60  kwargs.setdefault("doTGCDigit", flags.Detector.EnableTGC)
61  kwargs.setdefault("doTGCRDO", flags.Detector.EnableTGC)
62  kwargs.setdefault("doTGCPRD", flags.Detector.EnableTGC)
63 
64 
65  #Turn off by default but keep the option to turn on for validation of the NSW
66 
67  if not flags.Detector.EnableCSC:
68  kwargs.setdefault("CscRDODecoder","")
69  kwargs.setdefault("doCSCHit", flags.Detector.EnableCSC)
70  kwargs.setdefault("doCSCSDO", flags.Detector.EnableCSC)
71  kwargs.setdefault("doCSCDigit", flags.Detector.EnableCSC)
72  kwargs.setdefault("doCSCRDO", flags.Detector.EnableCSC)
73  kwargs.setdefault("doCSCPRD", flags.Detector.EnableCSC)
74  from AthenaConfiguration.Enums import ProductionStep
75 
76  if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
77  kwargs.setdefault("EvtInfo", f"{flags.Overlay.BkgPrefix}EventInfo")
78  kwargs.setdefault("MdtDigitKey", f"{flags.Overlay.BkgPrefix}MDT_DIGITS")
79  kwargs.setdefault("RpcDigitKey", f"{flags.Overlay.BkgPrefix}RPC_DIGITS")
80  kwargs.setdefault("TgcDigitKey", f"{flags.Overlay.BkgPrefix}TGC_DIGITS")
81  kwargs.setdefault("MmDigitKey", f"{flags.Overlay.BkgPrefix}MM_DIGITS")
82  kwargs.setdefault("sTgcDigitKey", f"{flags.Overlay.BkgPrefix}sTGC_DIGITS")
83 
84  kwargs.setdefault("MdtSdoKey", f"{flags.Overlay.BkgPrefix}MDT_SDO")
85  kwargs.setdefault("RpcSdoKey", f"{flags.Overlay.BkgPrefix}RPC_SDO")
86  kwargs.setdefault("TgcSdoKey", f"{flags.Overlay.BkgPrefix}TGC_SDO")
87  kwargs.setdefault("MmSdoKey", f"{flags.Overlay.BkgPrefix}MM_SDO")
88  kwargs.setdefault("sTgcSdoKey", f"{flags.Overlay.BkgPrefix}sTGC_SDO")
89 
90  the_alg = CompFactory.MuonVal.HitValAlg(name, **kwargs)
91  result.addEventAlgo(the_alg)
92 
93  return result
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
vtune_athena.format
format
Definition: vtune_athena.py:14
MuonPRDTestCfg.AddMetaAlgCfg
def AddMetaAlgCfg(flags, alg_name="MuonTPMetaAlg", OutStream="NSWPRDValAlg", **kwargs)
Definition: MuonPRDTestCfg.py:14
MuonPRDTestCfg.NswOccupancyAlgCfg
def NswOccupancyAlgCfg(flags, binWidth=100)
Definition: MuonPRDTestCfg.py:6
MuonPRDTestCfg.AddHitValAlgCfg
def AddHitValAlgCfg(flags, name="HitValAlg", outFile="NSWPRDValAlg.ntuple.root", **kwargs)
Definition: MuonPRDTestCfg.py:30
python.MetaDataSvcConfig.MetaDataSvcCfg
def MetaDataSvcCfg(flags, toolNames=[], tools=[])
Definition: MetaDataSvcConfig.py:6
MuonConfigUtils.setupHistSvcCfg
def setupHistSvcCfg(flags, str outFile, str outStream)
Configuration snippet to setup the THistSvc.
Definition: MuonConfigUtils.py:5
python.EventBookkeeperToolsConfig.CutFlowSvcCfg
def CutFlowSvcCfg(flags, **kwargs)
Definition: EventBookkeeperToolsConfig.py:25