def packDST(self, items):
    """
  Write an RDST in MDF format
  """
    import OnlineEnv
    import Configurables

    seq = Gaudi.GaudiSequencer("WriteMDFSeq")
    # Put store explorer in front.
    #exp = OnlineEnv.storeExplorer(load=1,freq=0.000001)
    #exp.OutputLevel = 1
    #seq.Members += [ exp ]

    # Configure DST packer algorithm
    packer = Configurables.WritePackedDst('MdfPacker')
    packer.Containers += items
    # Now configure the FID updater of DSTAddress
    dstUpdate = OnlineEnv.dstAddressUpdate(name='DstUpdate')
    # Now configure bank merger
    mergeDst = OnlineEnv.evtMerger(buffer='Output',
                                   name='DstMerger',
                                   location='/Event/DAQ/DstEvent',
                                   routing=0x100)
    mergeDst.FIDLocation = '/Event'
    mergeDst.AddFID = 1
    mergeDst.Compress = 0
    # May use compress=2 as well

    seq.Members += [packer, dstUpdate, mergeDst]
    ##print 'Warning: Packing of TES DST data .... commissioned....'
    sys.stdout.flush()
Exemple #2
0
def deferApp(partID, partName, buffers=None, type=None, event_type=None):
    mepMgr = mepManager(partID, partName, buffers)
    mepMgr.HandleSignals = True
    runable = evtRunable(mepMgr)
    if event_type is None:
        evtSel = mbmSelector(input=buffers[0], type=type, decode=False)
    else:
        evtSel = mbmSelector(input=buffers[0],
                             type=type,
                             decode=False,
                             event_type=event_type)
    evtdata = evtDataSvc()
    evtPers = rawPersistencySvc()
    seq = CFG.GaudiSequencer('SendSequence')
    a1 = evtMerger(name="Hlt2Supply",
                   buffer=buffers[1],
                   datatype=MDF_BANKS,
                   silent=True)
    a1.DataType = MDF_BANKS
    a2 = evtMerger(name="DeferSupply", buffer=buffers[2], datatype=MDF_BANKS)
    a2.DataType = MDF_BANKS
    seq.Members = [a1, a2]
    seq.ModeOR = True
    return _application('NONE',
                        extsvc=[monSvc(), mepMgr, evtSel],
                        runable=runable,
                        algs=[seq])