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

Functions

 JETM2KernelCfg (flags, name='JETM2Kernel', **kwargs)
 JETM2ExtraContentCfg (flags)
 JETM2Cfg (flags)

Function Documentation

◆ JETM2Cfg()

JETM2Cfg ( flags)

Definition at line 103 of file JETM2.py.

103def JETM2Cfg(flags):
104
105 acc = ComponentAccumulator()
106
107 # Get the lists of triggers needed for trigger matching.
108 # This is needed at this scope (for the slimming) and further down in the config chain
109 # for actually configuring the matching, so we create it here and pass it down
110 # TODO: this should ideally be called higher up to avoid it being run multiple times in a train
111 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
112 JETM2TriggerListsHelper = TriggerListsHelper(flags)
113
114 # Skimming, thinning, augmentation, extra content
115 acc.merge(JETM2KernelCfg(flags, name="JETM2Kernel", StreamName = 'StreamDAOD_JETM2', TriggerListsHelper = JETM2TriggerListsHelper))
116
117 # ============================
118 # Define contents of the format
119 # =============================
120 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
121 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
122 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
123
124 JETM2SlimmingHelper = SlimmingHelper("JETM2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
125
126 JETM2SlimmingHelper.SmartCollections = ["EventInfo","InDetTrackParticles", "PrimaryVertices",
127 "Electrons", "Photons", "Muons", "TauJets",
128 "MET_Baseline_AntiKt4EMPFlow",
129 "AntiKt4EMTopoNoPtCutJets", "AntiKt4EMPFlowJets",
130 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
131
132 JETM2SlimmingHelper.AllVariables = ["CaloCalFwdTopoTowers",
133 "CHSGChargedParticleFlowObjects","CHSGNeutralParticleFlowObjects",
134 "CHSGlobalClusterMLCorrectedChargedParticleFlowObjects","CHSGlobalClusterMLCorrectedNeutralParticleFlowObjects",
135 "CSSKGChargedParticleFlowObjects","CSSKGNeutralParticleFlowObjects",
136 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","Kt4EMPFlowNeutEventShape",
137 "Kt4UFOCSSKEventShape","Kt4UFOCSSKNeutEventShape"]
138
139 # Low-level inputs
140 from DerivationFrameworkJetEtMiss.CommonJETMXContent import ClusterVariables, FlowElementVariables, UFOVariables, TrackingVariables, TrackingVariablesHGTD, FELinks
141 JETM2SlimmingHelper.ExtraVariables += [".".join(["CaloCalTopoClusters"] + ClusterVariables + ["clusterE_ML.clusterE_ML_unc"])]
142 JETM2SlimmingHelper.ExtraVariables += [".".join(["EMOriginTopoClusters"] + ['calM'])]
143 JETM2SlimmingHelper.ExtraVariables += [".".join(["GlobalChargedParticleFlowObjects"] + FlowElementVariables + ["otherObjectWeights"])]
144 JETM2SlimmingHelper.ExtraVariables += [".".join(["GlobalNeutralParticleFlowObjects"] + FlowElementVariables + ["otherObjectWeights"])]
145 JETM2SlimmingHelper.ExtraVariables += [".".join(["GlobalClusterMLCorrectedChargedParticleFlowObjects"] + FlowElementVariables + ["otherObjectWeights"])]
146 JETM2SlimmingHelper.ExtraVariables += [".".join(["GlobalClusterMLCorrectedNeutralParticleFlowObjects"] + FlowElementVariables + ["otherObjectWeights"])]
147 JETM2SlimmingHelper.ExtraVariables += [".".join(["UFO"] + UFOVariables)]
148 JETM2SlimmingHelper.ExtraVariables += [".".join(["UFOCSSK"] + UFOVariables)]
149 JETM2SlimmingHelper.ExtraVariables += [".".join(["InDetTrackParticles"] + TrackingVariables)]
150 if flags.GeoModel.Run >= LHCPeriod.Run4:
151 JETM2SlimmingHelper.ExtraVariables += [".".join(["InDetTrackParticles"] + TrackingVariablesHGTD)]
152
153 # Links of physics objects to FlowElements
154 JETM2SlimmingHelper.ExtraVariables += FELinks
155
156 # Detailed substructure information
157 from DerivationFrameworkJetEtMiss.CommonJETMXContent import ExtraJSSVariables
158 JETM2SlimmingHelper.ExtraVariables += [".".join(["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"] + ExtraJSSVariables)]
159
160 JETM2SlimmingHelper.ExtraVariables += ["AntiKt4EMPFlowJets.GhostTower.IsoFixedCone5Pt.IsoFixedCone5PtPUsub.constituentLinks",
161 "AntiKt4EMTopoNoPtCutJets.IsoFixedCone5Pt.IsoFixedCone5PtPUsub.constituentLinks",
162 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.SizeParameter.GhostTrack.constituentLinks",
163 "GSFTrackParticles.particleHypothesis.vx.vy.vz",
164 "PrimaryVertices.x.y.z.covariance.trackWeights",
165 "TauJets.clusterLinks",
166 "Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus.clusterLinks.FSR_CandidateEnergy",
167 "MuonSegments.x.y.z.px.py.pz"]
168
169 JETM2SlimmingHelper.AppendToDictionary.update({
170 "FEAssociationMap" : "xAOD::MissingETAssociationMap",
171 "FEAssociationMapAux": "xAOD::AuxContainerBase",
172 })
173 JETM2SlimmingHelper.AllVariables += ["FEAssociationMap"]
174
175 from DerivationFrameworkJetEtMiss.JetCommonConfig import addOriginCorrectedClustersToSlimmingTool
176 addOriginCorrectedClustersToSlimmingTool(JETM2SlimmingHelper,writeLC=True,writeEM=True)
177
178 # Truth containers
179 if flags.Input.isMC:
180
181 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
182 addTruth3ContentToSlimmerTool(JETM2SlimmingHelper)
183
184 JETM2SlimmingHelper.AllVariables += ["TruthTopQuarkWithDecayParticles","TruthTopQuarkWithDecayVertices","TruthHFWithDecayParticles",
185 "AntiKt4TruthJets", "InTimeAntiKt4TruthJets", "OutOfTimeAntiKt4TruthJets",
186 "TruthParticles", "TruthVertices","TruthEvents"]
187
188 JETM2SlimmingHelper.SmartCollections += ["AntiKt4TruthJets","AntiKt4TruthWZJets",
189 "AntiKt10TruthJets","AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets"]
190
191 JETM2SlimmingHelper.ExtraVariables += ["AntiKt10TruthSoftDropBeta100Zcut10Jets.SizeParameter.constituentLinks",
192 "AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets.constituentLinks",
193 "AntiKt10TruthDressedWZJets.constituentLinks",
194 "AntiKt10TruthJets.constituentLinks",
195 "AntiKt4TruthJets.constituentLinks",
196 "AntiKt4TruthWZJets.IsoFixedCone5Pt.constituentLinks",
197 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt.constituentLinks",
198 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalCount.GhostHBosonsCount.GhostZBosonsCount.GhostWBosonsCount",
199 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalPt.GhostHBosonsPt.GhostZBosonsPt.GhostWBosonsPt",
200 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostBHadronsFinalPt.GhostCHadronsFinalPt"]
201
202 # Trigger content
203 JETM2SlimmingHelper.IncludeTriggerNavigation = False
204 JETM2SlimmingHelper.IncludeJetTriggerContent = False
205 JETM2SlimmingHelper.IncludeMuonTriggerContent = False
206 JETM2SlimmingHelper.IncludeEGammaTriggerContent = False
207 JETM2SlimmingHelper.IncludeTauTriggerContent = False
208 JETM2SlimmingHelper.IncludeEtMissTriggerContent = False
209 JETM2SlimmingHelper.IncludeBJetTriggerContent = False
210 JETM2SlimmingHelper.IncludeBPhysTriggerContent = False
211 JETM2SlimmingHelper.IncludeMinBiasTriggerContent = False
212
213 jetOutputList = ["AntiKt4UFOCSSKNoPtCutJets","AntiKt4EMPFlowNoPtCutJets", "AntiKt4EMPFlowMLJets", "AntiKt4MLTopoJets"]
214 from DerivationFrameworkJetEtMiss.JetCommonConfig import addJetsToSlimmingTool
215 addJetsToSlimmingTool(JETM2SlimmingHelper, jetOutputList, JETM2SlimmingHelper.SmartCollections)
216
217 # Output stream
218 JETM2ItemList = JETM2SlimmingHelper.GetItemList()
219 acc.merge(OutputStreamCfg(flags, "DAOD_JETM2", ItemList=JETM2ItemList, AcceptAlgs=["JETM2Kernel"]))
220 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_JETM2", AcceptAlgs=["JETM2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData,MetadataCategory.TruthMetaData]))
221
222 return acc
223

◆ JETM2ExtraContentCfg()

JETM2ExtraContentCfg ( flags)

Definition at line 46 of file JETM2.py.

46def JETM2ExtraContentCfg(flags):
47
48 acc = ComponentAccumulator()
49
50 from JetRecConfig.JetRecConfig import JetRecCfg, getInputAlgs, getConstitPJGAlg
51 from JetRecConfig.JetInputConfig import buildEventShapeAlg
52 from JetRecConfig.StandardJetConstits import stdConstitDic as cst
53 from JetRecConfig.StandardSmallRJets import AntiKt4UFOCSSKNoPtCut, AntiKt4EMPFlowNoPtCut, AntiKt4EMPFlowML, AntiKt4EMTopoNoPtCut, AntiKt4MLTopo
54 from JetRecConfig.StandardLargeRJets import AntiKt10TruthDressedWZSoftDrop
55
56 #=======================================
57 # CHS R = 0.4 UFO jets
58 #=======================================
59
60 algs = getInputAlgs(cst.UFO, flags=flags)
61 for alg in algs:
62 if isinstance(alg, ComponentAccumulator):
63 acc.merge(alg)
64 else:
65 acc.addEventAlgo(alg)
66
67 #=======================================
68 # NoPtCut containers
69 #=======================================
70 jetList = [AntiKt4UFOCSSKNoPtCut,AntiKt4EMPFlowNoPtCut,AntiKt4EMPFlowML,AntiKt4EMTopoNoPtCut, AntiKt4MLTopo]
71
72 #=======================================
73 # R = 1.0 truth WZ Dressed jets
74 #=======================================
75 if flags.Input.isMC:
76 jetList += [AntiKt10TruthDressedWZSoftDrop]
77
78
79 for jd in jetList:
80 acc.merge(JetRecCfg(flags,jd))
81
82 #=======================================
83 # UFO CSSK event shape
84 #=======================================
85
86 acc.addEventAlgo(buildEventShapeAlg(cst.UFOCSSK,'', suffix=None))
87 acc.addEventAlgo(getConstitPJGAlg(cst.UFOCSSK, suffix='Neut'))
88 acc.addEventAlgo(buildEventShapeAlg(cst.UFOCSSK,'', suffix='Neut'))
89
90 #=======================================
91 # More detailed truth information
92 #=======================================
93
94 if flags.Input.isMC:
95 from DerivationFrameworkMCTruth.MCTruthCommonConfig import AddTopQuarkAndDownstreamParticlesCfg, AddTruthCollectionNavigationDecorationsCfg
96 acc.merge(AddTopQuarkAndDownstreamParticlesCfg(flags))
97 acc.merge(AddTruthCollectionNavigationDecorationsCfg(flags, TruthCollections=["TruthTopQuarkWithDecayParticles","TruthBosonsWithDecayParticles"],prefix='Top'))
98
99
100 return acc
101
102

◆ JETM2KernelCfg()

JETM2KernelCfg ( flags,
name = 'JETM2Kernel',
** kwargs )
Configure the derivation framework driving algorithm (kernel) for JETM2

Definition at line 11 of file JETM2.py.

11def JETM2KernelCfg(flags, name='JETM2Kernel', **kwargs):
12 """Configure the derivation framework driving algorithm (kernel) for JETM2"""
13 acc = ComponentAccumulator()
14
15 # Common augmentations
16 from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
17 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs['TriggerListsHelper']))
18
19
20 from AssociationUtils.AssociationUtilsConfig import FEAssociationCfg
21 acc.merge(FEAssociationCfg(flags))
22
23 if flags.Input.isMC:
24 # thinning tools:
25 truthThinningTool = CompFactory.DerivationFramework.MenuTruthThinning(name = "JETM2TruthThinning",
26 StreamName = kwargs['StreamName'],
27 WriteAllStable = True,
28 WritePartons = False,
29 WriteHadrons = False,
30 WriteBHadrons = True,
31 WriteCHadrons = False,
32 WriteGeant = False,
33 WriteFirstN = 10)
34
35 acc.addPublicTool(truthThinningTool)
36
37 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
38 acc.addEventAlgo(DerivationKernel(name, ThinningTools = [truthThinningTool] if flags.Input.isMC else []))
39
40 # Extra jet content:
41 acc.merge(JETM2ExtraContentCfg(flags))
42
43 return acc
44
45