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

Functions

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

Variables

list IDTIDE_AOD_EXCLUDED_AUXDATA

Function Documentation

◆ IDTIDECfg()

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

Definition at line 319 of file IDTIDE.py.

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

◆ IDTIDEKernelCfg()

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

Definition at line 236 of file IDTIDE.py.

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

◆ IDTIDEKernelCommonCfg()

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

Definition at line 35 of file IDTIDE.py.

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

◆ IDTIDEThinningKernelCfg()

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

Definition at line 202 of file IDTIDE.py.

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

◆ ITkTIDEKernelCfg()

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

Definition at line 285 of file IDTIDE.py.

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

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 19 of file IDTIDE.py.