ATLAS Offline Software
Loading...
Searching...
No Matches
LArNoiseConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
6def LArNoiseCfg(flags):
7
8 result=ComponentAccumulator()
9
10 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
11 result.merge(PoolReadCfg(flags))
12
13 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
14 result.merge(LArGMCfg(flags))
15 from TileGeoModel.TileGMConfig import TileGMCfg
16 result.merge(TileGMCfg(flags))
17
18 #Setup cabling
19 from LArCabling.LArCablingConfig import LArOnOffIdMappingCfg
20 result.merge(LArOnOffIdMappingCfg(flags))
21 # setup bad chan and missing febs
22 from LArBadChannelTool.LArBadChannelConfig import LArBadChannelCfg,LArBadFebCfg
23 result.merge(LArBadChannelCfg(flags))
24 result.merge(LArBadFebCfg(flags))
25
26 from LArCellRec.LArCollisionTimeConfig import LArCollisionTimeCfg
27 result.merge(LArCollisionTimeCfg(flags))
28
29 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
30 tdt = result.getPrimaryAndMerge(TrigDecisionToolCfg(flags))
31
32 noiseAlg=CompFactory.LArNoiseBursts("LArNoiseBursts")
33 noiseAlg.SigmaCut = flags.LArNoise.SigmaCut
34 noiseAlg.NumberOfBunchesInFront = flags.LArNoise.NumberOfBunchesInFront
35 noiseAlg.KeepOnlyCellID = flags.LArNoise.KeepOnlyCellID
36 noiseAlg.TrigDecisionTool = tdt
37 result.addEventAlgo(noiseAlg)
38
39 if (flags.LArNoise.outNtupLAr!=""):
40 result.addService(CompFactory.THistSvc(Output=["TTREE DATAFILE='"+flags.LArNoise.outNtupLAr+"' OPT='RECREATE'",]))
41
42 if (flags.LArNoise.HECNoiseNtup!=""):
43 hecAlg=CompFactory.LArHECNoise("LArHECNoise")
44 hecAlg.MinDigitADC = flags.LArNoise.MinDigitADC
45 hecAlg.MaxDeltaT = flags.LArNoise.MaxDeltaT
46 from IOVDbSvc.IOVDbSvcConfig import addFolders
47 result.merge(addFolders(flags, "/LAR/ElecCalibFlat/Pedestal", "LAR_ONL", className="CondAttrListCollection", db="CONDBR2"))
48 LArPedestalCondAlg = CompFactory.getComp("LArFlatConditionsAlg<LArPedestalFlat>")
49 result.addCondAlgo(LArPedestalCondAlg(ReadKey="/LAR/ElecCalibFlat/Pedestal", WriteKey="LArPedestal"))
50
51 result.addEventAlgo(hecAlg)
52 if result.getService("THistSvc") is not None:
53 result.getService("THistSvc").Output += ["HEC DATAFILE='"+flags.LArNoise.HECNoiseNtup+"' OPT='RECREATE'",]
54 else:
55 result.addService(CompFactory.THistSvc(Output=["HEC DATAFILE='"+flags.LArNoise.HECNoiseNtup+"' OPT='RECREATE'",]))
56
57 return result
58
60
61 result=ComponentAccumulator()
62
63 #from LArByteStream.LArRawDataReadingConfig import LArRawDataReadingCfg
64 #result.merge(LArRawDataReadingCfg(flags))
65
66
73
74 from CaloRec.CaloRecoConfig import CaloRecoCfg
75 result.merge(CaloRecoCfg(flags))
76
77 from LumiBlockComps.BunchCrossingCondAlgConfig import BunchCrossingCondAlgCfg
78 result.merge(BunchCrossingCondAlgCfg(flags))
79
80 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
81 result.merge(CaloNoiseCondAlgCfg(flags,"totalNoise"))
82
83 from LArROD.LArFebErrorSummaryMakerConfig import LArFebErrorSummaryMakerCfg
84 result.merge(LArFebErrorSummaryMakerCfg(flags))
85 result.getEventAlgo("LArFebErrorSummaryMaker").CheckAllFEB=False
86
87 if (flags.LArNoise.outNtupLAr != "" or flags.LArNoise.HECNoiseNtup!=""):
88 from LArCellRec.LArTimeVetoAlgConfig import LArTimeVetoAlgCfg
89 result.merge(LArTimeVetoAlgCfg(flags))
90
91 from LArCafJobs.LArSCDumperSkeleton import L1CaloMenuCfg
92 result.merge(L1CaloMenuCfg(flags))
93
94 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
95 tdt = result.getPrimaryAndMerge(TrigDecisionToolCfg(flags))
96
97
98 if (flags.LArNoise.outNtupLAr != ""):
99 noiseAlg=CompFactory.LArNoiseBursts("LArNoiseBursts")
100 noiseAlg.SigmaCut = flags.LArNoise.SigmaCut
101 noiseAlg.NumberOfBunchesInFront = flags.LArNoise.NumberOfBunchesInFront
102 noiseAlg.KeepOnlyCellID = flags.LArNoise.KeepOnlyCellID
103 noiseAlg.TrigDecisionTool = tdt
104 result.addEventAlgo(noiseAlg)
105
106 result.addService(CompFactory.THistSvc(Output=["TTREE DATAFILE='"+flags.LArNoise.outNtupLAr+"' OPT='RECREATE'",]))
107
108 if (flags.LArNoise.HECNoiseNtup!=""):
109 hecAlg=CompFactory.LArHECNoise("LArHECNoise")
110 hecAlg.MinDigitADC = flags.LArNoise.MinDigitADC
111 hecAlg.MaxDeltaT = flags.LArNoise.MaxDeltaT
112 from IOVDbSvc.IOVDbSvcConfig import addFolders
113 result.merge(addFolders(flags, "/LAR/ElecCalibFlat/Pedestal", "LAR_ONL", className="CondAttrListCollection", db="CONDBR2"))
114 LArPedestalCondAlg = CompFactory.getComp("LArFlatConditionsAlg<LArPedestalFlat>")
115 result.addCondAlgo(LArPedestalCondAlg(ReadKey="/LAR/ElecCalibFlat/Pedestal", WriteKey="LArPedestal"))
116
117 result.addEventAlgo(hecAlg)
118 if result.getService("THistSvc") is not None:
119 result.getService("THistSvc").Output += ["HEC DATAFILE='"+flags.LArNoise.HECNoiseNtup+"' OPT='RECREATE'",]
120 else:
121 result.addService(CompFactory.THistSvc(Output=["HEC DATAFILE='"+flags.LArNoise.HECNoiseNtup+"' OPT='RECREATE'",]))
122
123 if (flags.LArNoise.outHistLAr != ""):
124 from LArCellRec.LArNoisyROSummaryConfig import LArNoisyROSummaryCfg
125 result.merge(LArNoisyROSummaryCfg(flags))
126 from LArMonitoring.LArNoisyROMonAlg import LArNoisyROMonConfig
127 result.merge(LArNoisyROMonConfig(flags, inKey="LArNoisyROSummary"))
128
129 return result
130
131
132
133if __name__=="__main__":
134
135 from AthenaConfiguration.AllConfigFlags import initConfigFlags
136 flags=initConfigFlags()
137
138 from LArNoiseFlags import addNoiseFlags
139 addNoiseFlags(flags)
140 flags.Input.Files=['/eos/atlas/atlastier0/rucio/data23_13p6TeV/express_express/00461002/data23_13p6TeV.00461002.express_express.merge.RAW/data23_13p6TeV.00461002.express_express.merge.RAW._lb0922._SFO-ALL._0001.1']
141
142 from AthenaConfiguration.TestDefaults import defaultGeometryTags
143 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
144
145 flags.Trigger.triggerConfig = 'DB'
146 flags.Trigger.doID=False
147 flags.Trigger.doMuon=False
148 flags.Trigger.doLVL1=False
149 flags.Trigger.doHLT=False
150 flags.lock()
151
152 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
153
154 cfg=MainServicesCfg(flags)
155 #cfg.merge(LArNoiseCfg(flags))
156 cfg.merge(LArNoiseFromRawCfg(flags))
157
158 cfg.run(10)
LArNoiseFromRawCfg(flags)