ATLAS Offline Software
Loading...
Searching...
No Matches
TRUTH1.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2# TRUTH1.py - format containing extended common ATLAS truth record
3
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.Enums import MetadataCategory
6
7def TRUTH1Cfg(flags):
8 """Main config for TRUTH1"""
9 acc = ComponentAccumulator()
10
11 # Add translator from EVGEN input to xAOD-like truth
12 # Add all the particle derivation tools
13 # This sets up its own common kernel and adds the common tools to it
14 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddStandardTruthContentsCfg
15 acc.merge(AddStandardTruthContentsCfg(flags))
16
17 #==============================================================================
18 # HEAVY FLAVOR DECORATIONS (ttbar)
19 #==============================================================================
20 from DerivationFrameworkMCTruth.HFHadronsCommonConfig import HFHadronsCommonCfg
21 acc.merge(HFHadronsCommonCfg(flags))
22
23 #==============================================================================
24 # Set up slimming content list
25 #==============================================================================
26 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
27 TRUTH1SlimmingHelper = SlimmingHelper("TRUTH1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
28 TRUTH1SlimmingHelper.AppendToDictionary = {'EventInfo':'xAOD::EventInfo','EventInfoAux':'xAOD::EventAuxInfo',
29 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
30 'TruthVertices':'xAOD::TruthVertexContainer','TruthVerticesAux':'xAOD::TruthVertexAuxContainer',
31 'TruthParticles':'xAOD::TruthParticleContainer','TruthParticlesAux':'xAOD::TruthParticleAuxContainer',
32 'TruthLHEParticles':'xAOD::TruthParticleContainer', 'TruthLHEParticlesAux':'xAOD::TruthParticleAuxContainer',
33 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer',
34 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer',
35 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer',
36 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer',
37 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer',
38 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer',
39 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer',
40 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer',
41 'TruthBottom':'xAOD::TruthParticleContainer','TruthBottomAux':'xAOD::TruthParticleAuxContainer',
42 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer',
43 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer',
44 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer',
45 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
46 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
47 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
48 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
49 'AntiKtVR30Rmax4Rmin02TruthChargedJets':'xAOD::JetContainer','AntiKtVR30Rmax4Rmin02TruthChargedJetsAux':'xAOD::JetAuxContainer',
50 'AntiKt4TruthDressedWZJets':'xAOD::JetContainer','AntiKt4TruthDressedWZJetsAux':'xAOD::JetAuxContainer',
51 'AntiKt10TruthJets':'xAOD::JetContainer','AntiKt10TruthJetsAux':'xAOD::JetAuxContainer',
52 'TruthLabelBHadronsFinal':'xAOD::TruthParticleContainer', 'TruthLabelBHadronsInitial':'xAOD::TruthParticleContainer',
53 'TruthLabelTQuarksFinal':'xAOD::TruthParticleContainer', 'TruthLabelBQuarksFinal':'xAOD::TruthParticleContainer', 'TruthLabelCQuarksFinal':'xAOD::TruthParticleContainer',
54 'TruthLabelCHadronsFinal':'xAOD::TruthParticleContainer', 'TruthLabelCHadronsInitial':'xAOD::TruthParticleContainer',
55 'TruthLabelHBosons':'xAOD::TruthParticleContainer', 'TruthLabelWBosons':'xAOD::TruthParticleContainer', 'TruthLabelZBosons':'xAOD::TruthParticleContainer',
56 'TruthLabelPartons':'xAOD::TruthParticleContainer', 'TruthLabelTausFinal':'xAOD::TruthParticleContainer'
57 }
58 # Custom all variables -- won't be overridden by the call below, just added to. Full lists for completeness.
59 TRUTH1SlimmingHelper.AllVariables = [ 'EventInfo',
60 'TruthEvents',
61 'TruthVertices',
62 'TruthParticles',
63 'TruthLHEParticles',
64 'TruthLabelBHadronsFinal',
65 'TruthLabelBHadronsInitial',
66 'TruthLabelBQuarksFinal',
67 'TruthLabelCHadronsFinal',
68 'TruthLabelCHadronsInitial',
69 'TruthLabelCQuarksFinal',
70 'TruthLabelHBosons',
71 'TruthLabelPartons',
72 'TruthLabelTQuarksFinal',
73 'TruthLabelTausFinal',
74 'TruthLabelWBosons',
75 'TruthLabelZBosons']
76 # Custom extra variables -- won't be overridden by the call below, just added to. Full lists for completeness.
77 TRUTH1SlimmingHelper.ExtraVariables = ["AntiKtVR30Rmax4Rmin02TruthChargedJets.GhostHBosonsCount.GhostHBosonsPt.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.HadronConeExclTruthLabelID.PartonTruthLabelID.ConeExclBHadronsFinal.ConeExclCHadronsFinal.ConeExclTausFinal.constituentLinks",
78 "AntiKt4TruthDressedWZJets.GhostCHadronsFinalCount.GhostBHadronsFinalCount.pt.HadronConeExclTruthLabelID.PartonTruthLabelID.ConeExclBHadronsFinal.ConeExclCHadronsFinal.ConeExclTausFinal.constituentLinks"]
79
80 # Add standard content
81 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
82 addTruth3ContentToSlimmerTool(TRUTH1SlimmingHelper)
83
84 # Generate item list and create stream
85 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
86 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
87 TRUTH1ItemList = TRUTH1SlimmingHelper.GetItemList()
88 acc.merge(OutputStreamCfg(flags, "DAOD_TRUTH1", ItemList=TRUTH1ItemList))
89 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_TRUTH1", createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
90
91 return acc
TRUTH1Cfg(flags)
Definition TRUTH1.py:7