ATLAS Offline Software
Loading...
Searching...
No Matches
python.DESDM_MCP Namespace Reference

Functions

 setupDESDMSkimmingToolsCfg (flags)
 setupAlignmentEventSkimmingToolCfg (flags, name="AlignmentEventStringSkimmingTool", **kwargs)
 setupDESDMCPSkimmingAlgCfg (flags, name="DESDMCPEventKernel", **kwargs)
 DESDMCPOutputCfg (flags, **kwargs)
 DESDM_MCPCfg (flags)

Function Documentation

◆ DESDM_MCPCfg()

python.DESDM_MCP.DESDM_MCPCfg ( flags)

Definition at line 362 of file DESDM_MCP.py.

362def DESDM_MCPCfg(flags):
363 if(flags.Muon.DESDM_MCP.doAlignmentFormat):
364 from AthenaCommon.Logging import logging
365 msg = logging.getLogger("Athena")
366 msg.info("DESDM_MCP format will run with doAlignmentFormat True")
367 result = ComponentAccumulator()
368 StreamName = "DESDM_MCP"
369 SeqName = "DESDMCPSequence"
370 from AthenaCommon.CFElements import seqAND
371 result.addSequence(seqAND("DESDMCPSequence"))
372 result.merge(setupDESDMCPSkimmingAlgCfg(flags), sequenceName = SeqName)
373 from DerivationFrameworkMuons.MuonsToolsConfig import AnalysisMuonThinningAlgCfg
374
375
376 result.merge(AnalysisMuonThinningAlgCfg(flags, name = "DESDMCPMuonThinning",
377 StreamName = "Stream{streamName}".format(streamName=StreamName),
378 IdTrkFwdThinning = "",
379 QualityWP = 4
380 ), sequenceName = SeqName)
381 result.merge(DESDMCPOutputCfg(flags,
382 streamName = StreamName,
383 AcceptAlgs = ["DESDMCPMuonThinning", "DESDMCPEventKernel" ]),
384 sequenceName = SeqName)
385 return result
if(febId1==febId2)

◆ DESDMCPOutputCfg()

python.DESDM_MCP.DESDMCPOutputCfg ( flags,
** kwargs )

Definition at line 222 of file DESDM_MCP.py.

222def DESDMCPOutputCfg(flags, **kwargs):
223 result = ComponentAccumulator()
224 from AthenaConfiguration.Enums import LHCPeriod, MetadataCategory
225 isRun3 = flags.GeoModel.Run == LHCPeriod.Run3
226
227 container_items = ["xAOD::EventInfo#*", "xAOD::EventAuxInfo#*",
228
229 "xAOD::TrigNavigation#TrigNavigation","xAOD::TrigNavigationAuxInfo#TrigNavigationAux.",
230 "xAOD::TrigDecision#xTrigDecision", "xAOD::TrigDecisionAuxInfo#xTrigDecisionAux.",
231 "xAOD::TrigCompositeContainer#HLTNav_Summary_OnlineSlimmed", "xAOD::TrigCompositeAuxContainer#HLTNav_Summary_OnlineSlimmedAux.",
232 "xAOD::TrigConfKeys#TrigConfKeys", "HLT::HLTResult#HLTResult_HLT",
233
234 "xAOD::VertexContainer#PrimaryVertices",
235 "xAOD::VertexAuxContainer#PrimaryVerticesAux.-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV",
236
237 "TileDigitsContainer#MuRcvDigitsCnt",
238 "TileRawChannelContainer#MuRcvRawChCnt",
239 "TileMuonReceiverContainer#TileMuRcvCnt",
240 #HLT
241 "xAOD::L2StandAloneMuonContainer#HLT_xAOD__L2StandAloneMuonContainer_MuonL2SAInfo",
242 "xAOD::L2StandAloneMuonAuxContainer#HLT_xAOD__L2StandAloneMuonContainer_MuonL2SAInfoAux.",
243
244 "xAOD::L2CombinedMuonContainer#HLT_xAOD__L2CombinedMuonContainer_MuonL2CBInfo",
245 "xAOD::L2CombinedMuonAuxContainer#HLT_xAOD__L2CombinedMuonContainer_MuonL2CBInfoAux.",
246
247 "xAOD::L2IsoMuonContainer#HLT_xAOD__L2IsoMuonContainer_MuonL2ISInfo",
248 "xAOD::L2IsoMuonAuxContainer#HLT_xAOD__L2IsoMuonContainer_MuonL2ISInfoAux.",
249 ]
250
251 if flags.Muon.DESDM_MCP.doAlignmentFormat:
252 container_items.append("xAOD::L2CombinedMuonContainer#HLT_MuonL2CBInfo")
253 container_items.append("xAOD::L2CombinedMuonAuxContainer#HLT_MuonL2CBInfoAux.")
254
255 if flags.Input.isMC:
256 container_items +=["xAOD::TruthParticleContainer#MuonTruthParticles",
257 "xAOD::TruthParticleAuxContainer#MuonTruthParticlesAux."]
258
259 l1_muon = ["LVL1MuonRoIs", "LVL1MuonRoIsBCp1", "LVL1MuonRoIsBCp2", "LVL1MuonRoIsBCm1","LVL1MuonRoIsBCm2",
260 "HLT_xAOD__MuonRoIContainer_L1TopoMuon"]
261 for l1 in l1_muon:
262 container_items +=["xAOD::MuonRoIContainer#{roi}".format(roi = l1),
263 "xAOD::MuonRoIAuxContainer#{roi}Aux.".format(roi = l1)
264 ]
265
266
267 xaod_muon = [ "Muons",
268 "HLT_MuonsCB_RoI",
269 "HLT_xAOD__MuonContainer_MuonEFInfo",
270 "HLT_xAOD__MuonContainer_MuTagIMO_EF",
271 "HLT_xAOD__MuonContainer_eMuonEFInfo" ]
272 for muon in xaod_muon:
273 container_items+=["xAOD::MuonContainer#{muon}".format(muon = muon),
274 "xAOD::MuonAuxContainer#{muon}Aux.".format(muon = muon)]
275
276 if flags.Muon.DESDM_MCP.doExtendedAlignmentContent:
277 container_items+=['xAOD::ElectronContainer#Electrons','xAOD::ElectronAuxContainer#ElectronsAux.',
278 'xAOD::PhotonContainer#Photons','xAOD::PhotonAuxContainer#PhotonsAux.',
279 'xAOD::JetContainer#AntiKt4EMPFlowJets','xAOD::JetAuxContainer#AntiKt4EMPFlowJetsAux.-PseudoJet',
280 'xAOD::MissingETContainer#MET_Core_AntiKt4EMPFlow','xAOD::MissingETAuxContainer#MET_Core_AntiKt4EMPFlowAux.']
281
282 trackParticleAuxExclusions="-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition"
283
284 if flags.Muon.DESDM_MCP.doAlignmentFormat:
285 trackParticleAuxExclusions=""
286 track_parts = ["MuonSpectrometerTrackParticles",
287 "CombinedMuonTrackParticles",
288 "ExtrapolatedMuonTrackParticles",
289 "InDetTrackParticles", #Really want to skim/slim this guy //for ID Alignment
290 "MSOnlyExtrapolatedMuonTrackParticles",
291
292 "HLT_xAOD__TrackParticleContainer_MuonEFInfo_CombTrackParticles",
293 "HLT_xAOD__TrackParticleContainer_MuonEFInfo_ExtrapTrackParticles",
294 "HLT_xAOD__TrackParticleContainer_MuTagIMO_EF_CombTrackParticles",
295 "HLT_xAOD__TrackParticleContainer_MuTagIMO_EF_ExtrapTrackParticles",
296 "HLT_xAOD__TrackParticleContainer_eMuonEFInfo_CombTrackParticles",
297 "HLT_xAOD__TrackParticleContainer_eMuonEFInfo_ExtrapTrackParticles",
298 "HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_MuonIso_EFID",
299 "HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Muon_FTF",
300 "HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Muon_EFID",
301 "HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_MuonIso_FTF"]
302 for trk in track_parts:
303 container_items +=["xAOD::TrackParticleContainer#{trk}".format(trk = trk),
304 "xAOD::TrackParticleAuxContainer#{trk}Aux.{excl}".format(trk = trk,
305 excl = trackParticleAuxExclusions )]
306 segment_cont = ["MuonSegments", "UnAssocMuonSegments" ] + (["xAODNSWSegments"] if isRun3 else [])
307 for seg in segment_cont:
308 container_items +=["xAOD::MuonSegmentContainer#{seg}".format(seg = seg),
309 "xAOD::MuonSegmentAuxContainer#{seg}Aux.".format(seg =seg)]
310
311 container_items += ["Muon::RpcPrepDataContainer#*", "Muon::TgcPrepDataContainer#*", "Muon::MdtPrepDataContainer#*"]
312
313 if not isRun3: container_items +=["Muon::CscPrepDataContainer#*", "Muon::CscStripPrepDataContainer#CSC_Measurements"]
314 else: container_items +=["Muon::MMPrepDataContainer#*",
315 "Muon::sTgcPrepDataContainer#*",
316 "xAOD::NSWTPRDOContainer#*","xAOD::NSWTPRDOAuxContainer#*",
317 "xAOD::NSWMMTPRDOContainer#*","xAOD::NSWMMTPRDOAuxContainer#*",
318 "Muon::NSW_PadTriggerDataContainer#*",
319 "Muon::NSW_TrigRawDataContainer#L1_NSWTrigContainer" ,
320 ]
321
322
323 container_items += ["MuCTPI_RDO#MUCTPI_RDO", "RpcPadContainer#RPCPAD",
324 "Muon::RpcCoinDataContainer#RPC_triggerHits",
325 "RpcSectorLogicContainer#RPC_SECTORLOGIC"]
326
327 container_items += ["Muon::TgcCoinDataContainer#TrigT1CoinDataCollectionPriorBC",
328 "Muon::TgcCoinDataContainer#TrigT1CoinDataCollectionNextBC",
329 "Muon::TgcCoinDataContainer#TrigT1CoinDataCollectionNextNextBC",
330 "Muon::TgcCoinDataContainer#TrigT1CoinDataCollection"]
331
332
333
334 trk_seg_cont = ["TrkMuonSegments", "UnAssocMuonTrkSegments"]+ (["TrackMuonNSWSegments"] if isRun3 else [])
335 container_items += ["Trk::SegmentCollection#{seg}".format(seg = seg) for seg in trk_seg_cont]
336
337 trk_cont = ["MuonSpectrometerTracks", "CombinedMuonTracks", "MSOnlyExtrapolatedTracks", "ExtrapolatedMuonTracks" ]
338 container_items += ["TrackCollection#{trk}".format(trk = trk) for trk in trk_cont]
339 # =============================
340 # Define contents of the format
341 # =============================
342 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
343 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
344 kwargs.setdefault("ItemList", container_items)
345 result.merge(OutputStreamCfg(flags, **kwargs))
346 result.merge(
347 SetupMetaDataForStreamCfg(
348 flags,
349 kwargs.get("streamName"),
350 kwargs.get("AcceptAlgs"),
351 createMetadata=[
352 MetadataCategory.ByteStreamMetaData,
353 MetadataCategory.CutFlowMetaData,
354 MetadataCategory.LumiBlockMetaData,
355 MetadataCategory.TriggerMenuMetaData,
356 ],
357 )
358 )
359 return result
360
361

◆ setupAlignmentEventSkimmingToolCfg()

python.DESDM_MCP.setupAlignmentEventSkimmingToolCfg ( flags,
name = "AlignmentEventStringSkimmingTool",
** kwargs )

Definition at line 205 of file DESDM_MCP.py.

205def setupAlignmentEventSkimmingToolCfg(flags,name = "AlignmentEventStringSkimmingTool", **kwargs ):
206 kwargs.setdefault("expression", "(count(Muons.muonType == 0 && Muons.pt > 5*GeV) > 0)")
207 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import xAODStringSkimmingToolCfg
208 return xAODStringSkimmingToolCfg(flags,name, **kwargs)
209
210

◆ setupDESDMCPSkimmingAlgCfg()

python.DESDM_MCP.setupDESDMCPSkimmingAlgCfg ( flags,
name = "DESDMCPEventKernel",
** kwargs )

Definition at line 211 of file DESDM_MCP.py.

211def setupDESDMCPSkimmingAlgCfg(flags, name= "DESDMCPEventKernel", **kwargs):
212 result = ComponentAccumulator()
213
214 EventFilterTool = result.getPrimaryAndMerge(setupAlignmentEventSkimmingToolCfg(flags)) if flags.Muon.DESDM_MCP.doAlignmentFormat else \
215 result.getPrimaryAndMerge(setupDESDMSkimmingToolsCfg(flags))
216 kwargs.setdefault("SkimmingTools", [EventFilterTool])
217 kwargs.setdefault("doChronoStat", flags.Concurrency.NumThreads <= 1)
218 the_alg = CompFactory.DerivationFramework.DerivationKernel(name, **kwargs)
219 result.addEventAlgo(the_alg, primary = True)
220 return result
221

◆ setupDESDMSkimmingToolsCfg()

python.DESDM_MCP.setupDESDMSkimmingToolsCfg ( flags)

Definition at line 12 of file DESDM_MCP.py.

12def setupDESDMSkimmingToolsCfg(flags):
13 result = ComponentAccumulator()
14 from AthenaConfiguration.Enums import LHCPeriod
15 isRun3 = flags.GeoModel.Run == LHCPeriod.Run3
16
17 # ------------------------------------------------
18 # All 'noalg' muon triggers ( to be re-checked at the start of run-3 )
19 # ------------------------------------------------
20 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import TriggerSkimmingToolCfg
21 MuonNoAlgTrig_EventSkimmingTool = result.getPrimaryAndMerge(TriggerSkimmingToolCfg(flags,
22 name = "MuonNoAlgTrig_TriggerSkimmingTool",
23 TriggerListOR = [ "HLT_noalg_L1MU.*",
24 "HLT_noalg_L12MU.*",
25 "HLT_noalg_L1TGC_BURST",
26 "HLT_noalg_L1XE.*" ] if isRun3 else [
27 "HLT_noalg_L1MU4",
28 "HLT_noalg_L1MU6",
29 "HLT_noalg_L1MU10",
30 "HLT_noalg_L1MU11",
31 "HLT_noalg_L1MU15",
32 "HLT_noalg_L1MU20",
33 "HLT_noalg_L12MU4",
34 "HLT_noalg_L12MU6",
35 "HLT_noalg_L12MU10"]))
36
37
38 # ------------------------------------------------
39 # Orthogonal triggers (RPC needs)
40 # ------------------------------------------------
41 OrthoTrig_TriggerSkimmingTool = result.getPrimaryAndMerge(TriggerSkimmingToolCfg(flags,
42 name = "OrthoTrig_TriggerSkimmingTool",
43 TriggerListOR = ["HLT_xe.*",
44 "HLT_[0-9]?j[0-9]*",
45 "HLT_j[0-9]*_(jes|lcw|nojcalib|sub|L1RD0|280eta320|320eta490).*",
46 "HLT_[0-9]?j[0-9]*_b.*|j[0-9]*_[0-9]j[0-9]*_b.*",
47 "HLT_tau.*",
48 "HLT_[0-9]?e[0-9]*_(iloose|loose|medium|lhloose|lhmedium|lhtight|etcut)",
49 "HLT_[0-9]?e[0-9]*_(iloose|loose|medium|lhloose|lhmedium|lhtight|etcut)_(iloose|nod0|HLTCalo|cu\
50 td0dphideta|smooth|L1EM[0-9]*VH|L1EM[0-9]*)",
51 "HLT_[0-9]?e[0-9]*_(iloose|loose|medium|lhloose|lhmedium|lhtight)_(iloose|nod0|HLTCalo|cutd0dph\
52 ideta|smooth)_(HLTCalo|iloose|L1EM[0-9]*VH|L1EM[0-9]*)",
53 "HLT_[0-9]?g[0-9]*_(loose|medium|tight|etcut)",
54 "HLT_g[0-9]*_(loose|etcut)_(L1EM[0-9]*|L1EM[0-9]*VH)",
55 "HLT_(e|g)[0-9]*_(loose|medium|lhmedium|tight)_g.*",
56 "HLT_ht.*",
57 "HLT_te.*",
58 "HLT_xs.*",
59 "HLT_mb.*"] if not isRun3 else [
60
61 "HLT_xe.*",
62 "HLT_[0-9]?j[0-9]*",
63 "HLT_j[0-9]*_(pf_ftf|a10).*",
64 "HLT_[0-9]?j[0-9]*_b.*|j[0-9]*_[0-9]j[0-9]*_b.*",
65 "HLT_tau.*",
66 "HLT_[0-9]?e[0-9]*_(lhvloose|lhloose|lhmedium|lhtight|etcut)",
67 "HLT_[0-9]?g[0-9]*_(loose|medium|tight|etcut)",
68 "HLT_(e|g)[0-9]*_(loose|medium|lhmedium|tight)_g.*",
69 "HLT_ht.*",
70 "HLT_te.*",
71 "HLT_xs.*",
72 "HLT_mb.*",
73 "HLT_noalg_L1J.*",
74 "HLT_noalg_L1TAU.*",
75 "HLT_noalg_L1EM.*",
76 "HLT_noalg_L1XE.*"] ))
77 # ------------------------------------------------
78 # Offline orthogonal trigger selection (low pT)
79 # ------------------------------------------------
80 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import xAODStringSkimmingToolCfg
81 OrthoTrig_LowpTMuonEventStringSkimmingTool = result.getPrimaryAndMerge(xAODStringSkimmingToolCfg(flags,
82 name = "OrthoTrig_LowpTMuonEventStringSkimmingTool",
83 expression = "(count(Muons.muonType == 0 && Muons.pt > 4*GeV && Muons.pt < 15*GeV) > 0)"))
84
85
86 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import PrescaleToolCfg
87 OrthoTrig_LowpTMuonPrescaleSkimmingTool = result.getPrimaryAndMerge(PrescaleToolCfg(flags,
88 name = "OrthoTrig_LowpTMuonPrescaleSkimmingTool",
89 Prescale = 10))
90
91 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import FilterCombinationANDCfg
92 OrthoTrig_LowpTMuonEventSkimmingTool = result.getPrimaryAndMerge(FilterCombinationANDCfg(flags,
93 name="OrthoTrig_LowpTMuonEventSkimmingTool",
94 FilterList=[OrthoTrig_LowpTMuonEventStringSkimmingTool,
95 OrthoTrig_LowpTMuonPrescaleSkimmingTool]))
96
97
98 # ------------------------------------------------
99 # Offline orthogonal trigger selection (mid pT)
100
101 OrthoTrig_MidpTMuonEventSkimmingTool = result.getPrimaryAndMerge(xAODStringSkimmingToolCfg(flags,
102 name = "OrthoTrig_MidpTMuonEventSkimmingTool",
103 expression = "(count(Muons.muonType == 0 && Muons.pt >= 15*GeV) > 0)"))
104
105 # ------------------------------------------------
106 # Ortho trig events accepted if there is:
107 # [[a low pt (+ prescale) muon] OR [mid pt muon]]
108 # && [orthogonal trigger] event
109 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import FilterCombinationORCfg
110 OrthoTrig_pTMuonEventSkimmingTool=result.getPrimaryAndMerge(FilterCombinationORCfg(flags,
111 name="OrthoTrig_pTMuonEventSkimmingTool",
112 FilterList=[OrthoTrig_LowpTMuonEventSkimmingTool,
113 OrthoTrig_MidpTMuonEventSkimmingTool]))
114
115 OrthoTrig_EventSkimmingTool=result.getPrimaryAndMerge(FilterCombinationANDCfg(flags,
116 name="OrthoTrig_EventSkimmingTool",
117 FilterList=[OrthoTrig_pTMuonEventSkimmingTool, OrthoTrig_TriggerSkimmingTool]))
118
119 # ------------------------------------------------
120 # JPsi Trigger selection
121 # ------------------------------------------------
122 JPsiTrig_TriggerSkimmingTool = result.getPrimaryAndMerge(TriggerSkimmingToolCfg(flags,
123 name = "JPsiTrig_TriggerSkimmingTool",
124 TriggerListOR = ["HLT_mu20_2mu0noL1_JpsimumuFS",
125 "HLT_mu18_2mu0noL1_JpsimumuFS",
126 "HLT_mu20_2mu4_JpsimumuL2",
127 "HLT_mu18_2mu4_JpsimumuL2",
128 "HLT_mu6_bJpsi_Trkloose",
129 "HLT_mu18_bJpsi_Trkloose",
130 "HLT_mu4_bJpsi_Trkloose",
131 "HLT_mu20_msonly_mu6noL1_msonly_nscan05"] if not isRun3 else [
132
133 "HLT_2mu10_bJpsimumu",
134 "HLT_mu11_mu6_bJpsimumu",
135 "HLT_3mu4_bJpsi",
136 "HLT_2mu6_bJpsimumu" ]))
137
138
139
140 JPsiTrig_PrescaleSkimmingTool = result.getPrimaryAndMerge(PrescaleToolCfg(flags,
141 name = "JPsiTrig_PrescaleSkimmingTool",
142 Prescale = 2))
143
144 # ------------------------------------------------
145 # Jpsi trig events accepted if there is:
146 # Jpsi trigger (+ prescale)
147 JpsiTrig_EventSkimmingTool = result.getPrimaryAndMerge(FilterCombinationANDCfg(flags,
148 name="JpsiTrig_EventSkimmingTool",
149 FilterList=[JPsiTrig_PrescaleSkimmingTool,
150 JPsiTrig_TriggerSkimmingTool]))
151
152 # ------------------------------------------------
153 #For TGC, Muon HLT triggers:
154 # ------------------------------------------------
155 MuonHLTTrig_TriggerSkimmingTool = result.getPrimaryAndMerge(TriggerSkimmingToolCfg(flags,
156 name = "MuonHLTTrig_TriggerSkimmingTool",
157 TriggerListOR = ["HLT_mu.*"] ))
158
159
160 # ------------------------------------------------
161 # Dimuon selection
162 MuonHLTTrig_DiMuonEventSkimmingTool = result.getPrimaryAndMerge(xAODStringSkimmingToolCfg(flags,
163 name = "MuonHLTTrig_DiMuonEventSkimmingTool",
164 expression = "( (count(Muons.muonType == 0 && Muons.pt > 25*GeV) > 0) && (count(Muons.muonType == 0 && Muons.pt > 10*GeV) > 1) )"))
165
166
167 # ------------------------------------------------
168 # Mid pT muon selection
169 MuonHLTTrig_MidpTEventStringSkimmingTool = result.getPrimaryAndMerge(xAODStringSkimmingToolCfg(flags,
170 name = "MuonHLTTrig_MidpTEventStringSkimmingTool",
171 expression = "(count(Muons.muonType == 0 && Muons.pt > 25*GeV) > 0)"))
172
173
174 MuonHLTTrig_MidpTMuonPrescaleSkimmingTool = result.getPrimaryAndMerge(PrescaleToolCfg(flags,
175 name = "MuonHLTTrig_MidpTMuonPrescaleSkimmingTool",
176 Prescale = 2)) #okay with 2
177
178
179 MuonHLTTrig_MidpTMuonEventSkimmingTool = result.getPrimaryAndMerge(FilterCombinationANDCfg(flags,
180 name="MuonHLTTrig_MidpTMuonEventSkimmingTool",
181 FilterList=[MuonHLTTrig_MidpTEventStringSkimmingTool,
182 MuonHLTTrig_MidpTMuonPrescaleSkimmingTool]))
183 # ------------------------------------------------
184 # Muon HLT selection with combined logic
185 MuonHLTTrig_pTMuonEventSkimmingTool=result.getPrimaryAndMerge(FilterCombinationORCfg(flags,
186 name="MuonHLTTrig_pTMuonEventSkimmingTool",
187 FilterList=[MuonHLTTrig_MidpTMuonEventSkimmingTool,
188 MuonHLTTrig_DiMuonEventSkimmingTool]))
189 MuonHLTTrig_EventSkimmingTool = result.getPrimaryAndMerge(FilterCombinationANDCfg(flags,
190 name="MuonHLTTrig_EventSkimmingTool",
191 FilterList=[MuonHLTTrig_pTMuonEventSkimmingTool,
192 MuonHLTTrig_TriggerSkimmingTool]))
193
194
195 EventFilterTool=result.getPrimaryAndMerge(FilterCombinationORCfg(flags,
196 name="DESDM_MCPEventFilterTool",
197 FilterList=[MuonNoAlgTrig_EventSkimmingTool,
198 OrthoTrig_EventSkimmingTool,
199 JpsiTrig_EventSkimmingTool,
200 MuonHLTTrig_EventSkimmingTool]))
201 result.addPublicTool(EventFilterTool, primary = True)
202 return result
203
204