ATLAS Offline Software
xAODClusterD3PDObject.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from D3PDMakerCoreComps.D3PDObject import make_SGDataVector_D3PDObject
4 from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
5 from D3PDMakerCoreComps.ContainedVectorMultiAssociation import ContainedVectorMultiAssociation
6 from AthenaConfiguration.ComponentFactory import CompFactory
7 
8 D3PD = CompFactory.D3PD
9 
10 
11 xAODClusterD3PDObject = \
12  make_SGDataVector_D3PDObject ('xAOD::CaloClusterContainer',
13  D3PDMakerFlags.ClusterSGKey,
14  'cl_', 'ClusterD3PDObject')
15 
16 
17 xAODClusterD3PDObject.defineBlock (0, 'Kinematics',
18  # EventCommonD3PDMaker
20  WriteE = False,
21  WriteM = False)
22 
23 xAODClusterD3PDObject.defineBlock (0, 'SamplingBasics',
25 
26 xAODClusterD3PDObject.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  ])
40 xAODClusterD3PDObject.defineBlock (
41  1, 'CenterMagMoment',
43  Vars = ['centermag = CENTER_MAG<float:0',
44  ])
45 xAODClusterD3PDObject.defineBlock (
46  1, 'Time',
48  Vars = ['time'])
49 
50 xAODClusterD3PDObject.defineBlock (2, 'SamplingEnergies',
52  EmHadEnergies = False, # don't duplicate this one!
53  SamplingEnergies = True,
54  SamplingEtaPhi = False,
55  WriteRecoStatus = True)
56 
57 xAODClusterD3PDObject.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 
65 CaloCellInCluster = ContainedVectorMultiAssociation (
66  xAODClusterD3PDObject,
68  "cell_",
69  4)
70 
71 CaloCellInCluster.defineBlock (4, 'CellKinematics',
73  WriteE = True, WriteM = False)
74 
75 
76 CaloCellInCluster.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 
88 CaloCellInCluster.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  )
D3PD::ClusterSamplingFillerTool
Block filler tool for EM samplings from a CaloCluster.
Definition: ClusterSamplingFillerTool.h:33
D3PD::AuxDataFillerTool
Copy aux data to D3PD.
Definition: AuxDataFillerTool.h:35
D3PD::CaloCellDetailsFillerTool
Block filler tool for EM samplings from a CaloCluster.
Definition: CaloCellDetailsFillerTool.h:34
D3PD::CaloClusterCellAssociationTool
Associate from a CaloCluster to CaloCell.
Definition: CaloClusterCellAssociationTool.h:34
D3PD::FourMomFillerTool
Block filler tool for a four-momentum.
Definition: FourMomFillerTool.h:56