ATLAS Offline Software
Loading...
Searching...
No Matches
HIGG1D1CustomVertexConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5
7 flags, name="HIGG1D1_ZeeVertexRefitterTool", **kwargs):
8 """ PV refitting after removing Z->ee tracks, for vertex studies """
9 acc = ComponentAccumulator()
10
11 import AthenaCommon.SystemOfUnits as Units
12
13 if "PrimaryVertexRefitterTool" not in kwargs:
14 from JpsiUpsilonTools.JpsiUpsilonToolsConfig import (
15 PrimaryVertexRefittingToolCfg)
16 kwargs.setdefault("PrimaryVertexRefitterTool", acc.popToolsAndMerge(
17 PrimaryVertexRefittingToolCfg(flags)))
18
19 kwargs.setdefault("ObjectRequirements", (
20 "(Electrons.DFCommonElectronsLHMedium) && (Electrons.pt > 19.*GeV)"))
21 kwargs.setdefault("LowMassCut", 50*Units.GeV)
22 kwargs.setdefault("RefittedPVContainerName", "ZeeRefittedPrimaryVertices")
23 kwargs.setdefault("MCSamples", [361106, 601189])
24
25 acc.setPrivateTools(
26 CompFactory.DerivationFramework.ZeeVertexRefittingTool(name, **kwargs))
27 return acc
28
29def ZeeVertexRefitterCfg(flags, name="ZeeVertexRefitKernel"):
30 """ PV refitting after removing Z->ee tracks, for vertex studies """
31
32 # Creates a vertex container (ZeeRefittedPrimaryVertices) where the type=1 vertex is refitted
33 # after removing tracks that are associated with Z->ee decay candidates
34 # Tool runs only for data and Zee MC samples (must be defined in the MCSamples list)
35
36 acc = ComponentAccumulator()
37 ZeeVertexRefittingTool = acc.popToolsAndMerge(
39 acc.addPublicTool(ZeeVertexRefittingTool)
40 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
41 name, AugmentationTools=[ZeeVertexRefittingTool]))
42 return acc
43
44def DiphotonVertexDecoratorCfg(flags, **kwargs):
45 acc = ComponentAccumulator()
46
47 kwargs.setdefault("VertexContainer", "PrimaryVertices")
48
49 if "PhotonVertexSelectionTool" not in kwargs:
50 from PhotonVertexSelection.PhotonVertexSelectionConfig import (
51 PhotonVertexSelectionToolCfg)
52 kwargs.setdefault("PhotonVertexSelectionTool", acc.popToolsAndMerge(
53 PhotonVertexSelectionToolCfg(flags, VertexContainer=kwargs["VertexContainer"])))
54
55 acc.setPrivateTools(
56 CompFactory.DerivationFramework.DiphotonVertexDecorator(**kwargs))
57 return acc
58
59def DiPhotonVertexDecoratorKernelCfg(flags, VertexContainer="PrimaryVertices", name="DiphotonVertexKernel"):
60 """ Diphoton vertex decoration tool """
61
62 # Decorator creates a shallow copy of PrimaryVertices (HggPrimaryVertices) for diphoton events
63 # Must be created before the jetalg in the sequence as it is input to the modified PFlow jets
64
65 acc = ComponentAccumulator()
66 DiphotonVertexDecorator = acc.popToolsAndMerge(
67 DiphotonVertexDecoratorCfg(flags, VertexContainer=VertexContainer))
68 acc.addPublicTool(DiphotonVertexDecorator)
69 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
70 name,AugmentationTools=[DiphotonVertexDecorator]))
71 return acc
72
73def DiPhotonVertexCfg(flags, VertexContainer="PrimaryVertices"):
74 from DerivationFrameworkEGamma.EGammaToolsConfig import (
75 PhotonVertexSelectionWrapperKernelCfg)
76 acc = PhotonVertexSelectionWrapperKernelCfg(flags, VertexContainer=VertexContainer)
77 acc.merge(DiPhotonVertexDecoratorKernelCfg(flags, VertexContainer=VertexContainer))
78 return acc
DiPhotonVertexDecoratorKernelCfg(flags, VertexContainer="PrimaryVertices", name="DiphotonVertexKernel")
ZeeVertexRefittingToolCfg(flags, name="HIGG1D1_ZeeVertexRefitterTool", **kwargs)
ZeeVertexRefitterCfg(flags, name="ZeeVertexRefitKernel")
DiPhotonVertexCfg(flags, VertexContainer="PrimaryVertices")