Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
python.JETM4 Namespace Reference

Functions

def JETM4SkimmingToolCfg (flags)
 
def JETM4KernelCfg (flags, name='JETM4Kernel', **kwargs)
 
def JETM4ExtraContentCfg (flags)
 
def JETM4Cfg (flags)
 

Function Documentation

◆ JETM4Cfg()

def python.JETM4.JETM4Cfg (   flags)

Definition at line 144 of file JETM4.py.

144 def JETM4Cfg(flags):
145 
146  acc = ComponentAccumulator()
147 
148  # Get the lists of triggers needed for trigger matching.
149  # This is needed at this scope (for the slimming) and further down in the config chain
150  # for actually configuring the matching, so we create it here and pass it down
151  # TODO: this should ideally be called higher up to avoid it being run multiple times in a train
152  from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
153  JETM4TriggerListsHelper = TriggerListsHelper(flags)
154 
155  # Skimming, thinning, augmentation, extra content
156  acc.merge(JETM4KernelCfg(flags, name="JETM4Kernel", StreamName = 'StreamDAOD_JETM4', TriggerListsHelper = JETM4TriggerListsHelper))
157 
158  # ============================
159  # Define contents of the format
160  # =============================
161  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
162  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
163  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
164 
165  JETM4SlimmingHelper = SlimmingHelper("JETM4SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
166 
167  JETM4SlimmingHelper.SmartCollections = ["EventInfo","InDetTrackParticles", "PrimaryVertices",
168  "Electrons", "Photons", "Muons", "TauJets",
169  "MET_Baseline_AntiKt4EMTopo","MET_Baseline_AntiKt4EMPFlow",
170  "AntiKt4EMPFlowJets","AntiKt4EMTopoJets","AntiKt4UFOCSSKLowPtJets",
171  "AntiKt10UFOCSSKJets",
172  "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
173  "AntiKtVR30Rmax4Rmin02PV0TrackJets",
174  "BTagging_AntiKt4EMPFlow",
175  "BTagging_AntiKtVR30Rmax4Rmin02Track"]
176 
177  JETM4SlimmingHelper.AllVariables = ["CHSGChargedParticleFlowObjects", "CHSGNeutralParticleFlowObjects",
178  "MuonSegments",
179  "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","Kt4EMPFlowPUSBEventShape","Kt4EMPFlowNeutEventShape"]
180 
181  JETM4SlimmingHelper.ExtraVariables = ["TauJets.truthJetLink.truthParticleLink.IsTruthMatched"]
182 
183  # Low-level variables
184  from DerivationFrameworkJetEtMiss.CommonJETMXContent import ClusterVariables, FlowElementVariables
185  JETM4SlimmingHelper.ExtraVariables += [".".join(["CaloCalTopoClusters"] + ClusterVariables)]
186  JETM4SlimmingHelper.ExtraVariables += [".".join(["GlobalChargedParticleFlowObjects"] + FlowElementVariables)]
187  JETM4SlimmingHelper.ExtraVariables += [".".join(["GlobalNeutralParticleFlowObjects"] + FlowElementVariables)]
188 
189  # Large-Radius jet regression extra content
190  extraListReg = []
191  modelName = "bJR10v00"
192  for score in ["mass", "pt"]:
193  extraListReg.append(f"{modelName}_{score}")
194  JETM4SlimmingHelper.ExtraVariables += ["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets." + ".".join(extraListReg)]
195 
196  # Truth containers
197  if flags.Input.isMC:
198 
199  from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
200  addTruth3ContentToSlimmerTool(JETM4SlimmingHelper)
201 
202  JETM4SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
203  'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
204 
205  JETM4SlimmingHelper.AllVariables += ["TruthParticles", "TruthEvents", "TruthVertices",
206  "MuonTruthParticles", "egammaTruthParticles",]
207  JETM4SlimmingHelper.SmartCollections += ["AntiKt4TruthJets","AntiKt10TruthJets",
208  "AntiKt10TruthSoftDropBeta100Zcut10Jets"]
209 
210  # Trigger content
211  JETM4SlimmingHelper.IncludeTriggerNavigation = False
212  JETM4SlimmingHelper.IncludeJetTriggerContent = False
213  JETM4SlimmingHelper.IncludeMuonTriggerContent = False
214  JETM4SlimmingHelper.IncludeEGammaTriggerContent = True
215  JETM4SlimmingHelper.IncludeTauTriggerContent = False
216  JETM4SlimmingHelper.IncludeEtMissTriggerContent = False
217  JETM4SlimmingHelper.IncludeBJetTriggerContent = False
218  JETM4SlimmingHelper.IncludeBPhysTriggerContent = False
219  JETM4SlimmingHelper.IncludeMinBiasTriggerContent = False
220 
221  # Trigger matching
222  # Run 2
223  if flags.Trigger.EDMVersion == 2:
224  from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
225  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM4SlimmingHelper,
226  OutputContainerPrefix = "TrigMatch_",
227  TriggerList = JETM4TriggerListsHelper.Run2TriggerNamesTau)
228  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = JETM4SlimmingHelper,
229  OutputContainerPrefix = "TrigMatch_",
230  TriggerList = JETM4TriggerListsHelper.Run2TriggerNamesNoTau)
231  # Run 3, or Run 2 with navigation conversion
232  if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
233  from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
235 
236  # Output stream
237  JETM4ItemList = JETM4SlimmingHelper.GetItemList()
238  acc.merge(OutputStreamCfg(flags, "DAOD_JETM4", ItemList=JETM4ItemList, AcceptAlgs=["JETM4Kernel"]))
239  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_JETM4", AcceptAlgs=["JETM4Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
240 
241  return acc
242 

◆ JETM4ExtraContentCfg()

def python.JETM4.JETM4ExtraContentCfg (   flags)

Definition at line 124 of file JETM4.py.

124 def JETM4ExtraContentCfg(flags):
125 
126  acc = ComponentAccumulator()
127 
128  # PFlow augmentation tool
129  from DerivationFrameworkJetEtMiss.PFlowCommonConfig import PFlowCommonCfg
130  acc.merge(PFlowCommonCfg(flags))
131 
132  from JetRecConfig.JetRecConfig import JetRecCfg
133  from JetRecConfig.StandardSmallRJets import AntiKt4UFOCSSKLowPt
134  AntiKt4UFOCSSKLowPt_JETM4 = AntiKt4UFOCSSKLowPt.clone(
135  modifiers = AntiKt4UFOCSSKLowPt.modifiers+("NNJVT",)
136  )
137  jetList = [AntiKt4UFOCSSKLowPt_JETM4]
138  for jd in jetList:
139  acc.merge(JetRecCfg(flags,jd))
140 
141  return acc
142 
143 

◆ JETM4KernelCfg()

def python.JETM4.JETM4KernelCfg (   flags,
  name = 'JETM4Kernel',
**  kwargs 
)
Configure the derivation framework driving algorithm (kernel) for JETM4

Definition at line 25 of file JETM4.py.

25 def JETM4KernelCfg(flags, name='JETM4Kernel', **kwargs):
26  """Configure the derivation framework driving algorithm (kernel) for JETM4"""
27  acc = ComponentAccumulator()
28 
29  # Skimming
30  if not flags.Input.isMC:
31  skimmingTool = acc.getPrimaryAndMerge(JETM4SkimmingToolCfg(flags))
32 
33  # Common augmentations
34  from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
35  acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs['TriggerListsHelper']))
36 
37  # Thinning tools...
38  from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg, MuonTrackParticleThinningCfg, EgammaTrackParticleThinningCfg, TauTrackParticleThinningCfg
39 
40  # https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/DaodRecommendations
41  JETM4_thinning_expression = "( abs(InDetTrackParticles.d0) < 5*mm ) && ( abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5*mm )"
42  JETM4TrackParticleThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
43  flags,
44  name = "JETM4TrackParticleThinningTool",
45  StreamName = kwargs['StreamName'],
46  SelectionString = JETM4_thinning_expression,
47  InDetTrackParticlesKey = "InDetTrackParticles"))
48 
49  # Include inner detector tracks associated with muons
50  JETM4MuonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(
51  flags,
52  name = "JETM4MuonTPThinningTool",
53  StreamName = kwargs['StreamName'],
54  MuonKey = "Muons",
55  InDetTrackParticlesKey = "InDetTrackParticles"))
56 
57  # Include inner detector tracks associated with electonrs
58  JETM4ElectronTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
59  flags,
60  name = "JETM4ElectronTPThinningTool",
61  StreamName = kwargs['StreamName'],
62  SGKey = "Electrons",
63  InDetTrackParticlesKey = "InDetTrackParticles"))
64 
65  # Include inner detector tracks associated with photons
66  JETM4PhotonTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
67  flags,
68  name = "JETM4PhotonTPThinningTool",
69  StreamName = kwargs['StreamName'],
70  SGKey = "Photons",
71  InDetTrackParticlesKey = "InDetTrackParticles",
72  GSFConversionVerticesKey = "GSFConversionVertices"))
73 
74  # Include inner detector tracks associated with taus
75  JETM4TauTPThinningTool = acc.getPrimaryAndMerge(TauTrackParticleThinningCfg(
76  flags,
77  name = "JETM4TauTPThinningTool",
78  StreamName = kwargs['StreamName'],
79  TauKey = "TauJets",
80  InDetTrackParticlesKey = "InDetTrackParticles",
81  DoTauTracksThinning = True,
82  TauTracksKey = "TauTracks"))
83 
84 
85  thinningTools = [JETM4TrackParticleThinningTool,
86  JETM4MuonTPThinningTool,
87  JETM4ElectronTPThinningTool,
88  JETM4PhotonTPThinningTool,
89  JETM4TauTPThinningTool]
90 
91  if flags.Input.isMC:
92  truth_cond_WZH = "((abs(TruthParticles.pdgId) >= 23) && (abs(TruthParticles.pdgId) <= 25))" # W, Z and Higgs
93  truth_cond_Lepton = "((abs(TruthParticles.pdgId) >= 11) && (abs(TruthParticles.pdgId) <= 16) && !(TruthParticle.isSimulationParticle))" # Leptons
94  truth_cond_Quark = "((abs(TruthParticles.pdgId) <= 5 && (TruthParticles.pt > 10000.)) || (abs(TruthParticles.pdgId) == 6))" # Quarks
95  truth_cond_Gluon = "((abs(TruthParticles.pdgId) == 21) && (TruthParticles.pt > 10000.))" # Gluons
96  truth_cond_Photon = "((abs(TruthParticles.pdgId) == 22) && (TruthParticles.pt > 10000.) && !(TruthParticle.isSimulationParticle))" # Photon
97 
98  truth_expression = '('+truth_cond_WZH+' || '+truth_cond_Lepton +' || '+truth_cond_Quark+'||'+truth_cond_Gluon+' || '+truth_cond_Photon+')'
99 
100  preserveAllDescendants = False
101 
102  JETM4TruthThinningTool = CompFactory.DerivationFramework.GenericTruthThinning ( name = "JETM4TruthThinningTool",
103  StreamName = kwargs['StreamName'],
104  ParticleSelectionString = truth_expression,
105  PreserveDescendants = preserveAllDescendants,
106  PreserveGeneratorDescendants = not preserveAllDescendants,
107  PreserveAncestors = True)
108 
109  acc.addPublicTool(JETM4TruthThinningTool)
110  thinningTools.append(JETM4TruthThinningTool)
111 
112  # Finally the kernel itself
113  DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
114  acc.addEventAlgo(DerivationKernel(name,
115  ThinningTools = thinningTools,
116  SkimmingTools = [skimmingTool] if not flags.Input.isMC else []))
117 
118  # Extra jet content:
119  acc.merge(JETM4ExtraContentCfg(flags))
120 
121  return acc
122 
123 

◆ JETM4SkimmingToolCfg()

def python.JETM4.JETM4SkimmingToolCfg (   flags)
Configure the skimming tool

Definition at line 11 of file JETM4.py.

11 def JETM4SkimmingToolCfg(flags):
12  """Configure the skimming tool"""
13  acc = ComponentAccumulator()
14 
15  from DerivationFrameworkJetEtMiss import TriggerLists
16  triggerlist = TriggerLists.single_photon_Trig(flags)
17 
18  JETM4SkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool(name = "JETM4SkimmingTool", TriggerListOR = triggerlist)
19  acc.addPublicTool(JETM4SkimmingTool, primary=True)
20 
21  return(acc)
22 
23 
24 # Main algorithm config
TrigNavSlimmingMTConfig.AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
def AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(slimmingHelper)
Definition: TrigNavSlimmingMTConfig.py:98
python.JETM4.JETM4KernelCfg
def JETM4KernelCfg(flags, name='JETM4Kernel', **kwargs)
Definition: JETM4.py:25
python.PFlowCommonConfig.PFlowCommonCfg
def PFlowCommonCfg(ConfigFlags)
Definition: PFlowCommonConfig.py:6
python.JETM4.JETM4Cfg
def JETM4Cfg(flags)
Definition: JETM4.py:144
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, keepProvenanceTagsRegEx=None, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:16
python.InDetToolsConfig.TrackParticleThinningCfg
def TrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:458
python.TriggerMatchingCommonConfig.AddRun2TriggerMatchingToSlimmingHelper
def AddRun2TriggerMatchingToSlimmingHelper(**kwargs)
Definition: TriggerMatchingCommonConfig.py:49
python.JETM4.JETM4ExtraContentCfg
def JETM4ExtraContentCfg(flags)
Definition: JETM4.py:124
python.JetRecConfig.JetRecCfg
def JetRecCfg(flags, jetdef, returnConfiguredDef=False)
Top level functions returning ComponentAccumulator out of JetDefinition.
Definition: JetRecConfig.py:36
python.JETM4.JETM4SkimmingToolCfg
def JETM4SkimmingToolCfg(flags)
Definition: JETM4.py:11
python.InDetToolsConfig.MuonTrackParticleThinningCfg
def MuonTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:542
python.InDetToolsConfig.TauTrackParticleThinningCfg
def TauTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:553
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.MCTruthCommonConfig.addTruth3ContentToSlimmerTool
def addTruth3ContentToSlimmerTool(slimmer)
Definition: MCTruthCommonConfig.py:466
python.InDetToolsConfig.EgammaTrackParticleThinningCfg
def EgammaTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:593
python.PhysCommonConfig.PhysCommonAugmentationsCfg
def PhysCommonAugmentationsCfg(flags, **kwargs)
Definition: PhysCommonConfig.py:14
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
SlimmingHelper
Definition: SlimmingHelper.py:1
python.HION12.DerivationKernel
DerivationKernel
Definition: HION12.py:66