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
list IDTIDE_AOD_EXCLUDED_AUXDATA_TRUTH

Function Documentation

◆ IDTIDECfg()

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

Definition at line 334 of file IDTIDE.py.

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

◆ IDTIDEKernelCfg()

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

Definition at line 238 of file IDTIDE.py.

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

◆ IDTIDEKernelCommonCfg()

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

Definition at line 37 of file IDTIDE.py.

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

◆ IDTIDEThinningKernelCfg()

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

Definition at line 204 of file IDTIDE.py.

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

◆ ITkTIDEKernelCfg()

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

Definition at line 293 of file IDTIDE.py.

293def ITkTIDEKernelCfg(flags, StreamName=""):
294 """Configure the derivation framework driving algorithm (kernel) for IDTIDE"""
295 acc = ComponentAccumulator()
296
297 IDTIDEPreselSequenceName='IDTIDEPreselSequence'
298 acc.addSequence(seqAND(IDTIDEPreselSequenceName))
299
300 acc.merge(IDTIDEKernelCommonCfg(flags), sequenceName=IDTIDEPreselSequenceName)
301
302 IDTIDEPreselAlgSequenceName='IDTIDEPreselAlgSequence'
303 acc.addSequence(parAND(IDTIDEPreselAlgSequenceName),
304 parentName=IDTIDEPreselSequenceName)
305
306 from InDetConfig.InDetPrepRawDataToxAODConfig import ITkPrepDataToxAODCfg
307 acc.merge(ITkPrepDataToxAODCfg(flags),
308 sequenceName=IDTIDEPreselAlgSequenceName)
309
310 IDTIDEPostProcSequenceName='IDTIDEPostProcSequence'
311 acc.addSequence(parAND(IDTIDEPostProcSequenceName),
312 parentName=IDTIDEPreselSequenceName)
313
314 # if the flags.Tracking.writeExtendedSi_PRDInfo is enabled
315 # the TSOS_CommonKernelCfg( is scheduled, which would do the same
316 # augemntation as the (DFITkTSOSKernel
317 if not flags.Tracking.writeExtendedSi_PRDInfo:
318 from DerivationFrameworkInDet.InDetToolsConfig import DFITkTSOSKernelCfg
319 acc.merge(DFITkTSOSKernelCfg(flags),
320 sequenceName=IDTIDEPostProcSequenceName)
321
322 if flags.Input.isMC:
323 from InDetPhysValMonitoring.InDetPhysValDecorationConfig import (
324 InDetPhysValTruthDecoratorAlgCfg)
325 acc.merge(InDetPhysValTruthDecoratorAlgCfg(flags),
326 sequenceName=IDTIDEPostProcSequenceName)
327
328 acc.merge(IDTIDEThinningKernelCfg(flags, StreamName=StreamName),
329 sequenceName=IDTIDEPostProcSequenceName)
330 return acc
331
332# Main config
333

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.

◆ IDTIDE_AOD_EXCLUDED_AUXDATA_TRUTH

list python.IDTIDE.IDTIDE_AOD_EXCLUDED_AUXDATA_TRUTH
Initial value:
1= [
2 'd0', 'z0', 'phi', 'theta', 'z0st', 'qOverP', 'prodR', 'prodZ', 'nSilHits'
3 ]

Definition at line 33 of file IDTIDE.py.