'BeamBackgroundData',
        'bb_', 'BeamBackgroundD3PDObject')

BeamBackgroundD3PDObject.defineBlock(
    0, 'decision', BackgroundD3PDMaker.BeamBackgroundDecisionFillerTool)

ClusterAssoc = ContainedVectorMultiAssociation(
    BeamBackgroundD3PDObject,
    BackgroundD3PDMaker.BeamBackgroundClusterAssociationTool,
    blockname="bbClusterInfo",
    prefix="cl_")

ClusterAssoc.defineBlock(1,
                         "clus",
                         BackgroundD3PDMaker.BeamBackgroundClusterFillerTool,
                         BeamBackgroundKey=DeferArg('sgkey'))

ClusterAssoc.defineBlock(1,
                         'bbClusterKinematics',
                         EventCommonD3PDMaker.FourMomFillerTool,
                         WriteE=False,
                         WriteM=False)
ClusterAssoc.defineBlock(1, 'bbClusterSamplingBasics',
                         CaloD3PDMaker.ClusterSamplingFillerTool)
from CaloD3PDMaker import ClusterMomentFillerTool as CMFT
ClusterAssoc.defineBlock(
    1,
    'bbClusterMoments',
    CMFT,
    Moments=[
        CMFT.FIRST_ENG_DENS, 'firstEdens', CMFT.ENG_FRAC_MAX, 'cellmaxfrac',
# import CaloD3PDMaker
import D3PDMakerCoreComps
import TruthD3PDMaker
import TrackD3PDMaker




PhotonD3PDObject = \
           make_SGDataVector_D3PDObject ('xAOD::PhotonContainer',
                                         D3PDMakerFlags.PhotonSGKey(),
                                         'ph_', 'PhotonD3PDObject')

# AuxPrefix args need to be deferred in order to add in the sgkey.
auxprefix = DeferArg(
    'D3PDMakerFlags.EgammaUserDataPrefix() + "_" +'
    'resolveSGKey (typeName, sgkey) + "_"', globals())

PhotonD3PDObject.defineBlock(0,
                             'Kinematics',
                             EventCommonD3PDMaker.FourMomFillerTool,
                             WriteE=True,
                             WriteEt=True,
                             WriteRect=True)
PhotonD3PDObject.defineBlock(0,
                             'Author',
                             D3PDMakerCoreComps.AuxDataFillerTool,
                             Vars=['author'])
PhotonD3PDObject.defineBlock(0,
                             'Pass',
                             D3PDMakerCoreComps.AuxDataFillerTool,