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

Functions

 HIONHPODGlobalAugmentationToolCfg (flags)
 HIONHPODCentralityAugmentationToolCfg (flags)
 HIONHPODKernelCfg (flags, name='HIONHPODKernel', **kwargs)
 HIONHPODCfg (flags)

Function Documentation

◆ HIONHPODCentralityAugmentationToolCfg()

python.HIONHPOD.HIONHPODCentralityAugmentationToolCfg ( flags)
Centrality augmentation: attaches centrality percentile boundaries to each event based on the measured FCal energy

Definition at line 24 of file HIONHPOD.py.

24def HIONHPODCentralityAugmentationToolCfg(flags):
25 """Centrality augmentation: attaches centrality percentile boundaries to each event based on the measured FCal energy"""
26 acc = ComponentAccumulator()
27
28 # Configure centrality tool
29 HICentralityDecorator = CompFactory.DerivationFramework.HICentralityDecorationTool(name="HIONHPODCentralityTool")
30
31 # Add centrality tools to the ComponentAccumulator
32 acc.addPublicTool(HICentralityDecorator, primary=True)
33
34 return acc
35

◆ HIONHPODCfg()

python.HIONHPOD.HIONHPODCfg ( flags)

Definition at line 80 of file HIONHPOD.py.

80def HIONHPODCfg(flags):
81 acc = ComponentAccumulator()
82 acc.merge(HIONHPODKernelCfg(flags, name="HIONHPODKernel", StreamName="StreamDAOD_HIONHPOD"))
83
84 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
85 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
86
87
88 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
89 HIONHPODSlimmingHelper = SlimmingHelper("HIONHPODSlimmingHelper", NamesAndTypes=flags.Input.TypedCollections, flags=flags)
90
91 from DerivationFrameworkHI import ListSlimming
92 # Only smart collection variables for electrons, muons and photons
93 HIONHPODSlimmingHelper.SmartCollections = ListSlimming.HIONHPODSmartCollections()
94 # And all the variables for AntiKt4HIJets, CaloSums and EventInfo
95 HIONHPODSlimmingHelper.AllVariables = ["AntiKt4HIJets",
96 "CaloSums",
97 "EventInfo"]
98
99 # Add truth information to Monte Carlo samples
100 if flags.Input.isMC:
101 from SGComps.AddressRemappingConfig import AddressRemappingCfg
102 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddStandardTruthContentsCfg
103
104 # Define required container names as encoded bytes
105 required_containers = { "AntiKt10TruthJets".encode("utf-8"), "AntiKt10TruthJetsAux".encode("utf-8") }
106
107 # No need to decode the collections as they are all bytes
108 inputCollections = set(flags.Input.Collections)
109
110 if inputCollections.intersection(required_containers):
111 rename_maps = ['%s#%s->%s' % ("xAOD::JetContainer", "AntiKt10TruthJets", "old_AntiKt10TruthJets"),
112 '%s#%s->%s' % ("xAOD::JetAuxContainer", "AntiKt10TruthJetsAux.", "old_AntiKt10TruthJetsAux.")
113 ]
114 acc.merge(AddressRemappingCfg(rename_maps))
115
116 acc.merge(AddStandardTruthContentsCfg(flags))
117
118 HIONHPODSlimmingHelper.AppendToDictionary = {'EventInfo':'xAOD::EventInfo','EventInfoAux':'xAOD::EventAuxInfo',
119 'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
120 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer',
121 'TruthLHEParticles':'xAOD::TruthParticleContainer', 'TruthLHEParticlesAux':'xAOD::TruthParticleAuxContainer',
122 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer',
123 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer',
124 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer',
125 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer',
126 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer',
127 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer',
128 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer',
129 'TruthBottom':'xAOD::TruthParticleContainer','TruthBottomAux':'xAOD::TruthParticleAuxContainer',
130 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer',
131 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer',
132 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer',
133 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
134 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
135 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
136 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
137 'AntiKt4TruthDressedWZJets':'xAOD::JetContainer','AntiKt4TruthDressedWZJetsAux':'xAOD::JetAuxContainer',
138 'AntiKt10TruthSoftDropBeta100Zcut10Jets':'xAOD::JetContainer','AntiKt10TruthSoftDropBeta100Zcut10JetsAux':'xAOD::JetAuxContainer'
139 }
140
141 # Add standard content
142 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
143 addTruth3ContentToSlimmerTool(HIONHPODSlimmingHelper)
144
145 HIONHPODItemList = HIONHPODSlimmingHelper.GetItemList()
146
147 acc.merge(OutputStreamCfg(flags, "DAOD_HIONHPOD", ItemList=HIONHPODItemList, AcceptAlgs=["HIONHPODKernel"]))
148 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_HIONHPOD", AcceptAlgs=["HIONHPODKernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
149
150 return acc
STL class.

◆ HIONHPODGlobalAugmentationToolCfg()

python.HIONHPOD.HIONHPODGlobalAugmentationToolCfg ( flags)
Global augmentation for track-based and calorimeter-based event-level information: Track multiplicity, 
calorimeter energy sums and flow vectors

Definition at line 12 of file HIONHPOD.py.

12def HIONHPODGlobalAugmentationToolCfg(flags):
13 """Global augmentation for track-based and calorimeter-based event-level information: Track multiplicity,
14 calorimeter energy sums and flow vectors"""
15 acc = ComponentAccumulator()
16
17 # Configure the augmentation tool
18 augmentation_tool = CompFactory.DerivationFramework.HIGlobalAugmentationTool(name = "HIONHPODAugmentationTool",
19 nHarmonic = 5) # to capture higher-order harmonics for anisotropic flow
20 acc.addPublicTool(augmentation_tool, primary=True)
21
22 return acc
23

◆ HIONHPODKernelCfg()

python.HIONHPOD.HIONHPODKernelCfg ( flags,
name = 'HIONHPODKernel',
** kwargs )
Configure the derivation framework driving algorithm (kernel)

Definition at line 36 of file HIONHPOD.py.

36def HIONHPODKernelCfg(flags, name='HIONHPODKernel', **kwargs):
37 """Configure the derivation framework driving algorithm (kernel)"""
38 acc = ComponentAccumulator()
39
40 from DerivationFrameworkInDet.InDetToolsConfig import JetTrackParticleThinningCfg
41
42 # Initialize a list for all the different type of tools
43 thinningTool = []
44 augmentationTool = []
45
46 # AntiKt4HI jets thinning
47 AntiKt4HIJetsThinningTool = acc.getPrimaryAndMerge(JetTrackParticleThinningCfg(flags,
48 name = "AntiKt4HIJetsThinningTool",
49 StreamName = kwargs['StreamName'],
50 JetKey = "AntiKt4HIJets",
51 InDetTrackParticlesKey = "InDetTrackParticles"))
52
53 acc.addPublicTool(AntiKt4HIJetsThinningTool)
54 thinningTool += [AntiKt4HIJetsThinningTool]
55
56 # Muon thinning
57 muonThinningTool = CompFactory.DerivationFramework.MuonTrackParticleThinning(name = "HIONHPODMuonThinningTool",
58 MuonKey = "Muons",
59 InDetTrackParticlesKey = "InDetTrackParticles")
60
61 acc.addPublicTool(muonThinningTool)
62 thinningTool += [muonThinningTool]
63
64 # Merge the augmentation tools to the ComponetAccumlator
65 globalAugmentationTool = acc.getPrimaryAndMerge(HIONHPODGlobalAugmentationToolCfg(flags))
66 augmentationTool += [globalAugmentationTool]
67
68 centralityAugmentatioTool = acc.getPrimaryAndMerge(HIONHPODCentralityAugmentationToolCfg(flags))
69 augmentationTool += [centralityAugmentatioTool]
70
71 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
72 acc.addEventAlgo(DerivationKernel(name,
73 ThinningTools=thinningTool,
74 AugmentationTools=augmentationTool
75 ),
76 )
77
78 return acc
79