3from D3PDMakerCoreComps.D3PDObject
import make_SGDataVector_D3PDObject
4from D3PDMakerConfig.D3PDMakerFlags
import D3PDMakerFlags
5from D3PDMakerCoreComps.ContainedVectorMultiAssociation
import ContainedVectorMultiAssociation
6from AthenaConfiguration.ComponentFactory
import CompFactory
11xAODClusterD3PDObject = \
12 make_SGDataVector_D3PDObject (
'xAOD::CaloClusterContainer',
13 D3PDMakerFlags.ClusterSGKey,
14 'cl_',
'ClusterD3PDObject')
17xAODClusterD3PDObject.defineBlock (0,
'Kinematics',
23xAODClusterD3PDObject.defineBlock (0,
'SamplingBasics',
26xAODClusterD3PDObject.defineBlock (
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',
40xAODClusterD3PDObject.defineBlock (
43 Vars = [
'centermag = CENTER_MAG<float:0',
45xAODClusterD3PDObject.defineBlock (
50xAODClusterD3PDObject.defineBlock (2,
'SamplingEnergies',
52 EmHadEnergies =
False,
53 SamplingEnergies =
True,
54 SamplingEtaPhi =
False,
55 WriteRecoStatus =
True)
57xAODClusterD3PDObject.defineBlock (3,
'SamplingEtaPhi',
59 EmHadEnergies =
False,
60 SamplingEnergies =
False,
61 SamplingEtaPhi =
True,
62 WriteRecoStatus =
False)
65CaloCellInCluster = ContainedVectorMultiAssociation (
66 xAODClusterD3PDObject,
71CaloCellInCluster.defineBlock (4,
'CellKinematics',
73 WriteE =
True, WriteM =
False)
76CaloCellInCluster.defineBlock (5,
'Detail1',
82 SaveBadCellStatus=
False,
84 SavePositionInfo=
False,
88CaloCellInCluster.defineBlock (6,
'Detail2',
90 SaveCellQuality=
False,
94 SaveBadCellStatus=
True,
96 SavePositionInfo=
True,