diff --git a/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg b/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ea319285c9aba859d7e24e85ff4fcfc95dac9721 --- /dev/null +++ b/onlineGUI/Config/HMS/HODO/good_hhodo_2d.cfg @@ -0,0 +1,364 @@ +#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root +protorootfile ../ROOTfiles/test_XXXXX.root +guicolor lightblue +canvassize 800 800 +newpage 4 4 +title X1 Neg ADc v TDC +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1x16") +newpage 4 4 +title X1 Pos ADc v TDC +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1x16") +newpage 3 4 +title Y1 Neg ADc v TDC +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg1y10") +newpage 3 4 +title Y1 Pos ADc v TDC +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos1y10") +newpage 4 4 +title X2 Neg ADc v TDC +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2x16") +newpage 4 4 +title X2 Pos ADc v TDC +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2x16") +newpage 3 4 +title Y2 Neg ADc v TDC +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcneg2y10") +newpage 3 4 +title Y2 Pos ADc v TDC +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvtdcpos2y10") +newpage 4 4 +title X1 Eff Neg PMT +macro Macros/hodo_efficiency.C("uhdidneg1x1","uhshouldneg1x1") +macro Macros/hodo_efficiency.C("uhdidneg1x2","uhshouldneg1x2") +macro Macros/hodo_efficiency.C("uhdidneg1x3","uhshouldneg1x3") +macro Macros/hodo_efficiency.C("uhdidneg1x4","uhshouldneg1x4") +macro Macros/hodo_efficiency.C("uhdidneg1x5","uhshouldneg1x5") +macro Macros/hodo_efficiency.C("uhdidneg1x6","uhshouldneg1x6") +macro Macros/hodo_efficiency.C("uhdidneg1x7","uhshouldneg1x7") +macro Macros/hodo_efficiency.C("uhdidneg1x8","uhshouldneg1x8") +macro Macros/hodo_efficiency.C("uhdidneg1x9","uhshouldneg1x9") +macro Macros/hodo_efficiency.C("uhdidneg1x10","uhshouldneg1x10") +macro Macros/hodo_efficiency.C("uhdidneg1x11","uhshouldneg1x11") +macro Macros/hodo_efficiency.C("uhdidneg1x12","uhshouldneg1x12") +macro Macros/hodo_efficiency.C("uhdidneg1x13","uhshouldneg1x13") +macro Macros/hodo_efficiency.C("uhdidneg1x14","uhshouldneg1x14") +macro Macros/hodo_efficiency.C("uhdidneg1x15","uhshouldneg1x15") +macro Macros/hodo_efficiency.C("uhdidneg1x16","uhshouldneg1x16") +newpage 4 4 +title X1 Eff Pos PMT +macro Macros/hodo_efficiency.C("uhdidpos1x1","uhshouldpos1x1") +macro Macros/hodo_efficiency.C("uhdidpos1x2","uhshouldpos1x2") +macro Macros/hodo_efficiency.C("uhdidpos1x3","uhshouldpos1x3") +macro Macros/hodo_efficiency.C("uhdidpos1x4","uhshouldpos1x4") +macro Macros/hodo_efficiency.C("uhdidpos1x5","uhshouldpos1x5") +macro Macros/hodo_efficiency.C("uhdidpos1x6","uhshouldpos1x6") +macro Macros/hodo_efficiency.C("uhdidpos1x7","uhshouldpos1x7") +macro Macros/hodo_efficiency.C("uhdidpos1x8","uhshouldpos1x8") +macro Macros/hodo_efficiency.C("uhdidpos1x9","uhshouldpos1x9") +macro Macros/hodo_efficiency.C("uhdidpos1x10","uhshouldpos1x10") +macro Macros/hodo_efficiency.C("uhdidpos1x11","uhshouldpos1x11") +macro Macros/hodo_efficiency.C("uhdidpos1x12","uhshouldpos1x12") +macro Macros/hodo_efficiency.C("uhdidpos1x13","uhshouldpos1x13") +macro Macros/hodo_efficiency.C("uhdidpos1x14","uhshouldpos1x14") +macro Macros/hodo_efficiency.C("uhdidpos1x15","uhshouldpos1x15") +macro Macros/hodo_efficiency.C("uhdidpos1x16","uhshouldpos1x16") +newpage 3 4 +title Y1 Eff Neg PMT +macro Macros/hodo_efficiency.C("uhdidneg1y1","uhshouldneg1y1") +macro Macros/hodo_efficiency.C("uhdidneg1y2","uhshouldneg1y2") +macro Macros/hodo_efficiency.C("uhdidneg1y3","uhshouldneg1y3") +macro Macros/hodo_efficiency.C("uhdidneg1y4","uhshouldneg1y4") +macro Macros/hodo_efficiency.C("uhdidneg1y5","uhshouldneg1y5") +macro Macros/hodo_efficiency.C("uhdidneg1y6","uhshouldneg1y6") +macro Macros/hodo_efficiency.C("uhdidneg1y7","uhshouldneg1y7") +macro Macros/hodo_efficiency.C("uhdidneg1y8","uhshouldneg1y8") +macro Macros/hodo_efficiency.C("uhdidneg1y9","uhshouldneg1y9") +macro Macros/hodo_efficiency.C("uhdidneg1y10","uhshouldneg1y10") +newpage 3 4 +title Y1 Eff Pos PMT +macro Macros/hodo_efficiency.C("uhdidpos1y1","uhshouldpos1y1") +macro Macros/hodo_efficiency.C("uhdidpos1y2","uhshouldpos1y2") +macro Macros/hodo_efficiency.C("uhdidpos1y3","uhshouldpos1y3") +macro Macros/hodo_efficiency.C("uhdidpos1y4","uhshouldpos1y4") +macro Macros/hodo_efficiency.C("uhdidpos1y5","uhshouldpos1y5") +macro Macros/hodo_efficiency.C("uhdidpos1y6","uhshouldpos1y6") +macro Macros/hodo_efficiency.C("uhdidpos1y7","uhshouldpos1y7") +macro Macros/hodo_efficiency.C("uhdidpos1y8","uhshouldpos1y8") +macro Macros/hodo_efficiency.C("uhdidpos1y9","uhshouldpos1y9") +macro Macros/hodo_efficiency.C("uhdidpos1y10","uhshouldpos1y10") +newpage 4 4 +title X2 Eff Neg PMT +macro Macros/hodo_efficiency.C("uhdidneg2x1","uhshouldneg2x1") +macro Macros/hodo_efficiency.C("uhdidneg2x2","uhshouldneg2x2") +macro Macros/hodo_efficiency.C("uhdidneg2x3","uhshouldneg2x3") +macro Macros/hodo_efficiency.C("uhdidneg2x4","uhshouldneg2x4") +macro Macros/hodo_efficiency.C("uhdidneg2x5","uhshouldneg2x5") +macro Macros/hodo_efficiency.C("uhdidneg2x6","uhshouldneg2x6") +macro Macros/hodo_efficiency.C("uhdidneg2x7","uhshouldneg2x7") +macro Macros/hodo_efficiency.C("uhdidneg2x8","uhshouldneg2x8") +macro Macros/hodo_efficiency.C("uhdidneg2x9","uhshouldneg2x9") +macro Macros/hodo_efficiency.C("uhdidneg2x10","uhshouldneg2x10") +macro Macros/hodo_efficiency.C("uhdidneg2x11","uhshouldneg2x11") +macro Macros/hodo_efficiency.C("uhdidneg2x12","uhshouldneg2x12") +macro Macros/hodo_efficiency.C("uhdidneg2x13","uhshouldneg2x13") +macro Macros/hodo_efficiency.C("uhdidneg2x14","uhshouldneg2x14") +macro Macros/hodo_efficiency.C("uhdidneg2x15","uhshouldneg2x15") +macro Macros/hodo_efficiency.C("uhdidneg2x16","uhshouldneg2x16") +newpage 4 4 +title X2 Eff Pos PMT +macro Macros/hodo_efficiency.C("uhdidpos2x1","uhshouldpos2x1") +macro Macros/hodo_efficiency.C("uhdidpos2x2","uhshouldpos2x2") +macro Macros/hodo_efficiency.C("uhdidpos2x3","uhshouldpos2x3") +macro Macros/hodo_efficiency.C("uhdidpos2x4","uhshouldpos2x4") +macro Macros/hodo_efficiency.C("uhdidpos2x5","uhshouldpos2x5") +macro Macros/hodo_efficiency.C("uhdidpos2x6","uhshouldpos2x6") +macro Macros/hodo_efficiency.C("uhdidpos2x7","uhshouldpos2x7") +macro Macros/hodo_efficiency.C("uhdidpos2x8","uhshouldpos2x8") +macro Macros/hodo_efficiency.C("uhdidpos2x9","uhshouldpos2x9") +macro Macros/hodo_efficiency.C("uhdidpos2x10","uhshouldpos2x10") +macro Macros/hodo_efficiency.C("uhdidpos2x11","uhshouldpos2x11") +macro Macros/hodo_efficiency.C("uhdidpos2x12","uhshouldpos2x12") +macro Macros/hodo_efficiency.C("uhdidpos2x13","uhshouldpos2x13") +macro Macros/hodo_efficiency.C("uhdidpos2x14","uhshouldpos2x14") +macro Macros/hodo_efficiency.C("uhdidpos2x15","uhshouldpos2x15") +macro Macros/hodo_efficiency.C("uhdidpos2x16","uhshouldpos2x16") +newpage 3 4 +title Y2 Eff Neg PMT +macro Macros/hodo_efficiency.C("uhdidneg2y1","uhshouldneg2y1") +macro Macros/hodo_efficiency.C("uhdidneg2y2","uhshouldneg2y2") +macro Macros/hodo_efficiency.C("uhdidneg2y3","uhshouldneg2y3") +macro Macros/hodo_efficiency.C("uhdidneg2y4","uhshouldneg2y4") +macro Macros/hodo_efficiency.C("uhdidneg2y5","uhshouldneg2y5") +macro Macros/hodo_efficiency.C("uhdidneg2y6","uhshouldneg2y6") +macro Macros/hodo_efficiency.C("uhdidneg2y7","uhshouldneg2y7") +macro Macros/hodo_efficiency.C("uhdidneg2y8","uhshouldneg2y8") +macro Macros/hodo_efficiency.C("uhdidneg2y9","uhshouldneg2y9") +macro Macros/hodo_efficiency.C("uhdidneg2y10","uhshouldneg2y10") +newpage 3 4 +title Y2 Eff Pos PMT +macro Macros/hodo_efficiency.C("uhdidpos2y1","uhshouldpos2y1") +macro Macros/hodo_efficiency.C("uhdidpos2y2","uhshouldpos2y2") +macro Macros/hodo_efficiency.C("uhdidpos2y3","uhshouldpos2y3") +macro Macros/hodo_efficiency.C("uhdidpos2y4","uhshouldpos2y4") +macro Macros/hodo_efficiency.C("uhdidpos2y5","uhshouldpos2y5") +macro Macros/hodo_efficiency.C("uhdidpos2y6","uhshouldpos2y6") +macro Macros/hodo_efficiency.C("uhdidpos2y7","uhshouldpos2y7") +macro Macros/hodo_efficiency.C("uhdidpos2y8","uhshouldpos2y8") +macro Macros/hodo_efficiency.C("uhdidpos2y9","uhshouldpos2y9") +macro Macros/hodo_efficiency.C("uhdidpos2y10","uhshouldpos2y10") +newpage 4 4 +title X1 ADC int Pos vs Neg +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1x16") +newpage 3 4 +title Y1 ADC int Pos vs Neg +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc1y10") +newpage 4 4 +title X2 ADC int Pos vs Neg +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2x16") +newpage 3 4 +title Y2 ADC int Pos vs Neg +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcintgtdc2y10") +newpage 4 4 +title X1 TDC Pos vs Neg +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1x16") +newpage 3 4 +title Y1 TDC Pos vs Neg +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc1y10") +newpage 4 4 +title X2 TDC Pos vs Neg +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2x16") +newpage 3 4 +title Y2 TDC Pos vs Neg +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dtdc2y10") diff --git a/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg b/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg new file mode 100644 index 0000000000000000000000000000000000000000..dcfbababd1da63fbea4c5ceb4ca4a0ff75bee87b --- /dev/null +++ b/onlineGUI/Config/HMS/HODO/good_hhodo_2d_dis.cfg @@ -0,0 +1,124 @@ +#protorootfile ../ROOTfiles/hhodo_htrig_replay_XXXXX.root +protorootfile ../ROOTfiles/test_XXXXX.root +guicolor lightblue +canvassize 800 800 +newpage 4 4 +title X1+ ADC vs Dis +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1x16") +newpage 4 4 +title X1- ADC vs Dis +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1x16") +newpage 3 4 +title Y1+ ADC vs Dis +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos1y10") +newpage 3 4 +title Y1- ADC vs Dis +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg1y10") +newpage 4 4 +title X2+ ADC vs Dis +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2x16") +newpage 4 4 +title X2- ADC vs Dis +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x10") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x11") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x12") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x13") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x14") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x15") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2x16") +newpage 3 4 +title Y2+ ADC vs Dis +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdispos2y10") +newpage 3 4 +title Y2- ADC vs Dis +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y1") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y2") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y3") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y4") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y5") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y6") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y7") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y8") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y9") +macro Macros/gooddraw_2d_hhodo.C("uh2dadcvdisneg2y10") diff --git a/onlineGUI/Macros/gooddraw_2d_hhodo.C b/onlineGUI/Macros/gooddraw_2d_hhodo.C new file mode 100644 index 0000000000000000000000000000000000000000..89c3fa19f299752bc487631b386543d2b102cc4c --- /dev/null +++ b/onlineGUI/Macros/gooddraw_2d_hhodo.C @@ -0,0 +1,286 @@ +// 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; + const UInt_t MAXHITS = 16*16; + const UInt_t NSIGNALS = 2; + const UInt_t NADCSIGNALS = 1; + const UInt_t NTDCSIGNALS = 3; + + const TString SPECTROMETER = "H"; + const TString DETECTOR = "hod"; + + const TString plane_names[NPLANES] = {"1x", "1y", "2x", "2y"}; + const TString plane_check_names[NPLANES] = {"1y", "1x", "2y", "2x"}; + const UInt_t nbars[NPLANES] = {16, 10, 16, 10}; + const UInt_t nbars_check[NPLANES] = {10, 16, 10, 16}; + const TString sides[NSIDES] = {"GoodNeg", "GoodPos"}; + const TString signals[NSIGNALS] = {"Adc", "Tdc"}; + const TString adc_signals[NADCSIGNALS] = {"PulseInt"}; + const Double_t adc_min[NADCSIGNALS] = {0}; + const Double_t adc_max[NADCSIGNALS] = {5000}; + const Int_t adc_nbins[NADCSIGNALS] = {500}; + const TString tdc_signals[NTDCSIGNALS] = {"Chan", "TimeCorr", "TimeTOFCorr"}; + const Double_t tdc_min[NTDCSIGNALS] = {0.,0.,0.}; + const Double_t tdc_max[NTDCSIGNALS] = {4000.,50.,50.}; + const Int_t tdc_nbins[NTDCSIGNALS] = {100,500,500}; + + Double_t adcbit_to_pC = 1.0/(50*4096)*4*1000. ;// 1V/(50 Ohms)/4096*4ns* = .020 pC + Double_t adcpeak_to_mV = 1.0/4096.*1000;// 1.0V per 4096 bits + Double_t fac_for_disc[4]= {2.0,2.,2.,2.};// Factor to have ADC at FADC match signal at discriminatir assuming split of 2/3 to 1/3( 2Y plane has linear FI/FO not a splitter) + + Int_t nhits[NPLANES]; + Double_t adc_tdc_ymin[4]={45.,45.,35.,35.}; + Double_t adc_tdc_ymax[4]={65.,65.,55.,55.}; + Int_t nhits_temp; + Double_t paddles[NPLANES][MAXHITS]; + + + Double_t adc_values[NPLANES][NSIDES][NADCSIGNALS][MAXHITS]; + Double_t tdc_values[NPLANES][NSIDES][NTDCSIGNALS][MAXHITS]; + + + // + TH2F* htdc_tdc[NPLANES*MAXBARS]; + TH2F* hadc_adc[NPLANES*MAXBARS]; + TH2F* hadc_adc_good[NPLANES*MAXBARS]; + TH2F* hadc_tdc[NPLANES*MAXBARS][2]; + /* + make histogram of plane ADC versus position in perpendicalur plane + */ + TH2F* hadc_dis[NPLANES*MAXBARS][2]; + Int_t dis_bin[4]={10,16,10,16}; + 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; + // + TH2F* hpadx; + TH2F* hpadxy1; + TH2F* hpady; + hpadx= new TH2F("hpadx",";paddle X1;paddle X2",16,1,17,16,1,17); + hpadxy1= new TH2F("hpadxy1",";paddle X1;paddle Y1",16,1,17,10,1,11); + hpady= new TH2F("hpady",";paddle Y1;paddle Y2",10,1,11,10,1,11); + // + /* +Histograms for Neg and Pos PMT efficiencies as function of paddle in other perpendicular plane + Each X1 paddle efficiency as function of Y1 paddle. + Each Y1 paddle efficiency as function of X1 paddle. + Each X2 paddle efficiency as function of Y2 paddle. + Each Y2 paddle efficiency as function of X2 paddle. +Tree has data in which at least one PMT had a good TDC time. +If the other PMT did not have a good time then its TDC =-999. +For each event +Set good_should=kTRUE if nhits==1 all planes. +Loop through all hits in each plane ip=0,3 + If good_should=kTRUE and tdc_neg_val>0 good_neg[ip][bar]=kTRUE + If good_should=kTRUE and tdc_pos_val>0 good_neg[ip][bar]=kTRUE +endloop +Loop through all planes and all bars in that plane ib=0,nbars[ip] + if good_pos[ip][ib] then negative end should have had a hit + fill "should" neg PMT histogram with perpendicular paddle + if good_pos[ip][ib] and good_neg[ip][ib] + fill "did" neg PMT histogram with perpendicular paddle + if good_neg[ip][ib] then positive end should have had a hit + fill "should" pos PMT histogram with perpendicular paddle + if good_pos[ip][ib] and good_neg[ip][ib] + fill "did" pos PMT histogram with perpendicular paddle +end event +Efficiency is ratio of did/should which is calculated using hodo_efficiency.C + */ + TH1F* hgood_neg_should[4][16]; + TH1F* hgood_pos_should[4][16]; + TH1F* hgood_neg_did[4][16]; + TH1F* hgood_pos_did[4][16]; + // + Int_t adc_ihit, tdc_ihit; + + TTree *T=(TTree*)gDirectory->Get("T"); + // + for(UInt_t ip = 0; ip < NPLANES; ip++) { + for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) { + TString i2dbarname = Form("%d",ibar+1); + TString h2dttitle= "TDC 1ns/chan "+plane_names[ip]+i2dbarname+"; Neg ; Pos "; + TString h2dtname="uh2dtdc"+plane_names[ip]+i2dbarname; + htdc_tdc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,200,25,75,200,25,75.); + TString h2dnegtitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles; Counts neg "; + TString h2dnegname="uhdidneg"+plane_names[ip]+i2dbarname; + hgood_neg_did[ip][ibar]= new TH1F(h2dnegname,h2dnegtitle,nbars_check[ip],1,nbars_check[ip]+1); + TString h2dnegtitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles; Counts neg "; + TString h2dnegname="uhshouldneg"+plane_names[ip]+i2dbarname; + hgood_neg_should[ip][ibar]= new TH1F(h2dnegname,h2dnegtitle,nbars_check[ip],1,nbars_check[ip]+1); + TString h2dpostitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles;Counts pos "; + TString h2dposname="uhdidpos"+plane_names[ip]+i2dbarname; + hgood_pos_did[ip][ibar]= new TH1F(h2dposname,h2dpostitle,nbars_check[ip],1,nbars_check[ip]+1); + TString h2dpostitle="Pos PMT Pad "+plane_names[ip]+i2dbarname+"; plane "+plane_check_names[ip]+" paddles;Counts pos "; + TString h2dposname="uhshouldpos"+plane_names[ip]+i2dbarname; + hgood_pos_should[ip][ibar]= new TH1F(h2dposname,h2dpostitle,nbars_check[ip],1,nbars_check[ip]+1); + } + } + // + // + for(UInt_t ip = 0; ip < NPLANES; ip++) { + for(UInt_t ibar = 0; ibar < nbars[ip]; ibar++) { + TString i2dbarname = Form("%d",ibar+1); + TString h2dttitle= "ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)"; + TString h2dtname="uh2dadcint"+plane_names[ip]+i2dbarname; + hadc_adc[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.); + TString h2dttitle= "Good TDC ADC Int Amp "+plane_names[ip]+i2dbarname+"; Neg (pC); Pos (pC)"; + TString h2dtname="uh2dadcintgtdc"+plane_names[ip]+i2dbarname; + hadc_adc_good[ip*MAXBARS+ibar]= new TH2F(h2dtname,h2dttitle,50,0,100,50,0,100.); + TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; Adc (pC); Time (ns)"; + TString h2dtname="uh2dadcvtdcneg"+plane_names[ip]+i2dbarname; + hadc_tdc[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,50,0,100,50,adc_tdc_ymin[ip],adc_tdc_ymax[ip]); + TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+"; Adc (pC); Time (ns)"; + TString h2dtname="uh2dadcvtdcpos"+plane_names[ip]+i2dbarname; + hadc_tdc[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,50,0,100,50,adc_tdc_ymin[ip],adc_tdc_ymax[ip]); + TString h2dttitle= "Neg PMT Pad "+plane_names[ip]+i2dbarname+"; Pos (cm); Adc (pC)"; + TString h2dtname="uh2dadcvdisneg"+plane_names[ip]+i2dbarname; + hadc_dis[ip*MAXBARS+ibar][0]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],dis_sign[ip]*dis_center_pad1[ip]-dis_space/2.,-dis_sign[ip]*dis_center_pad1[ip]+dis_space/2.,50,0,100); + TString h2dttitle= "Pos PMT Pad "+plane_names[ip]+i2dbarname+"; Pos (cm); Adc (pC)"; + TString h2dtname="uh2dadcvdispos"+plane_names[ip]+i2dbarname; + hadc_dis[ip*MAXBARS+ibar][1]= new TH2F(h2dtname,h2dttitle,dis_bin[ip],dis_sign[ip]*dis_center_pad1[ip]-dis_space/2.,-dis_sign[ip]*dis_center_pad1[ip]+dis_space/2.,50,0,100); + } + } + // set up branches + + for(UInt_t ip = 0; ip < NPLANES; ip++) { + TString base2_name = SPECTROMETER+"."+DETECTOR+"."+plane_names[ip]; + TString ndata_name = "Ndata."+base2_name+".GoodPaddle"; + T->SetBranchAddress(ndata_name, &nhits[ip]); + TString paddle_name = base2_name+".GoodPaddle"; + T->SetBranchAddress(paddle_name, &paddles[ip][0]); + //s cout << ip << " " << paddle_name << endl; + for(UInt_t iside = 0; iside < NSIDES; iside++) { + for(UInt_t isignal = 0; isignal < NSIGNALS; isignal++) { + + if(signals[isignal] == "Adc") { + TString adc_base_name = SPECTROMETER+"."+DETECTOR+"."+ + plane_names[ip]+"."+sides[iside]+signals[isignal]; + for (UInt_t iadcsignal = 0; iadcsignal < NADCSIGNALS; iadcsignal++) { + TString adclist_name = adc_base_name+adc_signals[iadcsignal]; + T->SetBranchAddress(adclist_name, &adc_values[ip][iside][iadcsignal][0]); + } + } + + if(signals[isignal] == "Tdc") { + TString tdc_base_name = SPECTROMETER+"."+DETECTOR+"."+ + plane_names[ip]+"."+sides[iside]+signals[isignal]; + for (UInt_t itdcsignal = 0; itdcsignal < NTDCSIGNALS; itdcsignal++) { + TString tdclist_name = tdc_base_name+tdc_signals[itdcsignal]; + T->SetBranchAddress(tdclist_name, &tdc_values[ip][iside][itdcsignal][0]); + } + } + } // isginal + } //iside + } // ip + // Loop over the events, filling the histograms + Bool_t good_should; + Double_t good_pad[4]; + Double_t good_adc[4][2]; + Int_t check_plane[4]={1,0,3,2}; + Bool_t good_neg[4][16],good_pos[4][16]; + for(UInt_t iev = 0, N = T->GetEntries(); iev < N; iev++) { + T->GetEntry(iev); + if (iev%10000==0) cout << " iev = " << iev << endl; + // get events with x paddle number equal and y paddle equal + // + good_should=kFALSE; + for(UInt_t ip = 0; ip < NPLANES; ip++){ + for(UInt_t ib = 0; ib < nbars[ip]; ib++){ + good_neg[ip][ib]=kFALSE; + good_pos[ip][ib]=kFALSE; + } + } + if (nhits[0]==1&&nhits[1]==1&&nhits[2]==1&&nhits[3]==1) good_should = kTRUE; + for(UInt_t ip = 0; ip < NPLANES; ip++){ + // cout << iev << " " << ip << " " << nhits[ip]<< endl; + for(Int_t ihit = 0; ihit < nhits[ip]; ihit++) { + UInt_t bar = TMath::Nint(paddles[ip][ihit]) - 1; + Double_t tdc_neg_val = tdc_values[ip][0][1][ihit]; + Double_t tdc_pos_val =tdc_values[ip][1][1][ihit]; + Double_t adc_neg_val = adc_values[ip][0][0][ihit]*adcbit_to_pC; + Double_t adc_pos_val = adc_values[ip][1][0][ihit]*adcbit_to_pC; + // cout << " " << ihit << " " << bar << " " << tdc_neg_val << endl; + htdc_tdc[ip*MAXBARS+bar]->Fill(tdc_neg_val,tdc_pos_val); + // if (tdc_neg_val > 0 && tdc_pos_val >0) hadc_adc[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val); + hadc_adc[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val); + if (tdc_pos_val>0 && tdc_neg_val>0 ) { + hadc_adc_good[ip*MAXBARS+bar]->Fill(adc_neg_val,adc_pos_val); + hadc_tdc[ip*MAXBARS+bar][0]->Fill(adc_neg_val,tdc_neg_val); + hadc_tdc[ip*MAXBARS+bar][1]->Fill(adc_pos_val,tdc_pos_val); + } + good_pad[ip]=bar+1; + good_adc[ip][0]=adc_neg_val; + good_adc[ip][1]=adc_pos_val; + if (good_should && tdc_neg_val>0 ) good_neg[ip][bar]=kTRUE; + if (good_should && tdc_pos_val>0 ) good_pos[ip][bar]=kTRUE; + } + } + // + if (good_should ) { + for(UInt_t ip = 0; ip < NPLANES; ip++){ + // cout << " ip = " << ip << " " << good_should<< endl; + // cout << " pad = " << good_pad[check_plane[ip]] << " check_plane = " << check_plane[ip] << endl; + for(UInt_t ib = 0; ib < nbars[ip]; ib++){ + // cout << ib << " " << good_neg[ip][ib] << " " << good_pos[ip][ib] << endl; + if (good_pos[ip][ib]) hgood_neg_should[ip][ib]->Fill(good_pad[check_plane[ip]]); + if (good_neg[ip][ib]) hgood_pos_should[ip][ib]->Fill(good_pad[check_plane[ip]]); + if (good_neg[ip][ib] && good_pos[ip][ib]) { + hgood_neg_did[ip][ib]->Fill(good_pad[check_plane[ip]]); + hgood_pos_did[ip][ib]->Fill(good_pad[check_plane[ip]]); + hadc_dis[ip*MAXBARS+ib][0]->Fill(dis_center_pad1[ip]+dis_sign[ip]*dis_space*(good_pad[check_plane[ip]]-1),good_adc[ip][0]); + hadc_dis[ip*MAXBARS+ib][1]->Fill(dis_center_pad1[ip]+dis_sign[ip]*dis_space*(good_pad[check_plane[ip]]-1),good_adc[ip][1]); + } + } + } + } + } // loop over entries + // + return; +} + + + +void gooddraw_2d_hhodo(TString histname) { + + TH1F* h1d; + TH2F* h2d; + + h1d = (TH1F*) gDirectory->Get(histname); + h2d = (TH2F*) gDirectory->Get(histname); + if(!h1d && !h2d) { + UserScript(); + h1d = (TH1F*) gDirectory->Get(histname); + h2d = (TH2F*) gDirectory->Get(histname); + if(!h1d || !h2d) { + cout << "User histogram " << histname << " not found" << endl; + exit(1); + } + } + if (h2d) { + h2d->SetStats(0); + h2d->Draw("colz"); + h2d->GetXaxis()->SetTitleOffset(.6); + h2d->GetXaxis()->SetTitleSize(0.08); + h2d->GetYaxis()->SetTitleOffset(.6); + h2d->GetYaxis()->SetTitleSize(0.08); + } + else { + cout << "1d drawing " << histname << endl; + h1d->SetStats(0); + h1d->Draw(); + h1d->GetXaxis()->SetTitleOffset(.6); + h1d->GetXaxis()->SetTitleSize(0.08); + h1d->GetYaxis()->SetTitleOffset(.6); + h1d->GetYaxis()->SetTitleSize(0.08); + } +} + diff --git a/onlineGUI/Macros/hodo_efficiency.C b/onlineGUI/Macros/hodo_efficiency.C new file mode 100644 index 0000000000000000000000000000000000000000..ebc5686c0173c71a1d9fae3386379c72c87d38fc --- /dev/null +++ b/onlineGUI/Macros/hodo_efficiency.C @@ -0,0 +1,24 @@ +void hodo_efficiency(TString hist1name, TString hist2name){ + TH1F* H1; + TH1F* H2; + + H1 = (TH1F*) gDirectory->Get(hist1name); + H2 = (TH1F*) gDirectory->Get(hist2name); + if (H1 && H2) { + H1->Sumw2(); + H2->Sumw2(); + TH1F* Hratio=(TH1F*)H1->Clone(); + Hratio->Divide(H1,H2,1,1,"B"); + Hratio->SetStats(0); + // Hratio->SetMinimum(0.4); + Hratio->SetMaximum(1.1); + Hratio->Draw("EP"); + Hratio->GetXaxis()->SetTitleOffset(.6); + Hratio->GetXaxis()->SetTitleSize(0.08); + Hratio->GetYaxis()->SetTitleOffset(.6); + Hratio->GetYaxis()->SetTitleSize(0.08); + } else { + if (!H1) cout << " Histogram " << hist1name << " does not exist" << endl; + if (!H2) cout << " Histogram " << hist2name << " does not exist" << endl; + } +} diff --git a/onlineGUI/Macros/overlay.C b/onlineGUI/Macros/overlay.C index 97eab883a9d4ab8e28ceff11e3fe807b66f23b11..ac7f038903b18602e4f67416b16dbcb274f6aca1 100755 --- a/onlineGUI/Macros/overlay.C +++ b/onlineGUI/Macros/overlay.C @@ -15,6 +15,10 @@ void overlay(TString hist1name, TString hist2name, Bool_t golden=false,TString s } else { H1->SetLineColor(4); H2->SetLineColor(2); + H1->SetStats(0); + H2->SetStats(0); + H1->SetMinimum(0); + H2->SetMinimum(0); } if(golden){ @@ -37,6 +41,10 @@ void overlay(TString hist1name, TString hist2name, Bool_t golden=false,TString s H1->Draw(samestr); if(!samestr.Contains("sames")) samestr += "sames"; H2->Draw(samestr); + H2->GetXaxis()->SetTitleOffset(.6); + H2->GetXaxis()->SetTitleSize(0.08); + H2->GetYaxis()->SetTitleOffset(.6); + H2->GetYaxis()->SetTitleSize(0.08); } } } else {