7 from AthenaMonitoring.AthMonitorCfgHelper
import AthMonitorCfgHelper
8 helper = AthMonitorCfgHelper(flags,
'CaloClusterCellMonAlgCfg')
10 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
14 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
16 from TileGeoModel.TileGMConfig
import TileGMCfg
19 from DetDescrCnvSvc.DetDescrCnvSvcConfig
import DetDescrCnvSvcCfg
22 from LArCellRec.LArCollisionTimeConfig
import LArCollisionTimeCfg
26 from AthenaConfiguration.ComponentFactory
import CompFactory
27 lArCellMonAlg=CompFactory.CaloClusterCellMonAlg
29 algname=
'CaloClusterCellMonAlg'
30 from AthenaConfiguration.Enums
import BeamType
31 if flags.Beam.Type
is BeamType.Cosmics:
32 algname=algname+
'Cosmics'
35 flags.Beam.Type
is BeamType.Cosmics,
36 flags.Input.TriggerStream,
37 flags.Input.isMC, flags.Common.isOnline,
39 algo.useTrigger = flags.DQ.useTrigger
42 algo.rndmTriggerNames =
"L1_RD0, L1_RD0_FILLED, L1_RD0_EMPTY, L1_RD1, L1_RD1_NOISE, L1_RD1_HIST, L1_RD1_BGRP4, L1_RD1_BGRP5"
43 algo.caloTriggerNames =
"L1_EM[0-9]+, L1_HA[0-9]+, L1_J[0-9]+.*, L1_JB[0-9]+, L1_JF[0-9]+, L1_TE[0-9]+, L1_JE[0-9]+, L1_XE[0-9]+, L1_2EM[0-9]+, L1_2FJ[0-9]+, L1_2J[0-9]+,L1_3J[0-9]+.*,L1_4J[0-9]+.*,L1_5J[0-9]+,L1_6J[0-9]+,L1_FJ[0-9]+.*"
44 algo.minBiasTriggerNames =
"L1_RD0_FILLED, L1_MBTS_1, L1_MBTS_2, L1_MBTS_1_1"
45 algo.metTriggerNames =
"EF_xe[0-9]+.*"
46 algo.miscTriggerNames =
""
48 from AthenaMonitoring.AtlasReadyFilterConfig
import AtlasReadyFilterCfg
51 if not flags.Input.isMC:
52 from AthenaMonitoring.BadLBFilterToolConfig
import LArBadLBFilterToolCfg
55 cfg.merge(helper.result())
60 def CaloClusterCellMonConfigCore(helper, algclass, flags, isCosmics=False, TriggerStream='CosmicCalo', isMC=False, isOnline=False, algname='CaloClusterCellMonAlg'):
63 CaloClusterCellMonAlg = helper.addAlgorithm(algclass, algname)
65 if not isCosmics
and not isMC:
66 CaloClusterCellMonAlg.useReadyFilterTool=
True
68 CaloClusterCellMonAlg.useReadyFilterTool=
False
71 CaloClusterCellMonAlg.useBadLBTool=
False
73 CaloClusterCellMonAlg.useBadLBTool=
True
75 if isCosmics
or TriggerStream!=
'physics_CosmicCalo':
76 CaloClusterCellMonAlg.useBeamBackgroundRemoval =
False
77 CaloClusterCellMonAlg.useLArCollisionFilterTool =
False
79 CaloClusterCellMonAlg.useBeamBackgroundRemoval =
True
80 CaloClusterCellMonAlg.useLArCollisionFilterTool =
True
83 CaloClusterCellMonAlg.useLArNoisyAlg =
False
85 CaloClusterCellMonAlg.useLArNoisyAlg =
True
87 GroupName=
"LArClusterCell"
88 CaloClusterCellMonAlg.MonGroupName = GroupName
90 CaloClusterCellMonAlg.EnableLumi =
True
95 binlabels=[
"TotalEvents",
"ATLAS Ready",
"with Good LAr LB",
"with No LAr Collision",
"with No Beam Background",
"with No Trigger Filter",
"with No LArError"]
98 CaloClusterCellMonAlg.rndmTriggerNames =
"L1_RD0, L1_RD0_FILLED, L1_RD0_EMPTY, L1_RD1, L1_RD1_NOISE, L1_RD1_HIST, L1_RD1_BGRP4, L1_RD1_BGRP5"
99 CaloClusterCellMonAlg.caloTriggerNames =
"L1_EM[0-9]+, L1_HA[0-9]+, L1_J[0-9]+.*, L1_JB[0-9]+, L1_JF[0-9]+, L1_TE[0-9]+, L1_JE[0-9]+, L1_XE[0-9]+, L1_2EM[0-9]+, L1_2FJ[0-9]+, L1_2J[0-9]+,L1_3J[0-9]+.*,L1_4J[0-9]+.*,L1_5J[0-9]+,L1_6J[0-9]+,L1_FJ[0-9]+.*"
100 CaloClusterCellMonAlg.minBiasTriggerNames =
"L1_RD0_FILLED, L1_MBTS_1, L1_MBTS_2, L1_MBTS_1_1"
101 CaloClusterCellMonAlg.metTriggerNames =
"EF_xe[0-9]+.*"
102 CaloClusterCellMonAlg.miscTriggerNames =
""
107 cellMonGroup = helper.addGroup(
108 CaloClusterCellMonAlg,
110 '/CaloMonitoring/CaloClusterCellMon/'
117 summ_hist_path=
'Summary/'
119 from CaloMonitoring.CaloMonAlgBase
import CaloBaseHistConfig
122 cellMonGroup.defineHistogram(
'trigType;nEvtsByTrigger',
123 title=
'Total Events: bin 0, RNDM Trigger: 1, Calo Trigger: 2, MinBias Trigger: 3, MET Trigger: 4, Misc Trigger: 5, Events Accepted 6 ',
124 type=
'TH1I', path=summ_hist_path,
125 xbins=lArCellBinningScheme.larCellSummary[
"xbins"][0], xmin=lArCellBinningScheme.larCellSummary[
"xbins"][1], xmax=lArCellBinningScheme.larCellSummary[
"xbins"][2],
126 xlabels=lArCellBinningScheme.larCellSummary[
"xlabels"])
129 cellMonGroup.defineHistogram(
'eventCounter',
130 title=
'Events events passed Trigger and Background removal for each threshold (for normalisation)',
131 type=
'TH1I', path=summ_hist_path,
135 cellMonGroup.defineHistogram(
'larhash',
136 title=
'Total number of LAr Cells contributing to clusters, per online-hash',
137 type=
'TH1I', path=summ_hist_path,
138 xbins=195072,xmin=-0.5,xmax=195072.5
141 cellMonGroup.defineHistogram(
'tilehash',
142 title=
'Total number of Tile PMTs contributing to clusters, per online-hash',
143 type=
'TH1I', path=summ_hist_path,
144 xbins=12602,xmin=-0.5,xmax=12601.5
147 for part
in CaloClusterCellMonAlg.LayerNames:
148 cellMonGroup.defineHistogram(
'celleta_'+part+
',cellphi_'+part+
';NClusteredCells_'+part,
149 title=
"Total number of cells contributing to clusters in (#eta,#phi) for "+part+
";cell #eta;cell #phi",
150 weight=
'NClusteredCells_'+part,
151 type=
'TH2I', path=
"ClusterCell/",
152 xbins = lArCellBinningScheme.etaRange[part],
153 ybins = lArCellBinningScheme.phiRange[part])
156 for part
in (
"TileBar0",
"TileBar1",
"TileBar2",
"TileGap0",
"TileGap1",
"TileGap2",
"TileExt0",
"TileExt1",
"TileExt2"):
157 for side
in (
"A",
"C"):
159 cellMonGroup.defineHistogram(
'celleta_'+part+
',cellphi_'+part+
';NClusteredCells_'+part,
160 title=
"Total number of cells contributing to clusters in (#eta,#phi) for "+part+
";cell #eta;cell #phi",
161 weight=
'NClusteredCells_'+part,
162 type=
'TH2I', path=
"ClusterCell/",
163 xbins = 17, xmin = -1.7, xmax = 1.7,
164 ybins = 64, ymin = -3.14, ymax = 3.14)
167 return CaloClusterCellMonAlg
170 if __name__==
'__main__':
173 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
175 from AthenaConfiguration.TestDefaults
import defaultTestFiles, defaultConditionsTags,defaultGeometryTags
176 flags.Input.Files = defaultTestFiles.RAW_RUN3
177 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN3_DATA
178 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN3
180 flags.Output.HISTFileName =
'CaloClusterCellMonOutput.root'
181 flags.DQ.enableLumiAccess =
True
182 flags.DQ.useTrigger =
True
183 flags.DQ.Environment =
'tier0'
184 from AthenaConfiguration.Enums
import LHCPeriod
185 flags.GeoModel.Run=LHCPeriod.Run3
186 flags.Concurrency.NumThreads=1
192 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
195 from TrigConfigSvc.TrigConfigSvcCfg
import L1ConfigSvcCfg, HLTConfigSvcCfg, L1PrescaleCondAlgCfg, HLTPrescaleCondAlgCfg
196 from TrigT1ResultByteStream.TrigT1ResultByteStreamConfig
import L1TriggerByteStreamDecoderCfg
204 from TrigConfigSvc.TrigConfigSvcCfg
import BunchGroupCondAlgCfg
207 from AthenaConfiguration.ComponentFactory
import CompFactory
208 tdm = CompFactory.getComp(
'TrigDec::TrigDecisionMakerMT')()
211 cfg.addEventAlgo( tdm,
'AthAlgSeq' )
216 from CaloRec.CaloRecoConfig
import CaloRecoCfg