Example #1
0
#     for the outstreams and uses inclusive only for the collections.
#     Cascading means that the first stream in the list for which an
#     event qualifies gets it. Another exclusive model that has been
#     explored puts all multistream events in a single overlap stream.
#--------------------------------------------------------------

from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream

ToolSvc = Service("ToolSvc")

# Filtered stream 2
Stream2 = AthenaPoolOutputStream("Stream2",
                                 "AthenaPoolMultiTest_NoSplit2.root",
                                 False,
                                 noTag=False)
Stream2.CheckNumberOfWrites = False
# Filtered stream 1
Stream1 = AthenaPoolOutputStream("Stream1",
                                 "AthenaPoolMultiTest_NoSplit1.root",
                                 False,
                                 noTag=False)
Stream1.WritingTool.AttributeListKey = "SimpleTag"
Stream1.WritingTool.SaveDecisions = True
Stream1.CheckNumberOfWrites = False
# Filtered stream 3
Stream3 = AthenaPoolOutputStream("Stream3",
                                 "AthenaPoolMultiTest_NoSplit3.root",
                                 False,
                                 noTag=False)
Stream3.CheckNumberOfWrites = False
# Unfiltered stream
Example #2
0
#     for the outstreams and uses inclusive only for the collections.
#     Cascading means that the first stream in the list for which an
#     event qualifies gets it. Another exclusive model that has been
#     explored puts all multistream events in a single overlap stream.
#--------------------------------------------------------------

from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream

ToolSvc = Service("ToolSvc")

# Filtered stream 2
Stream2 = AthenaPoolOutputStream("Stream2",
                                 "AthenaPoolMultiTest_Split2.root",
                                 False,
                                 noTag=False)
Stream2.CheckNumberOfWrites = False
# Filtered stream 1
Stream1 = AthenaPoolOutputStream("Stream1",
                                 "AthenaPoolMultiTest_Split1.root",
                                 False,
                                 noTag=False)
Stream1.CheckNumberOfWrites = False
# Filtered stream 3
Stream3 = AthenaPoolOutputStream("Stream3",
                                 "AthenaPoolMultiTest_Split3.root",
                                 False,
                                 noTag=False)
Stream3.CheckNumberOfWrites = False
# Events that didn't satisfy any filters
Others = AthenaPoolOutputStream("Others",
                                "AthenaPoolMultiTest_Missed.root",
svcMgr += PoolSvc()
PoolSvc = svcMgr.PoolSvc
PoolSvc.ReadCatalog = ["xmlcatalog_file:EventSplit.xml"]
 
svcMgr.EventSelector.InputCollections =  ["AthenaPoolMultiTest_StreamAll2.root"]

#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
# include stream transform
include( "AthenaPoolMultiTest/ExampleStreamConfig.py" )

from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
# Unfiltered stream
StreamAll = AthenaPoolOutputStream( "StreamAllP", "AthenaPoolMultiTest_Propagate.root", False, noTag=False, decisionFilter="Stream" )
StreamAll.CheckNumberOfWrites = False
StreamAll.WritingTool.AttributeListKey="SimpleTag"
StreamAll.WritingTool.SaveDecisions = False
StreamAll.TakeItemsFromInput = True

#EventInfoTagBuilder.FilterString = "Stream"
#EventInfoTagBuilder.PropagateInput=True

# Add the outputstreams to the execution sequence
#athOutSeq+=StreamAll

#--------------------------------------------------------------
# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL)
#--------------------------------------------------------------
svcMgr.MessageSvc.OutputLevel = INFO
svcMgr.MessageSvc.debugLimit = 5000