# the list of sub systems according to your needs, possible sub systems
# are: trig rich0 rich1 rich2 mdc0 tof1 tof2 tof3 shw
-# to check total bandwidth:
-# perl -ne 'next unless /memnet/; ($a)=/-w (\d+)/; $b+=$a; print $b ."\n";' hades.tcl
-
-
-set subSystems { trig shw rich0 rich1 rich2 tof1 tof2 tof3 mdc0 mdc1 }
+set subSystems { trig shw rich0 rich1 rich2 tof1 tof2 tof3 mdc0 mdc1 }
+#set subSystems { trig rich0 rich1 rich2 shw }
+#set subSystems { trig shw }
+#set subSystems { trig }
+#set subSystems { trig rich0 }
+#set subSystems { trig rich0 rich1 rich2 tof1 tof2 tof3}
# the component in the HADES_BASE_DIR
set beamTime oct02
set vcc [expr $atmBase + 0]
agent create r2-35 hades /hades/usr/hades/$beamTime/trig/hadaq
worker create r2-35:memnet -a -p -1 -w 27000 -o ATM:0:$vcc
-worker create r2-35:readout -s trigconc -a -p -2 -w $watermark
+worker create r2-35:readout -s trigconc -a -p -2 -w $watermark -v notice
group add acquisition r2-35:memnet
group add acquisition r2-35:readout
lappend init r2-35:trigconc:init
-lappend reset { }
-lappend start { }
-lappend stop { }
-set trigReset "rsh r2-35 -l hades sh -c \"'. bin/daqenv $beamTime; cd $beamTime/slow; ./trigconc reset'\" </dev/null >>&hadaq.log"
-set trigStart "rsh r2-35 -l hades sh -c \"'. bin/daqenv $beamTime; cd $beamTime/slow; ./trigconc start'\" </dev/null >>&hadaq.log"
-#set trigStop "rsh r2-35 -l hades sh -c \"'. bin/daqenv $beamTime; cd $beamTime/slow; ./trigconc stop'\" </dev/null >>&hadaq.log"
-set trigStop ""
+lappend reset [ list r2-35 ":" ]
+lappend start [ list r2-35 ":" ]
+lappend stop [ list r2-35 ":" ]
+lappend trigReset r2-35 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./trigconc reset"
+lappend trigStart r2-35 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./trigconc start"
+lappend trigStop r2-35 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./trigconc stop"
+lappend ctustart r2-35 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./ctustart"
+lappend ctustop r2-35 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./ctustop"
+
lappend inPaths "-i ATM:0:$vcc"
if {[lsearch $subSystems rich0] >= 0} {
set vcc [expr $atmBase + 2]
agent create r2-24 hades /hades/usr/hades/$beamTime/rich/hadaq
worker create r2-24:memnet -a -p -2 -w 16000 -o ATM:0:$vcc
- worker create r2-24:readout -s rich0 -a -p -1 -w $watermark
+ worker create r2-24:readout -s rich0 -a -p -1 -w $watermark -v notice
group add acquisition r2-24:memnet
group add acquisition r2-24:readout
lappend init r2-24:rich0:init
- lappend reset r2-24:rich0:reset
- lappend start r2-24:rich0:start
+ lappend reset [ list r2-24 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./rich0 reset" ]
+ lappend start [ list r2-24 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./rich0 start" ]
+ lappend stop [ list r2-24 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./rich0 stop" ]
lappend inPaths "-i ATM:0:$vcc"
}
set vcc [expr $atmBase + 3]
agent create r2-28 hades /hades/usr/hades/$beamTime/rich/hadaq
worker create r2-28:memnet -a -p -2 -w 16000 -o ATM:0:$vcc
- worker create r2-28:readout -s rich1 -a -p -1 -w $watermark
+ worker create r2-28:readout -s rich1 -a -p -1 -w $watermark -v notice
group add acquisition r2-28:memnet
group add acquisition r2-28:readout
lappend init r2-28:rich1:init
- lappend reset r2-28:rich1:reset
- lappend start r2-28:rich1:start
+ lappend reset [ list r2-28 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./rich1 reset" ]
+ lappend start [ list r2-28 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./rich1 start" ]
+ lappend stop [ list r2-28 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./rich1 stop" ]
lappend inPaths "-i ATM:0:$vcc"
}
set vcc [expr $atmBase + 4]
agent create r2-27 hades /hades/usr/hades/$beamTime/rich/hadaq
worker create r2-27:memnet -a -p -2 -w 16000 -o ATM:0:$vcc
- worker create r2-27:readout -s rich2 -a -p -1 -w $watermark
+ worker create r2-27:readout -s rich2 -a -p -1 -w $watermark -v notice
group add acquisition r2-27:memnet
group add acquisition r2-27:readout
lappend init r2-27:rich2:init
- lappend reset r2-27:rich2:reset
- lappend start r2-27:rich2:start
+ lappend reset [ list r2-27 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./rich2 reset" ]
+ lappend start [ list r2-27 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./rich2 start" ]
+ lappend stop [ list r2-27 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./rich2 stop" ]
lappend inPaths "-i ATM:0:$vcc"
}
set vcc [expr $atmBase + 5]
agent create r2-8 hades /hades/usr/hades/$beamTime/mdc/hadaq
worker create r2-8:memnet -a -p -1 -w 30000 -o ATM:0:$vcc
- worker create r2-8:readout -s mdc0 -a -p -2 -w 24576
+ worker create r2-8:readout -s mdc0 -a -p -2 -w 24576 -v notice
group add acquisition r2-8:memnet
group add acquisition r2-8:readout
lappend init r2-8:mdc0:init
- lappend reset r2-8:mdc0:reset
- lappend start r2-8:mdc0:start
+ lappend reset [ list r2-8 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./mdc0 reset" ]
+ lappend start [ list r2-8 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./mdc0 start" ]
+ lappend stop [ list r2-8 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./mdc0 stop" ]
lappend inPaths "-i ATM:0:$vcc"
}
set vcc [expr $atmBase + 6]
agent create r2-32 hades /hades/usr/hades/$beamTime/mdc/hadaq
worker create r2-32:memnet -a -p -1 -w 20000 -o ATM:0:$vcc
- worker create r2-32:readout -s mdc1 -a -p -2 -w $watermark
+ worker create r2-32:readout -s mdc1 -a -p -2 -w $watermark -v notice
group add acquisition r2-32:memnet
group add acquisition r2-32:readout
lappend init r2-32:mdc1:init
- lappend reset r2-32:mdc1:reset
- lappend start r2-32:mdc1:start
+ lappend reset [ list r2-32 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./mdc1 reset" ]
+ lappend start [ list r2-32 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./mdc1 start" ]
+ lappend stop [ list r2-32 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./mdc1 stop" ]
lappend inPaths "-i ATM:0:$vcc"
}
set vcc [expr $atmBase + 1]
agent create r2-14 hades /hades/usr/hades/$beamTime/shw/hadaq
worker create r2-14:memnet -a -p -1 -w 30000 -o ATM:0:$vcc
- worker create r2-14:readout -s show -a -p -2 -w $watermark
+ worker create r2-14:readout -s show -a -p -2 -w $watermark -v notice
group add acquisition r2-14:memnet
group add acquisition r2-14:readout
lappend init r2-14:shw:init
- lappend reset r2-14:shw:reset
- lappend start r2-14:shw:start
- lappend stop r2-14:shw:stop
+ lappend reset [ list r2-14 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./shw reset" ]
+ lappend start [ list r2-14 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./shw start" ]
+ lappend stop [ list r2-14 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./shw stop" ]
lappend inPaths "-i ATM:0:$vcc"
}
if {[lsearch $subSystems tof1] >= 0} {
set vcc [expr $atmBase + 0]
+ agent create e7_25 hades /hades/usr/hades/$beamTime/tof/hadaq
lappend init e7_25:tof1:init
- lappend reset e7_25:tof1:reset
- lappend start e7_25:tof1:start
+ lappend reset [ list e7_25 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./tof1 reset" ]
+ lappend start [ list e7_25 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./tof1 start" ]
+ lappend stop [ list e7_25 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./tof1 stop" ]
}
if {[lsearch $subSystems tof2] >= 0} {
set vcc [expr $atmBase + 0]
+ agent create e7_21 hades /hades/usr/hades/$beamTime/tof/hadaq
lappend init e7_21:tof2:init
- lappend reset e7_21:tof2:reset
- lappend start e7_21:tof2:start
+ lappend reset [ list e7_21 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./tof2 reset" ]
+ lappend start [ list e7_21 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./tof2 start" ]
+ lappend stop [ list e7_21 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./tof2 stop" ]
}
if {[lsearch $subSystems tof3] >= 0} {
set vcc [expr $atmBase + 0]
+ agent create e7_41 hades /hades/usr/hades/$beamTime/tof/hadaq
lappend init e7_41:tof3:init
- lappend reset e7_41:tof3:reset
- lappend start e7_41:tof3:start
+ lappend reset [ list e7_41 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./tof3 reset" ]
+ lappend start [ list e7_41 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./tof3 start" ]
+ lappend stop [ list e7_41 "cd; . bin/daqenv $beamTime; cd $beamTime/slow; ./tof3 stop" ]
}
-
agent create $evtBuilder hadaq /home/hadaq/$beamTime/eb/hadaq_tcl
eval worker create $evtBuilder:evtbuild -a -p -2 -m [llength $inPaths]
eval worker create $evtBuilder:netmem -a -p -1 -m [llength $inPaths] [join $inPaths { }]
group add run $evtBuilder:netmem
set duringInit [list "run_parallel_$beamTime [join $init { }]"]
-set beforeStartAcq [list $trigReset "run_parallel_$beamTime [join $reset { }]" $trigReset "run_parallel_$beamTime [join $start { }]" $trigStart]
-
-set afterStartAcq [list "rsh r2-35 -l hades sh -c \"'. bin/daqenv $beamTime; cd $beamTime/slow; ./ctustart'\" </dev/null >>&hadaq.log"]
-set beforeStopAcq [list "rsh r2-35 -l hades sh -c \"'. bin/daqenv $beamTime; cd $beamTime/slow; ./ctustop'\" </dev/null >>&hadaq.log"]
+if {1} {
+lappend beforeStartAcq "$trigReset"
+lappend beforeStartAcq {join ""}
+foreach i "$reset" { lappend beforeStartAcq $i }
+lappend beforeStartAcq {join ""}
+lappend beforeStartAcq "$trigReset"
+lappend beforeStartAcq {join ""}
+foreach i "$start" { lappend beforeStartAcq $i }
+lappend beforeStartAcq {join ""}
+lappend beforeStartAcq "$trigStart"
+lappend beforeStartAcq {join ""}
+
+lappend afterStartAcq "$ctustart"
+lappend afterStartAcq {join ""}
+
+lappend beforeStopAcq "$ctustop"
+lappend beforeStopAcq {join ""}
+
+lappend afterStopAcq "$trigStop"
+lappend afterStopAcq {join ""}
+foreach i "$stop" { lappend afterStopAcq $i }
+lappend afterStopAcq {join ""}
+} else {
+lappend beforeStartAcq {r2-35 date}
+lappend beforeStartAcq {join ""}
+lappend afterStartAcq {r2-35 date}
+lappend afterStartAcq {join ""}
+lappend beforeStopAcq {r2-35 date}
+lappend beforeStopAcq {join ""}
+lappend afterStopAcq {r2-35 date}
+lappend afterStopAcq {join ""}
+}
-set afterStopAcq [list $trigStop "run_parallel_$beamTime [join $stop { }]"]