From: HADES DAQ Date: Thu, 29 Jan 2015 14:26:38 +0000 (+0100) Subject: new colleagues, mt X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=1a01eb134ed8d97094eb7965896254d0fb4ca69d;p=daqtools.git new colleagues, mt --- diff --git a/users/panda_tof/(null)_runinfo2ora.txt b/users/panda_tof/(null)_runinfo2ora.txt new file mode 100644 index 0000000..1bba940 --- /dev/null +++ b/users/panda_tof/(null)_runinfo2ora.txt @@ -0,0 +1,2 @@ +start 222533322 0 xx15029130842.hld 2015-01-29 13:08:42 +stop 222533322 0 xx15029130842.hld 2015-01-29 13:10:19 7669k 1462M diff --git a/users/panda_tof/EventBuilder.xml b/users/panda_tof/EventBuilder.xml new file mode 100644 index 0000000..4fc70e3 --- /dev/null +++ b/users/panda_tof/EventBuilder.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/users/panda_tof/Go4AutoSave.root b/users/panda_tof/Go4AutoSave.root new file mode 100644 index 0000000..bd12255 Binary files /dev/null and b/users/panda_tof/Go4AutoSave.root differ diff --git a/users/panda_tof/default_s.tcl b/users/panda_tof/default_s.tcl new file mode 100644 index 0000000..86ec4db --- /dev/null +++ b/users/panda_tof/default_s.tcl @@ -0,0 +1,26 @@ +set daq_evtbuild(startdate) "2015-01-29T13:08:42" +set daq_evtbuild(nrofmsgs) 1 +set daq_evtbuild(outpath) "/tmp/xx15029130842.hld" +set daq_evtbuild(outdev) "file" +set daq_evtbuild(runnr) 222533322 +set daq_evtbuild(expid) "xx" +set daq_evtbuild(prio) 0 +set daq_evtbuild(stndln) 1 +set daq_evtbuild(qsize) 33554432 +set daq_evtbuild(verb) "info" +set daq_netmem(startdate) "2015-01-29T13:08:43" +set daq_netmem(inpath0) "UDP:127.0.0.1:60000" +set daq_netmem(nrofmsgs) 1 +set daq_netmem(stndln) 1 +set daq_netmem(prio) 0 +set daq_netmem(qsize) 33554432 +set daq_netmem(verb) "info" +set daq_netmem(pid) 31548 +set daq_netmem(pktsReceived0) 7669770 +set daq_netmem(pktsDiscarded0) 0 +set daq_netmem(msgsReceived0) 7669770 +set daq_netmem(msgsDiscarded0) 0 +set daq_netmem(bytesReceived0) 1546455656 +set daq_netmem(stopdate) "2015-01-29T13:10:18" +set daq_evtbuild(pid) 31530 +set daq_evtbuild(stopdate) "2015-01-29T13:10:19" diff --git a/users/panda_tof/first.C b/users/panda_tof/first.C new file mode 100644 index 0000000..d400682 --- /dev/null +++ b/users/panda_tof/first.C @@ -0,0 +1,83 @@ + +void first() +{ + + base::ProcMgr::instance()->SetRawAnalysis(true); + + // this limits used for liner calibrations when nothing else is available + hadaq::TdcMessage::SetFineLimits(31, 421); + + // default channel numbers and edges mask + hadaq::TrbProcessor::SetDefaults(33, 0x1); + + hadaq::HldProcessor* hld = new hadaq::HldProcessor(); + + // About time calibration - there are two possibilities + // 1) automatic calibration after N hits in every enabled channel. + // Just use SetAutoCalibrations method for this + // 2) generate calibration on base of provided data and than use it later statically for analysis + // Than one makes special run with SetWriteCalibrations() enabled. + // Later one reuse such calibrations enabling only LoadCalibrations() call + + hadaq::TrbProcessor* trb3_1 = new hadaq::TrbProcessor(0x8000, hld); + trb3_1->SetHistFilling(4); + trb3_1->SetCrossProcess(true); + trb3_1->CreateTDC(0xC000, 0xC001, 0xC002, 0xC003); + // enable automatic calibration, specify required number of hits in each channel + trb3_1->SetAutoCalibrations(100000); + // calculate and write static calibration at the end of the run + //trb3_1->SetWriteCalibrations("run1"); + // load static calibration at the beginning of the run + //trb3_1->LoadCalibrations("run1"); + + hadaq::TrbProcessor* trb3_2 = new hadaq::TrbProcessor(0x8001, hld); + trb3_2->SetHistFilling(4); + trb3_2->SetCrossProcess(true); + trb3_2->CreateTDC(0xC010, 0xC011, 0xC012, 0xC013); + trb3_2->SetAutoCalibrations(100000); + //trb3_2->SetWriteCalibrations("run1"); + //trb3_2->LoadCalibrations("run1"); + + // this is array with available TDCs ids + int tdcmap[8] = { 0xC000, 0xC001, 0xC002, 0xC003, 0xC010, 0xC011, 0xC012, 0xC013 }; + + // TDC subevent header id + + for (int cnt=0;cnt<8;cnt++) { + + hadaq::TdcProcessor* tdc = hld->FindTDC(tdcmap[cnt]); + if (tdc==0) continue; + + // specify reference channel + tdc->SetRefChannel(1, 0, 0xc003, 20000, -100., 100., true); + tdc->SetRefChannel(4, 0, 0xc003, 20000, -10., 10., true); + tdc->SetRefChannel(3, 1, 0xffff, 20000, -10., 10., true); + // continue; + + //tdc->SetRefChannel(4, 2, 0xffff, 20000, -10., 10., true); +// tdc->SetRefChannel(6, 4, 0xc010, 20000, -20., 20., true); +// tdc->SetRefChannel(7, 5, 0xc010, 20000, -20., 20., true); +// tdc->SetRefChannel(8, 0, 0xc010, 20000, -90., 80., true); +// tdc->SetRefChannel(9, 0, 0xc010, 20000, -200., 200., true); + +// continue; + if (cnt > 0) { + // specify reference channel from other TDC + //tdc->SetRefChannel(0, 0, 0xc000, 20000, -30., 30., true); + tdc->SetRefChannel(5, 5, 0xc000, 20000, -20., 20., true); + //tdc->SetRefChannel(6, 6, 0xc000, 20000, -20., 20., true); + tdc->SetRefChannel(7, 7, 0xc000, 20000, -20., 20., true); + } + + // for old FPGA code one should have epoch for each hit, no longer necessary + // tdc->SetEveryEpoch(true); + + // When enabled, time of last hit will be used for reference calculations + // tdc->SetUseLastHit(true); + + } + +} + + + diff --git a/users/panda_tof/online4.hotstart b/users/panda_tof/online4.hotstart new file mode 100644 index 0000000..b7071f1 --- /dev/null +++ b/users/panda_tof/online4.hotstart @@ -0,0 +1,134 @@ +// Automatically generated startup script +// Do not change it! + +go4->SetMainWindowState(4,"000000ff00000000fd0000000200000000000001b100000407fc0200000001fb0000001600420072006f00770073006500720044006f0063006b0100000055000004070000007900ffffff00000003000003d5000000d5fc0100000001fc00000000000003d50000000000fffffffa000000020200000003fb00000016004c006f00670049006e0066006f0044006f0063006b0000000000ffffffff0000005200fffffffb0000001a004d006200730056006900650077006500720044006f0063006b0000000000ffffffff0000006400fffffffb0000001e0044004100420043004d006f006e00690074006f00720044006f0063006b0000000279000000ce0000000000000000000005c90000040700000004000000040000000800000008fc0000000800000002000000050000001600460069006c00650054006f006f006c0042006100720100000000ffffffff0000000000000000000000160047006f00340054006f006f006c007300420061007201000000e7ffffffff00000000000000000000001e0041006e0061006c00790073006900730054006f006f006c004200610072010000022bffffffff00000000000000000000001a0044006900760069006400650050006100640044006f0063006b0000000395000000e40000000000000000000000240048006900730044007200610077004f007000740069006f006e00730044006f0063006b0100000350000004300000000000000000000000020000000000000002000000020000002400420072006f0077007300650072004f007000740069006f006e00730044006f0063006b01000000000000010200000000000000000000001e0044007200610077004f007000740069006f006e00730044006f0063006b01000001020000037e00000000000000000000000200000001000000180047006f0034005300740079006c00650044006f0063006b0000000000000004b10000000000000000000000020000000100000020005300630061006c0065004f007000740069006f006e00730044006f0063006b0000000000000004b10000000000000000000000030000000000000003000000010000001e0043006f006d006d0061006e0064004c0069006e00650044006f0063006b0000000000000004b1000000000000000000000003000000010000001c00540072006500650056006900650077006500720044006f0063006b0000000000000004b10000000000000000"); +go4->SetMainWindowGeometry(4,"01d9d0cb0001000000000000000000000000077f0000049500000000000000140000077f0000039e000000000200"); + +go4->LaunchAnalysis("MyAnalysis", ".", "libGo4UserAnalysis", "localhost", Go4_sh, Go4_qt, Go4_lib); +go4->WaitAnalysis(300); + +// configuration of analysis +go4->AnalysisAutoSave("Go4AutoSave.root", 500, 5, kFALSE, kFALSE); +go4->AnalysisConfigName("Go4AnalysisPrefs.root"); + +// step Analysis +go4->ConfigStep("Analysis", kTRUE, kTRUE, kFALSE); +go4->StepMbsStreamSource("Analysis", "localhost:6790", 1); +go4->StepFileStore("Analysis", "NoOutputDefined", kTRUE, 32000, 99, 5); + +go4->SubmitAnalysisConfig(20); + +go4->SetAnalysisConfigMode(-1); +go4->SetAnalysisTerminalMode(0); + +go4->StartAnalysis(); + +// this is possibility to get extra histograms from analysis +// which are create shortly after analysis is started +go4->Wait(1); +go4->RefreshNamesList(); + +TGo4Picture *pic1 = new TGo4Picture("pic1", "temporary object to setup viewpanel"); +pic1->SetCrosshair(false); +pic1->SetRangeX(-10.755, -3.667); +pic1->SetRangeY(0, 163.8); +pic1->SetLineAtt(1, 1, 1, -1); +pic1->SetFillAtt(10, 1001, -1); +pic1->SetHisStats(true); +pic1->SetStatsAttr(0.78, 0.775, 0.98, 0.935, 11111111, "6.4g", 0, "5.4g"); +pic1->SetHisTitle(true); +pic1->SetTitleAttr(0.15, 0.932561, 0.85, 0.995); +pic1->SetTitleTime(true); +pic1->SetTitleDate(true); +pic1->SetTitleItem(true); +pic1->SetAutoScale(true); +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_c010/Ch7/TDC_c010_Ch7_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, "+", 2048, 0); +pic1->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0); +go4->StartViewPanel(116, 310, 825, 670, Go4_normal, pic1); +delete pic1; + +TGo4Picture *pic2 = new TGo4Picture("pic2", "temporary object to setup viewpanel"); +pic2->SetCrosshair(false); +pic2->SetRangeX(-19.999, 19.999); +pic2->SetLineAtt(1, 1, 1, -1); +pic2->SetFillAtt(10, 1001, -1); +pic2->SetHisStats(true); +pic2->SetStatsAttr(0.78, 0.775, 0.98, 0.935, 11111111, "6.4g", 0, "5.4g"); +pic2->SetHisTitle(true); +pic2->SetTitleAttr(0.15, 0.932561, 0.85, 0.995); +pic2->SetTitleTime(true); +pic2->SetTitleDate(true); +pic2->SetTitleItem(true); +pic2->SetAutoScale(true); +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_c010/Ch0/TDC_c010_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(25, 28, 825, 669, Go4_normal, pic2); +delete pic2; + +TGo4Picture *pic3 = new TGo4Picture("pic3", "temporary object to setup viewpanel"); +pic3->SetCrosshair(false); +pic3->SetRangeX(-0.615, -0.095); +pic3->SetRangeY(0, 11243.4); +pic3->SetLineAtt(1, 1, 1, -1); +pic3->SetFillAtt(10, 1001, -1); +pic3->SetHisStats(true); +pic3->SetStatsAttr(0.78, 0.775, 0.98, 0.935, 11111111, "6.4g", 0, "5.4g"); +pic3->SetHisTitle(true); +pic3->SetTitleAttr(0.15, 0.932561, 0.85, 0.995); +pic3->SetTitleTime(true); +pic3->SetTitleDate(true); +pic3->SetTitleItem(true); +pic3->SetAutoScale(true); +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_c010/Ch3/TDC_c010_Ch3_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, "+", 2048, 0); +pic3->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0); +go4->StartViewPanel(150, 150, 825, 669, Go4_normal, pic3); +delete pic3; + +TGo4Picture *pic4 = new TGo4Picture("pic4", "temporary object to setup viewpanel"); +pic4->SetCrosshair(false); +pic4->SetRangeX(-0.025, 0.255); +pic4->SetRangeY(0, 81610.2); +pic4->SetLineAtt(1, 1, 1, -1); +pic4->SetFillAtt(10, 1001, -1); +pic4->SetHisStats(true); +pic4->SetStatsAttr(0.78, 0.775, 0.98, 0.935, 11111111, "6.4g", 0, "5.4g"); +pic4->SetHisTitle(true); +pic4->SetTitleAttr(0.15, 0.932561, 0.85, 0.995); +pic4->SetTitleTime(true); +pic4->SetTitleDate(true); +pic4->SetTitleItem(true); +pic4->SetAutoScale(true); +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_c000/Ch4/TDC_c000_Ch4_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, "+", 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(546, 334, 825, 669, Go4_normal, pic4); +delete pic4; + +go4->StartMonitoring(2); diff --git a/users/panda_tof/register_configgbe.db b/users/panda_tof/register_configgbe.db new file mode 100755 index 0000000..e4153f6 --- /dev/null +++ b/users/panda_tof/register_configgbe.db @@ -0,0 +1,40 @@ + + + +!Register table +# Type # C0 # C1 # C2 # C3 # C4 # C5 # C6 # C7 # C8 # C9 # +###################################################################################################### + 0 0x8300 0x8301 0x8302 0x8303 0x8304 0x8305 0x8307 0x8309 0x830a 0x830b + + +!Value table +# SubEvtId SubEvtDec QueDec PackSize FrameSize UseGbE MultiQueue Enable RX Add.Slw.Head TType_inserted +# Hub # Type # C0 # C1 # C2 # C3 # C4 # C5 # C6 # C7 # C8 # C9 # +################################################################################################################################################### +# 0x7999 0 0x7999 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x1 + 0x8000 0 0x8000 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8001 0 0x8001 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8002 0 0x8002 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8003 0 0x8003 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8004 0 0x8004 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8005 0 0x8005 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8006 0 0x8006 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8007 0 0x8007 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8008 0 0x8008 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8009 0 0x8009 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8010 0 0x8010 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8011 0 0x8011 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8012 0 0x8012 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8013 0 0x8013 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8014 0 0x8014 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8015 0 0x8015 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8016 0 0x8016 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8017 0 0x8017 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8018 0 0x8018 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8019 0 0x8019 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8020 0 0x8020 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8021 0 0x8021 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8022 0 0x8022 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8023 0 0x8023 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8024 0 0x8024 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 +# 0x8025 0 0x8025 0x00020001 0x00030064 0x1DE8 0x578 1 0 1 1 0x0 diff --git a/users/panda_tof/register_configgbe_ip.db b/users/panda_tof/register_configgbe_ip.db new file mode 100755 index 0000000..e88c580 --- /dev/null +++ b/users/panda_tof/register_configgbe_ip.db @@ -0,0 +1,88 @@ +########################################################################################### +#Eventbuilders: +# EB 0: dircdac002 eth0 ports 50000 - 50099 + +!Register table +# Type # C0 # C1 # C2 # C3 # C4 # C5 # C6 # C7 # C8 # +########################################################################################### +#new memory locations + 0 0x8100 0x8101 0x8102 0x8103 0x8104 0x8105 0x8106 0x8107 0x8108 + 1 0x8110 0x8111 0x8112 0x8113 0x8114 0x8115 0x8116 0x8117 0x8118 + 2 0x8120 0x8121 0x8122 0x8123 0x8124 0x8125 0x8126 0x8127 0x8128 + 3 0x8130 0x8131 0x8132 0x8133 0x8134 0x8135 0x8136 0x8137 0x8138 + 4 0x8140 0x8141 0x8142 0x8143 0x8144 0x8145 0x8146 0x8147 0x8148 + 5 0x8150 0x8151 0x8152 0x8153 0x8154 0x8155 0x8156 0x8157 0x8158 + 6 0x8160 0x8161 0x8162 0x8163 0x8164 0x8165 0x8166 0x8167 0x8168 + 7 0x8170 0x8171 0x8172 0x8173 0x8174 0x8175 0x8176 0x8177 0x8178 + 8 0x8180 0x8181 0x8182 0x8183 0x8184 0x8185 0x8186 0x8187 0x8188 + 9 0x8190 0x8191 0x8192 0x8193 0x8194 0x8195 0x8196 0x8197 0x8198 + 10 0x81A0 0x81A1 0x81A2 0x81A3 0x81A4 0x81A5 0x81A6 0x81A7 0x81A8 + 11 0x81B0 0x81B1 0x81B2 0x81B3 0x81B4 0x81B5 0x81B6 0x81B7 0x81B8 + 12 0x81C0 0x81C1 0x81C2 0x81C3 0x81C4 0x81C5 0x81C6 0x81C7 0x81C8 + 13 0x81D0 0x81D1 0x81D2 0x81D3 0x81D4 0x81D5 0x81D6 0x81D7 0x81D8 + 14 0x81E0 0x81E1 0x81E2 0x81E3 0x81E4 0x81E5 0x81E6 0x81E7 0x81E8 + 15 0x81F0 0x81F1 0x81F2 0x81F3 0x81F4 0x81F5 0x81F6 0x81F7 0x81F8 + +!Value table +# Dest MAC Dest MAC Dest IP Dest Port Src MAC Src MAC Src IP Src Port Packet Size +# Hub # Type # C0 # C1 # C2 # C3 # C4 # C5 # C6 # C7 # C8 # +######################################################################################################################################## + +# 0x7999 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc350 0xdead8000 0x001b 0xc0a80000 0xc350 0x0578 + 0x8000 0 0x214397ea 0x001b 0xc0a80101 0xea60 0xdead8001 0x001b 0xc0a80001 0xc351 0x0578 +# 0x8001 0 0x214397ea 0x001b 0xc0a80101 0xc352 0xdead8002 0x001b 0xc0a80002 0xc352 0x0578 +# 0x8002 0 0x214397ea 0x001b 0xc0a80102 0xc353 0xdead8003 0x001b 0xc0a80003 0xc353 0x0578 +# 0x8003 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc354 0xdead8004 0x001b 0xc0a80004 0xc354 0x0578 +# 0x8004 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc355 0xdead8005 0x001b 0xc0a80005 0xc355 0x0578 +# 0x8005 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc356 0xdead8006 0x001b 0xc0a80006 0xc356 0x0578 +# 0x8006 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc357 0xdead8007 0x001b 0xc0a80007 0xc357 0x0578 +# 0x8007 0 0x214397ea 0x001b 0xc0a80101 0xc358 0xdead8008 0x001b 0xc0a80008 0xc358 0x0578 +# 0x8008 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc359 0xdead8009 0x001b 0xc0a80009 0xc359 0x0578 +# 0x8009 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc35a 0xdead8010 0x001b 0xc0a80010 0xc35a 0x0578 +# 0x8010 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc35b 0xdead8011 0x001b 0xc0a80011 0xc35b 0x0578 +# 0x8011 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc35c 0xdead8012 0x001b 0xc0a80012 0xc35c 0x0578 +# 0x8012 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc35d 0xdead8013 0x001b 0xc0a80013 0xc35d 0x0578 +# 0x8013 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc35e 0xdead8014 0x001b 0xc0a80014 0xc35e 0x0578 +# 0x8014 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc35f 0xdead8015 0x001b 0xc0a80015 0xc35f 0x0578 +# 0x8015 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc360 0xdead8016 0x001b 0xc0a80016 0xc360 0x0578 +# 0x8016 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc361 0xdead8017 0x001b 0xc0a80017 0xc361 0x0578 +# 0x8017 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc362 0xdead8018 0x001b 0xc0a80018 0xc362 0x0578 +# 0x8018 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc363 0xdead8019 0x001b 0xc0a80019 0xc363 0x0578 +# 0x8019 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc364 0xdead8020 0x001b 0xc0a80020 0xc364 0x0578 +# 0x8020 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc365 0xdead8021 0x001b 0xc0a80021 0xc365 0x0578 +# 0x8021 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc366 0xdead8022 0x001b 0xc0a80022 0xc366 0x0578 +# 0x8022 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc367 0xdead8023 0x001b 0xc0a80023 0xc367 0x0578 +# 0x8023 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc368 0xdead8024 0x001b 0xc0a80024 0xc368 0x0578 +# 0x8024 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc369 0xdead8025 0x001b 0xc0a80025 0xc369 0x0578 +# 0x8025 0 0x7a0b83ca 0x0cc4 0xc0a80002 0xc36a 0xdead8026 0x001b 0xc0a80026 0xc36a 0x00cc4 + + +# 0x7999 0 0x1e04f330 0x000e 0xc0a80002 0xc350 0xdead8000 0x001b 0xc0a80000 0xc350 0x0578 +# 0x8000 0 0x1e04f330 0x000e 0xc0a80002 0xc351 0xdead8001 0x001b 0xc0a80001 0xc351 0x0578 +# 0x8001 0 0x1e04f330 0x000e 0xc0a80002 0xc352 0xdead8002 0x001b 0xc0a80002 0xc352 0x0578 +# 0x8002 0 0x1e04f330 0x000e 0xc0a80002 0xc353 0xdead8003 0x001b 0xc0a80003 0xc353 0x0578 +# 0x8003 0 0x1e04f330 0x000e 0xc0a80002 0xc354 0xdead8004 0x001b 0xc0a80004 0xc354 0x0578 +# 0x8004 0 0x1e04f330 0x000e 0xc0a80002 0xc355 0xdead8005 0x001b 0xc0a80005 0xc355 0x0578 +# 0x8005 0 0x1e04f330 0x000e 0xc0a80002 0xc356 0xdead8006 0x001b 0xc0a80006 0xc356 0x0578 +# 0x8006 0 0x1e04f330 0x000e 0xc0a80002 0xc357 0xdead8007 0x001b 0xc0a80007 0xc357 0x0578 +# 0x8007 0 0x1e04f330 0x000e 0xc0a80002 0xc358 0xdead8008 0x001b 0xc0a80008 0xc358 0x0578 +# 0x8008 0 0x1e04f330 0x000e 0xc0a80002 0xc359 0xdead8009 0x001b 0xc0a80009 0xc359 0x0578 +# 0x8009 0 0x1e04f330 0x000e 0xc0a80002 0xc35a 0xdead8010 0x001b 0xc0a80010 0xc35a 0x0578 +# 0x8010 0 0x1e04f330 0x000e 0xc0a80002 0xc35b 0xdead8011 0x001b 0xc0a80011 0xc35b 0x0578 +# 0x8011 0 0x1e04f330 0x000e 0xc0a80002 0xc35c 0xdead8012 0x001b 0xc0a80012 0xc35c 0x0578 +# 0x8012 0 0x1e04f330 0x000e 0xc0a80002 0xc35d 0xdead8013 0x001b 0xc0a80013 0xc35d 0x0578 +# 0x8013 0 0x1e04f330 0x000e 0xc0a80002 0xc35e 0xdead8014 0x001b 0xc0a80014 0xc35e 0x0578 +# 0x8014 0 0x1e04f330 0x000e 0xc0a80002 0xc35f 0xdead8015 0x001b 0xc0a80015 0xc35f 0x0578 +# 0x8015 0 0x1e04f330 0x000e 0xc0a80002 0xc360 0xdead8016 0x001b 0xc0a80016 0xc360 0x0578 +# 0x8016 0 0x1e04f330 0x000e 0xc0a80002 0xc361 0xdead8017 0x001b 0xc0a80017 0xc361 0x0578 +# 0x8017 0 0x1e04f330 0x000e 0xc0a80002 0xc362 0xdead8018 0x001b 0xc0a80018 0xc362 0x0578 +# 0x8018 0 0x1e04f330 0x000e 0xc0a80002 0xc363 0xdead8019 0x001b 0xc0a80019 0xc363 0x0578 +# 0x8019 0 0x1e04f330 0x000e 0xc0a80002 0xc364 0xdead8020 0x001b 0xc0a80020 0xc364 0x0578 +# 0x8020 0 0x1e04f330 0x000e 0xc0a80002 0xc365 0xdead8021 0x001b 0xc0a80021 0xc365 0x0578 +# 0x8021 0 0x1e04f330 0x000e 0xc0a80002 0xc366 0xdead8022 0x001b 0xc0a80022 0xc366 0x0578 +# #0x8022 0 0x1e04f330 0x000e 0xc0a80002 0xc367 0xdead8023 0x001b 0xc0a80023 0xc367 0x0578 +# #0x8023 0 0x1e04f330 0x000e 0xc0a80002 0xc368 0xdead8024 0x001b 0xc0a80024 0xc368 0x0578 +# #0x8024 0 0x1e04f330 0x000e 0xc0a80002 0xc369 0xdead8025 0x001b 0xc0a80025 0xc369 0x0578 +# #0x8025 0 0x1e04f330 0x000e 0xc0a80002 0xc36a 0xdead8026 0x001b 0xc0a80026 0xc36a 0x0578 + + diff --git a/users/panda_tof/start_panda_tof.sh b/users/panda_tof/start_panda_tof.sh new file mode 100755 index 0000000..d50b514 --- /dev/null +++ b/users/panda_tof/start_panda_tof.sh @@ -0,0 +1,93 @@ +#!/bin/bash +# PATH should already be marked as exported... +#PATH=${HOME}/trbsoft/bin:${PATH} +#PATH=${HOME}/trbsoft/daqdata/bin:${PATH} +#PATH=${HOME}/trbsoft/trbnettools/bin:${PATH} +export TRB3_SERVER=trb113:26000 + +export TRBNETDPID=$(pgrep trbnetd) + +echo "- trbnetd pid: $TRBNETDPID" + +if [[ -z "$TRBNETDPID" ]] +then + ~/bin/trbnetd -i 113 + #~/trbsoft/trbnettools/binlocal/trbnetd -i 56 +fi + +#export TRB3_SERVER=trb056 + + +export DAQOPSERVER=localhost:113 +#export DAQOPSERVER=localhost + +echo -n "- number of trb endpoints in the system: " +trbcmd i 0xffff | wc -l + +################################################## +## System Reset +################################################## +#trbcmd reset + +################################################## +## Set addresses +################################################## +#~/trbsoft/daqtools/merge_serial_address.pl ~/trbsoft/daqtools/base/serials_trb3.db ~/trbsoft/daqtools/users/gsi_dirc/addresses_trb3.db > /dev/null +merge_serial_address.pl ~/trbsoft/daqtools/base/serials_trb3.db ~/trbsoft/daqtools/base/addresses_trb3.db > /dev/null + +################################################## +## Configure GbE for DAQ +################################################## +trbcmd w 0xff7f 0x8308 0xffffff # Trigger counter + +trbcmd w 0xff7f 0x830e 0x10 + +~/trbsoft/daqtools/tools/loadregisterdb.pl register_configgbe.db +~/trbsoft/daqtools/tools/loadregisterdb.pl register_configgbe_ip.db + +echo "ethernet registers configured" + +################################################## +## Configure TDCs +################################################## +#trbcmd w 0xfe48 0xc801 0x000f0005 ## trigger window enable & trigger window width +#trbcmd w 0xfe48 0xc800 0x00002000 ## Triggered mode +#trbcmd w 0xfe48 0xc800 0x00003000 ## Triggerless mode +#trbcmd w 0xfe48 0xc801 0x000f0005 ## trigger window enable & trigger window width + +trbcmd w 0xfe4c 0xc800 0x00001001 ## logic analyser control register +trbcmd w 0xfe4c 0xc801 0x8002000a ## triggerwindow -50/+10ns ;5ns granularity +#trbcmd w 0xfe48 0xc801 0x801e001e ## triggerwindow +/-150ns ;5ns granularity +trbcmd w 0xfe4c 0xc802 0x00000000 ## channel 01-32 enable + +trbcmd w 0xfe4c 0xc803 0x00000000 ## channel 33-64 enable +trbcmd w 0xfe4c 0xc804 0x00000080 ## data transfer limit + +trbcmd w 0xc003 0xc802 0x1 ## channel 01-32 enable +#trbcmd w 0xc001 0xc802 0xffffffff ## channel 01-32 enable +#trbcmd w 0xc003 0xc802 0xffffffff ## channel 01-32 enable +#trbcmd w 0xc010 0xc802 0xffffffff ## channel 01-32 enable +#trbcmd w 0xc001 0xc802 0xffffffff ## channel 01-32 enable + +# timeouts +trbcmd w 0xfffe 0xc5 0x800050ff + +# pulser #1 to 1k Hz +#trbcmd w 0x8000 0xa140 0x0001869f + +# pulser enable +trbcmd setbit 0x8000 0xa101 0x2 +#trbcmd clearbit 0x8000 0xa101 0x3 + +# divert TDC inputs to the CTS for trigger +echo "- divert TDC inputs to the CTS for trigger"; +trbcmd setbit 0xfe4c 0xcf00 0x1 + +echo "CTS: enable trigger input0 from TDC3" +trbcmd setbit 0x8000 0xa14d 0x10000 + +echo "ready to go" + +#echo "- setting trigger rate register in TDC"; +# trigger rate 10000Hz +trbcmd w 0x8000 0xa150 0x0000270f diff --git a/users/panda_tof/start_readout.pl b/users/panda_tof/start_readout.pl new file mode 100755 index 0000000..75e03ec --- /dev/null +++ b/users/panda_tof/start_readout.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl + +use warnings; +use strict; + +my $c; + +$c=q|pkill -f "daq_evtbuild -m 1"|; +qx($c); + +$c=q|pkill -f "daq_netmem -m 1"|; +qx($c); + + +$c=q|xterm -geometry 122x14-0+0 -e bash -c 'daq_evtbuild -m 1 -d file -o /tmp'|; +system("$c &"); +sleep 1; +$c="xterm -geometry 82x10-0+210 -e bash -c 'daq_netmem -m 1 -i UDP:127.0.0.1:60000'"; +system("$c &"); diff --git a/users/panda_tof/test_at_gsi.hotstart b/users/panda_tof/test_at_gsi.hotstart new file mode 100644 index 0000000..fa223a5 --- /dev/null +++ b/users/panda_tof/test_at_gsi.hotstart @@ -0,0 +1,80 @@ +// Automatically generated startup script +// Do not change it! + +go4->SetMainWindowState(4,"000000ff00000000fd00000002000000000000014600000284fc0200000001fb0000001600420072006f00770073006500720044006f0063006b0100000055000002840000007900ffffff00000003000004da000000d5fc0100000001fc00000000000004da0000003d00fffffffa000000000200000003fb00000016004c006f00670049006e0066006f0044006f0063006b0100000000ffffffff0000005200fffffffb0000001a004d006200730056006900650077006500720044006f0063006b0000000000ffffffff0000006400fffffffb0000001e0044004100420043004d006f006e00690074006f00720044006f0063006b0000000279000000ce00000000000000000000038e0000028400000004000000040000000800000008fc0000000800000002000000040000001600460069006c00650054006f006f006c0042006100720100000000ffffffff0000000000000000000000160047006f00340054006f006f006c007300420061007201000000e7ffffffff00000000000000000000001e0041006e0061006c00790073006900730054006f006f006c004200610072010000022b0000025800000000000000000000001a0044006900760069006400650050006100640044006f0063006b0000000395000000e40000000000000000000000020000000000000002000000020000002400420072006f0077007300650072004f007000740069006f006e00730044006f0063006b01000000000000010200000000000000000000001e0044007200610077004f007000740069006f006e00730044006f0063006b01000001020000037e00000000000000000000000200000002000000240048006900730044007200610077004f007000740069006f006e00730044006f0063006b0000000000000001290000000000000000000000180047006f0034005300740079006c00650044006f0063006b0000000000000004b10000000000000000000000020000000100000020005300630061006c0065004f007000740069006f006e00730044006f0063006b0000000000000004b10000000000000000000000030000000000000003000000010000001e0043006f006d006d0061006e0064004c0069006e00650044006f0063006b0000000000000004b1000000000000000000000003000000010000001c00540072006500650056006900650077006500720044006f0063006b0000000000000004b10000000000000000"); +go4->SetMainWindowGeometry(4,"01d9d0cb00010000000000140000000c000004f1000003fb0000001600000023000004ef000003f9000000000000"); + +go4->LaunchAnalysis("MyAnalysis", ".", "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:6790", 1); +go4->StepFileStore("Analysis", "NoOutputDefined", kTRUE, 32000, 99, 5); + +go4->SubmitAnalysisConfig(20); + +go4->SetAnalysisConfigMode(-1); +go4->SetAnalysisTerminalMode(1); + +go4->StartAnalysis(); + +// this is possibility to get extra histograms from analysis +// which are create shortly after analysis is started +go4->Wait(1); +go4->RefreshNamesList(); + +TGo4Picture *pic1 = new TGo4Picture("pic1", "temporary object to setup viewpanel"); +pic1->SetCrosshair(false); +pic1->SetRangeX(0.5, 32.5); +pic1->SetRangeY(0, 1.01366e+07); +pic1->SetLineAtt(1, 1, 1, -1); +pic1->SetFillAtt(10, 1001, -1); +pic1->SetHisStats(true); +pic1->SetStatsAttr(0.78, 0.775, 0.98, 0.935, 11111111, "6.4g", 0, "5.4g"); +pic1->SetHisTitle(true); +pic1->SetTitleAttr(0.15, 0.932527, 0.85, 0.995); +pic1->SetTitleTime(true); +pic1->SetTitleDate(true); +pic1->SetTitleItem(true); +pic1->SetAutoScale(true); +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_c003/TDC_c003_Channels", "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, "+", 2048, 0); +pic1->SetAxisAtt(2, 1, 1, 42, 0.005, 0.035, 510, 0.03, 1, 42, 1, 0.035, kFALSE, "+", 0, 0); +go4->StartViewPanel(79, 107, 728, 515, Go4_normal, pic1); +delete pic1; + +go4->MonitorItem("Analysis/Histograms/HLD", kFALSE); +go4->MonitorItem("Analysis/Histograms/TRB_8000", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c000", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c001", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c002", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/Ch0", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/Ch3", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/Ch5", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/Ch7", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/Ch6", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/Ch12", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/Ch4", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/TDC_c003_Errors", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/TDC_c003_UndetectedHits", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/TDC_c003_MsgKind", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/TDC_c003_FineTm", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/TDC_c003_CoarseTm", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c003/TDC_c003_RisingCalibr", kFALSE); +go4->MonitorItem("Analysis/Histograms/TRB_8001", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c010", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c011", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c012", kFALSE); +go4->MonitorItem("Analysis/Histograms/TDC_c013", kFALSE); +go4->StartMonitoring(2); diff --git a/web/CtsConfig.pm b/web/CtsConfig.pm index 36a6082..5863cc4 100644 --- a/web/CtsConfig.pm +++ b/web/CtsConfig.pm @@ -2,7 +2,7 @@ package CtsConfig; #default cts endpoint. can be overriden by a command line parameter sub getDefaultEndpoint { - return 0x7005; + return 0x8000; } 1;