diff --git a/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg b/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg
index b0507c898f9118fd6ad3b6576122916742a85610..a3e090af0b9ebd13c10a7e92dd6ce518bd812549 100644
--- a/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg
+++ b/onlineGUI/Config/SHMS/HODO/good_phodo_2d.cfg
@@ -2,6 +2,21 @@
 protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
 guicolor lightblue
 canvassize 800 800
+newpage 1 1
+title Beta notrack
+macro Macros/gooddraw_2d_phodo.C("hbeta")
+newpage 2 2
+title fptime
+macro Macros/gooddraw_2d_phodo.C("fptime1x")
+macro Macros/gooddraw_2d_phodo.C("fptime1y")
+macro Macros/gooddraw_2d_phodo.C("fptime2x")
+macro Macros/gooddraw_2d_phodo.C("fptime2y")
+newpage 2 2
+title fptime
+macro Macros/gooddraw_2d_phodo.C("fptime1x_pad")
+macro Macros/gooddraw_2d_phodo.C("fptime1y_pad")
+macro Macros/gooddraw_2d_phodo.C("fptime2x_pad")
+macro Macros/gooddraw_2d_phodo.C("fptime2y_pad")
 newpage 4 4
 title X1 Neg ADc v TDC
 macro Macros/gooddraw_2d_phodo.C("uh2dadcvtdcneg1x1")
diff --git a/onlineGUI/Config/SHMS/HODO/good_phodo_2d_dis.cfg b/onlineGUI/Config/SHMS/HODO/good_phodo_2d_dis.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..15452cad03c74b3d830065deeb6d0eebed63f299
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/good_phodo_2d_dis.cfg
@@ -0,0 +1,293 @@
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1+ ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1x13")
+newpage 4 4
+title X1- ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1x13")
+newpage 4 4
+title Y1+ ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos1y13")
+newpage 4 4
+title Y1- ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg1y13")
+newpage 4 4
+title X2+ ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2x14")
+newpage 4 4
+title X2- ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2x14")
+newpage 3 3
+title Y2+ ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdispos2y16")
+newpage 3 3
+title Y2- ADC vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dadcvdisneg2y16")
+newpage 4 4
+title X1+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1x13")
+newpage 4 4
+title X1- tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1x13")
+newpage 4 4
+title Y1+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos1y13")
+newpage 4 4
+title Y1- tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg1y13")
+newpage 4 4
+title X2+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2x14")
+newpage 4 4
+title X2- tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2x14")
+newpage 3 4
+title Y2+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdispos2y16")
+newpage 3 4
+title Y2- tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcvdisneg2y16")
+newpage 4 4
+title X1+ tdc diff vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1x13")
+newpage 4 4
+title Y1+ tdc diff vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis1y13")
+newpage 4 4
+title X2+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x1")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x2")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x3")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x4")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x5")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x6")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2x14")
+newpage 3 4
+title Y2+ tdc vs Dis
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y7")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y8")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y9")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y10")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y11")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y12")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y13")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y14")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y15")
+macro Macros/gooddraw_2d_phodo.C("uh2dtdcdiffvdis2y16")
diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodo_2d_pad.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d_pad.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..a2fa99c25b1805a1d2612cb7b3a6f0eb14fdad98
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d_pad.cfg
@@ -0,0 +1,120 @@
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1 Neg TDC vs Y1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1x13")
+newpage 4 4
+title X1 Pos TDC vs Y1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1x13")
+newpage 4 4
+title Y1 Neg TDC vs X1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg1y13")
+newpage 4 4
+title Y1 Pos TDC vs X1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos1y13")
+newpage 4 4
+title X2 Neg TDC vs Y1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2x14")
+newpage 4 4
+title X2 Pos TDC vs Y1 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2x14")
+newpage 3 3
+title Y2 Neg TDC vs X2 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdisneg2y16")
+newpage 3 3
+title Y2 Pos TDC vs X2 paddle
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdcvdispos2y16")
+
diff --git a/onlineGUI/Macros/gooddraw_2d_phodo.C b/onlineGUI/Macros/gooddraw_2d_phodo.C
index a6ef9a4719cbe26c842f9392d50e14a8e8478640..e4141adf205e58c53c7e2d26f62b3fe98ac316ff 100644
--- a/onlineGUI/Macros/gooddraw_2d_phodo.C
+++ b/onlineGUI/Macros/gooddraw_2d_phodo.C
@@ -36,10 +36,15 @@ 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]={20.,20.,20.,20.};
-  Double_t adc_tdc_ymax[4]={45.,45.,45.,45.};
-  Int_t nhits_temp;
+    Double_t adc_tdc_ymin[4]={-20.,-20.,-20.,-20.};
+    Double_t adc_tdc_ymax[4]={45.,45.,70.,70.};
+    Double_t adc_hmin[4]={0.,0.,0.,0.};
+    Double_t adc_hmax[4]={75.,75.,75.,200.};
+    Int_t nhits_temp;
   Double_t paddles[NPLANES][MAXHITS];
+  const TString opp_plane[4] = {";Y1 plane paddle number; Adc (pC)",";X1 plane paddle number; Adc (pC)",";X1 plane paddle number; Adc (pC)",";X2 plane paddle number; Adc (pC)"};
+  const TString opp_planet[4] = {";Y1 plane paddle number; tdc (ns)",";X1 plane paddle number; tdc (ns)",";X1 plane paddle number; tdc (ns)",";X2 plane paddle number; tdc (ns)"};
+  const TString opp_planetdiff[4] = {";Y1 plane paddle number; tdc diff(ns)",";X1 plane paddle number; tdc diff (ns)",";X1 plane paddle number; tdc diff(ns)",";X2 plane paddle number; tdc diff (ns)"};
 
 
   Double_t adc_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
@@ -55,11 +60,13 @@ void UserScript()
   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};
+  TH2F* htdc_dis[NPLANES*MAXBARS][2];
+  TH2F* htdcdiff_dis[NPLANES*MAXBARS];
+  Int_t dis_bin[4]={13,13,13,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_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
@@ -101,7 +108,7 @@ Efficiency is ratio of did/should which is calculated using hodo_efficiency.C
 	      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.);
+              htdc_tdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,100,0,50,100,0,50.);
 		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);
@@ -123,25 +130,57 @@ Efficiency is ratio of did/should which is calculated using hodo_efficiency.C
 	      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.);
+	      hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,adc_hmin[ip],adc_hmax[ip],50,adc_hmin[ip],adc_hmax[ip]);
 	      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.);
+	      hadc_adc_good[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,adc_hmin[ip],adc_hmax[ip],50,adc_hmin[ip],adc_hmax[ip]);
 	      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]);
+	      hadc_tdc[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,50,adc_hmin[ip],adc_hmax[ip],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)";
+	      hadc_tdc[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,50,adc_hmin[ip],adc_hmax[ip],50,adc_tdc_ymin[ip],adc_tdc_ymax[ip]);
+	      TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+opp_plane[ip];
 	      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)";
+	      hadc_dis[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,50,0,adc_hmax[ip]);
+	      TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+opp_plane[ip];
 	      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);
+	      hadc_dis[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,50,0,adc_hmax[ip]);
+	      TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+opp_planet[ip];
+	      TString h2dtname="uh2dtdcvdisneg"+plane_names[ip]+i2dbarname;
+	      htdc_dis[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,40,-80,80);
+	      TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+opp_planet[ip];
+	      TString h2dtname="uh2dtdcvdispos"+plane_names[ip]+i2dbarname;
+	      htdc_dis[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,40,-80,80);
+	      TString h2dttitle= "PMT Pad "+plane_names[ip]+i2dbarname+opp_planetdiff[ip];
+	      TString h2dtname="uh2dtdcdiffvdis"+plane_names[ip]+i2dbarname;
+	      htdcdiff_dis[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,40,-20,20);
 	    }
   }
   // set up branches
+          Double_t betanotrack;
+	  TString beta_name = SPECTROMETER+"."+DETECTOR+".betanotrack";
+	  T->SetBranchAddress(beta_name, &betanotrack);
+          TH1F* hbeta= new TH1F("hbeta","; Beta ;COunts",150,-1.5,1.5);
+          Double_t fptime[4];
+	  TString fpname = SPECTROMETER+"."+DETECTOR+".1x.fptime";
+	  T->SetBranchAddress(fpname, &fptime[0]);
+	  TString fpname = SPECTROMETER+"."+DETECTOR+".1y.fptime";
+	  T->SetBranchAddress(fpname, &fptime[1]);
+	  TString fpname = SPECTROMETER+"."+DETECTOR+".2x.fptime";
+	  T->SetBranchAddress(fpname, &fptime[2]);
+	  TString fpname = SPECTROMETER+"."+DETECTOR+".2y.fptime";
+	  T->SetBranchAddress(fpname, &fptime[3]);
+          TH1F* hfptime[4];
+          hfptime[0]= new TH1F("fptime1x","; fptime 1x ;COunts",50,0,50);
+          hfptime[1]= new TH1F("fptime1y","; fptime 1y ;COunts",50,0,50);
+          hfptime[2]= new TH1F("fptime2x","; fptime 2x ;COunts",50,0,50);
+          hfptime[3]= new TH1F("fptime2y","; fptime 2y ;COunts",50,0,50);
+          TH2F* hfptime_pad[4];
+          hfptime_pad[0]= new TH2F("fptime1x_pad","; fptime 1x ;Paddle",50,0,50,14,0,14);
+          hfptime_pad[1]= new TH2F("fptime1y_pad","; fptime 1y ;Paddle",50,0,50,14,0,14);
+          hfptime_pad[2]= new TH2F("fptime2x_pad","; fptime 2x ;Paddle",50,0,50,15,0,15);
+          hfptime_pad[3]= new TH2F("fptime2y_pad","; fptime 2y ;Paddle",50,0,50,22,0,22);
 
   for(UInt_t ip = 0; ip < NPLANES; ip++) {
 	  TString base2_name = SPECTROMETER+"."+DETECTOR+"."+plane_names[ip];
@@ -177,7 +216,8 @@ Efficiency is ratio of did/should which is calculated using hodo_efficiency.C
   Bool_t good_should;
   Double_t good_pad[4];
   Double_t good_adc[4][2];
-  Int_t check_plane[4]={1,0,3,2};
+  Double_t good_tdc[4][2];
+  Int_t check_plane[4]={1,0,0,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);
@@ -191,8 +231,10 @@ Efficiency is ratio of did/should which is calculated using hodo_efficiency.C
        good_pos[ip][ib]=kFALSE;
      }
      }
-    if (nhits[0]==1&&nhits[1]==1&&nhits[2]==1&&nhits[3]==1) good_should = kTRUE;
+    if (nhits[0]==1&&nhits[1]==1&&nhits[2]==1&&nhits[3]<=1) good_should = kTRUE;
+    if ( good_should)  hbeta->Fill(betanotrack);
       for(UInt_t ip = 0; ip < NPLANES; ip++){ 
+		  if ( good_should) hfptime[ip]->Fill(fptime[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;
@@ -201,19 +243,21 @@ Efficiency is ratio of did/should which is calculated using hodo_efficiency.C
 		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 ) {
+		if (good_should && tdc_pos_val>0 && tdc_neg_val>0 && adc_neg_val > 5. &&  adc_pos_val > 5. ) {
+		  htdc_tdc[ip*MAXBARS+bar]->Fill(tdc_neg_val,tdc_pos_val);
                   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);
+		  hadc_tdc[ip*MAXBARS+bar][1]->Fill(adc_pos_val,tdc_neg_val);
+                  hfptime_pad[ip]->Fill(fptime[ip],float(bar+1));
 		}
 		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;
+                good_tdc[ip][0]=tdc_neg_val;
+                good_tdc[ip][1]=tdc_pos_val;
+                if (good_should && tdc_pos_val>0 && tdc_neg_val>0&& adc_neg_val > 5. &&  adc_pos_val > 5.  ) good_neg[ip][bar]=kTRUE;
+                if (good_should && tdc_pos_val>0  && tdc_neg_val>0&& adc_neg_val > 5. &&  adc_pos_val > 5.  ) good_pos[ip][bar]=kTRUE;
 		}
 	}
       //
@@ -228,8 +272,11 @@ Efficiency is ratio of did/should which is calculated using hodo_efficiency.C
           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]);
+               hadc_dis[ip*MAXBARS+ib][0]->Fill(good_pad[check_plane[ip]],good_adc[ip][0]);
+               hadc_dis[ip*MAXBARS+ib][1]->Fill(good_pad[check_plane[ip]],good_adc[ip][1]);
+               htdc_dis[ip*MAXBARS+ib][0]->Fill(good_pad[check_plane[ip]],good_tdc[ip][0]);
+               htdc_dis[ip*MAXBARS+ib][1]->Fill(good_pad[check_plane[ip]],good_tdc[ip][1]);
+               htdcdiff_dis[ip*MAXBARS+ib]->Fill(good_pad[check_plane[ip]],good_tdc[ip][1]-good_tdc[ip][0]);
 	  }
  	  }
       }
diff --git a/onlineGUI/Macros/rawdraw_2d_phodo.C b/onlineGUI/Macros/rawdraw_2d_phodo.C
index 6ec7a400435cb5299ee999fe20bb015f335089a8..c9232e0f98bb051ca492b4666c0843ebe22d5304 100644
--- a/onlineGUI/Macros/rawdraw_2d_phodo.C
+++ b/onlineGUI/Macros/rawdraw_2d_phodo.C
@@ -4,14 +4,13 @@
 
 void UserScript()
 {
-
   const UInt_t NPLANES  = 4;
   const UInt_t NSIDES   = 2;
   const UInt_t MAXBARS  = 21;  // FIX ME: Parameter should be 16
   const UInt_t NSIGNALS = 2;
   const UInt_t NADCSIGNALS = 7;
   const UInt_t NTDCSIGNALS = 2;
-  const UInt_t MAXHITS=16*16;
+  const UInt_t MAXHITS=128*16;
 
   const TString SPECTROMETER = "P";
   const TString DETECTOR = "hod";
@@ -28,27 +27,39 @@ void UserScript()
   Double_t adcpeak_to_mV = 1.0/4096.*1000;// 1.0V per 4096 bits
   Double_t fac_for_disc[4]= {2.0,2.,2.,1.};// 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)
   cout << adcbit_to_pC << endl;
-  Int_t nadchits[NPLANES][NSIDES][NSIGNALS];
-  Int_t ntdchits[NPLANES][NSIDES][NSIGNALS];
-
-  Double_t adc_paddles[NPLANES][NSIDES][NSIGNALS][MAXHITS];
-  Double_t tdc_paddles[NPLANES][NSIDES][NSIGNALS][MAXHITS];
+  Int_t nadchits[NPLANES][NSIDES];
+  Int_t ntdchits[NPLANES][NSIDES];
 
-  Double_t ped_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
-  Double_t pedraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
-
-  Double_t int_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
-  Double_t intraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
-  
-  Double_t amp_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
-  Double_t ampraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
-  
-  Double_t ptraw_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
+  Double_t adc_paddles[NPLANES][NSIDES][MAXHITS];
+  Double_t tdc_paddles[NPLANES][NSIDES][MAXHITS];
 
+  Double_t adc_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS];
   Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
-  Double_t tdcraw_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
 
   TH2F* htdc_adc[NPLANES*NSIDES*MAXBARS];
+  TH2F* htdc_dis[NPLANES*MAXBARS][2];
+  Int_t dis_bin[4]={13,13,13,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;
+  Int_t pair_pl[4]={1,0,0,2};
+  Double_t dis_tdc_min[4]={-1600.,-1700.,-1800.,-1900.};
+  Double_t dis_tdc_max[4]={-1100.,-1200.,-1400.,-1100.};
+  const TString opp_plane[4] = {";Y1 plane paddle number; Tdc (.1/chan)",";X1 plane paddle number;Tdc (.1/chan) ",";X1 plane paddle number;Tdc (.1/chan) ",";X2 plane paddle number;Tdc (.1/chan) "};
+  Double_t htdc_tdc_min1[4]={-1600.,-1700.,-1800.,-1900.};
+  Double_t htdc_tdc_max1[4]={-1100.,-1300.,-1400.,-1100.};
+  Double_t htdc_tdc_min2[4]={-1500.,-1700.,-1800.,-1900.};
+  Double_t htdc_tdc_max2[4]={-1200.,-1300.,-1400.,-1100.};
+  Int_t htdc_tdc_bin1[4];
+  Int_t htdc_tdc_bin2[4];
+  Double_t htdc_adc_min1[4]={-1500.,-1700.,-1800.,-1900.};
+  Double_t htdc_adc_max1[4]={-1200.,-1300.,-1400.,-1100.};
+  Double_t htdc_adc_min2[4]={0.,0.,0.,0.};
+  Double_t htdc_adc_max2[4]={250.,250.,250.,250.};
+  Int_t htdc_adc_bin1[4];
+  Int_t htdc_adc_bin2[4];
   TH2F* htdc_tdc[NPLANES*MAXBARS];
   TH2F* hadc_adc[NPLANES*MAXBARS];
   TH2F* hadcint_adcint[NPLANES*MAXBARS];
@@ -73,7 +84,15 @@ void UserScript()
 	      TString i2dbarname = Form("%d",ibar+1);
 	      TString h2dttitle= "TDC 0.1ns/chan "+plane_names[ip]+i2dbarname+"; Neg ; Pos ";
 	      TString h2dtname="uh2dtdc"+plane_names[ip]+i2dbarname;
-              htdc_tdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,100,-1700,-700,100,-1700,-700.);
+              htdc_tdc_bin1[ip]=(htdc_tdc_max1[ip]-htdc_tdc_min1[ip])/10.;
+              htdc_tdc_bin2[ip]=(htdc_tdc_max2[ip]-htdc_tdc_min2[ip])/10.;
+              htdc_tdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,htdc_tdc_bin1[ip],htdc_tdc_min1[ip],htdc_tdc_max1[ip],htdc_tdc_bin2[ip],htdc_tdc_min2[ip],htdc_tdc_max2[ip]);
+	      TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+opp_plane[ip];
+	      TString h2dtname="uh2dtdcvdisneg"+plane_names[ip]+i2dbarname;
+	      htdc_dis[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,(dis_tdc_max[ip]-dis_tdc_min[ip])/10,dis_tdc_min[ip],dis_tdc_max[ip]);
+	      TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+opp_plane[ip];
+	      TString h2dtname="uh2dtdcvdispos"+plane_names[ip]+i2dbarname;
+	      htdc_dis[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],1,dis_bin[ip]+1,(dis_tdc_max[ip]-dis_tdc_min[ip])/10,dis_tdc_min[ip],dis_tdc_max[ip]);
 	    }
   }
   //
@@ -111,12 +130,14 @@ void UserScript()
 	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
 	      UInt_t h2dindex = ip*NSIDES*MAXBARS+iside*MAXBARS+ibar;
 	      TString i2dbarname = Form("%d",ibar+1);
-	      TString h2dtitle= "ADC (pc) vs TDC (0.1ns/chan) "+plane_names[ip]+i2dbarname+sides[iside];
+	      TString h2dtitle= "ADC peak (mV) vs TDC (0.1ns/chan) "+plane_names[ip]+i2dbarname+sides[iside];
 	      TString h2dname="uh2d"+plane_names[ip]+i2dbarname+sides[iside];
 	      TString h2datitle= "h2dadcAtdc"+plane_names[ip]+i2dbarname+sides[iside];
 	      TString h2daname="uh2dadcAtdc"+plane_names[ip]+i2dbarname+sides[iside];
               if ( h2dindex < NPLANES*NSIDES*MAXBARS) {
-              htdc_adc[h2dindex]= new TH2F(h2dname,h2dtitle,200,-1700,-700,50,0.,100.);
+              htdc_adc_bin1[ip]=(htdc_adc_max1[ip]-htdc_adc_min1[ip])/10.;
+              htdc_adc_bin2[ip]=(htdc_adc_max2[ip]-htdc_adc_min2[ip])/2.;
+		htdc_adc[h2dindex]= new TH2F(h2dname,h2dtitle,htdc_adc_bin1[ip],htdc_adc_min1[ip],htdc_adc_max1[ip],htdc_adc_bin2[ip],htdc_adc_min2[ip],htdc_adc_max2[ip]);
               hadc_atdc[h2dindex]= new TH2F(h2daname,h2datitle,50,0,100.,300,1000,2000.);
 	      //	      cout << " index = " << h2dindex << " " << h2dname << endl;
               } else {
@@ -129,37 +150,37 @@ void UserScript()
 	  TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+
 	    plane_names[ip]+"."+sides[iside]+signals[isignal];
 	  TString adc_ndata_name = "Ndata."+adc_base_name+"Counter";
-	  T->SetBranchAddress(adc_ndata_name, &nadchits[ip][iside][isignal]);
+	  T->SetBranchAddress(adc_ndata_name, &nadchits[ip][iside]);
 	  TString adc_paddle_name = adc_base_name+"Counter";
-	  T->SetBranchAddress(adc_paddle_name, &adc_paddles[ip][iside][isignal][0]);
+	  T->SetBranchAddress(adc_paddle_name, &adc_paddles[ip][iside][0]);
 	  for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) {
 	    if (adc_signals[iadcsignal] == "Ped") {
 	      TString pedlist_name = adc_base_name+"Ped";
-	      T->SetBranchAddress(pedlist_name, &ped_values[ip][iside][iadcsignal][0]);
+	      T->SetBranchAddress(pedlist_name, &adc_values[ip][iside][iadcsignal][0]);
 	    }
 	    if (adc_signals[iadcsignal] == "PedRaw") {
 	      TString pedrawlist_name = adc_base_name+"PedRaw";
-	      T->SetBranchAddress(pedrawlist_name, &pedraw_values[ip][iside][iadcsignal][0]);
+	      T->SetBranchAddress(pedrawlist_name, &adc_values[ip][iside][iadcsignal][0]);
 	    }
 	    if (adc_signals[iadcsignal] == "PulseInt") {   
 	      TString intlist_name = adc_base_name+"PulseInt";
-	      T->SetBranchAddress(intlist_name, &int_values[ip][iside][iadcsignal][0]);
+	      T->SetBranchAddress(intlist_name, &adc_values[ip][iside][iadcsignal][0]);
 	    }
 	    if (adc_signals[iadcsignal] == "PulseIntRaw") {
 	      TString intrawlist_name = adc_base_name+"PulseIntRaw";
-	      T->SetBranchAddress(intrawlist_name, &intraw_values[ip][iside][iadcsignal][0]);
+	      T->SetBranchAddress(intrawlist_name, &adc_values[ip][iside][iadcsignal][0]);
 	    }
 	    if (adc_signals[iadcsignal] == "PulseAmp") {   
 	      TString amplist_name = adc_base_name+"PulseAmp";
-	      T->SetBranchAddress(amplist_name, &amp_values[ip][iside][iadcsignal][0]);
+	      T->SetBranchAddress(amplist_name, &adc_values[ip][iside][iadcsignal][0]);
 	    }
 	    if (adc_signals[iadcsignal] == "PulseAmpRaw") {
 	      TString amprawlist_name = adc_base_name+"PulseAmpRaw";
-	      T->SetBranchAddress(amprawlist_name, &ampraw_values[ip][iside][iadcsignal][0]);
+	      T->SetBranchAddress(amprawlist_name, &adc_values[ip][iside][iadcsignal][0]);
 	    }
 	    if (adc_signals[iadcsignal] == "PulseTimeRaw") {
 	      TString ptrawlist_name = adc_base_name+"PulseTimeRaw";
-	      T->SetBranchAddress(ptrawlist_name, &ptraw_values[ip][iside][iadcsignal][0]);
+	      T->SetBranchAddress(ptrawlist_name, &adc_values[ip][iside][iadcsignal][0]);
 	    }
 	  }
 	}
@@ -168,9 +189,9 @@ void UserScript()
 	  TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+
 	    plane_names[ip]+"."+sides[iside]+signals[isignal];
 	  TString tdc_ndata_name = "Ndata."+tdc_base_name+"Counter";
-	  T->SetBranchAddress(tdc_ndata_name, &ntdchits[ip][iside][isignal]);
+	  T->SetBranchAddress(tdc_ndata_name, &ntdchits[ip][iside]);
 	  TString tdc_paddle_name = tdc_base_name+"Counter";
-	  T->SetBranchAddress(tdc_paddle_name, &tdc_paddles[ip][iside][isignal][0]);
+	  T->SetBranchAddress(tdc_paddle_name, &tdc_paddles[ip][iside][0]);
 	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
 	    if (tdc_signals[itdcsignal] == "Time") {
 	      TString tdclist_name = tdc_base_name+"Time";
@@ -178,7 +199,7 @@ void UserScript()
 	    }
 	    if (tdc_signals[itdcsignal] == "TimeRaw") {
 	      TString tdcrawlist_name = tdc_base_name+"TimeRaw";
-	      T->SetBranchAddress(tdcrawlist_name, &tdcraw_values[ip][iside][itdcsignal][0]);
+	      T->SetBranchAddress(tdcrawlist_name, &tdc_values[ip][iside][itdcsignal][0]);
 	    }
 	  }
 	}
@@ -188,9 +209,13 @@ void UserScript()
   }
 
   // Loop over the events, filling the histograms
-  cout << " looping over data " << endl;
+  //  cout << " looping over data " << endl;
+  Double_t good_pad[4];
+  Double_t good_adc[4][2];
+  Bool_t good_neg[4][MAXBARS],good_pos[4][MAXBARS];
   for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) {
     if (iev%1000==0) cout << " iev = " << iev << endl;
+    //       cout << " get entry = " << iev << endl;
     T->GetEntry(iev);
     Double_t tdcbarx1_save=-1;
     Double_t tdcbarx2_save=-10;
@@ -200,11 +225,11 @@ void UserScript()
       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++)  {
+ 		for(Int_t tdc3_ihit = 0; tdc3_ihit < ntdchits[ip][0]; tdc3_ihit++)  {
  		UInt_t tdc3bar = TMath::Nint(tdc_paddles[ip][0][1][tdc3_ihit]) - 1;
                 nhits_neg[tdc3bar]++;
 		}
-		for(Int_t tdc4_ihit = 0; tdc4_ihit < ntdchits[ip][1][1]; tdc4_ihit++)  {
+		for(Int_t tdc4_ihit = 0; tdc4_ihit < ntdchits[ip][1]; tdc4_ihit++)  {
  		UInt_t tdc4bar = TMath::Nint(tdc_paddles[ip][1][1][tdc4_ihit]) - 1;
                 nhits_pos[tdc4bar]++;
 		}
@@ -214,15 +239,19 @@ void UserScript()
 		}
        }
     */
+    //    cout << " start nplane loop" << endl;
+    //   if (ntdchits[0][0]==1&&ntdchits[0][1]==1&&ntdchits[1][0]==1&&ntdchits[1][1]==1&&ntdchits[2][0]==1&&ntdchits[2][1]==1) {
+      if (ntdchits[0][0]==1&&ntdchits[0][1]==1) {
+    // if (1==1) {
        for(UInt_t ip = 0; ip < NPLANES; ip++) {
-	 //	        cout << iev << " " << ip << " " << ntdchits[ip][0][1]<< " " << ntdchits[ip][1][1] << endl;
-		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][0][1]; tdc1_ihit++)  {
- 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][0][1][tdc1_ihit]) - 1;
+	 //	 	        cout << iev << " " << ip << " " << ntdchits[ip][0]<< " " << ntdchits[ip][1] << endl;
+		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][0]; tdc1_ihit++)  {
+ 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][0][tdc1_ihit]) - 1;
 		Double_t tdc1val = tdc_values[ip][0][0][tdc1_ihit];
-		for(Int_t tdc2_ihit = 0; tdc2_ihit < ntdchits[ip][1][1]; tdc2_ihit++)  {
-		  UInt_t tdc2bar = TMath::Nint(tdc_paddles[ip][1][1][tdc2_ihit]) - 1;
+		for(Int_t tdc2_ihit = 0; tdc2_ihit < ntdchits[ip][1]; tdc2_ihit++)  {
+		  UInt_t tdc2bar = TMath::Nint(tdc_paddles[ip][1][tdc2_ihit]) - 1;
 		  Double_t tdc2val =tdc_values[ip][1][0][tdc2_ihit];
-		  //                  cout << iev << " " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " tdc 2 = " << tdc2_ihit << " " << tdc2val   << " " << tdc2bar << endl;
+		  //		                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==0 && tdc2bar == tdc1bar) tdcbarx1_save=tdc2bar;
                   if ( ip==1 && tdc2bar == tdc1bar) tdcbary1_save=tdc2bar;
@@ -230,20 +259,46 @@ void UserScript()
                   if ( ip==3 && tdc2bar == tdc1bar) tdcbary2_save=tdc2bar;
 		}
 		}
+		  //
+		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][0]; tdc1_ihit++)  {
+ 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][0][tdc1_ihit]) - 1;
+		Double_t tdc1val = tdc_values[ip][0][0][tdc1_ihit];
+		for(Int_t tdc3_ihit = 0; tdc3_ihit < ntdchits[pair_pl[ip]][0]; tdc3_ihit++)  {
+ 		UInt_t tdc3bar = TMath::Nint(tdc_paddles[pair_pl[ip]][0][tdc3_ihit]) - 1;
+		for(Int_t tdc4_ihit = 0; tdc4_ihit < ntdchits[pair_pl[ip]][1]; tdc4_ihit++)  {
+		  UInt_t tdc4bar = TMath::Nint(tdc_paddles[pair_pl[ip]][1][tdc4_ihit]) - 1;
+		  if (tdc3bar == tdc4bar) htdc_dis[ip*MAXBARS+tdc1bar][0]->Fill(float(tdc4bar+1),tdc1val);
+		}}		  
+		}
+		//
+		  //
+		for(Int_t tdc2_ihit = 0; tdc2_ihit < ntdchits[ip][1]; tdc2_ihit++)  {
+ 		UInt_t tdc2bar = TMath::Nint(tdc_paddles[ip][1][tdc2_ihit]) - 1;
+		Double_t tdc2val = tdc_values[ip][1][0][tdc2_ihit];
+		for(Int_t tdc3_ihit = 0; tdc3_ihit < ntdchits[pair_pl[ip]][0]; tdc3_ihit++)  {
+ 		UInt_t tdc3bar = TMath::Nint(tdc_paddles[pair_pl[ip]][0][tdc3_ihit]) - 1;
+		for(Int_t tdc4_ihit = 0; tdc4_ihit < ntdchits[pair_pl[ip]][1]; tdc4_ihit++)  {
+		  UInt_t tdc4bar = TMath::Nint(tdc_paddles[pair_pl[ip]][1][tdc4_ihit]) - 1;
+		  if (tdc3bar == tdc4bar) htdc_dis[ip*MAXBARS+tdc2bar][1]->Fill(float(tdc4bar+1),tdc2val);
+		}}		  
+		}
+		//
 	}
+    
         for(UInt_t ip = 0; ip < NPLANES; ip++) {
 		//
-		for(Int_t adc1_ihit = 0; adc1_ihit < nadchits[ip][0][0]; adc1_ihit++)  {
- 		UInt_t adc1bar = TMath::Nint(adc_paddles[ip][0][0][adc1_ihit]) - 1;
-		Double_t adc1val = int_values[ip][0][2][adc1_ihit]*adcbit_to_pC;
-		Double_t adc1pval = amp_values[ip][0][4][adc1_ihit]*adcpeak_to_mV*fac_for_disc[ip];
-		Double_t adc1tval = ptraw_values[ip][0][6][adc1_ihit];
-		for(Int_t adc2_ihit = 0; adc2_ihit < nadchits[ip][1][0]; adc2_ihit++)  {
-		  UInt_t adc2bar = TMath::Nint(adc_paddles[ip][1][0][adc2_ihit]) - 1;
-		  Double_t adc2val =int_values[ip][1][2][adc2_ihit]*adcbit_to_pC;
-		  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;
+		for(Int_t adc1_ihit = 0; adc1_ihit < nadchits[ip][0]; adc1_ihit++)  {
+ 		UInt_t adc1bar = TMath::Nint(adc_paddles[ip][0][adc1_ihit]) - 1;
+		Double_t adc1val = adc_values[ip][0][2][adc1_ihit]*adcbit_to_pC;
+		Double_t adc1pval = adc_values[ip][0][4][adc1_ihit]*adcpeak_to_mV*fac_for_disc[ip];
+		Double_t adc1tval = adc_values[ip][0][6][adc1_ihit];
+		for(Int_t adc2_ihit = 0; adc2_ihit < nadchits[ip][1]; adc2_ihit++)  {
+		  UInt_t adc2bar = TMath::Nint(adc_paddles[ip][1][adc2_ihit]) - 1;
+		  Double_t adc2val =adc_values[ip][1][2][adc2_ihit]*adcbit_to_pC;
+		  Double_t adc2pval =adc_values[ip][1][4][adc2_ihit]*adcpeak_to_mV*fac_for_disc[ip];
+		  Double_t adc2tval =adc_values[ip][1][6][adc2_ihit];
+		  if (ip*MAXBARS+adc1bar > NPLANES*MAXBARS)           cout << iev << " " << adc1_ihit << " " << adc1tval << " " << adc1bar << " adc 2 = " << adc2_ihit << " " << adc2tval   << " " << adc2bar << endl;
+		  //		          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 && 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);
@@ -259,20 +314,25 @@ void UserScript()
       for(UInt_t iside = 0; iside < NSIDES; iside++) {
 	//
 	      UInt_t hindex_base = ip*NSIDES*MAXBARS+iside*MAXBARS;
-		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][iside][1]; tdc1_ihit++)  {
- 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][iside][1][tdc1_ihit]) - 1;
-		Double_t tdc1val = tdc_values[ip][0][0][tdc1_ihit];
-		for(Int_t adc2_ihit = 0; adc2_ihit < nadchits[ip][iside][0]; adc2_ihit++)  {
-		  UInt_t adc2bar = TMath::Nint(adc_paddles[ip][iside][0][adc2_ihit]) - 1;
-		  Double_t adc2val =int_values[ip][iside][2][adc2_ihit];
-		  //                  cout << iev << " " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " tdc 2 = " << tdc2_ihit << " " << tdc2val   << " " << tdc2bar << endl;
-		  if (tdc1bar==adc2bar) htdc_adc[hindex_base+adc2bar]->Fill(tdc1val,adc2val*adcbit_to_pC);
+	      //		cout << " pl = " << ip+1 << " side = " << iside << " number of adc hits = " << nadchits[ip][iside] << " number of tdc hits = " << nadchits[ip][iside] << endl;
+		for(Int_t tdc1_ihit = 0; tdc1_ihit < ntdchits[ip][iside]; tdc1_ihit++)  {
+ 		UInt_t tdc1bar = TMath::Nint(tdc_paddles[ip][iside][tdc1_ihit]) - 1;
+		Double_t tdc1val = tdc_values[ip][iside][0][tdc1_ihit];
+		for(Int_t adc2_ihit = 0; adc2_ihit < nadchits[ip][iside]; adc2_ihit++)  {
+		  UInt_t adc2bar = TMath::Nint(adc_paddles[ip][iside][adc2_ihit]) - 1;
+		  Double_t adc2val =adc_values[ip][iside][4][adc2_ihit]*adcpeak_to_mV;
+		  //	  Double_t adc2val =adc_values[ip][iside][2][adc2_ihit]*adcbit_to_pC;
+		 
+		  if (hindex_base+adc2bar > NPLANES*NSIDES*MAXBARS)                    cout  << " adc2bar too large " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " adc 2 = " << adc2_ihit << " " << adc2val   << " " << adc2bar << endl;
+		  //	                          cout << iev << " " << tdc1_ihit << " " << tdc1val << " " << tdc1bar << " adc 2 = " << adc2_ihit << " " << adc2val   << " " << adc2bar << endl;
+		  if (tdc1bar==adc2bar) htdc_adc[hindex_base+adc2bar]->Fill(tdc1val,adc2val);
 		}
 		}
 	//
       }
      }
-    
+    }
+     //     cout  << " finish event = " << iev << endl; 
   }
   return;
 }