7def TRUTH3Cfg(flags):
8 """Main config for TRUTH3"""
9 acc = ComponentAccumulator()
10
11
12
13 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddTruthDerivationContentsCfg
14 acc.merge(AddTruthDerivationContentsCfg(flags))
15
16
17
18
19 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
20 TRUTH3SlimmingHelper =
SlimmingHelper(
"TRUTH3SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
21
22 TRUTH3SlimmingHelper.AppendToDictionary = {'EventInfo':'xAOD::EventInfo','EventInfoAux':'xAOD::EventAuxInfo',
23 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
24 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer',
25 'TruthLHEParticles':'xAOD::TruthParticleContainer', 'TruthLHEParticlesAux':'xAOD::TruthParticleAuxContainer',
26 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer',
27 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer',
28 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer',
29 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer',
30 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer',
31 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer',
32 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer',
33 'TruthBottom':'xAOD::TruthParticleContainer','TruthBottomAux':'xAOD::TruthParticleAuxContainer',
34 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer',
35 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer',
36 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer',
37 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
38 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
39 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
40 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
41 'AntiKt4TruthDressedWZJets':'xAOD::JetContainer','AntiKt4TruthDressedWZJetsAux':'xAOD::JetAuxContainer',
42 'AntiKt10TruthSoftDropBeta100Zcut10Jets':'xAOD::JetContainer','AntiKt10TruthSoftDropBeta100Zcut10JetsAux':'xAOD::JetAuxContainer'
43 }
44
45
46 TRUTH3SlimmingHelper.AllVariables = [ 'EventInfo' ]
47
48
49 TRUTH3SlimmingHelper.AllVariables += ['TruthTausWithDecayParticles','TruthTausWithDecayVertices']
50
51
52 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addPhysTruthContentToSlimmerTool
53 addPhysTruthContentToSlimmerTool(TRUTH3SlimmingHelper)
54
55
56 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
57 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
58 TRUTH3ItemList = TRUTH3SlimmingHelper.GetItemList()
59 acc.merge(OutputStreamCfg(flags, "DAOD_TRUTH3", ItemList=TRUTH3ItemList))
60 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_TRUTH3", createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
61
62 return acc