Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
9  histSvc = CompFactory.THistSvc(Output=["NSWSTORIES DATAFILE='NswFairyTales.root' OPT='RECREATE'"])
10  result.addService(histSvc)
11  the_alg = CompFactory.NswOccupancyAlg("NswOccupancyAlgBin{width}".format(width = binWidth), BinWidth = binWidth)
12  result.addEventAlgo(the_alg, primary = True)
13  return result
14 
15 def AddMetaAlgCfg(flags, alg_name="MuonTPMetaAlg", OutStream="NSWPRDValAlg", **kwargs):
16  result = ComponentAccumulator()
17  from AthenaServices.MetaDataSvcConfig import MetaDataSvcCfg
18  from EventBookkeeperTools.EventBookkeeperToolsConfig import CutFlowSvcCfg
19  result.merge(CutFlowSvcCfg(flags))
20  result.merge(MetaDataSvcCfg(flags))
21  if len(OutStream):
22  kwargs.setdefault("OutStream", OutStream)
23  alg_name += "_" + OutStream
24  kwargs.setdefault("isData", not flags.Input.isMC)
25  kwargs.setdefault("ExtraOutputs", [('xAOD::EventInfo', 'StoreGateSvc+EventInfo.MetaData' + OutStream)])
26  the_alg = CompFactory.MuonVal.MetaDataAlg(alg_name, **kwargs)
27  result.addEventAlgo(the_alg, primary=True) # top sequence
28  return result
29 
30 
31 def AddHitValAlgCfg(flags, name = "HitValAlg", outFile="NSWPRDValAlg.ntuple.root", **kwargs):
32  result = ComponentAccumulator()
33  from MuonGeoModelTestR4.testGeoModel import setupHistSvcCfg
34  result.merge(setupHistSvcCfg(flags, outFile=outFile, outStream="MUONHITVALIDSTREAM"))
35 
36  kwargs.setdefault("doMMHit", flags.Detector.EnableMM)
37  kwargs.setdefault("doMMDigit", flags.Detector.EnableMM)
38  kwargs.setdefault("doMMRDO", flags.Detector.EnableMM)
39  kwargs.setdefault("doMMPRD", flags.Detector.EnableMM)
40  kwargs.setdefault("doMMSDO", flags.Detector.EnableMM)
41 
42 
43  kwargs.setdefault("doSTGCHit", flags.Detector.EnablesTGC)
44  kwargs.setdefault("doSTGCDigit", flags.Detector.EnablesTGC)
45  kwargs.setdefault("doSTGCRDO", flags.Detector.EnablesTGC)
46  kwargs.setdefault("doSTGCPRD",flags.Detector.EnablesTGC)
47  kwargs.setdefault("doSTGCSDO", flags.Detector.EnablesTGC)
48 
49  kwargs.setdefault("doRPCHit", flags.Detector.EnableRPC)
50  kwargs.setdefault("doRPCSDO", flags.Detector.EnableRPC)
51  kwargs.setdefault("doRPCDigit", 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 
57  kwargs.setdefault("doTGCHit", flags.Detector.EnableTGC)
58  kwargs.setdefault("doTGCSDO", flags.Detector.EnableTGC)
59  kwargs.setdefault("doTGCDigit", flags.Detector.EnableTGC)
60  kwargs.setdefault("doTGCRDO", flags.Detector.EnableTGC)
61  kwargs.setdefault("doTGCPRD", flags.Detector.EnableTGC)
62 
63 
64  #Turn off by default but keep the option to turn on for validation of the NSW
65 
66  if not flags.Detector.EnableCSC:
67  kwargs.setdefault("CscRDODecoder","")
68  kwargs.setdefault("doCSCHit", flags.Detector.EnableCSC)
69  kwargs.setdefault("doCSCSDO", flags.Detector.EnableCSC)
70  kwargs.setdefault("doCSCDigit", flags.Detector.EnableCSC)
71  kwargs.setdefault("doCSCRDO", flags.Detector.EnableCSC)
72  kwargs.setdefault("doCSCPRD", flags.Detector.EnableCSC)
73  from AthenaConfiguration.Enums import ProductionStep
74 
75  if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
76  kwargs.setdefault("EvtInfo", f"{flags.Overlay.BkgPrefix}EventInfo")
77  kwargs.setdefault("MdtDigitKey", f"{flags.Overlay.BkgPrefix}MDT_DIGITS")
78  kwargs.setdefault("RpcDigitKey", f"{flags.Overlay.BkgPrefix}RPC_DIGITS")
79  kwargs.setdefault("TgcDigitKey", f"{flags.Overlay.BkgPrefix}TGC_DIGITS")
80  kwargs.setdefault("MmDigitKey", f"{flags.Overlay.BkgPrefix}MM_DIGITS")
81  kwargs.setdefault("sTgcDigitKey", f"{flags.Overlay.BkgPrefix}sTGC_DIGITS")
82 
83  kwargs.setdefault("MdtSdoKey", f"{flags.Overlay.BkgPrefix}MDT_SDO")
84  kwargs.setdefault("RpcSdoKey", f"{flags.Overlay.BkgPrefix}RPC_SDO")
85  kwargs.setdefault("TgcSdoKey", f"{flags.Overlay.BkgPrefix}TGC_SDO")
86  kwargs.setdefault("MmSdoKey", f"{flags.Overlay.BkgPrefix}MM_SDO")
87  kwargs.setdefault("sTgcSdoKey", f"{flags.Overlay.BkgPrefix}sTGC_SDO")
88 
89  the_alg = CompFactory.MuonVal.HitValAlg(name, **kwargs)
90  result.addEventAlgo(the_alg)
91 
92  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:15
MuonPRDTestCfg.NswOccupancyAlgCfg
def NswOccupancyAlgCfg(flags, binWidth=100)
Definition: MuonPRDTestCfg.py:6
python.testGeoModel.setupHistSvcCfg
def setupHistSvcCfg(flags, outFile="MdtGeoDump.root", outStream="GEOMODELTESTER")
Definition: MuonPhaseII/MuonDetDescr/MuonGeoModelTestR4/python/testGeoModel.py:55
MuonPRDTestCfg.AddHitValAlgCfg
def AddHitValAlgCfg(flags, name="HitValAlg", outFile="NSWPRDValAlg.ntuple.root", **kwargs)
Definition: MuonPRDTestCfg.py:31
python.MetaDataSvcConfig.MetaDataSvcCfg
def MetaDataSvcCfg(flags, toolNames=[], tools=[])
Definition: MetaDataSvcConfig.py:6
python.EventBookkeeperToolsConfig.CutFlowSvcCfg
def CutFlowSvcCfg(flags, **kwargs)
Definition: EventBookkeeperToolsConfig.py:24