ATLAS Offline Software
Functions
python.HIGG1D1 Namespace Reference

Functions

def HIGG1D1KernelCfg (flags, name='HIGG1D1Kernel', **kwargs)
 
def HIGG1D1Cfg (flags)
 

Function Documentation

◆ HIGG1D1Cfg()

def python.HIGG1D1.HIGG1D1Cfg (   flags)

Definition at line 245 of file HIGG1D1.py.

245 def HIGG1D1Cfg(flags):
246 
247  acc = ComponentAccumulator()
248 
249  from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
250  HIGG1D1TriggerListsHelper = TriggerListsHelper(flags)
251 
252  acc.merge(HIGG1D1KernelCfg(flags, name="HIGG1D1Kernel", StreamName = 'StreamDAOD_HIGG1D1', TriggerListsHelper = HIGG1D1TriggerListsHelper))
253 
254 
255  # ============================
256  # Define contents of the format
257  # =============================
258  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
259  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
260  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
261 
262  HIGG1D1SlimmingHelper = SlimmingHelper("HIGG1D1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
263  HIGG1D1SlimmingHelper.SmartCollections = ["EventInfo",
264  "Electrons",
265  "Photons",
266  "Muons",
267  "PrimaryVertices",
268  "InDetTrackParticles",
269  "AntiKt4EMTopoJets",
270  "AntiKt4EMPFlowJets",
271  "BTagging_AntiKt4EMPFlow",
272  "BTagging_AntiKtVR30Rmax4Rmin02Track",
273  "MET_Baseline_AntiKt4EMTopo",
274  "MET_Baseline_AntiKt4EMPFlow",
275  "TauJets",
276  "DiTauJets",
277  "DiTauJetsLowPt",
278  "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
279  "AntiKtVR30Rmax4Rmin02PV0TrackJets"]
280 
281  excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
282  StaticContent = []
283  StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
284  StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
285  StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
286  StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
287  StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
288  StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
289 
290  HIGG1D1SlimmingHelper.StaticContent = StaticContent
291 
292  # Trigger content
293  HIGG1D1SlimmingHelper.IncludeTriggerNavigation = False
294  HIGG1D1SlimmingHelper.IncludeJetTriggerContent = False
295  HIGG1D1SlimmingHelper.IncludeMuonTriggerContent = False
296  HIGG1D1SlimmingHelper.IncludeEGammaTriggerContent = False
297  HIGG1D1SlimmingHelper.IncludeTauTriggerContent = False
298  HIGG1D1SlimmingHelper.IncludeEtMissTriggerContent = False
299  HIGG1D1SlimmingHelper.IncludeBJetTriggerContent = False
300  HIGG1D1SlimmingHelper.IncludeBPhysTriggerContent = False
301  HIGG1D1SlimmingHelper.IncludeMinBiasTriggerContent = False
302 
303  # Truth containers
304  if flags.Input.isMC:
305  HIGG1D1SlimmingHelper.AppendToDictionary = {
306  'TruthEvents':'xAOD::TruthEventContainer',
307  'TruthEventsAux':'xAOD::TruthEventAuxContainer',
308  'MET_Truth':'xAOD::MissingETContainer',
309  'MET_TruthAux':'xAOD::MissingETAuxContainer',
310  'TruthElectrons':'xAOD::TruthParticleContainer',
311  'TruthElectronsAux':'xAOD::TruthParticleAuxContainer',
312  'TruthMuons':'xAOD::TruthParticleContainer',
313  'TruthMuonsAux':'xAOD::TruthParticleAuxContainer',
314  'TruthPhotons':'xAOD::TruthParticleContainer',
315  'TruthPhotonsAux':'xAOD::TruthParticleAuxContainer',
316  'TruthTaus':'xAOD::TruthParticleContainer',
317  'TruthTausAux':'xAOD::TruthParticleAuxContainer',
318  'TruthNeutrinos':'xAOD::TruthParticleContainer',
319  'TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer',
320  'TruthBSM':'xAOD::TruthParticleContainer',
321  'TruthBSMAux':'xAOD::TruthParticleAuxContainer',
322  'TruthBoson':'xAOD::TruthParticleContainer',
323  'TruthBosonAux':'xAOD::TruthParticleAuxContainer',
324  'TruthTop':'xAOD::TruthParticleContainer',
325  'TruthTopAux':'xAOD::TruthParticleAuxContainer',
326  'TruthForwardProtons':'xAOD::TruthParticleContainer',
327  'TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer',
328  'BornLeptons':'xAOD::TruthParticleContainer',
329  'BornLeptonsAux':'xAOD::TruthParticleAuxContainer',
330  'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer',
331  'TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
332  'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer',
333  'TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
334  'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer',
335  'TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
336  'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer',
337  'TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
338  'TruthHFWithDecayParticles':'xAOD::TruthParticleContainer',
339  'TruthHFWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
340  'TruthHFWithDecayVertices':'xAOD::TruthVertexContainer',
341  'TruthHFWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
342  'TruthCharm':'xAOD::TruthParticleContainer',
343  'TruthCharmAux':'xAOD::TruthParticleAuxContainer',
344  'TruthPrimaryVertices':'xAOD::TruthVertexContainer',
345  'TruthPrimaryVerticesAux':'xAOD::TruthVertexAuxContainer'
346  }
347 
348  from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
349  addTruth3ContentToSlimmerTool(HIGG1D1SlimmingHelper)
350  HIGG1D1SlimmingHelper.AllVariables += ["TruthHFWithDecayParticles",
351  "TruthHFWithDecayVertices",
352  "TruthCharm",
353  "TruthPileupParticles",
354  "InTimeAntiKt4TruthJets",
355  "OutOfTimeAntiKt4TruthJets",
356  "AntiKt4TruthDressedWZJets",
357  "AntiKt4TruthWZJets",
358  "TruthEvents",
359  "TruthPrimaryVertices",
360  "TruthVertices",
361  "TruthParticles"]
362 
363  HIGG1D1SlimmingHelper.ExtraVariables += ["Electrons.TruthLink",
364  "Muons.TruthLink",
365  "Photons.TruthLink",
366  "AntiKt4EMTopoJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
367  "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.ConeExclBHadronsFinal.ConeExclCHadronsFinal.GhostBHadronsFinal.GhostCHadronsFinal.GhostBHadronsFinalCount.GhostBHadronsFinalPt.GhostCHadronsFinalCount.GhostCHadronsFinalPt",
368  "TruthPrimaryVertices.t.x.y.z",
369  "EventInfo.DFCommonJetsCustomVtx_eventClean_LooseBad.DFCommonJetsCustomVtx_eventClean_TightBad.hardScatterVertexLink.timeStampNSOffset",
370  "TauJets.dRmax.etOverPtLeadTrk"]
371  if flags.Reco.EnableTrigger:
372  HIGG1D1SlimmingHelper.ExtraVariables += [
373  "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET.ex.ey",
374  "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht.ex.ey"
375  ]
376 
377  # Additional content for HIGG1D1
378  HIGG1D1SlimmingHelper.AppendToDictionary.update({
379  "AntiKt4EMPFlowCustomVtxJets": "xAOD::JetContainer",
380  "AntiKt4EMPFlowCustomVtxJetsAux":"xAOD::JetAuxContainer",
381  "METAssoc_AntiKt4EMPFlowCustomVtx": "xAOD::MissingETAssociationMap",
382  "METAssoc_AntiKt4EMPFlowCustomVtxAux":"xAOD::MissingETAuxAssociationMap",
383  "MET_Core_AntiKt4EMPFlowCustomVtx": "xAOD::MissingETContainer",
384  "MET_Core_AntiKt4EMPFlowCustomVtxAux":"xAOD::MissingETAuxContainer",
385  "HggPrimaryVertices":"xAOD::VertexContainer",
386  "HggPrimaryVerticesAux":"xAOD::ShallowAuxContainer",
387  "Kt4EMPFlowCustomVtxEventShape":"xAOD::EventShape",
388  "Kt4EMPFlowCustomVtxEventShapeAux":"xAOD::EventShapeAuxInfo",
389  "Kt4EMPFlowEventShape":"xAOD::EventShape",
390  "Kt4EMPFlowEventShapeAux":"xAOD::EventShapeAuxInfo",
391  "ZeeRefittedPrimaryVertices":"xAOD::VertexContainer",
392  "ZeeRefittedPrimaryVerticesAux":"xAOD::VertexAuxContainer",
393  "AFPSiHitContainer":"xAOD::AFPSiHitContainer",
394  "AFPSiHitContainerAux":"xAOD::AFPSiHitAuxContainer",
395  "AFPToFHitContainer":"xAOD::AFPToFHitContainer",
396  "AFPToFHitContainerAux":"xAOD::AFPToFHitAuxContainer",
397  "AFPVertexContainer":"xAOD::AFPVertexContainer",
398  "AFPVertexContainerAux":"xAOD::AFPVertexAuxContainer",
399  "AFPToFTrackContainer":"xAOD::AFPToFTrackContainer",
400  "AFPToFTrackContainerAux":"xAOD::AFPToFTrackAuxContainer",
401  "BTagging_AntiKt4EMPFlowCustomVtx":"xAOD::BTaggingContainer",
402  "BTagging_AntiKt4EMPFlowCustomVtxAux":"xAOD::BTaggingAuxContainer"
403  })
404 
405  HIGG1D1SlimmingHelper.AllVariables += [
406  "HggPrimaryVertices",
407  "ZeeRefittedPrimaryVertices",
408  "AntiKt4EMPFlowCustomVtxJets",
409  "Kt4EMPFlowCustomVtxEventShape",
410  "Kt4EMPFlowEventShape",
411  "METAssoc_AntiKt4EMPFlowCustomVtx",
412  "MET_Core_AntiKt4EMPFlowCustomVtx"
413  ]
414 
415  # Add AFP information
416  HIGG1D1SlimmingHelper.AllVariables += ["AFPSiHitContainer",
417  "AFPToFHitContainer",
418  "AFPVertexContainer",
419  "AFPToFTrackContainer"]
420  # Add Btagging information
421  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent,BTaggingXbbContent
422  HIGG1D1SlimmingHelper.ExtraVariables += BTaggingStandardContent("AntiKt4EMPFlowCustomVtxJets", flags)
423  HIGG1D1SlimmingHelper.ExtraVariables += BTaggingStandardContent("AntiKt4EMPFlowJets", flags)
424  HIGG1D1SlimmingHelper.ExtraVariables += BTaggingXbbContent("AntiKt4EMPFlowCustomVtxJets", flags)
425  HIGG1D1SlimmingHelper.ExtraVariables += BTaggingXbbContent("AntiKt4EMPFlowJets", flags)
426 
427  # is this really needed given Photons are in the AllVariables list ?
428  from DerivationFrameworkEGamma.PhotonsCPDetailedContent import PhotonsCPDetailedContent
429  HIGG1D1SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
430 
431 
432  # Add the variables for Gain and Cluster energy
433  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import (
434  getGainDecorations, getClusterEnergyPerLayerDecorations )
435  gainDecorations = getGainDecorations(acc, flags, 'HIGG1D1Kernel')
436  HIGG1D1SlimmingHelper.ExtraVariables.extend(gainDecorations)
437  clusterEnergyDecorations = getClusterEnergyPerLayerDecorations(
438  acc, 'HIGG1D1Kernel' )
439  HIGG1D1SlimmingHelper.ExtraVariables.extend(clusterEnergyDecorations)
440 
441  # Add HTXS variables
442  HIGG1D1SlimmingHelper.ExtraVariables.extend(["EventInfo.HTXS_prodMode",
443  "EventInfo.HTXS_errorCode",
444  "EventInfo.HTXS_Stage0_Category",
445  "EventInfo.HTXS_Stage1_Category_pTjet25",
446  "EventInfo.HTXS_Stage1_Category_pTjet30",
447  "EventInfo.HTXS_Stage1_FineIndex_pTjet30",
448  "EventInfo.HTXS_Stage1_FineIndex_pTjet25",
449  "EventInfo.HTXS_Stage1_2_Category_pTjet25",
450  "EventInfo.HTXS_Stage1_2_Category_pTjet30",
451  "EventInfo.HTXS_Stage1_2_FineIndex_pTjet30",
452  "EventInfo.HTXS_Stage1_2_FineIndex_pTjet25",
453  "EventInfo.HTXS_Stage1_2_Fine_Category_pTjet25",
454  "EventInfo.HTXS_Stage1_2_Fine_Category_pTjet30",
455  "EventInfo.HTXS_Stage1_2_Fine_FineIndex_pTjet30",
456  "EventInfo.HTXS_Stage1_2_Fine_FineIndex_pTjet25",
457  "EventInfo.HTXS_Njets_pTjet25",
458  "EventInfo.HTXS_Njets_pTjet30",
459  "EventInfo.HTXS_isZ2vvDecay",
460  "EventInfo.HTXS_Higgs_eta",
461  "EventInfo.HTXS_Higgs_m",
462  "EventInfo.HTXS_Higgs_phi",
463  "EventInfo.HTXS_Higgs_pt",
464  "EventInfo.HTXS_V_jets30_eta",
465  "EventInfo.HTXS_V_jets30_m",
466  "EventInfo.HTXS_V_jets30_phi",
467  "EventInfo.HTXS_V_jets30_pt",
468  "EventInfo.HTXS_V_pt"])
469 
470  # Add variables from MaxCell decorator and PhotonPointing decorator
471  HIGG1D1SlimmingHelper.ExtraVariables.extend(["Electrons.maxEcell_time",
472  "Electrons.maxEcell_energy",
473  "Electrons.maxEcell_gain",
474  "Electrons.maxEcell_onlId",
475  "Photons.maxEcell_time",
476  "Photons.maxEcell_energy",
477  "Photons.maxEcell_gain",
478  "Photons.maxEcell_onlId",
479  "Photons.zvertex"])
480  # Add TTVA variables
481  HIGG1D1SlimmingHelper.ExtraVariables.extend(["InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights.TTVA_AMVFVertices_forReco.TTVA_AMVFWeights_forReco.TTVA_AMVFVertices_forHiggs.TTVA_AMVFWeights_forHiggs.eProbabilityHT.numberOfTRTHits.numberOfTRTOutliers"])
482 
483  # Trigger content
484  HIGG1D1SlimmingHelper.IncludeTriggerNavigation = False
485  HIGG1D1SlimmingHelper.IncludeJetTriggerContent = False
486  HIGG1D1SlimmingHelper.IncludeMuonTriggerContent = False
487  HIGG1D1SlimmingHelper.IncludeEGammaTriggerContent = False
488  HIGG1D1SlimmingHelper.IncludeTauTriggerContent = False
489  HIGG1D1SlimmingHelper.IncludeEtMissTriggerContent = False
490  HIGG1D1SlimmingHelper.IncludeBJetTriggerContent = False
491  HIGG1D1SlimmingHelper.IncludeBPhysTriggerContent = False
492  HIGG1D1SlimmingHelper.IncludeMinBiasTriggerContent = False
493 
494  # Trigger matching
495  # Run 2
496  if flags.Trigger.EDMVersion == 2:
497  from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
498  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = HIGG1D1SlimmingHelper,
499  OutputContainerPrefix = "TrigMatch_",
500  TriggerList = HIGG1D1TriggerListsHelper.Run2TriggerNamesTau)
501  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = HIGG1D1SlimmingHelper,
502  OutputContainerPrefix = "TrigMatch_",
503  TriggerList = HIGG1D1TriggerListsHelper.Run2TriggerNamesNoTau)
504  # Run 3, or Run 2 with navigation conversion
505  if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
506  from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
508 
509  # Output stream
510  HIGG1D1ItemList = HIGG1D1SlimmingHelper.GetItemList()
511  acc.merge(OutputStreamCfg(flags, "DAOD_HIGG1D1", ItemList=HIGG1D1ItemList, AcceptAlgs=["HIGG1D1Kernel"]))
512  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_HIGG1D1", AcceptAlgs=["HIGG1D1Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
513 
514  return acc

◆ HIGG1D1KernelCfg()

def python.HIGG1D1.HIGG1D1KernelCfg (   flags,
  name = 'HIGG1D1Kernel',
**  kwargs 
)
Configure the derivation framework driving algorithm (kernel) for HIGG1D1

Definition at line 15 of file HIGG1D1.py.

15 def HIGG1D1KernelCfg(flags, name='HIGG1D1Kernel', **kwargs):
16  """Configure the derivation framework driving algorithm (kernel) for HIGG1D1"""
17  acc = ComponentAccumulator()
18 
19  # Common augmentations
20  from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
21  acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs['TriggerListsHelper']))
22 
23  # Diphoton Vertex creation
24  from DerivationFrameworkHiggs.HIGG1D1CustomVertexConfig import ZeeVertexRefitterCfg, DiPhotonVertexCfg
25  from DerivationFrameworkHiggs.HIGG1D1CustomJetsConfig import HIGG1D1CustomJetsCfg, HIGG1D1CustomJetsCleaningCfg
26  acc.merge(ZeeVertexRefitterCfg(flags))
27  acc.merge(DiPhotonVertexCfg(flags))
28 
29  #CustomJetsConfig
30  acc.merge(HIGG1D1CustomJetsCfg(flags))
31  acc.merge(HIGG1D1CustomJetsCleaningCfg(flags))
32 
33  # Reorder event cleaning / decoration locking to run at this
34  # point in the algorithm sequence.
35  # See comments in JetCommonConfig.AddEventCleanFlagsCfg.
36  seq = acc.getSequence('AthAlgSeq')
37  cleanSeqs = [acc.getSequence ('EventCleanSeq'),
38  acc.getSequence ('EventCleanLockSeq')]
39  seq.Members = [a for a in seq.Members if a not in cleanSeqs] + cleanSeqs
40 
41  from DerivationFrameworkFlavourTag.FtagDerivationConfig import FtagJetCollectionsCfg
42  acc.merge(FtagJetCollectionsCfg(flags, ['AntiKt4EMPFlowCustomVtxJets'], ['HggPrimaryVertices'], trackAugmenterPrefix='btagIpHgg_'))
43 
44  #Custom MET
45  from DerivationFrameworkJetEtMiss.METCommonConfig import METCustomVtxCfg
46  acc.merge(METCustomVtxCfg(flags, 'HggPrimaryVertices', 'AntiKt4EMPFlowCustomVtx', 'CHSGCustomVtxParticleFlowObjects'))
47 
48  # Thinning tools...
49  from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg, MuonTrackParticleThinningCfg, TauTrackParticleThinningCfg, DiTauTrackParticleThinningCfg
50  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import GenericTruthThinningCfg
51  from DerivationFrameworkTools.DerivationFrameworkToolsConfig import GenericObjectThinningCfg
52 
53  thinningTools = []
54 
55  # Truth thinning
56  if flags.Input.isMC:
57  truth_conditions = ["((abs(TruthParticles.pdgId) >= 23) && (abs(TruthParticles.pdgId) <= 25))", # W, Z and Higgs
58  "((abs(TruthParticles.pdgId) >= 11) && (abs(TruthParticles.pdgId) <= 16))", # Leptons
59  "((abs(TruthParticles.pdgId) == 6))", # Top quark
60  "((abs(TruthParticles.pdgId) == 22) && (TruthParticles.pt > 1*GeV))", # Photon
61  "(abs(TruthParticles.pdgId) >= 1000000)", # BSM
62  "(TruthParticles.status == 1 && TruthParticles.barcode < 200000)"] # stable particles
63  truth_expression = f'({" || ".join(truth_conditions)})'
64 
65  HIGG1D1GenericTruthThinningTool = acc.getPrimaryAndMerge(GenericTruthThinningCfg(
66  flags,
67  name = "HIGG1D1GenericTruthThinningTool",
68  StreamName = kwargs['StreamName'],
69  ParticleSelectionString = truth_expression,
70  PreserveDescendants = False,
71  PreserveGeneratorDescendants = True,
72  PreserveAncestors = True))
73  thinningTools.append(HIGG1D1GenericTruthThinningTool)
74 
75  # Inner detector group recommendations for indet tracks in analysis
76  # https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/DaodRecommendations
77  HIGG1D1_thinning_expression = "InDetTrackParticles.DFCommonTightPrimary && \
78  abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 3.0*mm && \
79  InDetTrackParticles.pt > 10*GeV"
80  HIGG1D1TrackParticleThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
81  flags,
82  name = "HIGG1D1TrackParticleThinningTool",
83  StreamName = kwargs['StreamName'],
84  SelectionString = HIGG1D1_thinning_expression,
85  InDetTrackParticlesKey = "InDetTrackParticles"))
86 
87  # Include inner detector tracks associated with muons
88  HIGG1D1MuonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(
89  flags,
90  name = "HIGG1D1MuonTPThinningTool",
91  StreamName = kwargs['StreamName'],
92  MuonKey = "Muons",
93  InDetTrackParticlesKey = "InDetTrackParticles"))
94 
95  # Only keep tau tracks (and associated ID tracks) classified as charged tracks
96  HIGG1D1TauTPThinningTool = acc.getPrimaryAndMerge(TauTrackParticleThinningCfg(
97  flags,
98  name = "HIGG1D1TauTPThinningTool",
99  StreamName = kwargs['StreamName'],
100  TauKey = "TauJets",
101  InDetTrackParticlesKey = "InDetTrackParticles",
102  DoTauTracksThinning = True,
103  TauTracksKey = "TauTracks"))
104 
105  # ID tracks associated with high-pt di-tau
106  HIGG1D1DiTauTPThinningTool = acc.getPrimaryAndMerge(DiTauTrackParticleThinningCfg(
107  flags,
108  name = "HIGG1D1DiTauTPThinningTool",
109  StreamName = kwargs['StreamName'],
110  DiTauKey = "DiTauJets",
111  InDetTrackParticlesKey = "InDetTrackParticles"))
112 
113 
114  HIGG1D1DiTauLowPtThinningTool = acc.getPrimaryAndMerge(GenericObjectThinningCfg(flags,
115  name = "PHYSDiTauLowPtThinningTool",
116  StreamName = kwargs['StreamName'],
117  ContainerName = "DiTauJetsLowPt",
118  SelectionString = "DiTauJetsLowPt.nSubjets > 1"))
119 
120  # ID tracks associated with low-pt ditau
121  HIGG1D1DiTauLowPtTPThinningTool = acc.getPrimaryAndMerge(DiTauTrackParticleThinningCfg(flags,
122  name = "PHYSDiTauLowPtTPThinningTool",
123  StreamName = kwargs['StreamName'],
124  DiTauKey = "DiTauJetsLowPt",
125  InDetTrackParticlesKey = "InDetTrackParticles",
126  SelectionString = "DiTauJetsLowPt.nSubjets > 1"))
127 
128 
129  # SkimmingTool
130  from DerivationFrameworkHiggs.SkimmingToolHIGG1Config import SkimmingToolHIGG1Cfg
131 
132  # Requires something in this list of triggers
133  SkipTriggerRequirement = (flags.Input.isMC and float(flags.Beam.Energy) == 4000000.0) or not flags.Reco.EnableTrigger
134  # 8 TeV MC does not have trigger information
135  print("HIGG1D1.py SkipTriggerRequirement", SkipTriggerRequirement)
136  TriggerExp = []
137  if not SkipTriggerRequirement:
138  if float(flags.Beam.Energy) == 4000000.0:
139  # 8 TeV data
140  TriggerExp = ["EF_g35_loose_g25_loose"]
141  if float(flags.Beam.Energy) == 6500000.0:
142  # 13 TeV MC
143  TriggerExp = ["HLT_g35_medium_g25_medium",
144  "HLT_g35_medium_g25_medium_L12EM20VH",
145  "HLT_g35_medium_g25_medium_L12EM15VH",
146  "HLT_g35_loose_g25_loose",
147  "HLT_g35_loose_g25_loose_L12EM15VH",
148  "HLT_g120_loose",
149  "HLT_g140_loose",
150  "HLT_3g20_loose",
151  "HLT_3g15_loose",
152  "HLT_2g6_tight_icalotight_L1J50",
153  "HLT_2g6_tight_icalotight_L1J100",
154  "HLT_2g6_loose_L1J50",
155  "HLT_2g6_loose_L1J100",
156  "HLT_2g50_loose",
157  "HLT_2g25_tight_L12EM20VH",
158  "HLT_2g25_loose_g15_loose",
159  "HLT_2g22_tight",
160  "HLT_2g22_tight_L12EM15VHI",
161  "HLT_2g22_tight_icalovloose",
162  "HLT_2g22_tight_icalovloose_L12EM15VHI",
163  "HLT_2g22_tight_icalotight_L12EM15VHI",
164  "HLT_2g20_tight",
165  "HLT_2g20_tight_icalovloose_L12EM15VHI",
166  "HLT_2g20_tight_icalotight_L12EM15VHI",
167  "HLT_2g20_loose",
168  "HLT_2g20_loose_L12EM15",
169  "HLT_2g20_loose_g15_loose",
170  "HLT_2g50_loose_L12EM20VH"
171  ]
172  if float(flags.Beam.Energy) == 6800000.0:
173  # 13.6 TeV
174  TriggerExp = ["HLT_g35_medium_g25_medium_L12EM20VH",
175  "HLT_g35_medium_g25_medium_L12eEM24L",
176  "HLT_g140_loose_L1EM22VHI",
177  "HLT_g140_loose_L1eEM26M"
178  "HLT_g120_loose_L1EM22VHI",
179  "HLT_g120_loose_L1eEM26M",
180  "HLT_2g9_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM9",
181  "HLT_2g9_loose_25dphiAA_invmAA80_L12EM7",
182  "HLT_2g50_loose_L12EM20VH",
183  "HLT_2g50_loose_L12eEM24L",
184  "HLT_2g25_loose_g15_loose_L12EM20VH",
185  "HLT_2g25_loose_g15_loose_L12eEM24L",
186  "HLT_2g22_tight_L12EM15VHI",
187  "HLT_2g22_tight_L12eEM18M",
188  "HLT_2g20_tight_icaloloose_L12EM15VHI",
189  "HLT_2g20_tight_icaloloose_L12eEM18M",
190  "HLT_2g20_loose_L12EM15VH",
191  "HLT_2g20_loose_L12eEM18L",
192  "HLT_2g15_tight_L1DPHI-M70-2eEM15M",
193  "HLT_2g15_tight_25dphiAA_L1DPHI-M70-2eEM15M",
194  "HLT_2g15_tight_25dphiAA_L12EM7",
195  "HLT_2g15_tight_25dphiAA_invmAA80_L12EM7",
196  "HLT_2g15_loose_25dphiAA_invmAA80_L1DPHI-M70-2eEM15M",
197  "HLT_2g15_loose_25dphiAA_invmAA80_L12EM7",
198  ]
199  print("HIGG1D1.py Skimming Tool Triggers:", ",".join(TriggerExp))
200  skimmingTool = acc.popToolsAndMerge( SkimmingToolHIGG1Cfg(flags,RequireTrigger=not SkipTriggerRequirement,Triggers=TriggerExp) )
201  acc.addPublicTool(skimmingTool)
202 
203 
204  # Finally the kernel itself
205  thinningTools += [HIGG1D1TrackParticleThinningTool,
206  HIGG1D1MuonTPThinningTool,
207  HIGG1D1TauTPThinningTool,
208  HIGG1D1DiTauTPThinningTool,
209  HIGG1D1DiTauLowPtThinningTool,
210  HIGG1D1DiTauLowPtTPThinningTool]
211 
212  augmentationTools = []
213 
214  #====================================================================
215  # Common calo decoration tools
216  #====================================================================
217 
218  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import (
219  CaloDecoratorKernelCfg, ClusterEnergyPerLayerDecoratorCfg)
220  acc.merge(CaloDecoratorKernelCfg(flags))
221 
222  # Adding missing cluster energy decorators
223  cluster_sizes = (3,5), (5,7), (7,7)
224  for neta, nphi in cluster_sizes:
225  cename = "ClusterEnergyPerLayerDecorator_%sx%s" % (neta, nphi)
226  ClusterEnergyPerLayerDecorator = acc.popToolsAndMerge( ClusterEnergyPerLayerDecoratorCfg(flags, neta = neta, nphi=nphi, name=cename ))
227  acc.addPublicTool(ClusterEnergyPerLayerDecorator)
228  augmentationTools.append(ClusterEnergyPerLayerDecorator)
229 
230  #====================================================================
231  # Truth categories decoration tool
232  #====================================================================
233  if flags.Input.isMC:
234  from DerivationFrameworkHiggs.TruthCategoriesConfig import TruthCategoriesDecoratorCfg
235  acc.merge(TruthCategoriesDecoratorCfg(flags, name="TruthCategoriesDecorator"))
236 
237  DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
238  acc.addEventAlgo(DerivationKernel(name,
239  SkimmingTools = [skimmingTool],
240  ThinningTools = thinningTools,
241  AugmentationTools = augmentationTools))
242  return acc
243 
244 
TrigNavSlimmingMTConfig.AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
def AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(slimmingHelper)
Definition: TrigNavSlimmingMTConfig.py:98
python.HIGG1D1.HIGG1D1Cfg
def HIGG1D1Cfg(flags)
Definition: HIGG1D1.py:245
python.HIGG1D1.HIGG1D1KernelCfg
def HIGG1D1KernelCfg(flags, name='HIGG1D1Kernel', **kwargs)
Definition: HIGG1D1.py:15
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.SkimmingToolHIGG1Config.SkimmingToolHIGG1Cfg
def SkimmingToolHIGG1Cfg(ConfigFlags, **kwargs)
Definition: SkimmingToolHIGG1Config.py:7
python.FtagDerivationConfig.FtagJetCollectionsCfg
def FtagJetCollectionsCfg(cfgFlags, jet_cols, pv_cols=None, trackAugmenterPrefix=None)
Definition: FtagDerivationConfig.py:33
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
python.HIGG1D1CustomJetsConfig.HIGG1D1CustomJetsCleaningCfg
def HIGG1D1CustomJetsCleaningCfg(ConfigFlags)
Definition: HIGG1D1CustomJetsConfig.py:229
python.BTaggingContent.BTaggingXbbContent
def BTaggingXbbContent(jetcol, ConfigFlags=None)
Definition: BTaggingContent.py:177
python.InDetToolsConfig.TrackParticleThinningCfg
def TrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:458
python.InDetToolsConfig.DiTauTrackParticleThinningCfg
def DiTauTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:549
python.TriggerMatchingCommonConfig.AddRun2TriggerMatchingToSlimmingHelper
def AddRun2TriggerMatchingToSlimmingHelper(**kwargs)
Definition: TriggerMatchingCommonConfig.py:49
python.HIGG1D1CustomVertexConfig.ZeeVertexRefitterCfg
def ZeeVertexRefitterCfg(flags, name="ZeeVertexRefitKernel")
Definition: HIGG1D1CustomVertexConfig.py:41
python.HIGG1D1CustomJetsConfig.HIGG1D1CustomJetsCfg
def HIGG1D1CustomJetsCfg(ConfigFlags)
Definition: HIGG1D1CustomJetsConfig.py:28
python.BTaggingContent.BTaggingStandardContent
def BTaggingStandardContent(jetcol, ConfigFlags=None)
Definition: BTaggingContent.py:163
python.HIGG1D1CustomVertexConfig.DiPhotonVertexCfg
def DiPhotonVertexCfg(flags)
Definition: HIGG1D1CustomVertexConfig.py:81
python.TruthCategoriesConfig.TruthCategoriesDecoratorCfg
def TruthCategoriesDecoratorCfg(ConfigFlags, name="TruthCategoriesDecorator", **kwargs)
Definition: TruthCategoriesConfig.py:5
python.TruthDerivationToolsConfig.GenericTruthThinningCfg
def GenericTruthThinningCfg(flags, name, **kwargs)
Definition: TruthDerivationToolsConfig.py:401
DerivationFrameworkCaloConfig.ClusterEnergyPerLayerDecoratorCfg
def ClusterEnergyPerLayerDecoratorCfg(flags, **kwargs)
Definition: DerivationFrameworkCaloConfig.py:43
python.DerivationFrameworkToolsConfig.GenericObjectThinningCfg
def GenericObjectThinningCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:20
python.InDetToolsConfig.MuonTrackParticleThinningCfg
def MuonTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:528
python.InDetToolsConfig.TauTrackParticleThinningCfg
def TauTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:539
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
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:462
DerivationFrameworkCaloConfig.CaloDecoratorKernelCfg
def CaloDecoratorKernelCfg(flags, name="CaloDecoratorKernel", **kwargs)
Definition: DerivationFrameworkCaloConfig.py:76
python.METCommonConfig.METCustomVtxCfg
def METCustomVtxCfg(ConfigFlags, vxColl, jetColl, constituentColl)
Definition: METCommonConfig.py:28
DerivationFrameworkCaloConfig.getClusterEnergyPerLayerDecorations
def getClusterEnergyPerLayerDecorations(acc, kernel)
Definition: DerivationFrameworkCaloConfig.py:158
DerivationFrameworkCaloConfig.getGainDecorations
def getGainDecorations(acc, flags, kernel, collections=None, info=["E", "nCells"])
Definition: DerivationFrameworkCaloConfig.py:126
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
readCCLHist.float
float
Definition: readCCLHist.py:83