30def AddHitValAlgCfg(flags, name = "HitValAlg", outFile="MuonHitValAlg.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
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