200 """Configure the derivation framework driving algorithm (kernel)
202 acc = ComponentAccumulator()
205 from JetRecConfig.StandardSmallRJets
import AntiKt4PV0Track
206 from JetRecConfig.JetRecConfig
import JetRecCfg
208 jetList = [AntiKt4PV0Track]
210 acc.merge(JetRecCfg(flags, jd))
217 from DerivationFrameworkInDet.InDetCommonConfig
import InDetCommonCfg
218 from DerivationFrameworkMuons.MuonsCommonConfig
import MuonsCommonCfg
219 from DerivationFrameworkEGamma.EGammaCommonConfig
import EGammaCommonCfg
221 TrackingFlags = flags.Tracking
225 DoVertexFinding=TrackingFlags.doVertexFinding,
226 AddPseudoTracks=TrackingFlags.doPseudoTracking,
228 DoR3LargeD0=flags.Tracking.doLargeD0,
229 StoreSeparateLargeD0Container=TrackingFlags.storeSeparateLargeD0Container,
233 acc.merge(MuonsCommonCfg(flags))
234 acc.merge(EGammaCommonCfg(flags))
247 from AssociationUtils.AssociationUtilsConfig
import OverlapRemovalToolCfg
249 outputLabel =
"DFCommonJets_passOR_HI"
253 orTool = acc.popToolsAndMerge(
254 OverlapRemovalToolCfg(
255 flags, outputLabel=outputLabel, bJetLabel=bJetLabel, doTaus=
False
258 algOR = CompFactory.OverlapRemovalGenUseAlg(
259 "OverlapRemovalGenUseAlg",
260 OverlapLabel=outputLabel,
261 OverlapRemovalTool=orTool,
262 JetKey =
'AntiKt4HIJets',
267 acc.addEventAlgo(algOR)
270 augmentationTools = []
276 acc.addPublicTool(EGAM11ZeeMassTool1)
277 augmentationTools.append(EGAM11ZeeMassTool1)
280 acc.addPublicTool(EGAM11ZeeMassTool2)
281 augmentationTools.append(EGAM11ZeeMassTool2)
284 acc.addPublicTool(EGAM11ZeeMassTool3)
285 augmentationTools.append(EGAM11ZeeMassTool3)
288 acc.addPublicTool(EGAM11ZegMassTool)
289 augmentationTools.append(EGAM11ZegMassTool)
293 streamName = kwargs[
"StreamName"]
296 if flags.Derivation.Egamma.doTrackThinning:
297 from DerivationFrameworkInDet.InDetToolsConfig
import (
298 TrackParticleThinningCfg,
299 MuonTrackParticleThinningCfg,
300 TauTrackParticleThinningCfg,
303 TrackThinningKeepElectronTracks =
True
304 TrackThinningKeepPhotonTracks =
True
305 TrackThinningKeepAllElectronTracks =
True
306 TrackThinningKeepJetTracks =
False
307 TrackThinningKeepMuonTracks =
False
308 TrackThinningKeepTauTracks =
False
309 TrackThinningKeepPVTracks =
True
312 if TrackThinningKeepElectronTracks:
313 EGAM11ElectronTPThinningTool = (
314 CompFactory.DerivationFramework.EgammaTrackParticleThinning(
315 name=
"EGAM11ElectronTPThinningTool",
316 StreamName=streamName,
318 GSFTrackParticlesKey=
"GSFTrackParticles",
319 InDetTrackParticlesKey=
"InDetTrackParticles",
320 SelectionString=
"Electrons.pt > 0*GeV",
325 acc.addPublicTool(EGAM11ElectronTPThinningTool)
326 thinningTools.append(EGAM11ElectronTPThinningTool)
330 if TrackThinningKeepAllElectronTracks:
331 EGAM11ElectronTPThinningTool2 = (
332 CompFactory.DerivationFramework.EgammaTrackParticleThinning(
333 name=
"EGAM11ElectronTPThinningTool2",
334 StreamName=streamName,
336 GSFTrackParticlesKey=
"GSFTrackParticles",
337 InDetTrackParticlesKey=
"InDetTrackParticles",
338 SelectionString=
"Electrons.pt > 4*GeV",
343 acc.addPublicTool(EGAM11ElectronTPThinningTool2)
344 thinningTools.append(EGAM11ElectronTPThinningTool2)
347 if TrackThinningKeepPhotonTracks:
348 EGAM11PhotonTPThinningTool = (
349 CompFactory.DerivationFramework.EgammaTrackParticleThinning(
350 name=
"EGAM11PhotonTPThinningTool",
351 StreamName=streamName,
353 GSFTrackParticlesKey=
"GSFTrackParticles",
354 InDetTrackParticlesKey=
"InDetTrackParticles",
355 GSFConversionVerticesKey=
"GSFConversionVertices",
356 SelectionString=
"Photons.pt > 0*GeV",
361 acc.addPublicTool(EGAM11PhotonTPThinningTool)
362 thinningTools.append(EGAM11PhotonTPThinningTool)
365 if TrackThinningKeepJetTracks:
366 EGAM11JetTPThinningTool = (
367 CompFactory.DerivationFramework.JetTrackParticleThinning(
368 name=
"EGAM11JetTPThinningTool",
369 StreamName=streamName,
370 JetKey=
"AntiKt4EMTopoJets",
371 InDetTrackParticlesKey=
"InDetTrackParticles",
374 acc.addPublicTool(EGAM11JetTPThinningTool)
375 thinningTools.append(EGAM11JetTPThinningTool)
378 if TrackThinningKeepMuonTracks:
379 EGAM11MuonTPThinningTool = acc.getPrimaryAndMerge(
380 MuonTrackParticleThinningCfg(
382 name=
"EGAM11MuonTPThinningTool",
383 StreamName=streamName,
385 InDetTrackParticlesKey=
"InDetTrackParticles",
388 thinningTools.append(EGAM11MuonTPThinningTool)
391 if TrackThinningKeepTauTracks:
392 EGAM11TauTPThinningTool = acc.getPrimaryAndMerge(
393 TauTrackParticleThinningCfg(
395 name=
"EGAM11TauTPThinningTool",
396 StreamName=streamName,
399 InDetTrackParticlesKey=
"InDetTrackParticles",
400 DoTauTracksThinning=
True,
401 TauTracksKey=
"TauTracks",
404 thinningTools.append(EGAM11TauTPThinningTool)
407 thinning_expression =
" && ".join(
409 "(InDetTrackParticles.DFCommonTightPrimary)",
410 "(abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta)<3*mm)",
411 "(InDetTrackParticles.pt>10*GeV)",
414 if TrackThinningKeepPVTracks:
415 EGAM11TPThinningTool = acc.getPrimaryAndMerge(
416 TrackParticleThinningCfg(
418 name=
"EGAM11TPThinningTool",
419 StreamName=streamName,
420 SelectionString=thinning_expression,
421 InDetTrackParticlesKey=
"InDetTrackParticles",
424 thinningTools.append(EGAM11TPThinningTool)
427 from DerivationFrameworkCalo.DerivationFrameworkCaloConfig
import (
428 CaloClusterThinningCfg,
431 EGAM11CCTCThinningTool = acc.getPrimaryAndMerge(
432 CaloClusterThinningCfg(
434 name=
"EGAM11CCTCThinningTool",
435 StreamName=streamName,
437 SelectionString=
"Electrons.pt>4*GeV",
438 TopoClCollectionSGKey=
"SubtractedCaloCalTopoClusters",
442 thinningTools.append(EGAM11CCTCThinningTool)
447 truth_cond_WZH =
" && ".join(
448 [
"(abs(TruthParticles.pdgId) >= 23)",
"(abs(TruthParticles.pdgId) <= 25)"]
451 truth_cond_lep =
" && ".join(
452 [
"(abs(TruthParticles.pdgId) >= 11)",
"(abs(TruthParticles.pdgId) <= 16)"]
455 truth_cond_top =
"(abs(TruthParticles.pdgId) == 6)"
457 truth_cond_gam =
" && ".join(
458 [
"(abs(TruthParticles.pdgId) == 22)",
"(TruthParticles.pt > 1*GeV)"]
461 truth_cond_finalState =
"(TruthParticles.isGenStable)"
476 + truth_cond_finalState
479 print(
"EGAM11 truth thinning expression: ", truth_expression)
481 EGAM11TruthThinningTool = CompFactory.DerivationFramework.GenericTruthThinning(
482 name=
"EGAM11TruthThinningTool",
483 StreamName=streamName,
484 ParticleSelectionString=truth_expression,
485 PreserveDescendants=
False,
486 PreserveGeneratorDescendants=
True,
487 PreserveAncestors=
True,
489 acc.addPublicTool(EGAM11TruthThinningTool)
490 thinningTools.append(EGAM11TruthThinningTool)
497 CompFactory.DerivationFramework.DerivationKernel(
499 SkimmingTools=[skimmingTool],
500 AugmentationTools=augmentationTools,
501 ThinningTools=thinningTools,
509 acc = ComponentAccumulator()
516 StreamName=
"StreamDAOD_EGAM11",
517 TriggerListsHelper=
None,
522 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
523 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
524 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
527 "EGAM11SlimmingHelper",
528 NamesAndTypes=flags.Input.TypedCollections,
537 EGAM11SlimmingHelper.AllVariables = [
546 EGAM11SlimmingHelper.AllVariables += [
550 "egammaTruthParticles",
561 EGAM11SlimmingHelper.SmartCollections = [
565 "InDetTrackParticles"
568 EGAM11SlimmingHelper.SmartCollections += [
570 "AntiKt4TruthDressedWZJets",
576 EGAM11SlimmingHelper.ExtraVariables += [
577 "Muons.ptcone20.ptcone30.ptcone40.etcone20.etcone30.etcone40"
581 EGAM11SlimmingHelper.ExtraVariables += [
582 "GSFConversionVertices.x.y.z.px.py.pz.pt1.pt2.etaAtCalo.phiAtCalo",
583 "GSFConversionVertices.trackParticleLinks",
587 EGAM11SlimmingHelper.ExtraVariables += [
"PrimaryVertices.sumPt2"]
590 EGAM11SlimmingHelper.ExtraVariables += [
591 "AntiKt4PV0TrackJets.pt.eta.phi.e.m.constituentLinks"
595 EGAM11SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
599 EGAM11SlimmingHelper.ExtraVariables += [
600 "MuonTruthParticles.e.px.py.pz.status.pdgId.truthClassification.truthOrigin.truthType"
603 EGAM11SlimmingHelper.ExtraVariables += [
604 "Photons.truthClassification.truthOrigin.truthType.truthParticleLink"
608 if flags.Derivation.Egamma.doEventInfoSlimming:
609 EGAM11SlimmingHelper.SmartCollections.append(
"EventInfo")
611 EGAM11SlimmingHelper.AllVariables += [
"EventInfo"]
614 EGAM11SlimmingHelper.AllVariables += [
"HIEventShape"]
615 EGAM11SlimmingHelper.AllVariables += [
"CaloSums"]
619 EGAM11ItemList = EGAM11SlimmingHelper.GetItemList()
624 ItemList=EGAM11ItemList,
625 AcceptAlgs=[
"EGAM11Kernel"],
629 SetupMetaDataForStreamCfg(
632 AcceptAlgs=[
"EGAM11Kernel"],
634 MetadataCategory.CutFlowMetaData,
635 MetadataCategory.TruthMetaData,