--- /dev/null
+<?xml version="1.0"?>
+
+<!--
+This is example file how HADAQ event building should be configured in DABC.
+Event building process implemented in Combiner module of hadaq::CombinerModule class.
+Module can have several inputs, each with separate port number for receiving data
+from TRB boards. For every input one could configure only UDP port number - host name is ignored.
+First output of combiner module used for delivering data to online analysis (if any).
+Second output can be use to store data in hld files.
+To enable HLD file storage one should specify NumOutputs for Combiner module
+and provide hld file name for Output1 port
+
+ <NumOutputs value="2"/>
+ <OutputPort name="Output1" url="hld://dabc.hld?maxsize=2000"/>
+
+File name fill be extended according to HADAQ naming convention.
+
+By default, HTTP server is enabled. Do disable it, remove <HttpServer> section or
+put <HttpServer name="http" auto="false">. One could change http port number.
+When dabc runs, in any browser address like
+http://your_dabc_host_name:8090 can be opened. At the moment http server provides:
+ - ratemeters from EventBuilder
+ - log fields
+ - commands to start/stop hld files storage from browser
+
+There is well-known problem with using VNC viewer and mbs stream server.
+Both by default are using port 6002. One could change port number for stream server.
+Just set other number in configuration of first output port of combiner module, for instance:
+ <OutputPort name="Output0" url="mbs://Stream:6789?iter=hadaq_iter&subid=0x1f"/>
+In this case one should specify that port number when starting go4 analysis like:
+ [shell] go4analysis -stream dabc_node:6789 -dabc dabc_node:4444
+When starting analysis from the go4 gui, one should specify stream server with port number too.
+
+-->
+
+<dabc version="2">
+ <Context host="localhost" name="EventBuilder">
+ <Run>
+ <lib value="libDabcMbs.so"/>
+ <lib value="libDabcHadaq.so"/>
+ <lib value="libDabcHttp.so"/>
+ <lib value="libDabcRfio.so"/>
+ <logfile value="hadaqevtbuild.log"/>
+ <loglevel value="-1"/>
+ <loglimit value="1000"/>
+ <control value="true"/>
+ <threads_layout value="balanced"/>
+ </Run>
+
+ <HttpServer name="http" port="8090"/>
+
+ <!-- If uncommented, all internal manager structures will be published in the web server -->
+ <!-- Publisher name="publ" manager="true"/ -->
+
+ <!-- If uncommented, profiling will be enabled for all threads -->
+ <!-- Thread name="*" publ="true" prof="true"/ -->
+
+ <MemoryPool name="Pool">
+ <BufferSize value="200000"/>
+ <NumBuffers value="1000"/>
+ </MemoryPool>
+
+ <Module name="Combiner" class="hadaq::CombinerModule">
+ <!-- these parameters will force to create inputs/oputputs of module -->
+ <NumInputs value="13"/>
+ <NumOutputs value="2"/>
+
+ <InputPort name="Input0" url="hadaq://host:49999" thread="UdpThread1"/>
+ <InputPort name="Input1" url="hadaq://host:50000" thread="UdpThread2"/>
+ <InputPort name="Input2" url="hadaq://host:50001" thread="UdpThread3"/>
+ <InputPort name="Input3" url="hadaq://host:50002" thread="UdpThread4"/>
+ <InputPort name="Input4" url="hadaq://host:50003" thread="UdpThread1"/>
+ <InputPort name="Input5" url="hadaq://host:50004" thread="UdpThread2"/>
+ <InputPort name="Input6" url="hadaq://host:50005" thread="UdpThread3"/>
+ <InputPort name="Input7" url="hadaq://host:50006" thread="UdpThread4"/>
+ <InputPort name="Input8" url="hadaq://host:50007" thread="UdpThread1"/>
+ <InputPort name="Input9" url="hadaq://host:50008" thread="UdpThread2"/>
+ <InputPort name="Input10" url="hadaq://host:50009" thread="UdpThread3"/>
+ <InputPort name="Input11" url="hadaq://host:50010" thread="UdpThread4"/>
+ <InputPort name="Input12" url="hadaq://host:50011" thread="UdpThread1"/>
+
+ <InputPort name="Input13" url="hadaq://host:50013" thread="UdpThread2"/>
+ <InputPort name="Input14" url="hadaq://host:50014" thread="UdpThread3"/>
+ <InputPort name="Input15" url="hadaq://host:50015" thread="UdpThread4"/>
+ <InputPort name="Input16" url="hadaq://host:50016" thread="UdpThread1"/>
+ <InputPort name="Input17" url="hadaq://host:50017" thread="UdpThread2"/>
+ <InputPort name="Input18" url="hadaq://host:50018" thread="UdpThread3"/>
+ <InputPort name="Input19" url="hadaq://host:50019" thread="UdpThread4"/>
+ <InputPort name="Input20" url="hadaq://host:50020" thread="UdpThread1"/>
+ <InputPort name="Input21" url="hadaq://host:50021" thread="UdpThread2"/>
+ <InputPort name="Input22" url="hadaq://host:50022" thread="UdpThread3"/>
+
+ <InputPort name="Input*" queue="30" urlopt="udpbuf=200000&mtu=64512&flush=2&observer=false&debug"/>
+
+ <!-- this is stream server for online monitoring, normally always on -->
+ <OutputPort name="Output0" url="mbs://Stream:6789?iter=hadaq_iter&subid=0x1f"/>
+
+ <OutputPort name="Output1" url="hld:///d/may2015/dabc.hld?maxsize=1500"/>
+
+
+ <!-- this is example of HLD file storage - local -->
+ <!--OutputPort name="Output1" url="hld://dabc.hld?maxsize=2000"/-->
+
+ <!-- this is example of HLD file storage - RFIO -->
+ <!--OutputPort name="Output1" url="hld:///linev/path/dabc.hld?maxsize=1900&rfio"/-->
+
+ <!-- when true, extra debug output produced every second -->
+ <ExtraDebug value="false"/>
+
+ <!-- how often output will be flushed -->
+ <FlushTimeout value="2.0"/>
+
+ <!--TriggerNumRange: defines when trigger sequence number wraps. only 16 bit for HADES EBs, 24 bit for trb3! -->
+ <TriggerNumRange value="0x1000000"/>
+
+ <!--AccountLostEventDiff: if true, missing trigger sequence number are added as lost events to stats. Disabled for multiple event builder mode! -->
+ <AccountLostEventDiff value="true"/>
+
+ <!-- rate meters configuration -->
+ <HadaqData width="4" prec="2" low="0" up="10" debug="1"/>
+ <HadaqEvents width="5" prec="1" low="0" up="1000" debug="1"/>
+ <HadaqDroppedData width="5" prec="3" low="0" up="1" debug="1"/>
+ <HadaqLostEvents width="4" prec="2" low="0" up="100" debug="1"/>
+ </Module>
+
+ <!-- Terminal output like old event builder -->
+ <Module name="Term" class="hadaq::TerminalModule" period="0.3" clear="false"/>
+
+ </Context>
+
+</dabc>