From d7facb5b866a00155252e791241f09446b4d6e6c Mon Sep 17 00:00:00 2001 From: Cdaq Account <cdaq@cdaql1.jlab.org> Date: Thu, 2 Feb 2017 16:28:34 -0500 Subject: [PATCH] Updates for hodoscope new HMS Hodo timing offsets for 3/4 trigger save old HMS Hodo timing for 4/4 trigger new SHMS Hodo timing offsets for 3/4 trigger Updated HMS and SHMS onlineGUI config and macros --- .gitignore | 3 +- .rootrc | 1 + DEF-files/HMS/HODO/hhodoana.def | 56 ++- MAPS/db_cratemap.dat | 29 +- PARAM/HMS/HODO/hhodo.param | 2 +- PARAM/HMS/HODO/hhodo_4of4trigger.param | 190 ++++++++++ PARAM/SHMS/HODO/phodo.param | 2 +- onlineGUI/.gitignore | 1 + onlineGUI/.rootrc | 2 + onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg | 3 +- .../Config/HMS/HODO/good_hhodo_2d_dis.cfg | 3 +- onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg | 2 +- onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg | 352 ++++++++++++++++++ onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg | 12 + onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg | 130 +++++++ onlineGUI/Macros/gooddraw_2d_hhodo.C | 4 +- onlineGUI/Macros/gooddraw_2d_phodo.C | 278 ++++++++++++++ onlineGUI/Macros/hodo_efficiency.C | 4 +- onlineGUI/Macros/rawdraw_2d_phodo.C | 27 +- onlineGUI/README.md | 16 +- onlineGUI/onlineGUI_v1.2.1/online.C | 37 +- onlineGUI/onlineGUI_v1.2.1/online.h | 3 +- 22 files changed, 1091 insertions(+), 66 deletions(-) create mode 100644 .rootrc create mode 100644 PARAM/HMS/HODO/hhodo_4of4trigger.param create mode 100644 onlineGUI/.rootrc create mode 100644 onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg create mode 100644 onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg create mode 100644 onlineGUI/Macros/gooddraw_2d_phodo.C diff --git a/.gitignore b/.gitignore index 60234d01..ab3ace4c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ ROOTfiles/* #* hcana -raw \ No newline at end of file +raw +.root_history diff --git a/.rootrc b/.rootrc new file mode 100644 index 00000000..313d262d --- /dev/null +++ b/.rootrc @@ -0,0 +1 @@ +Rint.History: .root_history diff --git a/DEF-files/HMS/HODO/hhodoana.def b/DEF-files/HMS/HODO/hhodoana.def index 9fc89d0f..cc424fc3 100644 --- a/DEF-files/HMS/HODO/hhodoana.def +++ b/DEF-files/HMS/HODO/hhodoana.def @@ -38,15 +38,16 @@ TH2F hhodo_1y_neg_rawped_vs_pad 'HMS 1Y- Raw Pulse Pedestal vs. Paddle Number; P TH2F hhodo_2x_neg_rawped_vs_pad 'HMS 2X- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.2x.negAdcCounter H.hod.2x.negAdcPedRaw 16 0.5 16.5 400 0 4000 TH2F hhodo_2y_neg_rawped_vs_pad 'HMS 2Y- Raw Pulse Pedestal vs. Paddle Number; Paddle Number; Raw Pulse Pedestal / 10 ADC Units' H.hod.2y.negAdcCounter H.hod.2y.negAdcPedRaw 10 0.5 10.5 400 0 4000 -TH2F hhodo_1x_pos_rawpi_vs_pad 'HMS 1X+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1x.posAdcCounter H.hod.1x.posAdcPulseIntRaw 16 0.5 16.5 4000 0 40000 -TH2F hhodo_1y_pos_rawpi_vs_pad 'HMS 1Y+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1y.posAdcCounter H.hod.1y.posAdcPulseIntRaw 10 0.5 10.5 4000 0 40000 -TH2F hhodo_2x_pos_rawpi_vs_pad 'HMS 2X+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2x.posAdcCounter H.hod.2x.posAdcPulseIntRaw 16 0.5 16.5 4000 0 40000 -TH2F hhodo_2y_pos_rawpi_vs_pad 'HMS 2Y+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2y.posAdcCounter H.hod.2y.posAdcPulseIntRaw 10 0.5 10.5 4000 0 40000 -TH2F hhodo_1x_neg_rawpi_vs_pad 'HMS 1X- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1x.negAdcCounter H.hod.1x.negAdcPulseIntRaw 16 0.5 16.5 4000 0 40000 -TH2F hhodo_1y_neg_rawpi_vs_pad 'HMS 1Y- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1y.negAdcCounter H.hod.1y.negAdcPulseIntRaw 10 0.5 10.5 4000 0 40000 -TH2F hhodo_2x_neg_rawpi_vs_pad 'HMS 2X- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2x.negAdcCounter H.hod.2x.negAdcPulseIntRaw 16 0.5 16.5 4000 0 40000 -TH2F hhodo_2y_neg_rawpi_vs_pad 'HMS 2Y- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2y.negAdcCounter H.hod.2y.negAdcPulseIntRaw 10 0.5 10.5 4000 0 40000 +TH2F hhodo_1x_pos_rawpi_vs_pad 'HMS 1X+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1x.posAdcCounter H.hod.1x.posAdcPulseIntRaw 16 0.5 16.5 2000 0 20000 +TH2F hhodo_1y_pos_rawpi_vs_pad 'HMS 1Y+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1y.posAdcCounter H.hod.1y.posAdcPulseIntRaw 10 0.5 10.5 2000 0 20000 +TH2F hhodo_2x_pos_rawpi_vs_pad 'HMS 2X+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2x.posAdcCounter H.hod.2x.posAdcPulseIntRaw 16 0.5 16.5 2000 0 20000 +TH2F hhodo_2y_pos_rawpi_vs_pad 'HMS 2Y+ Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2y.posAdcCounter H.hod.2y.posAdcPulseIntRaw 10 0.5 10.5 2000 0 20000 + +TH2F hhodo_1x_neg_rawpi_vs_pad 'HMS 1X- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1x.negAdcCounter H.hod.1x.negAdcPulseIntRaw 16 0.5 16.5 2000 0 20000 +TH2F hhodo_1y_neg_rawpi_vs_pad 'HMS 1Y- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.1y.negAdcCounter H.hod.1y.negAdcPulseIntRaw 10 0.5 10.5 2000 0 20000 +TH2F hhodo_2x_neg_rawpi_vs_pad 'HMS 2X- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2x.negAdcCounter H.hod.2x.negAdcPulseIntRaw 16 0.5 16.5 2000 0 20000 +TH2F hhodo_2y_neg_rawpi_vs_pad 'HMS 2Y- Raw Pulse Integral vs. Paddle Number; Paddle Number; Raw Pulse Integral / 10 ADC Units' H.hod.2y.negAdcCounter H.hod.2y.negAdcPulseIntRaw 10 0.5 10.5 2000 0 20000 TH2F hhodo_1x_pos_rawpamp_vs_pad 'HMS 1X+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.1x.posAdcCounter H.hod.1x.posAdcPulseAmpRaw 16 0.5 16.5 410 0 4100 TH2F hhodo_1y_pos_rawpamp_vs_pad 'HMS 1Y+ Raw Pulse Amplitude vs. Paddle Number; Paddle Number; Raw Pulse Amplitude / 10 ADC Units' H.hod.1y.posAdcCounter H.hod.1y.posAdcPulseAmpRaw 10 0.5 10.5 410 0 4100 @@ -78,15 +79,6 @@ TH2F hhodo_1y_neg_raw_tdc_time_vs_pad 'HMS 1Y- Raw TDC Time vs. Paddle Number; P TH2F hhodo_2x_neg_raw_tdc_time_vs_pad 'HMS 2X- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2x.negTdcCounter H.hod.2x.negTdcTimeRaw 16 0.5 16.5 800 0 8000 TH2F hhodo_2y_neg_raw_tdc_time_vs_pad 'HMS 2Y- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2y.negTdcCounter H.hod.2y.negTdcTimeRaw 10 0.5 10.5 800 0 8000 -TH2F hhodo_1x_pos_ped_vs_pad 'HMS 1X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1x.posAdcCounter H.hod.1x.posAdcPed 16 0.5 16.5 400 0 4000 -TH2F hhodo_1y_pos_ped_vs_pad 'HMS 1Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1y.posAdcCounter H.hod.1y.posAdcPed 10 0.5 10.5 400 0 4000 -TH2F hhodo_2x_pos_ped_vs_pad 'HMS 2X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2x.posAdcCounter H.hod.2x.posAdcPed 16 0.5 16.5 400 0 4000 -TH2F hhodo_2y_pos_ped_vs_pad 'HMS 2Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2y.posAdcCounter H.hod.2y.posAdcPed 10 0.5 10.5 400 0 4000 - -TH2F hhodo_1x_neg_ped_vs_pad 'HMS 1X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1x.negAdcCounter H.hod.1x.negAdcPed 16 0.5 16.5 400 0 4000 -TH2F hhodo_1y_neg_ped_vs_pad 'HMS 1Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1y.negAdcCounter H.hod.1y.negAdcPed 10 0.5 10.5 400 0 4000 -TH2F hhodo_2x_neg_ped_vs_pad 'HMS 2X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2x.negAdcCounter H.hod.2x.negAdcPed 16 0.5 16.5 400 0 4000 -TH2F hhodo_2y_neg_ped_vs_pad 'HMS 2Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2y.negAdcCounter H.hod.2y.negAdcPed 10 0.5 10.5 400 0 4000 TH2F hhodo_1x_pos_pi_vs_pad 'HMS 1X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1x.posAdcCounter H.hod.1x.posAdcPulseInt 16 0.5 16.5 4000 0 40000 TH2F hhodo_1y_pos_pi_vs_pad 'HMS 1Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1y.posAdcCounter H.hod.1y.posAdcPulseInt 10 0.5 10.5 4000 0 40000 @@ -98,6 +90,36 @@ TH2F hhodo_1y_neg_pi_vs_pad 'HMS 1Y- Pulse Integral vs. Paddle Number; Paddle Nu TH2F hhodo_2x_neg_pi_vs_pad 'HMS 2X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2x.negAdcCounter H.hod.2x.negAdcPulseInt 16 0.5 16.5 4000 0 40000 TH2F hhodo_2y_neg_pi_vs_pad 'HMS 2Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2y.negAdcCounter H.hod.2y.negAdcPulseInt 10 0.5 10.5 4000 0 40000 +TH2F hhodo_1x_pos_raw_tdc_time_vs_pad 'HMS 1X+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.1x.posTdcCounter H.hod.1x.posTdcTimeRaw 16 0.5 16.5 200 0 10000 +TH2F hhodo_1y_pos_raw_tdc_time_vs_pad 'HMS 1Y+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.1y.posTdcCounter H.hod.1y.posTdcTimeRaw 10 0.5 10.5 200 0 10000 +TH2F hhodo_2x_pos_raw_tdc_time_vs_pad 'HMS 2X+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2x.posTdcCounter H.hod.2x.posTdcTimeRaw 16 0.5 16.5 200 0 10000 +TH2F hhodo_2y_pos_raw_tdc_time_vs_pad 'HMS 2Y+ Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2y.posTdcCounter H.hod.2y.posTdcTimeRaw 10 0.5 10.5 200 0 10000 + +TH2F hhodo_1x_neg_raw_tdc_time_vs_pad 'HMS 1X- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.1x.negTdcCounter H.hod.1x.negTdcTimeRaw 16 0.5 16.5 200 0 10000 +TH2F hhodo_1y_neg_raw_tdc_time_vs_pad 'HMS 1Y- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.1y.negTdcCounter H.hod.1y.negTdcTimeRaw 10 0.5 10.5 200 0 10000 +TH2F hhodo_2x_neg_raw_tdc_time_vs_pad 'HMS 2X- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2x.negTdcCounter H.hod.2x.negTdcTimeRaw 16 0.5 16.5 200 0 10000 +TH2F hhodo_2y_neg_raw_tdc_time_vs_pad 'HMS 2Y- Raw TDC Time vs. Paddle Number; Paddle Number; Raw TDC Time / 10 ADC Units' H.hod.2y.negTdcCounter H.hod.2y.negTdcTimeRaw 10 0.5 10.5 200 0 10000 + +TH2F hhodo_1x_pos_ped_vs_pad 'HMS 1X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1x.posAdcCounter H.hod.1x.posAdcPed 16 0.5 16.5 100 0 1000 +TH2F hhodo_1y_pos_ped_vs_pad 'HMS 1Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1y.posAdcCounter H.hod.1y.posAdcPed 10 0.5 10.5 100 0 1000 +TH2F hhodo_2x_pos_ped_vs_pad 'HMS 2X+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2x.posAdcCounter H.hod.2x.posAdcPed 16 0.5 16.5 100 0 1000 +TH2F hhodo_2y_pos_ped_vs_pad 'HMS 2Y+ Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2y.posAdcCounter H.hod.2y.posAdcPed 10 0.5 10.5 100 0 1000 + +TH2F hhodo_1x_neg_ped_vs_pad 'HMS 1X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1x.negAdcCounter H.hod.1x.negAdcPed 16 0.5 16.5 100 0 1000 +TH2F hhodo_1y_neg_ped_vs_pad 'HMS 1Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.1y.negAdcCounter H.hod.1y.negAdcPed 10 0.5 10.5 100 0 1000 +TH2F hhodo_2x_neg_ped_vs_pad 'HMS 2X- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2x.negAdcCounter H.hod.2x.negAdcPed 16 0.5 16.5 100 0 1000 +TH2F hhodo_2y_neg_ped_vs_pad 'HMS 2Y- Pulse Pedestal vs. Paddle Number; Paddle Number; Pulse Pedestal / 10 ADC Units' H.hod.2y.negAdcCounter H.hod.2y.negAdcPed 10 0.5 10.5 100 0 1000 + +TH2F hhodo_1x_pos_pi_vs_pad 'HMS 1X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1x.posAdcCounter H.hod.1x.posAdcPulseInt 16 0.5 16.5 1000 0 10000 +TH2F hhodo_1y_pos_pi_vs_pad 'HMS 1Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1y.posAdcCounter H.hod.1y.posAdcPulseInt 10 0.5 10.5 1000 0 10000 +TH2F hhodo_2x_pos_pi_vs_pad 'HMS 2X+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2x.posAdcCounter H.hod.2x.posAdcPulseInt 16 0.5 16.5 1000 0 10000 +TH2F hhodo_2y_pos_pi_vs_pad 'HMS 2Y+ Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2y.posAdcCounter H.hod.2y.posAdcPulseInt 10 0.5 10.5 1000 0 10000 + +TH2F hhodo_1x_neg_pi_vs_pad 'HMS 1X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1x.negAdcCounter H.hod.1x.negAdcPulseInt 16 0.5 16.5 1000 0 10000 +TH2F hhodo_1y_neg_pi_vs_pad 'HMS 1Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.1y.negAdcCounter H.hod.1y.negAdcPulseInt 10 0.5 10.5 1000 0 10000 +TH2F hhodo_2x_neg_pi_vs_pad 'HMS 2X- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2x.negAdcCounter H.hod.2x.negAdcPulseInt 16 0.5 16.5 1000 0 10000 +TH2F hhodo_2y_neg_pi_vs_pad 'HMS 2Y- Pulse Integral vs. Paddle Number; Paddle Number; Pulse Integral / 10 ADC Units' H.hod.2y.negAdcCounter H.hod.2y.negAdcPulseInt 10 0.5 10.5 1000 0 10000 + TH2F hhodo_1x_pos_pamp_vs_pad 'HMS 1X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.1x.posAdcCounter H.hod.1x.posAdcPulseAmp 16 0.5 16.5 410 0 4100 TH2F hhodo_1y_pos_pamp_vs_pad 'HMS 1Y+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.1y.posAdcCounter H.hod.1y.posAdcPulseAmp 10 0.5 10.5 410 0 4100 TH2F hhodo_2x_pos_pamp_vs_pad 'HMS 2X+ Pulse Amplitude vs. Paddle Number; Paddle Number; Pulse Amplitude / 10 ADC Units' H.hod.2x.posAdcCounter H.hod.2x.posAdcPulseAmp 16 0.5 16.5 410 0 4100 diff --git a/MAPS/db_cratemap.dat b/MAPS/db_cratemap.dat index a414bcc2..0b1ddd36 100644 --- a/MAPS/db_cratemap.dat +++ b/MAPS/db_cratemap.dat @@ -19,6 +19,22 @@ 20 1190 1190 +==== Crate 3 type vme Bank Decoding +# slot model bank + 4 1190 1190 + 5 1190 1190 + 7 1190 1190 + 8 1190 1190 + 10 1190 1190 + 13 1190 1190 + 14 1190 1190 + 16 1190 1190 + 17 1190 1190 + + +==== Crate 5 type vme Bank Decoding +# slot model bank + ==== Crate 2 type vme Bank Decoding # slot model bank 3 250 250 @@ -35,17 +51,6 @@ 19 1190 1190 20 1190 1190 -==== Crate 3 type vme Bank Decoding -# slot model bank - 4 1190 1190 - 5 1190 1190 - 7 1190 1190 - 8 1190 1190 - 10 1190 1190 - 13 1190 1190 - 14 1190 1190 - 16 1190 1190 - 17 1190 1190 ==== Crate 4 type vme Bank Decoding @@ -67,8 +72,6 @@ 19 250 250 20 250 250 -==== Crate 5 type vme Bank Decoding -# slot model bank ==== Crate 6 type vme Bank Decoding # slot model bank diff --git a/PARAM/HMS/HODO/hhodo.param b/PARAM/HMS/HODO/hhodo.param index abc4171d..4c994a57 100644 --- a/PARAM/HMS/HODO/hhodo.param +++ b/PARAM/HMS/HODO/hhodo.param @@ -7,7 +7,7 @@ hhodo_adc_mode=1 ; ; hhodo_tdc_offset is array of time offsets for all paddles in a plane ; to move the tdc to between 0 and 4000 channels. - hhodo_tdc_offset = 1300, 1300, 1300, 1300 + hhodo_tdc_offset = 1100, 1100, 1250, 1250 ; hstart_time_center center of allowed time window (ns) hstart_time_center = 32. ; hstart_time_slop 1/2 width of time window diff --git a/PARAM/HMS/HODO/hhodo_4of4trigger.param b/PARAM/HMS/HODO/hhodo_4of4trigger.param new file mode 100644 index 00000000..abc4171d --- /dev/null +++ b/PARAM/HMS/HODO/hhodo_4of4trigger.param @@ -0,0 +1,190 @@ +; for now manually set hte FADC mode +; 1 == Use the pulse int - pulse ped +; 2 == Use the sample integral - known ped +; 3 == Use the sample integral - sample ped +; if not set then defaults to use the raw pulse integral +hhodo_adc_mode=1 +; +; hhodo_tdc_offset is array of time offsets for all paddles in a plane +; to move the tdc to between 0 and 4000 channels. + hhodo_tdc_offset = 1300, 1300, 1300, 1300 +; hstart_time_center center of allowed time window (ns) + hstart_time_center = 32. +; hstart_time_slop 1/2 width of time window + hstart_time_slop = 25. +; hscin_tdc_min minimum tdc value in hms scin + hscin_tdc_min = 0 +; hscin_tdc_max maximum allowed tdc value + hscin_tdc_max = 4000 +; hscin_tdc_to_time scin tdc time per channel + hscin_tdc_to_time = 0.1 +; tof and you figured out good values + htof_tolerance = 30.0 +; +; hms_tof_params +; hnum_scin_counters, hhodo_zpos, hhodo_center_coord, hhodo_width +; are all calculated within h_init_scin +; hhodo_pos_coord and hhodo_neg_coord are not yet used +; + hhodo_slop = 2., 2., 4., 4. +; +htofusinginvadc=1 +; + +hhodo_pos_invadc_offset = 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 +; +hhodo_neg_invadc_offset = 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 +; +hhodo_pos_invadc_linear = 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 +hhodo_neg_invadc_linear = 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + +hhodo_pos_invadc_adc = 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 +; +hhodo_neg_invadc_adc = 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 + 0.000, 0.0000, 0.000, 0.000 +; + hhodo_vel_light = 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 +; + hhodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 +; + hhodo_neg_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + + + +; +hhodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 +; +hhodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + diff --git a/PARAM/SHMS/HODO/phodo.param b/PARAM/SHMS/HODO/phodo.param index f97bf18e..000a8899 100644 --- a/PARAM/SHMS/HODO/phodo.param +++ b/PARAM/SHMS/HODO/phodo.param @@ -7,7 +7,7 @@ phodo_adc_mode=1 ; ; hhodo_tdc_offset is array of time offsets for all paddles in a plane ; to move the tdc to between 0 and 4000 channels. - phodo_tdc_offset = 1800, 1800, 1800, 1800 + phodo_tdc_offset = 1300, 1300, 1300, 1300 ; pstart_time_center center of allowed time window pstart_time_center = 32. ; hstart_time_slop 1/2 width of time window diff --git a/onlineGUI/.gitignore b/onlineGUI/.gitignore index 1b2ec82a..b7de8db4 100644 --- a/onlineGUI/.gitignore +++ b/onlineGUI/.gitignore @@ -3,3 +3,4 @@ online *.d *# onlineDict.C +.root_history diff --git a/onlineGUI/.rootrc b/onlineGUI/.rootrc new file mode 100644 index 00000000..22df0bce --- /dev/null +++ b/onlineGUI/.rootrc @@ -0,0 +1,2 @@ +Rint.History: .root_history +Unix.*.Root.MacroPath: .:$(ROOTSYS)/macros:./Macros diff --git a/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg b/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg index ea319285..3f6f3f06 100644 --- a/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg +++ b/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg @@ -1,5 +1,4 @@ -#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root -protorootfile ../ROOTfiles/test_XXXXX.root +protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root guicolor lightblue canvassize 800 800 newpage 4 4 diff --git a/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg b/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg index dcfbabab..edd09396 100644 --- a/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg +++ b/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg @@ -1,5 +1,4 @@ -#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root -protorootfile ../ROOTfiles/test_XXXXX.root +protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root guicolor lightblue canvassize 800 800 newpage 4 4 diff --git a/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg b/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg index 8d3f72a7..4754dad3 100644 --- a/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg +++ b/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg @@ -1,5 +1,5 @@ #protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root -protorootfile ../ROOTfiles/test_XXXXX.root +protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root guicolor lightblue canvassize 800 800 newpage 4 4 diff --git a/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg b/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg new file mode 100644 index 00000000..3fd0676b --- /dev/null +++ b/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg @@ -0,0 +1,352 @@ +#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root +protorootfile ../ROOTfiles/phodo_replay_XXXXX.root +guicolor lightblue +canvassize 800 800 +newpage 4 4 +title X1 Neg ADc v TDC +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x1") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x2") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x3") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x4") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x5") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x6") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x13") +newpage 4 4 +title X1 Pos ADc v TDC +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x1") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x2") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x3") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x4") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x5") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x6") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1x13") +newpage 4 4 +title Y1 Neg ADc v TDC +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y1") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y2") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y3") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y4") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y5") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y6") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1y13") +newpage 4 4 +title Y1 Pos ADc v TDC +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y1") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y2") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y3") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y4") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y5") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y6") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos1y13") +newpage 4 4 +title X2 Neg ADc v TDC +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x1") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x2") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x3") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x4") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x5") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x6") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x13") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2x14") +newpage 4 4 +title X2 Pos ADc v TDC +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x1") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x2") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x3") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x4") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x5") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x6") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x13") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2x14") +newpage 3 4 +title Y2 Neg ADc v TDC +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y13") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y14") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y15") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg2y16") +newpage 3 4 +title Y2 Pos ADc v TDC +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y13") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y14") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y15") +macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcpos2y16") +newpage 4 4 +title X1 Eff Neg PMT +macro Macros/hodo_efficiency.C("uhdidneg1x1","uhshouldneg1x1") +macro Macros/hodo_efficiency.C("uhdidneg1x2","uhshouldneg1x2") +macro Macros/hodo_efficiency.C("uhdidneg1x3","uhshouldneg1x3") +macro Macros/hodo_efficiency.C("uhdidneg1x4","uhshouldneg1x4") +macro Macros/hodo_efficiency.C("uhdidneg1x5","uhshouldneg1x5") +macro Macros/hodo_efficiency.C("uhdidneg1x6","uhshouldneg1x6") +macro Macros/hodo_efficiency.C("uhdidneg1x7","uhshouldneg1x7") +macro Macros/hodo_efficiency.C("uhdidneg1x8","uhshouldneg1x8") +macro Macros/hodo_efficiency.C("uhdidneg1x9","uhshouldneg1x9") +macro Macros/hodo_efficiency.C("uhdidneg1x10","uhshouldneg1x10") +macro Macros/hodo_efficiency.C("uhdidneg1x11","uhshouldneg1x11") +macro Macros/hodo_efficiency.C("uhdidneg1x12","uhshouldneg1x12") +macro Macros/hodo_efficiency.C("uhdidneg1x13","uhshouldneg1x13") +newpage 4 4 +title X1 Eff Pos PMT +macro Macros/hodo_efficiency.C("uhdidpos1x1","uhshouldpos1x1") +macro Macros/hodo_efficiency.C("uhdidpos1x2","uhshouldpos1x2") +macro Macros/hodo_efficiency.C("uhdidpos1x3","uhshouldpos1x3") +macro Macros/hodo_efficiency.C("uhdidpos1x4","uhshouldpos1x4") +macro Macros/hodo_efficiency.C("uhdidpos1x5","uhshouldpos1x5") +macro Macros/hodo_efficiency.C("uhdidpos1x6","uhshouldpos1x6") +macro Macros/hodo_efficiency.C("uhdidpos1x7","uhshouldpos1x7") +macro Macros/hodo_efficiency.C("uhdidpos1x8","uhshouldpos1x8") +macro Macros/hodo_efficiency.C("uhdidpos1x9","uhshouldpos1x9") +macro Macros/hodo_efficiency.C("uhdidpos1x10","uhshouldpos1x10") +macro Macros/hodo_efficiency.C("uhdidpos1x11","uhshouldpos1x11") +macro Macros/hodo_efficiency.C("uhdidpos1x12","uhshouldpos1x12") +macro Macros/hodo_efficiency.C("uhdidpos1x13","uhshouldpos1x13") +newpage 3 4 +title Y1 Eff Neg PMT +macro Macros/hodo_efficiency.C("uhdidneg1y1","uhshouldneg1y1") +macro Macros/hodo_efficiency.C("uhdidneg1y2","uhshouldneg1y2") +macro Macros/hodo_efficiency.C("uhdidneg1y3","uhshouldneg1y3") +macro Macros/hodo_efficiency.C("uhdidneg1y4","uhshouldneg1y4") +macro Macros/hodo_efficiency.C("uhdidneg1y5","uhshouldneg1y5") +macro Macros/hodo_efficiency.C("uhdidneg1y6","uhshouldneg1y6") +macro Macros/hodo_efficiency.C("uhdidneg1y7","uhshouldneg1y7") +macro Macros/hodo_efficiency.C("uhdidneg1y8","uhshouldneg1y8") +macro Macros/hodo_efficiency.C("uhdidneg1y9","uhshouldneg1y9") +macro Macros/hodo_efficiency.C("uhdidneg1y10","uhshouldneg1y10") +macro Macros/hodo_efficiency.C("uhdidneg1y10","uhshouldneg1y11") +macro Macros/hodo_efficiency.C("uhdidneg1y10","uhshouldneg1y12") +macro Macros/hodo_efficiency.C("uhdidneg1y10","uhshouldneg1y13") +newpage 3 4 +title Y1 Eff Pos PMT +macro Macros/hodo_efficiency.C("uhdidpos1y1","uhshouldpos1y1") +macro Macros/hodo_efficiency.C("uhdidpos1y2","uhshouldpos1y2") +macro Macros/hodo_efficiency.C("uhdidpos1y3","uhshouldpos1y3") +macro Macros/hodo_efficiency.C("uhdidpos1y4","uhshouldpos1y4") +macro Macros/hodo_efficiency.C("uhdidpos1y5","uhshouldpos1y5") +macro Macros/hodo_efficiency.C("uhdidpos1y6","uhshouldpos1y6") +macro Macros/hodo_efficiency.C("uhdidpos1y7","uhshouldpos1y7") +macro Macros/hodo_efficiency.C("uhdidpos1y8","uhshouldpos1y8") +macro Macros/hodo_efficiency.C("uhdidpos1y9","uhshouldpos1y9") +macro Macros/hodo_efficiency.C("uhdidpos1y10","uhshouldpos1y10") +macro Macros/hodo_efficiency.C("uhdidpos1y10","uhshouldpos1y11") +macro Macros/hodo_efficiency.C("uhdidpos1y10","uhshouldpos1y12") +macro Macros/hodo_efficiency.C("uhdidpos1y10","uhshouldpos1y13") +newpage 4 4 +title X2 Eff Neg PMT +macro Macros/hodo_efficiency.C("uhdidneg2x1","uhshouldneg2x1") +macro Macros/hodo_efficiency.C("uhdidneg2x2","uhshouldneg2x2") +macro Macros/hodo_efficiency.C("uhdidneg2x3","uhshouldneg2x3") +macro Macros/hodo_efficiency.C("uhdidneg2x4","uhshouldneg2x4") +macro Macros/hodo_efficiency.C("uhdidneg2x5","uhshouldneg2x5") +macro Macros/hodo_efficiency.C("uhdidneg2x6","uhshouldneg2x6") +macro Macros/hodo_efficiency.C("uhdidneg2x7","uhshouldneg2x7") +macro Macros/hodo_efficiency.C("uhdidneg2x8","uhshouldneg2x8") +macro Macros/hodo_efficiency.C("uhdidneg2x9","uhshouldneg2x9") +macro Macros/hodo_efficiency.C("uhdidneg2x10","uhshouldneg2x10") +macro Macros/hodo_efficiency.C("uhdidneg2x11","uhshouldneg2x11") +macro Macros/hodo_efficiency.C("uhdidneg2x12","uhshouldneg2x12") +macro Macros/hodo_efficiency.C("uhdidneg2x13","uhshouldneg2x13") +macro Macros/hodo_efficiency.C("uhdidneg2x14","uhshouldneg2x14") +newpage 4 4 +title X2 Eff Pos PMT +macro Macros/hodo_efficiency.C("uhdidpos2x1","uhshouldpos2x1") +macro Macros/hodo_efficiency.C("uhdidpos2x2","uhshouldpos2x2") +macro Macros/hodo_efficiency.C("uhdidpos2x3","uhshouldpos2x3") +macro Macros/hodo_efficiency.C("uhdidpos2x4","uhshouldpos2x4") +macro Macros/hodo_efficiency.C("uhdidpos2x5","uhshouldpos2x5") +macro Macros/hodo_efficiency.C("uhdidpos2x6","uhshouldpos2x6") +macro Macros/hodo_efficiency.C("uhdidpos2x7","uhshouldpos2x7") +macro Macros/hodo_efficiency.C("uhdidpos2x8","uhshouldpos2x8") +macro Macros/hodo_efficiency.C("uhdidpos2x9","uhshouldpos2x9") +macro Macros/hodo_efficiency.C("uhdidpos2x10","uhshouldpos2x10") +macro Macros/hodo_efficiency.C("uhdidpos2x11","uhshouldpos2x11") +macro Macros/hodo_efficiency.C("uhdidpos2x12","uhshouldpos2x12") +macro Macros/hodo_efficiency.C("uhdidpos2x13","uhshouldpos2x13") +macro Macros/hodo_efficiency.C("uhdidpos2x14","uhshouldpos2x14") +newpage 3 4 +title Y2 Eff Neg PMT +macro Macros/hodo_efficiency.C("uhdidneg2y1","uhshouldneg2y7") +macro Macros/hodo_efficiency.C("uhdidneg2y2","uhshouldneg2y8") +macro Macros/hodo_efficiency.C("uhdidneg2y3","uhshouldneg2y9") +macro Macros/hodo_efficiency.C("uhdidneg2y4","uhshouldneg2y10") +macro Macros/hodo_efficiency.C("uhdidneg2y5","uhshouldneg2y11") +macro Macros/hodo_efficiency.C("uhdidneg2y6","uhshouldneg2y12") +macro Macros/hodo_efficiency.C("uhdidneg2y7","uhshouldneg2y13") +macro Macros/hodo_efficiency.C("uhdidneg2y8","uhshouldneg2y14") +macro Macros/hodo_efficiency.C("uhdidneg2y9","uhshouldneg2y15") +macro Macros/hodo_efficiency.C("uhdidneg2y10","uhshouldneg2y16") +newpage 3 4 +title Y2 Eff Pos PMT +macro Macros/hodo_efficiency.C("uhdidpos2y2","uhshouldpos2y7") +macro Macros/hodo_efficiency.C("uhdidpos2y3","uhshouldpos2y8") +macro Macros/hodo_efficiency.C("uhdidpos2y4","uhshouldpos2y9") +macro Macros/hodo_efficiency.C("uhdidpos2y5","uhshouldpos2y10") +macro Macros/hodo_efficiency.C("uhdidpos2y6","uhshouldpos2y11") +macro Macros/hodo_efficiency.C("uhdidpos2y7","uhshouldpos2y12") +macro Macros/hodo_efficiency.C("uhdidpos2y8","uhshouldpos2y13") +macro Macros/hodo_efficiency.C("uhdidpos2y9","uhshouldpos2y14") +macro Macros/hodo_efficiency.C("uhdidpos2y10","uhshouldpos2y15") +macro Macros/hodo_efficiency.C("uhdidpos2y10","uhshouldpos2y16") +newpage 4 4 +title X1 ADC int Pos vs Neg +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x1") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x2") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x3") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x4") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x5") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x6") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1x13") +newpage 3 4 +title Y1 ADC int Pos vs Neg +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y1") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y2") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y3") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y4") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y5") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y6") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc1y13") +newpage 4 4 +title X2 ADC int Pos vs Neg +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x1") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x2") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x3") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x4") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x5") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x6") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x13") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2x14") +newpage 3 4 +title Y2 ADC int Pos vs Neg +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y7") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y8") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y9") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y10") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y11") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y12") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y13") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y14") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y15") +macro Macros/gooddraw_2d_phodo.C("uh2dadcintgtdc2y16") +newpage 4 4 +title X1 TDC Pos vs Neg +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x1") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x2") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x3") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x4") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x5") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x6") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x7") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x8") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x9") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x10") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x11") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x12") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1x13") +newpage 3 4 +title Y1 TDC Pos vs Neg +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y1") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y2") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y3") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y4") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y5") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y6") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y7") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y8") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y9") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y10") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y11") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y12") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc1y13") +newpage 4 4 +title X2 TDC Pos vs Neg +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x1") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x2") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x3") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x4") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x5") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x6") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x7") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x8") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x9") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x10") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x11") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x12") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x13") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2x14") +newpage 3 4 +title Y2 TDC Pos vs Neg +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y7") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y8") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y9") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y10") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y11") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y12") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y13") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y14") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y15") +macro Macros/gooddraw_2d_phodo.C("uh2dtdc2y16") diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg index 29da09c2..af177db3 100644 --- a/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg +++ b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg @@ -118,6 +118,18 @@ macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y13") macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y14") macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y15") macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y16") +newpage 3 4 +title Y2 ADC int cut Pos vs Neg +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y7") +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y8") +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y9") +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y10") +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y11") +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y12") +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y13") +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y14") +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y15") +macro Macros/rawdraw_2d_phodo.C("uh2dadcintcut2y16") newpage 4 4 title X1 TDC Pos vs Neg macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x1") diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg new file mode 100644 index 00000000..82313b77 --- /dev/null +++ b/onlineGUI/Config/SHMS/HODO/raw_phodoana.cfg @@ -0,0 +1,130 @@ +#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root +protorootfile ../ROOTfiles/phodo_replay_XXXXX.root +guicolor lightblue +canvassize 800 800 +newpage 2 2 +title SHMS Hodo Nhits +phodo_h1x_multi +phodo_h1y_multi +phodo_h2x_multi +phodo_h2y_multi +newpage 2 2 +title SHMS Hodo Raw ADC Occupancy +macro Macros/overlay.C("phodo_h1xp_adc_occu","phodo_h1xm_adc_occu") +macro Macros/overlay.C("phodo_h1yp_adc_occu","phodo_h1ym_adc_occu") +macro Macros/overlay.C("phodo_h2xp_adc_occu","phodo_h2xm_adc_occu") +macro Macros/overlay.C("phodo_h2yp_adc_occu","phodo_h2ym_adc_occu") +newpage 2 2 +title SHMS Hodo Raw TDC Occupancy +macro Macros/overlay.C("phodo_h1xp_tdc_occu","phodo_h1xm_tdc_occu") +macro Macros/overlay.C("phodo_h1yp_tdc_occu","phodo_h1ym_tdc_occu") +macro Macros/overlay.C("phodo_h2xp_tdc_occu","phodo_h2xm_tdc_occu") +macro Macros/overlay.C("phodo_h2yp_tdc_occu","phodo_h2ym_tdc_occu") +newpage 2 2 +title SHMS Hodo Raw Ped PMT+ +phodo_1x_pos_rawped_vs_pad -type colz +phodo_1y_pos_rawped_vs_pad -type colz +phodo_2x_pos_rawped_vs_pad -type colz +phodo_2y_pos_rawped_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Raw Ped PMT- +phodo_1x_neg_rawped_vs_pad -type colz +phodo_1y_neg_rawped_vs_pad -type colz +phodo_2x_neg_rawped_vs_pad -type colz +phodo_2y_neg_rawped_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Raw Int PMT+ +phodo_1x_pos_rawpi_vs_pad -type colz +phodo_1y_pos_rawpi_vs_pad -type colz +phodo_2x_pos_rawpi_vs_pad -type colz +phodo_2y_pos_rawpi_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Raw Int PMT- +phodo_1x_neg_rawpi_vs_pad -type colz +phodo_1y_neg_rawpi_vs_pad -type colz +phodo_2x_neg_rawpi_vs_pad -type colz +phodo_2y_neg_rawpi_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Raw Peak PMT+ +phodo_1x_pos_rawpamp_vs_pad -type colz +phodo_1y_pos_rawpamp_vs_pad -type colz +phodo_2x_pos_rawpamp_vs_pad -type colz +phodo_2y_pos_rawpamp_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Raw Peak PMT- +phodo_1x_neg_rawpamp_vs_pad -type colz +phodo_1y_neg_rawpamp_vs_pad -type colz +phodo_2x_neg_rawpamp_vs_pad -type colz +phodo_2y_neg_rawpamp_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Raw Adc Time PMT+ +phodo_1x_pos_rawptime_vs_pad -type colz +phodo_1y_pos_rawptime_vs_pad -type colz +phodo_2x_pos_rawptime_vs_pad -type colz +phodo_2y_pos_rawptime_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Raw ADc Time PMT- +phodo_1x_neg_rawptime_vs_pad -type colz +phodo_1y_neg_rawptime_vs_pad -type colz +phodo_2x_neg_rawptime_vs_pad -type colz +phodo_2y_neg_rawptime_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Raw TDC time PMT+ +phodo_1x_pos_raw_tdc_time_vs_pad -type colz +phodo_1y_pos_raw_tdc_time_vs_pad -type colz +phodo_2x_pos_raw_tdc_time_vs_pad -type colz +phodo_2y_pos_raw_tdc_time_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Raw TDC time PMT- +phodo_1x_neg_raw_tdc_time_vs_pad -type colz +phodo_1y_neg_raw_tdc_time_vs_pad -type colz +phodo_2x_neg_raw_tdc_time_vs_pad -type colz +phodo_2y_neg_raw_tdc_time_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Ped PMT+ +phodo_1x_pos_ped_vs_pad -type colz +phodo_1y_pos_ped_vs_pad -type colz +phodo_2x_pos_ped_vs_pad -type colz +phodo_2y_pos_ped_vs_pad -type colz +newpage 2 2 +title SHMS Hodo Ped PMT- +phodo_1x_neg_ped_vs_pad -type colz +phodo_1y_neg_ped_vs_pad -type colz +phodo_2x_neg_ped_vs_pad -type colz +phodo_2y_neg_ped_vs_pad -type colz +newpage 2 2 +title SHMS Hodo ADC Int PMT+ +phodo_1x_pos_pi_vs_pad -type colz +phodo_1y_pos_pi_vs_pad -type colz +phodo_2x_pos_pi_vs_pad -type colz +phodo_2y_pos_pi_vs_pad -type colz +newpage 2 2 +title SHMS Hodo ADC Int PMT- +phodo_1x_neg_pi_vs_pad -type colz +phodo_1y_neg_pi_vs_pad -type colz +phodo_2x_neg_pi_vs_pad -type colz +phodo_2y_neg_pi_vs_pad -type colz +newpage 2 2 +title SHMS Hodo ADC Peak PMT+ +phodo_1x_pos_pamp_vs_pad -type colz +phodo_1y_pos_pamp_vs_pad -type colz +phodo_2x_pos_pamp_vs_pad -type colz +phodo_2y_pos_pamp_vs_pad -type colz +newpage 2 2 +title SHMS Hodo ADc Peak PMT- +phodo_1x_neg_pamp_vs_pad -type colz +phodo_1y_neg_pamp_vs_pad -type colz +phodo_2x_neg_pamp_vs_pad -type colz +phodo_2y_neg_pamp_vs_pad -type colz +newpage 2 2 +title SHMS Hodo TDC time PMT+ +phodo_1x_pos_tdc_time_vs_pad -type colz +phodo_1y_pos_tdc_time_vs_pad -type colz +phodo_2x_pos_tdc_time_vs_pad -type colz +phodo_2y_pos_tdc_time_vs_pad -type colz +newpage 2 2 +title SHMS Hodo TDC time PMT- +phodo_1x_neg_tdc_time_vs_pad -type colz +phodo_1y_neg_tdc_time_vs_pad -type colz +phodo_2x_neg_tdc_time_vs_pad -type colz +phodo_2y_neg_tdc_time_vs_pad -type colz diff --git a/onlineGUI/Macros/gooddraw_2d_hhodo.C b/onlineGUI/Macros/gooddraw_2d_hhodo.C index 89c3fa19..4c28b069 100644 --- a/onlineGUI/Macros/gooddraw_2d_hhodo.C +++ b/onlineGUI/Macros/gooddraw_2d_hhodo.C @@ -36,8 +36,8 @@ void UserScript() Double_t fac_for_disc[4]= {2.0,2.,2.,2.};// Factor to have ADC at FADC match signal at discriminatir assuming split of 2/3 to 1/3( 2Y plane has linear FI/FO not a splitter) Int_t nhits[NPLANES]; - Double_t adc_tdc_ymin[4]={45.,45.,35.,35.}; - Double_t adc_tdc_ymax[4]={65.,65.,55.,55.}; + Double_t adc_tdc_ymin[4]={20.,20.,20.,20.}; + Double_t adc_tdc_ymax[4]={45.,45.,45.,45.}; Int_t nhits_temp; Double_t paddles[NPLANES][MAXHITS]; diff --git a/onlineGUI/Macros/gooddraw_2d_phodo.C b/onlineGUI/Macros/gooddraw_2d_phodo.C new file mode 100644 index 00000000..a6ef9a47 --- /dev/null +++ b/onlineGUI/Macros/gooddraw_2d_phodo.C @@ -0,0 +1,278 @@ +// UserScript.C +// +// Helper macro to build additional histograms + +void UserScript() +{ + + const UInt_t NPLANES = 4; + const UInt_t NSIDES = 2; + const UInt_t MAXBARS = 21; + const UInt_t MAXHITS = 16*16; + const UInt_t NSIGNALS = 2; + const UInt_t NADCSIGNALS = 1; + const UInt_t NTDCSIGNALS = 3; + + const TString SPECTROMETER = "P"; + const TString DETECTOR = "hod"; + + const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"}; + const TString plane_check_names[NPLANES] = {"1y", "1x", "2y", "2x"}; + const UInt_t nbars[NPLANES] = {13, 13, 14, 21}; + const UInt_t nbars_check[NPLANES] = {13, 13, 21, 14}; + const TString sides[NSIDES] = {"GoodNeg", "GoodPos"}; + const TString signals[NSIGNALS] = {"Adc", "Tdc"}; + const TString adc_signals[NADCSIGNALS] = {"PulseInt"}; + const Double_t adc_min[NADCSIGNALS] = {0}; + const Double_t adc_max[NADCSIGNALS] = {5000}; + const Int_t adc_nbins[NADCSIGNALS] = {500}; + const TString tdc_signals[NTDCSIGNALS] = {"Chan", "TimeCorr", "TimeTOFCorr"}; + const Double_t tdc_min[NTDCSIGNALS] = {0.,0.,0.}; + const Double_t tdc_max[NTDCSIGNALS] = {4000.,50.,50.}; + const Int_t tdc_nbins[NTDCSIGNALS] = {100,500,500}; + + Double_t adcbit_to_pC = 1.0/(50*4096)*4*1000. ;// 1V/(50 Ohms)/4096*4ns* = .020 pC + Double_t adcpeak_to_mV = 1.0/4096.*1000;// 1.0V per 4096 bits + Double_t fac_for_disc[4]= {2.0,2.,2.,2.};// Factor to have ADC at FADC match signal at discriminatir assuming split of 2/3 to 1/3( 2Y plane has linear FI/FO not a splitter) + + Int_t nhits[NPLANES]; + Double_t adc_tdc_ymin[4]={20.,20.,20.,20.}; + Double_t adc_tdc_ymax[4]={45.,45.,45.,45.}; + Int_t nhits_temp; + Double_t paddles[NPLANES][MAXHITS]; + + + Double_t adc_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS]; + Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS]; + + + // + TH2F* htdc_tdc[NPLANES*MAXBARS]; + TH2F* hadc_adc[NPLANES*MAXBARS]; + TH2F* hadc_adc_good[NPLANES*MAXBARS]; + TH2F* hadc_tdc[NPLANES*MAXBARS][2]; + /* + make histogram of plane ADC versus position in perpendicalur plane + */ + TH2F* hadc_dis[NPLANES*MAXBARS][2]; + Int_t dis_bin[4]={13,13,21,14}; + Double_t dis_min[4]; + Double_t dis_max[4]; + Double_t dis_center_pad1[4]={33.75,-56.25,33.75,-56.25}; + Double_t dis_sign[4]={-1.,1.,-1.,1.}; + Double_t dis_space=7.5; + /* +Histograms for Neg and Pos PMT efficiencies as function of paddle in other perpendicular plane + Each X1 paddle efficiency as function of Y1 paddle. + Each Y1 paddle efficiency as function of X1 paddle. + Each X2 paddle efficiency as function of Y2 paddle. + Each Y2 paddle efficiency as function of X2 paddle. +Tree has data in which at least one PMT had a good TDC time. +If the other PMT did not have a good time then its TDC =-999. +For each event +Set good_should=kTRUE if nhits==1 all planes. +Loop through all hits in each plane ip=0,3 + If good_should=kTRUE and tdc_neg_val>0 good_neg[ip][bar]=kTRUE + If good_should=kTRUE and tdc_pos_val>0 good_neg[ip][bar]=kTRUE +endloop +Loop through all planes and all bars in that plane ib=0,nbars[ip] + if good_pos[ip][ib] then negative end should have had a hit + fill "should" neg PMT histogram with perpendicular paddle + if good_pos[ip][ib] and good_neg[ip][ib] + fill "did" neg PMT histogram with perpendicular paddle + if good_neg[ip][ib] then positive end should have had a hit + fill "should" pos PMT histogram with perpendicular paddle + if good_pos[ip][ib] and good_neg[ip][ib] + fill "did" pos PMT histogram with perpendicular paddle +end event +Efficiency is ratio of did/should which is calculated using hodo_efficiency.C + */ + TH1F* hgood_neg_should[4][MAXBARS]; + TH1F* hgood_pos_should[4][MAXBARS]; + TH1F* hgood_neg_did[4][MAXBARS]; + TH1F* hgood_pos_did[4][MAXBARS]; + // + Int_t adc_ihit, tdc_ihit; + + TTree *T=(TTree*)gDirectory->Get("T"); + // + for(UInt_t ip = 0; ip < NPLANES; ip++) { + for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) { + TString i2dbarname = Form("%d",ibar+1); + TString h2dttitle= "TDC 1ns/chan "+plane_names[ip]+i2dbarname+"; Neg ; Pos "; + TString h2dtname="uh2dtdc"+plane_names[ip]+i2dbarname; + htdc_tdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,200,25,75,200,25,75.); + TString h2dnegtitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles; Counts neg "; + TString h2dnegname="uhdidneg"+plane_names[ip]+i2dbarname; + hgood_neg_did[ip][ibar]= new TH1F(h2dnegname,h2dnegtitle,nbars_check[ip],1,nbars_check[ip]+1); + TString h2dnegtitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles; Counts neg "; + TString h2dnegname="uhshouldneg"+plane_names[ip]+i2dbarname; + hgood_neg_should[ip][ibar]= new TH1F(h2dnegname,h2dnegtitle,nbars_check[ip],1,nbars_check[ip]+1); + TString h2dpostitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles;Counts pos "; + TString h2dposname="uhdidpos"+plane_names[ip]+i2dbarname; + hgood_pos_did[ip][ibar]= new TH1F(h2dposname,h2dpostitle,nbars_check[ip],1,nbars_check[ip]+1); + TString h2dpostitle="Pos PMT Pad "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles;Counts pos "; + TString h2dposname="uhshouldpos"+plane_names[ip]+i2dbarname; + hgood_pos_should[ip][ibar]= new TH1F(h2dposname,h2dpostitle,nbars_check[ip],1,nbars_check[ip]+1); + } + } + // + // + for(UInt_t ip = 0; ip < NPLANES; ip++) { + for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) { + TString i2dbarname = Form("%d",ibar+1); + TString h2dttitle= "ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)"; + TString h2dtname="uh2dadcint"+plane_names[ip]+i2dbarname; + hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.); + TString h2dttitle= "Good TDC ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)"; + TString h2dtname="uh2dadcintgtdc"+plane_names[ip]+i2dbarname; + hadc_adc_good[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.); + TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; Adc (pC); Time (ns)"; + TString h2dtname="uh2dadcvtdcneg"+plane_names[ip]+i2dbarname; + hadc_tdc[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,50,0,100,50,adc_tdc_ymin[ip],adc_tdc_ymax[ip]); + TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+"; Adc (pC); Time (ns)"; + TString h2dtname="uh2dadcvtdcpos"+plane_names[ip]+i2dbarname; + hadc_tdc[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,50,0,100,50,adc_tdc_ymin[ip],adc_tdc_ymax[ip]); + TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; Pos (cm); Adc (pC)"; + TString h2dtname="uh2dadcvdisneg"+plane_names[ip]+i2dbarname; + hadc_dis[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],dis_sign[ip]*dis_center_pad1[ip]-dis_space/2.,-dis_sign[ip]*dis_center_pad1[ip]+dis_space/2.,50,0,100); + TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+"; Pos (cm); Adc (pC)"; + TString h2dtname="uh2dadcvdispos"+plane_names[ip]+i2dbarname; + hadc_dis[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],dis_sign[ip]*dis_center_pad1[ip]-dis_space/2.,-dis_sign[ip]*dis_center_pad1[ip]+dis_space/2.,50,0,100); + } + } + // set up branches + + for(UInt_t ip = 0; ip < NPLANES; ip++) { + TString base2_name = SPECTROMETER+"."+DETECTOR+"."+plane_names[ip]; + TString ndata_name = "Ndata."+base2_name+".GoodPaddle"; + T->SetBranchAddress(ndata_name, &nhits[ip]); + TString paddle_name = base2_name+".GoodPaddle"; + T->SetBranchAddress(paddle_name, &paddles[ip][0]); + //s cout << ip << " " << paddle_name << endl; + for(UInt_t iside = 0; iside < NSIDES; iside++) { + for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) { + + if(signals[isignal] == "Adc") { + TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+ + plane_names[ip]+"."+sides[iside]+signals[isignal]; + for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) { + TString adclist_name = adc_base_name+adc_signals[iadcsignal]; + T->SetBranchAddress(adclist_name, &adc_values[ip][iside][iadcsignal][0]); + } + } + + if(signals[isignal] == "Tdc") { + TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+ + plane_names[ip]+"."+sides[iside]+signals[isignal]; + for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) { + TString tdclist_name = tdc_base_name+tdc_signals[itdcsignal]; + T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]); + } + } + } // isginal + } //iside + } // ip + // Loop over the events, filling the histograms + Bool_t good_should; + Double_t good_pad[4]; + Double_t good_adc[4][2]; + Int_t check_plane[4]={1,0,3,2}; + Bool_t good_neg[4][MAXBARS],good_pos[4][MAXBARS]; + for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) { + T->GetEntry(iev); + if (iev%10000==0) cout << " iev = " << iev << endl; + // get events with x paddle number equal and y paddle equal + // + good_should=kFALSE; + for(UInt_t ip = 0; ip < NPLANES; ip++){ + for(UInt_t ib = 0; ib < nbars[ip]; ib++){ + good_neg[ip][ib]=kFALSE; + good_pos[ip][ib]=kFALSE; + } + } + if (nhits[0]==1&&nhits[1]==1&&nhits[2]==1&&nhits[3]==1) good_should = kTRUE; + for(UInt_t ip = 0; ip < NPLANES; ip++){ + // cout << iev << " plane = " << ip+1 << " nhits = " << nhits[ip]<< endl; + for(Int_t ihit = 0; ihit < nhits[ip]; ihit++) { + UInt_t bar = TMath::Nint(paddles[ip][ihit]) - 1; + Double_t tdc_neg_val = tdc_values[ip][0][1][ihit]; + Double_t tdc_pos_val =tdc_values[ip][1][1][ihit]; + Double_t adc_neg_val = adc_values[ip][0][0][ihit]*adcbit_to_pC; + Double_t adc_pos_val = adc_values[ip][1][0][ihit]*adcbit_to_pC; + // cout << " " << ihit << " " << bar << " " << tdc_neg_val << endl; + htdc_tdc[ip*MAXBARS+bar]->Fill(tdc_neg_val,tdc_pos_val); + if (tdc_neg_val > 0 && tdc_pos_val >0) hadc_adc[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val); + hadc_adc[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val); + if (tdc_pos_val>0 && tdc_neg_val>0 ) { + hadc_adc_good[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val); + hadc_tdc[ip*MAXBARS+bar][0]->Fill(adc_neg_val,tdc_neg_val); + hadc_tdc[ip*MAXBARS+bar][1]->Fill(adc_pos_val,tdc_pos_val); + } + good_pad[ip]=bar+1; + good_adc[ip][0]=adc_neg_val; + good_adc[ip][1]=adc_pos_val; + if (good_should && tdc_neg_val>0 ) good_neg[ip][bar]=kTRUE; + if (good_should && tdc_pos_val>0 ) good_pos[ip][bar]=kTRUE; + } + } + // + if (good_should ) { + for(UInt_t ip = 0; ip < NPLANES; ip++){ + // cout << " ip = " << ip << " " << good_should<< endl; + // cout << " pad = " << good_pad[check_plane[ip]] << " check_plane = " << check_plane[ip] << endl; + for(UInt_t ib = 0; ib < nbars[ip]; ib++){ + // cout << ib << " " << good_neg[ip][ib] << " " << good_pos[ip][ib] << endl; + if (good_pos[ip][ib]) hgood_neg_should[ip][ib]->Fill(good_pad[check_plane[ip]]); + if (good_neg[ip][ib]) hgood_pos_should[ip][ib]->Fill(good_pad[check_plane[ip]]); + if (good_neg[ip][ib] && good_pos[ip][ib]) { + hgood_neg_did[ip][ib]->Fill(good_pad[check_plane[ip]]); + hgood_pos_did[ip][ib]->Fill(good_pad[check_plane[ip]]); + hadc_dis[ip*MAXBARS+ib][0]->Fill(dis_center_pad1[ip]+dis_sign[ip]*dis_space*(good_pad[check_plane[ip]]-1),good_adc[ip][0]); + hadc_dis[ip*MAXBARS+ib][1]->Fill(dis_center_pad1[ip]+dis_sign[ip]*dis_space*(good_pad[check_plane[ip]]-1),good_adc[ip][1]); + } + } + } + } + } // loop over entries + // + return; +} + + + +void gooddraw_2d_phodo(TString histname) { + + TH1F* h1d; + TH2F* h2d; + + h1d = (TH1F*) gDirectory->Get(histname); + h2d = (TH2F*) gDirectory->Get(histname); + if(!h1d && !h2d) { + UserScript(); + h1d = (TH1F*) gDirectory->Get(histname); + h2d = (TH2F*) gDirectory->Get(histname); + if(!h1d || !h2d) { + cout << "User histogram " << histname << " not found" << endl; + exit(1); + } + } + if (h2d) { + h2d->SetStats(0); + h2d->Draw("colz"); + h2d->GetXaxis()->SetTitleOffset(.6); + h2d->GetXaxis()->SetTitleSize(0.08); + h2d->GetYaxis()->SetTitleOffset(.6); + h2d->GetYaxis()->SetTitleSize(0.08); + } + else { + cout << "1d drawing " << histname << endl; + h1d->SetStats(0); + h1d->Draw(); + h1d->GetXaxis()->SetTitleOffset(.6); + h1d->GetXaxis()->SetTitleSize(0.08); + h1d->GetYaxis()->SetTitleOffset(.6); + h1d->GetYaxis()->SetTitleSize(0.08); + } +} + diff --git a/onlineGUI/Macros/hodo_efficiency.C b/onlineGUI/Macros/hodo_efficiency.C index ebc5686c..a8dd7cd0 100644 --- a/onlineGUI/Macros/hodo_efficiency.C +++ b/onlineGUI/Macros/hodo_efficiency.C @@ -10,8 +10,8 @@ void hodo_efficiency(TString hist1name, TString hist2name){ TH1F* Hratio=(TH1F*)H1->Clone(); Hratio->Divide(H1,H2,1,1,"B"); Hratio->SetStats(0); - // Hratio->SetMinimum(0.4); - Hratio->SetMaximum(1.1); + Hratio->SetMinimum(0.95); + Hratio->SetMaximum(1.05); Hratio->Draw("EP"); Hratio->GetXaxis()->SetTitleOffset(.6); Hratio->GetXaxis()->SetTitleSize(0.08); diff --git a/onlineGUI/Macros/rawdraw_2d_phodo.C b/onlineGUI/Macros/rawdraw_2d_phodo.C index c9056361..6ec7a400 100644 --- a/onlineGUI/Macros/rawdraw_2d_phodo.C +++ b/onlineGUI/Macros/rawdraw_2d_phodo.C @@ -52,6 +52,8 @@ void UserScript() TH2F* htdc_tdc[NPLANES*MAXBARS]; TH2F* hadc_adc[NPLANES*MAXBARS]; TH2F* hadcint_adcint[NPLANES*MAXBARS]; + TH2F* hadc_adc_cut[NPLANES*MAXBARS]; + TH2F* hadcint_adcint_cut[NPLANES*MAXBARS]; TH2F* hatdc_atdc[NPLANES*MAXBARS]; TH2F* hadc_atdc[NPLANES*NSIDES*MAXBARS]; TH2F* hnhits_negtdc_paddle[NPLANES]; @@ -83,9 +85,14 @@ void UserScript() TString h2dtname="uh2dadcpeak"+plane_names[ip]+i2dbarname; // hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,500,-200,5800,500,-200,5800.); hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,160,0,800,160,0,800.); + TString h2dtname="uh2dadcpeakcut"+plane_names[ip]+i2dbarname; + // hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,500,-200,5800,500,-200,5800.); + hadc_adc_cut[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,160,0,800,160,0,800.); TString h2dttitle= "ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)"; TString h2dtname="uh2dadcint"+plane_names[ip]+i2dbarname; hadcint_adcint[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.); + TString h2dtname="uh2dadcintcut"+plane_names[ip]+i2dbarname; + hadcint_adcint_cut[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.); } } // @@ -185,9 +192,12 @@ void UserScript() for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) { if (iev%1000==0) cout << " iev = " << iev << endl; T->GetEntry(iev); - /* - Double_t tdcbar_save=-1; - for(UInt_t ip = 0; ip < NPLANES; ip++) { + Double_t tdcbarx1_save=-1; + Double_t tdcbarx2_save=-10; + Double_t tdcbary1_save=-1; + Double_t tdcbary2_save=-10; + /* + for(UInt_t ip = 0; ip < NPLANES; ip++) { Double_t nhits_neg[21]={0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}; Double_t nhits_pos[21]={0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.}; for(Int_t tdc3_ihit = 0; tdc3_ihit < ntdchits[ip][0][1]; tdc3_ihit++) { @@ -214,7 +224,10 @@ void UserScript() Double_t tdc2val =tdc_values[ip][1][0][tdc2_ihit]; // cout << iev << " " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " tdc 2 = " << tdc2_ihit << " " << tdc2val << " " << tdc2bar << endl; if ( tdc2bar == tdc1bar) htdc_tdc[ip*MAXBARS+tdc1bar]->Fill(tdc1val,tdc2val); - if ( ip==3 && tdc2bar == tdc1bar) tdcbar_save=tdc2bar; + if ( ip==0 && tdc2bar == tdc1bar) tdcbarx1_save=tdc2bar; + if ( ip==1 && tdc2bar == tdc1bar) tdcbary1_save=tdc2bar; + if ( ip==2 && tdc2bar == tdc1bar) tdcbarx2_save=tdc2bar; + if ( ip==3 && tdc2bar == tdc1bar) tdcbary2_save=tdc2bar; } } } @@ -231,8 +244,10 @@ void UserScript() Double_t adc2pval =amp_values[ip][1][4][adc2_ihit]*adcpeak_to_mV*fac_for_disc[ip]; Double_t adc2tval =ptraw_values[ip][1][6][adc2_ihit]; // cout << iev << " " << adc1_ihit << " " << adc1tval << " " << adc1bar << " adc 2 = " << adc2_ihit << " " << adc2tval << " " << adc2bar << endl; - if ( adc2bar == adc1bar ) hadc_adc[ip*MAXBARS+adc1bar]->Fill(adc1pval,adc2pval); - if ( adc2bar == adc1bar ) hadcint_adcint[ip*MAXBARS+adc1bar]->Fill(adc1val,adc2val); + if ( adc2bar == adc1bar) hadc_adc[ip*MAXBARS+adc1bar]->Fill(adc1pval,adc2pval); + if ( adc2bar == adc1bar && TMath::Abs(tdcbarx1_save-tdcbarx2_save)<2) hadc_adc_cut[ip*MAXBARS+adc1bar]->Fill(adc1pval,adc2pval); + if ( adc2bar == adc1bar) hadcint_adcint[ip*MAXBARS+adc1bar]->Fill(adc1val,adc2val); + if ( adc2bar == adc1bar && TMath::Abs(tdcbarx1_save-tdcbarx2_save)<2) hadcint_adcint_cut[ip*MAXBARS+adc1bar]->Fill(adc1val,adc2val); if ( adc2bar == adc1bar) hatdc_atdc[ip*MAXBARS+adc1bar]->Fill(adc1tval,adc2tval); } } diff --git a/onlineGUI/README.md b/onlineGUI/README.md index 6b91ee4a..2f31aaf6 100644 --- a/onlineGUI/README.md +++ b/onlineGUI/README.md @@ -1,14 +1,24 @@ onlineGUI ============================================ -This is the GUI that is used in Hall A for the monitoring of online replay. +This is the GUI that is used for the monitoring of online replay. Directory structure ---------------------- * Config : directory with the onlineGUI configuration files + *Files in Config: + *HMS/HODO/raw_hhodoana.cfg (Plots standard hisotgrams in DEF-files/HMS/HODO/hhodoana.def ) + *SHMS/HODO/raw_phodoana.cfg (Plots standard hisotgrams in DEF-files/SHMS/HODO/phodoana.def ) + *HMS/HODO/raw_hhodo_2d.cfg (2d plots of Good HMS Hodoscope data, efficiency plots) + *HMS/HODO/good_hhodo_2d.cfg (2d plots of Good HMS Hodoscope data, efficiency plots) + *SHMS/HODO/good_phodo_2d.cfg (2d of Good SHMS Hodoscope data, efficiency plots) * Macros : directory with root macros that can be called by the onlineGUI code * Files in Macro: - * overlay.C (script to overlay 2 histograms) - * rawdraw.C (script to plot the individual TDc and ADC for HMS hodoscope using the tree. Good example for other scripts) + * overlay.C (script to overlay 2 histograms) + * rawdraw_2d_hhodo.C ( Used by raw_hhodo_2d.cfg) + * rawdraw_2d_phodo.C ( Used by raw_phodo_2d.cfg) + * gooddraw_2d_hhodo.C ( Used by good_hhodo_2d.cfg) + * gooddraw_2d_phodo.C ( Used by good_phodo_2d.cfg) + * hodo_efficiency.C ( Used by good_phodo_2d.cfg,good_hhodo_2d.cfg) * onlineGUI_v1.2.1: directory with the online.c and other files. Compiling code diff --git a/onlineGUI/onlineGUI_v1.2.1/online.C b/onlineGUI/onlineGUI_v1.2.1/online.C index f4429539..4838bb1c 100755 --- a/onlineGUI/onlineGUI_v1.2.1/online.C +++ b/onlineGUI/onlineGUI_v1.2.1/online.C @@ -733,7 +733,7 @@ void OnlineConfig::OverrideRootFile(UInt_t runnumber) // // -OnlineGUI::OnlineGUI(OnlineConfig& config, Bool_t printonly,UInt_t RunNum): +OnlineGUI::OnlineGUI(OnlineConfig& config, Bool_t printonly, Bool_t rootonly,UInt_t RunNum): runNumber(RunNum), timer(0), fFileAlive(kFALSE) @@ -742,7 +742,7 @@ OnlineGUI::OnlineGUI(OnlineConfig& config, Bool_t printonly,UInt_t RunNum): fConfig = &config; - if(printonly) { + if(printonly || rootonly) { fPrintOnly=kTRUE; PrintPages(); } else { @@ -1749,20 +1749,22 @@ void OnlineGUI::PrintToFile() // A file dialog pop's up to request the file name. fCanvas = fEcanvas->GetCanvas(); gStyle->SetPaperSize(20,24); - static TString dir("printouts"); + static TString dir("."); TGFileInfo fi; const char *myfiletypes[] = { "All files","*", - "PostScript files","*.ps", - "Encapsulated PostScript files","*.eps", + "PDF files","*.pdf", + "PNG files","*.png", "GIF files","*.gif", "JPG files","*.jpg", 0, 0 }; fi.fFileTypes = myfiletypes; fi.fIniDir = StrDup(dir.Data()); - + cout << " INitiail = " << fi.fIniDir << endl; new TGFileDialog(gClient->GetRoot(), fMain, kFDSave, &fi); - if(fi.fFilename!=NULL) fCanvas->Print(fi.fFilename); + if(fi.fFilename!=NULL) { + fCanvas->Print(fi.fFilename); + } } void OnlineGUI::PrintPages() { @@ -1856,8 +1858,8 @@ void OnlineGUI::PrintPages() { pagehead += ": "; gStyle->SetPalette(1); - gStyle->SetTitleX(0.15); - gStyle->SetTitleY(0.9); + gStyle->SetTitleX(0.5); + gStyle->SetTitleY(0.95); gStyle->SetPadBorderMode(0); gStyle->SetHistLineColor(1); gStyle->SetHistFillColor(1); @@ -1879,7 +1881,9 @@ void OnlineGUI::PrintPages() { fCanvas->Print(filename); } if(!useJPG) fCanvas->Print(filename+"]"); - + // + TFile *hroot = new TFile(filename+"_hist.root","recreate"); + // #ifdef STANDALONE gApplication->Terminate(); #endif @@ -1948,11 +1952,11 @@ OnlineGUI::~OnlineGUI() delete fConfig; } -void online(TString type="standard",UInt_t run=0,Bool_t printonly=kFALSE) +void online(TString type="standard",UInt_t run=0,Bool_t printonly=kFALSE,Bool_t rootonly=kFALSE) { // "main" routine. Run this at the ROOT commandline. - if(printonly) { + if(printonly || rootonly) { if(!gROOT->IsBatch()) { #ifdef STANDALONE gROOT->SetBatch(); @@ -1977,7 +1981,7 @@ void online(TString type="standard",UInt_t run=0,Bool_t printonly=kFALSE) if(run!=0) fconfig->OverrideRootFile(run); - new OnlineGUI(*fconfig,printonly,run); + new OnlineGUI(*fconfig,printonly,rootonly,run); } @@ -1990,6 +1994,7 @@ void Usage() cerr << " -r : runnumber" << endl; cerr << " -f : configuration file" << endl; cerr << " -P : Only Print Summary Plots" << endl; + cerr << " -R : Only Rootfile " << endl; cerr << endl; } @@ -1999,6 +2004,7 @@ int main(int argc, char **argv) TString type="default"; UInt_t run=0; Bool_t printonly=kFALSE; + Bool_t rootonly=kFALSE; Bool_t showedUsage=kFALSE; TApplication theApp("App",&argc,argv,NULL,-1); @@ -2017,6 +2023,9 @@ int main(int argc, char **argv) } else if (sArg=="-P") { printonly = kTRUE; cout << " PrintOnly" << endl; + } else if (sArg=="-R") { + rootonly = kTRUE; + cout << " RootOnly" << endl; } else if (sArg=="-h") { if(!showedUsage) Usage(); showedUsage=kTRUE; @@ -2028,7 +2037,7 @@ int main(int argc, char **argv) } } - online(type,run,printonly); + online(type,run,printonly,rootonly); theApp.Run(); return 0; diff --git a/onlineGUI/onlineGUI_v1.2.1/online.h b/onlineGUI/onlineGUI_v1.2.1/online.h index f9e07614..6e6e10e2 100755 --- a/onlineGUI/onlineGUI_v1.2.1/online.h +++ b/onlineGUI/onlineGUI_v1.2.1/online.h @@ -142,10 +142,11 @@ private: UInt_t runNumber; TTimer *timer; Bool_t fPrintOnly; + Bool_t fRootOnly; Bool_t fFileAlive; public: - OnlineGUI(OnlineConfig&,Bool_t,UInt_t RunNum=0); + OnlineGUI(OnlineConfig&,Bool_t,Bool_t,UInt_t RunNum=0); void CreateGUI(const TGWindow *p, UInt_t w, UInt_t h); virtual ~OnlineGUI(); void DoDraw(); -- GitLab