ATLAS Offline Software
Loading...
Searching...
No Matches
xAODClusterD3PDObject.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from D3PDMakerCoreComps.D3PDObject import make_SGDataVector_D3PDObject
4from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
5from D3PDMakerCoreComps.ContainedVectorMultiAssociation import ContainedVectorMultiAssociation
6from AthenaConfiguration.ComponentFactory import CompFactory
7
8D3PD = CompFactory.D3PD
9
10
11xAODClusterD3PDObject = \
12 make_SGDataVector_D3PDObject ('xAOD::CaloClusterContainer',
13 D3PDMakerFlags.ClusterSGKey,
14 'cl_', 'ClusterD3PDObject')
15
16
17xAODClusterD3PDObject.defineBlock (0, 'Kinematics',
18 # EventCommonD3PDMaker
20 WriteE = False,
21 WriteM = False)
22
23xAODClusterD3PDObject.defineBlock (0, 'SamplingBasics',
25
26xAODClusterD3PDObject.defineBlock (
27 1, 'Moments',
29 Vars = ['firstEdens = FIRST_ENG_DENS<float:0',
30 'cellmaxfrac = ENG_FRAC_MAX<float:0',
31 'longitudinal = LONGITUDINAL<float:0',
32 'secondlambda = SECOND_LAMBDA<float:0',
33 'lateral = LATERAL<float:0',
34 'secondR = SECOND_R<float:0',
35 'centerlambda = CENTER_LAMBDA<float:0',
36 'eng_bad_cells = ENG_BAD_CELLS<float:0',
37 'n_bad_cells = N_BAD_CELLS<float:0',
38 'isolation = ISOLATION<float:0',
39 ])
40xAODClusterD3PDObject.defineBlock (
41 1, 'CenterMagMoment',
43 Vars = ['centermag = CENTER_MAG<float:0',
44 ])
45xAODClusterD3PDObject.defineBlock (
46 1, 'Time',
48 Vars = ['time'])
49
50xAODClusterD3PDObject.defineBlock (2, 'SamplingEnergies',
52 EmHadEnergies = False, # don't duplicate this one!
53 SamplingEnergies = True,
54 SamplingEtaPhi = False,
55 WriteRecoStatus = True)
56
57xAODClusterD3PDObject.defineBlock (3, 'SamplingEtaPhi',
59 EmHadEnergies = False, # don't duplicate this one!
60 SamplingEnergies = False, # don't duplicate this one!
61 SamplingEtaPhi = True,
62 WriteRecoStatus = False) # don't duplicate this one!
63
64
65CaloCellInCluster = ContainedVectorMultiAssociation (
66 xAODClusterD3PDObject,
68 "cell_",
69 4)
70
71CaloCellInCluster.defineBlock (4, 'CellKinematics',
73 WriteE = True, WriteM = False)
74
75
76CaloCellInCluster.defineBlock (5, 'Detail1',
78 SaveCellQuality=True,
79 SaveTimeInfo=True,
80 SaveDetInfo=True,
81 SaveCellGain=True,
82 SaveBadCellStatus=False,
83 SaveId =False,
84 SavePositionInfo=False,
85 )
86
87
88CaloCellInCluster.defineBlock (6, 'Detail2',
90 SaveCellQuality=False,
91 SaveTimeInfo=False,
92 SaveDetInfo=False,
93 SaveCellGain=False,
94 SaveBadCellStatus=True,
95 SaveId =True,
96 SavePositionInfo=True,
97 )
Copy aux data to D3PD.
Block filler tool for EM samplings from a CaloCluster.
Associate from a CaloCluster to CaloCell.
Block filler tool for EM samplings from a CaloCluster.
Block filler tool for a four-momentum.