64 clevel = D3PDMakerFlags.CompressionLevel,
65 autoflush = D3PDMakerFlags.AutoFlush,
66 ExistDataHeader = True, **kw):
67 """Configure algorithm for making a D3PD tree.
69 Each distinct D3PD tree is make by a separate algorithm.
70 This function is used to configure these algorithms.
74 flags: The configuration flags.
75 name: The name of the algorithm (required).
76 stream: Athena stream for the tuple.
77 file: Name of the file containing the tuple.
78 If it starts with `pool:', then the tree is being emitted
79 into a POOL file. In that case, stream is just the name
81 clevel: Compresson level for the output ROOT file. By default it is
82 controlled by the D3PDMakerFlags.CompressionLevel flag, but
83 can be controlled D3PD-by-D3PD as well.
84 autoflush: Allows overriding the global autoflush setting.
90 name = stream +
'D3PDMaker'
93 if file.startswith (
'pool:'):
98 TuplePath = f
'{file}/{tuplename}'
102 acc.addService (CompFactory.THistSvc (Output = [
103 f
"{stream} DATAFILE='{file}' OPT='RECREATE' CL={clevel}"]))
107 st = CompFactory.AANTupleStream (stream,
108 ExtraRefNames = [
'StreamESD',
112 ExistDataHeader = ExistDataHeader,
113 WriteInputDataHeader =
True,
115 acc.addEventAlgo (st)
117 TuplePath = f
'/{stream}/{tuplename}'
121 acc.addPublicTool (registry)
125 alg = MakerAlg (name, flags, acc,
127 TuplePath = TuplePath,