ATLAS Offline Software
Functions | Variables
python.IDTIDE Namespace Reference

Functions

def IDTIDEKernelCommonCfg (flags, name='IDTIDEKernel')
 
def IDTIDEThinningKernelCfg (flags, name="IDTIDEThinningKernel", StreamName="")
 
def IDTIDEKernelCfg (flags, StreamName="")
 
def ITkTIDEKernelCfg (flags, StreamName="")
 
def IDTIDECfg (flags)
 

Variables

list IDTIDE_AOD_EXCLUDED_AUXDATA
 

Function Documentation

◆ IDTIDECfg()

def python.IDTIDE.IDTIDECfg (   flags)
Main config fragment for IDTIDE

Definition at line 318 of file IDTIDE.py.

318 def IDTIDECfg(flags):
319  """Main config fragment for IDTIDE"""
320  acc = ComponentAccumulator()
321 
322  # Main algorithm (kernel)
323  if flags.Detector.GeometryID:
324  acc.merge(IDTIDEKernelCfg(flags, StreamName='StreamDAOD_IDTIDE'))
325  if flags.Detector.GeometryITk:
326  acc.merge(ITkTIDEKernelCfg(flags, StreamName='StreamDAOD_IDTIDE'))
327 
328  # =============================
329  # Define contents of the format
330  # =============================
331  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
332  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
333  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
334  IDTIDESlimmingHelper = SlimmingHelper(
335  "IDTIDESlimmingHelper",
336  NamesAndTypes=flags.Input.TypedCollections,
337  flags=flags)
338 
339  AllVariables = []
340  StaticContent = []
341  SmartCollections = []
342  ExtraVariables = []
343 
344  IDTIDESlimmingHelper.AppendToDictionary.update({
345  "EventInfo": "xAOD::EventInfo", "EventInfoAux": "xAOD::EventAuxInfo",
346  "CombinedMuonTrackParticles": "xAOD::TrackParticleContainer", "CombinedMuonTrackParticlesAux": "xAOD::TrackParticleAuxContainer",
347  "Muons": "xAOD::MuonContainer", "MuonsAux": "xAOD::MuonAuxContainer",
348  "Electrons": "xAOD::ElectronContainer",
349  "ElectronsAux": "xAOD::ElectronAuxContainer",
350  "Photons": "xAOD::PhotonContainer",
351  "PhotonsAux": "xAOD::PhotonAuxContainer",
352  "JetETMissNeutralParticleFlowObjects": "xAOD::FlowElementContainer",
353  "JetETMissNeutralParticleFlowObjectsAux": "xAOD::FlowElementAuxContainer",
354  "JetETMissChargedParticleFlowObjects": "xAOD::FlowElementContainer",
355  "JetETMissChargedParticleFlowObjectsAux": "xAOD::FlowElementAuxContainer",
356  "TauJets": "xAOD::TauJetContainer",
357  "TauJetsAux": "xAOD::TauJetAuxContainer",
358  "InDetTrackParticles": "xAOD::TrackParticleContainer",
359  "InDetTrackParticlesAux": "xAOD::TrackParticleAuxContainer",
360  "InDetLargeD0TrackParticles": "xAOD::TrackParticleContainer",
361  "InDetLargeD0TrackParticlesAux": "xAOD::TrackParticleAuxContainer",
362  "Kt4EMTopoOriginEventShape": "xAOD::EventShape",
363  "Kt4EMTopoOriginEventShapeAux": "xAOD::EventShapeAuxInfo",
364  "Kt4LCTopoOriginEventShape": "xAOD::EventShape",
365  "Kt4LCTopoOriginEventShapeAux": "xAOD::EventShapeAuxInfo",
366  "NeutralParticleFlowIsoCentralEventShape": "xAOD::EventShape",
367  "NeutralParticleFlowIsoCentralEventShapeAux": "xAOD::EventShapeAuxInfo",
368  "NeutralParticleFlowIsoForwardEventShape": "xAOD::EventShape",
369  "NeutralParticleFlowIsoForwardEventShapeAux": "xAOD::EventShapeAuxInfo",
370  "TopoClusterIsoCentralEventShape": "xAOD::EventShape",
371  "TopoClusterIsoCentralEventShapeAux": "xAOD::EventShapeAuxInfo",
372  "TopoClusterIsoForwardEventShape": "xAOD::EventShape",
373  "TopoClusterIsoForwardEventShapeAux": "xAOD::EventShapeAuxInfo"}
374  )
375  if flags.Detector.GeometryID:
376  IDTIDESlimmingHelper.AppendToDictionary.update({
377  "PixelClusters": "xAOD::TrackMeasurementValidationContainer",
378  "PixelClustersAux": "xAOD::TrackMeasurementValidationAuxContainer",
379  "SCT_Clusters": "xAOD::TrackMeasurementValidationContainer",
380  "SCT_ClustersAux": "xAOD::TrackMeasurementValidationAuxContainer"
381  })
382  if flags.Detector.GeometryITk:
383  IDTIDESlimmingHelper.AppendToDictionary.update({
384  "ITkPixelClusters": "xAOD::TrackMeasurementValidationContainer",
385  "ITkPixelClustersAux": "xAOD::TrackMeasurementValidationAuxContainer",
386  "ITkStripClusters": "xAOD::TrackMeasurementValidationContainer",
387  "ITkStripClustersAux": "xAOD::TrackMeasurementValidationAuxContainer"
388  })
389 
390  SmartCollections += ["Muons", "Electrons", "Photons"]
391 
392  AllVariables += ["EventInfo",
393  "JetETMissNeutralParticleFlowObjects",
394  "JetETMissChargedParticleFlowObjects",
395  "InDetTrackParticles",
396  "InDetLargeD0TrackParticles",
397  "PixelClusters",
398  "SCT_Clusters",
399  "Kt4EMTopoOriginEventShape",
400  "Kt4LCTopoOriginEventShape",
401  "NeutralParticleFlowIsoCentralEventShape",
402  "NeutralParticleFlowIsoForwardEventShape",
403  "TopoClusterIsoCentralEventShape",
404  "TopoClusterIsoForwardEventShape",
405  ]
406  if flags.Detector.GeometryID:
407  AllVariables += ["PixelClusters", "SCT_Clusters"]
408  if flags.Detector.GeometryITk:
409  AllVariables += ["ITkPixelClusters", "ITkStripClusters"]
410 
411  IDTIDESlimmingHelper.AppendToDictionary.update({
412  "Kt4EMPFlowEventShape": "xAOD::EventShape",
413  "Kt4EMPFlowEventShapeAux": "xAOD::EventShapeAuxInfo",
414  "PrimaryVertices": "xAOD::VertexContainer",
415  "PrimaryVerticesAux": "xAOD::VertexAuxContainer",
416  "InDetTrackParticlesClusterAssociations": "xAOD::TrackParticleClusterAssociationContainer",
417  "InDetTrackParticlesClusterAssociationsAux": "xAOD::TrackParticleClusterAssociationAuxContainer",
418  "AntiKt4EMTopoJets": "xAOD::JetContainer",
419  "AntiKt4EMTopoJetsAux": "xAOD::JetAuxContainer",
420  "AntiKt4EMPFlowJets": "xAOD::JetContainer",
421  "AntiKt4EMPFlowJetsAux": "xAOD::JetAuxContainer",
422  "BTagging_AntiKt4EMTopo": "xAOD::BTaggingContainer",
423  "BTagging_AntiKt4EMTopoAux": "xAOD::BTaggingAuxContainer",
424  "BTagging_AntiKt4EMPFlow": "xAOD::BTaggingContainer",
425  "BTagging_AntiKt4EMPFlowAux": "xAOD::BTaggingAuxContainer"})
426 
427  ExtraVariables += ["TauJets.ABS_ETA_LEAD_TRACK.ClusterTotalEnergy.ClustersMeanCenterLambda.ClustersMeanEMProbability.ClustersMeanFirstEngDens.ClustersMeanPresamplerFrac.ClustersMeanSecondLambda.EMFRACTIONATEMSCALE_MOVEE3.EMFracFixed.GhostMuonSegmentCount.LeadClusterFrac.NNDecayMode.NNDecayModeProb_1p0n.NNDecayModeProb_1p1n.NNDecayModeProb_1pXn.NNDecayModeProb_3p0n.NNDecayModeProb_3pXn.PFOEngRelDiff.PanTau_DecayModeExtended.TAU_ABSDELTAETA.TAU_ABSDELTAPHI.TAU_SEEDTRK_SECMAXSTRIPETOVERPT.UpsilonCluster.absipSigLeadTrk.chargedFELinks.etHotShotDR1.etHotShotDR1OverPtLeadTrk.etHotShotWin.etHotShotWinOverPtLeadTrk.etaCombined.hadLeakFracFixed.leadTrackProbHT.mCombined.mu.nConversionTracks.nFakeTracks.nModifiedIsolationTracks.nVtxPU.neutralFELinks.passThinning.phiCombined.ptCombined.ptIntermediateAxisEM.rho"]
428  ExtraVariables += ["PrimaryVertices.sumPt2.x.y.z"]
429 
430  AllVariables += ["Kt4EMPFlowEventShape",
431  "InDetTrackParticlesClusterAssociations",
432  "AntiKt4EMTopoJets", "AntiKt4EMPFlowJets",
433  "BTagging_AntiKt4EMTopo", "BTagging_AntiKt4EMPFlow"]
434 
435  if flags.Detector.EnablePixel:
436  IDTIDESlimmingHelper.AppendToDictionary.update(
437  {'PixelMSOSs': 'xAOD::TrackStateValidationContainer',
438  'PixelMSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
439  AllVariables += ["PixelMSOSs"]
440 
441  if flags.Detector.EnableSCT:
442  IDTIDESlimmingHelper.AppendToDictionary.update(
443  {'SCT_MSOSs': 'xAOD::TrackStateValidationContainer',
444  'SCT_MSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
445  AllVariables += ["SCT_MSOSs"]
446 
447  if flags.Detector.EnableTRT:
448  IDTIDESlimmingHelper.AppendToDictionary.update(
449  {'TRT_MSOSs': 'xAOD::TrackStateValidationContainer',
450  'TRT_MSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
451  AllVariables += ["TRT_MSOSs"]
452 
453  if flags.Detector.EnableITkPixel:
454  IDTIDESlimmingHelper.AppendToDictionary.update(
455  {'ITkPixelMSOSs': 'xAOD::TrackStateValidationContainer',
456  'ITkPixelMSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
457  AllVariables += ["ITkPixelMSOSs"]
458 
459  if flags.Detector.EnableITkStrip:
460  IDTIDESlimmingHelper.AppendToDictionary.update(
461  {'ITkStripMSOSs': 'xAOD::TrackStateValidationContainer',
462  'ITkStripMSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
463  AllVariables += ["ITkStripMSOSs"]
464 
465  if flags.Input.isMC:
466 
467  IDTIDESlimmingHelper.AppendToDictionary.update({
468  "AntiKt4TruthJets": "xAOD::JetContainer",
469  "AntiKt4TruthJetsAux": "xAOD::JetAuxContainer",
470  "JetInputTruthParticles": "xAOD::TruthParticleContainer",
471  "JetInputTruthParticlesNoWZ": "xAOD::TruthParticleContainer",
472  "TruthEvents": "xAOD::TruthEventContainer",
473  "TruthEventsAux": "xAOD::TruthEventAuxContainer",
474  "TruthParticles": "xAOD::TruthParticleContainer",
475  "TruthParticlesAux": "xAOD::TruthParticleAuxContainer",
476  "egammaTruthParticles": "xAOD::TruthParticleContainer",
477  "egammaTruthParticlesAux": "xAOD::TruthParticleAuxContainer",
478  "MuonTruthParticles": "xAOD::TruthParticleContainer",
479  "MuonTruthParticlesAux": "xAOD::TruthParticleAuxContainer",
480  "LRTegammaTruthParticles": "xAOD::TruthParticleContainer",
481  "LRTegammaTruthParticlesAux": "xAOD::TruthParticleAuxContainer",
482  "TruthVertices": "xAOD::TruthVertexContainer",
483  "TruthVerticesAux": "xAOD::TruthVertexAuxContainer"})
484 
485  AllVariables += ["AntiKt4TruthJets",
486  "JetInputTruthParticles",
487  "JetInputTruthParticlesNoWZ",
488  "TruthEvents",
489  "TruthParticles",
490  "egammaTruthParticles",
491  "MuonTruthParticles",
492  "LRTegammaTruthParticles",
493  "TruthVertices"]
494 
495  list_aux = ["BHadronsFinal", "BHadronsInitial", "BQuarksFinal",
496  "CHadronsFinal", "CHadronsInitial", "CQuarksFinal",
497  "HBosons", "Partons", "TQuarksFinal", "TausFinal",
498  "WBosons", "ZBosons"]
499  for item in list_aux:
500  label = "TruthLabel"+item
501  labelAux = label+"Aux"
502  IDTIDESlimmingHelper.AppendToDictionary.update(
503  {label: "xAOD::TruthParticleContainer",
504  labelAux: "xAOD::TruthParticleAuxContainer"})
505  AllVariables += [label]
506  # End of isMC block
507 
508  # Trigger info is actually stored only when running on data...
509  IDTIDESlimmingHelper.IncludeTriggerNavigation = True
510  IDTIDESlimmingHelper.IncludeAdditionalTriggerContent = True
511 
512  IDTIDESlimmingHelper.AllVariables = AllVariables
513  IDTIDESlimmingHelper.StaticContent = StaticContent
514  IDTIDESlimmingHelper.SmartCollections = SmartCollections
515  IDTIDESlimmingHelper.ExtraVariables = ExtraVariables
516 
517  # Output stream
518  IDTIDEItemList = IDTIDESlimmingHelper.GetItemList()
519  acc.merge(OutputStreamCfg(flags, "DAOD_IDTIDE",
520  ItemList=IDTIDEItemList, AcceptAlgs=["IDTIDEKernel"]))
521  acc.merge(SetupMetaDataForStreamCfg(
522  flags, "DAOD_IDTIDE", AcceptAlgs=["IDTIDEKernel"],
523  createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TriggerMenuMetaData]))
524 
525  return acc

◆ IDTIDEKernelCfg()

def python.IDTIDE.IDTIDEKernelCfg (   flags,
  StreamName = "" 
)
Configure the derivation framework driving algorithm (kernel) for IDTIDE

Definition at line 235 of file IDTIDE.py.

235 def IDTIDEKernelCfg(flags, StreamName=""):
236  """Configure the derivation framework driving algorithm (kernel) for IDTIDE"""
237  acc = ComponentAccumulator()
238 
239  # Sequence for skimming kernel (if running on data) -> PrepDataToxAOD -> IDTIDE kernel
240  # sequence to be used for algorithm which should run before the IDTIDEPresel
241  # Disabled as currently blocks decoration of Z0 and thus crashes thinning
242  IDTIDEPreselSequenceName='IDTIDEPreselSequence'
243  acc.addSequence(seqAND(IDTIDEPreselSequenceName))
244 
245  acc.merge(IDTIDEKernelCommonCfg(flags), sequenceName=IDTIDEPreselSequenceName)
246 
247  # Add decoration with truth parameters if running on simulation
248  # No idea what to do with this
249  # if flags.Input.isMC:
250  # # add track parameter decorations to truth particles but only if the decorations have not been applied already
251  # import InDetPhysValMonitoring.InDetPhysValDecoration
252  # meta_data = InDetPhysValMonitoring.InDetPhysValDecoration.getMetaData()
253  # from AthenaCommon.Logging import logging
254  # logger = logging.getLogger( "DerivationFramework" )
255  # if len(meta_data) == 0 :
256  # truth_track_param_decor_alg = InDetPhysValMonitoring.InDetPhysValDecoration.getInDetPhysValTruthDecoratorAlg()
257  # if InDetPhysValMonitoring.InDetPhysValDecoration.findAlg([truth_track_param_decor_alg.getName()]) == None :
258  # IDTIDESequencePre += truth_track_param_decor_alg
259  # else :
260  # logger.info('Decorator %s already present not adding again.' % (truth_track_param_decor_alg.getName() ))
261  # else :
262  # logger.info('IDPVM decorations to track particles already applied to input file not adding again.')
263 
264  IDTIDEPreselAlgSequenceName='IDTIDEPreselAlgSequence'
265  acc.addSequence(parAND(IDTIDEPreselAlgSequenceName),
266  parentName=IDTIDEPreselSequenceName)
267 
268  from InDetConfig.InDetPrepRawDataToxAODConfig import InDetPrepDataToxAODCfg
269  acc.merge(InDetPrepDataToxAODCfg(flags),
270  sequenceName=IDTIDEPreselAlgSequenceName)
271 
272  IDTIDEPostProcSequenceName='IDTIDEPostProcSequence'
273  acc.addSequence(parAND(IDTIDEPostProcSequenceName),
274  parentName=IDTIDEPreselSequenceName)
275 
276  from DerivationFrameworkInDet.InDetToolsConfig import (
277  DFInDetTSOSKernelCfg)
278  acc.merge(DFInDetTSOSKernelCfg(flags),
279  sequenceName=IDTIDEPostProcSequenceName)
280  acc.merge(IDTIDEThinningKernelCfg(flags, StreamName=StreamName),
281  sequenceName=IDTIDEPostProcSequenceName)
282  return acc
283 

◆ IDTIDEKernelCommonCfg()

def python.IDTIDE.IDTIDEKernelCommonCfg (   flags,
  name = 'IDTIDEKernel' 
)

Definition at line 34 of file IDTIDE.py.

34 def IDTIDEKernelCommonCfg(flags, name='IDTIDEKernel'):
35  acc = ComponentAccumulator()
36 
37  # ====================================================================
38  # AUGMENTATION TOOLS
39  # ====================================================================
40  augmentationTools = []
41 
42  # Add unbiased track parameters to track particles
43  from DerivationFrameworkInDet.InDetToolsConfig import (
44  TrackToVertexWrapperCfg)
45  IDTIDETrackToVertexWrapper = acc.getPrimaryAndMerge(
47  flags, name="IDTIDETrackToVertexWrapper",
48  DecorationPrefix="IDTIDE")
49  )
50  augmentationTools.append(IDTIDETrackToVertexWrapper)
51 
52  from DerivationFrameworkInDet.InDetToolsConfig import (
53  UsedInVertexFitTrackDecoratorCfg)
54  IDTIDEUsedInFitDecorator = acc.getPrimaryAndMerge(
56  augmentationTools.append(IDTIDEUsedInFitDecorator)
57 
58  # @TODO eventually computed for other extra outputs. Possible to come up with a solution to use a common Z0AtPV if there is more than one client ?
59  from DerivationFrameworkInDet.InDetToolsConfig import (
60  TrackParametersAtPVCfg)
61  DFCommonZ0AtPV = acc.getPrimaryAndMerge(TrackParametersAtPVCfg(
62  flags, name="IDTIDE_DFCommonZ0AtPV",
63  Z0SGEntryName="IDTIDEInDetTrackZ0AtPV")
64  )
65  augmentationTools.append(DFCommonZ0AtPV)
66 
67  # ====================================================================
68  # SKIMMING TOOLS
69  #
70  # the list of active triggers for a particular release & menu can be found in the
71  # menu file for example
72  # https://gitlab.cern.ch/atlas/athena/-/blob/24.0/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py
73  # ====================================================================
74  skimmingTools = []
75  if not flags.Input.isMC:
76 
77  sel_jet600 = 'AntiKt4EMPFlowJets.JetConstitScaleMomentum_pt >= 600.*GeV'
78  sel_jet800 = 'AntiKt4EMPFlowJets.JetConstitScaleMomentum_pt >= 800.*GeV'
79  sel_jet1000 = 'AntiKt4EMPFlowJets.JetConstitScaleMomentum_pt >= 1000.*GeV'
80 
81  #Phase1 Calo version of Jet triggers
82  jetA_ph1 = '( HLT_j110_pf_ftf_preselj80_L1jJ60 || HLT_j175_pf_ftf_preselj140_L1jJ90 || HLT_j260_pf_ftf_preselj200_L1jJ125 )'
83  jetC_ph1 = '( HLT_j360_pf_ftf_preselj225_L1jJ160 )'
84  jetD_ph1 = '( HLT_j400_pf_ftf_preselj225_L1jJ160 && !HLT_j460_pf_ftf_preselj225_L1jJ160 )'
85  jetE_ph1 = '( HLT_j460_pf_ftf_preselj225_L1jJ160 )'
86  jetF_ph1 = ' HLT_j460_pf_ftf_preselj225_L1jJ160 '
87  jetG_ph1 = ' HLT_j460_pf_ftf_preselj225_L1jJ160 '
88  jetH_ph1 = ' HLT_j460_pf_ftf_preselj225_L1jJ160 '
89 
90 
91  desd_jetA = f'( HLT_j110_pf_ftf_preselj80_L1J30 || HLT_j175_pf_ftf_preselj140_L1J50 || HLT_j260_pf_ftf_preselj200_L1J75 ) || {jetA_ph1} '
92  desd_jetC = f'( HLT_j360_pf_ftf_preselj225_L1J100 ) || {jetC_ph1} '
93  desd_jetD = f'( HLT_j420_pf_ftf_preselj225_L1J100 && !HLT_j460_pf_ftf_preselj225_L1J100 ) || {jetD_ph1} '
94  desd_jetE = f'( HLT_j460_pf_ftf_preselj225_L1J100 ) || {jetE_ph1} '
95  desd_jetF = \
96  f'(( HLT_j460_pf_ftf_preselj225_L1J100 || {jetF_ph1} ) && count({sel_jet600})>0 && count({sel_jet800})==0 )'
97  desd_jetG = \
98  f'(( HLT_j460_pf_ftf_preselj225_L1J100 || {jetG_ph1} ) && count({sel_jet800})>0 && count({sel_jet1000})==0 )'
99  desd_jetH = f'(( HLT_j460_pf_ftf_preselj225_L1J100 || {jetH_ph1} ) && count({sel_jet1000})>0 )'
100 
101 
102  prescaleA = 20
103  prescaleC = 40
104  prescaleD = 30
105  prescaleE = 20
106  prescaleF = 10
107  prescaleG = 5
108  # prescaleH = 1 Unused
109 
110  from DerivationFrameworkTools.DerivationFrameworkToolsConfig import (
111  xAODStringSkimmingToolCfg,
112  PrescaleToolCfg,
113  FilterCombinationANDCfg,
114  FilterCombinationORCfg)
115 
116  IDTIDE_SkimmingToolA = acc.getPrimaryAndMerge(
117  xAODStringSkimmingToolCfg(flags, name="IDTIDE_SkimmingToolA",
118  expression=desd_jetA))
119  IDTIDE_PrescaleToolA = acc.getPrimaryAndMerge(PrescaleToolCfg(
120  flags, name="IDTIDE_PrescaleToolA", Prescale=prescaleA))
121  IDTIDE_ANDToolA = acc.getPrimaryAndMerge(FilterCombinationANDCfg(
122  flags, name="IDTIDE_ANDToolA",
123  FilterList=[IDTIDE_SkimmingToolA, IDTIDE_PrescaleToolA]))
124 
125  IDTIDE_SkimmingToolC = acc.getPrimaryAndMerge(
126  xAODStringSkimmingToolCfg(flags, name="IDTIDE_SkimmingToolC",
127  expression=desd_jetC))
128  IDTIDE_PrescaleToolC = acc.getPrimaryAndMerge(PrescaleToolCfg(
129  flags, name="IDTIDE_PrescaleToolC", Prescale=prescaleC))
130  IDTIDE_ANDToolC = acc.getPrimaryAndMerge(FilterCombinationANDCfg(
131  flags, name="IDTIDE_ANDToolC",
132  FilterList=[IDTIDE_SkimmingToolC, IDTIDE_PrescaleToolC]))
133 
134  IDTIDE_SkimmingToolD = acc.getPrimaryAndMerge(
135  xAODStringSkimmingToolCfg(flags, name="IDTIDE_SkimmingToolD",
136  expression=desd_jetD))
137  IDTIDE_PrescaleToolD = acc.getPrimaryAndMerge(PrescaleToolCfg(
138  flags, name="IDTIDE_PrescaleToolD", Prescale=prescaleD))
139  IDTIDE_ANDToolD = acc.getPrimaryAndMerge(FilterCombinationANDCfg(
140  flags, name="IDTIDE_ANDToolD",
141  FilterList=[IDTIDE_SkimmingToolD, IDTIDE_PrescaleToolD]))
142 
143  IDTIDE_SkimmingToolE = acc.getPrimaryAndMerge(
144  xAODStringSkimmingToolCfg(flags, name="IDTIDE_SkimmingToolE",
145  expression=desd_jetE))
146  IDTIDE_PrescaleToolE = acc.getPrimaryAndMerge(PrescaleToolCfg(
147  flags, name="IDTIDE_PrescaleToolE", Prescale=prescaleE))
148  IDTIDE_ANDToolE = acc.getPrimaryAndMerge(FilterCombinationANDCfg(
149  flags, name="IDTIDE_ANDToolE",
150  FilterList=[IDTIDE_SkimmingToolE, IDTIDE_PrescaleToolE]))
151 
152  IDTIDE_SkimmingToolF = acc.getPrimaryAndMerge(
153  xAODStringSkimmingToolCfg(flags, name="IDTIDE_SkimmingToolF",
154  expression=desd_jetF))
155  IDTIDE_PrescaleToolF = acc.getPrimaryAndMerge(PrescaleToolCfg(
156  flags, name="IDTIDE_PrescaleToolF", Prescale=prescaleF))
157  IDTIDE_ANDToolF = acc.getPrimaryAndMerge(FilterCombinationANDCfg(
158  flags, name="IDTIDE_ANDToolF",
159  FilterList=[IDTIDE_SkimmingToolF, IDTIDE_PrescaleToolF]))
160 
161  IDTIDE_SkimmingToolG = acc.getPrimaryAndMerge(
162  xAODStringSkimmingToolCfg(flags, name="IDTIDE_SkimmingToolG",
163  expression=desd_jetG))
164  IDTIDE_PrescaleToolG = acc.getPrimaryAndMerge(PrescaleToolCfg(
165  flags, name="IDTIDE_PrescaleToolG", Prescale=prescaleG))
166  IDTIDE_ANDToolG = acc.getPrimaryAndMerge(FilterCombinationANDCfg(
167  flags, name="IDTIDE_ANDToolG",
168  FilterList=[IDTIDE_SkimmingToolG, IDTIDE_PrescaleToolG]))
169 
170  IDTIDE_SkimmingToolH = acc.getPrimaryAndMerge(
171  xAODStringSkimmingToolCfg(flags, name="IDTIDE_SkimmingToolH",
172  expression=desd_jetH))
173 
174  IDTIDE_ORTool = acc.getPrimaryAndMerge(FilterCombinationORCfg(
175  flags, name="IDTIDELogicalCombination",
176  FilterList=[IDTIDE_ANDToolA, IDTIDE_ANDToolC, IDTIDE_ANDToolD,
177  IDTIDE_ANDToolE, IDTIDE_ANDToolF,
178  IDTIDE_ANDToolG, IDTIDE_SkimmingToolH]))
179 
180  skimmingTools.append(IDTIDE_ORTool)
181  # End of: if not flags.Input.isMC
182 
183  acc.addEventAlgo(
184  CompFactory.DerivationFramework.DerivationKernel(
185  "IDTIDEKernelPresel", SkimmingTools=skimmingTools))
186 
187  # ====================================================================
188  # CREATE THE DERIVATION KERNEL ALGORITHM AND PASS THE ABOVE TOOLS
189  # ====================================================================
190  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
191  name,
192  AugmentationTools=augmentationTools,
193  SkimmingTools=skimmingTools,
194  ThinningTools=[],
195  RunSkimmingFirst=True,
196  OutputLevel=INFO))
197 
198  return acc
199 
200 

◆ IDTIDEThinningKernelCfg()

def python.IDTIDE.IDTIDEThinningKernelCfg (   flags,
  name = "IDTIDEThinningKernel",
  StreamName = "" 
)

Definition at line 201 of file IDTIDE.py.

201 def IDTIDEThinningKernelCfg(flags, name="IDTIDEThinningKernel", StreamName=""):
202  acc = ComponentAccumulator()
203 
204  # ====================================================================
205  # THINNING TOOLS
206  # ====================================================================
207  thinningTools = []
208 
209  # TrackParticles directly
210  if flags.Detector.GeometryID:
211  from DerivationFrameworkInDet.InDetToolsConfig import (
212  IDTIDEThinningToolCfg)
213  thinningTools.append(acc.getPrimaryAndMerge(
214  IDTIDEThinningToolCfg(flags, StreamName=StreamName)))
215  if flags.Detector.GeometryITk:
216  from DerivationFrameworkInDet.InDetToolsConfig import (
217  ITkTIDEThinningToolCfg)
218  thinningTools.append(acc.getPrimaryAndMerge(
219  ITkTIDEThinningToolCfg(flags, StreamName=StreamName)))
220 
221  # MC truth thinning
222  if flags.Input.isMC:
223  from DerivationFrameworkInDet.InDetToolsConfig import (
224  IDTIDETruthThinningToolCfg)
225  thinningTools.append(acc.getPrimaryAndMerge(
226  IDTIDETruthThinningToolCfg(flags, StreamName=StreamName)))
227 
228  acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(
229  name,
230  AugmentationTools=[],
231  ThinningTools=thinningTools,
232  OutputLevel=INFO))
233  return acc
234 

◆ ITkTIDEKernelCfg()

def python.IDTIDE.ITkTIDEKernelCfg (   flags,
  StreamName = "" 
)
Configure the derivation framework driving algorithm (kernel) for IDTIDE

Definition at line 284 of file IDTIDE.py.

284 def ITkTIDEKernelCfg(flags, StreamName=""):
285  """Configure the derivation framework driving algorithm (kernel) for IDTIDE"""
286  acc = ComponentAccumulator()
287 
288  IDTIDEPreselSequenceName='IDTIDEPreselSequence'
289  acc.addSequence(seqAND(IDTIDEPreselSequenceName))
290 
291  acc.merge(IDTIDEKernelCommonCfg(flags), sequenceName=IDTIDEPreselSequenceName)
292 
293  IDTIDEPreselAlgSequenceName='IDTIDEPreselAlgSequence'
294  acc.addSequence(parAND(IDTIDEPreselAlgSequenceName),
295  parentName=IDTIDEPreselSequenceName)
296 
297  from InDetConfig.InDetPrepRawDataToxAODConfig import ITkPrepDataToxAODCfg
298  acc.merge(ITkPrepDataToxAODCfg(flags),
299  sequenceName=IDTIDEPreselAlgSequenceName)
300 
301  IDTIDEPostProcSequenceName='IDTIDEPostProcSequence'
302  acc.addSequence(parAND(IDTIDEPostProcSequenceName),
303  parentName=IDTIDEPreselSequenceName)
304 
305  # if the flags.Tracking.writeExtendedSi_PRDInfo is enabled
306  # the TSOS_CommonKernelCfg( is scheduled, which would do the same
307  # augemntation as the (DFITkTSOSKernel
308  if not flags.Tracking.writeExtendedSi_PRDInfo:
309  from DerivationFrameworkInDet.InDetToolsConfig import DFITkTSOSKernelCfg
310  acc.merge(DFITkTSOSKernelCfg(flags),
311  sequenceName=IDTIDEPostProcSequenceName)
312  acc.merge(IDTIDEThinningKernelCfg(flags, StreamName=StreamName),
313  sequenceName=IDTIDEPostProcSequenceName)
314  return acc
315 
316 # Main config
317 

Variable Documentation

◆ IDTIDE_AOD_EXCLUDED_AUXDATA

list python.IDTIDE.IDTIDE_AOD_EXCLUDED_AUXDATA
Initial value:
1 = [
2  'TrkBLX', 'TrkBLY', 'TrkBLZ', 'TrkIBLX', 'TrkIBLY', 'TrkIBLZ',
3  'TrkL1X', 'TrkL1Y', 'TrkL1Z', 'TrkL2X', 'TrkL2Y', 'TrkL2Z',
4  'IDTIDE_biased_PVd0Sigma', 'IDTIDE_biased_PVz0Sigma',
5  'IDTIDE_biased_PVz0SigmaSinTheta',
6  'IDTIDE_biased_d0', 'IDTIDE_biased_d0Sigma',
7  'IDTIDE_biased_z0', 'IDTIDE_biased_z0Sigma',
8  'IDTIDE_biased_z0SigmaSinTheta', 'IDTIDE_biased_z0SinTheta',
9  'IDTIDE_unbiased_PVd0Sigma', 'IDTIDE_unbiased_PVz0Sigma',
10  'IDTIDE_unbiased_PVz0SigmaSinTheta',
11  'IDTIDE_unbiased_d0', 'IDTIDE_unbiased_d0Sigma',
12  'IDTIDE_unbiased_z0', 'IDTIDE_unbiased_z0Sigma',
13  'IDTIDE_unbiased_z0SigmaSinTheta', 'IDTIDE_unbiased_z0SinTheta'
14  ]

Definition at line 18 of file IDTIDE.py.

python.InDetPrepRawDataToxAODConfig.InDetPrepDataToxAODCfg
def InDetPrepDataToxAODCfg(flags)
Definition: InDetPrepRawDataToxAODConfig.py:204
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, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
python.IDTIDE.ITkTIDEKernelCfg
def ITkTIDEKernelCfg(flags, StreamName="")
Definition: IDTIDE.py:284
python.DerivationFrameworkToolsConfig.FilterCombinationANDCfg
def FilterCombinationANDCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:59
python.InDetToolsConfig.TrackParametersAtPVCfg
def TrackParametersAtPVCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:399
python.IDTIDE.IDTIDEThinningKernelCfg
def IDTIDEThinningKernelCfg(flags, name="IDTIDEThinningKernel", StreamName="")
Definition: IDTIDE.py:201
python.InDetToolsConfig.DFInDetTSOSKernelCfg
def DFInDetTSOSKernelCfg(flags, name='DFInDetTSOSKernel')
Definition: InDetToolsConfig.py:142
python.IDTIDE.IDTIDEKernelCommonCfg
def IDTIDEKernelCommonCfg(flags, name='IDTIDEKernel')
Definition: IDTIDE.py:34
python.CFElements.seqAND
def seqAND(name, subs=[])
Definition: CFElements.py:25
python.DerivationFrameworkToolsConfig.FilterCombinationORCfg
def FilterCombinationORCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:68
python.InDetToolsConfig.TrackToVertexWrapperCfg
def TrackToVertexWrapperCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:590
python.InDetToolsConfig.IDTIDEThinningToolCfg
def IDTIDEThinningToolCfg(flags, name="IDTIDEThinningTool", **kwargs)
Definition: InDetToolsConfig.py:471
python.DerivationFrameworkToolsConfig.xAODStringSkimmingToolCfg
def xAODStringSkimmingToolCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:29
python.IDTIDE.IDTIDEKernelCfg
def IDTIDEKernelCfg(flags, StreamName="")
Definition: IDTIDE.py:235
python.InDetPrepRawDataToxAODConfig.ITkPrepDataToxAODCfg
def ITkPrepDataToxAODCfg(flags)
Definition: InDetPrepRawDataToxAODConfig.py:222
python.InDetToolsConfig.ITkTIDEThinningToolCfg
def ITkTIDEThinningToolCfg(flags, name="ITkTIDEThinningTool", **kwargs)
Definition: InDetToolsConfig.py:509
python.InDetToolsConfig.IDTIDETruthThinningToolCfg
def IDTIDETruthThinningToolCfg(flags, name="IDTIDETruthThinningTool", **kwargs)
Definition: InDetToolsConfig.py:607
UsedInVertexFitTrackDecoratorConfig.UsedInVertexFitTrackDecoratorCfg
def UsedInVertexFitTrackDecoratorCfg(flags, trackCont='InDetTrackParticles', vtxCont='PrimaryVertices')
Definition: UsedInVertexFitTrackDecoratorConfig.py:32
python.InDetToolsConfig.DFITkTSOSKernelCfg
def DFITkTSOSKernelCfg(flags, name='DFITkTSOSKernel')
Definition: InDetToolsConfig.py:331
python.DerivationFrameworkToolsConfig.PrescaleToolCfg
def PrescaleToolCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:50
python.IDTIDE.IDTIDECfg
def IDTIDECfg(flags)
Definition: IDTIDE.py:318
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
SlimmingHelper
Definition: SlimmingHelper.py:1
python.CFElements.parAND
def parAND(name, subs=[])
Definition: CFElements.py:7