diff --git a/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg b/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..8d3f72a7aa2653ed64265d7bb4bef27c8b38db9e
--- /dev/null
+++ b/onlineGUI/Config/HMS/HODO/raw_hhodo_2d.cfg
@@ -0,0 +1,304 @@
+#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+protorootfile ../ROOTfiles/test_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1 ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1x16")
+newpage 3 4
+title Y1  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak1y10")
+newpage 4 4
+title X2  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2x16")
+newpage 3 4
+title Y2  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcpeak2y10")
+newpage 4 4
+title X1 ADC int Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1x16")
+newpage 3 4
+title Y1  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint1y10")
+newpage 4 4
+title X2  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2x16")
+newpage 3 4
+title Y2  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dadcint2y10")
+newpage 4 4
+title X1 TDC Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1x16")
+newpage 3 4
+title Y1 TDC Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc1y10")
+newpage 4 4
+title X2 TDC Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x10")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x11")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x12")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x13")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x14")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x15")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2x16")
+newpage 3 4
+title Y2 TDC Pos vs Neg
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y1")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y2")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y3")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y4")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y5")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y6")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y7")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y8")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y9")
+macro Macros/rawdraw_2d_hhodo.C("uh2dtdc2y10")
+newpage 4 4
+title X1- ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x1neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x2neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x3neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x4neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x5neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x6neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x7neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x8neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x9neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x10neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x11neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x12neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x13neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x14neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x15neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x16neg")
+newpage 4 4
+title X1+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x1pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x2pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x3pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x4pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x5pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x6pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x7pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x8pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x9pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x10pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x11pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x12pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x13pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x14pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x15pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1x16pos")
+newpage 3 4
+title Y1- ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y1neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y2neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y3neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y4neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y5neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y6neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y7neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y8neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y9neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y10neg")
+newpage 3 4
+title Y1+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y1pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y2pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y3pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y4pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y5pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y6pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y7pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y8pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y9pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d1y10pos")
+newpage 4 4
+title X2- ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x1neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x2neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x3neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x4neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x5neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x6neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x7neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x8neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x9neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x10neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x11neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x12neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x13neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x14neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x15neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x16neg")
+newpage 4 4
+title X2+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x1pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x2pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x3pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x4pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x5pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x6pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x7pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x8pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x9pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x10pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x11pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x12pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x13pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x14pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x15pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2x16pos")
+newpage 3 4
+title Y2- ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y1neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y2neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y3neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y4neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y5neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y6neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y7neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y8neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y9neg")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y10neg")
+newpage 3 4
+title Y2+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y1pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y2pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y3pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y4pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y5pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y6pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y7pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y8pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y9pos")
+macro Macros/rawdraw_2d_hhodo.C("uh2d2y10pos")
diff --git a/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..29da09c2f16c90ed87c455ba40d6b21f5372e692
--- /dev/null
+++ b/onlineGUI/Config/SHMS/HODO/raw_phodo_2d.cfg
@@ -0,0 +1,294 @@
+#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root
+protorootfile ../ROOTfiles/phodo_replay_XXXXX.root
+guicolor lightblue
+canvassize 800 800
+newpage 4 4
+title X1 ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1x13")
+newpage 4 4
+title Y1  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak1y13")
+newpage 4 4
+title X2  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2x14")
+newpage 3 4
+title Y2  ADC peak Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcpeak2y16")
+newpage 4 4
+title X1 ADC int Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1x13")
+newpage 4 4
+title Y1  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint1y13")
+newpage 4 4
+title X2  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2x14")
+newpage 3 4
+title Y2  ADC int Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dadcint2y12")
+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 4 4
+title X1 TDC Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1x13")
+newpage 4 4
+title Y1  TDC Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc1y13")
+newpage 4 4
+title X2  TDC Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x1")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x2")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x3")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x4")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x5")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x6")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2x14")
+newpage 3 4
+title Y2  TDC Pos vs Neg
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y7")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y8")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y9")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y10")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y11")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y12")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y13")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y14")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y15")
+macro Macros/rawdraw_2d_phodo.C("uh2dtdc2y16")
+newpage 4 4
+title X1-  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d1x1neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x2neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x3neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x4neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x5neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x6neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x7neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x8neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x9neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x10neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x11neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x12neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x13neg")
+newpage 4 4
+title X1+  ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d1x1pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x2pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x3pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x4pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x5pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x6pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x7pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x8pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x9pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x10pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x11pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x12pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1x13pos")
+newpage 4 4
+title Y1-   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d1y1neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y2neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y3neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y4neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y5neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y6neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y7neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y8neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y9neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y10neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y11neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y12neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y13neg")
+newpage 4 4
+title Y1+   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d1y1pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y2pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y3pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y4pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y5pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y6pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y7pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y8pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y9pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y10pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y11pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y12pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d1y13pos")
+newpage 4 4
+title X2-   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d2x1neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x2neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x3neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x4neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x5neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x6neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x7neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x8neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x9neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x10neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x11neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x12neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x13neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x14neg")
+newpage 4 4
+title X2-   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d2x1pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x2pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x3pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x4pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x5pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x6pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x7pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x8pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x9pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x10pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x11pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x12pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x13pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2x14pos")
+newpage 3 4
+title Y2-   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d2y7neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y8neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y9neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y10neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y11neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y12neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y13neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y14neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y15neg")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y16neg")
+newpage 3 4
+title Y2+   ADC (pC) vs TDC
+macro Macros/rawdraw_2d_phodo.C("uh2d2y7pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y8pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y9pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y10pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y11pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y12pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y13pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y14pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y15pos")
+macro Macros/rawdraw_2d_phodo.C("uh2d2y16pos")
diff --git a/onlineGUI/Macros/rawdraw_2d_hhodo.C b/onlineGUI/Macros/rawdraw_2d_hhodo.C
new file mode 100644
index 0000000000000000000000000000000000000000..980b0a4021b15891423e7136ff32b714f11eebda
--- /dev/null
+++ b/onlineGUI/Macros/rawdraw_2d_hhodo.C
@@ -0,0 +1,275 @@
+// UserScript.C
+//
+// Helper macro to build additional histograms
+
+void UserScript()
+{
+
+  const UInt_t NPLANES  = 4;
+  const UInt_t NSIDES   = 2;
+  const UInt_t MAXBARS  = 16;  // 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 TString SPECTROMETER = "H";
+  const TString DETECTOR = "hod";
+
+  const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+  const UInt_t  nbars[NPLANES] = {16, 10, 16, 10};
+  const TString sides[NSIDES] = {"neg", "pos"};
+  const TString signals[NSIGNALS] = {"Adc", "Tdc"};
+  const TString adc_signals[NADCSIGNALS] = {"Ped", "PedRaw", "PulseInt", "PulseIntRaw", 
+					    "PulseAmp", "PulseAmpRaw", "PulseTimeRaw"};
+  const TString tdc_signals[NTDCSIGNALS] = {"Time", "TimeRaw"};
+  
+  Double_t adcbit_to_pC = 1.0/(50*4096)*4*1000. ;// 1V/(50 Ohms)/4096*4ns* = .020 pC
+  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];
+
+  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 tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
+  Double_t tdcraw_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
+
+  TH2F* htdc_adc[NPLANES*NSIDES*MAXBARS];
+  TH2F* htdc_tdc[NPLANES*MAXBARS];
+  TH2F* hadc_adc[NPLANES*MAXBARS];
+  TH2F* hadcint_adcint[NPLANES*MAXBARS];
+  TH2F* hatdc_atdc[NPLANES*MAXBARS];
+  TH2F* hadc_atdc[NPLANES*NSIDES*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 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,-1000,-500,100,-1000,-500.);
+	    }
+  }
+  //
+  //
+  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 Peak Amp "+plane_names[ip]+i2dbarname+"; Neg (mV); Pos (mV)";
+	      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 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.);
+	    }
+  }
+  //
+  //
+  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= "h2dadctdc"+plane_names[ip]+i2dbarname;
+	      TString h2dtname="uh2dadctdc"+plane_names[ip]+i2dbarname;
+              hatdc_atdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,100,1000,2000,100,1000,2000.);
+	    }
+  }
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+    for(UInt_t iside = 0; iside < NSIDES; iside++) {
+	    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 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,-1000,-500,50,0.,100.);
+              hadc_atdc[h2dindex]= new TH2F(h2daname,h2datitle,50,0,100.,300,1000,2000.);
+	      //	      cout << " index = " << h2dindex << " " << h2dname << endl;
+              } else {
+                cout << " index = " << h2dindex << " too large" << endl;
+	      }
+	    }
+      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];
+	  TString adc_ndata_name = "Ndata."+adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_ndata_name, &nadchits[ip][iside][isignal]);
+	  TString adc_paddle_name = adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_paddle_name, &adc_paddles[ip][iside][isignal][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]);
+	    }
+	    if (adc_signals[iadcsignal] == "PedRaw") {
+	      TString pedrawlist_name = adc_base_name+"PedRaw";
+	      T->SetBranchAddress(pedrawlist_name, &pedraw_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]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseIntRaw") {
+	      TString intrawlist_name = adc_base_name+"PulseIntRaw";
+	      T->SetBranchAddress(intrawlist_name, &intraw_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]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+	      TString amprawlist_name = adc_base_name+"PulseAmpRaw";
+	      T->SetBranchAddress(amprawlist_name, &ampraw_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]);
+	    }
+	  }
+	}
+	
+	if(signals[isignal] == "Tdc") {  
+	  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]);
+	  TString tdc_paddle_name = tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_paddle_name, &tdc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    if (tdc_signals[itdcsignal] == "Time") {
+	      TString tdclist_name = tdc_base_name+"Time";
+	      T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	    if (tdc_signals[itdcsignal] == "TimeRaw") {
+	      TString tdcrawlist_name = tdc_base_name+"TimeRaw";
+	      T->SetBranchAddress(tdcrawlist_name, &tdcraw_values[ip][iside][itdcsignal][0]);
+	    }
+	  }
+	}
+
+      }
+    }
+  }
+
+  // Loop over the events, filling the histograms
+  cout << " looping over data " << endl;
+  for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) {
+    if (iev%10000==0) cout << " iev = " << iev << endl;
+    T->GetEntry(iev);
+    //
+    Double_t tdcbar_save=-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;
+		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;
+		  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;
+		}
+		}
+	}
+        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];
+		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];
+		  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*.244*2,adc2pval*.244*2);
+		  if ( adc2bar == adc1bar ) hadcint_adcint[ip*MAXBARS+adc1bar]->Fill(adc1val,adc2val);
+		  if ( adc2bar == adc1bar) hatdc_atdc[ip*MAXBARS+adc1bar]->Fill(adc1tval,adc2tval);
+		}
+		}
+	}
+    //
+
+     //
+     for(UInt_t ip = 0; ip < NPLANES; ip++) {
+      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);
+		}
+		}
+	//
+      }
+     }
+    
+  }
+  return;
+}
+
+void rawdraw_2d_hhodo(TString histname) {
+
+  TH1F* h;
+
+  h = (TH1F*) gDirectory->Get(histname);
+  if(!h) {
+    UserScript();
+    h = (TH1F*) gDirectory->Get(histname);
+    if(!h) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  TLine *pline = new TLine(0,30.,800.,30.);
+  TLine *pline2 = new TLine(30,0.,30.,800.);
+  // cout << histname.Contains("adcpeak") << endl;
+  h->SetStats(0);
+  h->Draw("colz");
+  if (histname.Contains("adcpeak")) {
+    pline->Draw();
+    pline->SetLineColor(2);
+    pline->SetLineWidth(3);
+    pline2->Draw();
+    pline2->SetLineColor(2);
+    pline2->SetLineWidth(3);
+    h->GetXaxis()->SetTitleOffset(.6);
+    h->GetXaxis()->SetTitleSize(0.08);
+    h->GetYaxis()->SetTitleOffset(.6);
+    h->GetYaxis()->SetTitleSize(0.08);
+  }
+  if (histname.Contains("adcint")) {
+    h->GetXaxis()->SetTitleOffset(.6);
+    h->GetXaxis()->SetTitleSize(0.08);
+    h->GetYaxis()->SetTitleOffset(.6);
+    h->GetYaxis()->SetTitleSize(0.08);
+  }
+}
+
diff --git a/onlineGUI/Macros/rawdraw_2d_phodo.C b/onlineGUI/Macros/rawdraw_2d_phodo.C
new file mode 100644
index 0000000000000000000000000000000000000000..c9056361733d384c57f0974b742d6a4ce5f642dd
--- /dev/null
+++ b/onlineGUI/Macros/rawdraw_2d_phodo.C
@@ -0,0 +1,302 @@
+// 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;  // 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 TString SPECTROMETER = "P";
+  const TString DETECTOR = "hod";
+
+  const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"};
+  const UInt_t  nbars[NPLANES] = {13, 13, 14, 21};
+  const TString sides[NSIDES] = {"neg", "pos"};
+  const TString signals[NSIGNALS] = {"Adc", "Tdc"};
+  const TString adc_signals[NADCSIGNALS] = {"Ped", "PedRaw", "PulseInt", "PulseIntRaw", 
+					    "PulseAmp", "PulseAmpRaw", "PulseTimeRaw"};
+  const TString tdc_signals[NTDCSIGNALS] = {"Time", "TimeRaw"};
+  
+  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.,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];
+
+  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 tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
+  Double_t tdcraw_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS];
+
+  TH2F* htdc_adc[NPLANES*NSIDES*MAXBARS];
+  TH2F* htdc_tdc[NPLANES*MAXBARS];
+  TH2F* hadc_adc[NPLANES*MAXBARS];
+  TH2F* hadcint_adcint[NPLANES*MAXBARS];
+  TH2F* hatdc_atdc[NPLANES*MAXBARS];
+  TH2F* hadc_atdc[NPLANES*NSIDES*MAXBARS];
+  TH2F* hnhits_negtdc_paddle[NPLANES];
+  TH2F* hnhits_postdc_paddle[NPLANES];
+  Int_t adc_ihit, tdc_ihit;
+
+  TTree *T=(TTree*)gDirectory->Get("T");
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+	      TString h2dttitle= "Neg TDC nhits vs paddle Plane "+plane_names[ip]+"; Paddle ; Nhits ";
+	      TString h2dtname="uh1dnegtdcNhitsPad"+plane_names[ip];
+              hnhits_negtdc_paddle[ip]= new TH2F(h2dtname,h2dttitle,nbars[ip],1,nbars[ip]+1,10,0,10);
+	      TString h2dttitle= "Pos TDC nhits vs paddle Plane "+plane_names[ip]+"; Paddle ; Nhits ";
+	      TString h2dtname="uh1dpostdcNhitsPad"+plane_names[ip];
+              hnhits_postdc_paddle[ip]= new TH2F(h2dtname,h2dttitle,nbars[ip],1,nbars[ip]+1,10,0,10);
+	    for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+	      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.);
+	    }
+  }
+  //
+  //
+  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 Peak Amp "+plane_names[ip]+i2dbarname+"; Neg (mV); Pos (mV)";
+	      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 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.);
+	    }
+  }
+  //
+  //
+  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= "h2dadctdc"+plane_names[ip]+i2dbarname;
+	      TString h2dtname="uh2dadctdc"+plane_names[ip]+i2dbarname;
+              hatdc_atdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,100,1000,2000,100,1000,2000.);
+	    }
+  }
+  //
+  for(UInt_t ip = 0; ip < NPLANES; ip++) {
+    for(UInt_t iside = 0; iside < NSIDES; iside++) {
+	    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 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.);
+              hadc_atdc[h2dindex]= new TH2F(h2daname,h2datitle,50,0,100.,300,1000,2000.);
+	      //	      cout << " index = " << h2dindex << " " << h2dname << endl;
+              } else {
+                cout << " index = " << h2dindex << " too large" << endl;
+	      }
+	    }
+      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];
+	  TString adc_ndata_name = "Ndata."+adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_ndata_name, &nadchits[ip][iside][isignal]);
+	  TString adc_paddle_name = adc_base_name+"Counter";
+	  T->SetBranchAddress(adc_paddle_name, &adc_paddles[ip][iside][isignal][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]);
+	    }
+	    if (adc_signals[iadcsignal] == "PedRaw") {
+	      TString pedrawlist_name = adc_base_name+"PedRaw";
+	      T->SetBranchAddress(pedrawlist_name, &pedraw_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]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseIntRaw") {
+	      TString intrawlist_name = adc_base_name+"PulseIntRaw";
+	      T->SetBranchAddress(intrawlist_name, &intraw_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]);
+	    }
+	    if (adc_signals[iadcsignal] == "PulseAmpRaw") {
+	      TString amprawlist_name = adc_base_name+"PulseAmpRaw";
+	      T->SetBranchAddress(amprawlist_name, &ampraw_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]);
+	    }
+	  }
+	}
+	
+	if(signals[isignal] == "Tdc") {  
+	  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]);
+	  TString tdc_paddle_name = tdc_base_name+"Counter";
+	  T->SetBranchAddress(tdc_paddle_name, &tdc_paddles[ip][iside][isignal][0]);
+	  for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) {
+	    if (tdc_signals[itdcsignal] == "Time") {
+	      TString tdclist_name = tdc_base_name+"Time";
+	      T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]);
+	    }
+	    if (tdc_signals[itdcsignal] == "TimeRaw") {
+	      TString tdcrawlist_name = tdc_base_name+"TimeRaw";
+	      T->SetBranchAddress(tdcrawlist_name, &tdcraw_values[ip][iside][itdcsignal][0]);
+	    }
+	  }
+	}
+
+      }
+    }
+  }
+
+  // Loop over the events, filling the histograms
+  cout << " looping over data " << endl;
+  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 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++)  {
+ 		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++)  {
+ 		UInt_t tdc4bar = TMath::Nint(tdc_paddles[ip][1][1][tdc4_ihit]) - 1;
+                nhits_pos[tdc4bar]++;
+		}
+                for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) {
+ 		  hnhits_negtdc_paddle[ip]->Fill(float(ibar+1),nhits_neg[ibar]);
+ 		  hnhits_postdc_paddle[ip]->Fill(float(ibar+1),nhits_pos[ibar]);
+		}
+       }
+    */
+       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;
+		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;
+		  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;
+		}
+		}
+	}
+        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;
+		  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) hatdc_atdc[ip*MAXBARS+adc1bar]->Fill(adc1tval,adc2tval);
+		}
+		}
+	}
+    //
+
+     //
+     for(UInt_t ip = 0; ip < NPLANES; ip++) {
+      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);
+		}
+		}
+	//
+      }
+     }
+    
+  }
+  return;
+}
+
+void rawdraw_2d_phodo(TString histname) {
+
+  TH1F* h;
+
+  h = (TH1F*) gDirectory->Get(histname);
+  if(!h) {
+    UserScript();
+    h = (TH1F*) gDirectory->Get(histname);
+    if(!h) {
+      cout << "User histogram " << histname << " not found" << endl;
+      exit(1);
+    }
+  }
+  TLine *pline = new TLine(0,30.,800.,30.);
+  TLine *pline2 = new TLine(30,0.,30.,800.);
+  // cout << histname.Contains("adcpeak") << endl;
+  h->SetStats(0);
+  h->Draw("colz");
+  if (histname.Contains("adcpeak")) {
+    pline->Draw();
+    pline->SetLineColor(2);
+    pline->SetLineWidth(3);
+    pline2->Draw();
+    pline2->SetLineColor(2);
+    pline2->SetLineWidth(3);
+    h->GetXaxis()->SetTitleOffset(.6);
+    h->GetXaxis()->SetTitleSize(0.08);
+    h->GetYaxis()->SetTitleOffset(.6);
+    h->GetYaxis()->SetTitleSize(0.08);
+  }
+  if (histname.Contains("adcint")) {
+    h->GetXaxis()->SetTitleOffset(.6);
+    h->GetXaxis()->SetTitleSize(0.08);
+    h->GetYaxis()->SetTitleOffset(.6);
+    h->GetYaxis()->SetTitleSize(0.08);
+  }
+}
+