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