--- /dev/null
+#List of all serial numbers for DiRICH.
+
+# Serial # Unique ID
+########################################
+
+0001 0xca00000711f93828
1733 0x45000006ea596c28
1735 0xc2000006ea597828
+
<Module name="Combiner" class="hadaq::CombinerModule">
<!-- these parameters will force to create inputs/outputs of module -->
- <NumInputs value="2"/>
- <NumOutputs value="1"/>
+ <NumInputs value="4"/>
+ <NumOutputs value="2"/>
- <InputPort name="Input0" url="hadaq://host:50084" urlopt1=""/>
- <InputPort name="Input1" url="hadaq://host:50061" urlopt1=""/>
- <InputPort name="Input2" url="hadaq://host:50096" urlopt1=""/>
- <InputPort name="Input3" url="hadaq://host:10104" urlopt1="trb=0x8030&tdc=[0x3030,0x3031,0x3032,0x3033]&dummy"/>
- <InputPort name="Input4" url="hadaq://host:10105" urlopt1="trb=0x8040&tdc=[0x3040,0x3041,0x3042,0x3043]&dummy"/>
+ <InputPort name="Input0" url="hadaq://host:50061" urlopt1=""/>
+ <InputPort name="Input1" url="hadaq://host:50113" urlopt1=""/>
+ <InputPort name="Input2" url="hadaq://host:50084" urlopt1=""/>
+ <InputPort name="Input3" url="hadaq://host:50158" urlopt1=""/>
+
+ <InputPort name="Input4" url="hadaq://host:10104" urlopt1="trb=0x8030&tdc=[0x3030,0x3031,0x3032,0x3033]&dummy"/>
+ <InputPort name="Input5" url="hadaq://host:10105" urlopt1="trb=0x8040&tdc=[0x3040,0x3041,0x3042,0x3043]&dummy"/>
<!-- <InputPort name="Input0" url="hadaq://host:50021" urlopt1="trb=0x8000&hub=0x8100&tdc=[0xC000,0xC001,0xC003]&dummy"/> -->
<!-- <InputPort name="Input1" url="hadaq://host:50094" urlopt1="trb=0x8003&tdc=[0xC00C,0xC00D,0xC00E,0xC00F]&dummy"/> -->
<!-- <InputPort name="Input3" url="hadaq://host:10104" urlopt1="trb=0x8030&tdc=[0x3030,0x3031,0x3032,0x3033]&dummy"/> -->
<!-- <InputPort name="Input4" url="hadaq://host:10105" urlopt1="trb=0x8040&tdc=[0x3040,0x3041,0x3042,0x3043]&dummy"/> -->
- <InputPort name="Input*" queue="30" urlopt="udpbuf=200000&mtu=64512&flush=2.0&observer=false&debug"/>
+ <InputPort name="Input*" queue="30" urlopt="udpbuf=2000000&mtu=64512&flush=2.0&observer=false&debug&resort"/>
<ExtraDebug value="false"/>
<OutputPort name="Output0" url="mbs://Stream:6789?iter=hadaq_iter&subid=0x1f"/>
<!-- this is example of HLD file storage - local and RFIO -->
- <OutputPort name="Output1" url="hld:///d/dabc.hld?maxsize=2000"/>
+ <OutputPort name="Output1" url="hld:///d/pulser.hld?maxsize=2000"/>
<!--OutputPort name="Output1" url="hld:///linev/path/dabc.hld?maxsize=1900&rfio"/-->
<DoShmControl value="false"/>
my $map = {
0 => { trb => 84, addr => "0xc001", sys => "CTS"},
1 => { trb => 61, addr => "0x8000", sys => "TOF"},
+ 2 => { trb => 113, addr => "0x8001", sys => "TOF"},
+ 3 => { trb => 158, addr => "0x8002", sys => "TOF"},
+
};
my $MAX_PROCESSES=50;
my $pm = Parallel::ForkManager->new($MAX_PROCESSES);
--- /dev/null
+# addresses_dirich.db
+# maps trbnet-addresses to serial number + FPGA number
+
+# Address # S/N # FPGA
+
+0x1200 0001 1
+
# SubEvtId SubEvtDec QueDec PackSize FrameSize UseGbE UseTrbNet MultiQueue Trig. Num. MinEvtSize Readout Bit
# Hub # Type # C0 # C1 # C2 # C3 # C4 # C5 # C6 # C7 # C8 # C9 # C10 #
#################################################################################################################################################################
- 0xc001 0 0xc001 0x00020001 0x00030062 0xEA60 0x578 1 0 0 0xffffff 0x7 0x1
- 0x8000 0 0x8000 0x00020001 0x00030062 0xEA60 0x578 1 0 0 0xffffff 0x7 0x1
- 0x8001 0 0x8001 0x00020001 0x00030062 0xEA60 0x578 1 0 0 0xffffff 0x7 0x1
+ 0xc001 0 0xc001 0x00020001 0x00030062 0xEA60 0x578 1 0 1 0xffffff 0x7 0x1
+ 0x8000 0 0x8000 0x00020001 0x00030062 0xEA60 0x578 1 0 1 0xffffff 0x7 0x1
+ 0x8001 0 0x8001 0x00020001 0x00030062 0xEA60 0x578 1 0 1 0xffffff 0x7 0x1
+ 0x8002 0 0x8002 0x00020001 0x00030062 0xEA60 0x578 1 0 1 0xffffff 0x7 0x1
# Hub # Type # C0 # C1 # C2 # C3 # C4 # C5 # C6 # C7 # C8 #
########################################################################################################################################
- 0xc001 0 0x214397EA 0x001b 0xc0a80002 0xc3a4 0xDEADc000 0x001B 0xc0a80154 0xc350 0x0578
- 0x8000 0 0x214397EA 0x001b 0xc0a80002 0xc38d 0xDEADc000 0x001c 0xc0a80155 0xc350 0x0578
+# kp1pc105
+#0xc001 0 0x214397EA 0x001b 0xc0a80002 0xc3a4 0xDEADc000 0x001B 0xc0a80154 0xc350 0x0578
+#0x8000 0 0x214397EA 0x001b 0xc0a80002 0xc38d 0xDEADc000 0x001c 0xc0a80155 0xc350 0x0578
+
+#14:dd:a9:d3:f4:b8 # hadesp39
+ 0xc001 0 0xa9d3f4b8 0x14dd 0xc0a800b1 0xc3a4 0xDEADc000 0x001B 0xc0a80154 0xc350 0x0578
+ 0x8000 0 0xa9d3f4b8 0x14dd 0xc0a800b1 0xc38d 0xDEADc001 0x001d 0xc0a80155 0xc350 0x0578
+ 0x8001 0 0xa9d3f4b8 0x14dd 0xc0a800b1 0xc3c1 0xDEADc002 0x001d 0xc0a80156 0xc350 0x0578
+ 0x8002 0 0xa9d3f4b8 0x14dd 0xc0a800b1 0xc3ee 0xDEADc003 0x001d 0xc0a80157 0xc350 0x0578
void first()
{
- base::ProcMgr::instance()->SetRawAnalysis(true);
- // base::ProcMgr::instance()->SetTriggeredAnalysis(true);
+ //base::ProcMgr::instance()->SetRawAnalysis(true);
+ base::ProcMgr::instance()->SetTriggeredAnalysis(true);
// all new instances get this value
base::ProcMgr::instance()->SetHistFilling(4);
hadaq::TdcMessage::SetFineLimits(31, 491);
// default channel numbers and edges mask
- hadaq::TrbProcessor::SetDefaults(33, 1);
+ hadaq::TrbProcessor::SetDefaults(33, 2);
// [min..max] range for TDC ids
- hadaq::TrbProcessor::SetTDCRange(0x610, 0x613);
+ //hadaq::TrbProcessor::SetTDCRange(0x610, 0x613);
+ hadaq::TrbProcessor::SetTDCRange(0x1130, 0x1603);
// [min..max] range for HUB ids
- hadaq::TrbProcessor::SetHUBRange(0x8200, 0x82FF);
+ hadaq::TrbProcessor::SetHUBRange(0x8000, 0x82FF);
// when first argument true - TRB/TDC will be created on-the-fly
// second parameter is function name, called after elements are created
// 1 - std::vector<hadaq::TdcMessageExt> - includes original TDC message
// 2 - std::vector<hadaq::MessageFloat> - compact form, without channel 0, stamp as float (relative to ch0)
// 3 - std::vector<hadaq::MessageDouble> - compact form, with channel 0, absolute time stamp as double
- base::ProcMgr::instance()->SetStoreKind(3);
+ base::ProcMgr::instance()->SetStoreKind(2);
// when configured as output in DABC, one specifies:
*/
+ //tdc->SetRefChannel(14,16, 0xffff, 6000, -20, 20); // TOT
+ //tdc->SetRefChannel(16,14, 0xffff, 6000, -20, 20); // TOT
+
+ //tdc->SetRefChannel(16,0, 0xffff, 6000, -20, 20); // TOT
+ //tdc->SetRefChannel(14,0, 0xffff, 6000, -20, 20); // TOT
+ //tdc->SetRefChannel(16,14, 0xffff, 6000, -20, 20); // TOT
+
+ /*
+ tdc->SetRefChannel(27,32, 0xffff, 6000, -20, 20); // TOT
tdc->SetRefChannel(28,27, 0xffff, 6000, -20, 20); // TOT
tdc->SetRefChannel(32,28, 0xffff, 6000, -20, 20); // TOT
+ */
+ // tdc->SetRefChannel(11,1, 0xffff, 6000, -20, 20); // LED DIFF
+ //tdc->SetRefChannel(2,1, 0xffff, 6000, -20, 20); // LED DIFF
+ //tdc->SetRefChannel(12,2, 0xffff, 6000, -20, 20); // LED DIFF
+ tdc->SetUseLastHit(false);
+
+ if (tdc->GetID() == 0x1130) {
+ // tdc->SetRefChannel(31,1, 0x1130, 6000, -20, 20); // LED DIFF
+ //tdc->SetRefChannel(32,2, 0x1130, 6000, -20, 20); // LED DIFF
+ //tdc->SetRefChannel(1,2, 0x1130, 6000, -20, 20); // LED DIFF
+ //tdc->SetRefChannel(2,31, 0x1130, 6000, -20, 20); // LED DIFF
+ }
+
+ /*
+ if (tdc->GetID() == 0x1580) {
+ tdc->SetRefChannel(31,1, 0x1580, 20000, -20, 20); // LED DIFF
+ tdc->SetRefChannel(32,2, 0x1580, 20000, -20, 20); // LED DIFF
+ tdc->SetRefChannel( 1,2, 0x1580, 20000, -20, 20); // LED DIFF
+ tdc->SetRefChannel(2,31, 0x1580, 20000, -20, 20); // LED DIFF
+ }
+ */
- tdc->SetRefChannel(31,27, 0xffff, 6000, -20, 20); // LED DIFF
+ /*
+ if (tdc->GetID() == 0x1580) {
+ tdc->SetRefChannel(21,17, 0x1580, 20000, -20, 20); // LED DIFF
+ tdc->SetRefChannel(22,18, 0x1580, 20000, -20, 20); // LED DIFF
+ tdc->SetRefChannel(17,18, 0x1580, 20000, -20, 20); // LED DIFF
+ tdc->SetRefChannel(18,21, 0x1580, 20000, -20, 20); // LED DIFF
+ }
+ */
+
+ if (tdc->GetID() == 0x1580) {
+ // tdc->SetRefChannel(9,11, 0x1580, 20000, -20, 20); // LED DIFF
+ // tdc->SetRefChannel(11,9, 0x1580, 20000, -20, 20); // LED DIFF
+ tdc->SetRefChannel(17,21, 0x1580, 20000, -20, 20); // LED DIFF
+ tdc->SetRefChannel(18,17, 0x1580, 20000, -20, 20); // LED DIFF
+ }
+
+
+ if (tdc->GetID() == 0x1133) {
+ //tdc->SetRefChannel(1,0, 0x1133, 6000, -200, -100); // LED DIFF
+ tdc->SetRefChannel(1,31, 0x1130, 6000, -20, 20); // LED DIFF
+ tdc->SetRefChannel(11,1, 0x1133, 6000, -20, 20); // LED DIFF
+ }
+ //tdc->SetRefChannel(31,27, 0xffff, 6000, -20, 20); // LED DIFF
+
// tdc->SetRefChannel(1, 0, 0xffff, 6000, -160., -100.);
export TRB3_SERVER=trb084:26000
export TRBNETDPID=$(pgrep -f "trbnetd -i 84")
-export DAQOPSERVER=kp1pc105:84
+export DAQOPSERVER=hadeb05:84
echo "- trbnetd pid: $TRBNETDPID"
echo "pulser"
# pulser #0 to 10 kHz
-trbcmd w 0xc001 0xa156 0x0000270f
+trbcmd w 0xc001 0xa150 0x0000270f
+#trbcmd w 0xc001 0xa150 0x0022270f
echo "trigger type"
# set trigger type to 0x1
-trbcmd setbit 0xc001 0xa15e 0x10
+trbcmd setbit 0xc001 0xa155 0x10
echo "pulser enable"
# pulser enable
-trbcmd setbit 0xc001 0xa101 0x2
+#trbcmd setbit 0xc001 0xa101 0x1
+trbcmd clearbit 0x1130 0xc801 0x80000000 # disable window
+#trbcmd w 0x1130 0xc802 0xffff0000 # enable upper 16 channels for padiwa
+trbcmd w 0x1580 0xc802 0xffffffff # enable upper 16 channels for padiwa
+
+
+trbcmd w 0x1133 0xc804 0x7c # max number of words
+trbcmd clearbit 0x1133 0xc801 0x80000000 # disable window
+trbcmd w 0x1133 0xc802 0x00000c03 # enable pulser
+
+trbcmd setbit 0xc001 0xa101 0x8 # enable external trigger in of CTS
// Automatically generated startup script
// Do not change it!
-go4->SetMainWindowState(4,"000000ff00000000fd00000002000000000000016e00000202fc0200000001fb0000001600420072006f00770073006500720044006f0063006b0100000056000002020000007900ffffff000000030000063d000000d5fc0100000001fc000000000000063d0000044900fffffffa000000000200000003fb00000016004c006f00670049006e0066006f0044006f0063006b0100000000ffffffff0000005200fffffffb0000001a004d006200730056006900650077006500720044006f0063006b0100000000ffffffff0000006400fffffffb0000001e0044004100420043004d006f006e00690074006f00720044006f0063006b0000000279000000ce0000000000000000000004c90000020200000004000000040000000800000008fc0000000800000002000000050000001600460069006c00650054006f006f006c0042006100720100000000ffffffff0000000000000000000000160047006f00340054006f006f006c00730042006100720100000106ffffffff00000000000000000000001e0041006e0061006c00790073006900730054006f006f006c004200610072010000024affffffff00000000000000000000001a0044006900760069006400650050006100640044006f0063006b0000000395000000e40000000000000000000000240048006900730044007200610077004f007000740069006f006e00730044006f0063006b010000036f000004110000000000000000000000020000000000000002000000030000002400420072006f0077007300650072004f007000740069006f006e00730044006f0063006b01000000000000010200000000000000000000001e0044007200610077004f007000740069006f006e00730044006f0063006b0100000102ffffffff000000000000000000000020005300630061006c0065004f007000740069006f006e00730044006f0063006b010000039c000003e400000000000000000000000200000001000000180047006f0034005300740079006c00650044006f0063006b0000000000000004b100000000000000000000000200000000000000030000000000000003000000010000001e0043006f006d006d0061006e0064004c0069006e00650044006f0063006b0000000000000004b1000000000000000000000003000000010000001c00540072006500650056006900650077006500720044006f0063006b0000000000000004b10000000000000000");
-go4->SetMainWindowGeometry(4,"01d9d0cb0001000000000000000000000000063c0000036b00000000000000140000076400000477000000000200");
+go4->SetMainWindowState(4,"000000ff00000000fd00000002000000000000015c0000032dfc0200000001fb0000001600420072006f00770073006500720044006f0063006b01000000550000032d0000007900ffffff0000000300000780000000d3fc0100000001fc00000000000007800000046b00fffffffa000000000200000003fb00000016004c006f00670049006e0066006f0044006f0063006b0100000000ffffffff0000005200fffffffb0000001a004d006200730056006900650077006500720044006f0063006b0100000000ffffffff0000006400fffffffb0000001e0044004100420043004d006f006e00690074006f00720044006f0063006b0000000279000000ce00000000000000000000061e0000032d00000004000000040000000800000008fc0000000800000002000000050000001600460069006c00650054006f006f006c0042006100720100000000ffffffff0000000000000000000000160047006f00340054006f006f006c00730042006100720100000106ffffffff00000000000000000000001e0041006e0061006c00790073006900730054006f006f006c004200610072010000024affffffff00000000000000000000001a0044006900760069006400650050006100640044006f0063006b0000000395000000e40000000000000000000000240048006900730044007200610077004f007000740069006f006e00730044006f0063006b010000036f000004110000000000000000000000020000000000000002000000030000002400420072006f0077007300650072004f007000740069006f006e00730044006f0063006b01000000000000010200000000000000000000001e0044007200610077004f007000740069006f006e00730044006f0063006b0100000102ffffffff000000000000000000000020005300630061006c0065004f007000740069006f006e00730044006f0063006b01000003b9000003e400000000000000000000000200000001000000180047006f0034005300740079006c00650044006f0063006b0000000000000004b100000000000000000000000200000000000000030000000000000003000000010000001e0043006f006d006d0061006e0064004c0069006e00650044006f0063006b0000000000000004b1000000000000000000000003000000010000001c00540072006500650056006900650077006500720044006f0063006b0000000000000004b10000000000000000");
+go4->SetMainWindowGeometry(4,"01d9d0cb0001000000000000000000000000077f000004960000000000000000fffffffefffffffe000000000200");
go4->LaunchAnalysis("trb3_test", ".", "libGo4UserAnalysis", "localhost", Go4_sh, Go4_qt, Go4_lib);
go4->WaitAnalysis(300);
TGo4Picture *pic1 = new TGo4Picture("pic1", "temporary object to setup viewpanel");
pic1->SetCrosshair(false);
-pic1->SetRangeX(1.205, 2.645);
-pic1->SetRangeY(0, 32526.9);
+pic1->SetRangeX(0.5, 99.5);
+pic1->SetRangeY(0, 916936);
pic1->SetLineAtt(1, 1, 1, -1);
pic1->SetFillAtt(10, 1001, -1);
pic1->SetHisStats(true);
-pic1->SetStatsAttr(0.646552, 0.504651, 0.979885, 0.937209, 1000111110, "6.4g", 0, "5.4g");
+pic1->SetStatsAttr(0.58, 0.335, 0.98, 0.935, 1000111111, "6.4g", 0, "5.4g");
pic1->SetHisTitle(true);
-pic1->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
+pic1->SetTitleAttr(0.15, 0.931657, 0.85, 0.995);
pic1->SetTitleTime(true);
pic1->SetTitleDate(true);
pic1->SetTitleItem(true);
pic1->SetXYRatioOne(false);
pic1->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
pic1->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic1->AddObjName("Analysis/Histograms/TDC_0612/Ch0/TDC_0612_Ch0_RisingRef", "HIST");
+pic1->AddObjName("Analysis/Histograms/A/A_NumHits", "HIST");
pic1->SetLineAtt(602, 1, 1, 0);
pic1->SetFillAtt(0, 1001, 0);
pic1->SetMarkerAtt(1, 1, 1, 0);
pic1->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
pic1->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
pic1->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(33, 24, 709, 484, Go4_normal, pic1);
+go4->StartViewPanel(784, 407, 782, 406, Go4_normal, pic1);
delete pic1;
TGo4Picture *pic2 = new TGo4Picture("pic2", "temporary object to setup viewpanel");
pic2->SetCrosshair(false);
-pic2->SetRangeX(1.685, 2.895);
-pic2->SetRangeY(0, 14101.5);
+pic2->SetRangeX(34.14, 37.316);
+pic2->SetRangeY(0, 23862.3);
pic2->SetLineAtt(1, 1, 1, -1);
pic2->SetFillAtt(10, 1001, -1);
pic2->SetHisStats(true);
-pic2->SetStatsAttr(0.68, 0.535, 0.98, 0.935, 1000111110, "6.4g", 0, "5.4g");
+pic2->SetStatsAttr(0.58, 0.335, 0.98, 0.935, 1000111111, "6.4g", 0, "5.4g");
pic2->SetHisTitle(true);
-pic2->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
+pic2->SetTitleAttr(0.15, 0.931657, 0.85, 0.995);
pic2->SetTitleTime(true);
pic2->SetTitleDate(true);
pic2->SetTitleItem(true);
pic2->SetXYRatioOne(false);
pic2->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
pic2->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic2->AddObjName("Analysis/Histograms/TDC_0611/Ch0/TDC_0611_Ch0_RisingRef", "HIST");
+pic2->AddObjName("Analysis/Histograms/A/A_ToT1", "HIST");
pic2->SetLineAtt(602, 1, 1, 0);
pic2->SetFillAtt(0, 1001, 0);
pic2->SetMarkerAtt(1, 1, 1, 0);
pic2->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
pic2->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
pic2->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(270, 30, 709, 484, Go4_normal, pic2);
+go4->StartViewPanel(0, 407, 784, 406, Go4_normal, pic2);
delete pic2;
TGo4Picture *pic3 = new TGo4Picture("pic3", "temporary object to setup viewpanel");
pic3->SetCrosshair(false);
-pic3->SetRangeX(4.285, 6.335);
-pic3->SetRangeY(0, 28665);
+pic3->SetRangeX(-2.575, -1.415);
+pic3->SetRangeY(0, 21221.5);
pic3->SetLineAtt(1, 1, 1, -1);
pic3->SetFillAtt(10, 1001, -1);
pic3->SetHisStats(true);
-pic3->SetStatsAttr(0.68, 0.535, 0.98, 0.935, 1000111110, "6.4g", 0, "5.4g");
+pic3->SetStatsAttr(0.58, 0.335, 0.98, 0.935, 1000111111, "6.4g", 0, "5.4g");
pic3->SetHisTitle(true);
-pic3->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
+pic3->SetTitleAttr(0.15, 0.931657, 0.85, 0.995);
pic3->SetTitleTime(true);
pic3->SetTitleDate(true);
pic3->SetTitleItem(true);
pic3->SetXYRatioOne(false);
pic3->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
pic3->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic3->AddObjName("Analysis/Histograms/TDC_0613/Ch0/TDC_0613_Ch0_RisingRef", "HIST");
+pic3->AddObjName("Analysis/Histograms/A/A_LED_diff1", "HIST");
pic3->SetLineAtt(602, 1, 1, 0);
pic3->SetFillAtt(0, 1001, 0);
pic3->SetMarkerAtt(1, 1, 1, 0);
pic3->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
pic3->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
pic3->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(300, 0, 709, 484, Go4_normal, pic3);
+go4->StartViewPanel(784, 0, 782, 407, Go4_normal, pic3);
delete pic3;
TGo4Picture *pic4 = new TGo4Picture("pic4", "temporary object to setup viewpanel");
pic4->SetCrosshair(false);
-pic4->SetRangeX(1.97667, 5.62333);
-pic4->SetRangeY(0, 6081.6);
+pic4->SetRangeX(34.504, 37.112);
+pic4->SetRangeY(-2.572, -0.916);
+pic4->SetRangeZ(0, 4028.85);
pic4->SetLineAtt(1, 1, 1, -1);
pic4->SetFillAtt(10, 1001, -1);
pic4->SetHisStats(true);
-pic4->SetStatsAttr(0.68, 0.535, 0.98, 0.935, 1000111110, "6.4g", 0, "5.4g");
+pic4->SetStatsAttr(0.687419, 0.475921, 0.989624, 0.915014, 1000111111, "6.4g", 0, "5.4g");
pic4->SetHisTitle(true);
-pic4->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
+pic4->SetTitleAttr(0.15, 0.931657, 0.85, 0.995);
pic4->SetTitleTime(true);
pic4->SetTitleDate(true);
pic4->SetTitleItem(true);
pic4->SetXYRatioOne(false);
pic4->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
pic4->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic4->AddObjName("Analysis/Histograms/TDC_0610/Ch5/TDC_0610_Ch5_RisingRef", "HIST");
+pic4->AddObjName("Analysis/Histograms/A/A_ToT_vs_LED", "COL");
pic4->SetLineAtt(602, 1, 1, 0);
pic4->SetFillAtt(0, 1001, 0);
pic4->SetMarkerAtt(1, 1, 1, 0);
pic4->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
-pic4->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
+pic4->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
pic4->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(150, 30, 709, 484, Go4_normal, pic4);
+go4->StartViewPanel(0, 0, 784, 407, Go4_normal, pic4);
delete pic4;
-TGo4Picture *pic5 = new TGo4Picture("pic5", "temporary object to setup viewpanel");
-pic5->SetCrosshair(false);
-pic5->SetRangeX(1.67667, 5.67667);
-pic5->SetRangeY(0, 8049.3);
-pic5->SetLineAtt(1, 1, 1, -1);
-pic5->SetFillAtt(10, 1001, -1);
-pic5->SetHisStats(true);
-pic5->SetStatsAttr(0.68, 0.535, 0.98, 0.935, 1000111110, "6.4g", 0, "5.4g");
-pic5->SetHisTitle(true);
-pic5->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
-pic5->SetTitleTime(true);
-pic5->SetTitleDate(true);
-pic5->SetTitleItem(true);
-pic5->SetAutoScale(true);
-pic5->SetXYRatioOne(false);
-pic5->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
-pic5->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic5->AddObjName("Analysis/Histograms/TDC_0610/Ch6/TDC_0610_Ch6_RisingRef", "HIST");
-pic5->SetLineAtt(602, 1, 1, 0);
-pic5->SetFillAtt(0, 1001, 0);
-pic5->SetMarkerAtt(1, 1, 1, 0);
-pic5->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
-pic5->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-pic5->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(180, 0, 709, 484, Go4_normal, pic5);
-delete pic5;
-
go4->StartMonitoring(2);
+++ /dev/null
-// Automatically generated startup script
-// Do not change it!
-
-go4->SetMainWindowState(4,"000000ff00000000fd00000002000000000000016e0000032efc0200000001fb0000001600420072006f00770073006500720044006f0063006b01000000560000032e0000007900ffffff0000000300000640000000d3fc0100000001fc00000000000006400000044900fffffffa000000000200000003fb00000016004c006f00670049006e0066006f0044006f0063006b0100000000ffffffff0000005200fffffffb0000001a004d006200730056006900650077006500720044006f0063006b0100000000ffffffff0000006400fffffffb0000001e0044004100420043004d006f006e00690074006f00720044006f0063006b0000000279000000ce0000000000000000000004cc0000032e00000004000000040000000800000008fc0000000800000002000000050000001600460069006c00650054006f006f006c0042006100720100000000ffffffff0000000000000000000000160047006f00340054006f006f006c00730042006100720100000106ffffffff00000000000000000000001e0041006e0061006c00790073006900730054006f006f006c004200610072010000024affffffff00000000000000000000001a0044006900760069006400650050006100640044006f0063006b0000000395000000e40000000000000000000000240048006900730044007200610077004f007000740069006f006e00730044006f0063006b010000036f000004110000000000000000000000020000000000000002000000030000002400420072006f0077007300650072004f007000740069006f006e00730044006f0063006b01000000000000010200000000000000000000001e0044007200610077004f007000740069006f006e00730044006f0063006b0100000102ffffffff000000000000000000000020005300630061006c0065004f007000740069006f006e00730044006f0063006b010000039c000003e400000000000000000000000200000001000000180047006f0034005300740079006c00650044006f0063006b0000000000000004b100000000000000000000000200000000000000030000000000000003000000010000001e0043006f006d006d0061006e0064004c0069006e00650044006f0063006b0000000000000004b1000000000000000000000003000000010000001c00540072006500650056006900650077006500720044006f0063006b0000000000000004b10000000000000000");
-go4->SetMainWindowGeometry(4,"01d9d0cb0001000000000000000000000000063f000004950000000000000000fffffffefffffffe000000000200");
-
-go4->LaunchAnalysis("trb3_test", ".", "libGo4UserAnalysis", "localhost", Go4_sh, Go4_qt, Go4_lib);
-go4->WaitAnalysis(300);
-
-// configuration of analysis
-go4->AnalysisAutoSave("Go4AutoSave.root", 500, 5, kTRUE, kFALSE);
-go4->AnalysisConfigName("Go4AnalysisPrefs.root");
-
-// step Analysis
-go4->ConfigStep("Analysis", kTRUE, kTRUE, kFALSE);
-go4->StepMbsStreamSource("Analysis", "localhost:6789", 1);
-go4->StepFileStore("Analysis", "NoOutputDefined", kTRUE, 32000, 99, 5, 10000);
-
-go4->SubmitAnalysisConfig(20);
-
-go4->SetAnalysisConfigMode(-1);
-go4->SetAnalysisTerminalMode(0);
-
-go4->StartAnalysis();
-
-// in some analysis one requires to wait several seconds before new histograms appears
-// go4->Wait(1);
-go4->RefreshNamesList();
-
-TGo4Picture *pic1 = new TGo4Picture("pic1", "temporary object to setup viewpanel");
-pic1->SetCrosshair(false);
-pic1->SetRangeX(1.20333, 2.64333);
-pic1->SetRangeY(0, 1.05);
-pic1->SetFrameAttr(0.0989848, 0.0985222, 0.101523, 0.103448);
-pic1->SetLineAtt(1, 1, 1, -1);
-pic1->SetFillAtt(10, 1001, -1);
-pic1->SetHisStats(true);
-pic1->SetStatsAttr(0.646552, 0.504651, 0.979885, 0.937209, 1000111110, "6.4g", 0, "5.4g");
-pic1->SetHisTitle(true);
-pic1->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
-pic1->SetTitleTime(true);
-pic1->SetTitleDate(true);
-pic1->SetTitleItem(true);
-pic1->SetAutoScale(true);
-pic1->SetXYRatioOne(false);
-pic1->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
-pic1->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic1->AddObjName("Analysis/Histograms/TDC_0612/Ch0/TDC_0612_Ch0_RisingRef", "HIST");
-pic1->SetLineAtt(602, 1, 1, 0);
-pic1->SetFillAtt(0, 1001, 0);
-pic1->SetMarkerAtt(1, 1, 1, 0);
-pic1->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
-pic1->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-pic1->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(818, 259, 407, 257, Go4_normal, pic1);
-delete pic1;
-
-TGo4Picture *pic2 = new TGo4Picture("pic2", "temporary object to setup viewpanel");
-pic2->SetCrosshair(false);
-pic2->SetRangeX(1.68333, 2.89667);
-pic2->SetRangeY(0, 1.05);
-pic2->SetLineAtt(1, 1, 1, -1);
-pic2->SetFillAtt(10, 1001, -1);
-pic2->SetHisStats(true);
-pic2->SetStatsAttr(0.68, 0.535, 0.98, 0.935, 1000111110, "6.4g", 0, "5.4g");
-pic2->SetHisTitle(true);
-pic2->SetTitleAttr(0.147989, 0.934884, 0.847701, 0.995349);
-pic2->SetTitleTime(true);
-pic2->SetTitleDate(true);
-pic2->SetTitleItem(true);
-pic2->SetAutoScale(true);
-pic2->SetXYRatioOne(false);
-pic2->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
-pic2->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic2->AddObjName("Analysis/Histograms/TDC_0611/Ch0/TDC_0611_Ch0_RisingRef", "HIST");
-pic2->SetLineAtt(602, 1, 1, 0);
-pic2->SetFillAtt(0, 1001, 0);
-pic2->SetMarkerAtt(1, 1, 1, 0);
-pic2->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
-pic2->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-pic2->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(0, 0, 409, 259, Go4_normal, pic2);
-delete pic2;
-
-TGo4Picture *pic3 = new TGo4Picture("pic3", "temporary object to setup viewpanel");
-pic3->SetCrosshair(false);
-pic3->SetLogScale(1, 1);
-pic3->SetRangeX(-19.9967, 19.9967);
-pic3->SetRangeY(0, 1);
-pic3->SetLineAtt(1, 1, 1, -1);
-pic3->SetFillAtt(10, 1001, -1);
-pic3->SetHisStats(true);
-pic3->SetStatsAttr(0.68, 0.535, 0.98, 0.935, 1000111110, "6.4g", 0, "5.4g");
-pic3->SetHisTitle(true);
-pic3->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
-pic3->SetTitleTime(true);
-pic3->SetTitleDate(true);
-pic3->SetTitleItem(true);
-pic3->SetAutoScale(true);
-pic3->SetXYRatioOne(false);
-pic3->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
-pic3->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic3->AddObjName("Analysis/Histograms/TDC_0613/Ch0/TDC_0613_Ch0_RisingRef", "HIST");
-pic3->SetLineAtt(602, 1, 1, 0);
-pic3->SetFillAtt(0, 1001, 0);
-pic3->SetMarkerAtt(1, 1, 1, 0);
-pic3->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
-pic3->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-pic3->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(409, 259, 409, 257, Go4_normal, pic3);
-delete pic3;
-
-TGo4Picture *pic4 = new TGo4Picture("pic4", "temporary object to setup viewpanel");
-pic4->SetCrosshair(false);
-pic4->SetRangeX(-5.68333, -0.756667);
-pic4->SetLineAtt(1, 1, 1, -1);
-pic4->SetFillAtt(10, 1001, -1);
-pic4->SetHisStats(true);
-pic4->SetStatsAttr(0.68, 0.535, 0.98, 0.935, 1000111110, "6.4g", 0, "5.4g");
-pic4->SetHisTitle(true);
-pic4->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
-pic4->SetTitleTime(true);
-pic4->SetTitleDate(true);
-pic4->SetTitleItem(true);
-pic4->SetAutoScale(true);
-pic4->SetXYRatioOne(false);
-pic4->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
-pic4->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic4->AddObjName("Analysis/Histograms/TDC_0610/Ch5/TDC_0610_Ch5_RisingRef", "HIST");
-pic4->SetLineAtt(602, 1, 1, 0);
-pic4->SetFillAtt(0, 1001, 0);
-pic4->SetMarkerAtt(1, 1, 1, 0);
-pic4->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
-pic4->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-pic4->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(0, 259, 409, 257, Go4_normal, pic4);
-delete pic4;
-
-TGo4Picture *pic5 = new TGo4Picture("pic5", "temporary object to setup viewpanel");
-pic5->SetCrosshair(false);
-pic5->SetRangeX(-19.9967, 19.9967);
-pic5->SetLineAtt(1, 1, 1, -1);
-pic5->SetFillAtt(10, 1001, -1);
-pic5->SetHisStats(true);
-pic5->SetStatsAttr(0.68, 0.535, 0.98, 0.935, 1000111110, "6.4g", 0, "5.4g");
-pic5->SetHisTitle(true);
-pic5->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
-pic5->SetTitleTime(true);
-pic5->SetTitleDate(true);
-pic5->SetTitleItem(true);
-pic5->SetAutoScale(true);
-pic5->SetXYRatioOne(false);
-pic5->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
-pic5->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic5->AddObjName("Analysis/Histograms/TDC_0610/Ch6/TDC_0610_Ch6_RisingRef", "HIST");
-pic5->SetLineAtt(602, 1, 1, 0);
-pic5->SetFillAtt(0, 1001, 0);
-pic5->SetMarkerAtt(1, 1, 1, 0);
-pic5->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
-pic5->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-pic5->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(818, 0, 407, 259, Go4_normal, pic5);
-delete pic5;
-
-TGo4Picture *pic6 = new TGo4Picture("pic6", "temporary object to setup viewpanel");
-pic6->SetCrosshair(false);
-pic6->SetRangeX(-4.35, 1.45);
-pic6->SetFrameAttr(0.0909091, 0.097561, 0.108586, 0.102439);
-pic6->SetLineAtt(1, 1, 1, -1);
-pic6->SetFillAtt(10, 1001, -1);
-pic6->SetHisStats(true);
-pic6->SetStatsAttr(0.68, 0.535, 0.98, 0.935, 1000111110, "6.4g", 0, "5.4g");
-pic6->SetHisTitle(true);
-pic6->SetTitleAttr(0.15, 0.933605, 0.85, 0.995);
-pic6->SetTitleTime(true);
-pic6->SetTitleDate(true);
-pic6->SetTitleItem(true);
-pic6->SetAutoScale(true);
-pic6->SetXYRatioOne(false);
-pic6->SetPadAtt(0, 2, 0, 0, 30, 30, 0, 0);
-pic6->SetXAxisAttTime(0, "%H:%M:%S%F1995-01-01 00:00:00s0", -1);
-pic6->AddObjName("Analysis/Histograms/TDC_0610/Ch1/TDC_0610_Ch1_RisingRef", "HIST");
-pic6->SetLineAtt(602, 1, 1, 0);
-pic6->SetFillAtt(0, 1001, 0);
-pic6->SetMarkerAtt(1, 1, 1, 0);
-pic6->SetAxisAtt(0, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 2048, 0);
-pic6->SetAxisAtt(1, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-pic6->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0);
-go4->StartViewPanel(409, 0, 409, 259, Go4_normal, pic6);
-delete pic6;
-
-go4->StartMonitoring(2);
use warnings;
### Change THIS!
-my $required_endpoints = 10;
+my $required_endpoints = 20;
#js while (($number != 65) || ($counter > $max_counter)) {
-while (($number != $required_endpoints) || ($counter > $max_counter)) {
+while (($number < $required_endpoints) || ($counter > $max_counter)) {
my $c; my $res;
$counter++;
#default cts endpoint. can be overriden by a command line parameter
sub getDefaultEndpoint {
- return 0x7999;
+ return 0xc001;
}
1;