diff --git a/.gitignore b/.gitignore index a07d797a1822a9e346c317da492049c7e0a59d69..b95fc3124e49d320ede6a448b64db97170cdf024 100644 --- a/.gitignore +++ b/.gitignore @@ -26,5 +26,4 @@ CALIBRATION/shms_cal_calib/pcal_calib_cpp_ACLiC_dict_rdict.pcm CALIBRATION/*/data_files/* CALIBRATION/*/root_files/* onlineGUI/onlineGUI_v1.2.1/onlineDict_rdict.pcm -onlineGUI/onlineGUI_v1.2.1/onlineDict.h diff --git a/CALIBRATION/shms_hgcer_calib/README.md b/CALIBRATION/shms_hgcer_calib/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9324566286246a0c86129ac27e99b8775a63f938 --- /dev/null +++ b/CALIBRATION/shms_hgcer_calib/README.md @@ -0,0 +1,19 @@ +# Calibrating the Cherenkovs +* Link your ROOT file +* Run the script with options (listed after script is executed) +``` +root -l ../../ROOTfiles/shms_replay_488_-1.root +T->Process("calibration.C+", "options"); +T->Process("efficiencies.C+", "options"); +``` +### Options for the calibration script are (case/spelling important): +* **readall** - read all data from ROOT tree (very slow) +* **showall** - display all calibration details (lots of windows) +* **tracksfired** - alternate calibration method using the tracksfired leaf +* **cut** - use particle ID +* **pions** - use particle ID selecting pions + +### Options for the efficiencies script are (case/spelling important): +* **showall** - display all calibration details (lots of windows) +* **Chercut** - use the other Cherenkov detector in particle ID +* **NGC** - calibrate the nobel gas Cherenkov diff --git a/CALIBRATION/shms_hgcer_calib/README/Calibration_Description.aux b/CALIBRATION/shms_hgcer_calib/README/Calibration_Description.aux deleted file mode 100644 index c02c4136d19dd3cca6bc59b4a2cbd287d21e835d..0000000000000000000000000000000000000000 --- a/CALIBRATION/shms_hgcer_calib/README/Calibration_Description.aux +++ /dev/null @@ -1,4 +0,0 @@ -\relax -\@writefile{toc}{\contentsline {section}{\numberline {1}How to Perform a Calibration}{1}} -\@writefile{toc}{\contentsline {section}{\numberline {2}Data Cuts and Histogram Creation}{1}} -\@writefile{toc}{\contentsline {section}{\numberline {3}Calibration}{3}} diff --git a/CALIBRATION/shms_hgcer_calib/README/Calibration_Description.log b/CALIBRATION/shms_hgcer_calib/README/Calibration_Description.log deleted file mode 100644 index 8b69a4f1db01227d664728ab6d275f1df0c511db..0000000000000000000000000000000000000000 --- a/CALIBRATION/shms_hgcer_calib/README/Calibration_Description.log +++ /dev/null @@ -1,260 +0,0 @@ -This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=latex 2013.9.19) 16 JUN 2017 12:27 -entering extended mode - %&-line parsing enabled. -**\nonstopmode\input Calibration_Description.tex -(./Calibration_Description.tex (/usr/share/texmf/tex/latex/base/article.cls -Document Class: article 2005/09/16 v1.4f Standard LaTeX document class -(/usr/share/texmf/tex/latex/base/size12.clo -File: size12.clo 2005/09/16 v1.4f Standard LaTeX file (size option) -) -\c@part=\count79 -\c@section=\count80 -\c@subsection=\count81 -\c@subsubsection=\count82 -\c@paragraph=\count83 -\c@subparagraph=\count84 -\c@figure=\count85 -\c@table=\count86 -\abovecaptionskip=\skip41 -\belowcaptionskip=\skip42 -\bibindent=\dimen102 -) -(/usr/share/texmf/tex/latex/base/fontenc.sty -Package: fontenc 2005/09/27 v1.99g Standard LaTeX package - -(/usr/share/texmf/tex/latex/base/t1enc.def -File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file -LaTeX Font Info: Redeclaring font encoding T1 on input line 43. -)) -(/usr/share/texmf/tex/latex/lm/lmodern.sty -Package: lmodern 2007/01/14 v1.3 Latin Modern Fonts -LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 13. -LaTeX Font Info: Overwriting symbol font `letters' in version `normal' -(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 14. -LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' -(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 15. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' -(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 16. -LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 17. -LaTeX Font Info: Overwriting symbol font `letters' in version `bold' -(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 18. -LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' -(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 19. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' -(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 20. -LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' -(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 22. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' -(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 23. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' -(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 24. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' -(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 25. -LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 27. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 28. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 29. -) -(/usr/share/texmf/tex/latex/setspace/setspace.sty -Package: setspace 2000/12/01 6.7 Contributed and Supported LaTeX2e package - -Package: `setspace' 6.7 <2000/12/01> -) (/usr/share/texmf/tex/latex/amsmath/amsmath.sty -Package: amsmath 2000/07/18 v2.13 AMS math features -\@mathmargin=\skip43 - -For additional information on amsmath, use the `?' option. -(/usr/share/texmf/tex/latex/amsmath/amstext.sty -Package: amstext 2000/06/29 v2.01 - -(/usr/share/texmf/tex/latex/amsmath/amsgen.sty -File: amsgen.sty 1999/11/30 v2.0 -\@emptytoks=\toks14 -\ex@=\dimen103 -)) -(/usr/share/texmf/tex/latex/amsmath/amsbsy.sty -Package: amsbsy 1999/11/29 v1.2d -\pmbraise@=\dimen104 -) -(/usr/share/texmf/tex/latex/amsmath/amsopn.sty -Package: amsopn 1999/12/14 v2.01 operator names -) -\inf@bad=\count87 -LaTeX Info: Redefining \frac on input line 211. -\uproot@=\count88 -\leftroot@=\count89 -LaTeX Info: Redefining \overline on input line 307. -\classnum@=\count90 -\DOTSCASE@=\count91 -LaTeX Info: Redefining \ldots on input line 379. -LaTeX Info: Redefining \dots on input line 382. -LaTeX Info: Redefining \cdots on input line 467. -\Mathstrutbox@=\box26 -\strutbox@=\box27 -\big@size=\dimen105 -LaTeX Font Info: Redeclaring font encoding OML on input line 567. -LaTeX Font Info: Redeclaring font encoding OMS on input line 568. -\macc@depth=\count92 -\c@MaxMatrixCols=\count93 -\dotsspace@=\muskip10 -\c@parentequation=\count94 -\dspbrk@lvl=\count95 -\tag@help=\toks15 -\row@=\count96 -\column@=\count97 -\maxfields@=\count98 -\andhelp@=\toks16 -\eqnshift@=\dimen106 -\alignsep@=\dimen107 -\tagshift@=\dimen108 -\tagwidth@=\dimen109 -\totwidth@=\dimen110 -\lineht@=\dimen111 -\@envbody=\toks17 -\multlinegap=\skip44 -\multlinetaggap=\skip45 -\mathdisplay@stack=\toks18 -LaTeX Info: Redefining \[ on input line 2666. -LaTeX Info: Redefining \] on input line 2667. -) -(/usr/share/texmf/tex/latex/amsfonts/amssymb.sty -Package: amssymb 2002/01/22 v2.2d - -(/usr/share/texmf/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2001/10/25 v2.2f -\symAMSa=\mathgroup4 -\symAMSb=\mathgroup5 -LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' -(Font) U/euf/m/n --> U/euf/b/n on input line 132. -)) -(/usr/share/texmf/tex/latex/graphics/graphicx.sty -Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) - -(/usr/share/texmf/tex/latex/graphics/keyval.sty -Package: keyval 1999/03/16 v1.13 key=value parser (DPC) -\KV@toks@=\toks19 -) -(/usr/share/texmf/tex/latex/graphics/graphics.sty -Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR) - -(/usr/share/texmf/tex/latex/graphics/trig.sty -Package: trig 1999/03/16 v1.09 sin cos tan (DPC) -) -(/usr/share/texmf/tex/latex/config/graphics.cfg -File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive -) -Package graphics Info: Driver file: dvips.def on input line 90. - -(/usr/share/texmf/tex/latex/graphics/dvips.def -File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR) -)) -\Gin@req@height=\dimen112 -\Gin@req@width=\dimen113 -) -(/usr/share/texmf/tex/latex/preprint/fullpage.sty -Package: fullpage 1999/02/23 1.1 (PWD) -\FP@margin=\skip46 -) -(./Calibration_Description.aux) -\openout1 = `Calibration_Description.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 13. -LaTeX Font Info: ... okay on input line 13. -LaTeX Font Info: Try loading font information for T1+lmr on input line 13. - (/usr/share/texmf/tex/latex/lm/t1lmr.fd -File: t1lmr.fd 2007/01/14 v1.3 Font defs for Latin Modern -) -LaTeX Font Info: Try loading font information for OT1+lmr on input line 18. - -(/usr/share/texmf/tex/latex/lm/ot1lmr.fd -File: ot1lmr.fd 2007/01/14 v1.3 Font defs for Latin Modern -) -LaTeX Font Info: Try loading font information for OML+lmm on input line 18. - -(/usr/share/texmf/tex/latex/lm/omllmm.fd -File: omllmm.fd 2007/01/14 v1.3 Font defs for Latin Modern -) -LaTeX Font Info: Try loading font information for OMS+lmsy on input line 18. - - -(/usr/share/texmf/tex/latex/lm/omslmsy.fd -File: omslmsy.fd 2007/01/14 v1.3 Font defs for Latin Modern -) -LaTeX Font Info: Try loading font information for OMX+lmex on input line 18. - - -(/usr/share/texmf/tex/latex/lm/omxlmex.fd -File: omxlmex.fd 2007/01/14 v1.3 Font defs for Latin Modern -) -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <14.4> on input line 18. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10> on input line 18. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <7> on input line 18. -LaTeX Font Info: Try loading font information for U+msa on input line 18. - -(/usr/share/texmf/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2002/01/19 v2.2g AMS font definitions -) -LaTeX Font Info: Try loading font information for U+msb on input line 18. - -(/usr/share/texmf/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2002/01/19 v2.2g AMS font definitions -) -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <12> on input line 25. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <8> on input line 25. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <6> on input line 25. - -Underfull \hbox (badness 10000) in paragraph at lines 25--26 - - [] - -[1 - -] -Overfull \hbox (26.44315pt too wide) in paragraph at lines 27--28 -\T1/lmr/m/n/12 re-play script. The leaves of in-ter-est are ``P.hgcer.goodAdcPu -lseInt'', ``P.hgcer.goodAdcPulseAmp'', - [] - - -Underfull \hbox (badness 10000) in paragraph at lines 27--28 - - [] - -[2] -Underfull \hbox (badness 10000) in paragraph at lines 39--40 - - [] - -[3] [4] (./Calibration_Description.aux) ) -Here is how much of TeX's memory you used: - 1799 strings out of 256217 - 20942 string characters out of 1917095 - 67256 words of memory out of 1500000 - 5060 multiletter control sequences out of 10000+200000 - 50552 words of font info for 54 fonts, out of 1200000 for 2000 - 645 hyphenation exceptions out of 8191 - 27i,8n,24p,1091b,197s stack positions out of 5000i,500n,6000p,200000b,15000s - -Output written on Calibration_Description.dvi (4 pages, 7892 bytes). diff --git a/CALIBRATION/shms_hgcer_calib/README/Calibration_Description.tex b/CALIBRATION/shms_hgcer_calib/README/Calibration_Description.tex deleted file mode 100644 index b0f72b9ab79b5081fcba4d37c4f52f7c67a90866..0000000000000000000000000000000000000000 --- a/CALIBRATION/shms_hgcer_calib/README/Calibration_Description.tex +++ /dev/null @@ -1,42 +0,0 @@ -\documentclass[12pt,letterpaper]{article} - -\usepackage[T1]{fontenc} -\usepackage{lmodern} -\usepackage{setspace} -\usepackage{amsmath} -\usepackage{amssymb} -\usepackage{graphicx} -\usepackage{fullpage} - -\doublespacing - -\begin{document} - -\title{SHMS Heavy Gas Cherenkov (HGC) Detector Calibration Procedure} -\author{Ryan Ambrose -- gra353@uregina.ca} -\date{} -\maketitle - -\section{How to Perform a Calibration} -From the main directory (hallc\_replay/CALIBRATION/shms\_hgc\_calib) run the script Calibration.C (in terminal type: root Calibration.C). The terminal will then ask for a run number; once entered the script will output three canvases for each photomultiplier tube (PMT): heavy gas Cherenkov (HGC) spectra after several cuts to determine single photoelectron (SPE) peak, calibration of full ADC spectra with calibration effectiveness, and a second round of calibration based off the slope of the previous. Calibration was successful if slope of the line is approximately 1. - -\section{Data Cuts and Histogram Creation} - -After the raw cdaq data are replayed using replay\_shms.C, it is fed into a script designed to sort the data event-by-event. For each event, the script extracts the pulse amplitude, integral, and timing information from the HGC, shower/preshower, noble gas Cherenkov (NGC), Aerogel, and various other quantities from the trigger, drift chamber, and hodoscopes for timing information. Each event corresponds to a single trigger, and the first cut performed is the requirement that the quantity $ntracks$ is equal to one, i.e. there is one and only one good track for the event. This is to eliminate the large number of signals coming from sources outside of the beam path. Next, several histograms are filled for troubleshooting and verifying the correct operation of the script. To reduce run time, the filling of histograms for other detectors may be omitted, since they have little relevance for the HGC. A quantity which will be useful is the pulse integral for each detector for each event, for particle identification. \\ - -For the actual HGC loop, it is important to understand how the data is output from the replay script. The leaves of interest are ``P.hgcer.goodAdcPulseInt'', ``P.hgcer.goodAdcPulseAmp'', and ``P.hgcer.goodAdcPulseTime'', which have inherent in them cuts already. They require that the FPGA did not fail and the hit must have occured within the prompt FADC timing peak (500. < adcTime < 2500.). The quantity PulseInt refers to the pulse integral, summing the voltage at each sampling point of the pulse. PulseAmp refers to the pulse amplitude (maximum voltage achieved) and PulseTime refers to the time it takes the pulse to reach the half-maximum point from the initial sampling. Each of these leaves are then indexed into arrays of length four corresponding to each PMT. The resulting histograms are highly sparsified due to a signal of 0.0 being filled for each event the HGC doesn't record any measurement (such as tracks not going through the HGC). \\ - -Two major cuts are then performed: on particle ID and particle location. Particle ID is determined by comparing the pulse integral between the NGC and the sum of the shower and pre-shower (SHWR/PSHWR). Naturally, electrons deposit more energy when they traverse a medium which dictates the division between electrons and pions. Particle location is determined by using the tracking replayed data and the geometric location of the HGC mirrors. A small angle of deflection from the optical axis is assumed, simplifying the calculation of particle location in the HGC to: -\begin{eqnarray*} -y_{HGC} = y_{Focal Plane} + y'_{Focal Plane}* z_{HGC} \\ -x_{HGC} = x_{Focal Plane} + x'_{Focal Plane}* z_{HGC} \\ -z_{HGC} = 156.27\text{cm (From focal plane)} -\end{eqnarray*} -The mirror plane of the HGC is divided into four quadrants based of detector geometry. Individual histograms are filled for each type of particle in each quadrant, indexed by PMT, and these are used in the actual calibration script. - -\section{Calibration} - -To perform the calibration, it is assumed the ADC pulse integral and corresponding number of photoelectrons have a linear relationship. In the first step ADC histograms for the HGC with cuts on particle ID and location are used to visolate SPE events. As a note, each PMT looking at its own quadrant (signal PMT 1 gets from quadrant 1) is ignored since there are many fewer SPE events. The ROOT class TSpectrum, specifically the method search(), is used to locate the peak of the pedistle and SPE. The data is fit with a sum of two Gaussian distributions with their mean restricted to the prediction from TSpectrum within $\pm$10 ADC channels. The resultant mean for the SPE for electrons is then averaged and used as a first guess for a calibration. Pion events are not used due to typically low statistics. \\ - -Once the calibration is obtained the full spectra, for each PMT, is scaled from ADC channel to photoelectron and normalized by its integral. This calibrated spectra is then fitted by a Poisson distribution on the right hand side to remove the non-Gaussian characteristics of that larger photoelectron peaks (remove signal from approximately 5.5 photoelectrons and onward). Once the Poisson characteristics are subtracted, the final spectrum is fit with a sum of three Gaussians to ensure the peaks correspond to integer photoelectron values. As a verification, a plot of photoelectron position is created to check for linearity. After this first iteration, the calibration constant is multiplied by the linear slope and the process is repeated. Both calibration constants are outputted so that the better fit can be determined. -\end{document} diff --git a/CALIBRATION/shms_hgcer_calib/calibration.C b/CALIBRATION/shms_hgcer_calib/calibration.C new file mode 100644 index 0000000000000000000000000000000000000000..e371cfc62b303e46c3e71badbd8407638532cccd --- /dev/null +++ b/CALIBRATION/shms_hgcer_calib/calibration.C @@ -0,0 +1,899 @@ +#define calibration_cxx +// The class definition in calibration.h has been generated automatically +// by the ROOT utility TTree::MakeSelector(). This class is derived +// from the ROOT class TSelector. For more information on the TSelector +// framework see $ROOTSYS/README/README.SELECTOR or the ROOT User Manual. + +// The following methods are defined in this file: +// Begin(): called every time a loop on the tree starts, +// a convenient place to create your histograms. +// SlaveBegin(): called after Begin(), when on PROOF called only on the +// slave servers. +// Process(): called for each event, in this function you decide what +// to read and fill your histograms. +// SlaveTerminate: called at the end of the loop on the tree, when on PROOF +// called only on the slave servers. +// Terminate(): called at the end of the loop on the tree, +// a convenient place to draw/fit your histograms. +// +// To use this file, try the following session on your Tree T: +// +// Root > T->Process("calibration.C+") +// Root > T->Process("calibration.C+","some options") +// + + +#include "calibration.h" +#include <TH1.h> +#include <TH2.h> +#include <TF1.h> +#include <TStyle.h> +#include <TCanvas.h> +#include <TPaveText.h> +#include <TSpectrum.h> +#include <TList.h> +#include <TPolyMarker.h> +#include <TGraphErrors.h> +#include <TMath.h> +#include <iostream> +#include <iomanip> + +using namespace TMath; + +void calibration::Begin(TTree * /*tree*/) +{ + // The Begin() function is called at the start of the query. + // When running with PROOF Begin() is only called on the client. + // The tree argument is deprecated (on PROOF 0 is passed). + printf("\n\n"); + + TString option = GetOption(); + Info("Begin", "Script will fail unless 'calibration.C+' is used"); + Info("Begin", "Starting calibration process with option: %s", option.Data()); + Info("Begin", "To load all branches, use option readall (warning, very slow)"); + Info("Begin", "To see details of calibration, use option showall"); + Info("Begin", "Default calibration is the HGC, for NGC use option NGC"); + Info("Begin", "To calibrate using TrackFired leaf, use option trackfired"); + Info("Begin", "Default is no particle cut, use option cut if desired"); + Info("Begin", "Default particle ID is electrons, use option pions if desired"); +} + +void calibration::SlaveBegin(TTree * /*tree*/) +{ + // The SlaveBegin() function is called after the Begin() function. + // When running with PROOF SlaveBegin() is called on each slave server. + // The tree argument is deprecated (on PROOF 0 is passed). + + printf("\n\n"); + TString option = GetOption(); + + // How much to read + fFullRead = kFALSE; + // Which detector to calibrate + fNGC = kFALSE; + // How much of the calibration to show + fFullShow = kFALSE; + // Calibration strategy + fTrack = kFALSE; + // Particle ID cuts used + fCut = kFALSE; + // Which particle ID to use + fPions = kFALSE; + + //Check option + if (option.Contains("readall")) fFullRead = kTRUE; + if (option.Contains("NGC")) fNGC = kTRUE; + if (option.Contains("showall")) fFullShow = kTRUE; + if (option.Contains("trackfired")) fTrack = kTRUE; + if (option.Contains("pions") || option.Contains("pion")) fPions = kTRUE; + if (option.Contains("cut") || fPions || option.Contains("cuts")) fCut = kTRUE; + + Info("SlaveBegin", "'%s' reading", (fFullRead ? "full" : "optimized")); + Info("SlaveBegin", "calibrating '%s'", (fNGC ? "NGC" : "HGC")); + Info("SlaveBegin", "'%s' showing", (fFullShow ? "full" : "minimal")); + Info("SlaveBegin", "'%s' strategy", (fTrack ? "tracking" : "quadrant")); + Info("SlaveBegin", "cuts %s performed", (fCut ? "are" : "are not")); + if (fCut) Info("SlaveBegin", "cutting for '%s'", (fPions ? "pions" : "electrons")); + + // Inintialize the histograms. Note they are binned per ADC channel which will be changed in the calibration analysis. + Int_t ADC_min; + Int_t ADC_max; + Int_t bins; + + if (fNGC) //Set up histograms for NGC + { + ADC_min = 0; + ADC_max = 12000; + bins = abs(ADC_min) + abs(ADC_max); + } + if (!fNGC) //Set up histograms for HGC + { + ADC_min = 0; + ADC_max = 7000; + bins = abs(ADC_min) + abs(ADC_max); + } + + fPulseInt[0] = new TH1F("PulseInt_PMT1", "Pulse Integral PMT1", bins, ADC_min, ADC_max); + fPulseInt[1] = new TH1F("PulseInt_PMT2", "Pulse Integral PMT2", bins, ADC_min, ADC_max); + fPulseInt[2] = new TH1F("PulseInt_PMT3", "Pulse Integral PMT3", bins, ADC_min, ADC_max); + fPulseInt[3] = new TH1F("PulseInt_PMT4", "Pulse Integral PMT4", bins, ADC_min, ADC_max); + fPulseInt_quad[0][0] = new TH1F("PulseInt_quad1_PMT1", "Pulse Integral PMT1 Quadrant 1", bins, ADC_min, ADC_max); + fPulseInt_quad[0][1] = new TH1F("PulseInt_quad1_PMT2", "Pulse Integral PMT2 Quadrant 1", bins, ADC_min, ADC_max); + fPulseInt_quad[0][2] = new TH1F("PulseInt_quad1_PMT3", "Pulse Integral PMT3 Quadrant 1", bins, ADC_min, ADC_max); + fPulseInt_quad[0][3] = new TH1F("PulseInt_quad1_PMT4", "Pulse Integral PMT4 Quadrant 1", bins, ADC_min, ADC_max); + fPulseInt_quad[1][0] = new TH1F("PulseInt_quad2_PMT1", "Pulse Integral PMT1 Quadrant 2", bins, ADC_min, ADC_max); + fPulseInt_quad[1][1] = new TH1F("PulseInt_quad2_PMT2", "Pulse Integral PMT2 Quadrant 2", bins, ADC_min, ADC_max); + fPulseInt_quad[1][2] = new TH1F("PulseInt_quad2_PMT3", "Pulse Integral PMT3 Quadrant 2", bins, ADC_min, ADC_max); + fPulseInt_quad[1][3] = new TH1F("PulseInt_quad2_PMT4", "Pulse Integral PMT4 Quadrant 2", bins, ADC_min, ADC_max); + fPulseInt_quad[2][0] = new TH1F("PulseInt_quad3_PMT1", "Pulse Integral PMT1 Quadrant 3", bins, ADC_min, ADC_max); + fPulseInt_quad[2][1] = new TH1F("PulseInt_quad3_PMT2", "Pulse Integral PMT2 Quadrant 3", bins, ADC_min, ADC_max); + fPulseInt_quad[2][2] = new TH1F("PulseInt_quad3_PMT3", "Pulse Integral PMT3 Quadrant 3", bins, ADC_min, ADC_max); + fPulseInt_quad[2][3] = new TH1F("PulseInt_quad3_PMT4", "Pulse Integral PMT4 Quadrant 3", bins, ADC_min, ADC_max); + fPulseInt_quad[3][0] = new TH1F("PulseInt_quad4_PMT1", "Pulse Integral PMT1 Quadrant 4", bins, ADC_min, ADC_max); + fPulseInt_quad[3][1] = new TH1F("PulseInt_quad4_PMT2", "Pulse Integral PMT2 Quadrant 4", bins, ADC_min, ADC_max); + fPulseInt_quad[3][2] = new TH1F("PulseInt_quad4_PMT3", "Pulse Integral PMT3 Quadrant 4", bins, ADC_min, ADC_max); + fPulseInt_quad[3][3] = new TH1F("PulseInt_quad4_PMT4", "Pulse Integral PMT4 Quadrant 4", bins, ADC_min, ADC_max); + fCut_everything = new TH2F("Cut_everything", "Visualization of no cuts", 1000, 0, 4.0, 1000, 0, 4.0); + fCut_electron = new TH2F("Cut_electron", "Visualization of electron cut", 1000, 0, 4.0, 1000, 0, 4.0); + fCut_pion = new TH2F("Cut_pion", "Visualization of pion cut", 1000, 0, 4.0, 1000, 0, 4.0); + + printf("\n\n"); +} + +Bool_t calibration::Process(Long64_t entry) +{ + // The Process() function is called for each entry in the tree (or possibly + // keyed object in the case of PROOF) to be processed. The entry argument + // specifies which entry in the currently loaded tree is to be processed. + // It can be passed to either calibration::GetEntry() or TBranch::GetEntry() + // to read either all or the required parts of the data. When processing + // keyed objects with PROOF, the object is already loaded and is available + // via the fObject pointer. + // + // This function should contain the "body" of the analysis. It can contain + // simple or elaborate selection criteria, run algorithms on the data + // of the event and typically fill histograms. + // + // The processing can be stopped by calling Abort(). + // + // Use fStatus to set the return value of TTree::Process(). + // + // The return value is currently not used. + + + //Output to verify script is working, and store the total number of events + if (entry % 100000 == 0) printf("Processing Entry number %lld\n",entry); + ++fNumberOfEvents; + + //Define quantities to loop over + Int_t fpmts; + fpmts = fNGC ? fngc_pmts : fhgc_pmts; //Note HGC & NGC have the same # of PMTS + + //Get the entry to loop over + if (fFullRead) fChain->GetTree()->GetEntry(entry); + else b_Ndata_P_tr_p->GetEntry(entry); + + //Require only one good track reconstruction for the event + if (Ndata_P_tr_p != 1) return kTRUE; + + //Redundant, but useful if multiple tracks are eventually allowed + for (Int_t itrack = 0; itrack < Ndata_P_tr_p; itrack++) + { + if (!fFullRead) b_P_tr_beta->GetEntry(entry); + //Require loose cut on particle velocity + if (TMath::Abs(P_tr_beta[itrack] -1.) > 0.2) return kTRUE; + + //Filling the histograms + for (Int_t ipmt = 0; ipmt < fpmts; ipmt++) + { + //Perform a loose timing cut + if (!fFullRead) fNGC ? b_P_ngcer_goodAdcPulseTime->GetEntry(entry) : b_P_hgcer_goodAdcPulseTime->GetEntry(entry); + if (fNGC ? P_ngcer_goodAdcPulseTime[ipmt] < 1000 || P_ngcer_goodAdcPulseTime[ipmt] > 2000 : + P_hgcer_goodAdcPulseTime[ipmt] < 1000 || P_hgcer_goodAdcPulseTime[ipmt] > 2000) continue; + + //Cuts to remove entries corresponding to a PMT not registering a hit + if (!fFullRead) fNGC ? b_P_ngcer_goodAdcPulseInt->GetEntry(entry) : b_P_hgcer_goodAdcPulseInt->GetEntry(entry); + if (fNGC ? P_ngcer_goodAdcPulseInt[ipmt] == 0.0 : P_hgcer_goodAdcPulseInt[ipmt] == 0.0) continue; + + //For quadrant cut strategy with particle ID cuts. In this case electrons are selected + if (!fTrack && fCut && !fPions) + { + //Retrieve particle ID information + if (!fFullRead) b_P_cal_fly_earray->GetEntry(entry); + if (!fFullRead) b_P_cal_pr_eplane->GetEntry(entry); + + //Fill histogram visualizaing the electron selection + fCut_everything->Fill(P_cal_fly_earray, P_cal_pr_eplane); + + //Cut on Shower vs preshower is a tilted ellipse, this requires an angle of rotation (in radians), x/y center, semimajor and semiminor axis + Float_t eangle = 3.2*3.14159/4; + Float_t ex_center = 1.8; + Float_t ey_center = 1.0; + Float_t esemimajor_axis = 0.6; + Float_t esemiminor_axis = 0.20; + if (pow((P_cal_fly_earray - ex_center)*cos(eangle) + (P_cal_pr_eplane - ey_center)*sin(eangle),2)/pow(esemimajor_axis,2) + + pow((P_cal_fly_earray - ex_center)*sin(eangle) - (P_cal_pr_eplane - ey_center)*cos(eangle),2)/pow(esemiminor_axis,2) < 1) + { + //Fill histogram visualizing the electron selection + fCut_electron->Fill(P_cal_fly_earray, P_cal_pr_eplane); + + //Retrieve information for particle tracking from focal plane + if (!fFullRead) b_P_tr_y->GetEntry(entry), b_P_tr_ph->GetEntry(entry); + if (!fFullRead) b_P_tr_x->GetEntry(entry), b_P_tr_th->GetEntry(entry); + + //Fill histogram of the full PulseInt spectra for each PMT + fNGC ? fPulseInt[ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt[ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Fill histograms of what each PMT registers from each quadrant, this requires tracking the particle from the focal plane. Each quadrant is defined from the parameter files + Float_t y_pos = fNGC ? P_tr_y[0] + P_tr_ph[0]*fngc_zpos : P_tr_y[0] + P_tr_ph[0]*fhgc_zpos; + Float_t x_pos = fNGC ? P_tr_x[0] + P_tr_th[0]*fngc_zpos : P_tr_x[0] + P_tr_th[0]*fhgc_zpos; + + //Condition for quadrant 1 mirror + if (fNGC ? y_pos >= 0.0 && x_pos >= 0.0 : y_pos >= 4.6 && x_pos >= 9.4) + fNGC ? fPulseInt_quad[0][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[0][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Condition for quadrant 2 mirror + if (fNGC ? y_pos < 0.0 && x_pos >= 0.0 : y_pos < 4.6 && x_pos >= 9.4) + fNGC ? fPulseInt_quad[1][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[1][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Condition for quadrant 3 mirror + if (fNGC ? y_pos >= 0.0 && x_pos < 0.0 : y_pos >= 4.6 && x_pos < 9.4) + fNGC ? fPulseInt_quad[2][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[2][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Condition for quadrant 4 mirror + if (fNGC ? y_pos < 0.0 && x_pos < 0.0 : y_pos < 4.6 && x_pos < 9.4) + fNGC ? fPulseInt_quad[3][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[3][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + } + }//Marks end of electron selection condition + + + //For quadrant cut strategy with particle ID cuts. In this case pions are selected + if (!fTrack && fCut && fPions) + { + //Retrieve particle ID information + if (!fFullRead) b_P_cal_fly_earray->GetEntry(entry); + if (!fFullRead) b_P_cal_pr_eplane->GetEntry(entry); + + //Fill histogram visualizaing the pion selection + fCut_everything->Fill(P_cal_fly_earray, P_cal_pr_eplane); + + //Cut on Shower vs preshower is a tilted ellipse, this requires an angle of rotation (in radians), x/y center, semimajor and semiminor axis + Float_t piangle = 0.0; + Float_t pix_center = 0.75; + Float_t piy_center = 0.09; + Float_t pisemimajor_axis = 0.3; + Float_t pisemiminor_axis = 0.05; + if (pow((P_cal_fly_earray - pix_center)*cos(piangle) + (P_cal_pr_eplane - piy_center)*sin(piangle),2)/pow(pisemimajor_axis,2) + + pow((P_cal_fly_earray - pix_center)*sin(piangle) - (P_cal_pr_eplane - piy_center)*cos(piangle),2)/pow(pisemiminor_axis,2) < 1) + { + //Fill histogram visualizaing the pion selection + fCut_pion->Fill(P_cal_fly_earray, P_cal_pr_eplane); + + //Retrieve information for particle tracking from focal plane + if (!fFullRead) b_P_tr_y->GetEntry(entry), b_P_tr_ph->GetEntry(entry); + if (!fFullRead) b_P_tr_x->GetEntry(entry), b_P_tr_th->GetEntry(entry); + + //Fill histogram of the full PulseInt spectra for each PMT + fNGC ? fPulseInt[ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt[ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Fill histograms of what each PMT registers from each quadrant, this requires tracking the particle from the focal plane. Each quadrant is defined from the parameter files + Float_t y_pos = fNGC ? P_tr_y[0] + P_tr_ph[0]*fngc_zpos : P_tr_y[0] + P_tr_ph[0]*fhgc_zpos; + Float_t x_pos = fNGC ? P_tr_x[0] + P_tr_th[0]*fngc_zpos : P_tr_x[0] + P_tr_th[0]*fhgc_zpos; + + //Condition for quadrant 1 mirror + if (fNGC ? y_pos >= 0.0 && x_pos >= 0.0 : y_pos >= 4.6 && x_pos >= 9.4) + fNGC ? fPulseInt_quad[0][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[0][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Condition for quadrant 2 mirror + if (fNGC ? y_pos < 0.0 && x_pos >= 0.0 : y_pos < 4.6 && x_pos >= 9.4) + fNGC ? fPulseInt_quad[1][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[1][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Condition for quadrant 3 mirror + if (fNGC ? y_pos >= 0.0 && x_pos < 0.0 : y_pos >= 4.6 && x_pos < 9.4) + fNGC ? fPulseInt_quad[2][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[2][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Condition for quadrant 4 mirror + if (fNGC ? y_pos < 0.0 && x_pos < 0.0 : y_pos < 4.6 && x_pos < 9.4) + fNGC ? fPulseInt_quad[3][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[3][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + } + }//Marks end of pion selection condition + + //For quadrant cut strategy with no particle ID cut + if (!fTrack && !fCut) + { + //Fill histogram of the full PulseInt spectra for each PMT + fNGC ? fPulseInt[ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt[ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Retrieve information for particle tracking from focal plane + if (!fFullRead) b_P_tr_y->GetEntry(entry), b_P_tr_ph->GetEntry(entry); + if (!fFullRead) b_P_tr_x->GetEntry(entry), b_P_tr_th->GetEntry(entry); + + //Fill histograms of what each PMT registers from each quadrant, this requires tracking the particle from the focal plane. Each quadrant is defined from the parameter files + Float_t y_pos = fNGC ? P_tr_y[0] + P_tr_ph[0]*fngc_zpos : P_tr_y[0] + P_tr_ph[0]*fhgc_zpos; + Float_t x_pos = fNGC ? P_tr_x[0] + P_tr_th[0]*fngc_zpos : P_tr_x[0] + P_tr_th[0]*fhgc_zpos; + + //Condition for quadrant 1 mirror + if (fNGC ? y_pos >= 0.0 && x_pos >= 0.0 : y_pos >= 4.6 && x_pos >= 9.4) + fNGC ? fPulseInt_quad[0][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[0][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Condition for quadrant 2 mirror + if (fNGC ? y_pos < 0.0 && x_pos >= 0.0 : y_pos < 4.6 && x_pos >= 9.4) + fNGC ? fPulseInt_quad[1][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[1][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Condition for quadrant 3 mirror + if (fNGC ? y_pos >= 0.0 && x_pos < 0.0 : y_pos >= 4.6 && x_pos < 9.4) + fNGC ? fPulseInt_quad[2][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[2][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Condition for quadrant 4 mirror + if (fNGC ? y_pos < 0.0 && x_pos < 0.0 : y_pos < 4.6 && x_pos < 9.4) + fNGC ? fPulseInt_quad[3][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[3][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + }//Marks end of no particle ID strategy + + //For TracksFired cut strategy with no particle ID cut + if (fTrack && !fCut) + { + //Fill histogram of the full PulseInt spectra for each PMT + fNGC ? fPulseInt[ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt[ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Fill histograms with TracksFired cut, note that quadrant cuts are included so any off quadrant histograms will be empty + if (!fFullRead) fNGC ? b_P_ngcer_numTracksFired->GetEntry(entry) : b_P_hgcer_numTracksFired->GetEntry(entry); + if (fNGC ? P_ngcer_numTracksFired[ipmt] != 0.0 : P_hgcer_numTracksFired[ipmt] != 0.0) + fNGC ? fPulseInt_quad[ipmt][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[ipmt][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + }//Marks end of tracksfired strategy with no particle ID + + //For TracksFired cut strategy selecting electrons + if (fTrack && fCut && !fPions) + { + //Retrieve particle ID information + if (!fFullRead) b_P_cal_fly_earray->GetEntry(entry); + if (!fFullRead) b_P_cal_pr_eplane->GetEntry(entry); + + //Fill histogram visualizaing the electron selection + fCut_everything->Fill(P_cal_fly_earray, P_cal_pr_eplane); + + //Cut on Shower vs preshower is a tilted ellipse, this requires an angle of rotation (in radians), x/y center, semimajor and semiminor axis + Float_t eangle = 3.2*3.14159/4; + Float_t ex_center = 1.8; + Float_t ey_center = 1.0; + Float_t esemimajor_axis = 0.6; + Float_t esemiminor_axis = 0.20; + if (pow((P_cal_fly_earray - ex_center)*cos(eangle) + (P_cal_pr_eplane - ey_center)*sin(eangle),2)/pow(esemimajor_axis,2) + + pow((P_cal_fly_earray - ex_center)*sin(eangle) - (P_cal_pr_eplane - ey_center)*cos(eangle),2)/pow(esemiminor_axis,2) < 1) + { + //Fill histogram visualizing the electron selection + fCut_electron->Fill(P_cal_fly_earray, P_cal_pr_eplane); + + //Fill histogram of the full PulseInt spectra for each PMT + fNGC ? fPulseInt[ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt[ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Fill histograms with TracksFired cut, note that quadrant cuts are included so any off quadrant histograms will be empty + if (!fFullRead) fNGC ? b_P_ngcer_numTracksFired->GetEntry(entry) : b_P_hgcer_numTracksFired->GetEntry(entry); + if (fNGC ? P_ngcer_numTracksFired[ipmt] != 0.0 : P_hgcer_numTracksFired[ipmt] != 0.0) + fNGC ? fPulseInt_quad[ipmt][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[ipmt][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + } + }//Marks end of tracksfired with electrons + + //For TracksFired cut strategy selecting pions + if (fTrack && fCut && fPions) + { + //Retrieve particle ID information + if (!fFullRead) b_P_cal_fly_earray->GetEntry(entry); + if (!fFullRead) b_P_cal_pr_eplane->GetEntry(entry); + + //Fill histogram visualizaing the electron selection + fCut_everything->Fill(P_cal_fly_earray, P_cal_pr_eplane); + + //Cut on Shower vs preshower is a tilted ellipse, this requires an angle of rotation (in radians), x/y center, semimajor and semiminor axis + Float_t piangle = 0.0; + Float_t pix_center = 0.75; + Float_t piy_center = 0.09; + Float_t pisemimajor_axis = 0.3; + Float_t pisemiminor_axis = 0.05; + if (pow((P_cal_fly_earray - pix_center)*cos(piangle) + (P_cal_pr_eplane - piy_center)*sin(piangle),2)/pow(pisemimajor_axis,2) + + pow((P_cal_fly_earray - pix_center)*sin(piangle) - (P_cal_pr_eplane - piy_center)*cos(piangle),2)/pow(pisemiminor_axis,2) < 1) + { + //Fill histogram visualizing the electron selection + fCut_pion->Fill(P_cal_fly_earray, P_cal_pr_eplane); + + //Fill histogram of the full PulseInt spectra for each PMT + fNGC ? fPulseInt[ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt[ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + + //Fill histograms with TracksFired cut, note that quadrant cuts are included so any off quadrant histograms will be empty + if (!fFullRead) fNGC ? b_P_ngcer_numTracksFired->GetEntry(entry) : b_P_hgcer_numTracksFired->GetEntry(entry); + if (fNGC ? P_ngcer_numTracksFired[ipmt] != 0.0 : P_hgcer_numTracksFired[ipmt] != 0.0) + fNGC ? fPulseInt_quad[ipmt][ipmt]->Fill(P_ngcer_goodAdcPulseInt[ipmt]) : fPulseInt_quad[ipmt][ipmt]->Fill(P_hgcer_goodAdcPulseInt[ipmt]); + } + }//Marks end of tracksfired with electrons + + }//Marks end of loop over PMTs + + }//Marks end of loop over tracks + + return kTRUE; +} + // +void calibration::SlaveTerminate() +{ + // The SlaveTerminate() function is called after all entries or objects + // have been processed. When running with PROOF SlaveTerminate() is called + // on each slave server. +} + + +//******************************************************** +//Define functions used for fitting in calibration process + +//Poisson distribution is used to remove background from larger values of NPE +Double_t poisson(Double_t *x, Double_t *par) +{ + Double_t result1 = (par[1]*pow(par[0],x[0])*exp(-par[0]))/(tgamma(x[0]+1)); + return result1; +} +//Gaussian distribution is used to find the mean of the SPE and determine spacing between subsequent NPE +Double_t gauss(Double_t *x, Double_t *par) +{ + Double_t result1 = par[0]*exp((-0.5)*(pow((x[0] - par[1]),2)/pow((par[2]),2))); + Double_t result2 = par[3]*exp((-0.5)*(pow((x[0] - par[4]),2)/pow((par[5]),2))); + Double_t result3 = par[6]*exp((-0.5)*(pow((x[0] - par[7]),2)/pow((par[8]),2))); + Double_t result4 = par[9]*exp((-0.5)*(pow((x[0] - par[10]),2)/pow((par[11]),2))); + Double_t result5 = par[12]*exp((-0.5)*(pow((x[0] - par[13]),2)/pow((par[14]),2))); + return result1 + result2 + result3 + result4 + result5; +} + +//A simple linear equation is used to determine how linear the means of the NPE are +Double_t linear(Double_t *x, Double_t *par) +{ + Double_t result1 = par[0]*x[0] + par[1]; + return result1; +} +//******************************************************** + + +void calibration::Terminate() +{ + // The Terminate() function is the last function to be called during + // a query. It always runs on the client, it can be used to present + // the results graphically or save the results to file. + + //Print number of entries put into histograms + printf("\nTotal Number of Entries: %d\n\n", fNumberOfEvents); + + Info("Terminate", "Histograms formed, now starting calibration.\n 'Peak Buffer full' is a good warning!\n"); + + //Show the particle cuts performed in the histogram forming + if (fCut) + { + TCanvas *cut_visualization = new TCanvas("cut_visualization", "Visualization of the particle ID cuts performed"); + cut_visualization->Divide(2,1); + cut_visualization->cd(1); + fCut_everything->Draw("Colz"); + cut_visualization->cd(2); + fPions ? fCut_pion->Draw("Colz") : fCut_electron->Draw("Colz"); + } + + //Single Gaussian to find mean of SPE + TF1 *Gauss1 = new TF1("Gauss1",gauss,-500,7000,3); + Gauss1->SetParNames("Amplitude","Mean","Std. Dev."); + + //Sum of three Gaussians to determine NPE spacing + TF1 *Gauss3 = new TF1("Gauss3",gauss,0.5,3.5,9); + Gauss3->SetParNames("Amplitude 1","Mean 1","Std. Dev. 1","Amplitude 2","Mean 2","Std. Dev. 2","Amplitude 3","Mean 3","Std. Dev. 3"); + + //Poisson distribution to remove high NPE background + TF1 *Poisson = new TF1("Poisson",poisson,0,20,2); + Poisson->SetParNames("Mean", "Amplitude"); + + //Note about Poisson background, the mean varies between detectors/operating conditions so this quantity may require user input + Double_t Poisson_mean = 0; + fNGC ? Poisson_mean = 16.0 : Poisson_mean = 5.5; + + //Linear function used to determine goodness-of-fit for NPE spacing + TF1 *Linear = new TF1("Linear",linear,0,4,2); + Linear->SetParNames("Slope", "Intercept"); + + //Rebin the histograms into something more sensible, add functionality to bin HGC & NGC independently + for (Int_t ipmt=0; ipmt < (fNGC ? fngc_pmts : fhgc_pmts); ipmt++) + { + for (Int_t iquad=0; iquad<4; iquad++) + { + fNGC ? fPulseInt_quad[iquad][ipmt]->Rebin(25) : fPulseInt_quad[iquad][ipmt]->Rebin(25); + } + fNGC ? fPulseInt[ipmt]->Rebin(25) : fPulseInt[ipmt]->Rebin(25); + } + + + //An array is used to store the means for the SPE, and to determine NPE spacing + Double_t mean[3]; + Double_t x_npe[3], y_npe[3], x_err[3], y_err[3]; + + //Two more arrays are used to store the estimates for the calibration constants and another two to store goodness of calibration + Double_t calibration_mk1[4], calibration_mk2[4], pmt_calib[4], pmt_calib_mk2[4]; + + //Array to hold the Poisson character of the calibrations + Double_t Pois_Chi[2]; + + gStyle->SetOptFit(111); + + //Main loop for calibration + for (Int_t ipmt=0; ipmt < (fNGC ? fngc_pmts : fhgc_pmts); ipmt++) + { + //Initialize the various arrays (calibration arrays are explicitly filled) + for (Int_t i=0; i<3; i++) + { + mean[i] = 0.0; + x_npe[i] = 0, y_npe[i] = 0, x_err[i] = 0, y_err[i] = 0; + } + + //Begin strategy for quadrant cut calibration + if (!fTrack) + { + //TSpectrum class is used to find the SPE peak using the search method + TSpectrum *s = new TSpectrum(2); + + //Create Canvas to see the search result for the SPE + if (fFullShow) quad_cuts_ipmt = new TCanvas(Form("quad_cuts_%d",ipmt), Form("First Photoelectron peaks PMT%d",ipmt+1)); + if (fFullShow) quad_cuts_ipmt->Divide(3,1); + + Int_t ipad = 1; //Variable to draw over pads correctly + for (Int_t iquad=0; iquad<4; iquad++) + { + if (iquad == ipmt) continue; //ignore a PMT looking at its own quadrant + if (fFullShow) quad_cuts_ipmt->cd(ipad); + + //Perform search for the SPE and save the peak into the array xpeaks + fFullShow ? s->Search(fPulseInt_quad[iquad][ipmt], 2.5, "nobackground", 0.001) : s->Search(fPulseInt_quad[iquad][ipmt], 2.5, "nobackground&&nodraw", 0.001); + TList *functions = fPulseInt_quad[iquad][ipmt]->GetListOfFunctions(); + TPolyMarker *pm = (TPolyMarker*)functions->FindObject("TPolyMarker"); + Double_t *xpeaks = pm->GetX(); + + //Use the peak to fit the SPE with a Gaussian to determine the mean + Gauss1->SetRange(xpeaks[1]-150, xpeaks[1]+150); + Gauss1->SetParameter(1, xpeaks[1]); + Gauss1->SetParameter(2, 200.); + Gauss1->SetParLimits(0, 0., 2000.); + Gauss1->SetParLimits(1, xpeaks[1]-150, xpeaks[1]+150); + Gauss1->SetParLimits(2, 10., 500.); + fFullShow ? fPulseInt_quad[iquad][ipmt]->Fit("Gauss1","RQ") : fPulseInt_quad[iquad][ipmt]->Fit("Gauss1","RQN"); + + //Store the mean of the SPE in the mean array provided it is not zero and passes a loose statistical cut. Note that indexing by ipad-1 is for convienience + if (xpeaks[1] != 0.0 && fPulseInt_quad[iquad][ipmt]->GetBinContent(fPulseInt_quad[iquad][ipmt]->GetXaxis()->FindBin(xpeaks[1])) > 90) mean[ipad-1] = Gauss1->GetParameter(1); + ipad++; + } + + //Obtain the conversion from ADC to NPE by taking the average of the SPE means + Double_t xscale = 0.0; + Double_t num_peaks = 0.0; + for (Int_t i=0; i<3; i++) + { + if (mean[i] == 0.0) continue; + xscale += mean[i]; + num_peaks += 1.0; + } + if (num_peaks != 0.0) xscale = xscale/num_peaks; + + //Perform check if the statistics were too low to get a good estimate of the SPE mean + if (xscale < 10.0) + { + //Repeat the exact same procedure for the SPE of each quadrant, except now its for the full PMT spectra + if(fFullShow) low_stats_ipmt = new TCanvas(Form("low_stats_%d",ipmt),Form("Low stats analysis for PMT%d",ipmt+1)); + if(fFullShow) low_stats_ipmt->cd(1); + fPulseInt[ipmt]->GetXaxis()->SetRangeUser(0,1000); + fFullShow ? s->Search(fPulseInt[ipmt], 3.5, "nobackground", 0.001) : s->Search(fPulseInt[ipmt], 2.0, "nobackground&&nodraw", 0.001); + TList *functions = fPulseInt[ipmt]->GetListOfFunctions(); + TPolyMarker *pm = (TPolyMarker*)functions->FindObject("TPolyMarker"); + Double_t *xpeaks = pm->GetX(); + Gauss1->SetRange(xpeaks[1]-100, xpeaks[1]+100); + Gauss1->SetParameter(1, xpeaks[1]); + Gauss1->SetParameter(2, 200.); + Gauss1->SetParLimits(0, 0., 2000.); + Gauss1->SetParLimits(1, xpeaks[1]-50, xpeaks[1]+50); + Gauss1->SetParLimits(2, 10., 500.); + fPulseInt[ipmt]->GetXaxis()->SetRangeUser(-500,7000); + fFullShow ? fPulseInt[ipmt]->Fit("Gauss1","RQ") : fPulseInt[ipmt]->Fit("Gauss1","RQN"); + xscale = Gauss1->GetParameter(1); + } + //Scale full ADC spectra according to the mean of the SPE. This requires filling a new histogram with the same number of bins but scaled min/max + Int_t nbins; + nbins = (fPulseInt[ipmt]->GetXaxis()->GetNbins()); + + //With the scale of ADC to NPE create a histogram that has the conversion applied + fscaled[ipmt] = new TH1F(Form("fscaled_PMT%d", ipmt+1), Form("Scaled ADC spectra for PMT%d",ipmt+1), 300, 0, fNGC ? 30 : 20); + + //Fill this histogram bin by bin + for (Int_t ibin=0; ibin<nbins; ibin++) + { + Double_t y = fPulseInt[ipmt]->GetBinContent(ibin); + Double_t x = fPulseInt[ipmt]->GetXaxis()->GetBinCenter(ibin); + Double_t x_scaled = x/xscale; + Int_t bin_scaled = fscaled[ipmt]->GetXaxis()->FindBin(x_scaled); + fscaled[ipmt]->SetBinContent(bin_scaled,y); + } + + //Normalize the histogram for ease of fitting + fscaled[ipmt]->Scale(1.0/fscaled[ipmt]->Integral(), "width"); + + //Begin the removal of the Poisson-like background + if (fFullShow) background_ipmt = new TCanvas(Form("backgrounf_pmt%d",ipmt), Form("NPE spectra for PMT%d with Poisson-like background",ipmt+1)); + if (fFullShow) background_ipmt->cd(1); + Poisson->SetParameter(0, 6.0); + Poisson->SetParameter(1, 0.25); + Poisson->SetParLimits(0, 5.5, 8.0); + fFullShow ? fscaled[ipmt]->Fit("Poisson","RQ") : fscaled[ipmt]->Fit("Poisson","RQN"); + + //Make and fill histogram with the background removed + fscaled_nobackground[ipmt] = new TH1F(Form("fscaled_nobackground_pmt%d", ipmt+1), Form("NPE spectra background removed for PMT%d",ipmt+1), 300, 0, fNGC ? 30 : 20); + + for (Int_t ibin=0; ibin<nbins; ibin++) + { + Double_t y = Poisson->Eval(fscaled[ipmt]->GetXaxis()->GetBinCenter(ibin)); + Double_t y2 = fscaled[ipmt]->GetBinContent(ibin) - y; + fscaled_nobackground[ipmt]->SetBinContent(ibin,y2); + } + + if (fFullShow) final_spectra_ipmt = new TCanvas(Form("final_Spectra_%d",ipmt), Form("NPE spectra Background Removed for PMT%d",ipmt+1)); + if (fFullShow) final_spectra_ipmt->Divide(2,1); + if (fFullShow) final_spectra_ipmt->cd(1); + Gauss3->SetParameters(0.08, 1.0, 0.22, 0.029, 2, 0.5, 0.15, 3, 0.26); + Gauss3->SetParLimits(1, 0.5, 1.5); + Gauss3->SetParLimits(2, 0.0, 1.0); + Gauss3->SetParLimits(3, 0.0, 1.0); + Gauss3->SetParLimits(4, 1.5, 2.5); + Gauss3->SetParLimits(5, 0.2, 0.6); + Gauss3->SetParLimits(6, 0.0, 1.0); + Gauss3->SetParLimits(7, 2.5, 3.5); + Gauss3->SetParLimits(8, 0.2, 0.5); + fFullShow ? fscaled_nobackground[ipmt]->Fit("Gauss3","RQ") : fscaled_nobackground[ipmt]->Fit("Gauss3","RQN"); + if (fFullShow) fscaled_nobackground[ipmt]->GetXaxis()->SetRangeUser(0,5); + + //Create a TGraphErrors to determine the spacing of the NPE + y_npe[0] = Gauss3->GetParameter(1), y_npe[1] = Gauss3->GetParameter(4), y_npe[2] = Gauss3->GetParameter(7); + y_err[0] = Gauss3->GetParError(1), y_err[1] = Gauss3->GetParError(4), y_err[2] = Gauss3->GetParError(7); + x_npe[0] = 1, x_npe[1] = 2, x_npe[2] = 3; + TGraphErrors *gr_npe = new TGraphErrors(3, x_npe, y_npe, x_err, y_err); + + //Plot this graph with the NPE spectra + if (fFullShow) final_spectra_ipmt->cd(2); + Linear->SetParameters(1.0, 0.0); + fFullShow ? gr_npe->Fit("Linear","RQ") : gr_npe->Fit("Linear","RQN"); + if (fFullShow) gr_npe->Draw("A*"); + calibration_mk1[ipmt] = xscale; + + //Initial calibration constant has been obtained. Now I multiply it by the slope of the spacing of the NPE (should be approx. 1) for a second estimate + + Double_t xscale_mk2 = xscale * Linear->GetParameter(0); + + //Take this new xscale and repeat the exact same procedure as before + fscaled_mk2[ipmt] = new TH1F(Form("fhgc_scaled_mk2_PMT%d", ipmt+1), Form("Scaled ADC spectra for PMT%d",ipmt+1), 300, 0, fNGC ? 30 : 20); + + //Fill this histogram bin by bin + for (Int_t ibin=0; ibin<nbins; ibin++) + { + Double_t y = fPulseInt[ipmt]->GetBinContent(ibin); + Double_t x = fPulseInt[ipmt]->GetXaxis()->GetBinCenter(ibin); + Double_t x_scaled = x/xscale_mk2; + Int_t bin_scaled = fscaled_mk2[ipmt]->GetXaxis()->FindBin(x_scaled); + fscaled_mk2[ipmt]->SetBinContent(bin_scaled,y); + } + + //Normalize the histogram for ease of fitting + fscaled_mk2[ipmt]->Scale(1.0/fscaled_mk2[ipmt]->Integral(), "width"); + + //Begin the removal of the Poisson-like background + if (fFullShow) background_mk2_ipmt = new TCanvas(Form("background_mk2_pmt%d",ipmt), Form("NPE spectra for PMT%d with Poisson-like background",ipmt+1)); + if (fFullShow) background_mk2_ipmt->cd(1); + Poisson->SetParameter(0, 6.0); + Poisson->SetParameter(1, 0.25); + Poisson->SetParLimits(0, 5.5, 8.0); + fFullShow ? fscaled_mk2[ipmt]->Fit("Poisson","RQ"):fscaled_mk2[ipmt]->Fit("Poisson","RQN"); + + //Make and fill histogram with the background removed + fscaled_mk2_nobackground[ipmt] = new TH1F(Form("fscaled_mk2_nobackground_pmt%d", ipmt+1), Form("NPE spectra background removed for PMT%d",ipmt+1), 300, 0, fNGC ? 30 : 20); + + for (Int_t ibin=0; ibin<nbins; ibin++) + { + Double_t y = Poisson->Eval(fscaled_mk2[ipmt]->GetXaxis()->GetBinCenter(ibin)); + Double_t y2 = fscaled_mk2[ipmt]->GetBinContent(ibin) - y; + fscaled_mk2_nobackground[ipmt]->SetBinContent(ibin,y2); + } + + if (fFullShow) final_spectra_mk2_ipmt = new TCanvas(Form("final_Spectra_mk2_%d",ipmt), Form("NPE spectra Background Removed for PMT%d",ipmt+1)); + if (fFullShow) final_spectra_mk2_ipmt->Divide(2,1); + if (fFullShow) final_spectra_mk2_ipmt->cd(1); + Gauss3->SetParameters(0.08, 1.0, 0.22, 0.029, 2, 0.5, 0.15, 3, 0.26); + Gauss3->SetParLimits(1, 0.5, 1.5); + Gauss3->SetParLimits(2, 0.0, 1.0); + Gauss3->SetParLimits(3, 0.0, 1.0); + Gauss3->SetParLimits(4, 1.5, 2.5); + Gauss3->SetParLimits(5, 0.2, 0.6); + Gauss3->SetParLimits(6, 0.0, 1.0); + Gauss3->SetParLimits(7, 2.5, 3.5); + Gauss3->SetParLimits(8, 0.2, 0.5); + fFullShow ? fscaled_mk2_nobackground[ipmt]->Fit("Gauss3","RQ") : fscaled_mk2_nobackground[ipmt]->Fit("Gauss3","RQN"); + if (fFullShow) fscaled_mk2_nobackground[ipmt]->GetXaxis()->SetRangeUser(0,5); + + //Create a TGraphErrors to determine the spacing of the NPE + y_npe[0] = Gauss3->GetParameter(1), y_npe[1] = Gauss3->GetParameter(4), y_npe[2] = Gauss3->GetParameter(7); + y_err[0] = Gauss3->GetParError(1), y_err[1] = Gauss3->GetParError(4), y_err[2] = Gauss3->GetParError(7); + x_npe[0] = 1, x_npe[1] = 2, x_npe[2] = 3; + TGraphErrors *gr_npe_mk2 = new TGraphErrors(3, x_npe, y_npe, x_err, y_err); + + //Plot this graph with the NPE spectra + if (fFullShow) final_spectra_mk2_ipmt->cd(2); + Linear->SetParameters(1.0, 0.0); + fFullShow ? gr_npe_mk2->Fit("Linear","RQ") : gr_npe_mk2->Fit("Linear","RQN"); + if (fFullShow) gr_npe_mk2->Draw("A*"); + calibration_mk2[ipmt] = xscale_mk2; + } // This brance marks the end of the quadrant cut strategy + + + + + //Begin the TrackFired cut calibration + if (fTrack) + { + //TSpectrum class is used to find the SPE peak using the search method + TSpectrum *s = new TSpectrum(1); + + //Create Canvas to show the search result for the SPE + if (fFullShow) quad_cuts_ipmt = new TCanvas(Form("quad_cuts_%d",ipmt), Form("First Photoelectron peaks PMT%d",ipmt+1)); + if (fFullShow) quad_cuts_ipmt->cd(1); + + //Perform search for the SPE and save the peak into the array xpeaks + fNGC ? fPulseInt_quad[ipmt][ipmt]->GetXaxis()->SetRangeUser(150,2000) : fPulseInt_quad[ipmt][ipmt]->GetXaxis()->SetRangeUser(150,600); + fFullShow ? s->Search(fPulseInt_quad[ipmt][ipmt], 1.5, "nobackground", 0.001) : s->Search(fPulseInt_quad[ipmt][ipmt], 1.5, "nobackground&&nodraw", 0.001); + TList *functions = fPulseInt_quad[ipmt][ipmt]->GetListOfFunctions(); + TPolyMarker *pm = (TPolyMarker*)functions->FindObject("TPolyMarker"); + Double_t *xpeaks = pm->GetX(); + + //Use the peak to fit the SPE with a Gaussian to determine the mean + Gauss1->SetRange(xpeaks[0]-150, xpeaks[0]+400); + Gauss1->SetParameter(1, xpeaks[0]); + Gauss1->SetParameter(2, 200.); + Gauss1->SetParLimits(0, 0., 2000.); + Gauss1->SetParLimits(1, xpeaks[0]-100, xpeaks[0]+100); + Gauss1->SetParLimits(2, 10., 500.); + fPulseInt_quad[ipmt][ipmt]->GetXaxis()->SetRangeUser(-500,12000); + fFullShow ? fPulseInt_quad[ipmt][ipmt]->Fit("Gauss1","RQ") : fPulseInt_quad[ipmt][ipmt]->Fit("Gauss1","RQN"); + + calibration_mk1[ipmt] = Gauss1->GetParameter(1); + + //Scale full ADC spectra according to the mean of the SPE. This requires filling a new histogram with the same number of bins but scaled min/max + Int_t nbins; + nbins = fPulseInt_quad[ipmt][ipmt]->GetXaxis()->GetNbins(); + + fscaled[ipmt] = new TH1F(Form("fscaled_PMT%d", ipmt+1), Form("Scaled ADC spectra for PMT%d",ipmt+1), 300, 0, fNGC ? 30 : 20); + + //Fill this histogram bin by bin + for (Int_t ibin=0; ibin<nbins; ibin++) + { + Double_t y = fPulseInt_quad[ipmt][ipmt]->GetBinContent(ibin); + Double_t x = fPulseInt_quad[ipmt][ipmt]->GetXaxis()->GetBinCenter(ibin); + Double_t x_scaled = x/calibration_mk1[ipmt]; + Int_t bin_scaled = fscaled[ipmt]->GetXaxis()->FindBin(x_scaled); + fscaled[ipmt]->SetBinContent(bin_scaled,y); + } + + //Normalize the histogram for ease of fitting + fscaled[ipmt]->Scale(1.0/fscaled[ipmt]->Integral(), "width"); + + if (fFullShow) final_spectra_ipmt = new TCanvas(Form("final_Spectra_%d",ipmt), Form("Calibrated spectra for PMT%d",ipmt+1)); + if (fFullShow) final_spectra_ipmt->cd(1); + + //Find the location of the SPE and subtract from 1.0 to determine accuracy of calibration + Gauss1->SetRange(0.50, 2.0); + Gauss1->SetParameter(0, 0.05); + Gauss1->SetParameter(1, 1.0); + Gauss1->SetParameter(2, 0.3); + Gauss1->SetParLimits(0, 0.0, 0.1); + Gauss1->SetParLimits(1, 0.5, 1.5); + Gauss1->SetParLimits(2, 0.1, 0.5); + fFullShow ? fscaled[ipmt]->Fit("Gauss1","RQ") : fscaled[ipmt]->Fit("Gauss1","RQN"); + + calibration_mk2[ipmt] = calibration_mk1[ipmt]*Gauss1->GetParameter(1); + pmt_calib[ipmt] = abs(1.0 - Gauss1->GetParameter(1)); + + //Scale full ADC spectra according to the mean of the SPE. This requires filling a new histogram with the same number of bins but scaled min/max + fscaled_mk2[ipmt] = new TH1F(Form("fscaled_mk2_PMT%d", ipmt+1), Form("Scaled ADC spectra for PMT%d",ipmt+1), 300, 0, fNGC ? 30 : 20); + + //Fill this histogram bin by bin + for (Int_t ibin=0; ibin<nbins; ibin++) + { + Double_t y = fPulseInt_quad[ipmt][ipmt]->GetBinContent(ibin); + Double_t x = fPulseInt_quad[ipmt][ipmt]->GetXaxis()->GetBinCenter(ibin); + Double_t x_scaled = x/calibration_mk2[ipmt]; + Int_t bin_scaled = fscaled_mk2[ipmt]->GetXaxis()->FindBin(x_scaled); + fscaled_mk2[ipmt]->SetBinContent(bin_scaled,y); + } + + //Normalize the histogram for ease of fitting + fscaled_mk2[ipmt]->Scale(1.0/fscaled_mk2[ipmt]->Integral(), "width"); + + if (fFullShow) final_spectra_mk2_ipmt = new TCanvas(Form("final_Spectra_mk2_%d",ipmt), Form("Calibrated spectra for PMT%d",ipmt+1)); + if (fFullShow) final_spectra_mk2_ipmt->cd(1); + + //Find the location of the SPE and subtract from 1.0 to determine accuracy of calibration + Gauss1->SetRange(0.50,2.0); + Gauss1->SetParameter(0, 0.05); + Gauss1->SetParameter(1, 1.0); + Gauss1->SetParameter(2, 0.3); + Gauss1->SetParLimits(0, 0.0, 0.1); + Gauss1->SetParLimits(1, 0.5, 1.5); + Gauss1->SetParLimits(2, 0.1, 0.5); + fFullShow ? fscaled_mk2[ipmt]->Fit("Gauss1","RQ") : fscaled_mk2[ipmt]->Fit("Gauss1","RQN"); + + pmt_calib_mk2[ipmt] = abs(1.0 - Gauss1->GetParameter(1)); + + } //This brace marks the end of TracksFired strategy + + + //Begin investigation of Poisson-like behaviour of calibrated spectra + fscaled_combined[ipmt] = new TH1F(Form("fscaled_combined%d",ipmt+1), Form("Scaled ADC spectra for PMT %d", ipmt+1), 300, 0, fNGC ? 30 : 20); + + fscaled_combined_mk2[ipmt] = new TH1F(Form("fscaled_combined_mk2%d",ipmt+1), Form("Scaled ADC spectra with Second Calibration for PMT %d", ipmt+1), 300, 0, fNGC ? 30 : 20); + + Int_t nbins = fPulseInt[ipmt]->GetXaxis()->GetNbins(); + Double_t xmean = calibration_mk1[ipmt]; + Double_t xmean_mk2 = calibration_mk2[ipmt]; + + fscaled_temp[ipmt] = new TH1F(Form("fscaled_temp_pmt%d",ipmt+1), Form("Scaled ADC spectra for PMT %d", ipmt+1), 300, 0, fNGC ? 30 : 20); + fscaled_temp_mk2[ipmt] = new TH1F(Form("fscaled_temp_mk2_pmt%d",ipmt+1), Form("Scaled ADC spectra for PMT %d", ipmt+1), 300, 0, fNGC ? 30 : 20); + + //Fill this histogram bin by bin + for (Int_t ibin=0; ibin < nbins; ibin++) + { + Double_t y = fPulseInt[ipmt]->GetBinContent(ibin); + Double_t x = fPulseInt[ipmt]->GetXaxis()->GetBinCenter(ibin); + Double_t x_scaled_mk1 = x/xmean; + Double_t x_scaled_mk2 = x/xmean_mk2; + Int_t bin_scaled_mk1 = fscaled_temp[ipmt]->GetXaxis()->FindBin(x_scaled_mk1); + Int_t bin_scaled_mk2 = fscaled_temp_mk2[ipmt]->GetXaxis()->FindBin(x_scaled_mk2); + fscaled_temp[ipmt]->SetBinContent(bin_scaled_mk1,y); + fscaled_temp_mk2[ipmt]->SetBinContent(bin_scaled_mk2,y); + } + fscaled_combined[ipmt]->Add(fscaled_temp[ipmt]); + fscaled_combined_mk2[ipmt]->Add(fscaled_temp_mk2[ipmt]); + + //Normalize the histogram for ease of fitting + fscaled_combined[ipmt]->Scale(1.0/fscaled_combined[ipmt]->Integral(), "width"); + fscaled_combined_mk2[ipmt]->Scale(1.0/fscaled_combined[ipmt]->Integral(), "width"); + } // This brace marks the end of the loop over PMTs + + //Combine each PMT into one final histogram + fscaled_total = new TH1F("fscaled_total", "Scaled ADC spectra for all PMTs", 300, 0, fNGC ? 30 : 20); + fscaled_total_mk2 = new TH1F("fscaled_total_mk2", "Scaled ADC spectra for all PMTs", 300, 0, fNGC ? 30 : 20); + for (Int_t i=0; i<4; i++) + { + fscaled_total->Add(fscaled_combined[i]); + fscaled_total_mk2->Add(fscaled_combined_mk2[i]); + } + + fscaled_total->Scale(1.0/fscaled_total->Integral(), "width"); + fscaled_total_mk2->Scale(1.0/fscaled_total_mk2->Integral(), "width"); + + //Display the Poisson characteristics of the ADC spectra + if (fFullShow) scaled_total = new TCanvas("scaled_total", "Scaled ADC of all PMTs showing Poisson Fit"); + if (fFullShow) scaled_total->Divide(2,1); + if (fFullShow) scaled_total->cd(1); + Poisson->SetRange(0, fNGC ? 30 : 20); + Poisson->SetParameter(0, Poisson_mean); + Poisson->SetParameter(1, 0.8); + Poisson->SetParLimits(0, Poisson_mean - 1.0, Poisson_mean + 3.0); + fFullShow ? fscaled_total->Fit("Poisson","RQ") : fscaled_total->Fit("Poisson","RQN"); + Pois_Chi[0] = Poisson->GetChisquare(); + if (fFullShow) scaled_total->cd(2); + fFullShow ? fscaled_total_mk2->Fit("Poisson","RQ") : fscaled_total_mk2->Fit("Poisson","RQN"); + Pois_Chi[1] = Poisson->GetChisquare(); + + printf("\n\n"); + + //Output the actual calibration information + cout << "Calibration constants are (where the '*' indicates the better value)\nPMT#: First Guess Second Guess\n" << endl; + for (Int_t i=0; i<4; i++) + { + cout << Form("PMT%d:", i+1) << setw(8) << Form("%3.0f", calibration_mk1[i]) << (pmt_calib[i] < pmt_calib_mk2[i] ? "*" : " ") << setw(13) << Form("%3.0f", calibration_mk2[i]) << (pmt_calib[i] > pmt_calib_mk2[i] ? "*\n" : "\n"); + } + + printf("\n"); + + cout << (Pois_Chi[0] < Pois_Chi[1] ? "First Guess":"Second Guess") << " better characterizes the full Poisson character" << endl; +} diff --git a/CALIBRATION/shms_hgcer_calib/calibration.h b/CALIBRATION/shms_hgcer_calib/calibration.h new file mode 100644 index 0000000000000000000000000000000000000000..355c1bc78a91601f15078d74cb5afa5d7f35a654 --- /dev/null +++ b/CALIBRATION/shms_hgcer_calib/calibration.h @@ -0,0 +1,2562 @@ +////////////////////////////////////////////////////////// +// This class has been automatically generated on +// Tue Jul 4 10:23:34 2017 by ROOT version 5.34/13 +// from TTree T/Hall A Analyzer Output DST +// found on file: shms_replay_488.root +////////////////////////////////////////////////////////// + +#ifndef calibration_h +#define calibration_h + +#include <TROOT.h> +#include <TChain.h> +#include <TFile.h> +#include <TSelector.h> +#include <TH1.h> +#include <TH2.h> + +// Header file for the classes stored in the TTree if any. + +// Fixed size dimensions of array or collections stored in the TTree if any. + +class calibration : public TSelector { +public : + TTree *fChain; //!pointer to the analyzed TTree or TChain + Int_t fNumberOfEvents; + Bool_t fFullRead; + Bool_t fFullShow; + Bool_t fNGC; + Bool_t fTrack; + Bool_t fCut; + Bool_t fPions; + + // Declaration of detector specific constants + Int_t fhgc_pmts; + Double_t fhgc_zpos; + Int_t fngc_pmts; + Double_t fngc_zpos; + + // Declaration of histograms + TH1F *fPulseInt[4]; + TH1F *fPulseInt_quad[4][4]; + TH2F *fCut_everything; + TH2F *fCut_electron; + TH2F *fCut_pion; + + // Declaration of histograms used in fitting/analysis + TH1F *fscaled[4]; + TH1F *fscaled_nobackground[4]; + TH1F *fscaled_mk2[4]; + TH1F *fscaled_mk2_nobackground[4]; + TH1F *fscaled_temp[4]; + TH1F *fscaled_combined[4]; + TH1F *fscaled_total; + TH1F *fscaled_temp_mk2[4]; + TH1F *fscaled_combined_mk2[4]; + TH1F *fscaled_total_mk2; + + // Declaration of canvases used in fitting/analysis + TCanvas *quad_cuts_ipmt; + TCanvas *low_stats_ipmt; + TCanvas *background_ipmt; + TCanvas *final_spectra_ipmt; + TCanvas *background_mk2_ipmt; + TCanvas *final_spectra_mk2_ipmt; + TCanvas *final_spectra_combined; + TCanvas *final_spectra_combined_mk2; + TCanvas *scaled_poisson; + TCanvas *scaled_total; + + + // Declaration of leaf types + Int_t Ndata_P_aero_goodNegAdcPed; + Double_t P_aero_goodNegAdcPed[7]; //[Ndata.P.aero.goodNegAdcPed] + Int_t Ndata_P_aero_goodNegAdcPulseAmp; + Double_t P_aero_goodNegAdcPulseAmp[7]; //[Ndata.P.aero.goodNegAdcPulseAmp] + Int_t Ndata_P_aero_goodNegAdcPulseInt; + Double_t P_aero_goodNegAdcPulseInt[7]; //[Ndata.P.aero.goodNegAdcPulseInt] + Int_t Ndata_P_aero_goodNegAdcPulseIntRaw; + Double_t P_aero_goodNegAdcPulseIntRaw[7]; //[Ndata.P.aero.goodNegAdcPulseIntRaw] + Int_t Ndata_P_aero_goodNegAdcPulseTime; + Double_t P_aero_goodNegAdcPulseTime[7]; //[Ndata.P.aero.goodNegAdcPulseTime] + Int_t Ndata_P_aero_goodPosAdcPed; + Double_t P_aero_goodPosAdcPed[7]; //[Ndata.P.aero.goodPosAdcPed] + Int_t Ndata_P_aero_goodPosAdcPulseAmp; + Double_t P_aero_goodPosAdcPulseAmp[7]; //[Ndata.P.aero.goodPosAdcPulseAmp] + Int_t Ndata_P_aero_goodPosAdcPulseInt; + Double_t P_aero_goodPosAdcPulseInt[7]; //[Ndata.P.aero.goodPosAdcPulseInt] + Int_t Ndata_P_aero_goodPosAdcPulseIntRaw; + Double_t P_aero_goodPosAdcPulseIntRaw[7]; //[Ndata.P.aero.goodPosAdcPulseIntRaw] + Int_t Ndata_P_aero_goodPosAdcPulseTime; + Double_t P_aero_goodPosAdcPulseTime[7]; //[Ndata.P.aero.goodPosAdcPulseTime] + Int_t Ndata_P_aero_negAdcCounter; + Double_t P_aero_negAdcCounter[7]; //[Ndata.P.aero.negAdcCounter] + Int_t Ndata_P_aero_negAdcErrorFlag; + Double_t P_aero_negAdcErrorFlag[7]; //[Ndata.P.aero.negAdcErrorFlag] + Int_t Ndata_P_aero_negNpe; + Double_t P_aero_negNpe[7]; //[Ndata.P.aero.negNpe] + Int_t Ndata_P_aero_numGoodNegAdcHits; + Double_t P_aero_numGoodNegAdcHits[7]; //[Ndata.P.aero.numGoodNegAdcHits] + Int_t Ndata_P_aero_numGoodPosAdcHits; + Double_t P_aero_numGoodPosAdcHits[7]; //[Ndata.P.aero.numGoodPosAdcHits] + Int_t Ndata_P_aero_numTracksFired; + Double_t P_aero_numTracksFired[7]; //[Ndata.P.aero.numTracksFired] + Int_t Ndata_P_aero_numTracksMatched; + Double_t P_aero_numTracksMatched[7]; //[Ndata.P.aero.numTracksMatched] + Int_t Ndata_P_aero_posAdcCounter; + Double_t P_aero_posAdcCounter[7]; //[Ndata.P.aero.posAdcCounter] + Int_t Ndata_P_aero_posAdcErrorFlag; + Double_t P_aero_posAdcErrorFlag[7]; //[Ndata.P.aero.posAdcErrorFlag] + Int_t Ndata_P_aero_posNpe; + Double_t P_aero_posNpe[7]; //[Ndata.P.aero.posNpe] + Int_t Ndata_P_cal_fly_a; + Double_t P_cal_fly_a[224]; //[Ndata.P.cal.fly.a] + Int_t Ndata_P_cal_fly_a_p; + Double_t P_cal_fly_a_p[224]; //[Ndata.P.cal.fly.a_p] + Int_t Ndata_P_cal_fly_adcCounter; + Double_t P_cal_fly_adcCounter[22]; //[Ndata.P.cal.fly.adcCounter] + Int_t Ndata_P_cal_fly_adcErrorFlag; + Double_t P_cal_fly_adcErrorFlag[22]; //[Ndata.P.cal.fly.adcErrorFlag] + Int_t Ndata_P_cal_fly_adcPed; + Double_t P_cal_fly_adcPed[22]; //[Ndata.P.cal.fly.adcPed] + Int_t Ndata_P_cal_fly_adcPedRaw; + Double_t P_cal_fly_adcPedRaw[22]; //[Ndata.P.cal.fly.adcPedRaw] + Int_t Ndata_P_cal_fly_adcPulseAmp; + Double_t P_cal_fly_adcPulseAmp[22]; //[Ndata.P.cal.fly.adcPulseAmp] + Int_t Ndata_P_cal_fly_adcPulseAmpRaw; + Double_t P_cal_fly_adcPulseAmpRaw[22]; //[Ndata.P.cal.fly.adcPulseAmpRaw] + Int_t Ndata_P_cal_fly_adcPulseInt; + Double_t P_cal_fly_adcPulseInt[22]; //[Ndata.P.cal.fly.adcPulseInt] + Int_t Ndata_P_cal_fly_adcPulseIntRaw; + Double_t P_cal_fly_adcPulseIntRaw[22]; //[Ndata.P.cal.fly.adcPulseIntRaw] + Int_t Ndata_P_cal_fly_adcPulseTimeRaw; + Double_t P_cal_fly_adcPulseTimeRaw[22]; //[Ndata.P.cal.fly.adcPulseTimeRaw] + Int_t Ndata_P_cal_fly_adchits; + Double_t P_cal_fly_adchits[1]; //[Ndata.P.cal.fly.adchits] + Int_t Ndata_P_cal_fly_block_clusterID; + Double_t P_cal_fly_block_clusterID[224]; //[Ndata.P.cal.fly.block_clusterID] + Int_t Ndata_P_cal_fly_e; + Double_t P_cal_fly_e[224]; //[Ndata.P.cal.fly.e] + Int_t Ndata_P_cal_fly_p; + Double_t P_cal_fly_p[224]; //[Ndata.P.cal.fly.p] + Int_t Ndata_P_cal_pr_aneg; + Double_t P_cal_pr_aneg[14]; //[Ndata.P.cal.pr.aneg] + Int_t Ndata_P_cal_pr_aneg_p; + Double_t P_cal_pr_aneg_p[14]; //[Ndata.P.cal.pr.aneg_p] + Int_t Ndata_P_cal_pr_apos; + Double_t P_cal_pr_apos[14]; //[Ndata.P.cal.pr.apos] + Int_t Ndata_P_cal_pr_apos_p; + Double_t P_cal_pr_apos_p[14]; //[Ndata.P.cal.pr.apos_p] + Int_t Ndata_P_cal_pr_emean; + Double_t P_cal_pr_emean[14]; //[Ndata.P.cal.pr.emean] + Int_t Ndata_P_cal_pr_eneg; + Double_t P_cal_pr_eneg[14]; //[Ndata.P.cal.pr.eneg] + Int_t Ndata_P_cal_pr_epos; + Double_t P_cal_pr_epos[14]; //[Ndata.P.cal.pr.epos] + Int_t Ndata_P_cal_pr_negAdcCounter; + Double_t P_cal_pr_negAdcCounter[14]; //[Ndata.P.cal.pr.negAdcCounter] + Int_t Ndata_P_cal_pr_negAdcErrorFlag; + Double_t P_cal_pr_negAdcErrorFlag[14]; //[Ndata.P.cal.pr.negAdcErrorFlag] + Int_t Ndata_P_cal_pr_negAdcPed; + Double_t P_cal_pr_negAdcPed[14]; //[Ndata.P.cal.pr.negAdcPed] + Int_t Ndata_P_cal_pr_negAdcPedRaw; + Double_t P_cal_pr_negAdcPedRaw[14]; //[Ndata.P.cal.pr.negAdcPedRaw] + Int_t Ndata_P_cal_pr_negAdcPulseAmp; + Double_t P_cal_pr_negAdcPulseAmp[14]; //[Ndata.P.cal.pr.negAdcPulseAmp] + Int_t Ndata_P_cal_pr_negAdcPulseAmpRaw; + Double_t P_cal_pr_negAdcPulseAmpRaw[14]; //[Ndata.P.cal.pr.negAdcPulseAmpRaw] + Int_t Ndata_P_cal_pr_negAdcPulseInt; + Double_t P_cal_pr_negAdcPulseInt[14]; //[Ndata.P.cal.pr.negAdcPulseInt] + Int_t Ndata_P_cal_pr_negAdcPulseIntRaw; + Double_t P_cal_pr_negAdcPulseIntRaw[14]; //[Ndata.P.cal.pr.negAdcPulseIntRaw] + Int_t Ndata_P_cal_pr_negAdcPulseTimeRaw; + Double_t P_cal_pr_negAdcPulseTimeRaw[14]; //[Ndata.P.cal.pr.negAdcPulseTimeRaw] + Int_t Ndata_P_cal_pr_negadchits; + Double_t P_cal_pr_negadchits[1]; //[Ndata.P.cal.pr.negadchits] + Int_t Ndata_P_cal_pr_posAdcCounter; + Double_t P_cal_pr_posAdcCounter[14]; //[Ndata.P.cal.pr.posAdcCounter] + Int_t Ndata_P_cal_pr_posAdcErrorFlag; + Double_t P_cal_pr_posAdcErrorFlag[14]; //[Ndata.P.cal.pr.posAdcErrorFlag] + Int_t Ndata_P_cal_pr_posAdcPed; + Double_t P_cal_pr_posAdcPed[14]; //[Ndata.P.cal.pr.posAdcPed] + Int_t Ndata_P_cal_pr_posAdcPedRaw; + Double_t P_cal_pr_posAdcPedRaw[14]; //[Ndata.P.cal.pr.posAdcPedRaw] + Int_t Ndata_P_cal_pr_posAdcPulseAmp; + Double_t P_cal_pr_posAdcPulseAmp[14]; //[Ndata.P.cal.pr.posAdcPulseAmp] + Int_t Ndata_P_cal_pr_posAdcPulseAmpRaw; + Double_t P_cal_pr_posAdcPulseAmpRaw[14]; //[Ndata.P.cal.pr.posAdcPulseAmpRaw] + Int_t Ndata_P_cal_pr_posAdcPulseInt; + Double_t P_cal_pr_posAdcPulseInt[14]; //[Ndata.P.cal.pr.posAdcPulseInt] + Int_t Ndata_P_cal_pr_posAdcPulseIntRaw; + Double_t P_cal_pr_posAdcPulseIntRaw[14]; //[Ndata.P.cal.pr.posAdcPulseIntRaw] + Int_t Ndata_P_cal_pr_posAdcPulseTimeRaw; + Double_t P_cal_pr_posAdcPulseTimeRaw[14]; //[Ndata.P.cal.pr.posAdcPulseTimeRaw] + Int_t Ndata_P_cal_pr_posadchits; + Double_t P_cal_pr_posadchits[1]; //[Ndata.P.cal.pr.posadchits] + Int_t Ndata_P_dc_1u1_dist; + Double_t P_dc_1u1_dist[53]; //[Ndata.P.dc.1u1.dist] + Int_t Ndata_P_dc_1u1_rawtdc; + Double_t P_dc_1u1_rawtdc[53]; //[Ndata.P.dc.1u1.rawtdc] + Int_t Ndata_P_dc_1u1_time; + Double_t P_dc_1u1_time[53]; //[Ndata.P.dc.1u1.time] + Int_t Ndata_P_dc_1u1_wirenum; + Double_t P_dc_1u1_wirenum[53]; //[Ndata.P.dc.1u1.wirenum] + Int_t Ndata_P_dc_1u2_dist; + Double_t P_dc_1u2_dist[39]; //[Ndata.P.dc.1u2.dist] + Int_t Ndata_P_dc_1u2_rawtdc; + Double_t P_dc_1u2_rawtdc[39]; //[Ndata.P.dc.1u2.rawtdc] + Int_t Ndata_P_dc_1u2_time; + Double_t P_dc_1u2_time[39]; //[Ndata.P.dc.1u2.time] + Int_t Ndata_P_dc_1u2_wirenum; + Double_t P_dc_1u2_wirenum[39]; //[Ndata.P.dc.1u2.wirenum] + Int_t Ndata_P_dc_1v1_dist; + Double_t P_dc_1v1_dist[43]; //[Ndata.P.dc.1v1.dist] + Int_t Ndata_P_dc_1v1_rawtdc; + Double_t P_dc_1v1_rawtdc[43]; //[Ndata.P.dc.1v1.rawtdc] + Int_t Ndata_P_dc_1v1_time; + Double_t P_dc_1v1_time[43]; //[Ndata.P.dc.1v1.time] + Int_t Ndata_P_dc_1v1_wirenum; + Double_t P_dc_1v1_wirenum[43]; //[Ndata.P.dc.1v1.wirenum] + Int_t Ndata_P_dc_1v2_dist; + Double_t P_dc_1v2_dist[75]; //[Ndata.P.dc.1v2.dist] + Int_t Ndata_P_dc_1v2_rawtdc; + Double_t P_dc_1v2_rawtdc[75]; //[Ndata.P.dc.1v2.rawtdc] + Int_t Ndata_P_dc_1v2_time; + Double_t P_dc_1v2_time[75]; //[Ndata.P.dc.1v2.time] + Int_t Ndata_P_dc_1v2_wirenum; + Double_t P_dc_1v2_wirenum[75]; //[Ndata.P.dc.1v2.wirenum] + Int_t Ndata_P_dc_1x1_dist; + Double_t P_dc_1x1_dist[59]; //[Ndata.P.dc.1x1.dist] + Int_t Ndata_P_dc_1x1_rawtdc; + Double_t P_dc_1x1_rawtdc[59]; //[Ndata.P.dc.1x1.rawtdc] + Int_t Ndata_P_dc_1x1_time; + Double_t P_dc_1x1_time[59]; //[Ndata.P.dc.1x1.time] + Int_t Ndata_P_dc_1x1_wirenum; + Double_t P_dc_1x1_wirenum[59]; //[Ndata.P.dc.1x1.wirenum] + Int_t Ndata_P_dc_1x2_dist; + Double_t P_dc_1x2_dist[78]; //[Ndata.P.dc.1x2.dist] + Int_t Ndata_P_dc_1x2_rawtdc; + Double_t P_dc_1x2_rawtdc[78]; //[Ndata.P.dc.1x2.rawtdc] + Int_t Ndata_P_dc_1x2_time; + Double_t P_dc_1x2_time[78]; //[Ndata.P.dc.1x2.time] + Int_t Ndata_P_dc_1x2_wirenum; + Double_t P_dc_1x2_wirenum[78]; //[Ndata.P.dc.1x2.wirenum] + Int_t Ndata_P_dc_2u1_dist; + Double_t P_dc_2u1_dist[69]; //[Ndata.P.dc.2u1.dist] + Int_t Ndata_P_dc_2u1_rawtdc; + Double_t P_dc_2u1_rawtdc[69]; //[Ndata.P.dc.2u1.rawtdc] + Int_t Ndata_P_dc_2u1_time; + Double_t P_dc_2u1_time[69]; //[Ndata.P.dc.2u1.time] + Int_t Ndata_P_dc_2u1_wirenum; + Double_t P_dc_2u1_wirenum[69]; //[Ndata.P.dc.2u1.wirenum] + Int_t Ndata_P_dc_2u2_dist; + Double_t P_dc_2u2_dist[40]; //[Ndata.P.dc.2u2.dist] + Int_t Ndata_P_dc_2u2_rawtdc; + Double_t P_dc_2u2_rawtdc[40]; //[Ndata.P.dc.2u2.rawtdc] + Int_t Ndata_P_dc_2u2_time; + Double_t P_dc_2u2_time[40]; //[Ndata.P.dc.2u2.time] + Int_t Ndata_P_dc_2u2_wirenum; + Double_t P_dc_2u2_wirenum[40]; //[Ndata.P.dc.2u2.wirenum] + Int_t Ndata_P_dc_2v1_dist; + Double_t P_dc_2v1_dist[61]; //[Ndata.P.dc.2v1.dist] + Int_t Ndata_P_dc_2v1_rawtdc; + Double_t P_dc_2v1_rawtdc[61]; //[Ndata.P.dc.2v1.rawtdc] + Int_t Ndata_P_dc_2v1_time; + Double_t P_dc_2v1_time[61]; //[Ndata.P.dc.2v1.time] + Int_t Ndata_P_dc_2v1_wirenum; + Double_t P_dc_2v1_wirenum[61]; //[Ndata.P.dc.2v1.wirenum] + Int_t Ndata_P_dc_2v2_dist; + Double_t P_dc_2v2_dist[57]; //[Ndata.P.dc.2v2.dist] + Int_t Ndata_P_dc_2v2_rawtdc; + Double_t P_dc_2v2_rawtdc[57]; //[Ndata.P.dc.2v2.rawtdc] + Int_t Ndata_P_dc_2v2_time; + Double_t P_dc_2v2_time[57]; //[Ndata.P.dc.2v2.time] + Int_t Ndata_P_dc_2v2_wirenum; + Double_t P_dc_2v2_wirenum[57]; //[Ndata.P.dc.2v2.wirenum] + Int_t Ndata_P_dc_2x1_dist; + Double_t P_dc_2x1_dist[51]; //[Ndata.P.dc.2x1.dist] + Int_t Ndata_P_dc_2x1_rawtdc; + Double_t P_dc_2x1_rawtdc[51]; //[Ndata.P.dc.2x1.rawtdc] + Int_t Ndata_P_dc_2x1_time; + Double_t P_dc_2x1_time[51]; //[Ndata.P.dc.2x1.time] + Int_t Ndata_P_dc_2x1_wirenum; + Double_t P_dc_2x1_wirenum[51]; //[Ndata.P.dc.2x1.wirenum] + Int_t Ndata_P_dc_2x2_dist; + Double_t P_dc_2x2_dist[57]; //[Ndata.P.dc.2x2.dist] + Int_t Ndata_P_dc_2x2_rawtdc; + Double_t P_dc_2x2_rawtdc[57]; //[Ndata.P.dc.2x2.rawtdc] + Int_t Ndata_P_dc_2x2_time; + Double_t P_dc_2x2_time[57]; //[Ndata.P.dc.2x2.time] + Int_t Ndata_P_dc_2x2_wirenum; + Double_t P_dc_2x2_wirenum[57]; //[Ndata.P.dc.2x2.wirenum] + Int_t Ndata_P_dc_residual; + Double_t P_dc_residual[12]; //[Ndata.P.dc.residual] + Int_t Ndata_P_dc_wireHitDid; + Double_t P_dc_wireHitDid[12]; //[Ndata.P.dc.wireHitDid] + Int_t Ndata_P_dc_wireHitShould; + Double_t P_dc_wireHitShould[12]; //[Ndata.P.dc.wireHitShould] + Int_t Ndata_P_dc_x; + Double_t P_dc_x[10]; //[Ndata.P.dc.x] + Int_t Ndata_P_dc_xp; + Double_t P_dc_xp[10]; //[Ndata.P.dc.xp] + Int_t Ndata_P_dc_y; + Double_t P_dc_y[10]; //[Ndata.P.dc.y] + Int_t Ndata_P_dc_yp; + Double_t P_dc_yp[10]; //[Ndata.P.dc.yp] + Int_t Ndata_P_hgcer_adcCounter; + Double_t P_hgcer_adcCounter[4]; //[Ndata.P.hgcer.adcCounter] + Int_t Ndata_P_hgcer_adcErrorFlag; + Double_t P_hgcer_adcErrorFlag[4]; //[Ndata.P.hgcer.adcErrorFlag] + Int_t Ndata_P_hgcer_goodAdcPed; + Double_t P_hgcer_goodAdcPed[4]; //[Ndata.P.hgcer.goodAdcPed] + Int_t Ndata_P_hgcer_goodAdcPulseAmp; + Double_t P_hgcer_goodAdcPulseAmp[4]; //[Ndata.P.hgcer.goodAdcPulseAmp] + Int_t Ndata_P_hgcer_goodAdcPulseInt; + Double_t P_hgcer_goodAdcPulseInt[4]; //[Ndata.P.hgcer.goodAdcPulseInt] + Int_t Ndata_P_hgcer_goodAdcPulseIntRaw; + Double_t P_hgcer_goodAdcPulseIntRaw[4]; //[Ndata.P.hgcer.goodAdcPulseIntRaw] + Int_t Ndata_P_hgcer_goodAdcPulseTime; + Double_t P_hgcer_goodAdcPulseTime[4]; //[Ndata.P.hgcer.goodAdcPulseTime] + Int_t Ndata_P_hgcer_npe; + Double_t P_hgcer_npe[4]; //[Ndata.P.hgcer.npe] + Int_t Ndata_P_hgcer_numGoodAdcHits; + Double_t P_hgcer_numGoodAdcHits[4]; //[Ndata.P.hgcer.numGoodAdcHits] + Int_t Ndata_P_hgcer_numTracksFired; + Double_t P_hgcer_numTracksFired[4]; //[Ndata.P.hgcer.numTracksFired] + Int_t Ndata_P_hgcer_numTracksMatched; + Double_t P_hgcer_numTracksMatched[4]; //[Ndata.P.hgcer.numTracksMatched] + Int_t Ndata_P_hod_1x_GoodNegAdcPulseAmp; + Double_t P_hod_1x_GoodNegAdcPulseAmp[13]; //[Ndata.P.hod.1x.GoodNegAdcPulseAmp] + Int_t Ndata_P_hod_1x_GoodNegAdcPulseInt; + Double_t P_hod_1x_GoodNegAdcPulseInt[13]; //[Ndata.P.hod.1x.GoodNegAdcPulseInt] + Int_t Ndata_P_hod_1x_GoodNegAdcPulseTime; + Double_t P_hod_1x_GoodNegAdcPulseTime[13]; //[Ndata.P.hod.1x.GoodNegAdcPulseTime] + Int_t Ndata_P_hod_1x_GoodNegTdcChan; + Double_t P_hod_1x_GoodNegTdcChan[13]; //[Ndata.P.hod.1x.GoodNegTdcChan] + Int_t Ndata_P_hod_1x_GoodNegTdcTimeCorr; + Double_t P_hod_1x_GoodNegTdcTimeCorr[13]; //[Ndata.P.hod.1x.GoodNegTdcTimeCorr] + Int_t Ndata_P_hod_1x_GoodNegTdcTimeTOFCorr; + Double_t P_hod_1x_GoodNegTdcTimeTOFCorr[13]; //[Ndata.P.hod.1x.GoodNegTdcTimeTOFCorr] + Int_t Ndata_P_hod_1x_GoodPaddle; + Double_t P_hod_1x_GoodPaddle[13]; //[Ndata.P.hod.1x.GoodPaddle] + Int_t Ndata_P_hod_1x_GoodPosAdcPulseAmp; + Double_t P_hod_1x_GoodPosAdcPulseAmp[13]; //[Ndata.P.hod.1x.GoodPosAdcPulseAmp] + Int_t Ndata_P_hod_1x_GoodPosAdcPulseInt; + Double_t P_hod_1x_GoodPosAdcPulseInt[13]; //[Ndata.P.hod.1x.GoodPosAdcPulseInt] + Int_t Ndata_P_hod_1x_GoodPosAdcPulseTime; + Double_t P_hod_1x_GoodPosAdcPulseTime[13]; //[Ndata.P.hod.1x.GoodPosAdcPulseTime] + Int_t Ndata_P_hod_1x_GoodPosTdcChan; + Double_t P_hod_1x_GoodPosTdcChan[13]; //[Ndata.P.hod.1x.GoodPosTdcChan] + Int_t Ndata_P_hod_1x_GoodPosTdcTimeCorr; + Double_t P_hod_1x_GoodPosTdcTimeCorr[13]; //[Ndata.P.hod.1x.GoodPosTdcTimeCorr] + Int_t Ndata_P_hod_1x_GoodPosTdcTimeTOFCorr; + Double_t P_hod_1x_GoodPosTdcTimeTOFCorr[13]; //[Ndata.P.hod.1x.GoodPosTdcTimeTOFCorr] + Int_t Ndata_P_hod_1x_negAdcCounter; + Double_t P_hod_1x_negAdcCounter[13]; //[Ndata.P.hod.1x.negAdcCounter] + Int_t Ndata_P_hod_1x_negAdcPed; + Double_t P_hod_1x_negAdcPed[13]; //[Ndata.P.hod.1x.negAdcPed] + Int_t Ndata_P_hod_1x_negAdcPedRaw; + Double_t P_hod_1x_negAdcPedRaw[13]; //[Ndata.P.hod.1x.negAdcPedRaw] + Int_t Ndata_P_hod_1x_negAdcPulseAmp; + Double_t P_hod_1x_negAdcPulseAmp[13]; //[Ndata.P.hod.1x.negAdcPulseAmp] + Int_t Ndata_P_hod_1x_negAdcPulseAmpRaw; + Double_t P_hod_1x_negAdcPulseAmpRaw[13]; //[Ndata.P.hod.1x.negAdcPulseAmpRaw] + Int_t Ndata_P_hod_1x_negAdcPulseInt; + Double_t P_hod_1x_negAdcPulseInt[13]; //[Ndata.P.hod.1x.negAdcPulseInt] + Int_t Ndata_P_hod_1x_negAdcPulseIntRaw; + Double_t P_hod_1x_negAdcPulseIntRaw[13]; //[Ndata.P.hod.1x.negAdcPulseIntRaw] + Int_t Ndata_P_hod_1x_negAdcPulseTimeRaw; + Double_t P_hod_1x_negAdcPulseTimeRaw[13]; //[Ndata.P.hod.1x.negAdcPulseTimeRaw] + Int_t Ndata_P_hod_1x_negTdcCounter; + Double_t P_hod_1x_negTdcCounter[15]; //[Ndata.P.hod.1x.negTdcCounter] + Int_t Ndata_P_hod_1x_negTdcTime; + Double_t P_hod_1x_negTdcTime[15]; //[Ndata.P.hod.1x.negTdcTime] + Int_t Ndata_P_hod_1x_negTdcTimeRaw; + Double_t P_hod_1x_negTdcTimeRaw[15]; //[Ndata.P.hod.1x.negTdcTimeRaw] + Int_t Ndata_P_hod_1x_posAdcCounter; + Double_t P_hod_1x_posAdcCounter[13]; //[Ndata.P.hod.1x.posAdcCounter] + Int_t Ndata_P_hod_1x_posAdcPed; + Double_t P_hod_1x_posAdcPed[13]; //[Ndata.P.hod.1x.posAdcPed] + Int_t Ndata_P_hod_1x_posAdcPedRaw; + Double_t P_hod_1x_posAdcPedRaw[13]; //[Ndata.P.hod.1x.posAdcPedRaw] + Int_t Ndata_P_hod_1x_posAdcPulseAmp; + Double_t P_hod_1x_posAdcPulseAmp[13]; //[Ndata.P.hod.1x.posAdcPulseAmp] + Int_t Ndata_P_hod_1x_posAdcPulseAmpRaw; + Double_t P_hod_1x_posAdcPulseAmpRaw[13]; //[Ndata.P.hod.1x.posAdcPulseAmpRaw] + Int_t Ndata_P_hod_1x_posAdcPulseInt; + Double_t P_hod_1x_posAdcPulseInt[13]; //[Ndata.P.hod.1x.posAdcPulseInt] + Int_t Ndata_P_hod_1x_posAdcPulseIntRaw; + Double_t P_hod_1x_posAdcPulseIntRaw[13]; //[Ndata.P.hod.1x.posAdcPulseIntRaw] + Int_t Ndata_P_hod_1x_posAdcPulseTimeRaw; + Double_t P_hod_1x_posAdcPulseTimeRaw[13]; //[Ndata.P.hod.1x.posAdcPulseTimeRaw] + Int_t Ndata_P_hod_1x_posTdcCounter; + Double_t P_hod_1x_posTdcCounter[17]; //[Ndata.P.hod.1x.posTdcCounter] + Int_t Ndata_P_hod_1x_posTdcTime; + Double_t P_hod_1x_posTdcTime[17]; //[Ndata.P.hod.1x.posTdcTime] + Int_t Ndata_P_hod_1x_posTdcTimeRaw; + Double_t P_hod_1x_posTdcTimeRaw[17]; //[Ndata.P.hod.1x.posTdcTimeRaw] + Int_t Ndata_P_hod_1y_GoodNegAdcPulseAmp; + Double_t P_hod_1y_GoodNegAdcPulseAmp[13]; //[Ndata.P.hod.1y.GoodNegAdcPulseAmp] + Int_t Ndata_P_hod_1y_GoodNegAdcPulseInt; + Double_t P_hod_1y_GoodNegAdcPulseInt[13]; //[Ndata.P.hod.1y.GoodNegAdcPulseInt] + Int_t Ndata_P_hod_1y_GoodNegAdcPulseTime; + Double_t P_hod_1y_GoodNegAdcPulseTime[13]; //[Ndata.P.hod.1y.GoodNegAdcPulseTime] + Int_t Ndata_P_hod_1y_GoodNegTdcChan; + Double_t P_hod_1y_GoodNegTdcChan[13]; //[Ndata.P.hod.1y.GoodNegTdcChan] + Int_t Ndata_P_hod_1y_GoodNegTdcTimeCorr; + Double_t P_hod_1y_GoodNegTdcTimeCorr[13]; //[Ndata.P.hod.1y.GoodNegTdcTimeCorr] + Int_t Ndata_P_hod_1y_GoodNegTdcTimeTOFCorr; + Double_t P_hod_1y_GoodNegTdcTimeTOFCorr[13]; //[Ndata.P.hod.1y.GoodNegTdcTimeTOFCorr] + Int_t Ndata_P_hod_1y_GoodPaddle; + Double_t P_hod_1y_GoodPaddle[13]; //[Ndata.P.hod.1y.GoodPaddle] + Int_t Ndata_P_hod_1y_GoodPosAdcPulseAmp; + Double_t P_hod_1y_GoodPosAdcPulseAmp[13]; //[Ndata.P.hod.1y.GoodPosAdcPulseAmp] + Int_t Ndata_P_hod_1y_GoodPosAdcPulseInt; + Double_t P_hod_1y_GoodPosAdcPulseInt[13]; //[Ndata.P.hod.1y.GoodPosAdcPulseInt] + Int_t Ndata_P_hod_1y_GoodPosAdcPulseTime; + Double_t P_hod_1y_GoodPosAdcPulseTime[13]; //[Ndata.P.hod.1y.GoodPosAdcPulseTime] + Int_t Ndata_P_hod_1y_GoodPosTdcChan; + Double_t P_hod_1y_GoodPosTdcChan[13]; //[Ndata.P.hod.1y.GoodPosTdcChan] + Int_t Ndata_P_hod_1y_GoodPosTdcTimeCorr; + Double_t P_hod_1y_GoodPosTdcTimeCorr[13]; //[Ndata.P.hod.1y.GoodPosTdcTimeCorr] + Int_t Ndata_P_hod_1y_GoodPosTdcTimeTOFCorr; + Double_t P_hod_1y_GoodPosTdcTimeTOFCorr[13]; //[Ndata.P.hod.1y.GoodPosTdcTimeTOFCorr] + Int_t Ndata_P_hod_1y_negAdcCounter; + Double_t P_hod_1y_negAdcCounter[13]; //[Ndata.P.hod.1y.negAdcCounter] + Int_t Ndata_P_hod_1y_negAdcPed; + Double_t P_hod_1y_negAdcPed[13]; //[Ndata.P.hod.1y.negAdcPed] + Int_t Ndata_P_hod_1y_negAdcPedRaw; + Double_t P_hod_1y_negAdcPedRaw[13]; //[Ndata.P.hod.1y.negAdcPedRaw] + Int_t Ndata_P_hod_1y_negAdcPulseAmp; + Double_t P_hod_1y_negAdcPulseAmp[13]; //[Ndata.P.hod.1y.negAdcPulseAmp] + Int_t Ndata_P_hod_1y_negAdcPulseAmpRaw; + Double_t P_hod_1y_negAdcPulseAmpRaw[13]; //[Ndata.P.hod.1y.negAdcPulseAmpRaw] + Int_t Ndata_P_hod_1y_negAdcPulseInt; + Double_t P_hod_1y_negAdcPulseInt[13]; //[Ndata.P.hod.1y.negAdcPulseInt] + Int_t Ndata_P_hod_1y_negAdcPulseIntRaw; + Double_t P_hod_1y_negAdcPulseIntRaw[13]; //[Ndata.P.hod.1y.negAdcPulseIntRaw] + Int_t Ndata_P_hod_1y_negAdcPulseTimeRaw; + Double_t P_hod_1y_negAdcPulseTimeRaw[13]; //[Ndata.P.hod.1y.negAdcPulseTimeRaw] + Int_t Ndata_P_hod_1y_negTdcCounter; + Double_t P_hod_1y_negTdcCounter[18]; //[Ndata.P.hod.1y.negTdcCounter] + Int_t Ndata_P_hod_1y_negTdcTime; + Double_t P_hod_1y_negTdcTime[18]; //[Ndata.P.hod.1y.negTdcTime] + Int_t Ndata_P_hod_1y_negTdcTimeRaw; + Double_t P_hod_1y_negTdcTimeRaw[18]; //[Ndata.P.hod.1y.negTdcTimeRaw] + Int_t Ndata_P_hod_1y_posAdcCounter; + Double_t P_hod_1y_posAdcCounter[13]; //[Ndata.P.hod.1y.posAdcCounter] + Int_t Ndata_P_hod_1y_posAdcPed; + Double_t P_hod_1y_posAdcPed[13]; //[Ndata.P.hod.1y.posAdcPed] + Int_t Ndata_P_hod_1y_posAdcPedRaw; + Double_t P_hod_1y_posAdcPedRaw[13]; //[Ndata.P.hod.1y.posAdcPedRaw] + Int_t Ndata_P_hod_1y_posAdcPulseAmp; + Double_t P_hod_1y_posAdcPulseAmp[13]; //[Ndata.P.hod.1y.posAdcPulseAmp] + Int_t Ndata_P_hod_1y_posAdcPulseAmpRaw; + Double_t P_hod_1y_posAdcPulseAmpRaw[13]; //[Ndata.P.hod.1y.posAdcPulseAmpRaw] + Int_t Ndata_P_hod_1y_posAdcPulseInt; + Double_t P_hod_1y_posAdcPulseInt[13]; //[Ndata.P.hod.1y.posAdcPulseInt] + Int_t Ndata_P_hod_1y_posAdcPulseIntRaw; + Double_t P_hod_1y_posAdcPulseIntRaw[13]; //[Ndata.P.hod.1y.posAdcPulseIntRaw] + Int_t Ndata_P_hod_1y_posAdcPulseTimeRaw; + Double_t P_hod_1y_posAdcPulseTimeRaw[13]; //[Ndata.P.hod.1y.posAdcPulseTimeRaw] + Int_t Ndata_P_hod_1y_posTdcCounter; + Double_t P_hod_1y_posTdcCounter[20]; //[Ndata.P.hod.1y.posTdcCounter] + Int_t Ndata_P_hod_1y_posTdcTime; + Double_t P_hod_1y_posTdcTime[20]; //[Ndata.P.hod.1y.posTdcTime] + Int_t Ndata_P_hod_1y_posTdcTimeRaw; + Double_t P_hod_1y_posTdcTimeRaw[20]; //[Ndata.P.hod.1y.posTdcTimeRaw] + Int_t Ndata_P_hod_2x_GoodNegAdcPulseAmp; + Double_t P_hod_2x_GoodNegAdcPulseAmp[12]; //[Ndata.P.hod.2x.GoodNegAdcPulseAmp] + Int_t Ndata_P_hod_2x_GoodNegAdcPulseInt; + Double_t P_hod_2x_GoodNegAdcPulseInt[12]; //[Ndata.P.hod.2x.GoodNegAdcPulseInt] + Int_t Ndata_P_hod_2x_GoodNegAdcPulseTime; + Double_t P_hod_2x_GoodNegAdcPulseTime[12]; //[Ndata.P.hod.2x.GoodNegAdcPulseTime] + Int_t Ndata_P_hod_2x_GoodNegTdcChan; + Double_t P_hod_2x_GoodNegTdcChan[12]; //[Ndata.P.hod.2x.GoodNegTdcChan] + Int_t Ndata_P_hod_2x_GoodNegTdcTimeCorr; + Double_t P_hod_2x_GoodNegTdcTimeCorr[12]; //[Ndata.P.hod.2x.GoodNegTdcTimeCorr] + Int_t Ndata_P_hod_2x_GoodNegTdcTimeTOFCorr; + Double_t P_hod_2x_GoodNegTdcTimeTOFCorr[12]; //[Ndata.P.hod.2x.GoodNegTdcTimeTOFCorr] + Int_t Ndata_P_hod_2x_GoodPaddle; + Double_t P_hod_2x_GoodPaddle[12]; //[Ndata.P.hod.2x.GoodPaddle] + Int_t Ndata_P_hod_2x_GoodPosAdcPulseAmp; + Double_t P_hod_2x_GoodPosAdcPulseAmp[12]; //[Ndata.P.hod.2x.GoodPosAdcPulseAmp] + Int_t Ndata_P_hod_2x_GoodPosAdcPulseInt; + Double_t P_hod_2x_GoodPosAdcPulseInt[12]; //[Ndata.P.hod.2x.GoodPosAdcPulseInt] + Int_t Ndata_P_hod_2x_GoodPosAdcPulseTime; + Double_t P_hod_2x_GoodPosAdcPulseTime[12]; //[Ndata.P.hod.2x.GoodPosAdcPulseTime] + Int_t Ndata_P_hod_2x_GoodPosTdcChan; + Double_t P_hod_2x_GoodPosTdcChan[12]; //[Ndata.P.hod.2x.GoodPosTdcChan] + Int_t Ndata_P_hod_2x_GoodPosTdcTimeCorr; + Double_t P_hod_2x_GoodPosTdcTimeCorr[12]; //[Ndata.P.hod.2x.GoodPosTdcTimeCorr] + Int_t Ndata_P_hod_2x_GoodPosTdcTimeTOFCorr; + Double_t P_hod_2x_GoodPosTdcTimeTOFCorr[12]; //[Ndata.P.hod.2x.GoodPosTdcTimeTOFCorr] + Int_t Ndata_P_hod_2x_negAdcCounter; + Double_t P_hod_2x_negAdcCounter[14]; //[Ndata.P.hod.2x.negAdcCounter] + Int_t Ndata_P_hod_2x_negAdcPed; + Double_t P_hod_2x_negAdcPed[14]; //[Ndata.P.hod.2x.negAdcPed] + Int_t Ndata_P_hod_2x_negAdcPedRaw; + Double_t P_hod_2x_negAdcPedRaw[14]; //[Ndata.P.hod.2x.negAdcPedRaw] + Int_t Ndata_P_hod_2x_negAdcPulseAmp; + Double_t P_hod_2x_negAdcPulseAmp[14]; //[Ndata.P.hod.2x.negAdcPulseAmp] + Int_t Ndata_P_hod_2x_negAdcPulseAmpRaw; + Double_t P_hod_2x_negAdcPulseAmpRaw[14]; //[Ndata.P.hod.2x.negAdcPulseAmpRaw] + Int_t Ndata_P_hod_2x_negAdcPulseInt; + Double_t P_hod_2x_negAdcPulseInt[14]; //[Ndata.P.hod.2x.negAdcPulseInt] + Int_t Ndata_P_hod_2x_negAdcPulseIntRaw; + Double_t P_hod_2x_negAdcPulseIntRaw[14]; //[Ndata.P.hod.2x.negAdcPulseIntRaw] + Int_t Ndata_P_hod_2x_negAdcPulseTimeRaw; + Double_t P_hod_2x_negAdcPulseTimeRaw[14]; //[Ndata.P.hod.2x.negAdcPulseTimeRaw] + Int_t Ndata_P_hod_2x_negTdcCounter; + Double_t P_hod_2x_negTdcCounter[21]; //[Ndata.P.hod.2x.negTdcCounter] + Int_t Ndata_P_hod_2x_negTdcTime; + Double_t P_hod_2x_negTdcTime[21]; //[Ndata.P.hod.2x.negTdcTime] + Int_t Ndata_P_hod_2x_negTdcTimeRaw; + Double_t P_hod_2x_negTdcTimeRaw[21]; //[Ndata.P.hod.2x.negTdcTimeRaw] + Int_t Ndata_P_hod_2x_posAdcCounter; + Double_t P_hod_2x_posAdcCounter[14]; //[Ndata.P.hod.2x.posAdcCounter] + Int_t Ndata_P_hod_2x_posAdcPed; + Double_t P_hod_2x_posAdcPed[14]; //[Ndata.P.hod.2x.posAdcPed] + Int_t Ndata_P_hod_2x_posAdcPedRaw; + Double_t P_hod_2x_posAdcPedRaw[14]; //[Ndata.P.hod.2x.posAdcPedRaw] + Int_t Ndata_P_hod_2x_posAdcPulseAmp; + Double_t P_hod_2x_posAdcPulseAmp[14]; //[Ndata.P.hod.2x.posAdcPulseAmp] + Int_t Ndata_P_hod_2x_posAdcPulseAmpRaw; + Double_t P_hod_2x_posAdcPulseAmpRaw[14]; //[Ndata.P.hod.2x.posAdcPulseAmpRaw] + Int_t Ndata_P_hod_2x_posAdcPulseInt; + Double_t P_hod_2x_posAdcPulseInt[14]; //[Ndata.P.hod.2x.posAdcPulseInt] + Int_t Ndata_P_hod_2x_posAdcPulseIntRaw; + Double_t P_hod_2x_posAdcPulseIntRaw[14]; //[Ndata.P.hod.2x.posAdcPulseIntRaw] + Int_t Ndata_P_hod_2x_posAdcPulseTimeRaw; + Double_t P_hod_2x_posAdcPulseTimeRaw[14]; //[Ndata.P.hod.2x.posAdcPulseTimeRaw] + Int_t Ndata_P_hod_2x_posTdcCounter; + Double_t P_hod_2x_posTdcCounter[18]; //[Ndata.P.hod.2x.posTdcCounter] + Int_t Ndata_P_hod_2x_posTdcTime; + Double_t P_hod_2x_posTdcTime[18]; //[Ndata.P.hod.2x.posTdcTime] + Int_t Ndata_P_hod_2x_posTdcTimeRaw; + Double_t P_hod_2x_posTdcTimeRaw[18]; //[Ndata.P.hod.2x.posTdcTimeRaw] + Int_t Ndata_P_hod_2y_GoodNegAdcPulseAmp; + Double_t P_hod_2y_GoodNegAdcPulseAmp[9]; //[Ndata.P.hod.2y.GoodNegAdcPulseAmp] + Int_t Ndata_P_hod_2y_GoodNegAdcPulseInt; + Double_t P_hod_2y_GoodNegAdcPulseInt[9]; //[Ndata.P.hod.2y.GoodNegAdcPulseInt] + Int_t Ndata_P_hod_2y_GoodNegAdcPulseTime; + Double_t P_hod_2y_GoodNegAdcPulseTime[9]; //[Ndata.P.hod.2y.GoodNegAdcPulseTime] + Int_t Ndata_P_hod_2y_GoodNegTdcChan; + Double_t P_hod_2y_GoodNegTdcChan[9]; //[Ndata.P.hod.2y.GoodNegTdcChan] + Int_t Ndata_P_hod_2y_GoodNegTdcTimeCorr; + Double_t P_hod_2y_GoodNegTdcTimeCorr[9]; //[Ndata.P.hod.2y.GoodNegTdcTimeCorr] + Int_t Ndata_P_hod_2y_GoodNegTdcTimeTOFCorr; + Double_t P_hod_2y_GoodNegTdcTimeTOFCorr[9]; //[Ndata.P.hod.2y.GoodNegTdcTimeTOFCorr] + Int_t Ndata_P_hod_2y_GoodPaddle; + Double_t P_hod_2y_GoodPaddle[9]; //[Ndata.P.hod.2y.GoodPaddle] + Int_t Ndata_P_hod_2y_GoodPosAdcPulseAmp; + Double_t P_hod_2y_GoodPosAdcPulseAmp[9]; //[Ndata.P.hod.2y.GoodPosAdcPulseAmp] + Int_t Ndata_P_hod_2y_GoodPosAdcPulseInt; + Double_t P_hod_2y_GoodPosAdcPulseInt[9]; //[Ndata.P.hod.2y.GoodPosAdcPulseInt] + Int_t Ndata_P_hod_2y_GoodPosAdcPulseTime; + Double_t P_hod_2y_GoodPosAdcPulseTime[9]; //[Ndata.P.hod.2y.GoodPosAdcPulseTime] + Int_t Ndata_P_hod_2y_GoodPosTdcChan; + Double_t P_hod_2y_GoodPosTdcChan[9]; //[Ndata.P.hod.2y.GoodPosTdcChan] + Int_t Ndata_P_hod_2y_GoodPosTdcTimeCorr; + Double_t P_hod_2y_GoodPosTdcTimeCorr[9]; //[Ndata.P.hod.2y.GoodPosTdcTimeCorr] + Int_t Ndata_P_hod_2y_GoodPosTdcTimeTOFCorr; + Double_t P_hod_2y_GoodPosTdcTimeTOFCorr[9]; //[Ndata.P.hod.2y.GoodPosTdcTimeTOFCorr] + Int_t Ndata_P_hod_2y_negAdcCounter; + Double_t P_hod_2y_negAdcCounter[10]; //[Ndata.P.hod.2y.negAdcCounter] + Int_t Ndata_P_hod_2y_negAdcPed; + Double_t P_hod_2y_negAdcPed[10]; //[Ndata.P.hod.2y.negAdcPed] + Int_t Ndata_P_hod_2y_negAdcPedRaw; + Double_t P_hod_2y_negAdcPedRaw[10]; //[Ndata.P.hod.2y.negAdcPedRaw] + Int_t Ndata_P_hod_2y_negAdcPulseAmp; + Double_t P_hod_2y_negAdcPulseAmp[10]; //[Ndata.P.hod.2y.negAdcPulseAmp] + Int_t Ndata_P_hod_2y_negAdcPulseAmpRaw; + Double_t P_hod_2y_negAdcPulseAmpRaw[10]; //[Ndata.P.hod.2y.negAdcPulseAmpRaw] + Int_t Ndata_P_hod_2y_negAdcPulseInt; + Double_t P_hod_2y_negAdcPulseInt[10]; //[Ndata.P.hod.2y.negAdcPulseInt] + Int_t Ndata_P_hod_2y_negAdcPulseIntRaw; + Double_t P_hod_2y_negAdcPulseIntRaw[10]; //[Ndata.P.hod.2y.negAdcPulseIntRaw] + Int_t Ndata_P_hod_2y_negAdcPulseTimeRaw; + Double_t P_hod_2y_negAdcPulseTimeRaw[10]; //[Ndata.P.hod.2y.negAdcPulseTimeRaw] + Int_t Ndata_P_hod_2y_negTdcCounter; + Double_t P_hod_2y_negTdcCounter[16]; //[Ndata.P.hod.2y.negTdcCounter] + Int_t Ndata_P_hod_2y_negTdcTime; + Double_t P_hod_2y_negTdcTime[16]; //[Ndata.P.hod.2y.negTdcTime] + Int_t Ndata_P_hod_2y_negTdcTimeRaw; + Double_t P_hod_2y_negTdcTimeRaw[16]; //[Ndata.P.hod.2y.negTdcTimeRaw] + Int_t Ndata_P_hod_2y_posAdcCounter; + Double_t P_hod_2y_posAdcCounter[10]; //[Ndata.P.hod.2y.posAdcCounter] + Int_t Ndata_P_hod_2y_posAdcPed; + Double_t P_hod_2y_posAdcPed[10]; //[Ndata.P.hod.2y.posAdcPed] + Int_t Ndata_P_hod_2y_posAdcPedRaw; + Double_t P_hod_2y_posAdcPedRaw[10]; //[Ndata.P.hod.2y.posAdcPedRaw] + Int_t Ndata_P_hod_2y_posAdcPulseAmp; + Double_t P_hod_2y_posAdcPulseAmp[10]; //[Ndata.P.hod.2y.posAdcPulseAmp] + Int_t Ndata_P_hod_2y_posAdcPulseAmpRaw; + Double_t P_hod_2y_posAdcPulseAmpRaw[10]; //[Ndata.P.hod.2y.posAdcPulseAmpRaw] + Int_t Ndata_P_hod_2y_posAdcPulseInt; + Double_t P_hod_2y_posAdcPulseInt[10]; //[Ndata.P.hod.2y.posAdcPulseInt] + Int_t Ndata_P_hod_2y_posAdcPulseIntRaw; + Double_t P_hod_2y_posAdcPulseIntRaw[10]; //[Ndata.P.hod.2y.posAdcPulseIntRaw] + Int_t Ndata_P_hod_2y_posAdcPulseTimeRaw; + Double_t P_hod_2y_posAdcPulseTimeRaw[10]; //[Ndata.P.hod.2y.posAdcPulseTimeRaw] + Int_t Ndata_P_hod_2y_posTdcCounter; + Double_t P_hod_2y_posTdcCounter[20]; //[Ndata.P.hod.2y.posTdcCounter] + Int_t Ndata_P_hod_2y_posTdcTime; + Double_t P_hod_2y_posTdcTime[20]; //[Ndata.P.hod.2y.posTdcTime] + Int_t Ndata_P_hod_2y_posTdcTimeRaw; + Double_t P_hod_2y_posTdcTimeRaw[20]; //[Ndata.P.hod.2y.posTdcTimeRaw] + Int_t Ndata_P_ngcer_adcCounter; + Double_t P_ngcer_adcCounter[4]; //[Ndata.P.ngcer.adcCounter] + Int_t Ndata_P_ngcer_adcErrorFlag; + Double_t P_ngcer_adcErrorFlag[4]; //[Ndata.P.ngcer.adcErrorFlag] + Int_t Ndata_P_ngcer_goodAdcPed; + Double_t P_ngcer_goodAdcPed[4]; //[Ndata.P.ngcer.goodAdcPed] + Int_t Ndata_P_ngcer_goodAdcPulseAmp; + Double_t P_ngcer_goodAdcPulseAmp[4]; //[Ndata.P.ngcer.goodAdcPulseAmp] + Int_t Ndata_P_ngcer_goodAdcPulseInt; + Double_t P_ngcer_goodAdcPulseInt[4]; //[Ndata.P.ngcer.goodAdcPulseInt] + Int_t Ndata_P_ngcer_goodAdcPulseIntRaw; + Double_t P_ngcer_goodAdcPulseIntRaw[4]; //[Ndata.P.ngcer.goodAdcPulseIntRaw] + Int_t Ndata_P_ngcer_goodAdcPulseTime; + Double_t P_ngcer_goodAdcPulseTime[4]; //[Ndata.P.ngcer.goodAdcPulseTime] + Int_t Ndata_P_ngcer_npe; + Double_t P_ngcer_npe[4]; //[Ndata.P.ngcer.npe] + Int_t Ndata_P_ngcer_numGoodAdcHits; + Double_t P_ngcer_numGoodAdcHits[4]; //[Ndata.P.ngcer.numGoodAdcHits] + Int_t Ndata_P_ngcer_numTracksFired; + Double_t P_ngcer_numTracksFired[4]; //[Ndata.P.ngcer.numTracksFired] + Int_t Ndata_P_ngcer_numTracksMatched; + Double_t P_ngcer_numTracksMatched[4]; //[Ndata.P.ngcer.numTracksMatched] + Int_t Ndata_P_tr_beta; + Double_t P_tr_beta[10]; //[Ndata.P.tr.beta] + Int_t Ndata_P_tr_betachisq; + Double_t P_tr_betachisq[10]; //[Ndata.P.tr.betachisq] + Int_t Ndata_P_tr_chi2; + Double_t P_tr_chi2[10]; //[Ndata.P.tr.chi2] + Int_t Ndata_P_tr_d_ph; + Double_t P_tr_d_ph[10]; //[Ndata.P.tr.d_ph] + Int_t Ndata_P_tr_d_th; + Double_t P_tr_d_th[10]; //[Ndata.P.tr.d_th] + Int_t Ndata_P_tr_d_x; + Double_t P_tr_d_x[10]; //[Ndata.P.tr.d_x] + Int_t Ndata_P_tr_d_y; + Double_t P_tr_d_y[10]; //[Ndata.P.tr.d_y] + Int_t Ndata_P_tr_dbeta; + Double_t P_tr_dbeta[10]; //[Ndata.P.tr.dbeta] + Int_t Ndata_P_tr_dtime; + Double_t P_tr_dtime[10]; //[Ndata.P.tr.dtime] + Int_t Ndata_P_tr_flag; + Double_t P_tr_flag[10]; //[Ndata.P.tr.flag] + Int_t Ndata_P_tr_ndof; + Double_t P_tr_ndof[10]; //[Ndata.P.tr.ndof] + Int_t Ndata_P_tr_p; + Double_t P_tr_p[10]; //[Ndata.P.tr.p] + Int_t Ndata_P_tr_pathl; + Double_t P_tr_pathl[10]; //[Ndata.P.tr.pathl] + Int_t Ndata_P_tr_ph; + Double_t P_tr_ph[10]; //[Ndata.P.tr.ph] + Int_t Ndata_P_tr_px; + Double_t P_tr_px[10]; //[Ndata.P.tr.px] + Int_t Ndata_P_tr_py; + Double_t P_tr_py[10]; //[Ndata.P.tr.py] + Int_t Ndata_P_tr_pz; + Double_t P_tr_pz[10]; //[Ndata.P.tr.pz] + Int_t Ndata_P_tr_r_ph; + Double_t P_tr_r_ph[10]; //[Ndata.P.tr.r_ph] + Int_t Ndata_P_tr_r_th; + Double_t P_tr_r_th[10]; //[Ndata.P.tr.r_th] + Int_t Ndata_P_tr_r_x; + Double_t P_tr_r_x[10]; //[Ndata.P.tr.r_x] + Int_t Ndata_P_tr_r_y; + Double_t P_tr_r_y[10]; //[Ndata.P.tr.r_y] + Int_t Ndata_P_tr_tg_dp; + Double_t P_tr_tg_dp[10]; //[Ndata.P.tr.tg_dp] + Int_t Ndata_P_tr_tg_ph; + Double_t P_tr_tg_ph[10]; //[Ndata.P.tr.tg_ph] + Int_t Ndata_P_tr_tg_th; + Double_t P_tr_tg_th[10]; //[Ndata.P.tr.tg_th] + Int_t Ndata_P_tr_tg_y; + Double_t P_tr_tg_y[10]; //[Ndata.P.tr.tg_y] + Int_t Ndata_P_tr_th; + Double_t P_tr_th[10]; //[Ndata.P.tr.th] + Int_t Ndata_P_tr_time; + Double_t P_tr_time[10]; //[Ndata.P.tr.time] + Int_t Ndata_P_tr_vx; + Double_t P_tr_vx[10]; //[Ndata.P.tr.vx] + Int_t Ndata_P_tr_vy; + Double_t P_tr_vy[10]; //[Ndata.P.tr.vy] + Int_t Ndata_P_tr_vz; + Double_t P_tr_vz[10]; //[Ndata.P.tr.vz] + Int_t Ndata_P_tr_x; + Double_t P_tr_x[10]; //[Ndata.P.tr.x] + Int_t Ndata_P_tr_y; + Double_t P_tr_y[10]; //[Ndata.P.tr.y] + Double_t P_aero_negNpeSum; + Double_t P_aero_npeSum; + Double_t P_aero_posNpeSum; + Double_t P_aero_totNumGoodNegAdcHits; + Double_t P_aero_totNumGoodPosAdcHits; + Double_t P_aero_totNumTracksFired; + Double_t P_aero_totNumTracksMatched; + Double_t P_aero_totnumGoodAdcHits; + Double_t P_cal_etot; + Double_t P_cal_etotnorm; + Double_t P_cal_etrack; + Double_t P_cal_etracknorm; + Double_t P_cal_fly_earray; + Double_t P_cal_fly_nclust; + Double_t P_cal_fly_nghits; + Double_t P_cal_fly_nhits; + Double_t P_cal_fly_ntracks; + Double_t P_cal_nblock_high_ene; + Double_t P_cal_nclust; + Double_t P_cal_nclustarraytrack; + Double_t P_cal_nclusttrack; + Double_t P_cal_nhits; + Double_t P_cal_ntracks; + Double_t P_cal_pr_eplane; + Double_t P_cal_pr_eplane_neg; + Double_t P_cal_pr_eplane_pos; + Double_t P_cal_sizeclustarray; + Double_t P_cal_xclustarraytrack; + Double_t P_cal_xclusttrack; + Double_t P_cal_xtrack; + Double_t P_cal_xtrackarray; + Double_t P_cal_yclustarraytrack; + Double_t P_cal_yclusttrack; + Double_t P_cal_ytrack; + Double_t P_cal_ytrackarray; + Double_t P_dc_1u1_nhit; + Double_t P_dc_1u2_nhit; + Double_t P_dc_1v1_nhit; + Double_t P_dc_1v2_nhit; + Double_t P_dc_1x1_nhit; + Double_t P_dc_1x2_nhit; + Double_t P_dc_2u1_nhit; + Double_t P_dc_2u2_nhit; + Double_t P_dc_2v1_nhit; + Double_t P_dc_2v2_nhit; + Double_t P_dc_2x1_nhit; + Double_t P_dc_2x2_nhit; + Double_t P_dc_Ch1_maxhits; + Double_t P_dc_Ch1_nhit; + Double_t P_dc_Ch1_spacepoints; + Double_t P_dc_Ch1_trawhit; + Double_t P_dc_Ch2_maxhits; + Double_t P_dc_Ch2_nhit; + Double_t P_dc_Ch2_spacepoints; + Double_t P_dc_Ch2_trawhit; + Double_t P_dc_nhit; + Double_t P_dc_nsp; + Double_t P_dc_ntrack; + Double_t P_dc_stubtest; + Double_t P_dc_tnhit; + Double_t P_dc_trawhit; + Double_t P_dc_x_fp; + Double_t P_dc_xp_fp; + Double_t P_dc_y_fp; + Double_t P_dc_yp_fp; + Double_t P_hgcer_npeSum; + Double_t P_hgcer_totNumGoodAdcHits; + Double_t P_hgcer_totNumTracksFired; + Double_t P_hgcer_totNumTracksMatched; + Double_t P_hod_1x_fptime; + Double_t P_hod_1x_ngoodhits; + Double_t P_hod_1x_nhits; + Double_t P_hod_1y_fptime; + Double_t P_hod_1y_ngoodhits; + Double_t P_hod_1y_nhits; + Double_t P_hod_2x_fptime; + Double_t P_hod_2x_ngoodhits; + Double_t P_hod_2x_nhits; + Double_t P_hod_2y_fptime; + Double_t P_hod_2y_ngoodhits; + Double_t P_hod_2y_nhits; + Double_t P_hod_beta; + Double_t P_hod_betachisqnotrack; + Double_t P_hod_betanotrack; + Double_t P_hod_fpHitsTime; + Double_t P_hod_goodscinhit; + Double_t P_hod_goodstarttime; + Double_t P_hod_starttime; + Double_t P_ngcer_npeSum; + Double_t P_ngcer_totNumGoodAdcHits; + Double_t P_ngcer_totNumTracksFired; + Double_t P_ngcer_totNumTracksMatched; + Double_t P_tr_n; + Double_t T_shms_p1T_tdcMultiplicity; + Double_t T_shms_p1T_tdcTime; + Double_t T_shms_p1T_tdcTimeRaw; + Double_t T_shms_p1X_tdcMultiplicity; + Double_t T_shms_p1X_tdcTime; + Double_t T_shms_p1X_tdcTimeRaw; + Double_t T_shms_p1Y_tdcMultiplicity; + Double_t T_shms_p1Y_tdcTime; + Double_t T_shms_p1Y_tdcTimeRaw; + Double_t T_shms_p2T_tdcMultiplicity; + Double_t T_shms_p2T_tdcTime; + Double_t T_shms_p2T_tdcTimeRaw; + Double_t T_shms_p2X_tdcMultiplicity; + Double_t T_shms_p2X_tdcTime; + Double_t T_shms_p2X_tdcTimeRaw; + Double_t T_shms_p2Y_tdcMultiplicity; + Double_t T_shms_p2Y_tdcTime; + Double_t T_shms_p2Y_tdcTimeRaw; + Double_t T_shms_pAERSUM_adcMultiplicity; + Double_t T_shms_pAERSUM_adcPed; + Double_t T_shms_pAERSUM_adcPedRaw; + Double_t T_shms_pAERSUM_adcPulseAmp; + Double_t T_shms_pAERSUM_adcPulseAmpRaw; + Double_t T_shms_pAERSUM_adcPulseInt; + Double_t T_shms_pAERSUM_adcPulseIntRaw; + Double_t T_shms_pAERSUM_adcPulseTimeRaw; + Double_t T_shms_pAERSUM_tdcMultiplicity; + Double_t T_shms_pAERSUM_tdcTime; + Double_t T_shms_pAERSUM_tdcTimeRaw; + Double_t T_shms_pDCREF10_tdcMultiplicity; + Double_t T_shms_pDCREF10_tdcTime; + Double_t T_shms_pDCREF10_tdcTimeRaw; + Double_t T_shms_pDCREF1_tdcMultiplicity; + Double_t T_shms_pDCREF1_tdcTime; + Double_t T_shms_pDCREF1_tdcTimeRaw; + Double_t T_shms_pDCREF2_tdcMultiplicity; + Double_t T_shms_pDCREF2_tdcTime; + Double_t T_shms_pDCREF2_tdcTimeRaw; + Double_t T_shms_pDCREF3_tdcMultiplicity; + Double_t T_shms_pDCREF3_tdcTime; + Double_t T_shms_pDCREF3_tdcTimeRaw; + Double_t T_shms_pDCREF4_tdcMultiplicity; + Double_t T_shms_pDCREF4_tdcTime; + Double_t T_shms_pDCREF4_tdcTimeRaw; + Double_t T_shms_pDCREF5_tdcMultiplicity; + Double_t T_shms_pDCREF5_tdcTime; + Double_t T_shms_pDCREF5_tdcTimeRaw; + Double_t T_shms_pDCREF6_tdcMultiplicity; + Double_t T_shms_pDCREF6_tdcTime; + Double_t T_shms_pDCREF6_tdcTimeRaw; + Double_t T_shms_pDCREF7_tdcMultiplicity; + Double_t T_shms_pDCREF7_tdcTime; + Double_t T_shms_pDCREF7_tdcTimeRaw; + Double_t T_shms_pDCREF8_tdcMultiplicity; + Double_t T_shms_pDCREF8_tdcTime; + Double_t T_shms_pDCREF8_tdcTimeRaw; + Double_t T_shms_pDCREF9_tdcMultiplicity; + Double_t T_shms_pDCREF9_tdcTime; + Double_t T_shms_pDCREF9_tdcTimeRaw; + Double_t T_shms_pHGCSUM_adcMultiplicity; + Double_t T_shms_pHGCSUM_adcPed; + Double_t T_shms_pHGCSUM_adcPedRaw; + Double_t T_shms_pHGCSUM_adcPulseAmp; + Double_t T_shms_pHGCSUM_adcPulseAmpRaw; + Double_t T_shms_pHGCSUM_adcPulseInt; + Double_t T_shms_pHGCSUM_adcPulseIntRaw; + Double_t T_shms_pHGCSUM_adcPulseTimeRaw; + Double_t T_shms_pHGCSUM_tdcMultiplicity; + Double_t T_shms_pHGCSUM_tdcTime; + Double_t T_shms_pHGCSUM_tdcTimeRaw; + Double_t T_shms_pNGCSUM_adcMultiplicity; + Double_t T_shms_pNGCSUM_adcPed; + Double_t T_shms_pNGCSUM_adcPedRaw; + Double_t T_shms_pNGCSUM_adcPulseAmp; + Double_t T_shms_pNGCSUM_adcPulseAmpRaw; + Double_t T_shms_pNGCSUM_adcPulseInt; + Double_t T_shms_pNGCSUM_adcPulseIntRaw; + Double_t T_shms_pNGCSUM_adcPulseTimeRaw; + Double_t T_shms_pNGCSUM_tdcMultiplicity; + Double_t T_shms_pNGCSUM_tdcTime; + Double_t T_shms_pNGCSUM_tdcTimeRaw; + Double_t T_shms_pT1_tdcMultiplicity; + Double_t T_shms_pT1_tdcTime; + Double_t T_shms_pT1_tdcTimeRaw; + Double_t T_shms_pT2_tdcMultiplicity; + Double_t T_shms_pT2_tdcTime; + Double_t T_shms_pT2_tdcTimeRaw; + Double_t T_shms_pT3_tdcMultiplicity; + Double_t T_shms_pT3_tdcTime; + Double_t T_shms_pT3_tdcTimeRaw; + //THaEvent *Event_Branch; + ULong64_t fEvtHdr_fEvtTime; + UInt_t fEvtHdr_fEvtNum; + Int_t fEvtHdr_fEvtType; + Int_t fEvtHdr_fEvtLen; + Int_t fEvtHdr_fHelicity; + Int_t fEvtHdr_fTargetPol; + Int_t fEvtHdr_fRun; + + // List of branches + TBranch *b_Ndata_P_aero_goodNegAdcPed; //! + TBranch *b_P_aero_goodNegAdcPed; //! + TBranch *b_Ndata_P_aero_goodNegAdcPulseAmp; //! + TBranch *b_P_aero_goodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_aero_goodNegAdcPulseInt; //! + TBranch *b_P_aero_goodNegAdcPulseInt; //! + TBranch *b_Ndata_P_aero_goodNegAdcPulseIntRaw; //! + TBranch *b_P_aero_goodNegAdcPulseIntRaw; //! + TBranch *b_Ndata_P_aero_goodNegAdcPulseTime; //! + TBranch *b_P_aero_goodNegAdcPulseTime; //! + TBranch *b_Ndata_P_aero_goodPosAdcPed; //! + TBranch *b_P_aero_goodPosAdcPed; //! + TBranch *b_Ndata_P_aero_goodPosAdcPulseAmp; //! + TBranch *b_P_aero_goodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_aero_goodPosAdcPulseInt; //! + TBranch *b_P_aero_goodPosAdcPulseInt; //! + TBranch *b_Ndata_P_aero_goodPosAdcPulseIntRaw; //! + TBranch *b_P_aero_goodPosAdcPulseIntRaw; //! + TBranch *b_Ndata_P_aero_goodPosAdcPulseTime; //! + TBranch *b_P_aero_goodPosAdcPulseTime; //! + TBranch *b_Ndata_P_aero_negAdcCounter; //! + TBranch *b_P_aero_negAdcCounter; //! + TBranch *b_Ndata_P_aero_negAdcErrorFlag; //! + TBranch *b_P_aero_negAdcErrorFlag; //! + TBranch *b_Ndata_P_aero_negNpe; //! + TBranch *b_P_aero_negNpe; //! + TBranch *b_Ndata_P_aero_numGoodNegAdcHits; //! + TBranch *b_P_aero_numGoodNegAdcHits; //! + TBranch *b_Ndata_P_aero_numGoodPosAdcHits; //! + TBranch *b_P_aero_numGoodPosAdcHits; //! + TBranch *b_Ndata_P_aero_numTracksFired; //! + TBranch *b_P_aero_numTracksFired; //! + TBranch *b_Ndata_P_aero_numTracksMatched; //! + TBranch *b_P_aero_numTracksMatched; //! + TBranch *b_Ndata_P_aero_posAdcCounter; //! + TBranch *b_P_aero_posAdcCounter; //! + TBranch *b_Ndata_P_aero_posAdcErrorFlag; //! + TBranch *b_P_aero_posAdcErrorFlag; //! + TBranch *b_Ndata_P_aero_posNpe; //! + TBranch *b_P_aero_posNpe; //! + TBranch *b_Ndata_P_cal_fly_a; //! + TBranch *b_P_cal_fly_a; //! + TBranch *b_Ndata_P_cal_fly_a_p; //! + TBranch *b_P_cal_fly_a_p; //! + TBranch *b_Ndata_P_cal_fly_adcCounter; //! + TBranch *b_P_cal_fly_adcCounter; //! + TBranch *b_Ndata_P_cal_fly_adcErrorFlag; //! + TBranch *b_P_cal_fly_adcErrorFlag; //! + TBranch *b_Ndata_P_cal_fly_adcPed; //! + TBranch *b_P_cal_fly_adcPed; //! + TBranch *b_Ndata_P_cal_fly_adcPedRaw; //! + TBranch *b_P_cal_fly_adcPedRaw; //! + TBranch *b_Ndata_P_cal_fly_adcPulseAmp; //! + TBranch *b_P_cal_fly_adcPulseAmp; //! + TBranch *b_Ndata_P_cal_fly_adcPulseAmpRaw; //! + TBranch *b_P_cal_fly_adcPulseAmpRaw; //! + TBranch *b_Ndata_P_cal_fly_adcPulseInt; //! + TBranch *b_P_cal_fly_adcPulseInt; //! + TBranch *b_Ndata_P_cal_fly_adcPulseIntRaw; //! + TBranch *b_P_cal_fly_adcPulseIntRaw; //! + TBranch *b_Ndata_P_cal_fly_adcPulseTimeRaw; //! + TBranch *b_P_cal_fly_adcPulseTimeRaw; //! + TBranch *b_Ndata_P_cal_fly_adchits; //! + TBranch *b_P_cal_fly_adchits; //! + TBranch *b_Ndata_P_cal_fly_block_clusterID; //! + TBranch *b_P_cal_fly_block_clusterID; //! + TBranch *b_Ndata_P_cal_fly_e; //! + TBranch *b_P_cal_fly_e; //! + TBranch *b_Ndata_P_cal_fly_p; //! + TBranch *b_P_cal_fly_p; //! + TBranch *b_Ndata_P_cal_pr_aneg; //! + TBranch *b_P_cal_pr_aneg; //! + TBranch *b_Ndata_P_cal_pr_aneg_p; //! + TBranch *b_P_cal_pr_aneg_p; //! + TBranch *b_Ndata_P_cal_pr_apos; //! + TBranch *b_P_cal_pr_apos; //! + TBranch *b_Ndata_P_cal_pr_apos_p; //! + TBranch *b_P_cal_pr_apos_p; //! + TBranch *b_Ndata_P_cal_pr_emean; //! + TBranch *b_P_cal_pr_emean; //! + TBranch *b_Ndata_P_cal_pr_eneg; //! + TBranch *b_P_cal_pr_eneg; //! + TBranch *b_Ndata_P_cal_pr_epos; //! + TBranch *b_P_cal_pr_epos; //! + TBranch *b_Ndata_P_cal_pr_negAdcCounter; //! + TBranch *b_P_cal_pr_negAdcCounter; //! + TBranch *b_Ndata_P_cal_pr_negAdcErrorFlag; //! + TBranch *b_P_cal_pr_negAdcErrorFlag; //! + TBranch *b_Ndata_P_cal_pr_negAdcPed; //! + TBranch *b_P_cal_pr_negAdcPed; //! + TBranch *b_Ndata_P_cal_pr_negAdcPedRaw; //! + TBranch *b_P_cal_pr_negAdcPedRaw; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseAmp; //! + TBranch *b_P_cal_pr_negAdcPulseAmp; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseAmpRaw; //! + TBranch *b_P_cal_pr_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseInt; //! + TBranch *b_P_cal_pr_negAdcPulseInt; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseIntRaw; //! + TBranch *b_P_cal_pr_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseTimeRaw; //! + TBranch *b_P_cal_pr_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_cal_pr_negadchits; //! + TBranch *b_P_cal_pr_negadchits; //! + TBranch *b_Ndata_P_cal_pr_posAdcCounter; //! + TBranch *b_P_cal_pr_posAdcCounter; //! + TBranch *b_Ndata_P_cal_pr_posAdcErrorFlag; //! + TBranch *b_P_cal_pr_posAdcErrorFlag; //! + TBranch *b_Ndata_P_cal_pr_posAdcPed; //! + TBranch *b_P_cal_pr_posAdcPed; //! + TBranch *b_Ndata_P_cal_pr_posAdcPedRaw; //! + TBranch *b_P_cal_pr_posAdcPedRaw; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseAmp; //! + TBranch *b_P_cal_pr_posAdcPulseAmp; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseAmpRaw; //! + TBranch *b_P_cal_pr_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseInt; //! + TBranch *b_P_cal_pr_posAdcPulseInt; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseIntRaw; //! + TBranch *b_P_cal_pr_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseTimeRaw; //! + TBranch *b_P_cal_pr_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_cal_pr_posadchits; //! + TBranch *b_P_cal_pr_posadchits; //! + TBranch *b_Ndata_P_dc_1u1_dist; //! + TBranch *b_P_dc_1u1_dist; //! + TBranch *b_Ndata_P_dc_1u1_rawtdc; //! + TBranch *b_P_dc_1u1_rawtdc; //! + TBranch *b_Ndata_P_dc_1u1_time; //! + TBranch *b_P_dc_1u1_time; //! + TBranch *b_Ndata_P_dc_1u1_wirenum; //! + TBranch *b_P_dc_1u1_wirenum; //! + TBranch *b_Ndata_P_dc_1u2_dist; //! + TBranch *b_P_dc_1u2_dist; //! + TBranch *b_Ndata_P_dc_1u2_rawtdc; //! + TBranch *b_P_dc_1u2_rawtdc; //! + TBranch *b_Ndata_P_dc_1u2_time; //! + TBranch *b_P_dc_1u2_time; //! + TBranch *b_Ndata_P_dc_1u2_wirenum; //! + TBranch *b_P_dc_1u2_wirenum; //! + TBranch *b_Ndata_P_dc_1v1_dist; //! + TBranch *b_P_dc_1v1_dist; //! + TBranch *b_Ndata_P_dc_1v1_rawtdc; //! + TBranch *b_P_dc_1v1_rawtdc; //! + TBranch *b_Ndata_P_dc_1v1_time; //! + TBranch *b_P_dc_1v1_time; //! + TBranch *b_Ndata_P_dc_1v1_wirenum; //! + TBranch *b_P_dc_1v1_wirenum; //! + TBranch *b_Ndata_P_dc_1v2_dist; //! + TBranch *b_P_dc_1v2_dist; //! + TBranch *b_Ndata_P_dc_1v2_rawtdc; //! + TBranch *b_P_dc_1v2_rawtdc; //! + TBranch *b_Ndata_P_dc_1v2_time; //! + TBranch *b_P_dc_1v2_time; //! + TBranch *b_Ndata_P_dc_1v2_wirenum; //! + TBranch *b_P_dc_1v2_wirenum; //! + TBranch *b_Ndata_P_dc_1x1_dist; //! + TBranch *b_P_dc_1x1_dist; //! + TBranch *b_Ndata_P_dc_1x1_rawtdc; //! + TBranch *b_P_dc_1x1_rawtdc; //! + TBranch *b_Ndata_P_dc_1x1_time; //! + TBranch *b_P_dc_1x1_time; //! + TBranch *b_Ndata_P_dc_1x1_wirenum; //! + TBranch *b_P_dc_1x1_wirenum; //! + TBranch *b_Ndata_P_dc_1x2_dist; //! + TBranch *b_P_dc_1x2_dist; //! + TBranch *b_Ndata_P_dc_1x2_rawtdc; //! + TBranch *b_P_dc_1x2_rawtdc; //! + TBranch *b_Ndata_P_dc_1x2_time; //! + TBranch *b_P_dc_1x2_time; //! + TBranch *b_Ndata_P_dc_1x2_wirenum; //! + TBranch *b_P_dc_1x2_wirenum; //! + TBranch *b_Ndata_P_dc_2u1_dist; //! + TBranch *b_P_dc_2u1_dist; //! + TBranch *b_Ndata_P_dc_2u1_rawtdc; //! + TBranch *b_P_dc_2u1_rawtdc; //! + TBranch *b_Ndata_P_dc_2u1_time; //! + TBranch *b_P_dc_2u1_time; //! + TBranch *b_Ndata_P_dc_2u1_wirenum; //! + TBranch *b_P_dc_2u1_wirenum; //! + TBranch *b_Ndata_P_dc_2u2_dist; //! + TBranch *b_P_dc_2u2_dist; //! + TBranch *b_Ndata_P_dc_2u2_rawtdc; //! + TBranch *b_P_dc_2u2_rawtdc; //! + TBranch *b_Ndata_P_dc_2u2_time; //! + TBranch *b_P_dc_2u2_time; //! + TBranch *b_Ndata_P_dc_2u2_wirenum; //! + TBranch *b_P_dc_2u2_wirenum; //! + TBranch *b_Ndata_P_dc_2v1_dist; //! + TBranch *b_P_dc_2v1_dist; //! + TBranch *b_Ndata_P_dc_2v1_rawtdc; //! + TBranch *b_P_dc_2v1_rawtdc; //! + TBranch *b_Ndata_P_dc_2v1_time; //! + TBranch *b_P_dc_2v1_time; //! + TBranch *b_Ndata_P_dc_2v1_wirenum; //! + TBranch *b_P_dc_2v1_wirenum; //! + TBranch *b_Ndata_P_dc_2v2_dist; //! + TBranch *b_P_dc_2v2_dist; //! + TBranch *b_Ndata_P_dc_2v2_rawtdc; //! + TBranch *b_P_dc_2v2_rawtdc; //! + TBranch *b_Ndata_P_dc_2v2_time; //! + TBranch *b_P_dc_2v2_time; //! + TBranch *b_Ndata_P_dc_2v2_wirenum; //! + TBranch *b_P_dc_2v2_wirenum; //! + TBranch *b_Ndata_P_dc_2x1_dist; //! + TBranch *b_P_dc_2x1_dist; //! + TBranch *b_Ndata_P_dc_2x1_rawtdc; //! + TBranch *b_P_dc_2x1_rawtdc; //! + TBranch *b_Ndata_P_dc_2x1_time; //! + TBranch *b_P_dc_2x1_time; //! + TBranch *b_Ndata_P_dc_2x1_wirenum; //! + TBranch *b_P_dc_2x1_wirenum; //! + TBranch *b_Ndata_P_dc_2x2_dist; //! + TBranch *b_P_dc_2x2_dist; //! + TBranch *b_Ndata_P_dc_2x2_rawtdc; //! + TBranch *b_P_dc_2x2_rawtdc; //! + TBranch *b_Ndata_P_dc_2x2_time; //! + TBranch *b_P_dc_2x2_time; //! + TBranch *b_Ndata_P_dc_2x2_wirenum; //! + TBranch *b_P_dc_2x2_wirenum; //! + TBranch *b_Ndata_P_dc_residual; //! + TBranch *b_P_dc_residual; //! + TBranch *b_Ndata_P_dc_wireHitDid; //! + TBranch *b_P_dc_wireHitDid; //! + TBranch *b_Ndata_P_dc_wireHitShould; //! + TBranch *b_P_dc_wireHitShould; //! + TBranch *b_Ndata_P_dc_x; //! + TBranch *b_P_dc_x; //! + TBranch *b_Ndata_P_dc_xp; //! + TBranch *b_P_dc_xp; //! + TBranch *b_Ndata_P_dc_y; //! + TBranch *b_P_dc_y; //! + TBranch *b_Ndata_P_dc_yp; //! + TBranch *b_P_dc_yp; //! + TBranch *b_Ndata_P_hgcer_adcCounter; //! + TBranch *b_P_hgcer_adcCounter; //! + TBranch *b_Ndata_P_hgcer_adcErrorFlag; //! + TBranch *b_P_hgcer_adcErrorFlag; //! + TBranch *b_Ndata_P_hgcer_goodAdcPed; //! + TBranch *b_P_hgcer_goodAdcPed; //! + TBranch *b_Ndata_P_hgcer_goodAdcPulseAmp; //! + TBranch *b_P_hgcer_goodAdcPulseAmp; //! + TBranch *b_Ndata_P_hgcer_goodAdcPulseInt; //! + TBranch *b_P_hgcer_goodAdcPulseInt; //! + TBranch *b_Ndata_P_hgcer_goodAdcPulseIntRaw; //! + TBranch *b_P_hgcer_goodAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hgcer_goodAdcPulseTime; //! + TBranch *b_P_hgcer_goodAdcPulseTime; //! + TBranch *b_Ndata_P_hgcer_npe; //! + TBranch *b_P_hgcer_npe; //! + TBranch *b_Ndata_P_hgcer_numGoodAdcHits; //! + TBranch *b_P_hgcer_numGoodAdcHits; //! + TBranch *b_Ndata_P_hgcer_numTracksFired; //! + TBranch *b_P_hgcer_numTracksFired; //! + TBranch *b_Ndata_P_hgcer_numTracksMatched; //! + TBranch *b_P_hgcer_numTracksMatched; //! + TBranch *b_Ndata_P_hod_1x_GoodNegAdcPulseAmp; //! + TBranch *b_P_hod_1x_GoodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1x_GoodNegAdcPulseInt; //! + TBranch *b_P_hod_1x_GoodNegAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1x_GoodNegAdcPulseTime; //! + TBranch *b_P_hod_1x_GoodNegAdcPulseTime; //! + TBranch *b_Ndata_P_hod_1x_GoodNegTdcChan; //! + TBranch *b_P_hod_1x_GoodNegTdcChan; //! + TBranch *b_Ndata_P_hod_1x_GoodNegTdcTimeCorr; //! + TBranch *b_P_hod_1x_GoodNegTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_1x_GoodNegTdcTimeTOFCorr; //! + TBranch *b_P_hod_1x_GoodNegTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_1x_GoodPaddle; //! + TBranch *b_P_hod_1x_GoodPaddle; //! + TBranch *b_Ndata_P_hod_1x_GoodPosAdcPulseAmp; //! + TBranch *b_P_hod_1x_GoodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1x_GoodPosAdcPulseInt; //! + TBranch *b_P_hod_1x_GoodPosAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1x_GoodPosAdcPulseTime; //! + TBranch *b_P_hod_1x_GoodPosAdcPulseTime; //! + TBranch *b_Ndata_P_hod_1x_GoodPosTdcChan; //! + TBranch *b_P_hod_1x_GoodPosTdcChan; //! + TBranch *b_Ndata_P_hod_1x_GoodPosTdcTimeCorr; //! + TBranch *b_P_hod_1x_GoodPosTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_1x_GoodPosTdcTimeTOFCorr; //! + TBranch *b_P_hod_1x_GoodPosTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_1x_negAdcCounter; //! + TBranch *b_P_hod_1x_negAdcCounter; //! + TBranch *b_Ndata_P_hod_1x_negAdcPed; //! + TBranch *b_P_hod_1x_negAdcPed; //! + TBranch *b_Ndata_P_hod_1x_negAdcPedRaw; //! + TBranch *b_P_hod_1x_negAdcPedRaw; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseAmp; //! + TBranch *b_P_hod_1x_negAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseAmpRaw; //! + TBranch *b_P_hod_1x_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseInt; //! + TBranch *b_P_hod_1x_negAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseIntRaw; //! + TBranch *b_P_hod_1x_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseTimeRaw; //! + TBranch *b_P_hod_1x_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_1x_negTdcCounter; //! + TBranch *b_P_hod_1x_negTdcCounter; //! + TBranch *b_Ndata_P_hod_1x_negTdcTime; //! + TBranch *b_P_hod_1x_negTdcTime; //! + TBranch *b_Ndata_P_hod_1x_negTdcTimeRaw; //! + TBranch *b_P_hod_1x_negTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_1x_posAdcCounter; //! + TBranch *b_P_hod_1x_posAdcCounter; //! + TBranch *b_Ndata_P_hod_1x_posAdcPed; //! + TBranch *b_P_hod_1x_posAdcPed; //! + TBranch *b_Ndata_P_hod_1x_posAdcPedRaw; //! + TBranch *b_P_hod_1x_posAdcPedRaw; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseAmp; //! + TBranch *b_P_hod_1x_posAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseAmpRaw; //! + TBranch *b_P_hod_1x_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseInt; //! + TBranch *b_P_hod_1x_posAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseIntRaw; //! + TBranch *b_P_hod_1x_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseTimeRaw; //! + TBranch *b_P_hod_1x_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_1x_posTdcCounter; //! + TBranch *b_P_hod_1x_posTdcCounter; //! + TBranch *b_Ndata_P_hod_1x_posTdcTime; //! + TBranch *b_P_hod_1x_posTdcTime; //! + TBranch *b_Ndata_P_hod_1x_posTdcTimeRaw; //! + TBranch *b_P_hod_1x_posTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_1y_GoodNegAdcPulseAmp; //! + TBranch *b_P_hod_1y_GoodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1y_GoodNegAdcPulseInt; //! + TBranch *b_P_hod_1y_GoodNegAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1y_GoodNegAdcPulseTime; //! + TBranch *b_P_hod_1y_GoodNegAdcPulseTime; //! + TBranch *b_Ndata_P_hod_1y_GoodNegTdcChan; //! + TBranch *b_P_hod_1y_GoodNegTdcChan; //! + TBranch *b_Ndata_P_hod_1y_GoodNegTdcTimeCorr; //! + TBranch *b_P_hod_1y_GoodNegTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_1y_GoodNegTdcTimeTOFCorr; //! + TBranch *b_P_hod_1y_GoodNegTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_1y_GoodPaddle; //! + TBranch *b_P_hod_1y_GoodPaddle; //! + TBranch *b_Ndata_P_hod_1y_GoodPosAdcPulseAmp; //! + TBranch *b_P_hod_1y_GoodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1y_GoodPosAdcPulseInt; //! + TBranch *b_P_hod_1y_GoodPosAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1y_GoodPosAdcPulseTime; //! + TBranch *b_P_hod_1y_GoodPosAdcPulseTime; //! + TBranch *b_Ndata_P_hod_1y_GoodPosTdcChan; //! + TBranch *b_P_hod_1y_GoodPosTdcChan; //! + TBranch *b_Ndata_P_hod_1y_GoodPosTdcTimeCorr; //! + TBranch *b_P_hod_1y_GoodPosTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_1y_GoodPosTdcTimeTOFCorr; //! + TBranch *b_P_hod_1y_GoodPosTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_1y_negAdcCounter; //! + TBranch *b_P_hod_1y_negAdcCounter; //! + TBranch *b_Ndata_P_hod_1y_negAdcPed; //! + TBranch *b_P_hod_1y_negAdcPed; //! + TBranch *b_Ndata_P_hod_1y_negAdcPedRaw; //! + TBranch *b_P_hod_1y_negAdcPedRaw; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseAmp; //! + TBranch *b_P_hod_1y_negAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseAmpRaw; //! + TBranch *b_P_hod_1y_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseInt; //! + TBranch *b_P_hod_1y_negAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseIntRaw; //! + TBranch *b_P_hod_1y_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseTimeRaw; //! + TBranch *b_P_hod_1y_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_1y_negTdcCounter; //! + TBranch *b_P_hod_1y_negTdcCounter; //! + TBranch *b_Ndata_P_hod_1y_negTdcTime; //! + TBranch *b_P_hod_1y_negTdcTime; //! + TBranch *b_Ndata_P_hod_1y_negTdcTimeRaw; //! + TBranch *b_P_hod_1y_negTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_1y_posAdcCounter; //! + TBranch *b_P_hod_1y_posAdcCounter; //! + TBranch *b_Ndata_P_hod_1y_posAdcPed; //! + TBranch *b_P_hod_1y_posAdcPed; //! + TBranch *b_Ndata_P_hod_1y_posAdcPedRaw; //! + TBranch *b_P_hod_1y_posAdcPedRaw; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseAmp; //! + TBranch *b_P_hod_1y_posAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseAmpRaw; //! + TBranch *b_P_hod_1y_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseInt; //! + TBranch *b_P_hod_1y_posAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseIntRaw; //! + TBranch *b_P_hod_1y_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseTimeRaw; //! + TBranch *b_P_hod_1y_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_1y_posTdcCounter; //! + TBranch *b_P_hod_1y_posTdcCounter; //! + TBranch *b_Ndata_P_hod_1y_posTdcTime; //! + TBranch *b_P_hod_1y_posTdcTime; //! + TBranch *b_Ndata_P_hod_1y_posTdcTimeRaw; //! + TBranch *b_P_hod_1y_posTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_2x_GoodNegAdcPulseAmp; //! + TBranch *b_P_hod_2x_GoodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2x_GoodNegAdcPulseInt; //! + TBranch *b_P_hod_2x_GoodNegAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2x_GoodNegAdcPulseTime; //! + TBranch *b_P_hod_2x_GoodNegAdcPulseTime; //! + TBranch *b_Ndata_P_hod_2x_GoodNegTdcChan; //! + TBranch *b_P_hod_2x_GoodNegTdcChan; //! + TBranch *b_Ndata_P_hod_2x_GoodNegTdcTimeCorr; //! + TBranch *b_P_hod_2x_GoodNegTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_2x_GoodNegTdcTimeTOFCorr; //! + TBranch *b_P_hod_2x_GoodNegTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_2x_GoodPaddle; //! + TBranch *b_P_hod_2x_GoodPaddle; //! + TBranch *b_Ndata_P_hod_2x_GoodPosAdcPulseAmp; //! + TBranch *b_P_hod_2x_GoodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2x_GoodPosAdcPulseInt; //! + TBranch *b_P_hod_2x_GoodPosAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2x_GoodPosAdcPulseTime; //! + TBranch *b_P_hod_2x_GoodPosAdcPulseTime; //! + TBranch *b_Ndata_P_hod_2x_GoodPosTdcChan; //! + TBranch *b_P_hod_2x_GoodPosTdcChan; //! + TBranch *b_Ndata_P_hod_2x_GoodPosTdcTimeCorr; //! + TBranch *b_P_hod_2x_GoodPosTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_2x_GoodPosTdcTimeTOFCorr; //! + TBranch *b_P_hod_2x_GoodPosTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_2x_negAdcCounter; //! + TBranch *b_P_hod_2x_negAdcCounter; //! + TBranch *b_Ndata_P_hod_2x_negAdcPed; //! + TBranch *b_P_hod_2x_negAdcPed; //! + TBranch *b_Ndata_P_hod_2x_negAdcPedRaw; //! + TBranch *b_P_hod_2x_negAdcPedRaw; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseAmp; //! + TBranch *b_P_hod_2x_negAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseAmpRaw; //! + TBranch *b_P_hod_2x_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseInt; //! + TBranch *b_P_hod_2x_negAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseIntRaw; //! + TBranch *b_P_hod_2x_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseTimeRaw; //! + TBranch *b_P_hod_2x_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_2x_negTdcCounter; //! + TBranch *b_P_hod_2x_negTdcCounter; //! + TBranch *b_Ndata_P_hod_2x_negTdcTime; //! + TBranch *b_P_hod_2x_negTdcTime; //! + TBranch *b_Ndata_P_hod_2x_negTdcTimeRaw; //! + TBranch *b_P_hod_2x_negTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_2x_posAdcCounter; //! + TBranch *b_P_hod_2x_posAdcCounter; //! + TBranch *b_Ndata_P_hod_2x_posAdcPed; //! + TBranch *b_P_hod_2x_posAdcPed; //! + TBranch *b_Ndata_P_hod_2x_posAdcPedRaw; //! + TBranch *b_P_hod_2x_posAdcPedRaw; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseAmp; //! + TBranch *b_P_hod_2x_posAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseAmpRaw; //! + TBranch *b_P_hod_2x_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseInt; //! + TBranch *b_P_hod_2x_posAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseIntRaw; //! + TBranch *b_P_hod_2x_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseTimeRaw; //! + TBranch *b_P_hod_2x_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_2x_posTdcCounter; //! + TBranch *b_P_hod_2x_posTdcCounter; //! + TBranch *b_Ndata_P_hod_2x_posTdcTime; //! + TBranch *b_P_hod_2x_posTdcTime; //! + TBranch *b_Ndata_P_hod_2x_posTdcTimeRaw; //! + TBranch *b_P_hod_2x_posTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_2y_GoodNegAdcPulseAmp; //! + TBranch *b_P_hod_2y_GoodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2y_GoodNegAdcPulseInt; //! + TBranch *b_P_hod_2y_GoodNegAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2y_GoodNegAdcPulseTime; //! + TBranch *b_P_hod_2y_GoodNegAdcPulseTime; //! + TBranch *b_Ndata_P_hod_2y_GoodNegTdcChan; //! + TBranch *b_P_hod_2y_GoodNegTdcChan; //! + TBranch *b_Ndata_P_hod_2y_GoodNegTdcTimeCorr; //! + TBranch *b_P_hod_2y_GoodNegTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_2y_GoodNegTdcTimeTOFCorr; //! + TBranch *b_P_hod_2y_GoodNegTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_2y_GoodPaddle; //! + TBranch *b_P_hod_2y_GoodPaddle; //! + TBranch *b_Ndata_P_hod_2y_GoodPosAdcPulseAmp; //! + TBranch *b_P_hod_2y_GoodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2y_GoodPosAdcPulseInt; //! + TBranch *b_P_hod_2y_GoodPosAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2y_GoodPosAdcPulseTime; //! + TBranch *b_P_hod_2y_GoodPosAdcPulseTime; //! + TBranch *b_Ndata_P_hod_2y_GoodPosTdcChan; //! + TBranch *b_P_hod_2y_GoodPosTdcChan; //! + TBranch *b_Ndata_P_hod_2y_GoodPosTdcTimeCorr; //! + TBranch *b_P_hod_2y_GoodPosTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_2y_GoodPosTdcTimeTOFCorr; //! + TBranch *b_P_hod_2y_GoodPosTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_2y_negAdcCounter; //! + TBranch *b_P_hod_2y_negAdcCounter; //! + TBranch *b_Ndata_P_hod_2y_negAdcPed; //! + TBranch *b_P_hod_2y_negAdcPed; //! + TBranch *b_Ndata_P_hod_2y_negAdcPedRaw; //! + TBranch *b_P_hod_2y_negAdcPedRaw; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseAmp; //! + TBranch *b_P_hod_2y_negAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseAmpRaw; //! + TBranch *b_P_hod_2y_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseInt; //! + TBranch *b_P_hod_2y_negAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseIntRaw; //! + TBranch *b_P_hod_2y_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseTimeRaw; //! + TBranch *b_P_hod_2y_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_2y_negTdcCounter; //! + TBranch *b_P_hod_2y_negTdcCounter; //! + TBranch *b_Ndata_P_hod_2y_negTdcTime; //! + TBranch *b_P_hod_2y_negTdcTime; //! + TBranch *b_Ndata_P_hod_2y_negTdcTimeRaw; //! + TBranch *b_P_hod_2y_negTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_2y_posAdcCounter; //! + TBranch *b_P_hod_2y_posAdcCounter; //! + TBranch *b_Ndata_P_hod_2y_posAdcPed; //! + TBranch *b_P_hod_2y_posAdcPed; //! + TBranch *b_Ndata_P_hod_2y_posAdcPedRaw; //! + TBranch *b_P_hod_2y_posAdcPedRaw; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseAmp; //! + TBranch *b_P_hod_2y_posAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseAmpRaw; //! + TBranch *b_P_hod_2y_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseInt; //! + TBranch *b_P_hod_2y_posAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseIntRaw; //! + TBranch *b_P_hod_2y_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseTimeRaw; //! + TBranch *b_P_hod_2y_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_2y_posTdcCounter; //! + TBranch *b_P_hod_2y_posTdcCounter; //! + TBranch *b_Ndata_P_hod_2y_posTdcTime; //! + TBranch *b_P_hod_2y_posTdcTime; //! + TBranch *b_Ndata_P_hod_2y_posTdcTimeRaw; //! + TBranch *b_P_hod_2y_posTdcTimeRaw; //! + TBranch *b_Ndata_P_ngcer_adcCounter; //! + TBranch *b_P_ngcer_adcCounter; //! + TBranch *b_Ndata_P_ngcer_adcErrorFlag; //! + TBranch *b_P_ngcer_adcErrorFlag; //! + TBranch *b_Ndata_P_ngcer_goodAdcPed; //! + TBranch *b_P_ngcer_goodAdcPed; //! + TBranch *b_Ndata_P_ngcer_goodAdcPulseAmp; //! + TBranch *b_P_ngcer_goodAdcPulseAmp; //! + TBranch *b_Ndata_P_ngcer_goodAdcPulseInt; //! + TBranch *b_P_ngcer_goodAdcPulseInt; //! + TBranch *b_Ndata_P_ngcer_goodAdcPulseIntRaw; //! + TBranch *b_P_ngcer_goodAdcPulseIntRaw; //! + TBranch *b_Ndata_P_ngcer_goodAdcPulseTime; //! + TBranch *b_P_ngcer_goodAdcPulseTime; //! + TBranch *b_Ndata_P_ngcer_npe; //! + TBranch *b_P_ngcer_npe; //! + TBranch *b_Ndata_P_ngcer_numGoodAdcHits; //! + TBranch *b_P_ngcer_numGoodAdcHits; //! + TBranch *b_Ndata_P_ngcer_numTracksFired; //! + TBranch *b_P_ngcer_numTracksFired; //! + TBranch *b_Ndata_P_ngcer_numTracksMatched; //! + TBranch *b_P_ngcer_numTracksMatched; //! + TBranch *b_Ndata_P_tr_beta; //! + TBranch *b_P_tr_beta; //! + TBranch *b_Ndata_P_tr_betachisq; //! + TBranch *b_P_tr_betachisq; //! + TBranch *b_Ndata_P_tr_chi2; //! + TBranch *b_P_tr_chi2; //! + TBranch *b_Ndata_P_tr_d_ph; //! + TBranch *b_P_tr_d_ph; //! + TBranch *b_Ndata_P_tr_d_th; //! + TBranch *b_P_tr_d_th; //! + TBranch *b_Ndata_P_tr_d_x; //! + TBranch *b_P_tr_d_x; //! + TBranch *b_Ndata_P_tr_d_y; //! + TBranch *b_P_tr_d_y; //! + TBranch *b_Ndata_P_tr_dbeta; //! + TBranch *b_P_tr_dbeta; //! + TBranch *b_Ndata_P_tr_dtime; //! + TBranch *b_P_tr_dtime; //! + TBranch *b_Ndata_P_tr_flag; //! + TBranch *b_P_tr_flag; //! + TBranch *b_Ndata_P_tr_ndof; //! + TBranch *b_P_tr_ndof; //! + TBranch *b_Ndata_P_tr_p; //! + TBranch *b_P_tr_p; //! + TBranch *b_Ndata_P_tr_pathl; //! + TBranch *b_P_tr_pathl; //! + TBranch *b_Ndata_P_tr_ph; //! + TBranch *b_P_tr_ph; //! + TBranch *b_Ndata_P_tr_px; //! + TBranch *b_P_tr_px; //! + TBranch *b_Ndata_P_tr_py; //! + TBranch *b_P_tr_py; //! + TBranch *b_Ndata_P_tr_pz; //! + TBranch *b_P_tr_pz; //! + TBranch *b_Ndata_P_tr_r_ph; //! + TBranch *b_P_tr_r_ph; //! + TBranch *b_Ndata_P_tr_r_th; //! + TBranch *b_P_tr_r_th; //! + TBranch *b_Ndata_P_tr_r_x; //! + TBranch *b_P_tr_r_x; //! + TBranch *b_Ndata_P_tr_r_y; //! + TBranch *b_P_tr_r_y; //! + TBranch *b_Ndata_P_tr_tg_dp; //! + TBranch *b_P_tr_tg_dp; //! + TBranch *b_Ndata_P_tr_tg_ph; //! + TBranch *b_P_tr_tg_ph; //! + TBranch *b_Ndata_P_tr_tg_th; //! + TBranch *b_P_tr_tg_th; //! + TBranch *b_Ndata_P_tr_tg_y; //! + TBranch *b_P_tr_tg_y; //! + TBranch *b_Ndata_P_tr_th; //! + TBranch *b_P_tr_th; //! + TBranch *b_Ndata_P_tr_time; //! + TBranch *b_P_tr_time; //! + TBranch *b_Ndata_P_tr_vx; //! + TBranch *b_P_tr_vx; //! + TBranch *b_Ndata_P_tr_vy; //! + TBranch *b_P_tr_vy; //! + TBranch *b_Ndata_P_tr_vz; //! + TBranch *b_P_tr_vz; //! + TBranch *b_Ndata_P_tr_x; //! + TBranch *b_P_tr_x; //! + TBranch *b_Ndata_P_tr_y; //! + TBranch *b_P_tr_y; //! + TBranch *b_P_aero_negNpeSum; //! + TBranch *b_P_aero_npeSum; //! + TBranch *b_P_aero_posNpeSum; //! + TBranch *b_P_aero_totNumGoodNegAdcHits; //! + TBranch *b_P_aero_totNumGoodPosAdcHits; //! + TBranch *b_P_aero_totNumTracksFired; //! + TBranch *b_P_aero_totNumTracksMatched; //! + TBranch *b_P_aero_totnumGoodAdcHits; //! + TBranch *b_P_cal_etot; //! + TBranch *b_P_cal_etotnorm; //! + TBranch *b_P_cal_etrack; //! + TBranch *b_P_cal_etracknorm; //! + TBranch *b_P_cal_fly_earray; //! + TBranch *b_P_cal_fly_nclust; //! + TBranch *b_P_cal_fly_nghits; //! + TBranch *b_P_cal_fly_nhits; //! + TBranch *b_P_cal_fly_ntracks; //! + TBranch *b_P_cal_nblock_high_ene; //! + TBranch *b_P_cal_nclust; //! + TBranch *b_P_cal_nclustarraytrack; //! + TBranch *b_P_cal_nclusttrack; //! + TBranch *b_P_cal_nhits; //! + TBranch *b_P_cal_ntracks; //! + TBranch *b_P_cal_pr_eplane; //! + TBranch *b_P_cal_pr_eplane_neg; //! + TBranch *b_P_cal_pr_eplane_pos; //! + TBranch *b_P_cal_sizeclustarray; //! + TBranch *b_P_cal_xclustarraytrack; //! + TBranch *b_P_cal_xclusttrack; //! + TBranch *b_P_cal_xtrack; //! + TBranch *b_P_cal_xtrackarray; //! + TBranch *b_P_cal_yclustarraytrack; //! + TBranch *b_P_cal_yclusttrack; //! + TBranch *b_P_cal_ytrack; //! + TBranch *b_P_cal_ytrackarray; //! + TBranch *b_P_dc_1u1_nhit; //! + TBranch *b_P_dc_1u2_nhit; //! + TBranch *b_P_dc_1v1_nhit; //! + TBranch *b_P_dc_1v2_nhit; //! + TBranch *b_P_dc_1x1_nhit; //! + TBranch *b_P_dc_1x2_nhit; //! + TBranch *b_P_dc_2u1_nhit; //! + TBranch *b_P_dc_2u2_nhit; //! + TBranch *b_P_dc_2v1_nhit; //! + TBranch *b_P_dc_2v2_nhit; //! + TBranch *b_P_dc_2x1_nhit; //! + TBranch *b_P_dc_2x2_nhit; //! + TBranch *b_P_dc_Ch1_maxhits; //! + TBranch *b_P_dc_Ch1_nhit; //! + TBranch *b_P_dc_Ch1_spacepoints; //! + TBranch *b_P_dc_Ch1_trawhit; //! + TBranch *b_P_dc_Ch2_maxhits; //! + TBranch *b_P_dc_Ch2_nhit; //! + TBranch *b_P_dc_Ch2_spacepoints; //! + TBranch *b_P_dc_Ch2_trawhit; //! + TBranch *b_P_dc_nhit; //! + TBranch *b_P_dc_nsp; //! + TBranch *b_P_dc_ntrack; //! + TBranch *b_P_dc_stubtest; //! + TBranch *b_P_dc_tnhit; //! + TBranch *b_P_dc_trawhit; //! + TBranch *b_P_dc_x_fp; //! + TBranch *b_P_dc_xp_fp; //! + TBranch *b_P_dc_y_fp; //! + TBranch *b_P_dc_yp_fp; //! + TBranch *b_P_hgcer_npeSum; //! + TBranch *b_P_hgcer_totNumGoodAdcHits; //! + TBranch *b_P_hgcer_totNumTracksFired; //! + TBranch *b_P_hgcer_totNumTracksMatched; //! + TBranch *b_P_hod_1x_fptime; //! + TBranch *b_P_hod_1x_ngoodhits; //! + TBranch *b_P_hod_1x_nhits; //! + TBranch *b_P_hod_1y_fptime; //! + TBranch *b_P_hod_1y_ngoodhits; //! + TBranch *b_P_hod_1y_nhits; //! + TBranch *b_P_hod_2x_fptime; //! + TBranch *b_P_hod_2x_ngoodhits; //! + TBranch *b_P_hod_2x_nhits; //! + TBranch *b_P_hod_2y_fptime; //! + TBranch *b_P_hod_2y_ngoodhits; //! + TBranch *b_P_hod_2y_nhits; //! + TBranch *b_P_hod_beta; //! + TBranch *b_P_hod_betachisqnotrack; //! + TBranch *b_P_hod_betanotrack; //! + TBranch *b_P_hod_fpHitsTime; //! + TBranch *b_P_hod_goodscinhit; //! + TBranch *b_P_hod_goodstarttime; //! + TBranch *b_P_hod_starttime; //! + TBranch *b_P_ngcer_npeSum; //! + TBranch *b_P_ngcer_totNumGoodAdcHits; //! + TBranch *b_P_ngcer_totNumTracksFired; //! + TBranch *b_P_ngcer_totNumTracksMatched; //! + TBranch *b_P_tr_n; //! + TBranch *b_T_shms_p1T_tdcMultiplicity; //! + TBranch *b_T_shms_p1T_tdcTime; //! + TBranch *b_T_shms_p1T_tdcTimeRaw; //! + TBranch *b_T_shms_p1X_tdcMultiplicity; //! + TBranch *b_T_shms_p1X_tdcTime; //! + TBranch *b_T_shms_p1X_tdcTimeRaw; //! + TBranch *b_T_shms_p1Y_tdcMultiplicity; //! + TBranch *b_T_shms_p1Y_tdcTime; //! + TBranch *b_T_shms_p1Y_tdcTimeRaw; //! + TBranch *b_T_shms_p2T_tdcMultiplicity; //! + TBranch *b_T_shms_p2T_tdcTime; //! + TBranch *b_T_shms_p2T_tdcTimeRaw; //! + TBranch *b_T_shms_p2X_tdcMultiplicity; //! + TBranch *b_T_shms_p2X_tdcTime; //! + TBranch *b_T_shms_p2X_tdcTimeRaw; //! + TBranch *b_T_shms_p2Y_tdcMultiplicity; //! + TBranch *b_T_shms_p2Y_tdcTime; //! + TBranch *b_T_shms_p2Y_tdcTimeRaw; //! + TBranch *b_T_shms_pAERSUM_adcMultiplicity; //! + TBranch *b_T_shms_pAERSUM_adcPed; //! + TBranch *b_T_shms_pAERSUM_adcPedRaw; //! + TBranch *b_T_shms_pAERSUM_adcPulseAmp; //! + TBranch *b_T_shms_pAERSUM_adcPulseAmpRaw; //! + TBranch *b_T_shms_pAERSUM_adcPulseInt; //! + TBranch *b_T_shms_pAERSUM_adcPulseIntRaw; //! + TBranch *b_T_shms_pAERSUM_adcPulseTimeRaw; //! + TBranch *b_T_shms_pAERSUM_tdcMultiplicity; //! + TBranch *b_T_shms_pAERSUM_tdcTime; //! + TBranch *b_T_shms_pAERSUM_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF10_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF10_tdcTime; //! + TBranch *b_T_shms_pDCREF10_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF1_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF1_tdcTime; //! + TBranch *b_T_shms_pDCREF1_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF2_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF2_tdcTime; //! + TBranch *b_T_shms_pDCREF2_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF3_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF3_tdcTime; //! + TBranch *b_T_shms_pDCREF3_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF4_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF4_tdcTime; //! + TBranch *b_T_shms_pDCREF4_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF5_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF5_tdcTime; //! + TBranch *b_T_shms_pDCREF5_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF6_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF6_tdcTime; //! + TBranch *b_T_shms_pDCREF6_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF7_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF7_tdcTime; //! + TBranch *b_T_shms_pDCREF7_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF8_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF8_tdcTime; //! + TBranch *b_T_shms_pDCREF8_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF9_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF9_tdcTime; //! + TBranch *b_T_shms_pDCREF9_tdcTimeRaw; //! + TBranch *b_T_shms_pHGCSUM_adcMultiplicity; //! + TBranch *b_T_shms_pHGCSUM_adcPed; //! + TBranch *b_T_shms_pHGCSUM_adcPedRaw; //! + TBranch *b_T_shms_pHGCSUM_adcPulseAmp; //! + TBranch *b_T_shms_pHGCSUM_adcPulseAmpRaw; //! + TBranch *b_T_shms_pHGCSUM_adcPulseInt; //! + TBranch *b_T_shms_pHGCSUM_adcPulseIntRaw; //! + TBranch *b_T_shms_pHGCSUM_adcPulseTimeRaw; //! + TBranch *b_T_shms_pHGCSUM_tdcMultiplicity; //! + TBranch *b_T_shms_pHGCSUM_tdcTime; //! + TBranch *b_T_shms_pHGCSUM_tdcTimeRaw; //! + TBranch *b_T_shms_pNGCSUM_adcMultiplicity; //! + TBranch *b_T_shms_pNGCSUM_adcPed; //! + TBranch *b_T_shms_pNGCSUM_adcPedRaw; //! + TBranch *b_T_shms_pNGCSUM_adcPulseAmp; //! + TBranch *b_T_shms_pNGCSUM_adcPulseAmpRaw; //! + TBranch *b_T_shms_pNGCSUM_adcPulseInt; //! + TBranch *b_T_shms_pNGCSUM_adcPulseIntRaw; //! + TBranch *b_T_shms_pNGCSUM_adcPulseTimeRaw; //! + TBranch *b_T_shms_pNGCSUM_tdcMultiplicity; //! + TBranch *b_T_shms_pNGCSUM_tdcTime; //! + TBranch *b_T_shms_pNGCSUM_tdcTimeRaw; //! + TBranch *b_T_shms_pT1_tdcMultiplicity; //! + TBranch *b_T_shms_pT1_tdcTime; //! + TBranch *b_T_shms_pT1_tdcTimeRaw; //! + TBranch *b_T_shms_pT2_tdcMultiplicity; //! + TBranch *b_T_shms_pT2_tdcTime; //! + TBranch *b_T_shms_pT2_tdcTimeRaw; //! + TBranch *b_T_shms_pT3_tdcMultiplicity; //! + TBranch *b_T_shms_pT3_tdcTime; //! + TBranch *b_T_shms_pT3_tdcTimeRaw; //! + TBranch *b_Event_Branch_fEvtHdr_fEvtTime; //! + TBranch *b_Event_Branch_fEvtHdr_fEvtNum; //! + TBranch *b_Event_Branch_fEvtHdr_fEvtType; //! + TBranch *b_Event_Branch_fEvtHdr_fEvtLen; //! + TBranch *b_Event_Branch_fEvtHdr_fHelicity; //! + TBranch *b_Event_Branch_fEvtHdr_fTargetPol; //! + TBranch *b_Event_Branch_fEvtHdr_fRun; //! + + calibration(TTree * /*tree*/ =0) : fChain(0), fNumberOfEvents(0), fhgc_pmts(4), fhgc_zpos(156.27), fngc_pmts(4), fngc_zpos(-89.1) { } + virtual ~calibration() { } + virtual Int_t Version() const { return 2; } + virtual void Begin(TTree *tree); + virtual void SlaveBegin(TTree *tree); + virtual void Init(TTree *tree); + virtual Bool_t Notify(); + virtual Bool_t Process(Long64_t entry); + virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0) { return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0; } + virtual void SetOption(const char *option) { fOption = option; } + virtual void SetObject(TObject *obj) { fObject = obj; } + virtual void SetInputList(TList *input) { fInput = input; } + virtual TList *GetOutputList() const { return fOutput; } + virtual void SlaveTerminate(); + virtual void Terminate(); + + ClassDef(calibration,0); +}; + +#endif + +#ifdef calibration_cxx +void calibration::Init(TTree *tree) +{ + // The Init() function is called when the selector needs to initialize + // a new tree or chain. Typically here the branch addresses and branch + // pointers of the tree will be set. + // It is normally not necessary to make changes to the generated + // code, but the routine can be extended by the user if needed. + // Init() will be called many times when running on PROOF + // (once per file to be processed). + + // Set branch addresses and branch pointers + if (!tree) return; + fChain = tree; + fChain->SetMakeClass(1); + + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPed", &Ndata_P_aero_goodNegAdcPed, &b_Ndata_P_aero_goodNegAdcPed); + fChain->SetBranchAddress("P.aero.goodNegAdcPed", P_aero_goodNegAdcPed, &b_P_aero_goodNegAdcPed); + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPulseAmp", &Ndata_P_aero_goodNegAdcPulseAmp, &b_Ndata_P_aero_goodNegAdcPulseAmp); + fChain->SetBranchAddress("P.aero.goodNegAdcPulseAmp", P_aero_goodNegAdcPulseAmp, &b_P_aero_goodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPulseInt", &Ndata_P_aero_goodNegAdcPulseInt, &b_Ndata_P_aero_goodNegAdcPulseInt); + fChain->SetBranchAddress("P.aero.goodNegAdcPulseInt", P_aero_goodNegAdcPulseInt, &b_P_aero_goodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPulseIntRaw", &Ndata_P_aero_goodNegAdcPulseIntRaw, &b_Ndata_P_aero_goodNegAdcPulseIntRaw); + fChain->SetBranchAddress("P.aero.goodNegAdcPulseIntRaw", P_aero_goodNegAdcPulseIntRaw, &b_P_aero_goodNegAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPulseTime", &Ndata_P_aero_goodNegAdcPulseTime, &b_Ndata_P_aero_goodNegAdcPulseTime); + fChain->SetBranchAddress("P.aero.goodNegAdcPulseTime", P_aero_goodNegAdcPulseTime, &b_P_aero_goodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPed", &Ndata_P_aero_goodPosAdcPed, &b_Ndata_P_aero_goodPosAdcPed); + fChain->SetBranchAddress("P.aero.goodPosAdcPed", P_aero_goodPosAdcPed, &b_P_aero_goodPosAdcPed); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPulseAmp", &Ndata_P_aero_goodPosAdcPulseAmp, &b_Ndata_P_aero_goodPosAdcPulseAmp); + fChain->SetBranchAddress("P.aero.goodPosAdcPulseAmp", P_aero_goodPosAdcPulseAmp, &b_P_aero_goodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPulseInt", &Ndata_P_aero_goodPosAdcPulseInt, &b_Ndata_P_aero_goodPosAdcPulseInt); + fChain->SetBranchAddress("P.aero.goodPosAdcPulseInt", P_aero_goodPosAdcPulseInt, &b_P_aero_goodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPulseIntRaw", &Ndata_P_aero_goodPosAdcPulseIntRaw, &b_Ndata_P_aero_goodPosAdcPulseIntRaw); + fChain->SetBranchAddress("P.aero.goodPosAdcPulseIntRaw", P_aero_goodPosAdcPulseIntRaw, &b_P_aero_goodPosAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPulseTime", &Ndata_P_aero_goodPosAdcPulseTime, &b_Ndata_P_aero_goodPosAdcPulseTime); + fChain->SetBranchAddress("P.aero.goodPosAdcPulseTime", P_aero_goodPosAdcPulseTime, &b_P_aero_goodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.aero.negAdcCounter", &Ndata_P_aero_negAdcCounter, &b_Ndata_P_aero_negAdcCounter); + fChain->SetBranchAddress("P.aero.negAdcCounter", P_aero_negAdcCounter, &b_P_aero_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.aero.negAdcErrorFlag", &Ndata_P_aero_negAdcErrorFlag, &b_Ndata_P_aero_negAdcErrorFlag); + fChain->SetBranchAddress("P.aero.negAdcErrorFlag", P_aero_negAdcErrorFlag, &b_P_aero_negAdcErrorFlag); + fChain->SetBranchAddress("Ndata.P.aero.negNpe", &Ndata_P_aero_negNpe, &b_Ndata_P_aero_negNpe); + fChain->SetBranchAddress("P.aero.negNpe", P_aero_negNpe, &b_P_aero_negNpe); + fChain->SetBranchAddress("Ndata.P.aero.numGoodNegAdcHits", &Ndata_P_aero_numGoodNegAdcHits, &b_Ndata_P_aero_numGoodNegAdcHits); + fChain->SetBranchAddress("P.aero.numGoodNegAdcHits", P_aero_numGoodNegAdcHits, &b_P_aero_numGoodNegAdcHits); + fChain->SetBranchAddress("Ndata.P.aero.numGoodPosAdcHits", &Ndata_P_aero_numGoodPosAdcHits, &b_Ndata_P_aero_numGoodPosAdcHits); + fChain->SetBranchAddress("P.aero.numGoodPosAdcHits", P_aero_numGoodPosAdcHits, &b_P_aero_numGoodPosAdcHits); + fChain->SetBranchAddress("Ndata.P.aero.numTracksFired", &Ndata_P_aero_numTracksFired, &b_Ndata_P_aero_numTracksFired); + fChain->SetBranchAddress("P.aero.numTracksFired", P_aero_numTracksFired, &b_P_aero_numTracksFired); + fChain->SetBranchAddress("Ndata.P.aero.numTracksMatched", &Ndata_P_aero_numTracksMatched, &b_Ndata_P_aero_numTracksMatched); + fChain->SetBranchAddress("P.aero.numTracksMatched", P_aero_numTracksMatched, &b_P_aero_numTracksMatched); + fChain->SetBranchAddress("Ndata.P.aero.posAdcCounter", &Ndata_P_aero_posAdcCounter, &b_Ndata_P_aero_posAdcCounter); + fChain->SetBranchAddress("P.aero.posAdcCounter", P_aero_posAdcCounter, &b_P_aero_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.aero.posAdcErrorFlag", &Ndata_P_aero_posAdcErrorFlag, &b_Ndata_P_aero_posAdcErrorFlag); + fChain->SetBranchAddress("P.aero.posAdcErrorFlag", P_aero_posAdcErrorFlag, &b_P_aero_posAdcErrorFlag); + fChain->SetBranchAddress("Ndata.P.aero.posNpe", &Ndata_P_aero_posNpe, &b_Ndata_P_aero_posNpe); + fChain->SetBranchAddress("P.aero.posNpe", P_aero_posNpe, &b_P_aero_posNpe); + fChain->SetBranchAddress("Ndata.P.cal.fly.a", &Ndata_P_cal_fly_a, &b_Ndata_P_cal_fly_a); + fChain->SetBranchAddress("P.cal.fly.a", P_cal_fly_a, &b_P_cal_fly_a); + fChain->SetBranchAddress("Ndata.P.cal.fly.a_p", &Ndata_P_cal_fly_a_p, &b_Ndata_P_cal_fly_a_p); + fChain->SetBranchAddress("P.cal.fly.a_p", P_cal_fly_a_p, &b_P_cal_fly_a_p); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcCounter", &Ndata_P_cal_fly_adcCounter, &b_Ndata_P_cal_fly_adcCounter); + fChain->SetBranchAddress("P.cal.fly.adcCounter", P_cal_fly_adcCounter, &b_P_cal_fly_adcCounter); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcErrorFlag", &Ndata_P_cal_fly_adcErrorFlag, &b_Ndata_P_cal_fly_adcErrorFlag); + fChain->SetBranchAddress("P.cal.fly.adcErrorFlag", P_cal_fly_adcErrorFlag, &b_P_cal_fly_adcErrorFlag); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPed", &Ndata_P_cal_fly_adcPed, &b_Ndata_P_cal_fly_adcPed); + fChain->SetBranchAddress("P.cal.fly.adcPed", P_cal_fly_adcPed, &b_P_cal_fly_adcPed); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPedRaw", &Ndata_P_cal_fly_adcPedRaw, &b_Ndata_P_cal_fly_adcPedRaw); + fChain->SetBranchAddress("P.cal.fly.adcPedRaw", P_cal_fly_adcPedRaw, &b_P_cal_fly_adcPedRaw); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseAmp", &Ndata_P_cal_fly_adcPulseAmp, &b_Ndata_P_cal_fly_adcPulseAmp); + fChain->SetBranchAddress("P.cal.fly.adcPulseAmp", P_cal_fly_adcPulseAmp, &b_P_cal_fly_adcPulseAmp); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseAmpRaw", &Ndata_P_cal_fly_adcPulseAmpRaw, &b_Ndata_P_cal_fly_adcPulseAmpRaw); + fChain->SetBranchAddress("P.cal.fly.adcPulseAmpRaw", P_cal_fly_adcPulseAmpRaw, &b_P_cal_fly_adcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseInt", &Ndata_P_cal_fly_adcPulseInt, &b_Ndata_P_cal_fly_adcPulseInt); + fChain->SetBranchAddress("P.cal.fly.adcPulseInt", P_cal_fly_adcPulseInt, &b_P_cal_fly_adcPulseInt); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseIntRaw", &Ndata_P_cal_fly_adcPulseIntRaw, &b_Ndata_P_cal_fly_adcPulseIntRaw); + fChain->SetBranchAddress("P.cal.fly.adcPulseIntRaw", P_cal_fly_adcPulseIntRaw, &b_P_cal_fly_adcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseTimeRaw", &Ndata_P_cal_fly_adcPulseTimeRaw, &b_Ndata_P_cal_fly_adcPulseTimeRaw); + fChain->SetBranchAddress("P.cal.fly.adcPulseTimeRaw", P_cal_fly_adcPulseTimeRaw, &b_P_cal_fly_adcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.cal.fly.adchits", &Ndata_P_cal_fly_adchits, &b_Ndata_P_cal_fly_adchits); + fChain->SetBranchAddress("P.cal.fly.adchits", &P_cal_fly_adchits, &b_P_cal_fly_adchits); + fChain->SetBranchAddress("Ndata.P.cal.fly.block_clusterID", &Ndata_P_cal_fly_block_clusterID, &b_Ndata_P_cal_fly_block_clusterID); + fChain->SetBranchAddress("P.cal.fly.block_clusterID", P_cal_fly_block_clusterID, &b_P_cal_fly_block_clusterID); + fChain->SetBranchAddress("Ndata.P.cal.fly.e", &Ndata_P_cal_fly_e, &b_Ndata_P_cal_fly_e); + fChain->SetBranchAddress("P.cal.fly.e", P_cal_fly_e, &b_P_cal_fly_e); + fChain->SetBranchAddress("Ndata.P.cal.fly.p", &Ndata_P_cal_fly_p, &b_Ndata_P_cal_fly_p); + fChain->SetBranchAddress("P.cal.fly.p", P_cal_fly_p, &b_P_cal_fly_p); + fChain->SetBranchAddress("Ndata.P.cal.pr.aneg", &Ndata_P_cal_pr_aneg, &b_Ndata_P_cal_pr_aneg); + fChain->SetBranchAddress("P.cal.pr.aneg", P_cal_pr_aneg, &b_P_cal_pr_aneg); + fChain->SetBranchAddress("Ndata.P.cal.pr.aneg_p", &Ndata_P_cal_pr_aneg_p, &b_Ndata_P_cal_pr_aneg_p); + fChain->SetBranchAddress("P.cal.pr.aneg_p", P_cal_pr_aneg_p, &b_P_cal_pr_aneg_p); + fChain->SetBranchAddress("Ndata.P.cal.pr.apos", &Ndata_P_cal_pr_apos, &b_Ndata_P_cal_pr_apos); + fChain->SetBranchAddress("P.cal.pr.apos", P_cal_pr_apos, &b_P_cal_pr_apos); + fChain->SetBranchAddress("Ndata.P.cal.pr.apos_p", &Ndata_P_cal_pr_apos_p, &b_Ndata_P_cal_pr_apos_p); + fChain->SetBranchAddress("P.cal.pr.apos_p", P_cal_pr_apos_p, &b_P_cal_pr_apos_p); + fChain->SetBranchAddress("Ndata.P.cal.pr.emean", &Ndata_P_cal_pr_emean, &b_Ndata_P_cal_pr_emean); + fChain->SetBranchAddress("P.cal.pr.emean", P_cal_pr_emean, &b_P_cal_pr_emean); + fChain->SetBranchAddress("Ndata.P.cal.pr.eneg", &Ndata_P_cal_pr_eneg, &b_Ndata_P_cal_pr_eneg); + fChain->SetBranchAddress("P.cal.pr.eneg", P_cal_pr_eneg, &b_P_cal_pr_eneg); + fChain->SetBranchAddress("Ndata.P.cal.pr.epos", &Ndata_P_cal_pr_epos, &b_Ndata_P_cal_pr_epos); + fChain->SetBranchAddress("P.cal.pr.epos", P_cal_pr_epos, &b_P_cal_pr_epos); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcCounter", &Ndata_P_cal_pr_negAdcCounter, &b_Ndata_P_cal_pr_negAdcCounter); + fChain->SetBranchAddress("P.cal.pr.negAdcCounter", P_cal_pr_negAdcCounter, &b_P_cal_pr_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcErrorFlag", &Ndata_P_cal_pr_negAdcErrorFlag, &b_Ndata_P_cal_pr_negAdcErrorFlag); + fChain->SetBranchAddress("P.cal.pr.negAdcErrorFlag", P_cal_pr_negAdcErrorFlag, &b_P_cal_pr_negAdcErrorFlag); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPed", &Ndata_P_cal_pr_negAdcPed, &b_Ndata_P_cal_pr_negAdcPed); + fChain->SetBranchAddress("P.cal.pr.negAdcPed", P_cal_pr_negAdcPed, &b_P_cal_pr_negAdcPed); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPedRaw", &Ndata_P_cal_pr_negAdcPedRaw, &b_Ndata_P_cal_pr_negAdcPedRaw); + fChain->SetBranchAddress("P.cal.pr.negAdcPedRaw", P_cal_pr_negAdcPedRaw, &b_P_cal_pr_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseAmp", &Ndata_P_cal_pr_negAdcPulseAmp, &b_Ndata_P_cal_pr_negAdcPulseAmp); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseAmp", P_cal_pr_negAdcPulseAmp, &b_P_cal_pr_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseAmpRaw", &Ndata_P_cal_pr_negAdcPulseAmpRaw, &b_Ndata_P_cal_pr_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseAmpRaw", P_cal_pr_negAdcPulseAmpRaw, &b_P_cal_pr_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseInt", &Ndata_P_cal_pr_negAdcPulseInt, &b_Ndata_P_cal_pr_negAdcPulseInt); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseInt", P_cal_pr_negAdcPulseInt, &b_P_cal_pr_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseIntRaw", &Ndata_P_cal_pr_negAdcPulseIntRaw, &b_Ndata_P_cal_pr_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseIntRaw", P_cal_pr_negAdcPulseIntRaw, &b_P_cal_pr_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseTimeRaw", &Ndata_P_cal_pr_negAdcPulseTimeRaw, &b_Ndata_P_cal_pr_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseTimeRaw", P_cal_pr_negAdcPulseTimeRaw, &b_P_cal_pr_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.negadchits", &Ndata_P_cal_pr_negadchits, &b_Ndata_P_cal_pr_negadchits); + fChain->SetBranchAddress("P.cal.pr.negadchits", &P_cal_pr_negadchits, &b_P_cal_pr_negadchits); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcCounter", &Ndata_P_cal_pr_posAdcCounter, &b_Ndata_P_cal_pr_posAdcCounter); + fChain->SetBranchAddress("P.cal.pr.posAdcCounter", P_cal_pr_posAdcCounter, &b_P_cal_pr_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcErrorFlag", &Ndata_P_cal_pr_posAdcErrorFlag, &b_Ndata_P_cal_pr_posAdcErrorFlag); + fChain->SetBranchAddress("P.cal.pr.posAdcErrorFlag", P_cal_pr_posAdcErrorFlag, &b_P_cal_pr_posAdcErrorFlag); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPed", &Ndata_P_cal_pr_posAdcPed, &b_Ndata_P_cal_pr_posAdcPed); + fChain->SetBranchAddress("P.cal.pr.posAdcPed", P_cal_pr_posAdcPed, &b_P_cal_pr_posAdcPed); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPedRaw", &Ndata_P_cal_pr_posAdcPedRaw, &b_Ndata_P_cal_pr_posAdcPedRaw); + fChain->SetBranchAddress("P.cal.pr.posAdcPedRaw", P_cal_pr_posAdcPedRaw, &b_P_cal_pr_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseAmp", &Ndata_P_cal_pr_posAdcPulseAmp, &b_Ndata_P_cal_pr_posAdcPulseAmp); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseAmp", P_cal_pr_posAdcPulseAmp, &b_P_cal_pr_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseAmpRaw", &Ndata_P_cal_pr_posAdcPulseAmpRaw, &b_Ndata_P_cal_pr_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseAmpRaw", P_cal_pr_posAdcPulseAmpRaw, &b_P_cal_pr_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseInt", &Ndata_P_cal_pr_posAdcPulseInt, &b_Ndata_P_cal_pr_posAdcPulseInt); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseInt", P_cal_pr_posAdcPulseInt, &b_P_cal_pr_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseIntRaw", &Ndata_P_cal_pr_posAdcPulseIntRaw, &b_Ndata_P_cal_pr_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseIntRaw", P_cal_pr_posAdcPulseIntRaw, &b_P_cal_pr_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseTimeRaw", &Ndata_P_cal_pr_posAdcPulseTimeRaw, &b_Ndata_P_cal_pr_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseTimeRaw", P_cal_pr_posAdcPulseTimeRaw, &b_P_cal_pr_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.posadchits", &Ndata_P_cal_pr_posadchits, &b_Ndata_P_cal_pr_posadchits); + fChain->SetBranchAddress("P.cal.pr.posadchits", &P_cal_pr_posadchits, &b_P_cal_pr_posadchits); + fChain->SetBranchAddress("Ndata.P.dc.1u1.dist", &Ndata_P_dc_1u1_dist, &b_Ndata_P_dc_1u1_dist); + fChain->SetBranchAddress("P.dc.1u1.dist", P_dc_1u1_dist, &b_P_dc_1u1_dist); + fChain->SetBranchAddress("Ndata.P.dc.1u1.rawtdc", &Ndata_P_dc_1u1_rawtdc, &b_Ndata_P_dc_1u1_rawtdc); + fChain->SetBranchAddress("P.dc.1u1.rawtdc", P_dc_1u1_rawtdc, &b_P_dc_1u1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1u1.time", &Ndata_P_dc_1u1_time, &b_Ndata_P_dc_1u1_time); + fChain->SetBranchAddress("P.dc.1u1.time", P_dc_1u1_time, &b_P_dc_1u1_time); + fChain->SetBranchAddress("Ndata.P.dc.1u1.wirenum", &Ndata_P_dc_1u1_wirenum, &b_Ndata_P_dc_1u1_wirenum); + fChain->SetBranchAddress("P.dc.1u1.wirenum", P_dc_1u1_wirenum, &b_P_dc_1u1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1u2.dist", &Ndata_P_dc_1u2_dist, &b_Ndata_P_dc_1u2_dist); + fChain->SetBranchAddress("P.dc.1u2.dist", P_dc_1u2_dist, &b_P_dc_1u2_dist); + fChain->SetBranchAddress("Ndata.P.dc.1u2.rawtdc", &Ndata_P_dc_1u2_rawtdc, &b_Ndata_P_dc_1u2_rawtdc); + fChain->SetBranchAddress("P.dc.1u2.rawtdc", P_dc_1u2_rawtdc, &b_P_dc_1u2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1u2.time", &Ndata_P_dc_1u2_time, &b_Ndata_P_dc_1u2_time); + fChain->SetBranchAddress("P.dc.1u2.time", P_dc_1u2_time, &b_P_dc_1u2_time); + fChain->SetBranchAddress("Ndata.P.dc.1u2.wirenum", &Ndata_P_dc_1u2_wirenum, &b_Ndata_P_dc_1u2_wirenum); + fChain->SetBranchAddress("P.dc.1u2.wirenum", P_dc_1u2_wirenum, &b_P_dc_1u2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1v1.dist", &Ndata_P_dc_1v1_dist, &b_Ndata_P_dc_1v1_dist); + fChain->SetBranchAddress("P.dc.1v1.dist", P_dc_1v1_dist, &b_P_dc_1v1_dist); + fChain->SetBranchAddress("Ndata.P.dc.1v1.rawtdc", &Ndata_P_dc_1v1_rawtdc, &b_Ndata_P_dc_1v1_rawtdc); + fChain->SetBranchAddress("P.dc.1v1.rawtdc", P_dc_1v1_rawtdc, &b_P_dc_1v1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1v1.time", &Ndata_P_dc_1v1_time, &b_Ndata_P_dc_1v1_time); + fChain->SetBranchAddress("P.dc.1v1.time", P_dc_1v1_time, &b_P_dc_1v1_time); + fChain->SetBranchAddress("Ndata.P.dc.1v1.wirenum", &Ndata_P_dc_1v1_wirenum, &b_Ndata_P_dc_1v1_wirenum); + fChain->SetBranchAddress("P.dc.1v1.wirenum", P_dc_1v1_wirenum, &b_P_dc_1v1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1v2.dist", &Ndata_P_dc_1v2_dist, &b_Ndata_P_dc_1v2_dist); + fChain->SetBranchAddress("P.dc.1v2.dist", P_dc_1v2_dist, &b_P_dc_1v2_dist); + fChain->SetBranchAddress("Ndata.P.dc.1v2.rawtdc", &Ndata_P_dc_1v2_rawtdc, &b_Ndata_P_dc_1v2_rawtdc); + fChain->SetBranchAddress("P.dc.1v2.rawtdc", P_dc_1v2_rawtdc, &b_P_dc_1v2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1v2.time", &Ndata_P_dc_1v2_time, &b_Ndata_P_dc_1v2_time); + fChain->SetBranchAddress("P.dc.1v2.time", P_dc_1v2_time, &b_P_dc_1v2_time); + fChain->SetBranchAddress("Ndata.P.dc.1v2.wirenum", &Ndata_P_dc_1v2_wirenum, &b_Ndata_P_dc_1v2_wirenum); + fChain->SetBranchAddress("P.dc.1v2.wirenum", P_dc_1v2_wirenum, &b_P_dc_1v2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1x1.dist", &Ndata_P_dc_1x1_dist, &b_Ndata_P_dc_1x1_dist); + fChain->SetBranchAddress("P.dc.1x1.dist", P_dc_1x1_dist, &b_P_dc_1x1_dist); + fChain->SetBranchAddress("Ndata.P.dc.1x1.rawtdc", &Ndata_P_dc_1x1_rawtdc, &b_Ndata_P_dc_1x1_rawtdc); + fChain->SetBranchAddress("P.dc.1x1.rawtdc", P_dc_1x1_rawtdc, &b_P_dc_1x1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1x1.time", &Ndata_P_dc_1x1_time, &b_Ndata_P_dc_1x1_time); + fChain->SetBranchAddress("P.dc.1x1.time", P_dc_1x1_time, &b_P_dc_1x1_time); + fChain->SetBranchAddress("Ndata.P.dc.1x1.wirenum", &Ndata_P_dc_1x1_wirenum, &b_Ndata_P_dc_1x1_wirenum); + fChain->SetBranchAddress("P.dc.1x1.wirenum", P_dc_1x1_wirenum, &b_P_dc_1x1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1x2.dist", &Ndata_P_dc_1x2_dist, &b_Ndata_P_dc_1x2_dist); + fChain->SetBranchAddress("P.dc.1x2.dist", P_dc_1x2_dist, &b_P_dc_1x2_dist); + fChain->SetBranchAddress("Ndata.P.dc.1x2.rawtdc", &Ndata_P_dc_1x2_rawtdc, &b_Ndata_P_dc_1x2_rawtdc); + fChain->SetBranchAddress("P.dc.1x2.rawtdc", P_dc_1x2_rawtdc, &b_P_dc_1x2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1x2.time", &Ndata_P_dc_1x2_time, &b_Ndata_P_dc_1x2_time); + fChain->SetBranchAddress("P.dc.1x2.time", P_dc_1x2_time, &b_P_dc_1x2_time); + fChain->SetBranchAddress("Ndata.P.dc.1x2.wirenum", &Ndata_P_dc_1x2_wirenum, &b_Ndata_P_dc_1x2_wirenum); + fChain->SetBranchAddress("P.dc.1x2.wirenum", P_dc_1x2_wirenum, &b_P_dc_1x2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2u1.dist", &Ndata_P_dc_2u1_dist, &b_Ndata_P_dc_2u1_dist); + fChain->SetBranchAddress("P.dc.2u1.dist", P_dc_2u1_dist, &b_P_dc_2u1_dist); + fChain->SetBranchAddress("Ndata.P.dc.2u1.rawtdc", &Ndata_P_dc_2u1_rawtdc, &b_Ndata_P_dc_2u1_rawtdc); + fChain->SetBranchAddress("P.dc.2u1.rawtdc", P_dc_2u1_rawtdc, &b_P_dc_2u1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2u1.time", &Ndata_P_dc_2u1_time, &b_Ndata_P_dc_2u1_time); + fChain->SetBranchAddress("P.dc.2u1.time", P_dc_2u1_time, &b_P_dc_2u1_time); + fChain->SetBranchAddress("Ndata.P.dc.2u1.wirenum", &Ndata_P_dc_2u1_wirenum, &b_Ndata_P_dc_2u1_wirenum); + fChain->SetBranchAddress("P.dc.2u1.wirenum", P_dc_2u1_wirenum, &b_P_dc_2u1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2u2.dist", &Ndata_P_dc_2u2_dist, &b_Ndata_P_dc_2u2_dist); + fChain->SetBranchAddress("P.dc.2u2.dist", P_dc_2u2_dist, &b_P_dc_2u2_dist); + fChain->SetBranchAddress("Ndata.P.dc.2u2.rawtdc", &Ndata_P_dc_2u2_rawtdc, &b_Ndata_P_dc_2u2_rawtdc); + fChain->SetBranchAddress("P.dc.2u2.rawtdc", P_dc_2u2_rawtdc, &b_P_dc_2u2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2u2.time", &Ndata_P_dc_2u2_time, &b_Ndata_P_dc_2u2_time); + fChain->SetBranchAddress("P.dc.2u2.time", P_dc_2u2_time, &b_P_dc_2u2_time); + fChain->SetBranchAddress("Ndata.P.dc.2u2.wirenum", &Ndata_P_dc_2u2_wirenum, &b_Ndata_P_dc_2u2_wirenum); + fChain->SetBranchAddress("P.dc.2u2.wirenum", P_dc_2u2_wirenum, &b_P_dc_2u2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2v1.dist", &Ndata_P_dc_2v1_dist, &b_Ndata_P_dc_2v1_dist); + fChain->SetBranchAddress("P.dc.2v1.dist", P_dc_2v1_dist, &b_P_dc_2v1_dist); + fChain->SetBranchAddress("Ndata.P.dc.2v1.rawtdc", &Ndata_P_dc_2v1_rawtdc, &b_Ndata_P_dc_2v1_rawtdc); + fChain->SetBranchAddress("P.dc.2v1.rawtdc", P_dc_2v1_rawtdc, &b_P_dc_2v1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2v1.time", &Ndata_P_dc_2v1_time, &b_Ndata_P_dc_2v1_time); + fChain->SetBranchAddress("P.dc.2v1.time", P_dc_2v1_time, &b_P_dc_2v1_time); + fChain->SetBranchAddress("Ndata.P.dc.2v1.wirenum", &Ndata_P_dc_2v1_wirenum, &b_Ndata_P_dc_2v1_wirenum); + fChain->SetBranchAddress("P.dc.2v1.wirenum", P_dc_2v1_wirenum, &b_P_dc_2v1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2v2.dist", &Ndata_P_dc_2v2_dist, &b_Ndata_P_dc_2v2_dist); + fChain->SetBranchAddress("P.dc.2v2.dist", P_dc_2v2_dist, &b_P_dc_2v2_dist); + fChain->SetBranchAddress("Ndata.P.dc.2v2.rawtdc", &Ndata_P_dc_2v2_rawtdc, &b_Ndata_P_dc_2v2_rawtdc); + fChain->SetBranchAddress("P.dc.2v2.rawtdc", P_dc_2v2_rawtdc, &b_P_dc_2v2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2v2.time", &Ndata_P_dc_2v2_time, &b_Ndata_P_dc_2v2_time); + fChain->SetBranchAddress("P.dc.2v2.time", P_dc_2v2_time, &b_P_dc_2v2_time); + fChain->SetBranchAddress("Ndata.P.dc.2v2.wirenum", &Ndata_P_dc_2v2_wirenum, &b_Ndata_P_dc_2v2_wirenum); + fChain->SetBranchAddress("P.dc.2v2.wirenum", P_dc_2v2_wirenum, &b_P_dc_2v2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2x1.dist", &Ndata_P_dc_2x1_dist, &b_Ndata_P_dc_2x1_dist); + fChain->SetBranchAddress("P.dc.2x1.dist", P_dc_2x1_dist, &b_P_dc_2x1_dist); + fChain->SetBranchAddress("Ndata.P.dc.2x1.rawtdc", &Ndata_P_dc_2x1_rawtdc, &b_Ndata_P_dc_2x1_rawtdc); + fChain->SetBranchAddress("P.dc.2x1.rawtdc", P_dc_2x1_rawtdc, &b_P_dc_2x1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2x1.time", &Ndata_P_dc_2x1_time, &b_Ndata_P_dc_2x1_time); + fChain->SetBranchAddress("P.dc.2x1.time", P_dc_2x1_time, &b_P_dc_2x1_time); + fChain->SetBranchAddress("Ndata.P.dc.2x1.wirenum", &Ndata_P_dc_2x1_wirenum, &b_Ndata_P_dc_2x1_wirenum); + fChain->SetBranchAddress("P.dc.2x1.wirenum", P_dc_2x1_wirenum, &b_P_dc_2x1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2x2.dist", &Ndata_P_dc_2x2_dist, &b_Ndata_P_dc_2x2_dist); + fChain->SetBranchAddress("P.dc.2x2.dist", P_dc_2x2_dist, &b_P_dc_2x2_dist); + fChain->SetBranchAddress("Ndata.P.dc.2x2.rawtdc", &Ndata_P_dc_2x2_rawtdc, &b_Ndata_P_dc_2x2_rawtdc); + fChain->SetBranchAddress("P.dc.2x2.rawtdc", P_dc_2x2_rawtdc, &b_P_dc_2x2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2x2.time", &Ndata_P_dc_2x2_time, &b_Ndata_P_dc_2x2_time); + fChain->SetBranchAddress("P.dc.2x2.time", P_dc_2x2_time, &b_P_dc_2x2_time); + fChain->SetBranchAddress("Ndata.P.dc.2x2.wirenum", &Ndata_P_dc_2x2_wirenum, &b_Ndata_P_dc_2x2_wirenum); + fChain->SetBranchAddress("P.dc.2x2.wirenum", P_dc_2x2_wirenum, &b_P_dc_2x2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.residual", &Ndata_P_dc_residual, &b_Ndata_P_dc_residual); + fChain->SetBranchAddress("P.dc.residual", P_dc_residual, &b_P_dc_residual); + fChain->SetBranchAddress("Ndata.P.dc.wireHitDid", &Ndata_P_dc_wireHitDid, &b_Ndata_P_dc_wireHitDid); + fChain->SetBranchAddress("P.dc.wireHitDid", P_dc_wireHitDid, &b_P_dc_wireHitDid); + fChain->SetBranchAddress("Ndata.P.dc.wireHitShould", &Ndata_P_dc_wireHitShould, &b_Ndata_P_dc_wireHitShould); + fChain->SetBranchAddress("P.dc.wireHitShould", P_dc_wireHitShould, &b_P_dc_wireHitShould); + fChain->SetBranchAddress("Ndata.P.dc.x", &Ndata_P_dc_x, &b_Ndata_P_dc_x); + fChain->SetBranchAddress("P.dc.x", P_dc_x, &b_P_dc_x); + fChain->SetBranchAddress("Ndata.P.dc.xp", &Ndata_P_dc_xp, &b_Ndata_P_dc_xp); + fChain->SetBranchAddress("P.dc.xp", P_dc_xp, &b_P_dc_xp); + fChain->SetBranchAddress("Ndata.P.dc.y", &Ndata_P_dc_y, &b_Ndata_P_dc_y); + fChain->SetBranchAddress("P.dc.y", P_dc_y, &b_P_dc_y); + fChain->SetBranchAddress("Ndata.P.dc.yp", &Ndata_P_dc_yp, &b_Ndata_P_dc_yp); + fChain->SetBranchAddress("P.dc.yp", P_dc_yp, &b_P_dc_yp); + fChain->SetBranchAddress("Ndata.P.hgcer.adcCounter", &Ndata_P_hgcer_adcCounter, &b_Ndata_P_hgcer_adcCounter); + fChain->SetBranchAddress("P.hgcer.adcCounter", P_hgcer_adcCounter, &b_P_hgcer_adcCounter); + fChain->SetBranchAddress("Ndata.P.hgcer.adcErrorFlag", &Ndata_P_hgcer_adcErrorFlag, &b_Ndata_P_hgcer_adcErrorFlag); + fChain->SetBranchAddress("P.hgcer.adcErrorFlag", P_hgcer_adcErrorFlag, &b_P_hgcer_adcErrorFlag); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPed", &Ndata_P_hgcer_goodAdcPed, &b_Ndata_P_hgcer_goodAdcPed); + fChain->SetBranchAddress("P.hgcer.goodAdcPed", P_hgcer_goodAdcPed, &b_P_hgcer_goodAdcPed); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPulseAmp", &Ndata_P_hgcer_goodAdcPulseAmp, &b_Ndata_P_hgcer_goodAdcPulseAmp); + fChain->SetBranchAddress("P.hgcer.goodAdcPulseAmp", P_hgcer_goodAdcPulseAmp, &b_P_hgcer_goodAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPulseInt", &Ndata_P_hgcer_goodAdcPulseInt, &b_Ndata_P_hgcer_goodAdcPulseInt); + fChain->SetBranchAddress("P.hgcer.goodAdcPulseInt", P_hgcer_goodAdcPulseInt, &b_P_hgcer_goodAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPulseIntRaw", &Ndata_P_hgcer_goodAdcPulseIntRaw, &b_Ndata_P_hgcer_goodAdcPulseIntRaw); + fChain->SetBranchAddress("P.hgcer.goodAdcPulseIntRaw", P_hgcer_goodAdcPulseIntRaw, &b_P_hgcer_goodAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPulseTime", &Ndata_P_hgcer_goodAdcPulseTime, &b_Ndata_P_hgcer_goodAdcPulseTime); + fChain->SetBranchAddress("P.hgcer.goodAdcPulseTime", P_hgcer_goodAdcPulseTime, &b_P_hgcer_goodAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hgcer.npe", &Ndata_P_hgcer_npe, &b_Ndata_P_hgcer_npe); + fChain->SetBranchAddress("P.hgcer.npe", P_hgcer_npe, &b_P_hgcer_npe); + fChain->SetBranchAddress("Ndata.P.hgcer.numGoodAdcHits", &Ndata_P_hgcer_numGoodAdcHits, &b_Ndata_P_hgcer_numGoodAdcHits); + fChain->SetBranchAddress("P.hgcer.numGoodAdcHits", P_hgcer_numGoodAdcHits, &b_P_hgcer_numGoodAdcHits); + fChain->SetBranchAddress("Ndata.P.hgcer.numTracksFired", &Ndata_P_hgcer_numTracksFired, &b_Ndata_P_hgcer_numTracksFired); + fChain->SetBranchAddress("P.hgcer.numTracksFired", P_hgcer_numTracksFired, &b_P_hgcer_numTracksFired); + fChain->SetBranchAddress("Ndata.P.hgcer.numTracksMatched", &Ndata_P_hgcer_numTracksMatched, &b_Ndata_P_hgcer_numTracksMatched); + fChain->SetBranchAddress("P.hgcer.numTracksMatched", P_hgcer_numTracksMatched, &b_P_hgcer_numTracksMatched); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegAdcPulseAmp", &Ndata_P_hod_1x_GoodNegAdcPulseAmp, &b_Ndata_P_hod_1x_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1x.GoodNegAdcPulseAmp", P_hod_1x_GoodNegAdcPulseAmp, &b_P_hod_1x_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegAdcPulseInt", &Ndata_P_hod_1x_GoodNegAdcPulseInt, &b_Ndata_P_hod_1x_GoodNegAdcPulseInt); + fChain->SetBranchAddress("P.hod.1x.GoodNegAdcPulseInt", P_hod_1x_GoodNegAdcPulseInt, &b_P_hod_1x_GoodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegAdcPulseTime", &Ndata_P_hod_1x_GoodNegAdcPulseTime, &b_Ndata_P_hod_1x_GoodNegAdcPulseTime); + fChain->SetBranchAddress("P.hod.1x.GoodNegAdcPulseTime", P_hod_1x_GoodNegAdcPulseTime, &b_P_hod_1x_GoodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegTdcChan", &Ndata_P_hod_1x_GoodNegTdcChan, &b_Ndata_P_hod_1x_GoodNegTdcChan); + fChain->SetBranchAddress("P.hod.1x.GoodNegTdcChan", P_hod_1x_GoodNegTdcChan, &b_P_hod_1x_GoodNegTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegTdcTimeCorr", &Ndata_P_hod_1x_GoodNegTdcTimeCorr, &b_Ndata_P_hod_1x_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("P.hod.1x.GoodNegTdcTimeCorr", P_hod_1x_GoodNegTdcTimeCorr, &b_P_hod_1x_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegTdcTimeTOFCorr", &Ndata_P_hod_1x_GoodNegTdcTimeTOFCorr, &b_Ndata_P_hod_1x_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.1x.GoodNegTdcTimeTOFCorr", P_hod_1x_GoodNegTdcTimeTOFCorr, &b_P_hod_1x_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPaddle", &Ndata_P_hod_1x_GoodPaddle, &b_Ndata_P_hod_1x_GoodPaddle); + fChain->SetBranchAddress("P.hod.1x.GoodPaddle", P_hod_1x_GoodPaddle, &b_P_hod_1x_GoodPaddle); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosAdcPulseAmp", &Ndata_P_hod_1x_GoodPosAdcPulseAmp, &b_Ndata_P_hod_1x_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1x.GoodPosAdcPulseAmp", P_hod_1x_GoodPosAdcPulseAmp, &b_P_hod_1x_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosAdcPulseInt", &Ndata_P_hod_1x_GoodPosAdcPulseInt, &b_Ndata_P_hod_1x_GoodPosAdcPulseInt); + fChain->SetBranchAddress("P.hod.1x.GoodPosAdcPulseInt", P_hod_1x_GoodPosAdcPulseInt, &b_P_hod_1x_GoodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosAdcPulseTime", &Ndata_P_hod_1x_GoodPosAdcPulseTime, &b_Ndata_P_hod_1x_GoodPosAdcPulseTime); + fChain->SetBranchAddress("P.hod.1x.GoodPosAdcPulseTime", P_hod_1x_GoodPosAdcPulseTime, &b_P_hod_1x_GoodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosTdcChan", &Ndata_P_hod_1x_GoodPosTdcChan, &b_Ndata_P_hod_1x_GoodPosTdcChan); + fChain->SetBranchAddress("P.hod.1x.GoodPosTdcChan", P_hod_1x_GoodPosTdcChan, &b_P_hod_1x_GoodPosTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosTdcTimeCorr", &Ndata_P_hod_1x_GoodPosTdcTimeCorr, &b_Ndata_P_hod_1x_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("P.hod.1x.GoodPosTdcTimeCorr", P_hod_1x_GoodPosTdcTimeCorr, &b_P_hod_1x_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosTdcTimeTOFCorr", &Ndata_P_hod_1x_GoodPosTdcTimeTOFCorr, &b_Ndata_P_hod_1x_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.1x.GoodPosTdcTimeTOFCorr", P_hod_1x_GoodPosTdcTimeTOFCorr, &b_P_hod_1x_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcCounter", &Ndata_P_hod_1x_negAdcCounter, &b_Ndata_P_hod_1x_negAdcCounter); + fChain->SetBranchAddress("P.hod.1x.negAdcCounter", P_hod_1x_negAdcCounter, &b_P_hod_1x_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPed", &Ndata_P_hod_1x_negAdcPed, &b_Ndata_P_hod_1x_negAdcPed); + fChain->SetBranchAddress("P.hod.1x.negAdcPed", P_hod_1x_negAdcPed, &b_P_hod_1x_negAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPedRaw", &Ndata_P_hod_1x_negAdcPedRaw, &b_Ndata_P_hod_1x_negAdcPedRaw); + fChain->SetBranchAddress("P.hod.1x.negAdcPedRaw", P_hod_1x_negAdcPedRaw, &b_P_hod_1x_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseAmp", &Ndata_P_hod_1x_negAdcPulseAmp, &b_Ndata_P_hod_1x_negAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseAmp", P_hod_1x_negAdcPulseAmp, &b_P_hod_1x_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseAmpRaw", &Ndata_P_hod_1x_negAdcPulseAmpRaw, &b_Ndata_P_hod_1x_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseAmpRaw", P_hod_1x_negAdcPulseAmpRaw, &b_P_hod_1x_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseInt", &Ndata_P_hod_1x_negAdcPulseInt, &b_Ndata_P_hod_1x_negAdcPulseInt); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseInt", P_hod_1x_negAdcPulseInt, &b_P_hod_1x_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseIntRaw", &Ndata_P_hod_1x_negAdcPulseIntRaw, &b_Ndata_P_hod_1x_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseIntRaw", P_hod_1x_negAdcPulseIntRaw, &b_P_hod_1x_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseTimeRaw", &Ndata_P_hod_1x_negAdcPulseTimeRaw, &b_Ndata_P_hod_1x_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseTimeRaw", P_hod_1x_negAdcPulseTimeRaw, &b_P_hod_1x_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.negTdcCounter", &Ndata_P_hod_1x_negTdcCounter, &b_Ndata_P_hod_1x_negTdcCounter); + fChain->SetBranchAddress("P.hod.1x.negTdcCounter", P_hod_1x_negTdcCounter, &b_P_hod_1x_negTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1x.negTdcTime", &Ndata_P_hod_1x_negTdcTime, &b_Ndata_P_hod_1x_negTdcTime); + fChain->SetBranchAddress("P.hod.1x.negTdcTime", P_hod_1x_negTdcTime, &b_P_hod_1x_negTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.1x.negTdcTimeRaw", &Ndata_P_hod_1x_negTdcTimeRaw, &b_Ndata_P_hod_1x_negTdcTimeRaw); + fChain->SetBranchAddress("P.hod.1x.negTdcTimeRaw", P_hod_1x_negTdcTimeRaw, &b_P_hod_1x_negTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcCounter", &Ndata_P_hod_1x_posAdcCounter, &b_Ndata_P_hod_1x_posAdcCounter); + fChain->SetBranchAddress("P.hod.1x.posAdcCounter", P_hod_1x_posAdcCounter, &b_P_hod_1x_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPed", &Ndata_P_hod_1x_posAdcPed, &b_Ndata_P_hod_1x_posAdcPed); + fChain->SetBranchAddress("P.hod.1x.posAdcPed", P_hod_1x_posAdcPed, &b_P_hod_1x_posAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPedRaw", &Ndata_P_hod_1x_posAdcPedRaw, &b_Ndata_P_hod_1x_posAdcPedRaw); + fChain->SetBranchAddress("P.hod.1x.posAdcPedRaw", P_hod_1x_posAdcPedRaw, &b_P_hod_1x_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseAmp", &Ndata_P_hod_1x_posAdcPulseAmp, &b_Ndata_P_hod_1x_posAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseAmp", P_hod_1x_posAdcPulseAmp, &b_P_hod_1x_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseAmpRaw", &Ndata_P_hod_1x_posAdcPulseAmpRaw, &b_Ndata_P_hod_1x_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseAmpRaw", P_hod_1x_posAdcPulseAmpRaw, &b_P_hod_1x_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseInt", &Ndata_P_hod_1x_posAdcPulseInt, &b_Ndata_P_hod_1x_posAdcPulseInt); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseInt", P_hod_1x_posAdcPulseInt, &b_P_hod_1x_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseIntRaw", &Ndata_P_hod_1x_posAdcPulseIntRaw, &b_Ndata_P_hod_1x_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseIntRaw", P_hod_1x_posAdcPulseIntRaw, &b_P_hod_1x_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseTimeRaw", &Ndata_P_hod_1x_posAdcPulseTimeRaw, &b_Ndata_P_hod_1x_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseTimeRaw", P_hod_1x_posAdcPulseTimeRaw, &b_P_hod_1x_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posTdcCounter", &Ndata_P_hod_1x_posTdcCounter, &b_Ndata_P_hod_1x_posTdcCounter); + fChain->SetBranchAddress("P.hod.1x.posTdcCounter", P_hod_1x_posTdcCounter, &b_P_hod_1x_posTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1x.posTdcTime", &Ndata_P_hod_1x_posTdcTime, &b_Ndata_P_hod_1x_posTdcTime); + fChain->SetBranchAddress("P.hod.1x.posTdcTime", P_hod_1x_posTdcTime, &b_P_hod_1x_posTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.1x.posTdcTimeRaw", &Ndata_P_hod_1x_posTdcTimeRaw, &b_Ndata_P_hod_1x_posTdcTimeRaw); + fChain->SetBranchAddress("P.hod.1x.posTdcTimeRaw", P_hod_1x_posTdcTimeRaw, &b_P_hod_1x_posTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegAdcPulseAmp", &Ndata_P_hod_1y_GoodNegAdcPulseAmp, &b_Ndata_P_hod_1y_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1y.GoodNegAdcPulseAmp", P_hod_1y_GoodNegAdcPulseAmp, &b_P_hod_1y_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegAdcPulseInt", &Ndata_P_hod_1y_GoodNegAdcPulseInt, &b_Ndata_P_hod_1y_GoodNegAdcPulseInt); + fChain->SetBranchAddress("P.hod.1y.GoodNegAdcPulseInt", P_hod_1y_GoodNegAdcPulseInt, &b_P_hod_1y_GoodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegAdcPulseTime", &Ndata_P_hod_1y_GoodNegAdcPulseTime, &b_Ndata_P_hod_1y_GoodNegAdcPulseTime); + fChain->SetBranchAddress("P.hod.1y.GoodNegAdcPulseTime", P_hod_1y_GoodNegAdcPulseTime, &b_P_hod_1y_GoodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegTdcChan", &Ndata_P_hod_1y_GoodNegTdcChan, &b_Ndata_P_hod_1y_GoodNegTdcChan); + fChain->SetBranchAddress("P.hod.1y.GoodNegTdcChan", P_hod_1y_GoodNegTdcChan, &b_P_hod_1y_GoodNegTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegTdcTimeCorr", &Ndata_P_hod_1y_GoodNegTdcTimeCorr, &b_Ndata_P_hod_1y_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("P.hod.1y.GoodNegTdcTimeCorr", P_hod_1y_GoodNegTdcTimeCorr, &b_P_hod_1y_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegTdcTimeTOFCorr", &Ndata_P_hod_1y_GoodNegTdcTimeTOFCorr, &b_Ndata_P_hod_1y_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.1y.GoodNegTdcTimeTOFCorr", P_hod_1y_GoodNegTdcTimeTOFCorr, &b_P_hod_1y_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPaddle", &Ndata_P_hod_1y_GoodPaddle, &b_Ndata_P_hod_1y_GoodPaddle); + fChain->SetBranchAddress("P.hod.1y.GoodPaddle", P_hod_1y_GoodPaddle, &b_P_hod_1y_GoodPaddle); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosAdcPulseAmp", &Ndata_P_hod_1y_GoodPosAdcPulseAmp, &b_Ndata_P_hod_1y_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1y.GoodPosAdcPulseAmp", P_hod_1y_GoodPosAdcPulseAmp, &b_P_hod_1y_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosAdcPulseInt", &Ndata_P_hod_1y_GoodPosAdcPulseInt, &b_Ndata_P_hod_1y_GoodPosAdcPulseInt); + fChain->SetBranchAddress("P.hod.1y.GoodPosAdcPulseInt", P_hod_1y_GoodPosAdcPulseInt, &b_P_hod_1y_GoodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosAdcPulseTime", &Ndata_P_hod_1y_GoodPosAdcPulseTime, &b_Ndata_P_hod_1y_GoodPosAdcPulseTime); + fChain->SetBranchAddress("P.hod.1y.GoodPosAdcPulseTime", P_hod_1y_GoodPosAdcPulseTime, &b_P_hod_1y_GoodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosTdcChan", &Ndata_P_hod_1y_GoodPosTdcChan, &b_Ndata_P_hod_1y_GoodPosTdcChan); + fChain->SetBranchAddress("P.hod.1y.GoodPosTdcChan", P_hod_1y_GoodPosTdcChan, &b_P_hod_1y_GoodPosTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosTdcTimeCorr", &Ndata_P_hod_1y_GoodPosTdcTimeCorr, &b_Ndata_P_hod_1y_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("P.hod.1y.GoodPosTdcTimeCorr", P_hod_1y_GoodPosTdcTimeCorr, &b_P_hod_1y_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosTdcTimeTOFCorr", &Ndata_P_hod_1y_GoodPosTdcTimeTOFCorr, &b_Ndata_P_hod_1y_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.1y.GoodPosTdcTimeTOFCorr", P_hod_1y_GoodPosTdcTimeTOFCorr, &b_P_hod_1y_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcCounter", &Ndata_P_hod_1y_negAdcCounter, &b_Ndata_P_hod_1y_negAdcCounter); + fChain->SetBranchAddress("P.hod.1y.negAdcCounter", P_hod_1y_negAdcCounter, &b_P_hod_1y_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPed", &Ndata_P_hod_1y_negAdcPed, &b_Ndata_P_hod_1y_negAdcPed); + fChain->SetBranchAddress("P.hod.1y.negAdcPed", P_hod_1y_negAdcPed, &b_P_hod_1y_negAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPedRaw", &Ndata_P_hod_1y_negAdcPedRaw, &b_Ndata_P_hod_1y_negAdcPedRaw); + fChain->SetBranchAddress("P.hod.1y.negAdcPedRaw", P_hod_1y_negAdcPedRaw, &b_P_hod_1y_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseAmp", &Ndata_P_hod_1y_negAdcPulseAmp, &b_Ndata_P_hod_1y_negAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseAmp", P_hod_1y_negAdcPulseAmp, &b_P_hod_1y_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseAmpRaw", &Ndata_P_hod_1y_negAdcPulseAmpRaw, &b_Ndata_P_hod_1y_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseAmpRaw", P_hod_1y_negAdcPulseAmpRaw, &b_P_hod_1y_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseInt", &Ndata_P_hod_1y_negAdcPulseInt, &b_Ndata_P_hod_1y_negAdcPulseInt); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseInt", P_hod_1y_negAdcPulseInt, &b_P_hod_1y_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseIntRaw", &Ndata_P_hod_1y_negAdcPulseIntRaw, &b_Ndata_P_hod_1y_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseIntRaw", P_hod_1y_negAdcPulseIntRaw, &b_P_hod_1y_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseTimeRaw", &Ndata_P_hod_1y_negAdcPulseTimeRaw, &b_Ndata_P_hod_1y_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseTimeRaw", P_hod_1y_negAdcPulseTimeRaw, &b_P_hod_1y_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.negTdcCounter", &Ndata_P_hod_1y_negTdcCounter, &b_Ndata_P_hod_1y_negTdcCounter); + fChain->SetBranchAddress("P.hod.1y.negTdcCounter", P_hod_1y_negTdcCounter, &b_P_hod_1y_negTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1y.negTdcTime", &Ndata_P_hod_1y_negTdcTime, &b_Ndata_P_hod_1y_negTdcTime); + fChain->SetBranchAddress("P.hod.1y.negTdcTime", P_hod_1y_negTdcTime, &b_P_hod_1y_negTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.1y.negTdcTimeRaw", &Ndata_P_hod_1y_negTdcTimeRaw, &b_Ndata_P_hod_1y_negTdcTimeRaw); + fChain->SetBranchAddress("P.hod.1y.negTdcTimeRaw", P_hod_1y_negTdcTimeRaw, &b_P_hod_1y_negTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcCounter", &Ndata_P_hod_1y_posAdcCounter, &b_Ndata_P_hod_1y_posAdcCounter); + fChain->SetBranchAddress("P.hod.1y.posAdcCounter", P_hod_1y_posAdcCounter, &b_P_hod_1y_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPed", &Ndata_P_hod_1y_posAdcPed, &b_Ndata_P_hod_1y_posAdcPed); + fChain->SetBranchAddress("P.hod.1y.posAdcPed", P_hod_1y_posAdcPed, &b_P_hod_1y_posAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPedRaw", &Ndata_P_hod_1y_posAdcPedRaw, &b_Ndata_P_hod_1y_posAdcPedRaw); + fChain->SetBranchAddress("P.hod.1y.posAdcPedRaw", P_hod_1y_posAdcPedRaw, &b_P_hod_1y_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseAmp", &Ndata_P_hod_1y_posAdcPulseAmp, &b_Ndata_P_hod_1y_posAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseAmp", P_hod_1y_posAdcPulseAmp, &b_P_hod_1y_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseAmpRaw", &Ndata_P_hod_1y_posAdcPulseAmpRaw, &b_Ndata_P_hod_1y_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseAmpRaw", P_hod_1y_posAdcPulseAmpRaw, &b_P_hod_1y_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseInt", &Ndata_P_hod_1y_posAdcPulseInt, &b_Ndata_P_hod_1y_posAdcPulseInt); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseInt", P_hod_1y_posAdcPulseInt, &b_P_hod_1y_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseIntRaw", &Ndata_P_hod_1y_posAdcPulseIntRaw, &b_Ndata_P_hod_1y_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseIntRaw", P_hod_1y_posAdcPulseIntRaw, &b_P_hod_1y_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseTimeRaw", &Ndata_P_hod_1y_posAdcPulseTimeRaw, &b_Ndata_P_hod_1y_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseTimeRaw", P_hod_1y_posAdcPulseTimeRaw, &b_P_hod_1y_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posTdcCounter", &Ndata_P_hod_1y_posTdcCounter, &b_Ndata_P_hod_1y_posTdcCounter); + fChain->SetBranchAddress("P.hod.1y.posTdcCounter", P_hod_1y_posTdcCounter, &b_P_hod_1y_posTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1y.posTdcTime", &Ndata_P_hod_1y_posTdcTime, &b_Ndata_P_hod_1y_posTdcTime); + fChain->SetBranchAddress("P.hod.1y.posTdcTime", P_hod_1y_posTdcTime, &b_P_hod_1y_posTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.1y.posTdcTimeRaw", &Ndata_P_hod_1y_posTdcTimeRaw, &b_Ndata_P_hod_1y_posTdcTimeRaw); + fChain->SetBranchAddress("P.hod.1y.posTdcTimeRaw", P_hod_1y_posTdcTimeRaw, &b_P_hod_1y_posTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegAdcPulseAmp", &Ndata_P_hod_2x_GoodNegAdcPulseAmp, &b_Ndata_P_hod_2x_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2x.GoodNegAdcPulseAmp", P_hod_2x_GoodNegAdcPulseAmp, &b_P_hod_2x_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegAdcPulseInt", &Ndata_P_hod_2x_GoodNegAdcPulseInt, &b_Ndata_P_hod_2x_GoodNegAdcPulseInt); + fChain->SetBranchAddress("P.hod.2x.GoodNegAdcPulseInt", P_hod_2x_GoodNegAdcPulseInt, &b_P_hod_2x_GoodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegAdcPulseTime", &Ndata_P_hod_2x_GoodNegAdcPulseTime, &b_Ndata_P_hod_2x_GoodNegAdcPulseTime); + fChain->SetBranchAddress("P.hod.2x.GoodNegAdcPulseTime", P_hod_2x_GoodNegAdcPulseTime, &b_P_hod_2x_GoodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegTdcChan", &Ndata_P_hod_2x_GoodNegTdcChan, &b_Ndata_P_hod_2x_GoodNegTdcChan); + fChain->SetBranchAddress("P.hod.2x.GoodNegTdcChan", P_hod_2x_GoodNegTdcChan, &b_P_hod_2x_GoodNegTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegTdcTimeCorr", &Ndata_P_hod_2x_GoodNegTdcTimeCorr, &b_Ndata_P_hod_2x_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("P.hod.2x.GoodNegTdcTimeCorr", P_hod_2x_GoodNegTdcTimeCorr, &b_P_hod_2x_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegTdcTimeTOFCorr", &Ndata_P_hod_2x_GoodNegTdcTimeTOFCorr, &b_Ndata_P_hod_2x_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.2x.GoodNegTdcTimeTOFCorr", P_hod_2x_GoodNegTdcTimeTOFCorr, &b_P_hod_2x_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPaddle", &Ndata_P_hod_2x_GoodPaddle, &b_Ndata_P_hod_2x_GoodPaddle); + fChain->SetBranchAddress("P.hod.2x.GoodPaddle", P_hod_2x_GoodPaddle, &b_P_hod_2x_GoodPaddle); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosAdcPulseAmp", &Ndata_P_hod_2x_GoodPosAdcPulseAmp, &b_Ndata_P_hod_2x_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2x.GoodPosAdcPulseAmp", P_hod_2x_GoodPosAdcPulseAmp, &b_P_hod_2x_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosAdcPulseInt", &Ndata_P_hod_2x_GoodPosAdcPulseInt, &b_Ndata_P_hod_2x_GoodPosAdcPulseInt); + fChain->SetBranchAddress("P.hod.2x.GoodPosAdcPulseInt", P_hod_2x_GoodPosAdcPulseInt, &b_P_hod_2x_GoodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosAdcPulseTime", &Ndata_P_hod_2x_GoodPosAdcPulseTime, &b_Ndata_P_hod_2x_GoodPosAdcPulseTime); + fChain->SetBranchAddress("P.hod.2x.GoodPosAdcPulseTime", P_hod_2x_GoodPosAdcPulseTime, &b_P_hod_2x_GoodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosTdcChan", &Ndata_P_hod_2x_GoodPosTdcChan, &b_Ndata_P_hod_2x_GoodPosTdcChan); + fChain->SetBranchAddress("P.hod.2x.GoodPosTdcChan", P_hod_2x_GoodPosTdcChan, &b_P_hod_2x_GoodPosTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosTdcTimeCorr", &Ndata_P_hod_2x_GoodPosTdcTimeCorr, &b_Ndata_P_hod_2x_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("P.hod.2x.GoodPosTdcTimeCorr", P_hod_2x_GoodPosTdcTimeCorr, &b_P_hod_2x_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosTdcTimeTOFCorr", &Ndata_P_hod_2x_GoodPosTdcTimeTOFCorr, &b_Ndata_P_hod_2x_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.2x.GoodPosTdcTimeTOFCorr", P_hod_2x_GoodPosTdcTimeTOFCorr, &b_P_hod_2x_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcCounter", &Ndata_P_hod_2x_negAdcCounter, &b_Ndata_P_hod_2x_negAdcCounter); + fChain->SetBranchAddress("P.hod.2x.negAdcCounter", P_hod_2x_negAdcCounter, &b_P_hod_2x_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPed", &Ndata_P_hod_2x_negAdcPed, &b_Ndata_P_hod_2x_negAdcPed); + fChain->SetBranchAddress("P.hod.2x.negAdcPed", P_hod_2x_negAdcPed, &b_P_hod_2x_negAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPedRaw", &Ndata_P_hod_2x_negAdcPedRaw, &b_Ndata_P_hod_2x_negAdcPedRaw); + fChain->SetBranchAddress("P.hod.2x.negAdcPedRaw", P_hod_2x_negAdcPedRaw, &b_P_hod_2x_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseAmp", &Ndata_P_hod_2x_negAdcPulseAmp, &b_Ndata_P_hod_2x_negAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseAmp", P_hod_2x_negAdcPulseAmp, &b_P_hod_2x_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseAmpRaw", &Ndata_P_hod_2x_negAdcPulseAmpRaw, &b_Ndata_P_hod_2x_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseAmpRaw", P_hod_2x_negAdcPulseAmpRaw, &b_P_hod_2x_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseInt", &Ndata_P_hod_2x_negAdcPulseInt, &b_Ndata_P_hod_2x_negAdcPulseInt); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseInt", P_hod_2x_negAdcPulseInt, &b_P_hod_2x_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseIntRaw", &Ndata_P_hod_2x_negAdcPulseIntRaw, &b_Ndata_P_hod_2x_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseIntRaw", P_hod_2x_negAdcPulseIntRaw, &b_P_hod_2x_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseTimeRaw", &Ndata_P_hod_2x_negAdcPulseTimeRaw, &b_Ndata_P_hod_2x_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseTimeRaw", P_hod_2x_negAdcPulseTimeRaw, &b_P_hod_2x_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.negTdcCounter", &Ndata_P_hod_2x_negTdcCounter, &b_Ndata_P_hod_2x_negTdcCounter); + fChain->SetBranchAddress("P.hod.2x.negTdcCounter", P_hod_2x_negTdcCounter, &b_P_hod_2x_negTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2x.negTdcTime", &Ndata_P_hod_2x_negTdcTime, &b_Ndata_P_hod_2x_negTdcTime); + fChain->SetBranchAddress("P.hod.2x.negTdcTime", P_hod_2x_negTdcTime, &b_P_hod_2x_negTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.2x.negTdcTimeRaw", &Ndata_P_hod_2x_negTdcTimeRaw, &b_Ndata_P_hod_2x_negTdcTimeRaw); + fChain->SetBranchAddress("P.hod.2x.negTdcTimeRaw", P_hod_2x_negTdcTimeRaw, &b_P_hod_2x_negTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcCounter", &Ndata_P_hod_2x_posAdcCounter, &b_Ndata_P_hod_2x_posAdcCounter); + fChain->SetBranchAddress("P.hod.2x.posAdcCounter", P_hod_2x_posAdcCounter, &b_P_hod_2x_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPed", &Ndata_P_hod_2x_posAdcPed, &b_Ndata_P_hod_2x_posAdcPed); + fChain->SetBranchAddress("P.hod.2x.posAdcPed", P_hod_2x_posAdcPed, &b_P_hod_2x_posAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPedRaw", &Ndata_P_hod_2x_posAdcPedRaw, &b_Ndata_P_hod_2x_posAdcPedRaw); + fChain->SetBranchAddress("P.hod.2x.posAdcPedRaw", P_hod_2x_posAdcPedRaw, &b_P_hod_2x_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseAmp", &Ndata_P_hod_2x_posAdcPulseAmp, &b_Ndata_P_hod_2x_posAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseAmp", P_hod_2x_posAdcPulseAmp, &b_P_hod_2x_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseAmpRaw", &Ndata_P_hod_2x_posAdcPulseAmpRaw, &b_Ndata_P_hod_2x_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseAmpRaw", P_hod_2x_posAdcPulseAmpRaw, &b_P_hod_2x_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseInt", &Ndata_P_hod_2x_posAdcPulseInt, &b_Ndata_P_hod_2x_posAdcPulseInt); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseInt", P_hod_2x_posAdcPulseInt, &b_P_hod_2x_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseIntRaw", &Ndata_P_hod_2x_posAdcPulseIntRaw, &b_Ndata_P_hod_2x_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseIntRaw", P_hod_2x_posAdcPulseIntRaw, &b_P_hod_2x_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseTimeRaw", &Ndata_P_hod_2x_posAdcPulseTimeRaw, &b_Ndata_P_hod_2x_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseTimeRaw", P_hod_2x_posAdcPulseTimeRaw, &b_P_hod_2x_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posTdcCounter", &Ndata_P_hod_2x_posTdcCounter, &b_Ndata_P_hod_2x_posTdcCounter); + fChain->SetBranchAddress("P.hod.2x.posTdcCounter", P_hod_2x_posTdcCounter, &b_P_hod_2x_posTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2x.posTdcTime", &Ndata_P_hod_2x_posTdcTime, &b_Ndata_P_hod_2x_posTdcTime); + fChain->SetBranchAddress("P.hod.2x.posTdcTime", P_hod_2x_posTdcTime, &b_P_hod_2x_posTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.2x.posTdcTimeRaw", &Ndata_P_hod_2x_posTdcTimeRaw, &b_Ndata_P_hod_2x_posTdcTimeRaw); + fChain->SetBranchAddress("P.hod.2x.posTdcTimeRaw", P_hod_2x_posTdcTimeRaw, &b_P_hod_2x_posTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegAdcPulseAmp", &Ndata_P_hod_2y_GoodNegAdcPulseAmp, &b_Ndata_P_hod_2y_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2y.GoodNegAdcPulseAmp", P_hod_2y_GoodNegAdcPulseAmp, &b_P_hod_2y_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegAdcPulseInt", &Ndata_P_hod_2y_GoodNegAdcPulseInt, &b_Ndata_P_hod_2y_GoodNegAdcPulseInt); + fChain->SetBranchAddress("P.hod.2y.GoodNegAdcPulseInt", P_hod_2y_GoodNegAdcPulseInt, &b_P_hod_2y_GoodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegAdcPulseTime", &Ndata_P_hod_2y_GoodNegAdcPulseTime, &b_Ndata_P_hod_2y_GoodNegAdcPulseTime); + fChain->SetBranchAddress("P.hod.2y.GoodNegAdcPulseTime", P_hod_2y_GoodNegAdcPulseTime, &b_P_hod_2y_GoodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegTdcChan", &Ndata_P_hod_2y_GoodNegTdcChan, &b_Ndata_P_hod_2y_GoodNegTdcChan); + fChain->SetBranchAddress("P.hod.2y.GoodNegTdcChan", P_hod_2y_GoodNegTdcChan, &b_P_hod_2y_GoodNegTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegTdcTimeCorr", &Ndata_P_hod_2y_GoodNegTdcTimeCorr, &b_Ndata_P_hod_2y_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("P.hod.2y.GoodNegTdcTimeCorr", P_hod_2y_GoodNegTdcTimeCorr, &b_P_hod_2y_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegTdcTimeTOFCorr", &Ndata_P_hod_2y_GoodNegTdcTimeTOFCorr, &b_Ndata_P_hod_2y_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.2y.GoodNegTdcTimeTOFCorr", P_hod_2y_GoodNegTdcTimeTOFCorr, &b_P_hod_2y_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPaddle", &Ndata_P_hod_2y_GoodPaddle, &b_Ndata_P_hod_2y_GoodPaddle); + fChain->SetBranchAddress("P.hod.2y.GoodPaddle", P_hod_2y_GoodPaddle, &b_P_hod_2y_GoodPaddle); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosAdcPulseAmp", &Ndata_P_hod_2y_GoodPosAdcPulseAmp, &b_Ndata_P_hod_2y_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2y.GoodPosAdcPulseAmp", P_hod_2y_GoodPosAdcPulseAmp, &b_P_hod_2y_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosAdcPulseInt", &Ndata_P_hod_2y_GoodPosAdcPulseInt, &b_Ndata_P_hod_2y_GoodPosAdcPulseInt); + fChain->SetBranchAddress("P.hod.2y.GoodPosAdcPulseInt", P_hod_2y_GoodPosAdcPulseInt, &b_P_hod_2y_GoodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosAdcPulseTime", &Ndata_P_hod_2y_GoodPosAdcPulseTime, &b_Ndata_P_hod_2y_GoodPosAdcPulseTime); + fChain->SetBranchAddress("P.hod.2y.GoodPosAdcPulseTime", P_hod_2y_GoodPosAdcPulseTime, &b_P_hod_2y_GoodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosTdcChan", &Ndata_P_hod_2y_GoodPosTdcChan, &b_Ndata_P_hod_2y_GoodPosTdcChan); + fChain->SetBranchAddress("P.hod.2y.GoodPosTdcChan", P_hod_2y_GoodPosTdcChan, &b_P_hod_2y_GoodPosTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosTdcTimeCorr", &Ndata_P_hod_2y_GoodPosTdcTimeCorr, &b_Ndata_P_hod_2y_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("P.hod.2y.GoodPosTdcTimeCorr", P_hod_2y_GoodPosTdcTimeCorr, &b_P_hod_2y_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosTdcTimeTOFCorr", &Ndata_P_hod_2y_GoodPosTdcTimeTOFCorr, &b_Ndata_P_hod_2y_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.2y.GoodPosTdcTimeTOFCorr", P_hod_2y_GoodPosTdcTimeTOFCorr, &b_P_hod_2y_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcCounter", &Ndata_P_hod_2y_negAdcCounter, &b_Ndata_P_hod_2y_negAdcCounter); + fChain->SetBranchAddress("P.hod.2y.negAdcCounter", P_hod_2y_negAdcCounter, &b_P_hod_2y_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPed", &Ndata_P_hod_2y_negAdcPed, &b_Ndata_P_hod_2y_negAdcPed); + fChain->SetBranchAddress("P.hod.2y.negAdcPed", P_hod_2y_negAdcPed, &b_P_hod_2y_negAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPedRaw", &Ndata_P_hod_2y_negAdcPedRaw, &b_Ndata_P_hod_2y_negAdcPedRaw); + fChain->SetBranchAddress("P.hod.2y.negAdcPedRaw", P_hod_2y_negAdcPedRaw, &b_P_hod_2y_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseAmp", &Ndata_P_hod_2y_negAdcPulseAmp, &b_Ndata_P_hod_2y_negAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseAmp", P_hod_2y_negAdcPulseAmp, &b_P_hod_2y_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseAmpRaw", &Ndata_P_hod_2y_negAdcPulseAmpRaw, &b_Ndata_P_hod_2y_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseAmpRaw", P_hod_2y_negAdcPulseAmpRaw, &b_P_hod_2y_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseInt", &Ndata_P_hod_2y_negAdcPulseInt, &b_Ndata_P_hod_2y_negAdcPulseInt); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseInt", P_hod_2y_negAdcPulseInt, &b_P_hod_2y_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseIntRaw", &Ndata_P_hod_2y_negAdcPulseIntRaw, &b_Ndata_P_hod_2y_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseIntRaw", P_hod_2y_negAdcPulseIntRaw, &b_P_hod_2y_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseTimeRaw", &Ndata_P_hod_2y_negAdcPulseTimeRaw, &b_Ndata_P_hod_2y_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseTimeRaw", P_hod_2y_negAdcPulseTimeRaw, &b_P_hod_2y_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.negTdcCounter", &Ndata_P_hod_2y_negTdcCounter, &b_Ndata_P_hod_2y_negTdcCounter); + fChain->SetBranchAddress("P.hod.2y.negTdcCounter", P_hod_2y_negTdcCounter, &b_P_hod_2y_negTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2y.negTdcTime", &Ndata_P_hod_2y_negTdcTime, &b_Ndata_P_hod_2y_negTdcTime); + fChain->SetBranchAddress("P.hod.2y.negTdcTime", P_hod_2y_negTdcTime, &b_P_hod_2y_negTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.2y.negTdcTimeRaw", &Ndata_P_hod_2y_negTdcTimeRaw, &b_Ndata_P_hod_2y_negTdcTimeRaw); + fChain->SetBranchAddress("P.hod.2y.negTdcTimeRaw", P_hod_2y_negTdcTimeRaw, &b_P_hod_2y_negTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcCounter", &Ndata_P_hod_2y_posAdcCounter, &b_Ndata_P_hod_2y_posAdcCounter); + fChain->SetBranchAddress("P.hod.2y.posAdcCounter", P_hod_2y_posAdcCounter, &b_P_hod_2y_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPed", &Ndata_P_hod_2y_posAdcPed, &b_Ndata_P_hod_2y_posAdcPed); + fChain->SetBranchAddress("P.hod.2y.posAdcPed", P_hod_2y_posAdcPed, &b_P_hod_2y_posAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPedRaw", &Ndata_P_hod_2y_posAdcPedRaw, &b_Ndata_P_hod_2y_posAdcPedRaw); + fChain->SetBranchAddress("P.hod.2y.posAdcPedRaw", P_hod_2y_posAdcPedRaw, &b_P_hod_2y_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseAmp", &Ndata_P_hod_2y_posAdcPulseAmp, &b_Ndata_P_hod_2y_posAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseAmp", P_hod_2y_posAdcPulseAmp, &b_P_hod_2y_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseAmpRaw", &Ndata_P_hod_2y_posAdcPulseAmpRaw, &b_Ndata_P_hod_2y_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseAmpRaw", P_hod_2y_posAdcPulseAmpRaw, &b_P_hod_2y_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseInt", &Ndata_P_hod_2y_posAdcPulseInt, &b_Ndata_P_hod_2y_posAdcPulseInt); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseInt", P_hod_2y_posAdcPulseInt, &b_P_hod_2y_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseIntRaw", &Ndata_P_hod_2y_posAdcPulseIntRaw, &b_Ndata_P_hod_2y_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseIntRaw", P_hod_2y_posAdcPulseIntRaw, &b_P_hod_2y_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseTimeRaw", &Ndata_P_hod_2y_posAdcPulseTimeRaw, &b_Ndata_P_hod_2y_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseTimeRaw", P_hod_2y_posAdcPulseTimeRaw, &b_P_hod_2y_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posTdcCounter", &Ndata_P_hod_2y_posTdcCounter, &b_Ndata_P_hod_2y_posTdcCounter); + fChain->SetBranchAddress("P.hod.2y.posTdcCounter", P_hod_2y_posTdcCounter, &b_P_hod_2y_posTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2y.posTdcTime", &Ndata_P_hod_2y_posTdcTime, &b_Ndata_P_hod_2y_posTdcTime); + fChain->SetBranchAddress("P.hod.2y.posTdcTime", P_hod_2y_posTdcTime, &b_P_hod_2y_posTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.2y.posTdcTimeRaw", &Ndata_P_hod_2y_posTdcTimeRaw, &b_Ndata_P_hod_2y_posTdcTimeRaw); + fChain->SetBranchAddress("P.hod.2y.posTdcTimeRaw", P_hod_2y_posTdcTimeRaw, &b_P_hod_2y_posTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.ngcer.adcCounter", &Ndata_P_ngcer_adcCounter, &b_Ndata_P_ngcer_adcCounter); + fChain->SetBranchAddress("P.ngcer.adcCounter", P_ngcer_adcCounter, &b_P_ngcer_adcCounter); + fChain->SetBranchAddress("Ndata.P.ngcer.adcErrorFlag", &Ndata_P_ngcer_adcErrorFlag, &b_Ndata_P_ngcer_adcErrorFlag); + fChain->SetBranchAddress("P.ngcer.adcErrorFlag", P_ngcer_adcErrorFlag, &b_P_ngcer_adcErrorFlag); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPed", &Ndata_P_ngcer_goodAdcPed, &b_Ndata_P_ngcer_goodAdcPed); + fChain->SetBranchAddress("P.ngcer.goodAdcPed", P_ngcer_goodAdcPed, &b_P_ngcer_goodAdcPed); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPulseAmp", &Ndata_P_ngcer_goodAdcPulseAmp, &b_Ndata_P_ngcer_goodAdcPulseAmp); + fChain->SetBranchAddress("P.ngcer.goodAdcPulseAmp", P_ngcer_goodAdcPulseAmp, &b_P_ngcer_goodAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPulseInt", &Ndata_P_ngcer_goodAdcPulseInt, &b_Ndata_P_ngcer_goodAdcPulseInt); + fChain->SetBranchAddress("P.ngcer.goodAdcPulseInt", P_ngcer_goodAdcPulseInt, &b_P_ngcer_goodAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPulseIntRaw", &Ndata_P_ngcer_goodAdcPulseIntRaw, &b_Ndata_P_ngcer_goodAdcPulseIntRaw); + fChain->SetBranchAddress("P.ngcer.goodAdcPulseIntRaw", P_ngcer_goodAdcPulseIntRaw, &b_P_ngcer_goodAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPulseTime", &Ndata_P_ngcer_goodAdcPulseTime, &b_Ndata_P_ngcer_goodAdcPulseTime); + fChain->SetBranchAddress("P.ngcer.goodAdcPulseTime", P_ngcer_goodAdcPulseTime, &b_P_ngcer_goodAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.ngcer.npe", &Ndata_P_ngcer_npe, &b_Ndata_P_ngcer_npe); + fChain->SetBranchAddress("P.ngcer.npe", P_ngcer_npe, &b_P_ngcer_npe); + fChain->SetBranchAddress("Ndata.P.ngcer.numGoodAdcHits", &Ndata_P_ngcer_numGoodAdcHits, &b_Ndata_P_ngcer_numGoodAdcHits); + fChain->SetBranchAddress("P.ngcer.numGoodAdcHits", P_ngcer_numGoodAdcHits, &b_P_ngcer_numGoodAdcHits); + fChain->SetBranchAddress("Ndata.P.ngcer.numTracksFired", &Ndata_P_ngcer_numTracksFired, &b_Ndata_P_ngcer_numTracksFired); + fChain->SetBranchAddress("P.ngcer.numTracksFired", P_ngcer_numTracksFired, &b_P_ngcer_numTracksFired); + fChain->SetBranchAddress("Ndata.P.ngcer.numTracksMatched", &Ndata_P_ngcer_numTracksMatched, &b_Ndata_P_ngcer_numTracksMatched); + fChain->SetBranchAddress("P.ngcer.numTracksMatched", P_ngcer_numTracksMatched, &b_P_ngcer_numTracksMatched); + fChain->SetBranchAddress("Ndata.P.tr.beta", &Ndata_P_tr_beta, &b_Ndata_P_tr_beta); + fChain->SetBranchAddress("P.tr.beta", P_tr_beta, &b_P_tr_beta); + fChain->SetBranchAddress("Ndata.P.tr.betachisq", &Ndata_P_tr_betachisq, &b_Ndata_P_tr_betachisq); + fChain->SetBranchAddress("P.tr.betachisq", P_tr_betachisq, &b_P_tr_betachisq); + fChain->SetBranchAddress("Ndata.P.tr.chi2", &Ndata_P_tr_chi2, &b_Ndata_P_tr_chi2); + fChain->SetBranchAddress("P.tr.chi2", P_tr_chi2, &b_P_tr_chi2); + fChain->SetBranchAddress("Ndata.P.tr.d_ph", &Ndata_P_tr_d_ph, &b_Ndata_P_tr_d_ph); + fChain->SetBranchAddress("P.tr.d_ph", P_tr_d_ph, &b_P_tr_d_ph); + fChain->SetBranchAddress("Ndata.P.tr.d_th", &Ndata_P_tr_d_th, &b_Ndata_P_tr_d_th); + fChain->SetBranchAddress("P.tr.d_th", P_tr_d_th, &b_P_tr_d_th); + fChain->SetBranchAddress("Ndata.P.tr.d_x", &Ndata_P_tr_d_x, &b_Ndata_P_tr_d_x); + fChain->SetBranchAddress("P.tr.d_x", P_tr_d_x, &b_P_tr_d_x); + fChain->SetBranchAddress("Ndata.P.tr.d_y", &Ndata_P_tr_d_y, &b_Ndata_P_tr_d_y); + fChain->SetBranchAddress("P.tr.d_y", P_tr_d_y, &b_P_tr_d_y); + fChain->SetBranchAddress("Ndata.P.tr.dbeta", &Ndata_P_tr_dbeta, &b_Ndata_P_tr_dbeta); + fChain->SetBranchAddress("P.tr.dbeta", P_tr_dbeta, &b_P_tr_dbeta); + fChain->SetBranchAddress("Ndata.P.tr.dtime", &Ndata_P_tr_dtime, &b_Ndata_P_tr_dtime); + fChain->SetBranchAddress("P.tr.dtime", P_tr_dtime, &b_P_tr_dtime); + fChain->SetBranchAddress("Ndata.P.tr.flag", &Ndata_P_tr_flag, &b_Ndata_P_tr_flag); + fChain->SetBranchAddress("P.tr.flag", P_tr_flag, &b_P_tr_flag); + fChain->SetBranchAddress("Ndata.P.tr.ndof", &Ndata_P_tr_ndof, &b_Ndata_P_tr_ndof); + fChain->SetBranchAddress("P.tr.ndof", P_tr_ndof, &b_P_tr_ndof); + fChain->SetBranchAddress("Ndata.P.tr.p", &Ndata_P_tr_p, &b_Ndata_P_tr_p); + fChain->SetBranchAddress("P.tr.p", P_tr_p, &b_P_tr_p); + fChain->SetBranchAddress("Ndata.P.tr.pathl", &Ndata_P_tr_pathl, &b_Ndata_P_tr_pathl); + fChain->SetBranchAddress("P.tr.pathl", P_tr_pathl, &b_P_tr_pathl); + fChain->SetBranchAddress("Ndata.P.tr.ph", &Ndata_P_tr_ph, &b_Ndata_P_tr_ph); + fChain->SetBranchAddress("P.tr.ph", P_tr_ph, &b_P_tr_ph); + fChain->SetBranchAddress("Ndata.P.tr.px", &Ndata_P_tr_px, &b_Ndata_P_tr_px); + fChain->SetBranchAddress("P.tr.px", P_tr_px, &b_P_tr_px); + fChain->SetBranchAddress("Ndata.P.tr.py", &Ndata_P_tr_py, &b_Ndata_P_tr_py); + fChain->SetBranchAddress("P.tr.py", P_tr_py, &b_P_tr_py); + fChain->SetBranchAddress("Ndata.P.tr.pz", &Ndata_P_tr_pz, &b_Ndata_P_tr_pz); + fChain->SetBranchAddress("P.tr.pz", P_tr_pz, &b_P_tr_pz); + fChain->SetBranchAddress("Ndata.P.tr.r_ph", &Ndata_P_tr_r_ph, &b_Ndata_P_tr_r_ph); + fChain->SetBranchAddress("P.tr.r_ph", P_tr_r_ph, &b_P_tr_r_ph); + fChain->SetBranchAddress("Ndata.P.tr.r_th", &Ndata_P_tr_r_th, &b_Ndata_P_tr_r_th); + fChain->SetBranchAddress("P.tr.r_th", P_tr_r_th, &b_P_tr_r_th); + fChain->SetBranchAddress("Ndata.P.tr.r_x", &Ndata_P_tr_r_x, &b_Ndata_P_tr_r_x); + fChain->SetBranchAddress("P.tr.r_x", P_tr_r_x, &b_P_tr_r_x); + fChain->SetBranchAddress("Ndata.P.tr.r_y", &Ndata_P_tr_r_y, &b_Ndata_P_tr_r_y); + fChain->SetBranchAddress("P.tr.r_y", P_tr_r_y, &b_P_tr_r_y); + fChain->SetBranchAddress("Ndata.P.tr.tg_dp", &Ndata_P_tr_tg_dp, &b_Ndata_P_tr_tg_dp); + fChain->SetBranchAddress("P.tr.tg_dp", P_tr_tg_dp, &b_P_tr_tg_dp); + fChain->SetBranchAddress("Ndata.P.tr.tg_ph", &Ndata_P_tr_tg_ph, &b_Ndata_P_tr_tg_ph); + fChain->SetBranchAddress("P.tr.tg_ph", P_tr_tg_ph, &b_P_tr_tg_ph); + fChain->SetBranchAddress("Ndata.P.tr.tg_th", &Ndata_P_tr_tg_th, &b_Ndata_P_tr_tg_th); + fChain->SetBranchAddress("P.tr.tg_th", P_tr_tg_th, &b_P_tr_tg_th); + fChain->SetBranchAddress("Ndata.P.tr.tg_y", &Ndata_P_tr_tg_y, &b_Ndata_P_tr_tg_y); + fChain->SetBranchAddress("P.tr.tg_y", P_tr_tg_y, &b_P_tr_tg_y); + fChain->SetBranchAddress("Ndata.P.tr.th", &Ndata_P_tr_th, &b_Ndata_P_tr_th); + fChain->SetBranchAddress("P.tr.th", P_tr_th, &b_P_tr_th); + fChain->SetBranchAddress("Ndata.P.tr.time", &Ndata_P_tr_time, &b_Ndata_P_tr_time); + fChain->SetBranchAddress("P.tr.time", P_tr_time, &b_P_tr_time); + fChain->SetBranchAddress("Ndata.P.tr.vx", &Ndata_P_tr_vx, &b_Ndata_P_tr_vx); + fChain->SetBranchAddress("P.tr.vx", P_tr_vx, &b_P_tr_vx); + fChain->SetBranchAddress("Ndata.P.tr.vy", &Ndata_P_tr_vy, &b_Ndata_P_tr_vy); + fChain->SetBranchAddress("P.tr.vy", P_tr_vy, &b_P_tr_vy); + fChain->SetBranchAddress("Ndata.P.tr.vz", &Ndata_P_tr_vz, &b_Ndata_P_tr_vz); + fChain->SetBranchAddress("P.tr.vz", P_tr_vz, &b_P_tr_vz); + fChain->SetBranchAddress("Ndata.P.tr.x", &Ndata_P_tr_x, &b_Ndata_P_tr_x); + fChain->SetBranchAddress("P.tr.x", P_tr_x, &b_P_tr_x); + fChain->SetBranchAddress("Ndata.P.tr.y", &Ndata_P_tr_y, &b_Ndata_P_tr_y); + fChain->SetBranchAddress("P.tr.y", P_tr_y, &b_P_tr_y); + fChain->SetBranchAddress("P.aero.negNpeSum", &P_aero_negNpeSum, &b_P_aero_negNpeSum); + fChain->SetBranchAddress("P.aero.npeSum", &P_aero_npeSum, &b_P_aero_npeSum); + fChain->SetBranchAddress("P.aero.posNpeSum", &P_aero_posNpeSum, &b_P_aero_posNpeSum); + fChain->SetBranchAddress("P.aero.totNumGoodNegAdcHits", &P_aero_totNumGoodNegAdcHits, &b_P_aero_totNumGoodNegAdcHits); + fChain->SetBranchAddress("P.aero.totNumGoodPosAdcHits", &P_aero_totNumGoodPosAdcHits, &b_P_aero_totNumGoodPosAdcHits); + fChain->SetBranchAddress("P.aero.totNumTracksFired", &P_aero_totNumTracksFired, &b_P_aero_totNumTracksFired); + fChain->SetBranchAddress("P.aero.totNumTracksMatched", &P_aero_totNumTracksMatched, &b_P_aero_totNumTracksMatched); + fChain->SetBranchAddress("P.aero.totnumGoodAdcHits", &P_aero_totnumGoodAdcHits, &b_P_aero_totnumGoodAdcHits); + fChain->SetBranchAddress("P.cal.etot", &P_cal_etot, &b_P_cal_etot); + fChain->SetBranchAddress("P.cal.etotnorm", &P_cal_etotnorm, &b_P_cal_etotnorm); + fChain->SetBranchAddress("P.cal.etrack", &P_cal_etrack, &b_P_cal_etrack); + fChain->SetBranchAddress("P.cal.etracknorm", &P_cal_etracknorm, &b_P_cal_etracknorm); + fChain->SetBranchAddress("P.cal.fly.earray", &P_cal_fly_earray, &b_P_cal_fly_earray); + fChain->SetBranchAddress("P.cal.fly.nclust", &P_cal_fly_nclust, &b_P_cal_fly_nclust); + fChain->SetBranchAddress("P.cal.fly.nghits", &P_cal_fly_nghits, &b_P_cal_fly_nghits); + fChain->SetBranchAddress("P.cal.fly.nhits", &P_cal_fly_nhits, &b_P_cal_fly_nhits); + fChain->SetBranchAddress("P.cal.fly.ntracks", &P_cal_fly_ntracks, &b_P_cal_fly_ntracks); + fChain->SetBranchAddress("P.cal.nblock_high_ene", &P_cal_nblock_high_ene, &b_P_cal_nblock_high_ene); + fChain->SetBranchAddress("P.cal.nclust", &P_cal_nclust, &b_P_cal_nclust); + fChain->SetBranchAddress("P.cal.nclustarraytrack", &P_cal_nclustarraytrack, &b_P_cal_nclustarraytrack); + fChain->SetBranchAddress("P.cal.nclusttrack", &P_cal_nclusttrack, &b_P_cal_nclusttrack); + fChain->SetBranchAddress("P.cal.nhits", &P_cal_nhits, &b_P_cal_nhits); + fChain->SetBranchAddress("P.cal.ntracks", &P_cal_ntracks, &b_P_cal_ntracks); + fChain->SetBranchAddress("P.cal.pr.eplane", &P_cal_pr_eplane, &b_P_cal_pr_eplane); + fChain->SetBranchAddress("P.cal.pr.eplane_neg", &P_cal_pr_eplane_neg, &b_P_cal_pr_eplane_neg); + fChain->SetBranchAddress("P.cal.pr.eplane_pos", &P_cal_pr_eplane_pos, &b_P_cal_pr_eplane_pos); + fChain->SetBranchAddress("P.cal.sizeclustarray", &P_cal_sizeclustarray, &b_P_cal_sizeclustarray); + fChain->SetBranchAddress("P.cal.xclustarraytrack", &P_cal_xclustarraytrack, &b_P_cal_xclustarraytrack); + fChain->SetBranchAddress("P.cal.xclusttrack", &P_cal_xclusttrack, &b_P_cal_xclusttrack); + fChain->SetBranchAddress("P.cal.xtrack", &P_cal_xtrack, &b_P_cal_xtrack); + fChain->SetBranchAddress("P.cal.xtrackarray", &P_cal_xtrackarray, &b_P_cal_xtrackarray); + fChain->SetBranchAddress("P.cal.yclustarraytrack", &P_cal_yclustarraytrack, &b_P_cal_yclustarraytrack); + fChain->SetBranchAddress("P.cal.yclusttrack", &P_cal_yclusttrack, &b_P_cal_yclusttrack); + fChain->SetBranchAddress("P.cal.ytrack", &P_cal_ytrack, &b_P_cal_ytrack); + fChain->SetBranchAddress("P.cal.ytrackarray", &P_cal_ytrackarray, &b_P_cal_ytrackarray); + fChain->SetBranchAddress("P.dc.1u1.nhit", &P_dc_1u1_nhit, &b_P_dc_1u1_nhit); + fChain->SetBranchAddress("P.dc.1u2.nhit", &P_dc_1u2_nhit, &b_P_dc_1u2_nhit); + fChain->SetBranchAddress("P.dc.1v1.nhit", &P_dc_1v1_nhit, &b_P_dc_1v1_nhit); + fChain->SetBranchAddress("P.dc.1v2.nhit", &P_dc_1v2_nhit, &b_P_dc_1v2_nhit); + fChain->SetBranchAddress("P.dc.1x1.nhit", &P_dc_1x1_nhit, &b_P_dc_1x1_nhit); + fChain->SetBranchAddress("P.dc.1x2.nhit", &P_dc_1x2_nhit, &b_P_dc_1x2_nhit); + fChain->SetBranchAddress("P.dc.2u1.nhit", &P_dc_2u1_nhit, &b_P_dc_2u1_nhit); + fChain->SetBranchAddress("P.dc.2u2.nhit", &P_dc_2u2_nhit, &b_P_dc_2u2_nhit); + fChain->SetBranchAddress("P.dc.2v1.nhit", &P_dc_2v1_nhit, &b_P_dc_2v1_nhit); + fChain->SetBranchAddress("P.dc.2v2.nhit", &P_dc_2v2_nhit, &b_P_dc_2v2_nhit); + fChain->SetBranchAddress("P.dc.2x1.nhit", &P_dc_2x1_nhit, &b_P_dc_2x1_nhit); + fChain->SetBranchAddress("P.dc.2x2.nhit", &P_dc_2x2_nhit, &b_P_dc_2x2_nhit); + fChain->SetBranchAddress("P.dc.Ch1.maxhits", &P_dc_Ch1_maxhits, &b_P_dc_Ch1_maxhits); + fChain->SetBranchAddress("P.dc.Ch1.nhit", &P_dc_Ch1_nhit, &b_P_dc_Ch1_nhit); + fChain->SetBranchAddress("P.dc.Ch1.spacepoints", &P_dc_Ch1_spacepoints, &b_P_dc_Ch1_spacepoints); + fChain->SetBranchAddress("P.dc.Ch1.trawhit", &P_dc_Ch1_trawhit, &b_P_dc_Ch1_trawhit); + fChain->SetBranchAddress("P.dc.Ch2.maxhits", &P_dc_Ch2_maxhits, &b_P_dc_Ch2_maxhits); + fChain->SetBranchAddress("P.dc.Ch2.nhit", &P_dc_Ch2_nhit, &b_P_dc_Ch2_nhit); + fChain->SetBranchAddress("P.dc.Ch2.spacepoints", &P_dc_Ch2_spacepoints, &b_P_dc_Ch2_spacepoints); + fChain->SetBranchAddress("P.dc.Ch2.trawhit", &P_dc_Ch2_trawhit, &b_P_dc_Ch2_trawhit); + fChain->SetBranchAddress("P.dc.nhit", &P_dc_nhit, &b_P_dc_nhit); + fChain->SetBranchAddress("P.dc.nsp", &P_dc_nsp, &b_P_dc_nsp); + fChain->SetBranchAddress("P.dc.ntrack", &P_dc_ntrack, &b_P_dc_ntrack); + fChain->SetBranchAddress("P.dc.stubtest", &P_dc_stubtest, &b_P_dc_stubtest); + fChain->SetBranchAddress("P.dc.tnhit", &P_dc_tnhit, &b_P_dc_tnhit); + fChain->SetBranchAddress("P.dc.trawhit", &P_dc_trawhit, &b_P_dc_trawhit); + fChain->SetBranchAddress("P.dc.x_fp", &P_dc_x_fp, &b_P_dc_x_fp); + fChain->SetBranchAddress("P.dc.xp_fp", &P_dc_xp_fp, &b_P_dc_xp_fp); + fChain->SetBranchAddress("P.dc.y_fp", &P_dc_y_fp, &b_P_dc_y_fp); + fChain->SetBranchAddress("P.dc.yp_fp", &P_dc_yp_fp, &b_P_dc_yp_fp); + fChain->SetBranchAddress("P.hgcer.npeSum", &P_hgcer_npeSum, &b_P_hgcer_npeSum); + fChain->SetBranchAddress("P.hgcer.totNumGoodAdcHits", &P_hgcer_totNumGoodAdcHits, &b_P_hgcer_totNumGoodAdcHits); + fChain->SetBranchAddress("P.hgcer.totNumTracksFired", &P_hgcer_totNumTracksFired, &b_P_hgcer_totNumTracksFired); + fChain->SetBranchAddress("P.hgcer.totNumTracksMatched", &P_hgcer_totNumTracksMatched, &b_P_hgcer_totNumTracksMatched); + fChain->SetBranchAddress("P.hod.1x.fptime", &P_hod_1x_fptime, &b_P_hod_1x_fptime); + fChain->SetBranchAddress("P.hod.1x.ngoodhits", &P_hod_1x_ngoodhits, &b_P_hod_1x_ngoodhits); + fChain->SetBranchAddress("P.hod.1x.nhits", &P_hod_1x_nhits, &b_P_hod_1x_nhits); + fChain->SetBranchAddress("P.hod.1y.fptime", &P_hod_1y_fptime, &b_P_hod_1y_fptime); + fChain->SetBranchAddress("P.hod.1y.ngoodhits", &P_hod_1y_ngoodhits, &b_P_hod_1y_ngoodhits); + fChain->SetBranchAddress("P.hod.1y.nhits", &P_hod_1y_nhits, &b_P_hod_1y_nhits); + fChain->SetBranchAddress("P.hod.2x.fptime", &P_hod_2x_fptime, &b_P_hod_2x_fptime); + fChain->SetBranchAddress("P.hod.2x.ngoodhits", &P_hod_2x_ngoodhits, &b_P_hod_2x_ngoodhits); + fChain->SetBranchAddress("P.hod.2x.nhits", &P_hod_2x_nhits, &b_P_hod_2x_nhits); + fChain->SetBranchAddress("P.hod.2y.fptime", &P_hod_2y_fptime, &b_P_hod_2y_fptime); + fChain->SetBranchAddress("P.hod.2y.ngoodhits", &P_hod_2y_ngoodhits, &b_P_hod_2y_ngoodhits); + fChain->SetBranchAddress("P.hod.2y.nhits", &P_hod_2y_nhits, &b_P_hod_2y_nhits); + fChain->SetBranchAddress("P.hod.beta", &P_hod_beta, &b_P_hod_beta); + fChain->SetBranchAddress("P.hod.betachisqnotrack", &P_hod_betachisqnotrack, &b_P_hod_betachisqnotrack); + fChain->SetBranchAddress("P.hod.betanotrack", &P_hod_betanotrack, &b_P_hod_betanotrack); + fChain->SetBranchAddress("P.hod.fpHitsTime", &P_hod_fpHitsTime, &b_P_hod_fpHitsTime); + fChain->SetBranchAddress("P.hod.goodscinhit", &P_hod_goodscinhit, &b_P_hod_goodscinhit); + fChain->SetBranchAddress("P.hod.goodstarttime", &P_hod_goodstarttime, &b_P_hod_goodstarttime); + fChain->SetBranchAddress("P.hod.starttime", &P_hod_starttime, &b_P_hod_starttime); + fChain->SetBranchAddress("P.ngcer.npeSum", &P_ngcer_npeSum, &b_P_ngcer_npeSum); + fChain->SetBranchAddress("P.ngcer.totNumGoodAdcHits", &P_ngcer_totNumGoodAdcHits, &b_P_ngcer_totNumGoodAdcHits); + fChain->SetBranchAddress("P.ngcer.totNumTracksFired", &P_ngcer_totNumTracksFired, &b_P_ngcer_totNumTracksFired); + fChain->SetBranchAddress("P.ngcer.totNumTracksMatched", &P_ngcer_totNumTracksMatched, &b_P_ngcer_totNumTracksMatched); + fChain->SetBranchAddress("P.tr.n", &P_tr_n, &b_P_tr_n); + fChain->SetBranchAddress("T.shms.p1T_tdcMultiplicity", &T_shms_p1T_tdcMultiplicity, &b_T_shms_p1T_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p1T_tdcTime", &T_shms_p1T_tdcTime, &b_T_shms_p1T_tdcTime); + fChain->SetBranchAddress("T.shms.p1T_tdcTimeRaw", &T_shms_p1T_tdcTimeRaw, &b_T_shms_p1T_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p1X_tdcMultiplicity", &T_shms_p1X_tdcMultiplicity, &b_T_shms_p1X_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p1X_tdcTime", &T_shms_p1X_tdcTime, &b_T_shms_p1X_tdcTime); + fChain->SetBranchAddress("T.shms.p1X_tdcTimeRaw", &T_shms_p1X_tdcTimeRaw, &b_T_shms_p1X_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p1Y_tdcMultiplicity", &T_shms_p1Y_tdcMultiplicity, &b_T_shms_p1Y_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p1Y_tdcTime", &T_shms_p1Y_tdcTime, &b_T_shms_p1Y_tdcTime); + fChain->SetBranchAddress("T.shms.p1Y_tdcTimeRaw", &T_shms_p1Y_tdcTimeRaw, &b_T_shms_p1Y_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p2T_tdcMultiplicity", &T_shms_p2T_tdcMultiplicity, &b_T_shms_p2T_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p2T_tdcTime", &T_shms_p2T_tdcTime, &b_T_shms_p2T_tdcTime); + fChain->SetBranchAddress("T.shms.p2T_tdcTimeRaw", &T_shms_p2T_tdcTimeRaw, &b_T_shms_p2T_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p2X_tdcMultiplicity", &T_shms_p2X_tdcMultiplicity, &b_T_shms_p2X_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p2X_tdcTime", &T_shms_p2X_tdcTime, &b_T_shms_p2X_tdcTime); + fChain->SetBranchAddress("T.shms.p2X_tdcTimeRaw", &T_shms_p2X_tdcTimeRaw, &b_T_shms_p2X_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p2Y_tdcMultiplicity", &T_shms_p2Y_tdcMultiplicity, &b_T_shms_p2Y_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p2Y_tdcTime", &T_shms_p2Y_tdcTime, &b_T_shms_p2Y_tdcTime); + fChain->SetBranchAddress("T.shms.p2Y_tdcTimeRaw", &T_shms_p2Y_tdcTimeRaw, &b_T_shms_p2Y_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_adcMultiplicity", &T_shms_pAERSUM_adcMultiplicity, &b_T_shms_pAERSUM_adcMultiplicity); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPed", &T_shms_pAERSUM_adcPed, &b_T_shms_pAERSUM_adcPed); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPedRaw", &T_shms_pAERSUM_adcPedRaw, &b_T_shms_pAERSUM_adcPedRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseAmp", &T_shms_pAERSUM_adcPulseAmp, &b_T_shms_pAERSUM_adcPulseAmp); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseAmpRaw", &T_shms_pAERSUM_adcPulseAmpRaw, &b_T_shms_pAERSUM_adcPulseAmpRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseInt", &T_shms_pAERSUM_adcPulseInt, &b_T_shms_pAERSUM_adcPulseInt); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseIntRaw", &T_shms_pAERSUM_adcPulseIntRaw, &b_T_shms_pAERSUM_adcPulseIntRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseTimeRaw", &T_shms_pAERSUM_adcPulseTimeRaw, &b_T_shms_pAERSUM_adcPulseTimeRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_tdcMultiplicity", &T_shms_pAERSUM_tdcMultiplicity, &b_T_shms_pAERSUM_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pAERSUM_tdcTime", &T_shms_pAERSUM_tdcTime, &b_T_shms_pAERSUM_tdcTime); + fChain->SetBranchAddress("T.shms.pAERSUM_tdcTimeRaw", &T_shms_pAERSUM_tdcTimeRaw, &b_T_shms_pAERSUM_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF10_tdcMultiplicity", &T_shms_pDCREF10_tdcMultiplicity, &b_T_shms_pDCREF10_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF10_tdcTime", &T_shms_pDCREF10_tdcTime, &b_T_shms_pDCREF10_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF10_tdcTimeRaw", &T_shms_pDCREF10_tdcTimeRaw, &b_T_shms_pDCREF10_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF1_tdcMultiplicity", &T_shms_pDCREF1_tdcMultiplicity, &b_T_shms_pDCREF1_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF1_tdcTime", &T_shms_pDCREF1_tdcTime, &b_T_shms_pDCREF1_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF1_tdcTimeRaw", &T_shms_pDCREF1_tdcTimeRaw, &b_T_shms_pDCREF1_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF2_tdcMultiplicity", &T_shms_pDCREF2_tdcMultiplicity, &b_T_shms_pDCREF2_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF2_tdcTime", &T_shms_pDCREF2_tdcTime, &b_T_shms_pDCREF2_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF2_tdcTimeRaw", &T_shms_pDCREF2_tdcTimeRaw, &b_T_shms_pDCREF2_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF3_tdcMultiplicity", &T_shms_pDCREF3_tdcMultiplicity, &b_T_shms_pDCREF3_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF3_tdcTime", &T_shms_pDCREF3_tdcTime, &b_T_shms_pDCREF3_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF3_tdcTimeRaw", &T_shms_pDCREF3_tdcTimeRaw, &b_T_shms_pDCREF3_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF4_tdcMultiplicity", &T_shms_pDCREF4_tdcMultiplicity, &b_T_shms_pDCREF4_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF4_tdcTime", &T_shms_pDCREF4_tdcTime, &b_T_shms_pDCREF4_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF4_tdcTimeRaw", &T_shms_pDCREF4_tdcTimeRaw, &b_T_shms_pDCREF4_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF5_tdcMultiplicity", &T_shms_pDCREF5_tdcMultiplicity, &b_T_shms_pDCREF5_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF5_tdcTime", &T_shms_pDCREF5_tdcTime, &b_T_shms_pDCREF5_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF5_tdcTimeRaw", &T_shms_pDCREF5_tdcTimeRaw, &b_T_shms_pDCREF5_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF6_tdcMultiplicity", &T_shms_pDCREF6_tdcMultiplicity, &b_T_shms_pDCREF6_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF6_tdcTime", &T_shms_pDCREF6_tdcTime, &b_T_shms_pDCREF6_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF6_tdcTimeRaw", &T_shms_pDCREF6_tdcTimeRaw, &b_T_shms_pDCREF6_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF7_tdcMultiplicity", &T_shms_pDCREF7_tdcMultiplicity, &b_T_shms_pDCREF7_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF7_tdcTime", &T_shms_pDCREF7_tdcTime, &b_T_shms_pDCREF7_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF7_tdcTimeRaw", &T_shms_pDCREF7_tdcTimeRaw, &b_T_shms_pDCREF7_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF8_tdcMultiplicity", &T_shms_pDCREF8_tdcMultiplicity, &b_T_shms_pDCREF8_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF8_tdcTime", &T_shms_pDCREF8_tdcTime, &b_T_shms_pDCREF8_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF8_tdcTimeRaw", &T_shms_pDCREF8_tdcTimeRaw, &b_T_shms_pDCREF8_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF9_tdcMultiplicity", &T_shms_pDCREF9_tdcMultiplicity, &b_T_shms_pDCREF9_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF9_tdcTime", &T_shms_pDCREF9_tdcTime, &b_T_shms_pDCREF9_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF9_tdcTimeRaw", &T_shms_pDCREF9_tdcTimeRaw, &b_T_shms_pDCREF9_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcMultiplicity", &T_shms_pHGCSUM_adcMultiplicity, &b_T_shms_pHGCSUM_adcMultiplicity); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPed", &T_shms_pHGCSUM_adcPed, &b_T_shms_pHGCSUM_adcPed); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPedRaw", &T_shms_pHGCSUM_adcPedRaw, &b_T_shms_pHGCSUM_adcPedRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseAmp", &T_shms_pHGCSUM_adcPulseAmp, &b_T_shms_pHGCSUM_adcPulseAmp); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseAmpRaw", &T_shms_pHGCSUM_adcPulseAmpRaw, &b_T_shms_pHGCSUM_adcPulseAmpRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseInt", &T_shms_pHGCSUM_adcPulseInt, &b_T_shms_pHGCSUM_adcPulseInt); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseIntRaw", &T_shms_pHGCSUM_adcPulseIntRaw, &b_T_shms_pHGCSUM_adcPulseIntRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseTimeRaw", &T_shms_pHGCSUM_adcPulseTimeRaw, &b_T_shms_pHGCSUM_adcPulseTimeRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_tdcMultiplicity", &T_shms_pHGCSUM_tdcMultiplicity, &b_T_shms_pHGCSUM_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pHGCSUM_tdcTime", &T_shms_pHGCSUM_tdcTime, &b_T_shms_pHGCSUM_tdcTime); + fChain->SetBranchAddress("T.shms.pHGCSUM_tdcTimeRaw", &T_shms_pHGCSUM_tdcTimeRaw, &b_T_shms_pHGCSUM_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcMultiplicity", &T_shms_pNGCSUM_adcMultiplicity, &b_T_shms_pNGCSUM_adcMultiplicity); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPed", &T_shms_pNGCSUM_adcPed, &b_T_shms_pNGCSUM_adcPed); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPedRaw", &T_shms_pNGCSUM_adcPedRaw, &b_T_shms_pNGCSUM_adcPedRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseAmp", &T_shms_pNGCSUM_adcPulseAmp, &b_T_shms_pNGCSUM_adcPulseAmp); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseAmpRaw", &T_shms_pNGCSUM_adcPulseAmpRaw, &b_T_shms_pNGCSUM_adcPulseAmpRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseInt", &T_shms_pNGCSUM_adcPulseInt, &b_T_shms_pNGCSUM_adcPulseInt); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseIntRaw", &T_shms_pNGCSUM_adcPulseIntRaw, &b_T_shms_pNGCSUM_adcPulseIntRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseTimeRaw", &T_shms_pNGCSUM_adcPulseTimeRaw, &b_T_shms_pNGCSUM_adcPulseTimeRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_tdcMultiplicity", &T_shms_pNGCSUM_tdcMultiplicity, &b_T_shms_pNGCSUM_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pNGCSUM_tdcTime", &T_shms_pNGCSUM_tdcTime, &b_T_shms_pNGCSUM_tdcTime); + fChain->SetBranchAddress("T.shms.pNGCSUM_tdcTimeRaw", &T_shms_pNGCSUM_tdcTimeRaw, &b_T_shms_pNGCSUM_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pT1_tdcMultiplicity", &T_shms_pT1_tdcMultiplicity, &b_T_shms_pT1_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pT1_tdcTime", &T_shms_pT1_tdcTime, &b_T_shms_pT1_tdcTime); + fChain->SetBranchAddress("T.shms.pT1_tdcTimeRaw", &T_shms_pT1_tdcTimeRaw, &b_T_shms_pT1_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pT2_tdcMultiplicity", &T_shms_pT2_tdcMultiplicity, &b_T_shms_pT2_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pT2_tdcTime", &T_shms_pT2_tdcTime, &b_T_shms_pT2_tdcTime); + fChain->SetBranchAddress("T.shms.pT2_tdcTimeRaw", &T_shms_pT2_tdcTimeRaw, &b_T_shms_pT2_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pT3_tdcMultiplicity", &T_shms_pT3_tdcMultiplicity, &b_T_shms_pT3_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pT3_tdcTime", &T_shms_pT3_tdcTime, &b_T_shms_pT3_tdcTime); + fChain->SetBranchAddress("T.shms.pT3_tdcTimeRaw", &T_shms_pT3_tdcTimeRaw, &b_T_shms_pT3_tdcTimeRaw); + fChain->SetBranchAddress("fEvtHdr.fEvtTime", &fEvtHdr_fEvtTime, &b_Event_Branch_fEvtHdr_fEvtTime); + fChain->SetBranchAddress("fEvtHdr.fEvtNum", &fEvtHdr_fEvtNum, &b_Event_Branch_fEvtHdr_fEvtNum); + fChain->SetBranchAddress("fEvtHdr.fEvtType", &fEvtHdr_fEvtType, &b_Event_Branch_fEvtHdr_fEvtType); + fChain->SetBranchAddress("fEvtHdr.fEvtLen", &fEvtHdr_fEvtLen, &b_Event_Branch_fEvtHdr_fEvtLen); + fChain->SetBranchAddress("fEvtHdr.fHelicity", &fEvtHdr_fHelicity, &b_Event_Branch_fEvtHdr_fHelicity); + fChain->SetBranchAddress("fEvtHdr.fTargetPol", &fEvtHdr_fTargetPol, &b_Event_Branch_fEvtHdr_fTargetPol); + fChain->SetBranchAddress("fEvtHdr.fRun", &fEvtHdr_fRun, &b_Event_Branch_fEvtHdr_fRun); +} + +Bool_t calibration::Notify() +{ + // The Notify() function is called when a new file is opened. This + // can be either for a new TTree in a TChain or when when a new TTree + // is started when using PROOF. It is normally not necessary to make changes + // to the generated code, but the routine can be extended by the + // user if needed. The return value is currently not used. + + return kTRUE; +} + +#endif // #ifdef calibration_cxx diff --git a/CALIBRATION/shms_hgcer_calib/data_files/.gitkeep b/CALIBRATION/shms_hgcer_calib/data_files/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/CALIBRATION/shms_hgcer_calib/efficiencies.C b/CALIBRATION/shms_hgcer_calib/efficiencies.C new file mode 100644 index 0000000000000000000000000000000000000000..aecf44ccdb6abaa91044b5551285a0635289ec63 --- /dev/null +++ b/CALIBRATION/shms_hgcer_calib/efficiencies.C @@ -0,0 +1,401 @@ +#define efficiencies_cxx +// The class definition in efficiencies.h has been generated automatically +// by the ROOT utility TTree::MakeSelector(). This class is derived +// from the ROOT class TSelector. For more information on the TSelector +// framework see $ROOTSYS/README/README.SELECTOR or the ROOT User Manual. + +// The following methods are defined in this file: +// Begin(): called every time a loop on the tree starts, +// a convenient place to create your histograms. +// SlaveBegin(): called after Begin(), when on PROOF called only on the +// slave servers. +// Process(): called for each event, in this function you decide what +// to read and fill your histograms. +// SlaveTerminate: called at the end of the loop on the tree, when on PROOF +// called only on the slave servers. +// Terminate(): called at the end of the loop on the tree, +// a convenient place to draw/fit your histograms. +// +// To use this file, try the following session on your Tree T: +// +// Root > T->Process("efficiencies.C+","some options") +// Root > T->Process("efficiencies.C+") +// + +#include "efficiencies.h" +#include <TH2.h> +#include <TStyle.h> +#include <TCanvas.h> +#include <TPaveStats.h> +#include <iostream> +#include <iomanip> + +void efficiencies::Begin(TTree * /*tree*/) +{ + // The Begin() function is called at the start of the query. + // When running with PROOF Begin() is only called on the client. + // The tree argument is deprecated (on PROOF 0 is passed). + printf("\n\n"); + + TString option = GetOption(); + Info("Begin", "Starting calibration process with option: %s", option.Data()); + Info("Begin", "To show details of calculation, use option showall (will open lots of windows)"); + Info("Begin", "Default detector is HGC, use option NGC if desired"); + Info("Begin", "If cut desired on other Cherenkov, use option Chercut"); +} + +void efficiencies::SlaveBegin(TTree * /*tree*/) +{ + // The SlaveBegin() function is called after the Begin() function. + // When running with PROOF SlaveBegin() is called on each slave server. + // The tree argument is deprecated (on PROOF 0 is passed). + + printf("\n\n"); + TString option = GetOption(); + + //Determine how much to show + fShowall = kFALSE; + //Determine if cut on other Cherenkov is desired + fChercut = kFALSE; + //Which Detector is the efficiency for + fNGC = kFALSE; + + //Check option + if (option.Contains("showall")) fShowall = kTRUE; + if (option.Contains("Chercut")) fChercut = kTRUE; + if (option.Contains("NGC")) fNGC = kTRUE; + + Info("SlaveBegin", "%s showing", fShowall ? "full" : "minimal"); + Info("SlaveBegin", "%s other Cherenkov for particle ID", fChercut ? "using" : "ignoring"); + Info("SlaveBegin", "efficiency for %s is found", fNGC ? "NGC" : "HGC"); + + printf("\n"); + + //Obtain value for detector cut + cout << Form("Enter number of photoelectrons in %s to cut on: ", fNGC ? "NGC" : "HGC"); + fNGC ? cin >> fNGC_cut : cin >> fHGC_cut; + + //Obtain value for other Cherenkov cut if desired + if (fChercut) + { + cout << Form("Enter number of photoelectrons in %s to cut on: ", fNGC ? "HGC" : "NGC"); + fNGC ? cin >> fHGC_cut : cin >> fNGC_cut; + } + + //Initialize the histograms. + Int_t NPE_min; + Int_t NPE_max; + Int_t bins; + + NPE_min = 0; + NPE_max = 20; + bins = (NPE_min + NPE_max)*10; + + fNPE_eNoDet[0] = new TH1F("NPE_eNoDet_PMT1", "NPE in PMT1 No Detector Cut", bins, NPE_min, NPE_max); + fNPE_eNoDet[1] = new TH1F("NPE_eNoDet_PMT2", "NPE in PMT2 No Detector Cut", bins, NPE_min, NPE_max); + fNPE_eNoDet[2] = new TH1F("NPE_eNoDet_PMT3", "NPE in PMT3 No Detector Cut", bins, NPE_min, NPE_max); + fNPE_eNoDet[3] = new TH1F("NPE_eNoDet_PMT4", "NPE in PMT4 No Detector Cut", bins, NPE_min, NPE_max); + fNPE_eDet[0] = new TH1F("NPE_eDet_PMT1", "NPE in PMT1 with Detector Cut", bins, NPE_min, NPE_max); + fNPE_eDet[1] = new TH1F("NPE_eDet_PMT2", "NPE in PMT2 with Detector Cut", bins, NPE_min, NPE_max); + fNPE_eDet[2] = new TH1F("NPE_eDet_PMT3", "NPE in PMT3 with Detector Cut", bins, NPE_min, NPE_max); + fNPE_eDet[3] = new TH1F("NPE_eDet_PMT4", "NPE in PMT4 with Detector Cut", bins, NPE_min, NPE_max); + fNPE_Full_eNoDet = new TH1F("NPE_Full_eNoDet", "NPE in All PMTs with no Detector Cut", bins, NPE_min, NPE_max); + fNPE_Full_eDet = new TH1F("NPE_Full_eDet", "NPE in All PMTs with Detector Cut", bins, NPE_min, NPE_max); + + fNPE_piNoDet[0] = new TH1F("NPE_piNoDet_PMT1", "NPE in PMT1 No Detector Cut", bins, NPE_min, NPE_max); + fNPE_piNoDet[1] = new TH1F("NPE_piNoDet_PMT2", "NPE in PMT2 No Detector Cut", bins, NPE_min, NPE_max); + fNPE_piNoDet[2] = new TH1F("NPE_piNoDet_PMT3", "NPE in PMT3 No Detector Cut", bins, NPE_min, NPE_max); + fNPE_piNoDet[3] = new TH1F("NPE_piNoDet_PMT4", "NPE in PMT4 No Detector Cut", bins, NPE_min, NPE_max); + fNPE_piDet[0] = new TH1F("NPE_piDet_PMT1", "NPE in PMT1 with Detector Cut", bins, NPE_min, NPE_max); + fNPE_piDet[1] = new TH1F("NPE_piDet_PMT2", "NPE in PMT2 with Detector Cut", bins, NPE_min, NPE_max); + fNPE_piDet[2] = new TH1F("NPE_piDet_PMT3", "NPE in PMT3 with Detector Cut", bins, NPE_min, NPE_max); + fNPE_piDet[3] = new TH1F("NPE_piDet_PMT4", "NPE in PMT4 with Detector Cut", bins, NPE_min, NPE_max); + fNPE_Full_piNoDet = new TH1F("NPE_Full_piNoDet", "NPE in All PMTs with no Detector Cut", bins, NPE_min, NPE_max); + fNPE_Full_piDet = new TH1F("NPE_Full_piDet", "NPE in All PMTs with Detector Cut", bins, NPE_min, NPE_max); + + //Histograms examining various cuts for "good" hits + fBeta_Cut = new TH1F("Beta_Cut", "Beta cut used for 'good' hits", 1000, -5, 5); + fBeta_Full = new TH1F("Beta_Full", "Full beta for events", 1000, -5, 5); + fTiming_Cut = new TH1F("Timing_Cut", "Timing cut used for 'good' hits", 10000, 0, 5000); + fTiming_Full = new TH1F("Timing_Full", "Full timing information for events", 10000, 1, 5000); + + //Histograms examining particle ID cuts + fFly_Pr_Full = new TH2F("Fly_Pr_Full", "Particle ID from calorimeter & preshower", 400, 0, 5, 400, 0 ,4); + fFly_Pr_eCut = new TH2F("Fly_Pr_eCut", "calorimeter & preshower electrons", 400, 0, 5, 400, 0 ,4); + fFly_Pr_piCut = new TH2F("Fly_Pr_piCut", "calorimeter & preshower pions", 400, 0, 5, 400, 0 ,4); + + printf("\n\n"); +} + +Bool_t efficiencies::Process(Long64_t entry) +{ + // The Process() function is called for each entry in the tree (or possibly + // keyed object in the case of PROOF) to be processed. The entry argument + // specifies which entry in the currently loaded tree is to be processed. + // It can be passed to either efficiencies::GetEntry() or TBranch::GetEntry() + // to read either all or the required parts of the data. When processing + // keyed objects with PROOF, the object is already loaded and is available + // via the fObject pointer. + // + // This function should contain the "body" of the analysis. It can contain + // simple or elaborate selection criteria, run algorithms on the data + // of the event and typically fill histograms. + // + // The processing can be stopped by calling Abort(). + // + // Use fStatus to set the return value of TTree::Process(). + // + // The return value is currently not used. + + //Output to verify script is working, and store the total number of events + if (entry % 100000 == 0) printf("Processing Entry number %lld\n",entry); + ++fNumberOfEvents; + + //Define quantities to loop over + Int_t fpmts; + fpmts = fhgc_pmts; + + //Get the entry to loop over + b_Ndata_P_tr_p->GetEntry(entry); + + //Require only one good track reconstruction for the event + if (Ndata_P_tr_p != 1) return kTRUE; + + //Redundant requirement, but useful if multiple tracks are eventually allowed + for (Int_t itrack = 0; itrack < Ndata_P_tr_p; itrack++) + { + //Require loose cut on particle velocity + b_P_tr_beta->GetEntry(entry); + fBeta_Full->Fill(P_tr_beta[itrack]); + if (TMath::Abs(P_tr_beta[itrack] - 1.0) > 0.2) return kTRUE; + fBeta_Cut->Fill(P_tr_beta[itrack]); + + //Filling the histograms + for (Int_t ipmt = 0; ipmt < fpmts; ipmt++) + { + //Require the signal passes a timing cut + fNGC ? b_P_ngcer_goodAdcPulseTime->GetEntry(entry) : b_P_hgcer_goodAdcPulseTime->GetEntry(entry); + fTiming_Full->Fill(fNGC ? P_ngcer_goodAdcPulseTime[ipmt] : P_hgcer_goodAdcPulseTime[ipmt]); + if (fNGC ? P_ngcer_goodAdcPulseTime[ipmt] < 1000 || P_ngcer_goodAdcPulseTime[ipmt] > 2000 : + P_hgcer_goodAdcPulseTime[ipmt] < 1000 || P_hgcer_goodAdcPulseTime[ipmt] > 2000) continue; + fTiming_Cut->Fill(fNGC ? P_ngcer_goodAdcPulseTime[ipmt] : P_hgcer_goodAdcPulseTime[ipmt]); + + //Require the signal passes a tracking cut, with a threshold NPE cut as well + fNGC ? b_P_ngcer_numTracksFired->GetEntry(entry) : b_P_hgcer_numTracksFired->GetEntry(entry); + if (fNGC ? P_ngcer_numTracksFired[ipmt] == 0.0 : P_hgcer_numTracksFired[ipmt] == 0.0) continue; + + //Begin particle identification using calorimeter and NGC + fNGC ? b_P_ngcer_npe->GetEntry(entry) : b_P_hgcer_npe->GetEntry(entry); + fNGC ? b_P_hgcer_npeSum->GetEntry(entry) : b_P_ngcer_npeSum->GetEntry(entry); + b_P_cal_fly_earray->GetEntry(entry); + b_P_cal_pr_eplane->GetEntry(entry); + + //Visualize what we have to cut with + fFly_Pr_Full->Fill(P_cal_fly_earray, P_cal_pr_eplane); + + //Perform cut for electrons + //Cut on Shower vs preshower is a tilted ellipse, this requires an angle of rotation (in radians), x/y center, semimajor and semiminor axis + Float_t eangle = 3.2*3.14159/4; + Float_t ex_center = 1.8; + Float_t ey_center = 1.0; + Float_t esemimajor_axis = 0.6; + Float_t esemiminor_axis = 0.20; + if (pow((P_cal_fly_earray - ex_center)*cos(eangle) + (P_cal_pr_eplane - ey_center)*sin(eangle),2)/pow(esemimajor_axis,2) + + pow((P_cal_fly_earray - ex_center)*sin(eangle) - (P_cal_pr_eplane - ey_center)*cos(eangle),2)/pow(esemiminor_axis,2) < 1 || + pow((P_cal_fly_earray - 2.25)*cos(eangle) + (P_cal_pr_eplane - 1.2)*sin(eangle),2)/pow(esemimajor_axis,2) + + pow((P_cal_fly_earray - 2.25)*sin(eangle) - (P_cal_pr_eplane - 1.2)*cos(eangle),2)/pow(esemiminor_axis,2) < 1) + { + if (!fChercut || (fChercut && (fNGC ? P_hgcer_npeSum > fHGC_cut : P_ngcer_npeSum > fNGC_cut))) //condition if cut on other Cherenkov if desired + { + fFly_Pr_eCut->Fill(P_cal_fly_earray, P_cal_pr_eplane); + fNPE_eNoDet[ipmt]->Fill(fNGC ? P_ngcer_npe[ipmt] : P_hgcer_npe[ipmt]); + fNPE_Full_eNoDet->Fill(fNGC ? P_ngcer_npe[ipmt] : P_hgcer_npe[ipmt]); + + if (fNGC ? P_ngcer_npe[ipmt] > fNGC_cut : P_hgcer_npe[ipmt] > fHGC_cut) //Cut on detector to determine efficiency + { + fNPE_eDet[ipmt]->Fill(fNGC ? P_ngcer_npe[ipmt] : P_hgcer_npe[ipmt]); + fNPE_Full_eDet->Fill(fNGC ? P_ngcer_npe[ipmt] : P_hgcer_npe[ipmt]); + } + } + } + + //Perform cut for pions + //Cut on Shower vs preshower is a tilted ellipse, this requires an angle of rotation (in radians), x/y center, semimajor and semiminor axis + Float_t piangle = 0.0; + Float_t pix_center = 0.75; + Float_t piy_center = 0.09; + Float_t pisemimajor_axis = 0.3; + Float_t pisemiminor_axis = 0.05; + if (pow((P_cal_fly_earray - pix_center)*cos(piangle) + (P_cal_pr_eplane - piy_center)*sin(piangle),2)/pow(pisemimajor_axis,2) + + pow((P_cal_fly_earray - pix_center)*sin(piangle) - (P_cal_pr_eplane - piy_center)*cos(piangle),2)/pow(pisemiminor_axis,2) < 1) + { + if (!fChercut || (fChercut && (fNGC ? P_hgcer_npeSum < fHGC_cut : P_ngcer_npeSum < fNGC_cut))) //condition if cut on other Cherenkov is desired + { + fFly_Pr_piCut->Fill(P_cal_fly_earray, P_cal_pr_eplane); + fNPE_piNoDet[ipmt]->Fill(fNGC ? P_ngcer_npe[ipmt] : P_hgcer_npe[ipmt]); + fNPE_Full_piNoDet->Fill(fNGC ? P_ngcer_npe[ipmt] : P_hgcer_npe[ipmt]); + + if (fNGC ? P_ngcer_npe[ipmt] < fNGC_cut : P_hgcer_npe[ipmt] < fHGC_cut) //Cut on detector to determine efficiency + { + fNPE_piDet[ipmt]->Fill(fNGC ? P_ngcer_npe[ipmt] : P_hgcer_npe[ipmt]); + fNPE_Full_piDet->Fill(fNGC ? P_ngcer_npe[ipmt] : P_hgcer_npe[ipmt]); + } + } + } + + }//End loop on PMTs + }//End loop over tracks + + return kTRUE; +} + +void efficiencies::SlaveTerminate() +{ + // The SlaveTerminate() function is called after all entries or objects + // have been processed. When running with PROOF SlaveTerminate() is called + // on each slave server. + +} + +void efficiencies::Terminate() +{ + // The Terminate() function is the last function to be called during + // a query. It always runs on the client, it can be used to present + // the results graphically or save the results to file. + + //Canvases to display efficiency information + if (fShowall) + { + //Canvas to show beta cut information + TCanvas *Beta; + Beta = new TCanvas("Beta", "Beta information for events"); + Beta->Divide(2,1); + Beta->cd(1); + fBeta_Full->GetXaxis()->SetTitle("Beta"); + fBeta_Full->GetYaxis()->SetTitle("Counts"); + fBeta_Full->Draw(); + Beta->cd(2); + fBeta_Cut->GetXaxis()->SetTitle("Beta"); + fBeta_Cut->GetYaxis()->SetTitle("Counts"); + fBeta_Cut->Draw(); + + //Canvas to show timing cut information + TCanvas *Timing; + Timing = new TCanvas("Timing", "Timing information for events"); + Timing->Divide(2,1); + Timing->cd(1); + fTiming_Full->GetXaxis()->SetTitle("Time (ns)"); + fTiming_Full->GetYaxis()->SetTitle("Counts"); + fTiming_Full->Draw(); + Timing->cd(2); + fTiming_Cut->GetXaxis()->SetTitle("Time (ns)"); + fTiming_Cut->GetYaxis()->SetTitle("Counts"); + fTiming_Cut->Draw(); + + //Canvas to show Particle ID cut information + TCanvas *Fly_Pr; + Fly_Pr = new TCanvas("Fly_Pr", "Particle ID info from calorimeter & Preshower"); + Fly_Pr->Divide(3,1); + Fly_Pr->cd(1); + fFly_Pr_Full->GetXaxis()->SetTitle("Calorimeter.Fly.Earray"); + fFly_Pr_Full->GetYaxis()->SetTitle("Calorimeter.Pr.Eplane"); + fFly_Pr_Full->Draw("Colz"); + Fly_Pr->cd(2); + fFly_Pr_eCut->GetXaxis()->SetTitle("Calorimeter.Fly.Earray"); + fFly_Pr_eCut->GetYaxis()->SetTitle("Calorimeter.Pr.Eplane"); + fFly_Pr_eCut->Draw("Colz"); + Fly_Pr->cd(3); + fFly_Pr_piCut->GetXaxis()->SetTitle("Calorimeter.Fly.Earray"); + fFly_Pr_piCut->GetYaxis()->SetTitle("Calorimeter.Pr.Eplane"); + fFly_Pr_piCut->Draw("Colz"); + + //Canvases to show Effects of HGC cut + //Start with electrons + gStyle->SetOptStat(11); + TCanvas *Det_eCut; + Det_eCut = new TCanvas("Det_eCut","Effect of performing cut for electrons per PMT"); + Det_eCut->Divide(2,4); + for (Int_t ipad = 1; ipad <= 7; ipad += 2) + { + Det_eCut->cd(ipad); + fNPE_eNoDet[(ipad-1)/2]->GetXaxis()->SetTitle("NPE"); + fNPE_eNoDet[(ipad-1)/2]->GetYaxis()->SetTitle("Counts"); + fNPE_eNoDet[(ipad-1)/2]->Draw(); + gPad->Update(); + TPaveStats *s = (TPaveStats*) gPad->GetPrimitive("stats"); + s->SetTextSize(0.1); + s->SetX1NDC(0.7); + s->SetY1NDC(0.5); + + Det_eCut->cd(ipad+1); + fNPE_eDet[(ipad-1)/2]->GetXaxis()->SetTitle("NPE"); + fNPE_eDet[(ipad-1)/2]->GetYaxis()->SetTitle("Counts"); + fNPE_eDet[(ipad-1)/2]->Draw(); + gPad->Update(); + TPaveStats *s2 = (TPaveStats*) gPad->GetPrimitive("stats"); + s2->SetTextSize(0.1); + s2->SetX1NDC(0.7); + s2->SetY1NDC(0.5); + } + + TCanvas *Det_eCut_Full; + Det_eCut_Full = new TCanvas("Det_eCut_Full","Effect of performing cut for electrons"); + Det_eCut_Full->Divide(2,1); + Det_eCut_Full->cd(1); + fNPE_Full_eNoDet->GetXaxis()->SetTitle("NPE"); + fNPE_Full_eNoDet->GetYaxis()->SetTitle("Counts"); + fNPE_Full_eNoDet->Draw(); + Det_eCut_Full->cd(2); + fNPE_Full_eDet->GetXaxis()->SetTitle("NPE"); + fNPE_Full_eDet->GetYaxis()->SetTitle("Counts"); + fNPE_Full_eDet->Draw(); + + //End with Pions + gStyle->SetOptStat(11); + TCanvas *Det_piCut; + Det_piCut = new TCanvas("Det_piCut","Effect of performing cut for pions per PMT"); + Det_piCut->Divide(2,4); + for (Int_t ipad = 1; ipad <= 7; ipad += 2) + { + Det_piCut->cd(ipad); + fNPE_piNoDet[(ipad-1)/2]->GetXaxis()->SetTitle("NPE"); + fNPE_piNoDet[(ipad-1)/2]->GetYaxis()->SetTitle("Counts"); + fNPE_piNoDet[(ipad-1)/2]->Draw(); + gPad->Update(); + TPaveStats *s3 = (TPaveStats*) gPad->GetPrimitive("stats"); + s3->SetTextSize(0.1); + s3->SetX1NDC(0.7); + s3->SetY1NDC(0.5); + + Det_piCut->cd(ipad+1); + fNPE_piDet[(ipad-1)/2]->GetXaxis()->SetTitle("NPE"); + fNPE_piDet[(ipad-1)/2]->GetYaxis()->SetTitle("Counts"); + fNPE_piDet[(ipad-1)/2]->Draw(); + gPad->Update(); + TPaveStats *s4 = (TPaveStats*) gPad->GetPrimitive("stats"); + s4->SetTextSize(0.1); + s4->SetX1NDC(0.7); + s4->SetY1NDC(0.5); + } + + TCanvas *Det_piCut_Full; + Det_piCut_Full = new TCanvas("Det_piCut_Full","Effect of performing cut for pions"); + Det_piCut_Full->Divide(2,1); + Det_piCut_Full->cd(1); + fNPE_Full_piNoDet->GetXaxis()->SetTitle("NPE"); + fNPE_Full_piNoDet->GetYaxis()->SetTitle("Counts"); + fNPE_Full_piNoDet->Draw(); + Det_piCut_Full->cd(2); + fNPE_Full_piDet->GetXaxis()->SetTitle("NPE"); + fNPE_Full_piDet->GetYaxis()->SetTitle("Counts"); + fNPE_Full_piDet->Draw(); + } + + //Output the actual efficiency information i.e. ratio of detected particles + cout << Form("\n\nEfficiencies for the %s with a cut at %.1f are:\nPMT# electrons pions", fNGC ? "NGC" : "HGC", fNGC ? fNGC_cut : fHGC_cut) << endl; + for (Int_t i=0; i<4; i++) + { + printf("PMT%d: %2.2f%% %2.2f%%\n",i+1, (fNPE_eDet[i]->GetEntries()/fNPE_eNoDet[i]->GetEntries())*100.0, (fNPE_piDet[i]->GetEntries()/fNPE_piNoDet[i]->GetEntries())*100.0); + } + printf("Full: %2.2f%% %2.2f%%\n\n",(fNPE_Full_eDet->GetEntries()/fNPE_Full_eNoDet->GetEntries())*100.0,(fNPE_Full_piDet->GetEntries()/fNPE_Full_piNoDet->GetEntries())*100.0); +} diff --git a/CALIBRATION/shms_hgcer_calib/efficiencies.h b/CALIBRATION/shms_hgcer_calib/efficiencies.h new file mode 100644 index 0000000000000000000000000000000000000000..6df0b713139b0e3c68c6592410283552f813abd4 --- /dev/null +++ b/CALIBRATION/shms_hgcer_calib/efficiencies.h @@ -0,0 +1,2579 @@ +////////////////////////////////////////////////////////// +// This class has been automatically generated on +// Thu Jul 20 10:25:29 2017 by ROOT version 5.34/13 +// from TTree T/Hall A Analyzer Output DST +// found on file: ../../ROOTfiles/shms_replay_488_-1.root +////////////////////////////////////////////////////////// + +#ifndef efficiencies_h +#define efficiencies_h + +#include <TROOT.h> +#include <TChain.h> +#include <TFile.h> +#include <TSelector.h> +#include <TH1.h> +#include <TH2.h> + +// Header file for the classes stored in the TTree if any. + +// Fixed size dimensions of array or collections stored in the TTree if any. + +class efficiencies : public TSelector { +public : + TTree *fChain; //!pointer to the analyzed TTree or TChain + Int_t fNumberOfEvents; + Bool_t fShowall; + Bool_t fChercut; + Bool_t fNGC; + Float_t fHGC_cut; + Float_t fNGC_cut; + + // Declaration of histograms + TH1F *fNPE_eNoDet[4]; + TH1F *fNPE_eDet[4]; + TH1F *fNPE_Full_eNoDet; + TH1F *fNPE_Full_eDet; + TH1F *fNPE_piNoDet[4]; + TH1F *fNPE_piDet[4]; + TH1F *fNPE_Full_piNoDet; + TH1F *fNPE_Full_piDet; + TH1F *fBeta_Cut; + TH1F *fBeta_Full; + TH1F *fTiming_Cut; + TH1F *fTiming_Full; + TH2F *fFly_Pr_Full; + TH2F *fFly_Pr_eCut; + TH2F *fFly_Pr_piCut; + + // Declaration of detector specific constants + Int_t fhgc_pmts; + + // Declaration of leaf types + Int_t Ndata_P_aero_goodNegAdcPed; + Double_t P_aero_goodNegAdcPed[7]; //[Ndata.P.aero.goodNegAdcPed] + Int_t Ndata_P_aero_goodNegAdcPulseAmp; + Double_t P_aero_goodNegAdcPulseAmp[7]; //[Ndata.P.aero.goodNegAdcPulseAmp] + Int_t Ndata_P_aero_goodNegAdcPulseInt; + Double_t P_aero_goodNegAdcPulseInt[7]; //[Ndata.P.aero.goodNegAdcPulseInt] + Int_t Ndata_P_aero_goodNegAdcPulseIntRaw; + Double_t P_aero_goodNegAdcPulseIntRaw[7]; //[Ndata.P.aero.goodNegAdcPulseIntRaw] + Int_t Ndata_P_aero_goodNegAdcPulseTime; + Double_t P_aero_goodNegAdcPulseTime[7]; //[Ndata.P.aero.goodNegAdcPulseTime] + Int_t Ndata_P_aero_goodPosAdcPed; + Double_t P_aero_goodPosAdcPed[7]; //[Ndata.P.aero.goodPosAdcPed] + Int_t Ndata_P_aero_goodPosAdcPulseAmp; + Double_t P_aero_goodPosAdcPulseAmp[7]; //[Ndata.P.aero.goodPosAdcPulseAmp] + Int_t Ndata_P_aero_goodPosAdcPulseInt; + Double_t P_aero_goodPosAdcPulseInt[7]; //[Ndata.P.aero.goodPosAdcPulseInt] + Int_t Ndata_P_aero_goodPosAdcPulseIntRaw; + Double_t P_aero_goodPosAdcPulseIntRaw[7]; //[Ndata.P.aero.goodPosAdcPulseIntRaw] + Int_t Ndata_P_aero_goodPosAdcPulseTime; + Double_t P_aero_goodPosAdcPulseTime[7]; //[Ndata.P.aero.goodPosAdcPulseTime] + Int_t Ndata_P_aero_negAdcCounter; + Double_t P_aero_negAdcCounter[7]; //[Ndata.P.aero.negAdcCounter] + Int_t Ndata_P_aero_negAdcErrorFlag; + Double_t P_aero_negAdcErrorFlag[7]; //[Ndata.P.aero.negAdcErrorFlag] + Int_t Ndata_P_aero_negNpe; + Double_t P_aero_negNpe[7]; //[Ndata.P.aero.negNpe] + Int_t Ndata_P_aero_numGoodNegAdcHits; + Double_t P_aero_numGoodNegAdcHits[7]; //[Ndata.P.aero.numGoodNegAdcHits] + Int_t Ndata_P_aero_numGoodPosAdcHits; + Double_t P_aero_numGoodPosAdcHits[7]; //[Ndata.P.aero.numGoodPosAdcHits] + Int_t Ndata_P_aero_numTracksFired; + Double_t P_aero_numTracksFired[7]; //[Ndata.P.aero.numTracksFired] + Int_t Ndata_P_aero_numTracksMatched; + Double_t P_aero_numTracksMatched[7]; //[Ndata.P.aero.numTracksMatched] + Int_t Ndata_P_aero_posAdcCounter; + Double_t P_aero_posAdcCounter[7]; //[Ndata.P.aero.posAdcCounter] + Int_t Ndata_P_aero_posAdcErrorFlag; + Double_t P_aero_posAdcErrorFlag[7]; //[Ndata.P.aero.posAdcErrorFlag] + Int_t Ndata_P_aero_posNpe; + Double_t P_aero_posNpe[7]; //[Ndata.P.aero.posNpe] + Int_t Ndata_P_cal_fly_a; + Double_t P_cal_fly_a[224]; //[Ndata.P.cal.fly.a] + Int_t Ndata_P_cal_fly_a_p; + Double_t P_cal_fly_a_p[224]; //[Ndata.P.cal.fly.a_p] + Int_t Ndata_P_cal_fly_adcCounter; + Double_t P_cal_fly_adcCounter[22]; //[Ndata.P.cal.fly.adcCounter] + Int_t Ndata_P_cal_fly_adcErrorFlag; + Double_t P_cal_fly_adcErrorFlag[22]; //[Ndata.P.cal.fly.adcErrorFlag] + Int_t Ndata_P_cal_fly_adcPed; + Double_t P_cal_fly_adcPed[22]; //[Ndata.P.cal.fly.adcPed] + Int_t Ndata_P_cal_fly_adcPedRaw; + Double_t P_cal_fly_adcPedRaw[22]; //[Ndata.P.cal.fly.adcPedRaw] + Int_t Ndata_P_cal_fly_adcPulseAmp; + Double_t P_cal_fly_adcPulseAmp[22]; //[Ndata.P.cal.fly.adcPulseAmp] + Int_t Ndata_P_cal_fly_adcPulseAmpRaw; + Double_t P_cal_fly_adcPulseAmpRaw[22]; //[Ndata.P.cal.fly.adcPulseAmpRaw] + Int_t Ndata_P_cal_fly_adcPulseInt; + Double_t P_cal_fly_adcPulseInt[22]; //[Ndata.P.cal.fly.adcPulseInt] + Int_t Ndata_P_cal_fly_adcPulseIntRaw; + Double_t P_cal_fly_adcPulseIntRaw[22]; //[Ndata.P.cal.fly.adcPulseIntRaw] + Int_t Ndata_P_cal_fly_adcPulseTimeRaw; + Double_t P_cal_fly_adcPulseTimeRaw[22]; //[Ndata.P.cal.fly.adcPulseTimeRaw] + Int_t Ndata_P_cal_fly_adchits; + Double_t P_cal_fly_adchits[1]; //[Ndata.P.cal.fly.adchits] + Int_t Ndata_P_cal_fly_block_clusterID; + Double_t P_cal_fly_block_clusterID[224]; //[Ndata.P.cal.fly.block_clusterID] + Int_t Ndata_P_cal_fly_e; + Double_t P_cal_fly_e[224]; //[Ndata.P.cal.fly.e] + Int_t Ndata_P_cal_fly_p; + Double_t P_cal_fly_p[224]; //[Ndata.P.cal.fly.p] + Int_t Ndata_P_cal_pr_aneg; + Double_t P_cal_pr_aneg[14]; //[Ndata.P.cal.pr.aneg] + Int_t Ndata_P_cal_pr_aneg_p; + Double_t P_cal_pr_aneg_p[14]; //[Ndata.P.cal.pr.aneg_p] + Int_t Ndata_P_cal_pr_apos; + Double_t P_cal_pr_apos[14]; //[Ndata.P.cal.pr.apos] + Int_t Ndata_P_cal_pr_apos_p; + Double_t P_cal_pr_apos_p[14]; //[Ndata.P.cal.pr.apos_p] + Int_t Ndata_P_cal_pr_emean; + Double_t P_cal_pr_emean[14]; //[Ndata.P.cal.pr.emean] + Int_t Ndata_P_cal_pr_eneg; + Double_t P_cal_pr_eneg[14]; //[Ndata.P.cal.pr.eneg] + Int_t Ndata_P_cal_pr_epos; + Double_t P_cal_pr_epos[14]; //[Ndata.P.cal.pr.epos] + Int_t Ndata_P_cal_pr_negAdcCounter; + Double_t P_cal_pr_negAdcCounter[14]; //[Ndata.P.cal.pr.negAdcCounter] + Int_t Ndata_P_cal_pr_negAdcErrorFlag; + Double_t P_cal_pr_negAdcErrorFlag[14]; //[Ndata.P.cal.pr.negAdcErrorFlag] + Int_t Ndata_P_cal_pr_negAdcPed; + Double_t P_cal_pr_negAdcPed[14]; //[Ndata.P.cal.pr.negAdcPed] + Int_t Ndata_P_cal_pr_negAdcPedRaw; + Double_t P_cal_pr_negAdcPedRaw[14]; //[Ndata.P.cal.pr.negAdcPedRaw] + Int_t Ndata_P_cal_pr_negAdcPulseAmp; + Double_t P_cal_pr_negAdcPulseAmp[14]; //[Ndata.P.cal.pr.negAdcPulseAmp] + Int_t Ndata_P_cal_pr_negAdcPulseAmpRaw; + Double_t P_cal_pr_negAdcPulseAmpRaw[14]; //[Ndata.P.cal.pr.negAdcPulseAmpRaw] + Int_t Ndata_P_cal_pr_negAdcPulseInt; + Double_t P_cal_pr_negAdcPulseInt[14]; //[Ndata.P.cal.pr.negAdcPulseInt] + Int_t Ndata_P_cal_pr_negAdcPulseIntRaw; + Double_t P_cal_pr_negAdcPulseIntRaw[14]; //[Ndata.P.cal.pr.negAdcPulseIntRaw] + Int_t Ndata_P_cal_pr_negAdcPulseTimeRaw; + Double_t P_cal_pr_negAdcPulseTimeRaw[14]; //[Ndata.P.cal.pr.negAdcPulseTimeRaw] + Int_t Ndata_P_cal_pr_negadchits; + Double_t P_cal_pr_negadchits[1]; //[Ndata.P.cal.pr.negadchits] + Int_t Ndata_P_cal_pr_posAdcCounter; + Double_t P_cal_pr_posAdcCounter[14]; //[Ndata.P.cal.pr.posAdcCounter] + Int_t Ndata_P_cal_pr_posAdcErrorFlag; + Double_t P_cal_pr_posAdcErrorFlag[14]; //[Ndata.P.cal.pr.posAdcErrorFlag] + Int_t Ndata_P_cal_pr_posAdcPed; + Double_t P_cal_pr_posAdcPed[14]; //[Ndata.P.cal.pr.posAdcPed] + Int_t Ndata_P_cal_pr_posAdcPedRaw; + Double_t P_cal_pr_posAdcPedRaw[14]; //[Ndata.P.cal.pr.posAdcPedRaw] + Int_t Ndata_P_cal_pr_posAdcPulseAmp; + Double_t P_cal_pr_posAdcPulseAmp[14]; //[Ndata.P.cal.pr.posAdcPulseAmp] + Int_t Ndata_P_cal_pr_posAdcPulseAmpRaw; + Double_t P_cal_pr_posAdcPulseAmpRaw[14]; //[Ndata.P.cal.pr.posAdcPulseAmpRaw] + Int_t Ndata_P_cal_pr_posAdcPulseInt; + Double_t P_cal_pr_posAdcPulseInt[14]; //[Ndata.P.cal.pr.posAdcPulseInt] + Int_t Ndata_P_cal_pr_posAdcPulseIntRaw; + Double_t P_cal_pr_posAdcPulseIntRaw[14]; //[Ndata.P.cal.pr.posAdcPulseIntRaw] + Int_t Ndata_P_cal_pr_posAdcPulseTimeRaw; + Double_t P_cal_pr_posAdcPulseTimeRaw[14]; //[Ndata.P.cal.pr.posAdcPulseTimeRaw] + Int_t Ndata_P_cal_pr_posadchits; + Double_t P_cal_pr_posadchits[1]; //[Ndata.P.cal.pr.posadchits] + Int_t Ndata_P_dc_1u1_dist; + Double_t P_dc_1u1_dist[53]; //[Ndata.P.dc.1u1.dist] + Int_t Ndata_P_dc_1u1_rawtdc; + Double_t P_dc_1u1_rawtdc[53]; //[Ndata.P.dc.1u1.rawtdc] + Int_t Ndata_P_dc_1u1_time; + Double_t P_dc_1u1_time[53]; //[Ndata.P.dc.1u1.time] + Int_t Ndata_P_dc_1u1_wirenum; + Double_t P_dc_1u1_wirenum[53]; //[Ndata.P.dc.1u1.wirenum] + Int_t Ndata_P_dc_1u2_dist; + Double_t P_dc_1u2_dist[39]; //[Ndata.P.dc.1u2.dist] + Int_t Ndata_P_dc_1u2_rawtdc; + Double_t P_dc_1u2_rawtdc[39]; //[Ndata.P.dc.1u2.rawtdc] + Int_t Ndata_P_dc_1u2_time; + Double_t P_dc_1u2_time[39]; //[Ndata.P.dc.1u2.time] + Int_t Ndata_P_dc_1u2_wirenum; + Double_t P_dc_1u2_wirenum[39]; //[Ndata.P.dc.1u2.wirenum] + Int_t Ndata_P_dc_1v1_dist; + Double_t P_dc_1v1_dist[43]; //[Ndata.P.dc.1v1.dist] + Int_t Ndata_P_dc_1v1_rawtdc; + Double_t P_dc_1v1_rawtdc[43]; //[Ndata.P.dc.1v1.rawtdc] + Int_t Ndata_P_dc_1v1_time; + Double_t P_dc_1v1_time[43]; //[Ndata.P.dc.1v1.time] + Int_t Ndata_P_dc_1v1_wirenum; + Double_t P_dc_1v1_wirenum[43]; //[Ndata.P.dc.1v1.wirenum] + Int_t Ndata_P_dc_1v2_dist; + Double_t P_dc_1v2_dist[75]; //[Ndata.P.dc.1v2.dist] + Int_t Ndata_P_dc_1v2_rawtdc; + Double_t P_dc_1v2_rawtdc[75]; //[Ndata.P.dc.1v2.rawtdc] + Int_t Ndata_P_dc_1v2_time; + Double_t P_dc_1v2_time[75]; //[Ndata.P.dc.1v2.time] + Int_t Ndata_P_dc_1v2_wirenum; + Double_t P_dc_1v2_wirenum[75]; //[Ndata.P.dc.1v2.wirenum] + Int_t Ndata_P_dc_1x1_dist; + Double_t P_dc_1x1_dist[59]; //[Ndata.P.dc.1x1.dist] + Int_t Ndata_P_dc_1x1_rawtdc; + Double_t P_dc_1x1_rawtdc[59]; //[Ndata.P.dc.1x1.rawtdc] + Int_t Ndata_P_dc_1x1_time; + Double_t P_dc_1x1_time[59]; //[Ndata.P.dc.1x1.time] + Int_t Ndata_P_dc_1x1_wirenum; + Double_t P_dc_1x1_wirenum[59]; //[Ndata.P.dc.1x1.wirenum] + Int_t Ndata_P_dc_1x2_dist; + Double_t P_dc_1x2_dist[78]; //[Ndata.P.dc.1x2.dist] + Int_t Ndata_P_dc_1x2_rawtdc; + Double_t P_dc_1x2_rawtdc[78]; //[Ndata.P.dc.1x2.rawtdc] + Int_t Ndata_P_dc_1x2_time; + Double_t P_dc_1x2_time[78]; //[Ndata.P.dc.1x2.time] + Int_t Ndata_P_dc_1x2_wirenum; + Double_t P_dc_1x2_wirenum[78]; //[Ndata.P.dc.1x2.wirenum] + Int_t Ndata_P_dc_2u1_dist; + Double_t P_dc_2u1_dist[69]; //[Ndata.P.dc.2u1.dist] + Int_t Ndata_P_dc_2u1_rawtdc; + Double_t P_dc_2u1_rawtdc[69]; //[Ndata.P.dc.2u1.rawtdc] + Int_t Ndata_P_dc_2u1_time; + Double_t P_dc_2u1_time[69]; //[Ndata.P.dc.2u1.time] + Int_t Ndata_P_dc_2u1_wirenum; + Double_t P_dc_2u1_wirenum[69]; //[Ndata.P.dc.2u1.wirenum] + Int_t Ndata_P_dc_2u2_dist; + Double_t P_dc_2u2_dist[40]; //[Ndata.P.dc.2u2.dist] + Int_t Ndata_P_dc_2u2_rawtdc; + Double_t P_dc_2u2_rawtdc[40]; //[Ndata.P.dc.2u2.rawtdc] + Int_t Ndata_P_dc_2u2_time; + Double_t P_dc_2u2_time[40]; //[Ndata.P.dc.2u2.time] + Int_t Ndata_P_dc_2u2_wirenum; + Double_t P_dc_2u2_wirenum[40]; //[Ndata.P.dc.2u2.wirenum] + Int_t Ndata_P_dc_2v1_dist; + Double_t P_dc_2v1_dist[61]; //[Ndata.P.dc.2v1.dist] + Int_t Ndata_P_dc_2v1_rawtdc; + Double_t P_dc_2v1_rawtdc[61]; //[Ndata.P.dc.2v1.rawtdc] + Int_t Ndata_P_dc_2v1_time; + Double_t P_dc_2v1_time[61]; //[Ndata.P.dc.2v1.time] + Int_t Ndata_P_dc_2v1_wirenum; + Double_t P_dc_2v1_wirenum[61]; //[Ndata.P.dc.2v1.wirenum] + Int_t Ndata_P_dc_2v2_dist; + Double_t P_dc_2v2_dist[57]; //[Ndata.P.dc.2v2.dist] + Int_t Ndata_P_dc_2v2_rawtdc; + Double_t P_dc_2v2_rawtdc[57]; //[Ndata.P.dc.2v2.rawtdc] + Int_t Ndata_P_dc_2v2_time; + Double_t P_dc_2v2_time[57]; //[Ndata.P.dc.2v2.time] + Int_t Ndata_P_dc_2v2_wirenum; + Double_t P_dc_2v2_wirenum[57]; //[Ndata.P.dc.2v2.wirenum] + Int_t Ndata_P_dc_2x1_dist; + Double_t P_dc_2x1_dist[51]; //[Ndata.P.dc.2x1.dist] + Int_t Ndata_P_dc_2x1_rawtdc; + Double_t P_dc_2x1_rawtdc[51]; //[Ndata.P.dc.2x1.rawtdc] + Int_t Ndata_P_dc_2x1_time; + Double_t P_dc_2x1_time[51]; //[Ndata.P.dc.2x1.time] + Int_t Ndata_P_dc_2x1_wirenum; + Double_t P_dc_2x1_wirenum[51]; //[Ndata.P.dc.2x1.wirenum] + Int_t Ndata_P_dc_2x2_dist; + Double_t P_dc_2x2_dist[57]; //[Ndata.P.dc.2x2.dist] + Int_t Ndata_P_dc_2x2_rawtdc; + Double_t P_dc_2x2_rawtdc[57]; //[Ndata.P.dc.2x2.rawtdc] + Int_t Ndata_P_dc_2x2_time; + Double_t P_dc_2x2_time[57]; //[Ndata.P.dc.2x2.time] + Int_t Ndata_P_dc_2x2_wirenum; + Double_t P_dc_2x2_wirenum[57]; //[Ndata.P.dc.2x2.wirenum] + Int_t Ndata_P_dc_residual; + Double_t P_dc_residual[12]; //[Ndata.P.dc.residual] + Int_t Ndata_P_dc_wireHitDid; + Double_t P_dc_wireHitDid[12]; //[Ndata.P.dc.wireHitDid] + Int_t Ndata_P_dc_wireHitShould; + Double_t P_dc_wireHitShould[12]; //[Ndata.P.dc.wireHitShould] + Int_t Ndata_P_dc_x; + Double_t P_dc_x[10]; //[Ndata.P.dc.x] + Int_t Ndata_P_dc_xp; + Double_t P_dc_xp[10]; //[Ndata.P.dc.xp] + Int_t Ndata_P_dc_y; + Double_t P_dc_y[10]; //[Ndata.P.dc.y] + Int_t Ndata_P_dc_yp; + Double_t P_dc_yp[10]; //[Ndata.P.dc.yp] + Int_t Ndata_P_hgcer_adcCounter; + Double_t P_hgcer_adcCounter[4]; //[Ndata.P.hgcer.adcCounter] + Int_t Ndata_P_hgcer_adcErrorFlag; + Double_t P_hgcer_adcErrorFlag[4]; //[Ndata.P.hgcer.adcErrorFlag] + Int_t Ndata_P_hgcer_goodAdcPed; + Double_t P_hgcer_goodAdcPed[4]; //[Ndata.P.hgcer.goodAdcPed] + Int_t Ndata_P_hgcer_goodAdcPulseAmp; + Double_t P_hgcer_goodAdcPulseAmp[4]; //[Ndata.P.hgcer.goodAdcPulseAmp] + Int_t Ndata_P_hgcer_goodAdcPulseInt; + Double_t P_hgcer_goodAdcPulseInt[4]; //[Ndata.P.hgcer.goodAdcPulseInt] + Int_t Ndata_P_hgcer_goodAdcPulseIntRaw; + Double_t P_hgcer_goodAdcPulseIntRaw[4]; //[Ndata.P.hgcer.goodAdcPulseIntRaw] + Int_t Ndata_P_hgcer_goodAdcPulseTime; + Double_t P_hgcer_goodAdcPulseTime[4]; //[Ndata.P.hgcer.goodAdcPulseTime] + Int_t Ndata_P_hgcer_npe; + Double_t P_hgcer_npe[4]; //[Ndata.P.hgcer.npe] + Int_t Ndata_P_hgcer_numGoodAdcHits; + Double_t P_hgcer_numGoodAdcHits[4]; //[Ndata.P.hgcer.numGoodAdcHits] + Int_t Ndata_P_hgcer_numTracksFired; + Double_t P_hgcer_numTracksFired[4]; //[Ndata.P.hgcer.numTracksFired] + Int_t Ndata_P_hgcer_numTracksMatched; + Double_t P_hgcer_numTracksMatched[4]; //[Ndata.P.hgcer.numTracksMatched] + Int_t Ndata_P_hod_1x_GoodNegAdcPulseAmp; + Double_t P_hod_1x_GoodNegAdcPulseAmp[13]; //[Ndata.P.hod.1x.GoodNegAdcPulseAmp] + Int_t Ndata_P_hod_1x_GoodNegAdcPulseInt; + Double_t P_hod_1x_GoodNegAdcPulseInt[13]; //[Ndata.P.hod.1x.GoodNegAdcPulseInt] + Int_t Ndata_P_hod_1x_GoodNegAdcPulseTime; + Double_t P_hod_1x_GoodNegAdcPulseTime[13]; //[Ndata.P.hod.1x.GoodNegAdcPulseTime] + Int_t Ndata_P_hod_1x_GoodNegTdcChan; + Double_t P_hod_1x_GoodNegTdcChan[13]; //[Ndata.P.hod.1x.GoodNegTdcChan] + Int_t Ndata_P_hod_1x_GoodNegTdcTimeCorr; + Double_t P_hod_1x_GoodNegTdcTimeCorr[13]; //[Ndata.P.hod.1x.GoodNegTdcTimeCorr] + Int_t Ndata_P_hod_1x_GoodNegTdcTimeTOFCorr; + Double_t P_hod_1x_GoodNegTdcTimeTOFCorr[13]; //[Ndata.P.hod.1x.GoodNegTdcTimeTOFCorr] + Int_t Ndata_P_hod_1x_GoodPaddle; + Double_t P_hod_1x_GoodPaddle[13]; //[Ndata.P.hod.1x.GoodPaddle] + Int_t Ndata_P_hod_1x_GoodPosAdcPulseAmp; + Double_t P_hod_1x_GoodPosAdcPulseAmp[13]; //[Ndata.P.hod.1x.GoodPosAdcPulseAmp] + Int_t Ndata_P_hod_1x_GoodPosAdcPulseInt; + Double_t P_hod_1x_GoodPosAdcPulseInt[13]; //[Ndata.P.hod.1x.GoodPosAdcPulseInt] + Int_t Ndata_P_hod_1x_GoodPosAdcPulseTime; + Double_t P_hod_1x_GoodPosAdcPulseTime[13]; //[Ndata.P.hod.1x.GoodPosAdcPulseTime] + Int_t Ndata_P_hod_1x_GoodPosTdcChan; + Double_t P_hod_1x_GoodPosTdcChan[13]; //[Ndata.P.hod.1x.GoodPosTdcChan] + Int_t Ndata_P_hod_1x_GoodPosTdcTimeCorr; + Double_t P_hod_1x_GoodPosTdcTimeCorr[13]; //[Ndata.P.hod.1x.GoodPosTdcTimeCorr] + Int_t Ndata_P_hod_1x_GoodPosTdcTimeTOFCorr; + Double_t P_hod_1x_GoodPosTdcTimeTOFCorr[13]; //[Ndata.P.hod.1x.GoodPosTdcTimeTOFCorr] + Int_t Ndata_P_hod_1x_negAdcCounter; + Double_t P_hod_1x_negAdcCounter[13]; //[Ndata.P.hod.1x.negAdcCounter] + Int_t Ndata_P_hod_1x_negAdcPed; + Double_t P_hod_1x_negAdcPed[13]; //[Ndata.P.hod.1x.negAdcPed] + Int_t Ndata_P_hod_1x_negAdcPedRaw; + Double_t P_hod_1x_negAdcPedRaw[13]; //[Ndata.P.hod.1x.negAdcPedRaw] + Int_t Ndata_P_hod_1x_negAdcPulseAmp; + Double_t P_hod_1x_negAdcPulseAmp[13]; //[Ndata.P.hod.1x.negAdcPulseAmp] + Int_t Ndata_P_hod_1x_negAdcPulseAmpRaw; + Double_t P_hod_1x_negAdcPulseAmpRaw[13]; //[Ndata.P.hod.1x.negAdcPulseAmpRaw] + Int_t Ndata_P_hod_1x_negAdcPulseInt; + Double_t P_hod_1x_negAdcPulseInt[13]; //[Ndata.P.hod.1x.negAdcPulseInt] + Int_t Ndata_P_hod_1x_negAdcPulseIntRaw; + Double_t P_hod_1x_negAdcPulseIntRaw[13]; //[Ndata.P.hod.1x.negAdcPulseIntRaw] + Int_t Ndata_P_hod_1x_negAdcPulseTimeRaw; + Double_t P_hod_1x_negAdcPulseTimeRaw[13]; //[Ndata.P.hod.1x.negAdcPulseTimeRaw] + Int_t Ndata_P_hod_1x_negTdcCounter; + Double_t P_hod_1x_negTdcCounter[15]; //[Ndata.P.hod.1x.negTdcCounter] + Int_t Ndata_P_hod_1x_negTdcTime; + Double_t P_hod_1x_negTdcTime[15]; //[Ndata.P.hod.1x.negTdcTime] + Int_t Ndata_P_hod_1x_negTdcTimeRaw; + Double_t P_hod_1x_negTdcTimeRaw[15]; //[Ndata.P.hod.1x.negTdcTimeRaw] + Int_t Ndata_P_hod_1x_posAdcCounter; + Double_t P_hod_1x_posAdcCounter[13]; //[Ndata.P.hod.1x.posAdcCounter] + Int_t Ndata_P_hod_1x_posAdcPed; + Double_t P_hod_1x_posAdcPed[13]; //[Ndata.P.hod.1x.posAdcPed] + Int_t Ndata_P_hod_1x_posAdcPedRaw; + Double_t P_hod_1x_posAdcPedRaw[13]; //[Ndata.P.hod.1x.posAdcPedRaw] + Int_t Ndata_P_hod_1x_posAdcPulseAmp; + Double_t P_hod_1x_posAdcPulseAmp[13]; //[Ndata.P.hod.1x.posAdcPulseAmp] + Int_t Ndata_P_hod_1x_posAdcPulseAmpRaw; + Double_t P_hod_1x_posAdcPulseAmpRaw[13]; //[Ndata.P.hod.1x.posAdcPulseAmpRaw] + Int_t Ndata_P_hod_1x_posAdcPulseInt; + Double_t P_hod_1x_posAdcPulseInt[13]; //[Ndata.P.hod.1x.posAdcPulseInt] + Int_t Ndata_P_hod_1x_posAdcPulseIntRaw; + Double_t P_hod_1x_posAdcPulseIntRaw[13]; //[Ndata.P.hod.1x.posAdcPulseIntRaw] + Int_t Ndata_P_hod_1x_posAdcPulseTimeRaw; + Double_t P_hod_1x_posAdcPulseTimeRaw[13]; //[Ndata.P.hod.1x.posAdcPulseTimeRaw] + Int_t Ndata_P_hod_1x_posTdcCounter; + Double_t P_hod_1x_posTdcCounter[17]; //[Ndata.P.hod.1x.posTdcCounter] + Int_t Ndata_P_hod_1x_posTdcTime; + Double_t P_hod_1x_posTdcTime[17]; //[Ndata.P.hod.1x.posTdcTime] + Int_t Ndata_P_hod_1x_posTdcTimeRaw; + Double_t P_hod_1x_posTdcTimeRaw[17]; //[Ndata.P.hod.1x.posTdcTimeRaw] + Int_t Ndata_P_hod_1y_GoodNegAdcPulseAmp; + Double_t P_hod_1y_GoodNegAdcPulseAmp[13]; //[Ndata.P.hod.1y.GoodNegAdcPulseAmp] + Int_t Ndata_P_hod_1y_GoodNegAdcPulseInt; + Double_t P_hod_1y_GoodNegAdcPulseInt[13]; //[Ndata.P.hod.1y.GoodNegAdcPulseInt] + Int_t Ndata_P_hod_1y_GoodNegAdcPulseTime; + Double_t P_hod_1y_GoodNegAdcPulseTime[13]; //[Ndata.P.hod.1y.GoodNegAdcPulseTime] + Int_t Ndata_P_hod_1y_GoodNegTdcChan; + Double_t P_hod_1y_GoodNegTdcChan[13]; //[Ndata.P.hod.1y.GoodNegTdcChan] + Int_t Ndata_P_hod_1y_GoodNegTdcTimeCorr; + Double_t P_hod_1y_GoodNegTdcTimeCorr[13]; //[Ndata.P.hod.1y.GoodNegTdcTimeCorr] + Int_t Ndata_P_hod_1y_GoodNegTdcTimeTOFCorr; + Double_t P_hod_1y_GoodNegTdcTimeTOFCorr[13]; //[Ndata.P.hod.1y.GoodNegTdcTimeTOFCorr] + Int_t Ndata_P_hod_1y_GoodPaddle; + Double_t P_hod_1y_GoodPaddle[13]; //[Ndata.P.hod.1y.GoodPaddle] + Int_t Ndata_P_hod_1y_GoodPosAdcPulseAmp; + Double_t P_hod_1y_GoodPosAdcPulseAmp[13]; //[Ndata.P.hod.1y.GoodPosAdcPulseAmp] + Int_t Ndata_P_hod_1y_GoodPosAdcPulseInt; + Double_t P_hod_1y_GoodPosAdcPulseInt[13]; //[Ndata.P.hod.1y.GoodPosAdcPulseInt] + Int_t Ndata_P_hod_1y_GoodPosAdcPulseTime; + Double_t P_hod_1y_GoodPosAdcPulseTime[13]; //[Ndata.P.hod.1y.GoodPosAdcPulseTime] + Int_t Ndata_P_hod_1y_GoodPosTdcChan; + Double_t P_hod_1y_GoodPosTdcChan[13]; //[Ndata.P.hod.1y.GoodPosTdcChan] + Int_t Ndata_P_hod_1y_GoodPosTdcTimeCorr; + Double_t P_hod_1y_GoodPosTdcTimeCorr[13]; //[Ndata.P.hod.1y.GoodPosTdcTimeCorr] + Int_t Ndata_P_hod_1y_GoodPosTdcTimeTOFCorr; + Double_t P_hod_1y_GoodPosTdcTimeTOFCorr[13]; //[Ndata.P.hod.1y.GoodPosTdcTimeTOFCorr] + Int_t Ndata_P_hod_1y_negAdcCounter; + Double_t P_hod_1y_negAdcCounter[13]; //[Ndata.P.hod.1y.negAdcCounter] + Int_t Ndata_P_hod_1y_negAdcPed; + Double_t P_hod_1y_negAdcPed[13]; //[Ndata.P.hod.1y.negAdcPed] + Int_t Ndata_P_hod_1y_negAdcPedRaw; + Double_t P_hod_1y_negAdcPedRaw[13]; //[Ndata.P.hod.1y.negAdcPedRaw] + Int_t Ndata_P_hod_1y_negAdcPulseAmp; + Double_t P_hod_1y_negAdcPulseAmp[13]; //[Ndata.P.hod.1y.negAdcPulseAmp] + Int_t Ndata_P_hod_1y_negAdcPulseAmpRaw; + Double_t P_hod_1y_negAdcPulseAmpRaw[13]; //[Ndata.P.hod.1y.negAdcPulseAmpRaw] + Int_t Ndata_P_hod_1y_negAdcPulseInt; + Double_t P_hod_1y_negAdcPulseInt[13]; //[Ndata.P.hod.1y.negAdcPulseInt] + Int_t Ndata_P_hod_1y_negAdcPulseIntRaw; + Double_t P_hod_1y_negAdcPulseIntRaw[13]; //[Ndata.P.hod.1y.negAdcPulseIntRaw] + Int_t Ndata_P_hod_1y_negAdcPulseTimeRaw; + Double_t P_hod_1y_negAdcPulseTimeRaw[13]; //[Ndata.P.hod.1y.negAdcPulseTimeRaw] + Int_t Ndata_P_hod_1y_negTdcCounter; + Double_t P_hod_1y_negTdcCounter[18]; //[Ndata.P.hod.1y.negTdcCounter] + Int_t Ndata_P_hod_1y_negTdcTime; + Double_t P_hod_1y_negTdcTime[18]; //[Ndata.P.hod.1y.negTdcTime] + Int_t Ndata_P_hod_1y_negTdcTimeRaw; + Double_t P_hod_1y_negTdcTimeRaw[18]; //[Ndata.P.hod.1y.negTdcTimeRaw] + Int_t Ndata_P_hod_1y_posAdcCounter; + Double_t P_hod_1y_posAdcCounter[13]; //[Ndata.P.hod.1y.posAdcCounter] + Int_t Ndata_P_hod_1y_posAdcPed; + Double_t P_hod_1y_posAdcPed[13]; //[Ndata.P.hod.1y.posAdcPed] + Int_t Ndata_P_hod_1y_posAdcPedRaw; + Double_t P_hod_1y_posAdcPedRaw[13]; //[Ndata.P.hod.1y.posAdcPedRaw] + Int_t Ndata_P_hod_1y_posAdcPulseAmp; + Double_t P_hod_1y_posAdcPulseAmp[13]; //[Ndata.P.hod.1y.posAdcPulseAmp] + Int_t Ndata_P_hod_1y_posAdcPulseAmpRaw; + Double_t P_hod_1y_posAdcPulseAmpRaw[13]; //[Ndata.P.hod.1y.posAdcPulseAmpRaw] + Int_t Ndata_P_hod_1y_posAdcPulseInt; + Double_t P_hod_1y_posAdcPulseInt[13]; //[Ndata.P.hod.1y.posAdcPulseInt] + Int_t Ndata_P_hod_1y_posAdcPulseIntRaw; + Double_t P_hod_1y_posAdcPulseIntRaw[13]; //[Ndata.P.hod.1y.posAdcPulseIntRaw] + Int_t Ndata_P_hod_1y_posAdcPulseTimeRaw; + Double_t P_hod_1y_posAdcPulseTimeRaw[13]; //[Ndata.P.hod.1y.posAdcPulseTimeRaw] + Int_t Ndata_P_hod_1y_posTdcCounter; + Double_t P_hod_1y_posTdcCounter[20]; //[Ndata.P.hod.1y.posTdcCounter] + Int_t Ndata_P_hod_1y_posTdcTime; + Double_t P_hod_1y_posTdcTime[20]; //[Ndata.P.hod.1y.posTdcTime] + Int_t Ndata_P_hod_1y_posTdcTimeRaw; + Double_t P_hod_1y_posTdcTimeRaw[20]; //[Ndata.P.hod.1y.posTdcTimeRaw] + Int_t Ndata_P_hod_2x_GoodNegAdcPulseAmp; + Double_t P_hod_2x_GoodNegAdcPulseAmp[12]; //[Ndata.P.hod.2x.GoodNegAdcPulseAmp] + Int_t Ndata_P_hod_2x_GoodNegAdcPulseInt; + Double_t P_hod_2x_GoodNegAdcPulseInt[12]; //[Ndata.P.hod.2x.GoodNegAdcPulseInt] + Int_t Ndata_P_hod_2x_GoodNegAdcPulseTime; + Double_t P_hod_2x_GoodNegAdcPulseTime[12]; //[Ndata.P.hod.2x.GoodNegAdcPulseTime] + Int_t Ndata_P_hod_2x_GoodNegTdcChan; + Double_t P_hod_2x_GoodNegTdcChan[12]; //[Ndata.P.hod.2x.GoodNegTdcChan] + Int_t Ndata_P_hod_2x_GoodNegTdcTimeCorr; + Double_t P_hod_2x_GoodNegTdcTimeCorr[12]; //[Ndata.P.hod.2x.GoodNegTdcTimeCorr] + Int_t Ndata_P_hod_2x_GoodNegTdcTimeTOFCorr; + Double_t P_hod_2x_GoodNegTdcTimeTOFCorr[12]; //[Ndata.P.hod.2x.GoodNegTdcTimeTOFCorr] + Int_t Ndata_P_hod_2x_GoodPaddle; + Double_t P_hod_2x_GoodPaddle[12]; //[Ndata.P.hod.2x.GoodPaddle] + Int_t Ndata_P_hod_2x_GoodPosAdcPulseAmp; + Double_t P_hod_2x_GoodPosAdcPulseAmp[12]; //[Ndata.P.hod.2x.GoodPosAdcPulseAmp] + Int_t Ndata_P_hod_2x_GoodPosAdcPulseInt; + Double_t P_hod_2x_GoodPosAdcPulseInt[12]; //[Ndata.P.hod.2x.GoodPosAdcPulseInt] + Int_t Ndata_P_hod_2x_GoodPosAdcPulseTime; + Double_t P_hod_2x_GoodPosAdcPulseTime[12]; //[Ndata.P.hod.2x.GoodPosAdcPulseTime] + Int_t Ndata_P_hod_2x_GoodPosTdcChan; + Double_t P_hod_2x_GoodPosTdcChan[12]; //[Ndata.P.hod.2x.GoodPosTdcChan] + Int_t Ndata_P_hod_2x_GoodPosTdcTimeCorr; + Double_t P_hod_2x_GoodPosTdcTimeCorr[12]; //[Ndata.P.hod.2x.GoodPosTdcTimeCorr] + Int_t Ndata_P_hod_2x_GoodPosTdcTimeTOFCorr; + Double_t P_hod_2x_GoodPosTdcTimeTOFCorr[12]; //[Ndata.P.hod.2x.GoodPosTdcTimeTOFCorr] + Int_t Ndata_P_hod_2x_negAdcCounter; + Double_t P_hod_2x_negAdcCounter[14]; //[Ndata.P.hod.2x.negAdcCounter] + Int_t Ndata_P_hod_2x_negAdcPed; + Double_t P_hod_2x_negAdcPed[14]; //[Ndata.P.hod.2x.negAdcPed] + Int_t Ndata_P_hod_2x_negAdcPedRaw; + Double_t P_hod_2x_negAdcPedRaw[14]; //[Ndata.P.hod.2x.negAdcPedRaw] + Int_t Ndata_P_hod_2x_negAdcPulseAmp; + Double_t P_hod_2x_negAdcPulseAmp[14]; //[Ndata.P.hod.2x.negAdcPulseAmp] + Int_t Ndata_P_hod_2x_negAdcPulseAmpRaw; + Double_t P_hod_2x_negAdcPulseAmpRaw[14]; //[Ndata.P.hod.2x.negAdcPulseAmpRaw] + Int_t Ndata_P_hod_2x_negAdcPulseInt; + Double_t P_hod_2x_negAdcPulseInt[14]; //[Ndata.P.hod.2x.negAdcPulseInt] + Int_t Ndata_P_hod_2x_negAdcPulseIntRaw; + Double_t P_hod_2x_negAdcPulseIntRaw[14]; //[Ndata.P.hod.2x.negAdcPulseIntRaw] + Int_t Ndata_P_hod_2x_negAdcPulseTimeRaw; + Double_t P_hod_2x_negAdcPulseTimeRaw[14]; //[Ndata.P.hod.2x.negAdcPulseTimeRaw] + Int_t Ndata_P_hod_2x_negTdcCounter; + Double_t P_hod_2x_negTdcCounter[21]; //[Ndata.P.hod.2x.negTdcCounter] + Int_t Ndata_P_hod_2x_negTdcTime; + Double_t P_hod_2x_negTdcTime[21]; //[Ndata.P.hod.2x.negTdcTime] + Int_t Ndata_P_hod_2x_negTdcTimeRaw; + Double_t P_hod_2x_negTdcTimeRaw[21]; //[Ndata.P.hod.2x.negTdcTimeRaw] + Int_t Ndata_P_hod_2x_posAdcCounter; + Double_t P_hod_2x_posAdcCounter[14]; //[Ndata.P.hod.2x.posAdcCounter] + Int_t Ndata_P_hod_2x_posAdcPed; + Double_t P_hod_2x_posAdcPed[14]; //[Ndata.P.hod.2x.posAdcPed] + Int_t Ndata_P_hod_2x_posAdcPedRaw; + Double_t P_hod_2x_posAdcPedRaw[14]; //[Ndata.P.hod.2x.posAdcPedRaw] + Int_t Ndata_P_hod_2x_posAdcPulseAmp; + Double_t P_hod_2x_posAdcPulseAmp[14]; //[Ndata.P.hod.2x.posAdcPulseAmp] + Int_t Ndata_P_hod_2x_posAdcPulseAmpRaw; + Double_t P_hod_2x_posAdcPulseAmpRaw[14]; //[Ndata.P.hod.2x.posAdcPulseAmpRaw] + Int_t Ndata_P_hod_2x_posAdcPulseInt; + Double_t P_hod_2x_posAdcPulseInt[14]; //[Ndata.P.hod.2x.posAdcPulseInt] + Int_t Ndata_P_hod_2x_posAdcPulseIntRaw; + Double_t P_hod_2x_posAdcPulseIntRaw[14]; //[Ndata.P.hod.2x.posAdcPulseIntRaw] + Int_t Ndata_P_hod_2x_posAdcPulseTimeRaw; + Double_t P_hod_2x_posAdcPulseTimeRaw[14]; //[Ndata.P.hod.2x.posAdcPulseTimeRaw] + Int_t Ndata_P_hod_2x_posTdcCounter; + Double_t P_hod_2x_posTdcCounter[18]; //[Ndata.P.hod.2x.posTdcCounter] + Int_t Ndata_P_hod_2x_posTdcTime; + Double_t P_hod_2x_posTdcTime[18]; //[Ndata.P.hod.2x.posTdcTime] + Int_t Ndata_P_hod_2x_posTdcTimeRaw; + Double_t P_hod_2x_posTdcTimeRaw[18]; //[Ndata.P.hod.2x.posTdcTimeRaw] + Int_t Ndata_P_hod_2y_GoodNegAdcPulseAmp; + Double_t P_hod_2y_GoodNegAdcPulseAmp[9]; //[Ndata.P.hod.2y.GoodNegAdcPulseAmp] + Int_t Ndata_P_hod_2y_GoodNegAdcPulseInt; + Double_t P_hod_2y_GoodNegAdcPulseInt[9]; //[Ndata.P.hod.2y.GoodNegAdcPulseInt] + Int_t Ndata_P_hod_2y_GoodNegAdcPulseTime; + Double_t P_hod_2y_GoodNegAdcPulseTime[9]; //[Ndata.P.hod.2y.GoodNegAdcPulseTime] + Int_t Ndata_P_hod_2y_GoodNegTdcChan; + Double_t P_hod_2y_GoodNegTdcChan[9]; //[Ndata.P.hod.2y.GoodNegTdcChan] + Int_t Ndata_P_hod_2y_GoodNegTdcTimeCorr; + Double_t P_hod_2y_GoodNegTdcTimeCorr[9]; //[Ndata.P.hod.2y.GoodNegTdcTimeCorr] + Int_t Ndata_P_hod_2y_GoodNegTdcTimeTOFCorr; + Double_t P_hod_2y_GoodNegTdcTimeTOFCorr[9]; //[Ndata.P.hod.2y.GoodNegTdcTimeTOFCorr] + Int_t Ndata_P_hod_2y_GoodPaddle; + Double_t P_hod_2y_GoodPaddle[9]; //[Ndata.P.hod.2y.GoodPaddle] + Int_t Ndata_P_hod_2y_GoodPosAdcPulseAmp; + Double_t P_hod_2y_GoodPosAdcPulseAmp[9]; //[Ndata.P.hod.2y.GoodPosAdcPulseAmp] + Int_t Ndata_P_hod_2y_GoodPosAdcPulseInt; + Double_t P_hod_2y_GoodPosAdcPulseInt[9]; //[Ndata.P.hod.2y.GoodPosAdcPulseInt] + Int_t Ndata_P_hod_2y_GoodPosAdcPulseTime; + Double_t P_hod_2y_GoodPosAdcPulseTime[9]; //[Ndata.P.hod.2y.GoodPosAdcPulseTime] + Int_t Ndata_P_hod_2y_GoodPosTdcChan; + Double_t P_hod_2y_GoodPosTdcChan[9]; //[Ndata.P.hod.2y.GoodPosTdcChan] + Int_t Ndata_P_hod_2y_GoodPosTdcTimeCorr; + Double_t P_hod_2y_GoodPosTdcTimeCorr[9]; //[Ndata.P.hod.2y.GoodPosTdcTimeCorr] + Int_t Ndata_P_hod_2y_GoodPosTdcTimeTOFCorr; + Double_t P_hod_2y_GoodPosTdcTimeTOFCorr[9]; //[Ndata.P.hod.2y.GoodPosTdcTimeTOFCorr] + Int_t Ndata_P_hod_2y_negAdcCounter; + Double_t P_hod_2y_negAdcCounter[10]; //[Ndata.P.hod.2y.negAdcCounter] + Int_t Ndata_P_hod_2y_negAdcPed; + Double_t P_hod_2y_negAdcPed[10]; //[Ndata.P.hod.2y.negAdcPed] + Int_t Ndata_P_hod_2y_negAdcPedRaw; + Double_t P_hod_2y_negAdcPedRaw[10]; //[Ndata.P.hod.2y.negAdcPedRaw] + Int_t Ndata_P_hod_2y_negAdcPulseAmp; + Double_t P_hod_2y_negAdcPulseAmp[10]; //[Ndata.P.hod.2y.negAdcPulseAmp] + Int_t Ndata_P_hod_2y_negAdcPulseAmpRaw; + Double_t P_hod_2y_negAdcPulseAmpRaw[10]; //[Ndata.P.hod.2y.negAdcPulseAmpRaw] + Int_t Ndata_P_hod_2y_negAdcPulseInt; + Double_t P_hod_2y_negAdcPulseInt[10]; //[Ndata.P.hod.2y.negAdcPulseInt] + Int_t Ndata_P_hod_2y_negAdcPulseIntRaw; + Double_t P_hod_2y_negAdcPulseIntRaw[10]; //[Ndata.P.hod.2y.negAdcPulseIntRaw] + Int_t Ndata_P_hod_2y_negAdcPulseTimeRaw; + Double_t P_hod_2y_negAdcPulseTimeRaw[10]; //[Ndata.P.hod.2y.negAdcPulseTimeRaw] + Int_t Ndata_P_hod_2y_negTdcCounter; + Double_t P_hod_2y_negTdcCounter[16]; //[Ndata.P.hod.2y.negTdcCounter] + Int_t Ndata_P_hod_2y_negTdcTime; + Double_t P_hod_2y_negTdcTime[16]; //[Ndata.P.hod.2y.negTdcTime] + Int_t Ndata_P_hod_2y_negTdcTimeRaw; + Double_t P_hod_2y_negTdcTimeRaw[16]; //[Ndata.P.hod.2y.negTdcTimeRaw] + Int_t Ndata_P_hod_2y_posAdcCounter; + Double_t P_hod_2y_posAdcCounter[10]; //[Ndata.P.hod.2y.posAdcCounter] + Int_t Ndata_P_hod_2y_posAdcPed; + Double_t P_hod_2y_posAdcPed[10]; //[Ndata.P.hod.2y.posAdcPed] + Int_t Ndata_P_hod_2y_posAdcPedRaw; + Double_t P_hod_2y_posAdcPedRaw[10]; //[Ndata.P.hod.2y.posAdcPedRaw] + Int_t Ndata_P_hod_2y_posAdcPulseAmp; + Double_t P_hod_2y_posAdcPulseAmp[10]; //[Ndata.P.hod.2y.posAdcPulseAmp] + Int_t Ndata_P_hod_2y_posAdcPulseAmpRaw; + Double_t P_hod_2y_posAdcPulseAmpRaw[10]; //[Ndata.P.hod.2y.posAdcPulseAmpRaw] + Int_t Ndata_P_hod_2y_posAdcPulseInt; + Double_t P_hod_2y_posAdcPulseInt[10]; //[Ndata.P.hod.2y.posAdcPulseInt] + Int_t Ndata_P_hod_2y_posAdcPulseIntRaw; + Double_t P_hod_2y_posAdcPulseIntRaw[10]; //[Ndata.P.hod.2y.posAdcPulseIntRaw] + Int_t Ndata_P_hod_2y_posAdcPulseTimeRaw; + Double_t P_hod_2y_posAdcPulseTimeRaw[10]; //[Ndata.P.hod.2y.posAdcPulseTimeRaw] + Int_t Ndata_P_hod_2y_posTdcCounter; + Double_t P_hod_2y_posTdcCounter[20]; //[Ndata.P.hod.2y.posTdcCounter] + Int_t Ndata_P_hod_2y_posTdcTime; + Double_t P_hod_2y_posTdcTime[20]; //[Ndata.P.hod.2y.posTdcTime] + Int_t Ndata_P_hod_2y_posTdcTimeRaw; + Double_t P_hod_2y_posTdcTimeRaw[20]; //[Ndata.P.hod.2y.posTdcTimeRaw] + Int_t Ndata_P_ngcer_adcCounter; + Double_t P_ngcer_adcCounter[4]; //[Ndata.P.ngcer.adcCounter] + Int_t Ndata_P_ngcer_adcErrorFlag; + Double_t P_ngcer_adcErrorFlag[4]; //[Ndata.P.ngcer.adcErrorFlag] + Int_t Ndata_P_ngcer_goodAdcPed; + Double_t P_ngcer_goodAdcPed[4]; //[Ndata.P.ngcer.goodAdcPed] + Int_t Ndata_P_ngcer_goodAdcPulseAmp; + Double_t P_ngcer_goodAdcPulseAmp[4]; //[Ndata.P.ngcer.goodAdcPulseAmp] + Int_t Ndata_P_ngcer_goodAdcPulseInt; + Double_t P_ngcer_goodAdcPulseInt[4]; //[Ndata.P.ngcer.goodAdcPulseInt] + Int_t Ndata_P_ngcer_goodAdcPulseIntRaw; + Double_t P_ngcer_goodAdcPulseIntRaw[4]; //[Ndata.P.ngcer.goodAdcPulseIntRaw] + Int_t Ndata_P_ngcer_goodAdcPulseTime; + Double_t P_ngcer_goodAdcPulseTime[4]; //[Ndata.P.ngcer.goodAdcPulseTime] + Int_t Ndata_P_ngcer_npe; + Double_t P_ngcer_npe[4]; //[Ndata.P.ngcer.npe] + Int_t Ndata_P_ngcer_numGoodAdcHits; + Double_t P_ngcer_numGoodAdcHits[4]; //[Ndata.P.ngcer.numGoodAdcHits] + Int_t Ndata_P_ngcer_numTracksFired; + Double_t P_ngcer_numTracksFired[4]; //[Ndata.P.ngcer.numTracksFired] + Int_t Ndata_P_ngcer_numTracksMatched; + Double_t P_ngcer_numTracksMatched[4]; //[Ndata.P.ngcer.numTracksMatched] + Int_t Ndata_P_tr_beta; + Double_t P_tr_beta[10]; //[Ndata.P.tr.beta] + Int_t Ndata_P_tr_betachisq; + Double_t P_tr_betachisq[10]; //[Ndata.P.tr.betachisq] + Int_t Ndata_P_tr_chi2; + Double_t P_tr_chi2[10]; //[Ndata.P.tr.chi2] + Int_t Ndata_P_tr_d_ph; + Double_t P_tr_d_ph[10]; //[Ndata.P.tr.d_ph] + Int_t Ndata_P_tr_d_th; + Double_t P_tr_d_th[10]; //[Ndata.P.tr.d_th] + Int_t Ndata_P_tr_d_x; + Double_t P_tr_d_x[10]; //[Ndata.P.tr.d_x] + Int_t Ndata_P_tr_d_y; + Double_t P_tr_d_y[10]; //[Ndata.P.tr.d_y] + Int_t Ndata_P_tr_dbeta; + Double_t P_tr_dbeta[10]; //[Ndata.P.tr.dbeta] + Int_t Ndata_P_tr_dtime; + Double_t P_tr_dtime[10]; //[Ndata.P.tr.dtime] + Int_t Ndata_P_tr_flag; + Double_t P_tr_flag[10]; //[Ndata.P.tr.flag] + Int_t Ndata_P_tr_ndof; + Double_t P_tr_ndof[10]; //[Ndata.P.tr.ndof] + Int_t Ndata_P_tr_p; + Double_t P_tr_p[10]; //[Ndata.P.tr.p] + Int_t Ndata_P_tr_pathl; + Double_t P_tr_pathl[10]; //[Ndata.P.tr.pathl] + Int_t Ndata_P_tr_ph; + Double_t P_tr_ph[10]; //[Ndata.P.tr.ph] + Int_t Ndata_P_tr_px; + Double_t P_tr_px[10]; //[Ndata.P.tr.px] + Int_t Ndata_P_tr_py; + Double_t P_tr_py[10]; //[Ndata.P.tr.py] + Int_t Ndata_P_tr_pz; + Double_t P_tr_pz[10]; //[Ndata.P.tr.pz] + Int_t Ndata_P_tr_r_ph; + Double_t P_tr_r_ph[10]; //[Ndata.P.tr.r_ph] + Int_t Ndata_P_tr_r_th; + Double_t P_tr_r_th[10]; //[Ndata.P.tr.r_th] + Int_t Ndata_P_tr_r_x; + Double_t P_tr_r_x[10]; //[Ndata.P.tr.r_x] + Int_t Ndata_P_tr_r_y; + Double_t P_tr_r_y[10]; //[Ndata.P.tr.r_y] + Int_t Ndata_P_tr_tg_dp; + Double_t P_tr_tg_dp[10]; //[Ndata.P.tr.tg_dp] + Int_t Ndata_P_tr_tg_ph; + Double_t P_tr_tg_ph[10]; //[Ndata.P.tr.tg_ph] + Int_t Ndata_P_tr_tg_th; + Double_t P_tr_tg_th[10]; //[Ndata.P.tr.tg_th] + Int_t Ndata_P_tr_tg_y; + Double_t P_tr_tg_y[10]; //[Ndata.P.tr.tg_y] + Int_t Ndata_P_tr_th; + Double_t P_tr_th[10]; //[Ndata.P.tr.th] + Int_t Ndata_P_tr_time; + Double_t P_tr_time[10]; //[Ndata.P.tr.time] + Int_t Ndata_P_tr_vx; + Double_t P_tr_vx[10]; //[Ndata.P.tr.vx] + Int_t Ndata_P_tr_vy; + Double_t P_tr_vy[10]; //[Ndata.P.tr.vy] + Int_t Ndata_P_tr_vz; + Double_t P_tr_vz[10]; //[Ndata.P.tr.vz] + Int_t Ndata_P_tr_x; + Double_t P_tr_x[10]; //[Ndata.P.tr.x] + Int_t Ndata_P_tr_y; + Double_t P_tr_y[10]; //[Ndata.P.tr.y] + Double_t P_aero_negNpeSum; + Double_t P_aero_npeSum; + Double_t P_aero_posNpeSum; + Double_t P_aero_totNumGoodNegAdcHits; + Double_t P_aero_totNumGoodPosAdcHits; + Double_t P_aero_totNumTracksFired; + Double_t P_aero_totNumTracksMatched; + Double_t P_aero_totnumGoodAdcHits; + Double_t P_cal_etot; + Double_t P_cal_etotnorm; + Double_t P_cal_etrack; + Double_t P_cal_etracknorm; + Double_t P_cal_fly_earray; + Double_t P_cal_fly_nclust; + Double_t P_cal_fly_nghits; + Double_t P_cal_fly_nhits; + Double_t P_cal_fly_ntracks; + Double_t P_cal_nblock_high_ene; + Double_t P_cal_nclust; + Double_t P_cal_nclustarraytrack; + Double_t P_cal_nclusttrack; + Double_t P_cal_nhits; + Double_t P_cal_ntracks; + Double_t P_cal_pr_eplane; + Double_t P_cal_pr_eplane_neg; + Double_t P_cal_pr_eplane_pos; + Double_t P_cal_sizeclustarray; + Double_t P_cal_xclustarraytrack; + Double_t P_cal_xclusttrack; + Double_t P_cal_xtrack; + Double_t P_cal_xtrackarray; + Double_t P_cal_yclustarraytrack; + Double_t P_cal_yclusttrack; + Double_t P_cal_ytrack; + Double_t P_cal_ytrackarray; + Double_t P_dc_1u1_nhit; + Double_t P_dc_1u2_nhit; + Double_t P_dc_1v1_nhit; + Double_t P_dc_1v2_nhit; + Double_t P_dc_1x1_nhit; + Double_t P_dc_1x2_nhit; + Double_t P_dc_2u1_nhit; + Double_t P_dc_2u2_nhit; + Double_t P_dc_2v1_nhit; + Double_t P_dc_2v2_nhit; + Double_t P_dc_2x1_nhit; + Double_t P_dc_2x2_nhit; + Double_t P_dc_Ch1_maxhits; + Double_t P_dc_Ch1_nhit; + Double_t P_dc_Ch1_spacepoints; + Double_t P_dc_Ch1_trawhit; + Double_t P_dc_Ch2_maxhits; + Double_t P_dc_Ch2_nhit; + Double_t P_dc_Ch2_spacepoints; + Double_t P_dc_Ch2_trawhit; + Double_t P_dc_nhit; + Double_t P_dc_nsp; + Double_t P_dc_ntrack; + Double_t P_dc_stubtest; + Double_t P_dc_tnhit; + Double_t P_dc_trawhit; + Double_t P_dc_x_fp; + Double_t P_dc_xp_fp; + Double_t P_dc_y_fp; + Double_t P_dc_yp_fp; + Double_t P_gtr_beta; + Double_t P_gtr_dp; + Double_t P_gtr_index; + Double_t P_gtr_ok; + Double_t P_gtr_p; + Double_t P_gtr_ph; + Double_t P_gtr_px; + Double_t P_gtr_py; + Double_t P_gtr_pz; + Double_t P_gtr_th; + Double_t P_gtr_x; + Double_t P_gtr_y; + Double_t P_hgcer_npeSum; + Double_t P_hgcer_totNumGoodAdcHits; + Double_t P_hgcer_totNumTracksFired; + Double_t P_hgcer_totNumTracksMatched; + Double_t P_hod_1x_fptime; + Double_t P_hod_1x_ngoodhits; + Double_t P_hod_1x_nhits; + Double_t P_hod_1y_fptime; + Double_t P_hod_1y_ngoodhits; + Double_t P_hod_1y_nhits; + Double_t P_hod_2x_fptime; + Double_t P_hod_2x_ngoodhits; + Double_t P_hod_2x_nhits; + Double_t P_hod_2y_fptime; + Double_t P_hod_2y_ngoodhits; + Double_t P_hod_2y_nhits; + Double_t P_hod_beta; + Double_t P_hod_betachisqnotrack; + Double_t P_hod_betanotrack; + Double_t P_hod_fpHitsTime; + Double_t P_hod_goodscinhit; + Double_t P_hod_goodstarttime; + Double_t P_hod_starttime; + Double_t P_ngcer_npeSum; + Double_t P_ngcer_totNumGoodAdcHits; + Double_t P_ngcer_totNumTracksFired; + Double_t P_ngcer_totNumTracksMatched; + Double_t P_tr_n; + Double_t T_shms_p1T_tdcMultiplicity; + Double_t T_shms_p1T_tdcTime; + Double_t T_shms_p1T_tdcTimeRaw; + Double_t T_shms_p1X_tdcMultiplicity; + Double_t T_shms_p1X_tdcTime; + Double_t T_shms_p1X_tdcTimeRaw; + Double_t T_shms_p1Y_tdcMultiplicity; + Double_t T_shms_p1Y_tdcTime; + Double_t T_shms_p1Y_tdcTimeRaw; + Double_t T_shms_p2T_tdcMultiplicity; + Double_t T_shms_p2T_tdcTime; + Double_t T_shms_p2T_tdcTimeRaw; + Double_t T_shms_p2X_tdcMultiplicity; + Double_t T_shms_p2X_tdcTime; + Double_t T_shms_p2X_tdcTimeRaw; + Double_t T_shms_p2Y_tdcMultiplicity; + Double_t T_shms_p2Y_tdcTime; + Double_t T_shms_p2Y_tdcTimeRaw; + Double_t T_shms_pAERSUM_adcMultiplicity; + Double_t T_shms_pAERSUM_adcPed; + Double_t T_shms_pAERSUM_adcPedRaw; + Double_t T_shms_pAERSUM_adcPulseAmp; + Double_t T_shms_pAERSUM_adcPulseAmpRaw; + Double_t T_shms_pAERSUM_adcPulseInt; + Double_t T_shms_pAERSUM_adcPulseIntRaw; + Double_t T_shms_pAERSUM_adcPulseTimeRaw; + Double_t T_shms_pAERSUM_tdcMultiplicity; + Double_t T_shms_pAERSUM_tdcTime; + Double_t T_shms_pAERSUM_tdcTimeRaw; + Double_t T_shms_pDCREF10_tdcMultiplicity; + Double_t T_shms_pDCREF10_tdcTime; + Double_t T_shms_pDCREF10_tdcTimeRaw; + Double_t T_shms_pDCREF1_tdcMultiplicity; + Double_t T_shms_pDCREF1_tdcTime; + Double_t T_shms_pDCREF1_tdcTimeRaw; + Double_t T_shms_pDCREF2_tdcMultiplicity; + Double_t T_shms_pDCREF2_tdcTime; + Double_t T_shms_pDCREF2_tdcTimeRaw; + Double_t T_shms_pDCREF3_tdcMultiplicity; + Double_t T_shms_pDCREF3_tdcTime; + Double_t T_shms_pDCREF3_tdcTimeRaw; + Double_t T_shms_pDCREF4_tdcMultiplicity; + Double_t T_shms_pDCREF4_tdcTime; + Double_t T_shms_pDCREF4_tdcTimeRaw; + Double_t T_shms_pDCREF5_tdcMultiplicity; + Double_t T_shms_pDCREF5_tdcTime; + Double_t T_shms_pDCREF5_tdcTimeRaw; + Double_t T_shms_pDCREF6_tdcMultiplicity; + Double_t T_shms_pDCREF6_tdcTime; + Double_t T_shms_pDCREF6_tdcTimeRaw; + Double_t T_shms_pDCREF7_tdcMultiplicity; + Double_t T_shms_pDCREF7_tdcTime; + Double_t T_shms_pDCREF7_tdcTimeRaw; + Double_t T_shms_pDCREF8_tdcMultiplicity; + Double_t T_shms_pDCREF8_tdcTime; + Double_t T_shms_pDCREF8_tdcTimeRaw; + Double_t T_shms_pDCREF9_tdcMultiplicity; + Double_t T_shms_pDCREF9_tdcTime; + Double_t T_shms_pDCREF9_tdcTimeRaw; + Double_t T_shms_pHGCSUM_adcMultiplicity; + Double_t T_shms_pHGCSUM_adcPed; + Double_t T_shms_pHGCSUM_adcPedRaw; + Double_t T_shms_pHGCSUM_adcPulseAmp; + Double_t T_shms_pHGCSUM_adcPulseAmpRaw; + Double_t T_shms_pHGCSUM_adcPulseInt; + Double_t T_shms_pHGCSUM_adcPulseIntRaw; + Double_t T_shms_pHGCSUM_adcPulseTimeRaw; + Double_t T_shms_pHGCSUM_tdcMultiplicity; + Double_t T_shms_pHGCSUM_tdcTime; + Double_t T_shms_pHGCSUM_tdcTimeRaw; + Double_t T_shms_pNGCSUM_adcMultiplicity; + Double_t T_shms_pNGCSUM_adcPed; + Double_t T_shms_pNGCSUM_adcPedRaw; + Double_t T_shms_pNGCSUM_adcPulseAmp; + Double_t T_shms_pNGCSUM_adcPulseAmpRaw; + Double_t T_shms_pNGCSUM_adcPulseInt; + Double_t T_shms_pNGCSUM_adcPulseIntRaw; + Double_t T_shms_pNGCSUM_adcPulseTimeRaw; + Double_t T_shms_pNGCSUM_tdcMultiplicity; + Double_t T_shms_pNGCSUM_tdcTime; + Double_t T_shms_pNGCSUM_tdcTimeRaw; + Double_t T_shms_pT1_tdcMultiplicity; + Double_t T_shms_pT1_tdcTime; + Double_t T_shms_pT1_tdcTimeRaw; + Double_t T_shms_pT2_tdcMultiplicity; + Double_t T_shms_pT2_tdcTime; + Double_t T_shms_pT2_tdcTimeRaw; + Double_t T_shms_pT3_tdcMultiplicity; + Double_t T_shms_pT3_tdcTime; + Double_t T_shms_pT3_tdcTimeRaw; + //THaEvent *Event_Branch; + ULong64_t fEvtHdr_fEvtTime; + UInt_t fEvtHdr_fEvtNum; + Int_t fEvtHdr_fEvtType; + Int_t fEvtHdr_fEvtLen; + Int_t fEvtHdr_fHelicity; + Int_t fEvtHdr_fTargetPol; + Int_t fEvtHdr_fRun; + + // List of branches + TBranch *b_Ndata_P_aero_goodNegAdcPed; //! + TBranch *b_P_aero_goodNegAdcPed; //! + TBranch *b_Ndata_P_aero_goodNegAdcPulseAmp; //! + TBranch *b_P_aero_goodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_aero_goodNegAdcPulseInt; //! + TBranch *b_P_aero_goodNegAdcPulseInt; //! + TBranch *b_Ndata_P_aero_goodNegAdcPulseIntRaw; //! + TBranch *b_P_aero_goodNegAdcPulseIntRaw; //! + TBranch *b_Ndata_P_aero_goodNegAdcPulseTime; //! + TBranch *b_P_aero_goodNegAdcPulseTime; //! + TBranch *b_Ndata_P_aero_goodPosAdcPed; //! + TBranch *b_P_aero_goodPosAdcPed; //! + TBranch *b_Ndata_P_aero_goodPosAdcPulseAmp; //! + TBranch *b_P_aero_goodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_aero_goodPosAdcPulseInt; //! + TBranch *b_P_aero_goodPosAdcPulseInt; //! + TBranch *b_Ndata_P_aero_goodPosAdcPulseIntRaw; //! + TBranch *b_P_aero_goodPosAdcPulseIntRaw; //! + TBranch *b_Ndata_P_aero_goodPosAdcPulseTime; //! + TBranch *b_P_aero_goodPosAdcPulseTime; //! + TBranch *b_Ndata_P_aero_negAdcCounter; //! + TBranch *b_P_aero_negAdcCounter; //! + TBranch *b_Ndata_P_aero_negAdcErrorFlag; //! + TBranch *b_P_aero_negAdcErrorFlag; //! + TBranch *b_Ndata_P_aero_negNpe; //! + TBranch *b_P_aero_negNpe; //! + TBranch *b_Ndata_P_aero_numGoodNegAdcHits; //! + TBranch *b_P_aero_numGoodNegAdcHits; //! + TBranch *b_Ndata_P_aero_numGoodPosAdcHits; //! + TBranch *b_P_aero_numGoodPosAdcHits; //! + TBranch *b_Ndata_P_aero_numTracksFired; //! + TBranch *b_P_aero_numTracksFired; //! + TBranch *b_Ndata_P_aero_numTracksMatched; //! + TBranch *b_P_aero_numTracksMatched; //! + TBranch *b_Ndata_P_aero_posAdcCounter; //! + TBranch *b_P_aero_posAdcCounter; //! + TBranch *b_Ndata_P_aero_posAdcErrorFlag; //! + TBranch *b_P_aero_posAdcErrorFlag; //! + TBranch *b_Ndata_P_aero_posNpe; //! + TBranch *b_P_aero_posNpe; //! + TBranch *b_Ndata_P_cal_fly_a; //! + TBranch *b_P_cal_fly_a; //! + TBranch *b_Ndata_P_cal_fly_a_p; //! + TBranch *b_P_cal_fly_a_p; //! + TBranch *b_Ndata_P_cal_fly_adcCounter; //! + TBranch *b_P_cal_fly_adcCounter; //! + TBranch *b_Ndata_P_cal_fly_adcErrorFlag; //! + TBranch *b_P_cal_fly_adcErrorFlag; //! + TBranch *b_Ndata_P_cal_fly_adcPed; //! + TBranch *b_P_cal_fly_adcPed; //! + TBranch *b_Ndata_P_cal_fly_adcPedRaw; //! + TBranch *b_P_cal_fly_adcPedRaw; //! + TBranch *b_Ndata_P_cal_fly_adcPulseAmp; //! + TBranch *b_P_cal_fly_adcPulseAmp; //! + TBranch *b_Ndata_P_cal_fly_adcPulseAmpRaw; //! + TBranch *b_P_cal_fly_adcPulseAmpRaw; //! + TBranch *b_Ndata_P_cal_fly_adcPulseInt; //! + TBranch *b_P_cal_fly_adcPulseInt; //! + TBranch *b_Ndata_P_cal_fly_adcPulseIntRaw; //! + TBranch *b_P_cal_fly_adcPulseIntRaw; //! + TBranch *b_Ndata_P_cal_fly_adcPulseTimeRaw; //! + TBranch *b_P_cal_fly_adcPulseTimeRaw; //! + TBranch *b_Ndata_P_cal_fly_adchits; //! + TBranch *b_P_cal_fly_adchits; //! + TBranch *b_Ndata_P_cal_fly_block_clusterID; //! + TBranch *b_P_cal_fly_block_clusterID; //! + TBranch *b_Ndata_P_cal_fly_e; //! + TBranch *b_P_cal_fly_e; //! + TBranch *b_Ndata_P_cal_fly_p; //! + TBranch *b_P_cal_fly_p; //! + TBranch *b_Ndata_P_cal_pr_aneg; //! + TBranch *b_P_cal_pr_aneg; //! + TBranch *b_Ndata_P_cal_pr_aneg_p; //! + TBranch *b_P_cal_pr_aneg_p; //! + TBranch *b_Ndata_P_cal_pr_apos; //! + TBranch *b_P_cal_pr_apos; //! + TBranch *b_Ndata_P_cal_pr_apos_p; //! + TBranch *b_P_cal_pr_apos_p; //! + TBranch *b_Ndata_P_cal_pr_emean; //! + TBranch *b_P_cal_pr_emean; //! + TBranch *b_Ndata_P_cal_pr_eneg; //! + TBranch *b_P_cal_pr_eneg; //! + TBranch *b_Ndata_P_cal_pr_epos; //! + TBranch *b_P_cal_pr_epos; //! + TBranch *b_Ndata_P_cal_pr_negAdcCounter; //! + TBranch *b_P_cal_pr_negAdcCounter; //! + TBranch *b_Ndata_P_cal_pr_negAdcErrorFlag; //! + TBranch *b_P_cal_pr_negAdcErrorFlag; //! + TBranch *b_Ndata_P_cal_pr_negAdcPed; //! + TBranch *b_P_cal_pr_negAdcPed; //! + TBranch *b_Ndata_P_cal_pr_negAdcPedRaw; //! + TBranch *b_P_cal_pr_negAdcPedRaw; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseAmp; //! + TBranch *b_P_cal_pr_negAdcPulseAmp; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseAmpRaw; //! + TBranch *b_P_cal_pr_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseInt; //! + TBranch *b_P_cal_pr_negAdcPulseInt; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseIntRaw; //! + TBranch *b_P_cal_pr_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_cal_pr_negAdcPulseTimeRaw; //! + TBranch *b_P_cal_pr_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_cal_pr_negadchits; //! + TBranch *b_P_cal_pr_negadchits; //! + TBranch *b_Ndata_P_cal_pr_posAdcCounter; //! + TBranch *b_P_cal_pr_posAdcCounter; //! + TBranch *b_Ndata_P_cal_pr_posAdcErrorFlag; //! + TBranch *b_P_cal_pr_posAdcErrorFlag; //! + TBranch *b_Ndata_P_cal_pr_posAdcPed; //! + TBranch *b_P_cal_pr_posAdcPed; //! + TBranch *b_Ndata_P_cal_pr_posAdcPedRaw; //! + TBranch *b_P_cal_pr_posAdcPedRaw; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseAmp; //! + TBranch *b_P_cal_pr_posAdcPulseAmp; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseAmpRaw; //! + TBranch *b_P_cal_pr_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseInt; //! + TBranch *b_P_cal_pr_posAdcPulseInt; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseIntRaw; //! + TBranch *b_P_cal_pr_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_cal_pr_posAdcPulseTimeRaw; //! + TBranch *b_P_cal_pr_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_cal_pr_posadchits; //! + TBranch *b_P_cal_pr_posadchits; //! + TBranch *b_Ndata_P_dc_1u1_dist; //! + TBranch *b_P_dc_1u1_dist; //! + TBranch *b_Ndata_P_dc_1u1_rawtdc; //! + TBranch *b_P_dc_1u1_rawtdc; //! + TBranch *b_Ndata_P_dc_1u1_time; //! + TBranch *b_P_dc_1u1_time; //! + TBranch *b_Ndata_P_dc_1u1_wirenum; //! + TBranch *b_P_dc_1u1_wirenum; //! + TBranch *b_Ndata_P_dc_1u2_dist; //! + TBranch *b_P_dc_1u2_dist; //! + TBranch *b_Ndata_P_dc_1u2_rawtdc; //! + TBranch *b_P_dc_1u2_rawtdc; //! + TBranch *b_Ndata_P_dc_1u2_time; //! + TBranch *b_P_dc_1u2_time; //! + TBranch *b_Ndata_P_dc_1u2_wirenum; //! + TBranch *b_P_dc_1u2_wirenum; //! + TBranch *b_Ndata_P_dc_1v1_dist; //! + TBranch *b_P_dc_1v1_dist; //! + TBranch *b_Ndata_P_dc_1v1_rawtdc; //! + TBranch *b_P_dc_1v1_rawtdc; //! + TBranch *b_Ndata_P_dc_1v1_time; //! + TBranch *b_P_dc_1v1_time; //! + TBranch *b_Ndata_P_dc_1v1_wirenum; //! + TBranch *b_P_dc_1v1_wirenum; //! + TBranch *b_Ndata_P_dc_1v2_dist; //! + TBranch *b_P_dc_1v2_dist; //! + TBranch *b_Ndata_P_dc_1v2_rawtdc; //! + TBranch *b_P_dc_1v2_rawtdc; //! + TBranch *b_Ndata_P_dc_1v2_time; //! + TBranch *b_P_dc_1v2_time; //! + TBranch *b_Ndata_P_dc_1v2_wirenum; //! + TBranch *b_P_dc_1v2_wirenum; //! + TBranch *b_Ndata_P_dc_1x1_dist; //! + TBranch *b_P_dc_1x1_dist; //! + TBranch *b_Ndata_P_dc_1x1_rawtdc; //! + TBranch *b_P_dc_1x1_rawtdc; //! + TBranch *b_Ndata_P_dc_1x1_time; //! + TBranch *b_P_dc_1x1_time; //! + TBranch *b_Ndata_P_dc_1x1_wirenum; //! + TBranch *b_P_dc_1x1_wirenum; //! + TBranch *b_Ndata_P_dc_1x2_dist; //! + TBranch *b_P_dc_1x2_dist; //! + TBranch *b_Ndata_P_dc_1x2_rawtdc; //! + TBranch *b_P_dc_1x2_rawtdc; //! + TBranch *b_Ndata_P_dc_1x2_time; //! + TBranch *b_P_dc_1x2_time; //! + TBranch *b_Ndata_P_dc_1x2_wirenum; //! + TBranch *b_P_dc_1x2_wirenum; //! + TBranch *b_Ndata_P_dc_2u1_dist; //! + TBranch *b_P_dc_2u1_dist; //! + TBranch *b_Ndata_P_dc_2u1_rawtdc; //! + TBranch *b_P_dc_2u1_rawtdc; //! + TBranch *b_Ndata_P_dc_2u1_time; //! + TBranch *b_P_dc_2u1_time; //! + TBranch *b_Ndata_P_dc_2u1_wirenum; //! + TBranch *b_P_dc_2u1_wirenum; //! + TBranch *b_Ndata_P_dc_2u2_dist; //! + TBranch *b_P_dc_2u2_dist; //! + TBranch *b_Ndata_P_dc_2u2_rawtdc; //! + TBranch *b_P_dc_2u2_rawtdc; //! + TBranch *b_Ndata_P_dc_2u2_time; //! + TBranch *b_P_dc_2u2_time; //! + TBranch *b_Ndata_P_dc_2u2_wirenum; //! + TBranch *b_P_dc_2u2_wirenum; //! + TBranch *b_Ndata_P_dc_2v1_dist; //! + TBranch *b_P_dc_2v1_dist; //! + TBranch *b_Ndata_P_dc_2v1_rawtdc; //! + TBranch *b_P_dc_2v1_rawtdc; //! + TBranch *b_Ndata_P_dc_2v1_time; //! + TBranch *b_P_dc_2v1_time; //! + TBranch *b_Ndata_P_dc_2v1_wirenum; //! + TBranch *b_P_dc_2v1_wirenum; //! + TBranch *b_Ndata_P_dc_2v2_dist; //! + TBranch *b_P_dc_2v2_dist; //! + TBranch *b_Ndata_P_dc_2v2_rawtdc; //! + TBranch *b_P_dc_2v2_rawtdc; //! + TBranch *b_Ndata_P_dc_2v2_time; //! + TBranch *b_P_dc_2v2_time; //! + TBranch *b_Ndata_P_dc_2v2_wirenum; //! + TBranch *b_P_dc_2v2_wirenum; //! + TBranch *b_Ndata_P_dc_2x1_dist; //! + TBranch *b_P_dc_2x1_dist; //! + TBranch *b_Ndata_P_dc_2x1_rawtdc; //! + TBranch *b_P_dc_2x1_rawtdc; //! + TBranch *b_Ndata_P_dc_2x1_time; //! + TBranch *b_P_dc_2x1_time; //! + TBranch *b_Ndata_P_dc_2x1_wirenum; //! + TBranch *b_P_dc_2x1_wirenum; //! + TBranch *b_Ndata_P_dc_2x2_dist; //! + TBranch *b_P_dc_2x2_dist; //! + TBranch *b_Ndata_P_dc_2x2_rawtdc; //! + TBranch *b_P_dc_2x2_rawtdc; //! + TBranch *b_Ndata_P_dc_2x2_time; //! + TBranch *b_P_dc_2x2_time; //! + TBranch *b_Ndata_P_dc_2x2_wirenum; //! + TBranch *b_P_dc_2x2_wirenum; //! + TBranch *b_Ndata_P_dc_residual; //! + TBranch *b_P_dc_residual; //! + TBranch *b_Ndata_P_dc_wireHitDid; //! + TBranch *b_P_dc_wireHitDid; //! + TBranch *b_Ndata_P_dc_wireHitShould; //! + TBranch *b_P_dc_wireHitShould; //! + TBranch *b_Ndata_P_dc_x; //! + TBranch *b_P_dc_x; //! + TBranch *b_Ndata_P_dc_xp; //! + TBranch *b_P_dc_xp; //! + TBranch *b_Ndata_P_dc_y; //! + TBranch *b_P_dc_y; //! + TBranch *b_Ndata_P_dc_yp; //! + TBranch *b_P_dc_yp; //! + TBranch *b_Ndata_P_hgcer_adcCounter; //! + TBranch *b_P_hgcer_adcCounter; //! + TBranch *b_Ndata_P_hgcer_adcErrorFlag; //! + TBranch *b_P_hgcer_adcErrorFlag; //! + TBranch *b_Ndata_P_hgcer_goodAdcPed; //! + TBranch *b_P_hgcer_goodAdcPed; //! + TBranch *b_Ndata_P_hgcer_goodAdcPulseAmp; //! + TBranch *b_P_hgcer_goodAdcPulseAmp; //! + TBranch *b_Ndata_P_hgcer_goodAdcPulseInt; //! + TBranch *b_P_hgcer_goodAdcPulseInt; //! + TBranch *b_Ndata_P_hgcer_goodAdcPulseIntRaw; //! + TBranch *b_P_hgcer_goodAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hgcer_goodAdcPulseTime; //! + TBranch *b_P_hgcer_goodAdcPulseTime; //! + TBranch *b_Ndata_P_hgcer_npe; //! + TBranch *b_P_hgcer_npe; //! + TBranch *b_Ndata_P_hgcer_numGoodAdcHits; //! + TBranch *b_P_hgcer_numGoodAdcHits; //! + TBranch *b_Ndata_P_hgcer_numTracksFired; //! + TBranch *b_P_hgcer_numTracksFired; //! + TBranch *b_Ndata_P_hgcer_numTracksMatched; //! + TBranch *b_P_hgcer_numTracksMatched; //! + TBranch *b_Ndata_P_hod_1x_GoodNegAdcPulseAmp; //! + TBranch *b_P_hod_1x_GoodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1x_GoodNegAdcPulseInt; //! + TBranch *b_P_hod_1x_GoodNegAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1x_GoodNegAdcPulseTime; //! + TBranch *b_P_hod_1x_GoodNegAdcPulseTime; //! + TBranch *b_Ndata_P_hod_1x_GoodNegTdcChan; //! + TBranch *b_P_hod_1x_GoodNegTdcChan; //! + TBranch *b_Ndata_P_hod_1x_GoodNegTdcTimeCorr; //! + TBranch *b_P_hod_1x_GoodNegTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_1x_GoodNegTdcTimeTOFCorr; //! + TBranch *b_P_hod_1x_GoodNegTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_1x_GoodPaddle; //! + TBranch *b_P_hod_1x_GoodPaddle; //! + TBranch *b_Ndata_P_hod_1x_GoodPosAdcPulseAmp; //! + TBranch *b_P_hod_1x_GoodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1x_GoodPosAdcPulseInt; //! + TBranch *b_P_hod_1x_GoodPosAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1x_GoodPosAdcPulseTime; //! + TBranch *b_P_hod_1x_GoodPosAdcPulseTime; //! + TBranch *b_Ndata_P_hod_1x_GoodPosTdcChan; //! + TBranch *b_P_hod_1x_GoodPosTdcChan; //! + TBranch *b_Ndata_P_hod_1x_GoodPosTdcTimeCorr; //! + TBranch *b_P_hod_1x_GoodPosTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_1x_GoodPosTdcTimeTOFCorr; //! + TBranch *b_P_hod_1x_GoodPosTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_1x_negAdcCounter; //! + TBranch *b_P_hod_1x_negAdcCounter; //! + TBranch *b_Ndata_P_hod_1x_negAdcPed; //! + TBranch *b_P_hod_1x_negAdcPed; //! + TBranch *b_Ndata_P_hod_1x_negAdcPedRaw; //! + TBranch *b_P_hod_1x_negAdcPedRaw; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseAmp; //! + TBranch *b_P_hod_1x_negAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseAmpRaw; //! + TBranch *b_P_hod_1x_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseInt; //! + TBranch *b_P_hod_1x_negAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseIntRaw; //! + TBranch *b_P_hod_1x_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_1x_negAdcPulseTimeRaw; //! + TBranch *b_P_hod_1x_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_1x_negTdcCounter; //! + TBranch *b_P_hod_1x_negTdcCounter; //! + TBranch *b_Ndata_P_hod_1x_negTdcTime; //! + TBranch *b_P_hod_1x_negTdcTime; //! + TBranch *b_Ndata_P_hod_1x_negTdcTimeRaw; //! + TBranch *b_P_hod_1x_negTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_1x_posAdcCounter; //! + TBranch *b_P_hod_1x_posAdcCounter; //! + TBranch *b_Ndata_P_hod_1x_posAdcPed; //! + TBranch *b_P_hod_1x_posAdcPed; //! + TBranch *b_Ndata_P_hod_1x_posAdcPedRaw; //! + TBranch *b_P_hod_1x_posAdcPedRaw; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseAmp; //! + TBranch *b_P_hod_1x_posAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseAmpRaw; //! + TBranch *b_P_hod_1x_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseInt; //! + TBranch *b_P_hod_1x_posAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseIntRaw; //! + TBranch *b_P_hod_1x_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_1x_posAdcPulseTimeRaw; //! + TBranch *b_P_hod_1x_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_1x_posTdcCounter; //! + TBranch *b_P_hod_1x_posTdcCounter; //! + TBranch *b_Ndata_P_hod_1x_posTdcTime; //! + TBranch *b_P_hod_1x_posTdcTime; //! + TBranch *b_Ndata_P_hod_1x_posTdcTimeRaw; //! + TBranch *b_P_hod_1x_posTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_1y_GoodNegAdcPulseAmp; //! + TBranch *b_P_hod_1y_GoodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1y_GoodNegAdcPulseInt; //! + TBranch *b_P_hod_1y_GoodNegAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1y_GoodNegAdcPulseTime; //! + TBranch *b_P_hod_1y_GoodNegAdcPulseTime; //! + TBranch *b_Ndata_P_hod_1y_GoodNegTdcChan; //! + TBranch *b_P_hod_1y_GoodNegTdcChan; //! + TBranch *b_Ndata_P_hod_1y_GoodNegTdcTimeCorr; //! + TBranch *b_P_hod_1y_GoodNegTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_1y_GoodNegTdcTimeTOFCorr; //! + TBranch *b_P_hod_1y_GoodNegTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_1y_GoodPaddle; //! + TBranch *b_P_hod_1y_GoodPaddle; //! + TBranch *b_Ndata_P_hod_1y_GoodPosAdcPulseAmp; //! + TBranch *b_P_hod_1y_GoodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1y_GoodPosAdcPulseInt; //! + TBranch *b_P_hod_1y_GoodPosAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1y_GoodPosAdcPulseTime; //! + TBranch *b_P_hod_1y_GoodPosAdcPulseTime; //! + TBranch *b_Ndata_P_hod_1y_GoodPosTdcChan; //! + TBranch *b_P_hod_1y_GoodPosTdcChan; //! + TBranch *b_Ndata_P_hod_1y_GoodPosTdcTimeCorr; //! + TBranch *b_P_hod_1y_GoodPosTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_1y_GoodPosTdcTimeTOFCorr; //! + TBranch *b_P_hod_1y_GoodPosTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_1y_negAdcCounter; //! + TBranch *b_P_hod_1y_negAdcCounter; //! + TBranch *b_Ndata_P_hod_1y_negAdcPed; //! + TBranch *b_P_hod_1y_negAdcPed; //! + TBranch *b_Ndata_P_hod_1y_negAdcPedRaw; //! + TBranch *b_P_hod_1y_negAdcPedRaw; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseAmp; //! + TBranch *b_P_hod_1y_negAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseAmpRaw; //! + TBranch *b_P_hod_1y_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseInt; //! + TBranch *b_P_hod_1y_negAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseIntRaw; //! + TBranch *b_P_hod_1y_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_1y_negAdcPulseTimeRaw; //! + TBranch *b_P_hod_1y_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_1y_negTdcCounter; //! + TBranch *b_P_hod_1y_negTdcCounter; //! + TBranch *b_Ndata_P_hod_1y_negTdcTime; //! + TBranch *b_P_hod_1y_negTdcTime; //! + TBranch *b_Ndata_P_hod_1y_negTdcTimeRaw; //! + TBranch *b_P_hod_1y_negTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_1y_posAdcCounter; //! + TBranch *b_P_hod_1y_posAdcCounter; //! + TBranch *b_Ndata_P_hod_1y_posAdcPed; //! + TBranch *b_P_hod_1y_posAdcPed; //! + TBranch *b_Ndata_P_hod_1y_posAdcPedRaw; //! + TBranch *b_P_hod_1y_posAdcPedRaw; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseAmp; //! + TBranch *b_P_hod_1y_posAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseAmpRaw; //! + TBranch *b_P_hod_1y_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseInt; //! + TBranch *b_P_hod_1y_posAdcPulseInt; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseIntRaw; //! + TBranch *b_P_hod_1y_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_1y_posAdcPulseTimeRaw; //! + TBranch *b_P_hod_1y_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_1y_posTdcCounter; //! + TBranch *b_P_hod_1y_posTdcCounter; //! + TBranch *b_Ndata_P_hod_1y_posTdcTime; //! + TBranch *b_P_hod_1y_posTdcTime; //! + TBranch *b_Ndata_P_hod_1y_posTdcTimeRaw; //! + TBranch *b_P_hod_1y_posTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_2x_GoodNegAdcPulseAmp; //! + TBranch *b_P_hod_2x_GoodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2x_GoodNegAdcPulseInt; //! + TBranch *b_P_hod_2x_GoodNegAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2x_GoodNegAdcPulseTime; //! + TBranch *b_P_hod_2x_GoodNegAdcPulseTime; //! + TBranch *b_Ndata_P_hod_2x_GoodNegTdcChan; //! + TBranch *b_P_hod_2x_GoodNegTdcChan; //! + TBranch *b_Ndata_P_hod_2x_GoodNegTdcTimeCorr; //! + TBranch *b_P_hod_2x_GoodNegTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_2x_GoodNegTdcTimeTOFCorr; //! + TBranch *b_P_hod_2x_GoodNegTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_2x_GoodPaddle; //! + TBranch *b_P_hod_2x_GoodPaddle; //! + TBranch *b_Ndata_P_hod_2x_GoodPosAdcPulseAmp; //! + TBranch *b_P_hod_2x_GoodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2x_GoodPosAdcPulseInt; //! + TBranch *b_P_hod_2x_GoodPosAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2x_GoodPosAdcPulseTime; //! + TBranch *b_P_hod_2x_GoodPosAdcPulseTime; //! + TBranch *b_Ndata_P_hod_2x_GoodPosTdcChan; //! + TBranch *b_P_hod_2x_GoodPosTdcChan; //! + TBranch *b_Ndata_P_hod_2x_GoodPosTdcTimeCorr; //! + TBranch *b_P_hod_2x_GoodPosTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_2x_GoodPosTdcTimeTOFCorr; //! + TBranch *b_P_hod_2x_GoodPosTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_2x_negAdcCounter; //! + TBranch *b_P_hod_2x_negAdcCounter; //! + TBranch *b_Ndata_P_hod_2x_negAdcPed; //! + TBranch *b_P_hod_2x_negAdcPed; //! + TBranch *b_Ndata_P_hod_2x_negAdcPedRaw; //! + TBranch *b_P_hod_2x_negAdcPedRaw; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseAmp; //! + TBranch *b_P_hod_2x_negAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseAmpRaw; //! + TBranch *b_P_hod_2x_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseInt; //! + TBranch *b_P_hod_2x_negAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseIntRaw; //! + TBranch *b_P_hod_2x_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_2x_negAdcPulseTimeRaw; //! + TBranch *b_P_hod_2x_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_2x_negTdcCounter; //! + TBranch *b_P_hod_2x_negTdcCounter; //! + TBranch *b_Ndata_P_hod_2x_negTdcTime; //! + TBranch *b_P_hod_2x_negTdcTime; //! + TBranch *b_Ndata_P_hod_2x_negTdcTimeRaw; //! + TBranch *b_P_hod_2x_negTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_2x_posAdcCounter; //! + TBranch *b_P_hod_2x_posAdcCounter; //! + TBranch *b_Ndata_P_hod_2x_posAdcPed; //! + TBranch *b_P_hod_2x_posAdcPed; //! + TBranch *b_Ndata_P_hod_2x_posAdcPedRaw; //! + TBranch *b_P_hod_2x_posAdcPedRaw; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseAmp; //! + TBranch *b_P_hod_2x_posAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseAmpRaw; //! + TBranch *b_P_hod_2x_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseInt; //! + TBranch *b_P_hod_2x_posAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseIntRaw; //! + TBranch *b_P_hod_2x_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_2x_posAdcPulseTimeRaw; //! + TBranch *b_P_hod_2x_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_2x_posTdcCounter; //! + TBranch *b_P_hod_2x_posTdcCounter; //! + TBranch *b_Ndata_P_hod_2x_posTdcTime; //! + TBranch *b_P_hod_2x_posTdcTime; //! + TBranch *b_Ndata_P_hod_2x_posTdcTimeRaw; //! + TBranch *b_P_hod_2x_posTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_2y_GoodNegAdcPulseAmp; //! + TBranch *b_P_hod_2y_GoodNegAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2y_GoodNegAdcPulseInt; //! + TBranch *b_P_hod_2y_GoodNegAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2y_GoodNegAdcPulseTime; //! + TBranch *b_P_hod_2y_GoodNegAdcPulseTime; //! + TBranch *b_Ndata_P_hod_2y_GoodNegTdcChan; //! + TBranch *b_P_hod_2y_GoodNegTdcChan; //! + TBranch *b_Ndata_P_hod_2y_GoodNegTdcTimeCorr; //! + TBranch *b_P_hod_2y_GoodNegTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_2y_GoodNegTdcTimeTOFCorr; //! + TBranch *b_P_hod_2y_GoodNegTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_2y_GoodPaddle; //! + TBranch *b_P_hod_2y_GoodPaddle; //! + TBranch *b_Ndata_P_hod_2y_GoodPosAdcPulseAmp; //! + TBranch *b_P_hod_2y_GoodPosAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2y_GoodPosAdcPulseInt; //! + TBranch *b_P_hod_2y_GoodPosAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2y_GoodPosAdcPulseTime; //! + TBranch *b_P_hod_2y_GoodPosAdcPulseTime; //! + TBranch *b_Ndata_P_hod_2y_GoodPosTdcChan; //! + TBranch *b_P_hod_2y_GoodPosTdcChan; //! + TBranch *b_Ndata_P_hod_2y_GoodPosTdcTimeCorr; //! + TBranch *b_P_hod_2y_GoodPosTdcTimeCorr; //! + TBranch *b_Ndata_P_hod_2y_GoodPosTdcTimeTOFCorr; //! + TBranch *b_P_hod_2y_GoodPosTdcTimeTOFCorr; //! + TBranch *b_Ndata_P_hod_2y_negAdcCounter; //! + TBranch *b_P_hod_2y_negAdcCounter; //! + TBranch *b_Ndata_P_hod_2y_negAdcPed; //! + TBranch *b_P_hod_2y_negAdcPed; //! + TBranch *b_Ndata_P_hod_2y_negAdcPedRaw; //! + TBranch *b_P_hod_2y_negAdcPedRaw; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseAmp; //! + TBranch *b_P_hod_2y_negAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseAmpRaw; //! + TBranch *b_P_hod_2y_negAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseInt; //! + TBranch *b_P_hod_2y_negAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseIntRaw; //! + TBranch *b_P_hod_2y_negAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_2y_negAdcPulseTimeRaw; //! + TBranch *b_P_hod_2y_negAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_2y_negTdcCounter; //! + TBranch *b_P_hod_2y_negTdcCounter; //! + TBranch *b_Ndata_P_hod_2y_negTdcTime; //! + TBranch *b_P_hod_2y_negTdcTime; //! + TBranch *b_Ndata_P_hod_2y_negTdcTimeRaw; //! + TBranch *b_P_hod_2y_negTdcTimeRaw; //! + TBranch *b_Ndata_P_hod_2y_posAdcCounter; //! + TBranch *b_P_hod_2y_posAdcCounter; //! + TBranch *b_Ndata_P_hod_2y_posAdcPed; //! + TBranch *b_P_hod_2y_posAdcPed; //! + TBranch *b_Ndata_P_hod_2y_posAdcPedRaw; //! + TBranch *b_P_hod_2y_posAdcPedRaw; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseAmp; //! + TBranch *b_P_hod_2y_posAdcPulseAmp; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseAmpRaw; //! + TBranch *b_P_hod_2y_posAdcPulseAmpRaw; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseInt; //! + TBranch *b_P_hod_2y_posAdcPulseInt; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseIntRaw; //! + TBranch *b_P_hod_2y_posAdcPulseIntRaw; //! + TBranch *b_Ndata_P_hod_2y_posAdcPulseTimeRaw; //! + TBranch *b_P_hod_2y_posAdcPulseTimeRaw; //! + TBranch *b_Ndata_P_hod_2y_posTdcCounter; //! + TBranch *b_P_hod_2y_posTdcCounter; //! + TBranch *b_Ndata_P_hod_2y_posTdcTime; //! + TBranch *b_P_hod_2y_posTdcTime; //! + TBranch *b_Ndata_P_hod_2y_posTdcTimeRaw; //! + TBranch *b_P_hod_2y_posTdcTimeRaw; //! + TBranch *b_Ndata_P_ngcer_adcCounter; //! + TBranch *b_P_ngcer_adcCounter; //! + TBranch *b_Ndata_P_ngcer_adcErrorFlag; //! + TBranch *b_P_ngcer_adcErrorFlag; //! + TBranch *b_Ndata_P_ngcer_goodAdcPed; //! + TBranch *b_P_ngcer_goodAdcPed; //! + TBranch *b_Ndata_P_ngcer_goodAdcPulseAmp; //! + TBranch *b_P_ngcer_goodAdcPulseAmp; //! + TBranch *b_Ndata_P_ngcer_goodAdcPulseInt; //! + TBranch *b_P_ngcer_goodAdcPulseInt; //! + TBranch *b_Ndata_P_ngcer_goodAdcPulseIntRaw; //! + TBranch *b_P_ngcer_goodAdcPulseIntRaw; //! + TBranch *b_Ndata_P_ngcer_goodAdcPulseTime; //! + TBranch *b_P_ngcer_goodAdcPulseTime; //! + TBranch *b_Ndata_P_ngcer_npe; //! + TBranch *b_P_ngcer_npe; //! + TBranch *b_Ndata_P_ngcer_numGoodAdcHits; //! + TBranch *b_P_ngcer_numGoodAdcHits; //! + TBranch *b_Ndata_P_ngcer_numTracksFired; //! + TBranch *b_P_ngcer_numTracksFired; //! + TBranch *b_Ndata_P_ngcer_numTracksMatched; //! + TBranch *b_P_ngcer_numTracksMatched; //! + TBranch *b_Ndata_P_tr_beta; //! + TBranch *b_P_tr_beta; //! + TBranch *b_Ndata_P_tr_betachisq; //! + TBranch *b_P_tr_betachisq; //! + TBranch *b_Ndata_P_tr_chi2; //! + TBranch *b_P_tr_chi2; //! + TBranch *b_Ndata_P_tr_d_ph; //! + TBranch *b_P_tr_d_ph; //! + TBranch *b_Ndata_P_tr_d_th; //! + TBranch *b_P_tr_d_th; //! + TBranch *b_Ndata_P_tr_d_x; //! + TBranch *b_P_tr_d_x; //! + TBranch *b_Ndata_P_tr_d_y; //! + TBranch *b_P_tr_d_y; //! + TBranch *b_Ndata_P_tr_dbeta; //! + TBranch *b_P_tr_dbeta; //! + TBranch *b_Ndata_P_tr_dtime; //! + TBranch *b_P_tr_dtime; //! + TBranch *b_Ndata_P_tr_flag; //! + TBranch *b_P_tr_flag; //! + TBranch *b_Ndata_P_tr_ndof; //! + TBranch *b_P_tr_ndof; //! + TBranch *b_Ndata_P_tr_p; //! + TBranch *b_P_tr_p; //! + TBranch *b_Ndata_P_tr_pathl; //! + TBranch *b_P_tr_pathl; //! + TBranch *b_Ndata_P_tr_ph; //! + TBranch *b_P_tr_ph; //! + TBranch *b_Ndata_P_tr_px; //! + TBranch *b_P_tr_px; //! + TBranch *b_Ndata_P_tr_py; //! + TBranch *b_P_tr_py; //! + TBranch *b_Ndata_P_tr_pz; //! + TBranch *b_P_tr_pz; //! + TBranch *b_Ndata_P_tr_r_ph; //! + TBranch *b_P_tr_r_ph; //! + TBranch *b_Ndata_P_tr_r_th; //! + TBranch *b_P_tr_r_th; //! + TBranch *b_Ndata_P_tr_r_x; //! + TBranch *b_P_tr_r_x; //! + TBranch *b_Ndata_P_tr_r_y; //! + TBranch *b_P_tr_r_y; //! + TBranch *b_Ndata_P_tr_tg_dp; //! + TBranch *b_P_tr_tg_dp; //! + TBranch *b_Ndata_P_tr_tg_ph; //! + TBranch *b_P_tr_tg_ph; //! + TBranch *b_Ndata_P_tr_tg_th; //! + TBranch *b_P_tr_tg_th; //! + TBranch *b_Ndata_P_tr_tg_y; //! + TBranch *b_P_tr_tg_y; //! + TBranch *b_Ndata_P_tr_th; //! + TBranch *b_P_tr_th; //! + TBranch *b_Ndata_P_tr_time; //! + TBranch *b_P_tr_time; //! + TBranch *b_Ndata_P_tr_vx; //! + TBranch *b_P_tr_vx; //! + TBranch *b_Ndata_P_tr_vy; //! + TBranch *b_P_tr_vy; //! + TBranch *b_Ndata_P_tr_vz; //! + TBranch *b_P_tr_vz; //! + TBranch *b_Ndata_P_tr_x; //! + TBranch *b_P_tr_x; //! + TBranch *b_Ndata_P_tr_y; //! + TBranch *b_P_tr_y; //! + TBranch *b_P_aero_negNpeSum; //! + TBranch *b_P_aero_npeSum; //! + TBranch *b_P_aero_posNpeSum; //! + TBranch *b_P_aero_totNumGoodNegAdcHits; //! + TBranch *b_P_aero_totNumGoodPosAdcHits; //! + TBranch *b_P_aero_totNumTracksFired; //! + TBranch *b_P_aero_totNumTracksMatched; //! + TBranch *b_P_aero_totnumGoodAdcHits; //! + TBranch *b_P_cal_etot; //! + TBranch *b_P_cal_etotnorm; //! + TBranch *b_P_cal_etrack; //! + TBranch *b_P_cal_etracknorm; //! + TBranch *b_P_cal_fly_earray; //! + TBranch *b_P_cal_fly_nclust; //! + TBranch *b_P_cal_fly_nghits; //! + TBranch *b_P_cal_fly_nhits; //! + TBranch *b_P_cal_fly_ntracks; //! + TBranch *b_P_cal_nblock_high_ene; //! + TBranch *b_P_cal_nclust; //! + TBranch *b_P_cal_nclustarraytrack; //! + TBranch *b_P_cal_nclusttrack; //! + TBranch *b_P_cal_nhits; //! + TBranch *b_P_cal_ntracks; //! + TBranch *b_P_cal_pr_eplane; //! + TBranch *b_P_cal_pr_eplane_neg; //! + TBranch *b_P_cal_pr_eplane_pos; //! + TBranch *b_P_cal_sizeclustarray; //! + TBranch *b_P_cal_xclustarraytrack; //! + TBranch *b_P_cal_xclusttrack; //! + TBranch *b_P_cal_xtrack; //! + TBranch *b_P_cal_xtrackarray; //! + TBranch *b_P_cal_yclustarraytrack; //! + TBranch *b_P_cal_yclusttrack; //! + TBranch *b_P_cal_ytrack; //! + TBranch *b_P_cal_ytrackarray; //! + TBranch *b_P_dc_1u1_nhit; //! + TBranch *b_P_dc_1u2_nhit; //! + TBranch *b_P_dc_1v1_nhit; //! + TBranch *b_P_dc_1v2_nhit; //! + TBranch *b_P_dc_1x1_nhit; //! + TBranch *b_P_dc_1x2_nhit; //! + TBranch *b_P_dc_2u1_nhit; //! + TBranch *b_P_dc_2u2_nhit; //! + TBranch *b_P_dc_2v1_nhit; //! + TBranch *b_P_dc_2v2_nhit; //! + TBranch *b_P_dc_2x1_nhit; //! + TBranch *b_P_dc_2x2_nhit; //! + TBranch *b_P_dc_Ch1_maxhits; //! + TBranch *b_P_dc_Ch1_nhit; //! + TBranch *b_P_dc_Ch1_spacepoints; //! + TBranch *b_P_dc_Ch1_trawhit; //! + TBranch *b_P_dc_Ch2_maxhits; //! + TBranch *b_P_dc_Ch2_nhit; //! + TBranch *b_P_dc_Ch2_spacepoints; //! + TBranch *b_P_dc_Ch2_trawhit; //! + TBranch *b_P_dc_nhit; //! + TBranch *b_P_dc_nsp; //! + TBranch *b_P_dc_ntrack; //! + TBranch *b_P_dc_stubtest; //! + TBranch *b_P_dc_tnhit; //! + TBranch *b_P_dc_trawhit; //! + TBranch *b_P_dc_x_fp; //! + TBranch *b_P_dc_xp_fp; //! + TBranch *b_P_dc_y_fp; //! + TBranch *b_P_dc_yp_fp; //! + TBranch *b_P_gtr_beta; //! + TBranch *b_P_gtr_dp; //! + TBranch *b_P_gtr_index; //! + TBranch *b_P_gtr_ok; //! + TBranch *b_P_gtr_p; //! + TBranch *b_P_gtr_ph; //! + TBranch *b_P_gtr_px; //! + TBranch *b_P_gtr_py; //! + TBranch *b_P_gtr_pz; //! + TBranch *b_P_gtr_th; //! + TBranch *b_P_gtr_x; //! + TBranch *b_P_gtr_y; //! + TBranch *b_P_hgcer_npeSum; //! + TBranch *b_P_hgcer_totNumGoodAdcHits; //! + TBranch *b_P_hgcer_totNumTracksFired; //! + TBranch *b_P_hgcer_totNumTracksMatched; //! + TBranch *b_P_hod_1x_fptime; //! + TBranch *b_P_hod_1x_ngoodhits; //! + TBranch *b_P_hod_1x_nhits; //! + TBranch *b_P_hod_1y_fptime; //! + TBranch *b_P_hod_1y_ngoodhits; //! + TBranch *b_P_hod_1y_nhits; //! + TBranch *b_P_hod_2x_fptime; //! + TBranch *b_P_hod_2x_ngoodhits; //! + TBranch *b_P_hod_2x_nhits; //! + TBranch *b_P_hod_2y_fptime; //! + TBranch *b_P_hod_2y_ngoodhits; //! + TBranch *b_P_hod_2y_nhits; //! + TBranch *b_P_hod_beta; //! + TBranch *b_P_hod_betachisqnotrack; //! + TBranch *b_P_hod_betanotrack; //! + TBranch *b_P_hod_fpHitsTime; //! + TBranch *b_P_hod_goodscinhit; //! + TBranch *b_P_hod_goodstarttime; //! + TBranch *b_P_hod_starttime; //! + TBranch *b_P_ngcer_npeSum; //! + TBranch *b_P_ngcer_totNumGoodAdcHits; //! + TBranch *b_P_ngcer_totNumTracksFired; //! + TBranch *b_P_ngcer_totNumTracksMatched; //! + TBranch *b_P_tr_n; //! + TBranch *b_T_shms_p1T_tdcMultiplicity; //! + TBranch *b_T_shms_p1T_tdcTime; //! + TBranch *b_T_shms_p1T_tdcTimeRaw; //! + TBranch *b_T_shms_p1X_tdcMultiplicity; //! + TBranch *b_T_shms_p1X_tdcTime; //! + TBranch *b_T_shms_p1X_tdcTimeRaw; //! + TBranch *b_T_shms_p1Y_tdcMultiplicity; //! + TBranch *b_T_shms_p1Y_tdcTime; //! + TBranch *b_T_shms_p1Y_tdcTimeRaw; //! + TBranch *b_T_shms_p2T_tdcMultiplicity; //! + TBranch *b_T_shms_p2T_tdcTime; //! + TBranch *b_T_shms_p2T_tdcTimeRaw; //! + TBranch *b_T_shms_p2X_tdcMultiplicity; //! + TBranch *b_T_shms_p2X_tdcTime; //! + TBranch *b_T_shms_p2X_tdcTimeRaw; //! + TBranch *b_T_shms_p2Y_tdcMultiplicity; //! + TBranch *b_T_shms_p2Y_tdcTime; //! + TBranch *b_T_shms_p2Y_tdcTimeRaw; //! + TBranch *b_T_shms_pAERSUM_adcMultiplicity; //! + TBranch *b_T_shms_pAERSUM_adcPed; //! + TBranch *b_T_shms_pAERSUM_adcPedRaw; //! + TBranch *b_T_shms_pAERSUM_adcPulseAmp; //! + TBranch *b_T_shms_pAERSUM_adcPulseAmpRaw; //! + TBranch *b_T_shms_pAERSUM_adcPulseInt; //! + TBranch *b_T_shms_pAERSUM_adcPulseIntRaw; //! + TBranch *b_T_shms_pAERSUM_adcPulseTimeRaw; //! + TBranch *b_T_shms_pAERSUM_tdcMultiplicity; //! + TBranch *b_T_shms_pAERSUM_tdcTime; //! + TBranch *b_T_shms_pAERSUM_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF10_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF10_tdcTime; //! + TBranch *b_T_shms_pDCREF10_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF1_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF1_tdcTime; //! + TBranch *b_T_shms_pDCREF1_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF2_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF2_tdcTime; //! + TBranch *b_T_shms_pDCREF2_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF3_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF3_tdcTime; //! + TBranch *b_T_shms_pDCREF3_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF4_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF4_tdcTime; //! + TBranch *b_T_shms_pDCREF4_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF5_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF5_tdcTime; //! + TBranch *b_T_shms_pDCREF5_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF6_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF6_tdcTime; //! + TBranch *b_T_shms_pDCREF6_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF7_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF7_tdcTime; //! + TBranch *b_T_shms_pDCREF7_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF8_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF8_tdcTime; //! + TBranch *b_T_shms_pDCREF8_tdcTimeRaw; //! + TBranch *b_T_shms_pDCREF9_tdcMultiplicity; //! + TBranch *b_T_shms_pDCREF9_tdcTime; //! + TBranch *b_T_shms_pDCREF9_tdcTimeRaw; //! + TBranch *b_T_shms_pHGCSUM_adcMultiplicity; //! + TBranch *b_T_shms_pHGCSUM_adcPed; //! + TBranch *b_T_shms_pHGCSUM_adcPedRaw; //! + TBranch *b_T_shms_pHGCSUM_adcPulseAmp; //! + TBranch *b_T_shms_pHGCSUM_adcPulseAmpRaw; //! + TBranch *b_T_shms_pHGCSUM_adcPulseInt; //! + TBranch *b_T_shms_pHGCSUM_adcPulseIntRaw; //! + TBranch *b_T_shms_pHGCSUM_adcPulseTimeRaw; //! + TBranch *b_T_shms_pHGCSUM_tdcMultiplicity; //! + TBranch *b_T_shms_pHGCSUM_tdcTime; //! + TBranch *b_T_shms_pHGCSUM_tdcTimeRaw; //! + TBranch *b_T_shms_pNGCSUM_adcMultiplicity; //! + TBranch *b_T_shms_pNGCSUM_adcPed; //! + TBranch *b_T_shms_pNGCSUM_adcPedRaw; //! + TBranch *b_T_shms_pNGCSUM_adcPulseAmp; //! + TBranch *b_T_shms_pNGCSUM_adcPulseAmpRaw; //! + TBranch *b_T_shms_pNGCSUM_adcPulseInt; //! + TBranch *b_T_shms_pNGCSUM_adcPulseIntRaw; //! + TBranch *b_T_shms_pNGCSUM_adcPulseTimeRaw; //! + TBranch *b_T_shms_pNGCSUM_tdcMultiplicity; //! + TBranch *b_T_shms_pNGCSUM_tdcTime; //! + TBranch *b_T_shms_pNGCSUM_tdcTimeRaw; //! + TBranch *b_T_shms_pT1_tdcMultiplicity; //! + TBranch *b_T_shms_pT1_tdcTime; //! + TBranch *b_T_shms_pT1_tdcTimeRaw; //! + TBranch *b_T_shms_pT2_tdcMultiplicity; //! + TBranch *b_T_shms_pT2_tdcTime; //! + TBranch *b_T_shms_pT2_tdcTimeRaw; //! + TBranch *b_T_shms_pT3_tdcMultiplicity; //! + TBranch *b_T_shms_pT3_tdcTime; //! + TBranch *b_T_shms_pT3_tdcTimeRaw; //! + TBranch *b_Event_Branch_fEvtHdr_fEvtTime; //! + TBranch *b_Event_Branch_fEvtHdr_fEvtNum; //! + TBranch *b_Event_Branch_fEvtHdr_fEvtType; //! + TBranch *b_Event_Branch_fEvtHdr_fEvtLen; //! + TBranch *b_Event_Branch_fEvtHdr_fHelicity; //! + TBranch *b_Event_Branch_fEvtHdr_fTargetPol; //! + TBranch *b_Event_Branch_fEvtHdr_fRun; //! + + efficiencies(TTree * /*tree*/ =0) : fChain(0), fNumberOfEvents(0), fhgc_pmts(4) { } + virtual ~efficiencies() { } + virtual Int_t Version() const { return 2; } + virtual void Begin(TTree *tree); + virtual void SlaveBegin(TTree *tree); + virtual void Init(TTree *tree); + virtual Bool_t Notify(); + virtual Bool_t Process(Long64_t entry); + virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0) { return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0; } + virtual void SetOption(const char *option) { fOption = option; } + virtual void SetObject(TObject *obj) { fObject = obj; } + virtual void SetInputList(TList *input) { fInput = input; } + virtual TList *GetOutputList() const { return fOutput; } + virtual void SlaveTerminate(); + virtual void Terminate(); + + ClassDef(efficiencies,0); +}; + +#endif + +#ifdef efficiencies_cxx +void efficiencies::Init(TTree *tree) +{ + // The Init() function is called when the selector needs to initialize + // a new tree or chain. Typically here the branch addresses and branch + // pointers of the tree will be set. + // It is normally not necessary to make changes to the generated + // code, but the routine can be extended by the user if needed. + // Init() will be called many times when running on PROOF + // (once per file to be processed). + + // Set branch addresses and branch pointers + if (!tree) return; + fChain = tree; + fChain->SetMakeClass(1); + + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPed", &Ndata_P_aero_goodNegAdcPed, &b_Ndata_P_aero_goodNegAdcPed); + fChain->SetBranchAddress("P.aero.goodNegAdcPed", P_aero_goodNegAdcPed, &b_P_aero_goodNegAdcPed); + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPulseAmp", &Ndata_P_aero_goodNegAdcPulseAmp, &b_Ndata_P_aero_goodNegAdcPulseAmp); + fChain->SetBranchAddress("P.aero.goodNegAdcPulseAmp", P_aero_goodNegAdcPulseAmp, &b_P_aero_goodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPulseInt", &Ndata_P_aero_goodNegAdcPulseInt, &b_Ndata_P_aero_goodNegAdcPulseInt); + fChain->SetBranchAddress("P.aero.goodNegAdcPulseInt", P_aero_goodNegAdcPulseInt, &b_P_aero_goodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPulseIntRaw", &Ndata_P_aero_goodNegAdcPulseIntRaw, &b_Ndata_P_aero_goodNegAdcPulseIntRaw); + fChain->SetBranchAddress("P.aero.goodNegAdcPulseIntRaw", P_aero_goodNegAdcPulseIntRaw, &b_P_aero_goodNegAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.aero.goodNegAdcPulseTime", &Ndata_P_aero_goodNegAdcPulseTime, &b_Ndata_P_aero_goodNegAdcPulseTime); + fChain->SetBranchAddress("P.aero.goodNegAdcPulseTime", P_aero_goodNegAdcPulseTime, &b_P_aero_goodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPed", &Ndata_P_aero_goodPosAdcPed, &b_Ndata_P_aero_goodPosAdcPed); + fChain->SetBranchAddress("P.aero.goodPosAdcPed", P_aero_goodPosAdcPed, &b_P_aero_goodPosAdcPed); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPulseAmp", &Ndata_P_aero_goodPosAdcPulseAmp, &b_Ndata_P_aero_goodPosAdcPulseAmp); + fChain->SetBranchAddress("P.aero.goodPosAdcPulseAmp", P_aero_goodPosAdcPulseAmp, &b_P_aero_goodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPulseInt", &Ndata_P_aero_goodPosAdcPulseInt, &b_Ndata_P_aero_goodPosAdcPulseInt); + fChain->SetBranchAddress("P.aero.goodPosAdcPulseInt", P_aero_goodPosAdcPulseInt, &b_P_aero_goodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPulseIntRaw", &Ndata_P_aero_goodPosAdcPulseIntRaw, &b_Ndata_P_aero_goodPosAdcPulseIntRaw); + fChain->SetBranchAddress("P.aero.goodPosAdcPulseIntRaw", P_aero_goodPosAdcPulseIntRaw, &b_P_aero_goodPosAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.aero.goodPosAdcPulseTime", &Ndata_P_aero_goodPosAdcPulseTime, &b_Ndata_P_aero_goodPosAdcPulseTime); + fChain->SetBranchAddress("P.aero.goodPosAdcPulseTime", P_aero_goodPosAdcPulseTime, &b_P_aero_goodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.aero.negAdcCounter", &Ndata_P_aero_negAdcCounter, &b_Ndata_P_aero_negAdcCounter); + fChain->SetBranchAddress("P.aero.negAdcCounter", P_aero_negAdcCounter, &b_P_aero_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.aero.negAdcErrorFlag", &Ndata_P_aero_negAdcErrorFlag, &b_Ndata_P_aero_negAdcErrorFlag); + fChain->SetBranchAddress("P.aero.negAdcErrorFlag", P_aero_negAdcErrorFlag, &b_P_aero_negAdcErrorFlag); + fChain->SetBranchAddress("Ndata.P.aero.negNpe", &Ndata_P_aero_negNpe, &b_Ndata_P_aero_negNpe); + fChain->SetBranchAddress("P.aero.negNpe", P_aero_negNpe, &b_P_aero_negNpe); + fChain->SetBranchAddress("Ndata.P.aero.numGoodNegAdcHits", &Ndata_P_aero_numGoodNegAdcHits, &b_Ndata_P_aero_numGoodNegAdcHits); + fChain->SetBranchAddress("P.aero.numGoodNegAdcHits", P_aero_numGoodNegAdcHits, &b_P_aero_numGoodNegAdcHits); + fChain->SetBranchAddress("Ndata.P.aero.numGoodPosAdcHits", &Ndata_P_aero_numGoodPosAdcHits, &b_Ndata_P_aero_numGoodPosAdcHits); + fChain->SetBranchAddress("P.aero.numGoodPosAdcHits", P_aero_numGoodPosAdcHits, &b_P_aero_numGoodPosAdcHits); + fChain->SetBranchAddress("Ndata.P.aero.numTracksFired", &Ndata_P_aero_numTracksFired, &b_Ndata_P_aero_numTracksFired); + fChain->SetBranchAddress("P.aero.numTracksFired", P_aero_numTracksFired, &b_P_aero_numTracksFired); + fChain->SetBranchAddress("Ndata.P.aero.numTracksMatched", &Ndata_P_aero_numTracksMatched, &b_Ndata_P_aero_numTracksMatched); + fChain->SetBranchAddress("P.aero.numTracksMatched", P_aero_numTracksMatched, &b_P_aero_numTracksMatched); + fChain->SetBranchAddress("Ndata.P.aero.posAdcCounter", &Ndata_P_aero_posAdcCounter, &b_Ndata_P_aero_posAdcCounter); + fChain->SetBranchAddress("P.aero.posAdcCounter", P_aero_posAdcCounter, &b_P_aero_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.aero.posAdcErrorFlag", &Ndata_P_aero_posAdcErrorFlag, &b_Ndata_P_aero_posAdcErrorFlag); + fChain->SetBranchAddress("P.aero.posAdcErrorFlag", P_aero_posAdcErrorFlag, &b_P_aero_posAdcErrorFlag); + fChain->SetBranchAddress("Ndata.P.aero.posNpe", &Ndata_P_aero_posNpe, &b_Ndata_P_aero_posNpe); + fChain->SetBranchAddress("P.aero.posNpe", P_aero_posNpe, &b_P_aero_posNpe); + fChain->SetBranchAddress("Ndata.P.cal.fly.a", &Ndata_P_cal_fly_a, &b_Ndata_P_cal_fly_a); + fChain->SetBranchAddress("P.cal.fly.a", P_cal_fly_a, &b_P_cal_fly_a); + fChain->SetBranchAddress("Ndata.P.cal.fly.a_p", &Ndata_P_cal_fly_a_p, &b_Ndata_P_cal_fly_a_p); + fChain->SetBranchAddress("P.cal.fly.a_p", P_cal_fly_a_p, &b_P_cal_fly_a_p); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcCounter", &Ndata_P_cal_fly_adcCounter, &b_Ndata_P_cal_fly_adcCounter); + fChain->SetBranchAddress("P.cal.fly.adcCounter", P_cal_fly_adcCounter, &b_P_cal_fly_adcCounter); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcErrorFlag", &Ndata_P_cal_fly_adcErrorFlag, &b_Ndata_P_cal_fly_adcErrorFlag); + fChain->SetBranchAddress("P.cal.fly.adcErrorFlag", P_cal_fly_adcErrorFlag, &b_P_cal_fly_adcErrorFlag); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPed", &Ndata_P_cal_fly_adcPed, &b_Ndata_P_cal_fly_adcPed); + fChain->SetBranchAddress("P.cal.fly.adcPed", P_cal_fly_adcPed, &b_P_cal_fly_adcPed); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPedRaw", &Ndata_P_cal_fly_adcPedRaw, &b_Ndata_P_cal_fly_adcPedRaw); + fChain->SetBranchAddress("P.cal.fly.adcPedRaw", P_cal_fly_adcPedRaw, &b_P_cal_fly_adcPedRaw); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseAmp", &Ndata_P_cal_fly_adcPulseAmp, &b_Ndata_P_cal_fly_adcPulseAmp); + fChain->SetBranchAddress("P.cal.fly.adcPulseAmp", P_cal_fly_adcPulseAmp, &b_P_cal_fly_adcPulseAmp); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseAmpRaw", &Ndata_P_cal_fly_adcPulseAmpRaw, &b_Ndata_P_cal_fly_adcPulseAmpRaw); + fChain->SetBranchAddress("P.cal.fly.adcPulseAmpRaw", P_cal_fly_adcPulseAmpRaw, &b_P_cal_fly_adcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseInt", &Ndata_P_cal_fly_adcPulseInt, &b_Ndata_P_cal_fly_adcPulseInt); + fChain->SetBranchAddress("P.cal.fly.adcPulseInt", P_cal_fly_adcPulseInt, &b_P_cal_fly_adcPulseInt); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseIntRaw", &Ndata_P_cal_fly_adcPulseIntRaw, &b_Ndata_P_cal_fly_adcPulseIntRaw); + fChain->SetBranchAddress("P.cal.fly.adcPulseIntRaw", P_cal_fly_adcPulseIntRaw, &b_P_cal_fly_adcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.cal.fly.adcPulseTimeRaw", &Ndata_P_cal_fly_adcPulseTimeRaw, &b_Ndata_P_cal_fly_adcPulseTimeRaw); + fChain->SetBranchAddress("P.cal.fly.adcPulseTimeRaw", P_cal_fly_adcPulseTimeRaw, &b_P_cal_fly_adcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.cal.fly.adchits", &Ndata_P_cal_fly_adchits, &b_Ndata_P_cal_fly_adchits); + fChain->SetBranchAddress("P.cal.fly.adchits", &P_cal_fly_adchits, &b_P_cal_fly_adchits); + fChain->SetBranchAddress("Ndata.P.cal.fly.block_clusterID", &Ndata_P_cal_fly_block_clusterID, &b_Ndata_P_cal_fly_block_clusterID); + fChain->SetBranchAddress("P.cal.fly.block_clusterID", P_cal_fly_block_clusterID, &b_P_cal_fly_block_clusterID); + fChain->SetBranchAddress("Ndata.P.cal.fly.e", &Ndata_P_cal_fly_e, &b_Ndata_P_cal_fly_e); + fChain->SetBranchAddress("P.cal.fly.e", P_cal_fly_e, &b_P_cal_fly_e); + fChain->SetBranchAddress("Ndata.P.cal.fly.p", &Ndata_P_cal_fly_p, &b_Ndata_P_cal_fly_p); + fChain->SetBranchAddress("P.cal.fly.p", P_cal_fly_p, &b_P_cal_fly_p); + fChain->SetBranchAddress("Ndata.P.cal.pr.aneg", &Ndata_P_cal_pr_aneg, &b_Ndata_P_cal_pr_aneg); + fChain->SetBranchAddress("P.cal.pr.aneg", P_cal_pr_aneg, &b_P_cal_pr_aneg); + fChain->SetBranchAddress("Ndata.P.cal.pr.aneg_p", &Ndata_P_cal_pr_aneg_p, &b_Ndata_P_cal_pr_aneg_p); + fChain->SetBranchAddress("P.cal.pr.aneg_p", P_cal_pr_aneg_p, &b_P_cal_pr_aneg_p); + fChain->SetBranchAddress("Ndata.P.cal.pr.apos", &Ndata_P_cal_pr_apos, &b_Ndata_P_cal_pr_apos); + fChain->SetBranchAddress("P.cal.pr.apos", P_cal_pr_apos, &b_P_cal_pr_apos); + fChain->SetBranchAddress("Ndata.P.cal.pr.apos_p", &Ndata_P_cal_pr_apos_p, &b_Ndata_P_cal_pr_apos_p); + fChain->SetBranchAddress("P.cal.pr.apos_p", P_cal_pr_apos_p, &b_P_cal_pr_apos_p); + fChain->SetBranchAddress("Ndata.P.cal.pr.emean", &Ndata_P_cal_pr_emean, &b_Ndata_P_cal_pr_emean); + fChain->SetBranchAddress("P.cal.pr.emean", P_cal_pr_emean, &b_P_cal_pr_emean); + fChain->SetBranchAddress("Ndata.P.cal.pr.eneg", &Ndata_P_cal_pr_eneg, &b_Ndata_P_cal_pr_eneg); + fChain->SetBranchAddress("P.cal.pr.eneg", P_cal_pr_eneg, &b_P_cal_pr_eneg); + fChain->SetBranchAddress("Ndata.P.cal.pr.epos", &Ndata_P_cal_pr_epos, &b_Ndata_P_cal_pr_epos); + fChain->SetBranchAddress("P.cal.pr.epos", P_cal_pr_epos, &b_P_cal_pr_epos); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcCounter", &Ndata_P_cal_pr_negAdcCounter, &b_Ndata_P_cal_pr_negAdcCounter); + fChain->SetBranchAddress("P.cal.pr.negAdcCounter", P_cal_pr_negAdcCounter, &b_P_cal_pr_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcErrorFlag", &Ndata_P_cal_pr_negAdcErrorFlag, &b_Ndata_P_cal_pr_negAdcErrorFlag); + fChain->SetBranchAddress("P.cal.pr.negAdcErrorFlag", P_cal_pr_negAdcErrorFlag, &b_P_cal_pr_negAdcErrorFlag); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPed", &Ndata_P_cal_pr_negAdcPed, &b_Ndata_P_cal_pr_negAdcPed); + fChain->SetBranchAddress("P.cal.pr.negAdcPed", P_cal_pr_negAdcPed, &b_P_cal_pr_negAdcPed); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPedRaw", &Ndata_P_cal_pr_negAdcPedRaw, &b_Ndata_P_cal_pr_negAdcPedRaw); + fChain->SetBranchAddress("P.cal.pr.negAdcPedRaw", P_cal_pr_negAdcPedRaw, &b_P_cal_pr_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseAmp", &Ndata_P_cal_pr_negAdcPulseAmp, &b_Ndata_P_cal_pr_negAdcPulseAmp); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseAmp", P_cal_pr_negAdcPulseAmp, &b_P_cal_pr_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseAmpRaw", &Ndata_P_cal_pr_negAdcPulseAmpRaw, &b_Ndata_P_cal_pr_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseAmpRaw", P_cal_pr_negAdcPulseAmpRaw, &b_P_cal_pr_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseInt", &Ndata_P_cal_pr_negAdcPulseInt, &b_Ndata_P_cal_pr_negAdcPulseInt); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseInt", P_cal_pr_negAdcPulseInt, &b_P_cal_pr_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseIntRaw", &Ndata_P_cal_pr_negAdcPulseIntRaw, &b_Ndata_P_cal_pr_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseIntRaw", P_cal_pr_negAdcPulseIntRaw, &b_P_cal_pr_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.negAdcPulseTimeRaw", &Ndata_P_cal_pr_negAdcPulseTimeRaw, &b_Ndata_P_cal_pr_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.cal.pr.negAdcPulseTimeRaw", P_cal_pr_negAdcPulseTimeRaw, &b_P_cal_pr_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.negadchits", &Ndata_P_cal_pr_negadchits, &b_Ndata_P_cal_pr_negadchits); + fChain->SetBranchAddress("P.cal.pr.negadchits", &P_cal_pr_negadchits, &b_P_cal_pr_negadchits); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcCounter", &Ndata_P_cal_pr_posAdcCounter, &b_Ndata_P_cal_pr_posAdcCounter); + fChain->SetBranchAddress("P.cal.pr.posAdcCounter", P_cal_pr_posAdcCounter, &b_P_cal_pr_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcErrorFlag", &Ndata_P_cal_pr_posAdcErrorFlag, &b_Ndata_P_cal_pr_posAdcErrorFlag); + fChain->SetBranchAddress("P.cal.pr.posAdcErrorFlag", P_cal_pr_posAdcErrorFlag, &b_P_cal_pr_posAdcErrorFlag); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPed", &Ndata_P_cal_pr_posAdcPed, &b_Ndata_P_cal_pr_posAdcPed); + fChain->SetBranchAddress("P.cal.pr.posAdcPed", P_cal_pr_posAdcPed, &b_P_cal_pr_posAdcPed); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPedRaw", &Ndata_P_cal_pr_posAdcPedRaw, &b_Ndata_P_cal_pr_posAdcPedRaw); + fChain->SetBranchAddress("P.cal.pr.posAdcPedRaw", P_cal_pr_posAdcPedRaw, &b_P_cal_pr_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseAmp", &Ndata_P_cal_pr_posAdcPulseAmp, &b_Ndata_P_cal_pr_posAdcPulseAmp); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseAmp", P_cal_pr_posAdcPulseAmp, &b_P_cal_pr_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseAmpRaw", &Ndata_P_cal_pr_posAdcPulseAmpRaw, &b_Ndata_P_cal_pr_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseAmpRaw", P_cal_pr_posAdcPulseAmpRaw, &b_P_cal_pr_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseInt", &Ndata_P_cal_pr_posAdcPulseInt, &b_Ndata_P_cal_pr_posAdcPulseInt); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseInt", P_cal_pr_posAdcPulseInt, &b_P_cal_pr_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseIntRaw", &Ndata_P_cal_pr_posAdcPulseIntRaw, &b_Ndata_P_cal_pr_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseIntRaw", P_cal_pr_posAdcPulseIntRaw, &b_P_cal_pr_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.posAdcPulseTimeRaw", &Ndata_P_cal_pr_posAdcPulseTimeRaw, &b_Ndata_P_cal_pr_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.cal.pr.posAdcPulseTimeRaw", P_cal_pr_posAdcPulseTimeRaw, &b_P_cal_pr_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.cal.pr.posadchits", &Ndata_P_cal_pr_posadchits, &b_Ndata_P_cal_pr_posadchits); + fChain->SetBranchAddress("P.cal.pr.posadchits", &P_cal_pr_posadchits, &b_P_cal_pr_posadchits); + fChain->SetBranchAddress("Ndata.P.dc.1u1.dist", &Ndata_P_dc_1u1_dist, &b_Ndata_P_dc_1u1_dist); + fChain->SetBranchAddress("P.dc.1u1.dist", P_dc_1u1_dist, &b_P_dc_1u1_dist); + fChain->SetBranchAddress("Ndata.P.dc.1u1.rawtdc", &Ndata_P_dc_1u1_rawtdc, &b_Ndata_P_dc_1u1_rawtdc); + fChain->SetBranchAddress("P.dc.1u1.rawtdc", P_dc_1u1_rawtdc, &b_P_dc_1u1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1u1.time", &Ndata_P_dc_1u1_time, &b_Ndata_P_dc_1u1_time); + fChain->SetBranchAddress("P.dc.1u1.time", P_dc_1u1_time, &b_P_dc_1u1_time); + fChain->SetBranchAddress("Ndata.P.dc.1u1.wirenum", &Ndata_P_dc_1u1_wirenum, &b_Ndata_P_dc_1u1_wirenum); + fChain->SetBranchAddress("P.dc.1u1.wirenum", P_dc_1u1_wirenum, &b_P_dc_1u1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1u2.dist", &Ndata_P_dc_1u2_dist, &b_Ndata_P_dc_1u2_dist); + fChain->SetBranchAddress("P.dc.1u2.dist", P_dc_1u2_dist, &b_P_dc_1u2_dist); + fChain->SetBranchAddress("Ndata.P.dc.1u2.rawtdc", &Ndata_P_dc_1u2_rawtdc, &b_Ndata_P_dc_1u2_rawtdc); + fChain->SetBranchAddress("P.dc.1u2.rawtdc", P_dc_1u2_rawtdc, &b_P_dc_1u2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1u2.time", &Ndata_P_dc_1u2_time, &b_Ndata_P_dc_1u2_time); + fChain->SetBranchAddress("P.dc.1u2.time", P_dc_1u2_time, &b_P_dc_1u2_time); + fChain->SetBranchAddress("Ndata.P.dc.1u2.wirenum", &Ndata_P_dc_1u2_wirenum, &b_Ndata_P_dc_1u2_wirenum); + fChain->SetBranchAddress("P.dc.1u2.wirenum", P_dc_1u2_wirenum, &b_P_dc_1u2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1v1.dist", &Ndata_P_dc_1v1_dist, &b_Ndata_P_dc_1v1_dist); + fChain->SetBranchAddress("P.dc.1v1.dist", P_dc_1v1_dist, &b_P_dc_1v1_dist); + fChain->SetBranchAddress("Ndata.P.dc.1v1.rawtdc", &Ndata_P_dc_1v1_rawtdc, &b_Ndata_P_dc_1v1_rawtdc); + fChain->SetBranchAddress("P.dc.1v1.rawtdc", P_dc_1v1_rawtdc, &b_P_dc_1v1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1v1.time", &Ndata_P_dc_1v1_time, &b_Ndata_P_dc_1v1_time); + fChain->SetBranchAddress("P.dc.1v1.time", P_dc_1v1_time, &b_P_dc_1v1_time); + fChain->SetBranchAddress("Ndata.P.dc.1v1.wirenum", &Ndata_P_dc_1v1_wirenum, &b_Ndata_P_dc_1v1_wirenum); + fChain->SetBranchAddress("P.dc.1v1.wirenum", P_dc_1v1_wirenum, &b_P_dc_1v1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1v2.dist", &Ndata_P_dc_1v2_dist, &b_Ndata_P_dc_1v2_dist); + fChain->SetBranchAddress("P.dc.1v2.dist", P_dc_1v2_dist, &b_P_dc_1v2_dist); + fChain->SetBranchAddress("Ndata.P.dc.1v2.rawtdc", &Ndata_P_dc_1v2_rawtdc, &b_Ndata_P_dc_1v2_rawtdc); + fChain->SetBranchAddress("P.dc.1v2.rawtdc", P_dc_1v2_rawtdc, &b_P_dc_1v2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1v2.time", &Ndata_P_dc_1v2_time, &b_Ndata_P_dc_1v2_time); + fChain->SetBranchAddress("P.dc.1v2.time", P_dc_1v2_time, &b_P_dc_1v2_time); + fChain->SetBranchAddress("Ndata.P.dc.1v2.wirenum", &Ndata_P_dc_1v2_wirenum, &b_Ndata_P_dc_1v2_wirenum); + fChain->SetBranchAddress("P.dc.1v2.wirenum", P_dc_1v2_wirenum, &b_P_dc_1v2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1x1.dist", &Ndata_P_dc_1x1_dist, &b_Ndata_P_dc_1x1_dist); + fChain->SetBranchAddress("P.dc.1x1.dist", P_dc_1x1_dist, &b_P_dc_1x1_dist); + fChain->SetBranchAddress("Ndata.P.dc.1x1.rawtdc", &Ndata_P_dc_1x1_rawtdc, &b_Ndata_P_dc_1x1_rawtdc); + fChain->SetBranchAddress("P.dc.1x1.rawtdc", P_dc_1x1_rawtdc, &b_P_dc_1x1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1x1.time", &Ndata_P_dc_1x1_time, &b_Ndata_P_dc_1x1_time); + fChain->SetBranchAddress("P.dc.1x1.time", P_dc_1x1_time, &b_P_dc_1x1_time); + fChain->SetBranchAddress("Ndata.P.dc.1x1.wirenum", &Ndata_P_dc_1x1_wirenum, &b_Ndata_P_dc_1x1_wirenum); + fChain->SetBranchAddress("P.dc.1x1.wirenum", P_dc_1x1_wirenum, &b_P_dc_1x1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.1x2.dist", &Ndata_P_dc_1x2_dist, &b_Ndata_P_dc_1x2_dist); + fChain->SetBranchAddress("P.dc.1x2.dist", P_dc_1x2_dist, &b_P_dc_1x2_dist); + fChain->SetBranchAddress("Ndata.P.dc.1x2.rawtdc", &Ndata_P_dc_1x2_rawtdc, &b_Ndata_P_dc_1x2_rawtdc); + fChain->SetBranchAddress("P.dc.1x2.rawtdc", P_dc_1x2_rawtdc, &b_P_dc_1x2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.1x2.time", &Ndata_P_dc_1x2_time, &b_Ndata_P_dc_1x2_time); + fChain->SetBranchAddress("P.dc.1x2.time", P_dc_1x2_time, &b_P_dc_1x2_time); + fChain->SetBranchAddress("Ndata.P.dc.1x2.wirenum", &Ndata_P_dc_1x2_wirenum, &b_Ndata_P_dc_1x2_wirenum); + fChain->SetBranchAddress("P.dc.1x2.wirenum", P_dc_1x2_wirenum, &b_P_dc_1x2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2u1.dist", &Ndata_P_dc_2u1_dist, &b_Ndata_P_dc_2u1_dist); + fChain->SetBranchAddress("P.dc.2u1.dist", P_dc_2u1_dist, &b_P_dc_2u1_dist); + fChain->SetBranchAddress("Ndata.P.dc.2u1.rawtdc", &Ndata_P_dc_2u1_rawtdc, &b_Ndata_P_dc_2u1_rawtdc); + fChain->SetBranchAddress("P.dc.2u1.rawtdc", P_dc_2u1_rawtdc, &b_P_dc_2u1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2u1.time", &Ndata_P_dc_2u1_time, &b_Ndata_P_dc_2u1_time); + fChain->SetBranchAddress("P.dc.2u1.time", P_dc_2u1_time, &b_P_dc_2u1_time); + fChain->SetBranchAddress("Ndata.P.dc.2u1.wirenum", &Ndata_P_dc_2u1_wirenum, &b_Ndata_P_dc_2u1_wirenum); + fChain->SetBranchAddress("P.dc.2u1.wirenum", P_dc_2u1_wirenum, &b_P_dc_2u1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2u2.dist", &Ndata_P_dc_2u2_dist, &b_Ndata_P_dc_2u2_dist); + fChain->SetBranchAddress("P.dc.2u2.dist", P_dc_2u2_dist, &b_P_dc_2u2_dist); + fChain->SetBranchAddress("Ndata.P.dc.2u2.rawtdc", &Ndata_P_dc_2u2_rawtdc, &b_Ndata_P_dc_2u2_rawtdc); + fChain->SetBranchAddress("P.dc.2u2.rawtdc", P_dc_2u2_rawtdc, &b_P_dc_2u2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2u2.time", &Ndata_P_dc_2u2_time, &b_Ndata_P_dc_2u2_time); + fChain->SetBranchAddress("P.dc.2u2.time", P_dc_2u2_time, &b_P_dc_2u2_time); + fChain->SetBranchAddress("Ndata.P.dc.2u2.wirenum", &Ndata_P_dc_2u2_wirenum, &b_Ndata_P_dc_2u2_wirenum); + fChain->SetBranchAddress("P.dc.2u2.wirenum", P_dc_2u2_wirenum, &b_P_dc_2u2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2v1.dist", &Ndata_P_dc_2v1_dist, &b_Ndata_P_dc_2v1_dist); + fChain->SetBranchAddress("P.dc.2v1.dist", P_dc_2v1_dist, &b_P_dc_2v1_dist); + fChain->SetBranchAddress("Ndata.P.dc.2v1.rawtdc", &Ndata_P_dc_2v1_rawtdc, &b_Ndata_P_dc_2v1_rawtdc); + fChain->SetBranchAddress("P.dc.2v1.rawtdc", P_dc_2v1_rawtdc, &b_P_dc_2v1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2v1.time", &Ndata_P_dc_2v1_time, &b_Ndata_P_dc_2v1_time); + fChain->SetBranchAddress("P.dc.2v1.time", P_dc_2v1_time, &b_P_dc_2v1_time); + fChain->SetBranchAddress("Ndata.P.dc.2v1.wirenum", &Ndata_P_dc_2v1_wirenum, &b_Ndata_P_dc_2v1_wirenum); + fChain->SetBranchAddress("P.dc.2v1.wirenum", P_dc_2v1_wirenum, &b_P_dc_2v1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2v2.dist", &Ndata_P_dc_2v2_dist, &b_Ndata_P_dc_2v2_dist); + fChain->SetBranchAddress("P.dc.2v2.dist", P_dc_2v2_dist, &b_P_dc_2v2_dist); + fChain->SetBranchAddress("Ndata.P.dc.2v2.rawtdc", &Ndata_P_dc_2v2_rawtdc, &b_Ndata_P_dc_2v2_rawtdc); + fChain->SetBranchAddress("P.dc.2v2.rawtdc", P_dc_2v2_rawtdc, &b_P_dc_2v2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2v2.time", &Ndata_P_dc_2v2_time, &b_Ndata_P_dc_2v2_time); + fChain->SetBranchAddress("P.dc.2v2.time", P_dc_2v2_time, &b_P_dc_2v2_time); + fChain->SetBranchAddress("Ndata.P.dc.2v2.wirenum", &Ndata_P_dc_2v2_wirenum, &b_Ndata_P_dc_2v2_wirenum); + fChain->SetBranchAddress("P.dc.2v2.wirenum", P_dc_2v2_wirenum, &b_P_dc_2v2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2x1.dist", &Ndata_P_dc_2x1_dist, &b_Ndata_P_dc_2x1_dist); + fChain->SetBranchAddress("P.dc.2x1.dist", P_dc_2x1_dist, &b_P_dc_2x1_dist); + fChain->SetBranchAddress("Ndata.P.dc.2x1.rawtdc", &Ndata_P_dc_2x1_rawtdc, &b_Ndata_P_dc_2x1_rawtdc); + fChain->SetBranchAddress("P.dc.2x1.rawtdc", P_dc_2x1_rawtdc, &b_P_dc_2x1_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2x1.time", &Ndata_P_dc_2x1_time, &b_Ndata_P_dc_2x1_time); + fChain->SetBranchAddress("P.dc.2x1.time", P_dc_2x1_time, &b_P_dc_2x1_time); + fChain->SetBranchAddress("Ndata.P.dc.2x1.wirenum", &Ndata_P_dc_2x1_wirenum, &b_Ndata_P_dc_2x1_wirenum); + fChain->SetBranchAddress("P.dc.2x1.wirenum", P_dc_2x1_wirenum, &b_P_dc_2x1_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.2x2.dist", &Ndata_P_dc_2x2_dist, &b_Ndata_P_dc_2x2_dist); + fChain->SetBranchAddress("P.dc.2x2.dist", P_dc_2x2_dist, &b_P_dc_2x2_dist); + fChain->SetBranchAddress("Ndata.P.dc.2x2.rawtdc", &Ndata_P_dc_2x2_rawtdc, &b_Ndata_P_dc_2x2_rawtdc); + fChain->SetBranchAddress("P.dc.2x2.rawtdc", P_dc_2x2_rawtdc, &b_P_dc_2x2_rawtdc); + fChain->SetBranchAddress("Ndata.P.dc.2x2.time", &Ndata_P_dc_2x2_time, &b_Ndata_P_dc_2x2_time); + fChain->SetBranchAddress("P.dc.2x2.time", P_dc_2x2_time, &b_P_dc_2x2_time); + fChain->SetBranchAddress("Ndata.P.dc.2x2.wirenum", &Ndata_P_dc_2x2_wirenum, &b_Ndata_P_dc_2x2_wirenum); + fChain->SetBranchAddress("P.dc.2x2.wirenum", P_dc_2x2_wirenum, &b_P_dc_2x2_wirenum); + fChain->SetBranchAddress("Ndata.P.dc.residual", &Ndata_P_dc_residual, &b_Ndata_P_dc_residual); + fChain->SetBranchAddress("P.dc.residual", P_dc_residual, &b_P_dc_residual); + fChain->SetBranchAddress("Ndata.P.dc.wireHitDid", &Ndata_P_dc_wireHitDid, &b_Ndata_P_dc_wireHitDid); + fChain->SetBranchAddress("P.dc.wireHitDid", P_dc_wireHitDid, &b_P_dc_wireHitDid); + fChain->SetBranchAddress("Ndata.P.dc.wireHitShould", &Ndata_P_dc_wireHitShould, &b_Ndata_P_dc_wireHitShould); + fChain->SetBranchAddress("P.dc.wireHitShould", P_dc_wireHitShould, &b_P_dc_wireHitShould); + fChain->SetBranchAddress("Ndata.P.dc.x", &Ndata_P_dc_x, &b_Ndata_P_dc_x); + fChain->SetBranchAddress("P.dc.x", P_dc_x, &b_P_dc_x); + fChain->SetBranchAddress("Ndata.P.dc.xp", &Ndata_P_dc_xp, &b_Ndata_P_dc_xp); + fChain->SetBranchAddress("P.dc.xp", P_dc_xp, &b_P_dc_xp); + fChain->SetBranchAddress("Ndata.P.dc.y", &Ndata_P_dc_y, &b_Ndata_P_dc_y); + fChain->SetBranchAddress("P.dc.y", P_dc_y, &b_P_dc_y); + fChain->SetBranchAddress("Ndata.P.dc.yp", &Ndata_P_dc_yp, &b_Ndata_P_dc_yp); + fChain->SetBranchAddress("P.dc.yp", P_dc_yp, &b_P_dc_yp); + fChain->SetBranchAddress("Ndata.P.hgcer.adcCounter", &Ndata_P_hgcer_adcCounter, &b_Ndata_P_hgcer_adcCounter); + fChain->SetBranchAddress("P.hgcer.adcCounter", P_hgcer_adcCounter, &b_P_hgcer_adcCounter); + fChain->SetBranchAddress("Ndata.P.hgcer.adcErrorFlag", &Ndata_P_hgcer_adcErrorFlag, &b_Ndata_P_hgcer_adcErrorFlag); + fChain->SetBranchAddress("P.hgcer.adcErrorFlag", P_hgcer_adcErrorFlag, &b_P_hgcer_adcErrorFlag); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPed", &Ndata_P_hgcer_goodAdcPed, &b_Ndata_P_hgcer_goodAdcPed); + fChain->SetBranchAddress("P.hgcer.goodAdcPed", P_hgcer_goodAdcPed, &b_P_hgcer_goodAdcPed); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPulseAmp", &Ndata_P_hgcer_goodAdcPulseAmp, &b_Ndata_P_hgcer_goodAdcPulseAmp); + fChain->SetBranchAddress("P.hgcer.goodAdcPulseAmp", P_hgcer_goodAdcPulseAmp, &b_P_hgcer_goodAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPulseInt", &Ndata_P_hgcer_goodAdcPulseInt, &b_Ndata_P_hgcer_goodAdcPulseInt); + fChain->SetBranchAddress("P.hgcer.goodAdcPulseInt", P_hgcer_goodAdcPulseInt, &b_P_hgcer_goodAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPulseIntRaw", &Ndata_P_hgcer_goodAdcPulseIntRaw, &b_Ndata_P_hgcer_goodAdcPulseIntRaw); + fChain->SetBranchAddress("P.hgcer.goodAdcPulseIntRaw", P_hgcer_goodAdcPulseIntRaw, &b_P_hgcer_goodAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hgcer.goodAdcPulseTime", &Ndata_P_hgcer_goodAdcPulseTime, &b_Ndata_P_hgcer_goodAdcPulseTime); + fChain->SetBranchAddress("P.hgcer.goodAdcPulseTime", P_hgcer_goodAdcPulseTime, &b_P_hgcer_goodAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hgcer.npe", &Ndata_P_hgcer_npe, &b_Ndata_P_hgcer_npe); + fChain->SetBranchAddress("P.hgcer.npe", P_hgcer_npe, &b_P_hgcer_npe); + fChain->SetBranchAddress("Ndata.P.hgcer.numGoodAdcHits", &Ndata_P_hgcer_numGoodAdcHits, &b_Ndata_P_hgcer_numGoodAdcHits); + fChain->SetBranchAddress("P.hgcer.numGoodAdcHits", P_hgcer_numGoodAdcHits, &b_P_hgcer_numGoodAdcHits); + fChain->SetBranchAddress("Ndata.P.hgcer.numTracksFired", &Ndata_P_hgcer_numTracksFired, &b_Ndata_P_hgcer_numTracksFired); + fChain->SetBranchAddress("P.hgcer.numTracksFired", P_hgcer_numTracksFired, &b_P_hgcer_numTracksFired); + fChain->SetBranchAddress("Ndata.P.hgcer.numTracksMatched", &Ndata_P_hgcer_numTracksMatched, &b_Ndata_P_hgcer_numTracksMatched); + fChain->SetBranchAddress("P.hgcer.numTracksMatched", P_hgcer_numTracksMatched, &b_P_hgcer_numTracksMatched); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegAdcPulseAmp", &Ndata_P_hod_1x_GoodNegAdcPulseAmp, &b_Ndata_P_hod_1x_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1x.GoodNegAdcPulseAmp", P_hod_1x_GoodNegAdcPulseAmp, &b_P_hod_1x_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegAdcPulseInt", &Ndata_P_hod_1x_GoodNegAdcPulseInt, &b_Ndata_P_hod_1x_GoodNegAdcPulseInt); + fChain->SetBranchAddress("P.hod.1x.GoodNegAdcPulseInt", P_hod_1x_GoodNegAdcPulseInt, &b_P_hod_1x_GoodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegAdcPulseTime", &Ndata_P_hod_1x_GoodNegAdcPulseTime, &b_Ndata_P_hod_1x_GoodNegAdcPulseTime); + fChain->SetBranchAddress("P.hod.1x.GoodNegAdcPulseTime", P_hod_1x_GoodNegAdcPulseTime, &b_P_hod_1x_GoodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegTdcChan", &Ndata_P_hod_1x_GoodNegTdcChan, &b_Ndata_P_hod_1x_GoodNegTdcChan); + fChain->SetBranchAddress("P.hod.1x.GoodNegTdcChan", P_hod_1x_GoodNegTdcChan, &b_P_hod_1x_GoodNegTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegTdcTimeCorr", &Ndata_P_hod_1x_GoodNegTdcTimeCorr, &b_Ndata_P_hod_1x_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("P.hod.1x.GoodNegTdcTimeCorr", P_hod_1x_GoodNegTdcTimeCorr, &b_P_hod_1x_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodNegTdcTimeTOFCorr", &Ndata_P_hod_1x_GoodNegTdcTimeTOFCorr, &b_Ndata_P_hod_1x_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.1x.GoodNegTdcTimeTOFCorr", P_hod_1x_GoodNegTdcTimeTOFCorr, &b_P_hod_1x_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPaddle", &Ndata_P_hod_1x_GoodPaddle, &b_Ndata_P_hod_1x_GoodPaddle); + fChain->SetBranchAddress("P.hod.1x.GoodPaddle", P_hod_1x_GoodPaddle, &b_P_hod_1x_GoodPaddle); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosAdcPulseAmp", &Ndata_P_hod_1x_GoodPosAdcPulseAmp, &b_Ndata_P_hod_1x_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1x.GoodPosAdcPulseAmp", P_hod_1x_GoodPosAdcPulseAmp, &b_P_hod_1x_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosAdcPulseInt", &Ndata_P_hod_1x_GoodPosAdcPulseInt, &b_Ndata_P_hod_1x_GoodPosAdcPulseInt); + fChain->SetBranchAddress("P.hod.1x.GoodPosAdcPulseInt", P_hod_1x_GoodPosAdcPulseInt, &b_P_hod_1x_GoodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosAdcPulseTime", &Ndata_P_hod_1x_GoodPosAdcPulseTime, &b_Ndata_P_hod_1x_GoodPosAdcPulseTime); + fChain->SetBranchAddress("P.hod.1x.GoodPosAdcPulseTime", P_hod_1x_GoodPosAdcPulseTime, &b_P_hod_1x_GoodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosTdcChan", &Ndata_P_hod_1x_GoodPosTdcChan, &b_Ndata_P_hod_1x_GoodPosTdcChan); + fChain->SetBranchAddress("P.hod.1x.GoodPosTdcChan", P_hod_1x_GoodPosTdcChan, &b_P_hod_1x_GoodPosTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosTdcTimeCorr", &Ndata_P_hod_1x_GoodPosTdcTimeCorr, &b_Ndata_P_hod_1x_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("P.hod.1x.GoodPosTdcTimeCorr", P_hod_1x_GoodPosTdcTimeCorr, &b_P_hod_1x_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.1x.GoodPosTdcTimeTOFCorr", &Ndata_P_hod_1x_GoodPosTdcTimeTOFCorr, &b_Ndata_P_hod_1x_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.1x.GoodPosTdcTimeTOFCorr", P_hod_1x_GoodPosTdcTimeTOFCorr, &b_P_hod_1x_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcCounter", &Ndata_P_hod_1x_negAdcCounter, &b_Ndata_P_hod_1x_negAdcCounter); + fChain->SetBranchAddress("P.hod.1x.negAdcCounter", P_hod_1x_negAdcCounter, &b_P_hod_1x_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPed", &Ndata_P_hod_1x_negAdcPed, &b_Ndata_P_hod_1x_negAdcPed); + fChain->SetBranchAddress("P.hod.1x.negAdcPed", P_hod_1x_negAdcPed, &b_P_hod_1x_negAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPedRaw", &Ndata_P_hod_1x_negAdcPedRaw, &b_Ndata_P_hod_1x_negAdcPedRaw); + fChain->SetBranchAddress("P.hod.1x.negAdcPedRaw", P_hod_1x_negAdcPedRaw, &b_P_hod_1x_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseAmp", &Ndata_P_hod_1x_negAdcPulseAmp, &b_Ndata_P_hod_1x_negAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseAmp", P_hod_1x_negAdcPulseAmp, &b_P_hod_1x_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseAmpRaw", &Ndata_P_hod_1x_negAdcPulseAmpRaw, &b_Ndata_P_hod_1x_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseAmpRaw", P_hod_1x_negAdcPulseAmpRaw, &b_P_hod_1x_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseInt", &Ndata_P_hod_1x_negAdcPulseInt, &b_Ndata_P_hod_1x_negAdcPulseInt); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseInt", P_hod_1x_negAdcPulseInt, &b_P_hod_1x_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseIntRaw", &Ndata_P_hod_1x_negAdcPulseIntRaw, &b_Ndata_P_hod_1x_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseIntRaw", P_hod_1x_negAdcPulseIntRaw, &b_P_hod_1x_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.negAdcPulseTimeRaw", &Ndata_P_hod_1x_negAdcPulseTimeRaw, &b_Ndata_P_hod_1x_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.1x.negAdcPulseTimeRaw", P_hod_1x_negAdcPulseTimeRaw, &b_P_hod_1x_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.negTdcCounter", &Ndata_P_hod_1x_negTdcCounter, &b_Ndata_P_hod_1x_negTdcCounter); + fChain->SetBranchAddress("P.hod.1x.negTdcCounter", P_hod_1x_negTdcCounter, &b_P_hod_1x_negTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1x.negTdcTime", &Ndata_P_hod_1x_negTdcTime, &b_Ndata_P_hod_1x_negTdcTime); + fChain->SetBranchAddress("P.hod.1x.negTdcTime", P_hod_1x_negTdcTime, &b_P_hod_1x_negTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.1x.negTdcTimeRaw", &Ndata_P_hod_1x_negTdcTimeRaw, &b_Ndata_P_hod_1x_negTdcTimeRaw); + fChain->SetBranchAddress("P.hod.1x.negTdcTimeRaw", P_hod_1x_negTdcTimeRaw, &b_P_hod_1x_negTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcCounter", &Ndata_P_hod_1x_posAdcCounter, &b_Ndata_P_hod_1x_posAdcCounter); + fChain->SetBranchAddress("P.hod.1x.posAdcCounter", P_hod_1x_posAdcCounter, &b_P_hod_1x_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPed", &Ndata_P_hod_1x_posAdcPed, &b_Ndata_P_hod_1x_posAdcPed); + fChain->SetBranchAddress("P.hod.1x.posAdcPed", P_hod_1x_posAdcPed, &b_P_hod_1x_posAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPedRaw", &Ndata_P_hod_1x_posAdcPedRaw, &b_Ndata_P_hod_1x_posAdcPedRaw); + fChain->SetBranchAddress("P.hod.1x.posAdcPedRaw", P_hod_1x_posAdcPedRaw, &b_P_hod_1x_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseAmp", &Ndata_P_hod_1x_posAdcPulseAmp, &b_Ndata_P_hod_1x_posAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseAmp", P_hod_1x_posAdcPulseAmp, &b_P_hod_1x_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseAmpRaw", &Ndata_P_hod_1x_posAdcPulseAmpRaw, &b_Ndata_P_hod_1x_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseAmpRaw", P_hod_1x_posAdcPulseAmpRaw, &b_P_hod_1x_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseInt", &Ndata_P_hod_1x_posAdcPulseInt, &b_Ndata_P_hod_1x_posAdcPulseInt); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseInt", P_hod_1x_posAdcPulseInt, &b_P_hod_1x_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseIntRaw", &Ndata_P_hod_1x_posAdcPulseIntRaw, &b_Ndata_P_hod_1x_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseIntRaw", P_hod_1x_posAdcPulseIntRaw, &b_P_hod_1x_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posAdcPulseTimeRaw", &Ndata_P_hod_1x_posAdcPulseTimeRaw, &b_Ndata_P_hod_1x_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.1x.posAdcPulseTimeRaw", P_hod_1x_posAdcPulseTimeRaw, &b_P_hod_1x_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1x.posTdcCounter", &Ndata_P_hod_1x_posTdcCounter, &b_Ndata_P_hod_1x_posTdcCounter); + fChain->SetBranchAddress("P.hod.1x.posTdcCounter", P_hod_1x_posTdcCounter, &b_P_hod_1x_posTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1x.posTdcTime", &Ndata_P_hod_1x_posTdcTime, &b_Ndata_P_hod_1x_posTdcTime); + fChain->SetBranchAddress("P.hod.1x.posTdcTime", P_hod_1x_posTdcTime, &b_P_hod_1x_posTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.1x.posTdcTimeRaw", &Ndata_P_hod_1x_posTdcTimeRaw, &b_Ndata_P_hod_1x_posTdcTimeRaw); + fChain->SetBranchAddress("P.hod.1x.posTdcTimeRaw", P_hod_1x_posTdcTimeRaw, &b_P_hod_1x_posTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegAdcPulseAmp", &Ndata_P_hod_1y_GoodNegAdcPulseAmp, &b_Ndata_P_hod_1y_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1y.GoodNegAdcPulseAmp", P_hod_1y_GoodNegAdcPulseAmp, &b_P_hod_1y_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegAdcPulseInt", &Ndata_P_hod_1y_GoodNegAdcPulseInt, &b_Ndata_P_hod_1y_GoodNegAdcPulseInt); + fChain->SetBranchAddress("P.hod.1y.GoodNegAdcPulseInt", P_hod_1y_GoodNegAdcPulseInt, &b_P_hod_1y_GoodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegAdcPulseTime", &Ndata_P_hod_1y_GoodNegAdcPulseTime, &b_Ndata_P_hod_1y_GoodNegAdcPulseTime); + fChain->SetBranchAddress("P.hod.1y.GoodNegAdcPulseTime", P_hod_1y_GoodNegAdcPulseTime, &b_P_hod_1y_GoodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegTdcChan", &Ndata_P_hod_1y_GoodNegTdcChan, &b_Ndata_P_hod_1y_GoodNegTdcChan); + fChain->SetBranchAddress("P.hod.1y.GoodNegTdcChan", P_hod_1y_GoodNegTdcChan, &b_P_hod_1y_GoodNegTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegTdcTimeCorr", &Ndata_P_hod_1y_GoodNegTdcTimeCorr, &b_Ndata_P_hod_1y_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("P.hod.1y.GoodNegTdcTimeCorr", P_hod_1y_GoodNegTdcTimeCorr, &b_P_hod_1y_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodNegTdcTimeTOFCorr", &Ndata_P_hod_1y_GoodNegTdcTimeTOFCorr, &b_Ndata_P_hod_1y_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.1y.GoodNegTdcTimeTOFCorr", P_hod_1y_GoodNegTdcTimeTOFCorr, &b_P_hod_1y_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPaddle", &Ndata_P_hod_1y_GoodPaddle, &b_Ndata_P_hod_1y_GoodPaddle); + fChain->SetBranchAddress("P.hod.1y.GoodPaddle", P_hod_1y_GoodPaddle, &b_P_hod_1y_GoodPaddle); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosAdcPulseAmp", &Ndata_P_hod_1y_GoodPosAdcPulseAmp, &b_Ndata_P_hod_1y_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1y.GoodPosAdcPulseAmp", P_hod_1y_GoodPosAdcPulseAmp, &b_P_hod_1y_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosAdcPulseInt", &Ndata_P_hod_1y_GoodPosAdcPulseInt, &b_Ndata_P_hod_1y_GoodPosAdcPulseInt); + fChain->SetBranchAddress("P.hod.1y.GoodPosAdcPulseInt", P_hod_1y_GoodPosAdcPulseInt, &b_P_hod_1y_GoodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosAdcPulseTime", &Ndata_P_hod_1y_GoodPosAdcPulseTime, &b_Ndata_P_hod_1y_GoodPosAdcPulseTime); + fChain->SetBranchAddress("P.hod.1y.GoodPosAdcPulseTime", P_hod_1y_GoodPosAdcPulseTime, &b_P_hod_1y_GoodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosTdcChan", &Ndata_P_hod_1y_GoodPosTdcChan, &b_Ndata_P_hod_1y_GoodPosTdcChan); + fChain->SetBranchAddress("P.hod.1y.GoodPosTdcChan", P_hod_1y_GoodPosTdcChan, &b_P_hod_1y_GoodPosTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosTdcTimeCorr", &Ndata_P_hod_1y_GoodPosTdcTimeCorr, &b_Ndata_P_hod_1y_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("P.hod.1y.GoodPosTdcTimeCorr", P_hod_1y_GoodPosTdcTimeCorr, &b_P_hod_1y_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.1y.GoodPosTdcTimeTOFCorr", &Ndata_P_hod_1y_GoodPosTdcTimeTOFCorr, &b_Ndata_P_hod_1y_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.1y.GoodPosTdcTimeTOFCorr", P_hod_1y_GoodPosTdcTimeTOFCorr, &b_P_hod_1y_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcCounter", &Ndata_P_hod_1y_negAdcCounter, &b_Ndata_P_hod_1y_negAdcCounter); + fChain->SetBranchAddress("P.hod.1y.negAdcCounter", P_hod_1y_negAdcCounter, &b_P_hod_1y_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPed", &Ndata_P_hod_1y_negAdcPed, &b_Ndata_P_hod_1y_negAdcPed); + fChain->SetBranchAddress("P.hod.1y.negAdcPed", P_hod_1y_negAdcPed, &b_P_hod_1y_negAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPedRaw", &Ndata_P_hod_1y_negAdcPedRaw, &b_Ndata_P_hod_1y_negAdcPedRaw); + fChain->SetBranchAddress("P.hod.1y.negAdcPedRaw", P_hod_1y_negAdcPedRaw, &b_P_hod_1y_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseAmp", &Ndata_P_hod_1y_negAdcPulseAmp, &b_Ndata_P_hod_1y_negAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseAmp", P_hod_1y_negAdcPulseAmp, &b_P_hod_1y_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseAmpRaw", &Ndata_P_hod_1y_negAdcPulseAmpRaw, &b_Ndata_P_hod_1y_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseAmpRaw", P_hod_1y_negAdcPulseAmpRaw, &b_P_hod_1y_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseInt", &Ndata_P_hod_1y_negAdcPulseInt, &b_Ndata_P_hod_1y_negAdcPulseInt); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseInt", P_hod_1y_negAdcPulseInt, &b_P_hod_1y_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseIntRaw", &Ndata_P_hod_1y_negAdcPulseIntRaw, &b_Ndata_P_hod_1y_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseIntRaw", P_hod_1y_negAdcPulseIntRaw, &b_P_hod_1y_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.negAdcPulseTimeRaw", &Ndata_P_hod_1y_negAdcPulseTimeRaw, &b_Ndata_P_hod_1y_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.1y.negAdcPulseTimeRaw", P_hod_1y_negAdcPulseTimeRaw, &b_P_hod_1y_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.negTdcCounter", &Ndata_P_hod_1y_negTdcCounter, &b_Ndata_P_hod_1y_negTdcCounter); + fChain->SetBranchAddress("P.hod.1y.negTdcCounter", P_hod_1y_negTdcCounter, &b_P_hod_1y_negTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1y.negTdcTime", &Ndata_P_hod_1y_negTdcTime, &b_Ndata_P_hod_1y_negTdcTime); + fChain->SetBranchAddress("P.hod.1y.negTdcTime", P_hod_1y_negTdcTime, &b_P_hod_1y_negTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.1y.negTdcTimeRaw", &Ndata_P_hod_1y_negTdcTimeRaw, &b_Ndata_P_hod_1y_negTdcTimeRaw); + fChain->SetBranchAddress("P.hod.1y.negTdcTimeRaw", P_hod_1y_negTdcTimeRaw, &b_P_hod_1y_negTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcCounter", &Ndata_P_hod_1y_posAdcCounter, &b_Ndata_P_hod_1y_posAdcCounter); + fChain->SetBranchAddress("P.hod.1y.posAdcCounter", P_hod_1y_posAdcCounter, &b_P_hod_1y_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPed", &Ndata_P_hod_1y_posAdcPed, &b_Ndata_P_hod_1y_posAdcPed); + fChain->SetBranchAddress("P.hod.1y.posAdcPed", P_hod_1y_posAdcPed, &b_P_hod_1y_posAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPedRaw", &Ndata_P_hod_1y_posAdcPedRaw, &b_Ndata_P_hod_1y_posAdcPedRaw); + fChain->SetBranchAddress("P.hod.1y.posAdcPedRaw", P_hod_1y_posAdcPedRaw, &b_P_hod_1y_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseAmp", &Ndata_P_hod_1y_posAdcPulseAmp, &b_Ndata_P_hod_1y_posAdcPulseAmp); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseAmp", P_hod_1y_posAdcPulseAmp, &b_P_hod_1y_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseAmpRaw", &Ndata_P_hod_1y_posAdcPulseAmpRaw, &b_Ndata_P_hod_1y_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseAmpRaw", P_hod_1y_posAdcPulseAmpRaw, &b_P_hod_1y_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseInt", &Ndata_P_hod_1y_posAdcPulseInt, &b_Ndata_P_hod_1y_posAdcPulseInt); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseInt", P_hod_1y_posAdcPulseInt, &b_P_hod_1y_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseIntRaw", &Ndata_P_hod_1y_posAdcPulseIntRaw, &b_Ndata_P_hod_1y_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseIntRaw", P_hod_1y_posAdcPulseIntRaw, &b_P_hod_1y_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posAdcPulseTimeRaw", &Ndata_P_hod_1y_posAdcPulseTimeRaw, &b_Ndata_P_hod_1y_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.1y.posAdcPulseTimeRaw", P_hod_1y_posAdcPulseTimeRaw, &b_P_hod_1y_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.1y.posTdcCounter", &Ndata_P_hod_1y_posTdcCounter, &b_Ndata_P_hod_1y_posTdcCounter); + fChain->SetBranchAddress("P.hod.1y.posTdcCounter", P_hod_1y_posTdcCounter, &b_P_hod_1y_posTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.1y.posTdcTime", &Ndata_P_hod_1y_posTdcTime, &b_Ndata_P_hod_1y_posTdcTime); + fChain->SetBranchAddress("P.hod.1y.posTdcTime", P_hod_1y_posTdcTime, &b_P_hod_1y_posTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.1y.posTdcTimeRaw", &Ndata_P_hod_1y_posTdcTimeRaw, &b_Ndata_P_hod_1y_posTdcTimeRaw); + fChain->SetBranchAddress("P.hod.1y.posTdcTimeRaw", P_hod_1y_posTdcTimeRaw, &b_P_hod_1y_posTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegAdcPulseAmp", &Ndata_P_hod_2x_GoodNegAdcPulseAmp, &b_Ndata_P_hod_2x_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2x.GoodNegAdcPulseAmp", P_hod_2x_GoodNegAdcPulseAmp, &b_P_hod_2x_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegAdcPulseInt", &Ndata_P_hod_2x_GoodNegAdcPulseInt, &b_Ndata_P_hod_2x_GoodNegAdcPulseInt); + fChain->SetBranchAddress("P.hod.2x.GoodNegAdcPulseInt", P_hod_2x_GoodNegAdcPulseInt, &b_P_hod_2x_GoodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegAdcPulseTime", &Ndata_P_hod_2x_GoodNegAdcPulseTime, &b_Ndata_P_hod_2x_GoodNegAdcPulseTime); + fChain->SetBranchAddress("P.hod.2x.GoodNegAdcPulseTime", P_hod_2x_GoodNegAdcPulseTime, &b_P_hod_2x_GoodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegTdcChan", &Ndata_P_hod_2x_GoodNegTdcChan, &b_Ndata_P_hod_2x_GoodNegTdcChan); + fChain->SetBranchAddress("P.hod.2x.GoodNegTdcChan", P_hod_2x_GoodNegTdcChan, &b_P_hod_2x_GoodNegTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegTdcTimeCorr", &Ndata_P_hod_2x_GoodNegTdcTimeCorr, &b_Ndata_P_hod_2x_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("P.hod.2x.GoodNegTdcTimeCorr", P_hod_2x_GoodNegTdcTimeCorr, &b_P_hod_2x_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodNegTdcTimeTOFCorr", &Ndata_P_hod_2x_GoodNegTdcTimeTOFCorr, &b_Ndata_P_hod_2x_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.2x.GoodNegTdcTimeTOFCorr", P_hod_2x_GoodNegTdcTimeTOFCorr, &b_P_hod_2x_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPaddle", &Ndata_P_hod_2x_GoodPaddle, &b_Ndata_P_hod_2x_GoodPaddle); + fChain->SetBranchAddress("P.hod.2x.GoodPaddle", P_hod_2x_GoodPaddle, &b_P_hod_2x_GoodPaddle); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosAdcPulseAmp", &Ndata_P_hod_2x_GoodPosAdcPulseAmp, &b_Ndata_P_hod_2x_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2x.GoodPosAdcPulseAmp", P_hod_2x_GoodPosAdcPulseAmp, &b_P_hod_2x_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosAdcPulseInt", &Ndata_P_hod_2x_GoodPosAdcPulseInt, &b_Ndata_P_hod_2x_GoodPosAdcPulseInt); + fChain->SetBranchAddress("P.hod.2x.GoodPosAdcPulseInt", P_hod_2x_GoodPosAdcPulseInt, &b_P_hod_2x_GoodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosAdcPulseTime", &Ndata_P_hod_2x_GoodPosAdcPulseTime, &b_Ndata_P_hod_2x_GoodPosAdcPulseTime); + fChain->SetBranchAddress("P.hod.2x.GoodPosAdcPulseTime", P_hod_2x_GoodPosAdcPulseTime, &b_P_hod_2x_GoodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosTdcChan", &Ndata_P_hod_2x_GoodPosTdcChan, &b_Ndata_P_hod_2x_GoodPosTdcChan); + fChain->SetBranchAddress("P.hod.2x.GoodPosTdcChan", P_hod_2x_GoodPosTdcChan, &b_P_hod_2x_GoodPosTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosTdcTimeCorr", &Ndata_P_hod_2x_GoodPosTdcTimeCorr, &b_Ndata_P_hod_2x_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("P.hod.2x.GoodPosTdcTimeCorr", P_hod_2x_GoodPosTdcTimeCorr, &b_P_hod_2x_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.2x.GoodPosTdcTimeTOFCorr", &Ndata_P_hod_2x_GoodPosTdcTimeTOFCorr, &b_Ndata_P_hod_2x_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.2x.GoodPosTdcTimeTOFCorr", P_hod_2x_GoodPosTdcTimeTOFCorr, &b_P_hod_2x_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcCounter", &Ndata_P_hod_2x_negAdcCounter, &b_Ndata_P_hod_2x_negAdcCounter); + fChain->SetBranchAddress("P.hod.2x.negAdcCounter", P_hod_2x_negAdcCounter, &b_P_hod_2x_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPed", &Ndata_P_hod_2x_negAdcPed, &b_Ndata_P_hod_2x_negAdcPed); + fChain->SetBranchAddress("P.hod.2x.negAdcPed", P_hod_2x_negAdcPed, &b_P_hod_2x_negAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPedRaw", &Ndata_P_hod_2x_negAdcPedRaw, &b_Ndata_P_hod_2x_negAdcPedRaw); + fChain->SetBranchAddress("P.hod.2x.negAdcPedRaw", P_hod_2x_negAdcPedRaw, &b_P_hod_2x_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseAmp", &Ndata_P_hod_2x_negAdcPulseAmp, &b_Ndata_P_hod_2x_negAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseAmp", P_hod_2x_negAdcPulseAmp, &b_P_hod_2x_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseAmpRaw", &Ndata_P_hod_2x_negAdcPulseAmpRaw, &b_Ndata_P_hod_2x_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseAmpRaw", P_hod_2x_negAdcPulseAmpRaw, &b_P_hod_2x_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseInt", &Ndata_P_hod_2x_negAdcPulseInt, &b_Ndata_P_hod_2x_negAdcPulseInt); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseInt", P_hod_2x_negAdcPulseInt, &b_P_hod_2x_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseIntRaw", &Ndata_P_hod_2x_negAdcPulseIntRaw, &b_Ndata_P_hod_2x_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseIntRaw", P_hod_2x_negAdcPulseIntRaw, &b_P_hod_2x_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.negAdcPulseTimeRaw", &Ndata_P_hod_2x_negAdcPulseTimeRaw, &b_Ndata_P_hod_2x_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.2x.negAdcPulseTimeRaw", P_hod_2x_negAdcPulseTimeRaw, &b_P_hod_2x_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.negTdcCounter", &Ndata_P_hod_2x_negTdcCounter, &b_Ndata_P_hod_2x_negTdcCounter); + fChain->SetBranchAddress("P.hod.2x.negTdcCounter", P_hod_2x_negTdcCounter, &b_P_hod_2x_negTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2x.negTdcTime", &Ndata_P_hod_2x_negTdcTime, &b_Ndata_P_hod_2x_negTdcTime); + fChain->SetBranchAddress("P.hod.2x.negTdcTime", P_hod_2x_negTdcTime, &b_P_hod_2x_negTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.2x.negTdcTimeRaw", &Ndata_P_hod_2x_negTdcTimeRaw, &b_Ndata_P_hod_2x_negTdcTimeRaw); + fChain->SetBranchAddress("P.hod.2x.negTdcTimeRaw", P_hod_2x_negTdcTimeRaw, &b_P_hod_2x_negTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcCounter", &Ndata_P_hod_2x_posAdcCounter, &b_Ndata_P_hod_2x_posAdcCounter); + fChain->SetBranchAddress("P.hod.2x.posAdcCounter", P_hod_2x_posAdcCounter, &b_P_hod_2x_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPed", &Ndata_P_hod_2x_posAdcPed, &b_Ndata_P_hod_2x_posAdcPed); + fChain->SetBranchAddress("P.hod.2x.posAdcPed", P_hod_2x_posAdcPed, &b_P_hod_2x_posAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPedRaw", &Ndata_P_hod_2x_posAdcPedRaw, &b_Ndata_P_hod_2x_posAdcPedRaw); + fChain->SetBranchAddress("P.hod.2x.posAdcPedRaw", P_hod_2x_posAdcPedRaw, &b_P_hod_2x_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseAmp", &Ndata_P_hod_2x_posAdcPulseAmp, &b_Ndata_P_hod_2x_posAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseAmp", P_hod_2x_posAdcPulseAmp, &b_P_hod_2x_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseAmpRaw", &Ndata_P_hod_2x_posAdcPulseAmpRaw, &b_Ndata_P_hod_2x_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseAmpRaw", P_hod_2x_posAdcPulseAmpRaw, &b_P_hod_2x_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseInt", &Ndata_P_hod_2x_posAdcPulseInt, &b_Ndata_P_hod_2x_posAdcPulseInt); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseInt", P_hod_2x_posAdcPulseInt, &b_P_hod_2x_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseIntRaw", &Ndata_P_hod_2x_posAdcPulseIntRaw, &b_Ndata_P_hod_2x_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseIntRaw", P_hod_2x_posAdcPulseIntRaw, &b_P_hod_2x_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posAdcPulseTimeRaw", &Ndata_P_hod_2x_posAdcPulseTimeRaw, &b_Ndata_P_hod_2x_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.2x.posAdcPulseTimeRaw", P_hod_2x_posAdcPulseTimeRaw, &b_P_hod_2x_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2x.posTdcCounter", &Ndata_P_hod_2x_posTdcCounter, &b_Ndata_P_hod_2x_posTdcCounter); + fChain->SetBranchAddress("P.hod.2x.posTdcCounter", P_hod_2x_posTdcCounter, &b_P_hod_2x_posTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2x.posTdcTime", &Ndata_P_hod_2x_posTdcTime, &b_Ndata_P_hod_2x_posTdcTime); + fChain->SetBranchAddress("P.hod.2x.posTdcTime", P_hod_2x_posTdcTime, &b_P_hod_2x_posTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.2x.posTdcTimeRaw", &Ndata_P_hod_2x_posTdcTimeRaw, &b_Ndata_P_hod_2x_posTdcTimeRaw); + fChain->SetBranchAddress("P.hod.2x.posTdcTimeRaw", P_hod_2x_posTdcTimeRaw, &b_P_hod_2x_posTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegAdcPulseAmp", &Ndata_P_hod_2y_GoodNegAdcPulseAmp, &b_Ndata_P_hod_2y_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2y.GoodNegAdcPulseAmp", P_hod_2y_GoodNegAdcPulseAmp, &b_P_hod_2y_GoodNegAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegAdcPulseInt", &Ndata_P_hod_2y_GoodNegAdcPulseInt, &b_Ndata_P_hod_2y_GoodNegAdcPulseInt); + fChain->SetBranchAddress("P.hod.2y.GoodNegAdcPulseInt", P_hod_2y_GoodNegAdcPulseInt, &b_P_hod_2y_GoodNegAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegAdcPulseTime", &Ndata_P_hod_2y_GoodNegAdcPulseTime, &b_Ndata_P_hod_2y_GoodNegAdcPulseTime); + fChain->SetBranchAddress("P.hod.2y.GoodNegAdcPulseTime", P_hod_2y_GoodNegAdcPulseTime, &b_P_hod_2y_GoodNegAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegTdcChan", &Ndata_P_hod_2y_GoodNegTdcChan, &b_Ndata_P_hod_2y_GoodNegTdcChan); + fChain->SetBranchAddress("P.hod.2y.GoodNegTdcChan", P_hod_2y_GoodNegTdcChan, &b_P_hod_2y_GoodNegTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegTdcTimeCorr", &Ndata_P_hod_2y_GoodNegTdcTimeCorr, &b_Ndata_P_hod_2y_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("P.hod.2y.GoodNegTdcTimeCorr", P_hod_2y_GoodNegTdcTimeCorr, &b_P_hod_2y_GoodNegTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodNegTdcTimeTOFCorr", &Ndata_P_hod_2y_GoodNegTdcTimeTOFCorr, &b_Ndata_P_hod_2y_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.2y.GoodNegTdcTimeTOFCorr", P_hod_2y_GoodNegTdcTimeTOFCorr, &b_P_hod_2y_GoodNegTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPaddle", &Ndata_P_hod_2y_GoodPaddle, &b_Ndata_P_hod_2y_GoodPaddle); + fChain->SetBranchAddress("P.hod.2y.GoodPaddle", P_hod_2y_GoodPaddle, &b_P_hod_2y_GoodPaddle); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosAdcPulseAmp", &Ndata_P_hod_2y_GoodPosAdcPulseAmp, &b_Ndata_P_hod_2y_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2y.GoodPosAdcPulseAmp", P_hod_2y_GoodPosAdcPulseAmp, &b_P_hod_2y_GoodPosAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosAdcPulseInt", &Ndata_P_hod_2y_GoodPosAdcPulseInt, &b_Ndata_P_hod_2y_GoodPosAdcPulseInt); + fChain->SetBranchAddress("P.hod.2y.GoodPosAdcPulseInt", P_hod_2y_GoodPosAdcPulseInt, &b_P_hod_2y_GoodPosAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosAdcPulseTime", &Ndata_P_hod_2y_GoodPosAdcPulseTime, &b_Ndata_P_hod_2y_GoodPosAdcPulseTime); + fChain->SetBranchAddress("P.hod.2y.GoodPosAdcPulseTime", P_hod_2y_GoodPosAdcPulseTime, &b_P_hod_2y_GoodPosAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosTdcChan", &Ndata_P_hod_2y_GoodPosTdcChan, &b_Ndata_P_hod_2y_GoodPosTdcChan); + fChain->SetBranchAddress("P.hod.2y.GoodPosTdcChan", P_hod_2y_GoodPosTdcChan, &b_P_hod_2y_GoodPosTdcChan); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosTdcTimeCorr", &Ndata_P_hod_2y_GoodPosTdcTimeCorr, &b_Ndata_P_hod_2y_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("P.hod.2y.GoodPosTdcTimeCorr", P_hod_2y_GoodPosTdcTimeCorr, &b_P_hod_2y_GoodPosTdcTimeCorr); + fChain->SetBranchAddress("Ndata.P.hod.2y.GoodPosTdcTimeTOFCorr", &Ndata_P_hod_2y_GoodPosTdcTimeTOFCorr, &b_Ndata_P_hod_2y_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("P.hod.2y.GoodPosTdcTimeTOFCorr", P_hod_2y_GoodPosTdcTimeTOFCorr, &b_P_hod_2y_GoodPosTdcTimeTOFCorr); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcCounter", &Ndata_P_hod_2y_negAdcCounter, &b_Ndata_P_hod_2y_negAdcCounter); + fChain->SetBranchAddress("P.hod.2y.negAdcCounter", P_hod_2y_negAdcCounter, &b_P_hod_2y_negAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPed", &Ndata_P_hod_2y_negAdcPed, &b_Ndata_P_hod_2y_negAdcPed); + fChain->SetBranchAddress("P.hod.2y.negAdcPed", P_hod_2y_negAdcPed, &b_P_hod_2y_negAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPedRaw", &Ndata_P_hod_2y_negAdcPedRaw, &b_Ndata_P_hod_2y_negAdcPedRaw); + fChain->SetBranchAddress("P.hod.2y.negAdcPedRaw", P_hod_2y_negAdcPedRaw, &b_P_hod_2y_negAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseAmp", &Ndata_P_hod_2y_negAdcPulseAmp, &b_Ndata_P_hod_2y_negAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseAmp", P_hod_2y_negAdcPulseAmp, &b_P_hod_2y_negAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseAmpRaw", &Ndata_P_hod_2y_negAdcPulseAmpRaw, &b_Ndata_P_hod_2y_negAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseAmpRaw", P_hod_2y_negAdcPulseAmpRaw, &b_P_hod_2y_negAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseInt", &Ndata_P_hod_2y_negAdcPulseInt, &b_Ndata_P_hod_2y_negAdcPulseInt); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseInt", P_hod_2y_negAdcPulseInt, &b_P_hod_2y_negAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseIntRaw", &Ndata_P_hod_2y_negAdcPulseIntRaw, &b_Ndata_P_hod_2y_negAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseIntRaw", P_hod_2y_negAdcPulseIntRaw, &b_P_hod_2y_negAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.negAdcPulseTimeRaw", &Ndata_P_hod_2y_negAdcPulseTimeRaw, &b_Ndata_P_hod_2y_negAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.2y.negAdcPulseTimeRaw", P_hod_2y_negAdcPulseTimeRaw, &b_P_hod_2y_negAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.negTdcCounter", &Ndata_P_hod_2y_negTdcCounter, &b_Ndata_P_hod_2y_negTdcCounter); + fChain->SetBranchAddress("P.hod.2y.negTdcCounter", P_hod_2y_negTdcCounter, &b_P_hod_2y_negTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2y.negTdcTime", &Ndata_P_hod_2y_negTdcTime, &b_Ndata_P_hod_2y_negTdcTime); + fChain->SetBranchAddress("P.hod.2y.negTdcTime", P_hod_2y_negTdcTime, &b_P_hod_2y_negTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.2y.negTdcTimeRaw", &Ndata_P_hod_2y_negTdcTimeRaw, &b_Ndata_P_hod_2y_negTdcTimeRaw); + fChain->SetBranchAddress("P.hod.2y.negTdcTimeRaw", P_hod_2y_negTdcTimeRaw, &b_P_hod_2y_negTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcCounter", &Ndata_P_hod_2y_posAdcCounter, &b_Ndata_P_hod_2y_posAdcCounter); + fChain->SetBranchAddress("P.hod.2y.posAdcCounter", P_hod_2y_posAdcCounter, &b_P_hod_2y_posAdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPed", &Ndata_P_hod_2y_posAdcPed, &b_Ndata_P_hod_2y_posAdcPed); + fChain->SetBranchAddress("P.hod.2y.posAdcPed", P_hod_2y_posAdcPed, &b_P_hod_2y_posAdcPed); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPedRaw", &Ndata_P_hod_2y_posAdcPedRaw, &b_Ndata_P_hod_2y_posAdcPedRaw); + fChain->SetBranchAddress("P.hod.2y.posAdcPedRaw", P_hod_2y_posAdcPedRaw, &b_P_hod_2y_posAdcPedRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseAmp", &Ndata_P_hod_2y_posAdcPulseAmp, &b_Ndata_P_hod_2y_posAdcPulseAmp); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseAmp", P_hod_2y_posAdcPulseAmp, &b_P_hod_2y_posAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseAmpRaw", &Ndata_P_hod_2y_posAdcPulseAmpRaw, &b_Ndata_P_hod_2y_posAdcPulseAmpRaw); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseAmpRaw", P_hod_2y_posAdcPulseAmpRaw, &b_P_hod_2y_posAdcPulseAmpRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseInt", &Ndata_P_hod_2y_posAdcPulseInt, &b_Ndata_P_hod_2y_posAdcPulseInt); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseInt", P_hod_2y_posAdcPulseInt, &b_P_hod_2y_posAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseIntRaw", &Ndata_P_hod_2y_posAdcPulseIntRaw, &b_Ndata_P_hod_2y_posAdcPulseIntRaw); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseIntRaw", P_hod_2y_posAdcPulseIntRaw, &b_P_hod_2y_posAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posAdcPulseTimeRaw", &Ndata_P_hod_2y_posAdcPulseTimeRaw, &b_Ndata_P_hod_2y_posAdcPulseTimeRaw); + fChain->SetBranchAddress("P.hod.2y.posAdcPulseTimeRaw", P_hod_2y_posAdcPulseTimeRaw, &b_P_hod_2y_posAdcPulseTimeRaw); + fChain->SetBranchAddress("Ndata.P.hod.2y.posTdcCounter", &Ndata_P_hod_2y_posTdcCounter, &b_Ndata_P_hod_2y_posTdcCounter); + fChain->SetBranchAddress("P.hod.2y.posTdcCounter", P_hod_2y_posTdcCounter, &b_P_hod_2y_posTdcCounter); + fChain->SetBranchAddress("Ndata.P.hod.2y.posTdcTime", &Ndata_P_hod_2y_posTdcTime, &b_Ndata_P_hod_2y_posTdcTime); + fChain->SetBranchAddress("P.hod.2y.posTdcTime", P_hod_2y_posTdcTime, &b_P_hod_2y_posTdcTime); + fChain->SetBranchAddress("Ndata.P.hod.2y.posTdcTimeRaw", &Ndata_P_hod_2y_posTdcTimeRaw, &b_Ndata_P_hod_2y_posTdcTimeRaw); + fChain->SetBranchAddress("P.hod.2y.posTdcTimeRaw", P_hod_2y_posTdcTimeRaw, &b_P_hod_2y_posTdcTimeRaw); + fChain->SetBranchAddress("Ndata.P.ngcer.adcCounter", &Ndata_P_ngcer_adcCounter, &b_Ndata_P_ngcer_adcCounter); + fChain->SetBranchAddress("P.ngcer.adcCounter", P_ngcer_adcCounter, &b_P_ngcer_adcCounter); + fChain->SetBranchAddress("Ndata.P.ngcer.adcErrorFlag", &Ndata_P_ngcer_adcErrorFlag, &b_Ndata_P_ngcer_adcErrorFlag); + fChain->SetBranchAddress("P.ngcer.adcErrorFlag", P_ngcer_adcErrorFlag, &b_P_ngcer_adcErrorFlag); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPed", &Ndata_P_ngcer_goodAdcPed, &b_Ndata_P_ngcer_goodAdcPed); + fChain->SetBranchAddress("P.ngcer.goodAdcPed", P_ngcer_goodAdcPed, &b_P_ngcer_goodAdcPed); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPulseAmp", &Ndata_P_ngcer_goodAdcPulseAmp, &b_Ndata_P_ngcer_goodAdcPulseAmp); + fChain->SetBranchAddress("P.ngcer.goodAdcPulseAmp", P_ngcer_goodAdcPulseAmp, &b_P_ngcer_goodAdcPulseAmp); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPulseInt", &Ndata_P_ngcer_goodAdcPulseInt, &b_Ndata_P_ngcer_goodAdcPulseInt); + fChain->SetBranchAddress("P.ngcer.goodAdcPulseInt", P_ngcer_goodAdcPulseInt, &b_P_ngcer_goodAdcPulseInt); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPulseIntRaw", &Ndata_P_ngcer_goodAdcPulseIntRaw, &b_Ndata_P_ngcer_goodAdcPulseIntRaw); + fChain->SetBranchAddress("P.ngcer.goodAdcPulseIntRaw", P_ngcer_goodAdcPulseIntRaw, &b_P_ngcer_goodAdcPulseIntRaw); + fChain->SetBranchAddress("Ndata.P.ngcer.goodAdcPulseTime", &Ndata_P_ngcer_goodAdcPulseTime, &b_Ndata_P_ngcer_goodAdcPulseTime); + fChain->SetBranchAddress("P.ngcer.goodAdcPulseTime", P_ngcer_goodAdcPulseTime, &b_P_ngcer_goodAdcPulseTime); + fChain->SetBranchAddress("Ndata.P.ngcer.npe", &Ndata_P_ngcer_npe, &b_Ndata_P_ngcer_npe); + fChain->SetBranchAddress("P.ngcer.npe", P_ngcer_npe, &b_P_ngcer_npe); + fChain->SetBranchAddress("Ndata.P.ngcer.numGoodAdcHits", &Ndata_P_ngcer_numGoodAdcHits, &b_Ndata_P_ngcer_numGoodAdcHits); + fChain->SetBranchAddress("P.ngcer.numGoodAdcHits", P_ngcer_numGoodAdcHits, &b_P_ngcer_numGoodAdcHits); + fChain->SetBranchAddress("Ndata.P.ngcer.numTracksFired", &Ndata_P_ngcer_numTracksFired, &b_Ndata_P_ngcer_numTracksFired); + fChain->SetBranchAddress("P.ngcer.numTracksFired", P_ngcer_numTracksFired, &b_P_ngcer_numTracksFired); + fChain->SetBranchAddress("Ndata.P.ngcer.numTracksMatched", &Ndata_P_ngcer_numTracksMatched, &b_Ndata_P_ngcer_numTracksMatched); + fChain->SetBranchAddress("P.ngcer.numTracksMatched", P_ngcer_numTracksMatched, &b_P_ngcer_numTracksMatched); + fChain->SetBranchAddress("Ndata.P.tr.beta", &Ndata_P_tr_beta, &b_Ndata_P_tr_beta); + fChain->SetBranchAddress("P.tr.beta", P_tr_beta, &b_P_tr_beta); + fChain->SetBranchAddress("Ndata.P.tr.betachisq", &Ndata_P_tr_betachisq, &b_Ndata_P_tr_betachisq); + fChain->SetBranchAddress("P.tr.betachisq", P_tr_betachisq, &b_P_tr_betachisq); + fChain->SetBranchAddress("Ndata.P.tr.chi2", &Ndata_P_tr_chi2, &b_Ndata_P_tr_chi2); + fChain->SetBranchAddress("P.tr.chi2", P_tr_chi2, &b_P_tr_chi2); + fChain->SetBranchAddress("Ndata.P.tr.d_ph", &Ndata_P_tr_d_ph, &b_Ndata_P_tr_d_ph); + fChain->SetBranchAddress("P.tr.d_ph", P_tr_d_ph, &b_P_tr_d_ph); + fChain->SetBranchAddress("Ndata.P.tr.d_th", &Ndata_P_tr_d_th, &b_Ndata_P_tr_d_th); + fChain->SetBranchAddress("P.tr.d_th", P_tr_d_th, &b_P_tr_d_th); + fChain->SetBranchAddress("Ndata.P.tr.d_x", &Ndata_P_tr_d_x, &b_Ndata_P_tr_d_x); + fChain->SetBranchAddress("P.tr.d_x", P_tr_d_x, &b_P_tr_d_x); + fChain->SetBranchAddress("Ndata.P.tr.d_y", &Ndata_P_tr_d_y, &b_Ndata_P_tr_d_y); + fChain->SetBranchAddress("P.tr.d_y", P_tr_d_y, &b_P_tr_d_y); + fChain->SetBranchAddress("Ndata.P.tr.dbeta", &Ndata_P_tr_dbeta, &b_Ndata_P_tr_dbeta); + fChain->SetBranchAddress("P.tr.dbeta", P_tr_dbeta, &b_P_tr_dbeta); + fChain->SetBranchAddress("Ndata.P.tr.dtime", &Ndata_P_tr_dtime, &b_Ndata_P_tr_dtime); + fChain->SetBranchAddress("P.tr.dtime", P_tr_dtime, &b_P_tr_dtime); + fChain->SetBranchAddress("Ndata.P.tr.flag", &Ndata_P_tr_flag, &b_Ndata_P_tr_flag); + fChain->SetBranchAddress("P.tr.flag", P_tr_flag, &b_P_tr_flag); + fChain->SetBranchAddress("Ndata.P.tr.ndof", &Ndata_P_tr_ndof, &b_Ndata_P_tr_ndof); + fChain->SetBranchAddress("P.tr.ndof", P_tr_ndof, &b_P_tr_ndof); + fChain->SetBranchAddress("Ndata.P.tr.p", &Ndata_P_tr_p, &b_Ndata_P_tr_p); + fChain->SetBranchAddress("P.tr.p", P_tr_p, &b_P_tr_p); + fChain->SetBranchAddress("Ndata.P.tr.pathl", &Ndata_P_tr_pathl, &b_Ndata_P_tr_pathl); + fChain->SetBranchAddress("P.tr.pathl", P_tr_pathl, &b_P_tr_pathl); + fChain->SetBranchAddress("Ndata.P.tr.ph", &Ndata_P_tr_ph, &b_Ndata_P_tr_ph); + fChain->SetBranchAddress("P.tr.ph", P_tr_ph, &b_P_tr_ph); + fChain->SetBranchAddress("Ndata.P.tr.px", &Ndata_P_tr_px, &b_Ndata_P_tr_px); + fChain->SetBranchAddress("P.tr.px", P_tr_px, &b_P_tr_px); + fChain->SetBranchAddress("Ndata.P.tr.py", &Ndata_P_tr_py, &b_Ndata_P_tr_py); + fChain->SetBranchAddress("P.tr.py", P_tr_py, &b_P_tr_py); + fChain->SetBranchAddress("Ndata.P.tr.pz", &Ndata_P_tr_pz, &b_Ndata_P_tr_pz); + fChain->SetBranchAddress("P.tr.pz", P_tr_pz, &b_P_tr_pz); + fChain->SetBranchAddress("Ndata.P.tr.r_ph", &Ndata_P_tr_r_ph, &b_Ndata_P_tr_r_ph); + fChain->SetBranchAddress("P.tr.r_ph", P_tr_r_ph, &b_P_tr_r_ph); + fChain->SetBranchAddress("Ndata.P.tr.r_th", &Ndata_P_tr_r_th, &b_Ndata_P_tr_r_th); + fChain->SetBranchAddress("P.tr.r_th", P_tr_r_th, &b_P_tr_r_th); + fChain->SetBranchAddress("Ndata.P.tr.r_x", &Ndata_P_tr_r_x, &b_Ndata_P_tr_r_x); + fChain->SetBranchAddress("P.tr.r_x", P_tr_r_x, &b_P_tr_r_x); + fChain->SetBranchAddress("Ndata.P.tr.r_y", &Ndata_P_tr_r_y, &b_Ndata_P_tr_r_y); + fChain->SetBranchAddress("P.tr.r_y", P_tr_r_y, &b_P_tr_r_y); + fChain->SetBranchAddress("Ndata.P.tr.tg_dp", &Ndata_P_tr_tg_dp, &b_Ndata_P_tr_tg_dp); + fChain->SetBranchAddress("P.tr.tg_dp", P_tr_tg_dp, &b_P_tr_tg_dp); + fChain->SetBranchAddress("Ndata.P.tr.tg_ph", &Ndata_P_tr_tg_ph, &b_Ndata_P_tr_tg_ph); + fChain->SetBranchAddress("P.tr.tg_ph", P_tr_tg_ph, &b_P_tr_tg_ph); + fChain->SetBranchAddress("Ndata.P.tr.tg_th", &Ndata_P_tr_tg_th, &b_Ndata_P_tr_tg_th); + fChain->SetBranchAddress("P.tr.tg_th", P_tr_tg_th, &b_P_tr_tg_th); + fChain->SetBranchAddress("Ndata.P.tr.tg_y", &Ndata_P_tr_tg_y, &b_Ndata_P_tr_tg_y); + fChain->SetBranchAddress("P.tr.tg_y", P_tr_tg_y, &b_P_tr_tg_y); + fChain->SetBranchAddress("Ndata.P.tr.th", &Ndata_P_tr_th, &b_Ndata_P_tr_th); + fChain->SetBranchAddress("P.tr.th", P_tr_th, &b_P_tr_th); + fChain->SetBranchAddress("Ndata.P.tr.time", &Ndata_P_tr_time, &b_Ndata_P_tr_time); + fChain->SetBranchAddress("P.tr.time", P_tr_time, &b_P_tr_time); + fChain->SetBranchAddress("Ndata.P.tr.vx", &Ndata_P_tr_vx, &b_Ndata_P_tr_vx); + fChain->SetBranchAddress("P.tr.vx", P_tr_vx, &b_P_tr_vx); + fChain->SetBranchAddress("Ndata.P.tr.vy", &Ndata_P_tr_vy, &b_Ndata_P_tr_vy); + fChain->SetBranchAddress("P.tr.vy", P_tr_vy, &b_P_tr_vy); + fChain->SetBranchAddress("Ndata.P.tr.vz", &Ndata_P_tr_vz, &b_Ndata_P_tr_vz); + fChain->SetBranchAddress("P.tr.vz", P_tr_vz, &b_P_tr_vz); + fChain->SetBranchAddress("Ndata.P.tr.x", &Ndata_P_tr_x, &b_Ndata_P_tr_x); + fChain->SetBranchAddress("P.tr.x", P_tr_x, &b_P_tr_x); + fChain->SetBranchAddress("Ndata.P.tr.y", &Ndata_P_tr_y, &b_Ndata_P_tr_y); + fChain->SetBranchAddress("P.tr.y", P_tr_y, &b_P_tr_y); + fChain->SetBranchAddress("P.aero.negNpeSum", &P_aero_negNpeSum, &b_P_aero_negNpeSum); + fChain->SetBranchAddress("P.aero.npeSum", &P_aero_npeSum, &b_P_aero_npeSum); + fChain->SetBranchAddress("P.aero.posNpeSum", &P_aero_posNpeSum, &b_P_aero_posNpeSum); + fChain->SetBranchAddress("P.aero.totNumGoodNegAdcHits", &P_aero_totNumGoodNegAdcHits, &b_P_aero_totNumGoodNegAdcHits); + fChain->SetBranchAddress("P.aero.totNumGoodPosAdcHits", &P_aero_totNumGoodPosAdcHits, &b_P_aero_totNumGoodPosAdcHits); + fChain->SetBranchAddress("P.aero.totNumTracksFired", &P_aero_totNumTracksFired, &b_P_aero_totNumTracksFired); + fChain->SetBranchAddress("P.aero.totNumTracksMatched", &P_aero_totNumTracksMatched, &b_P_aero_totNumTracksMatched); + fChain->SetBranchAddress("P.aero.totnumGoodAdcHits", &P_aero_totnumGoodAdcHits, &b_P_aero_totnumGoodAdcHits); + fChain->SetBranchAddress("P.cal.etot", &P_cal_etot, &b_P_cal_etot); + fChain->SetBranchAddress("P.cal.etotnorm", &P_cal_etotnorm, &b_P_cal_etotnorm); + fChain->SetBranchAddress("P.cal.etrack", &P_cal_etrack, &b_P_cal_etrack); + fChain->SetBranchAddress("P.cal.etracknorm", &P_cal_etracknorm, &b_P_cal_etracknorm); + fChain->SetBranchAddress("P.cal.fly.earray", &P_cal_fly_earray, &b_P_cal_fly_earray); + fChain->SetBranchAddress("P.cal.fly.nclust", &P_cal_fly_nclust, &b_P_cal_fly_nclust); + fChain->SetBranchAddress("P.cal.fly.nghits", &P_cal_fly_nghits, &b_P_cal_fly_nghits); + fChain->SetBranchAddress("P.cal.fly.nhits", &P_cal_fly_nhits, &b_P_cal_fly_nhits); + fChain->SetBranchAddress("P.cal.fly.ntracks", &P_cal_fly_ntracks, &b_P_cal_fly_ntracks); + fChain->SetBranchAddress("P.cal.nblock_high_ene", &P_cal_nblock_high_ene, &b_P_cal_nblock_high_ene); + fChain->SetBranchAddress("P.cal.nclust", &P_cal_nclust, &b_P_cal_nclust); + fChain->SetBranchAddress("P.cal.nclustarraytrack", &P_cal_nclustarraytrack, &b_P_cal_nclustarraytrack); + fChain->SetBranchAddress("P.cal.nclusttrack", &P_cal_nclusttrack, &b_P_cal_nclusttrack); + fChain->SetBranchAddress("P.cal.nhits", &P_cal_nhits, &b_P_cal_nhits); + fChain->SetBranchAddress("P.cal.ntracks", &P_cal_ntracks, &b_P_cal_ntracks); + fChain->SetBranchAddress("P.cal.pr.eplane", &P_cal_pr_eplane, &b_P_cal_pr_eplane); + fChain->SetBranchAddress("P.cal.pr.eplane_neg", &P_cal_pr_eplane_neg, &b_P_cal_pr_eplane_neg); + fChain->SetBranchAddress("P.cal.pr.eplane_pos", &P_cal_pr_eplane_pos, &b_P_cal_pr_eplane_pos); + fChain->SetBranchAddress("P.cal.sizeclustarray", &P_cal_sizeclustarray, &b_P_cal_sizeclustarray); + fChain->SetBranchAddress("P.cal.xclustarraytrack", &P_cal_xclustarraytrack, &b_P_cal_xclustarraytrack); + fChain->SetBranchAddress("P.cal.xclusttrack", &P_cal_xclusttrack, &b_P_cal_xclusttrack); + fChain->SetBranchAddress("P.cal.xtrack", &P_cal_xtrack, &b_P_cal_xtrack); + fChain->SetBranchAddress("P.cal.xtrackarray", &P_cal_xtrackarray, &b_P_cal_xtrackarray); + fChain->SetBranchAddress("P.cal.yclustarraytrack", &P_cal_yclustarraytrack, &b_P_cal_yclustarraytrack); + fChain->SetBranchAddress("P.cal.yclusttrack", &P_cal_yclusttrack, &b_P_cal_yclusttrack); + fChain->SetBranchAddress("P.cal.ytrack", &P_cal_ytrack, &b_P_cal_ytrack); + fChain->SetBranchAddress("P.cal.ytrackarray", &P_cal_ytrackarray, &b_P_cal_ytrackarray); + fChain->SetBranchAddress("P.dc.1u1.nhit", &P_dc_1u1_nhit, &b_P_dc_1u1_nhit); + fChain->SetBranchAddress("P.dc.1u2.nhit", &P_dc_1u2_nhit, &b_P_dc_1u2_nhit); + fChain->SetBranchAddress("P.dc.1v1.nhit", &P_dc_1v1_nhit, &b_P_dc_1v1_nhit); + fChain->SetBranchAddress("P.dc.1v2.nhit", &P_dc_1v2_nhit, &b_P_dc_1v2_nhit); + fChain->SetBranchAddress("P.dc.1x1.nhit", &P_dc_1x1_nhit, &b_P_dc_1x1_nhit); + fChain->SetBranchAddress("P.dc.1x2.nhit", &P_dc_1x2_nhit, &b_P_dc_1x2_nhit); + fChain->SetBranchAddress("P.dc.2u1.nhit", &P_dc_2u1_nhit, &b_P_dc_2u1_nhit); + fChain->SetBranchAddress("P.dc.2u2.nhit", &P_dc_2u2_nhit, &b_P_dc_2u2_nhit); + fChain->SetBranchAddress("P.dc.2v1.nhit", &P_dc_2v1_nhit, &b_P_dc_2v1_nhit); + fChain->SetBranchAddress("P.dc.2v2.nhit", &P_dc_2v2_nhit, &b_P_dc_2v2_nhit); + fChain->SetBranchAddress("P.dc.2x1.nhit", &P_dc_2x1_nhit, &b_P_dc_2x1_nhit); + fChain->SetBranchAddress("P.dc.2x2.nhit", &P_dc_2x2_nhit, &b_P_dc_2x2_nhit); + fChain->SetBranchAddress("P.dc.Ch1.maxhits", &P_dc_Ch1_maxhits, &b_P_dc_Ch1_maxhits); + fChain->SetBranchAddress("P.dc.Ch1.nhit", &P_dc_Ch1_nhit, &b_P_dc_Ch1_nhit); + fChain->SetBranchAddress("P.dc.Ch1.spacepoints", &P_dc_Ch1_spacepoints, &b_P_dc_Ch1_spacepoints); + fChain->SetBranchAddress("P.dc.Ch1.trawhit", &P_dc_Ch1_trawhit, &b_P_dc_Ch1_trawhit); + fChain->SetBranchAddress("P.dc.Ch2.maxhits", &P_dc_Ch2_maxhits, &b_P_dc_Ch2_maxhits); + fChain->SetBranchAddress("P.dc.Ch2.nhit", &P_dc_Ch2_nhit, &b_P_dc_Ch2_nhit); + fChain->SetBranchAddress("P.dc.Ch2.spacepoints", &P_dc_Ch2_spacepoints, &b_P_dc_Ch2_spacepoints); + fChain->SetBranchAddress("P.dc.Ch2.trawhit", &P_dc_Ch2_trawhit, &b_P_dc_Ch2_trawhit); + fChain->SetBranchAddress("P.dc.nhit", &P_dc_nhit, &b_P_dc_nhit); + fChain->SetBranchAddress("P.dc.nsp", &P_dc_nsp, &b_P_dc_nsp); + fChain->SetBranchAddress("P.dc.ntrack", &P_dc_ntrack, &b_P_dc_ntrack); + fChain->SetBranchAddress("P.dc.stubtest", &P_dc_stubtest, &b_P_dc_stubtest); + fChain->SetBranchAddress("P.dc.tnhit", &P_dc_tnhit, &b_P_dc_tnhit); + fChain->SetBranchAddress("P.dc.trawhit", &P_dc_trawhit, &b_P_dc_trawhit); + fChain->SetBranchAddress("P.dc.x_fp", &P_dc_x_fp, &b_P_dc_x_fp); + fChain->SetBranchAddress("P.dc.xp_fp", &P_dc_xp_fp, &b_P_dc_xp_fp); + fChain->SetBranchAddress("P.dc.y_fp", &P_dc_y_fp, &b_P_dc_y_fp); + fChain->SetBranchAddress("P.dc.yp_fp", &P_dc_yp_fp, &b_P_dc_yp_fp); + fChain->SetBranchAddress("P.gtr.beta", &P_gtr_beta, &b_P_gtr_beta); + fChain->SetBranchAddress("P.gtr.dp", &P_gtr_dp, &b_P_gtr_dp); + fChain->SetBranchAddress("P.gtr.index", &P_gtr_index, &b_P_gtr_index); + fChain->SetBranchAddress("P.gtr.ok", &P_gtr_ok, &b_P_gtr_ok); + fChain->SetBranchAddress("P.gtr.p", &P_gtr_p, &b_P_gtr_p); + fChain->SetBranchAddress("P.gtr.ph", &P_gtr_ph, &b_P_gtr_ph); + fChain->SetBranchAddress("P.gtr.px", &P_gtr_px, &b_P_gtr_px); + fChain->SetBranchAddress("P.gtr.py", &P_gtr_py, &b_P_gtr_py); + fChain->SetBranchAddress("P.gtr.pz", &P_gtr_pz, &b_P_gtr_pz); + fChain->SetBranchAddress("P.gtr.th", &P_gtr_th, &b_P_gtr_th); + fChain->SetBranchAddress("P.gtr.x", &P_gtr_x, &b_P_gtr_x); + fChain->SetBranchAddress("P.gtr.y", &P_gtr_y, &b_P_gtr_y); + fChain->SetBranchAddress("P.hgcer.npeSum", &P_hgcer_npeSum, &b_P_hgcer_npeSum); + fChain->SetBranchAddress("P.hgcer.totNumGoodAdcHits", &P_hgcer_totNumGoodAdcHits, &b_P_hgcer_totNumGoodAdcHits); + fChain->SetBranchAddress("P.hgcer.totNumTracksFired", &P_hgcer_totNumTracksFired, &b_P_hgcer_totNumTracksFired); + fChain->SetBranchAddress("P.hgcer.totNumTracksMatched", &P_hgcer_totNumTracksMatched, &b_P_hgcer_totNumTracksMatched); + fChain->SetBranchAddress("P.hod.1x.fptime", &P_hod_1x_fptime, &b_P_hod_1x_fptime); + fChain->SetBranchAddress("P.hod.1x.ngoodhits", &P_hod_1x_ngoodhits, &b_P_hod_1x_ngoodhits); + fChain->SetBranchAddress("P.hod.1x.nhits", &P_hod_1x_nhits, &b_P_hod_1x_nhits); + fChain->SetBranchAddress("P.hod.1y.fptime", &P_hod_1y_fptime, &b_P_hod_1y_fptime); + fChain->SetBranchAddress("P.hod.1y.ngoodhits", &P_hod_1y_ngoodhits, &b_P_hod_1y_ngoodhits); + fChain->SetBranchAddress("P.hod.1y.nhits", &P_hod_1y_nhits, &b_P_hod_1y_nhits); + fChain->SetBranchAddress("P.hod.2x.fptime", &P_hod_2x_fptime, &b_P_hod_2x_fptime); + fChain->SetBranchAddress("P.hod.2x.ngoodhits", &P_hod_2x_ngoodhits, &b_P_hod_2x_ngoodhits); + fChain->SetBranchAddress("P.hod.2x.nhits", &P_hod_2x_nhits, &b_P_hod_2x_nhits); + fChain->SetBranchAddress("P.hod.2y.fptime", &P_hod_2y_fptime, &b_P_hod_2y_fptime); + fChain->SetBranchAddress("P.hod.2y.ngoodhits", &P_hod_2y_ngoodhits, &b_P_hod_2y_ngoodhits); + fChain->SetBranchAddress("P.hod.2y.nhits", &P_hod_2y_nhits, &b_P_hod_2y_nhits); + fChain->SetBranchAddress("P.hod.beta", &P_hod_beta, &b_P_hod_beta); + fChain->SetBranchAddress("P.hod.betachisqnotrack", &P_hod_betachisqnotrack, &b_P_hod_betachisqnotrack); + fChain->SetBranchAddress("P.hod.betanotrack", &P_hod_betanotrack, &b_P_hod_betanotrack); + fChain->SetBranchAddress("P.hod.fpHitsTime", &P_hod_fpHitsTime, &b_P_hod_fpHitsTime); + fChain->SetBranchAddress("P.hod.goodscinhit", &P_hod_goodscinhit, &b_P_hod_goodscinhit); + fChain->SetBranchAddress("P.hod.goodstarttime", &P_hod_goodstarttime, &b_P_hod_goodstarttime); + fChain->SetBranchAddress("P.hod.starttime", &P_hod_starttime, &b_P_hod_starttime); + fChain->SetBranchAddress("P.ngcer.npeSum", &P_ngcer_npeSum, &b_P_ngcer_npeSum); + fChain->SetBranchAddress("P.ngcer.totNumGoodAdcHits", &P_ngcer_totNumGoodAdcHits, &b_P_ngcer_totNumGoodAdcHits); + fChain->SetBranchAddress("P.ngcer.totNumTracksFired", &P_ngcer_totNumTracksFired, &b_P_ngcer_totNumTracksFired); + fChain->SetBranchAddress("P.ngcer.totNumTracksMatched", &P_ngcer_totNumTracksMatched, &b_P_ngcer_totNumTracksMatched); + fChain->SetBranchAddress("P.tr.n", &P_tr_n, &b_P_tr_n); + fChain->SetBranchAddress("T.shms.p1T_tdcMultiplicity", &T_shms_p1T_tdcMultiplicity, &b_T_shms_p1T_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p1T_tdcTime", &T_shms_p1T_tdcTime, &b_T_shms_p1T_tdcTime); + fChain->SetBranchAddress("T.shms.p1T_tdcTimeRaw", &T_shms_p1T_tdcTimeRaw, &b_T_shms_p1T_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p1X_tdcMultiplicity", &T_shms_p1X_tdcMultiplicity, &b_T_shms_p1X_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p1X_tdcTime", &T_shms_p1X_tdcTime, &b_T_shms_p1X_tdcTime); + fChain->SetBranchAddress("T.shms.p1X_tdcTimeRaw", &T_shms_p1X_tdcTimeRaw, &b_T_shms_p1X_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p1Y_tdcMultiplicity", &T_shms_p1Y_tdcMultiplicity, &b_T_shms_p1Y_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p1Y_tdcTime", &T_shms_p1Y_tdcTime, &b_T_shms_p1Y_tdcTime); + fChain->SetBranchAddress("T.shms.p1Y_tdcTimeRaw", &T_shms_p1Y_tdcTimeRaw, &b_T_shms_p1Y_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p2T_tdcMultiplicity", &T_shms_p2T_tdcMultiplicity, &b_T_shms_p2T_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p2T_tdcTime", &T_shms_p2T_tdcTime, &b_T_shms_p2T_tdcTime); + fChain->SetBranchAddress("T.shms.p2T_tdcTimeRaw", &T_shms_p2T_tdcTimeRaw, &b_T_shms_p2T_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p2X_tdcMultiplicity", &T_shms_p2X_tdcMultiplicity, &b_T_shms_p2X_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p2X_tdcTime", &T_shms_p2X_tdcTime, &b_T_shms_p2X_tdcTime); + fChain->SetBranchAddress("T.shms.p2X_tdcTimeRaw", &T_shms_p2X_tdcTimeRaw, &b_T_shms_p2X_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.p2Y_tdcMultiplicity", &T_shms_p2Y_tdcMultiplicity, &b_T_shms_p2Y_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.p2Y_tdcTime", &T_shms_p2Y_tdcTime, &b_T_shms_p2Y_tdcTime); + fChain->SetBranchAddress("T.shms.p2Y_tdcTimeRaw", &T_shms_p2Y_tdcTimeRaw, &b_T_shms_p2Y_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_adcMultiplicity", &T_shms_pAERSUM_adcMultiplicity, &b_T_shms_pAERSUM_adcMultiplicity); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPed", &T_shms_pAERSUM_adcPed, &b_T_shms_pAERSUM_adcPed); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPedRaw", &T_shms_pAERSUM_adcPedRaw, &b_T_shms_pAERSUM_adcPedRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseAmp", &T_shms_pAERSUM_adcPulseAmp, &b_T_shms_pAERSUM_adcPulseAmp); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseAmpRaw", &T_shms_pAERSUM_adcPulseAmpRaw, &b_T_shms_pAERSUM_adcPulseAmpRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseInt", &T_shms_pAERSUM_adcPulseInt, &b_T_shms_pAERSUM_adcPulseInt); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseIntRaw", &T_shms_pAERSUM_adcPulseIntRaw, &b_T_shms_pAERSUM_adcPulseIntRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_adcPulseTimeRaw", &T_shms_pAERSUM_adcPulseTimeRaw, &b_T_shms_pAERSUM_adcPulseTimeRaw); + fChain->SetBranchAddress("T.shms.pAERSUM_tdcMultiplicity", &T_shms_pAERSUM_tdcMultiplicity, &b_T_shms_pAERSUM_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pAERSUM_tdcTime", &T_shms_pAERSUM_tdcTime, &b_T_shms_pAERSUM_tdcTime); + fChain->SetBranchAddress("T.shms.pAERSUM_tdcTimeRaw", &T_shms_pAERSUM_tdcTimeRaw, &b_T_shms_pAERSUM_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF10_tdcMultiplicity", &T_shms_pDCREF10_tdcMultiplicity, &b_T_shms_pDCREF10_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF10_tdcTime", &T_shms_pDCREF10_tdcTime, &b_T_shms_pDCREF10_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF10_tdcTimeRaw", &T_shms_pDCREF10_tdcTimeRaw, &b_T_shms_pDCREF10_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF1_tdcMultiplicity", &T_shms_pDCREF1_tdcMultiplicity, &b_T_shms_pDCREF1_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF1_tdcTime", &T_shms_pDCREF1_tdcTime, &b_T_shms_pDCREF1_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF1_tdcTimeRaw", &T_shms_pDCREF1_tdcTimeRaw, &b_T_shms_pDCREF1_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF2_tdcMultiplicity", &T_shms_pDCREF2_tdcMultiplicity, &b_T_shms_pDCREF2_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF2_tdcTime", &T_shms_pDCREF2_tdcTime, &b_T_shms_pDCREF2_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF2_tdcTimeRaw", &T_shms_pDCREF2_tdcTimeRaw, &b_T_shms_pDCREF2_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF3_tdcMultiplicity", &T_shms_pDCREF3_tdcMultiplicity, &b_T_shms_pDCREF3_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF3_tdcTime", &T_shms_pDCREF3_tdcTime, &b_T_shms_pDCREF3_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF3_tdcTimeRaw", &T_shms_pDCREF3_tdcTimeRaw, &b_T_shms_pDCREF3_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF4_tdcMultiplicity", &T_shms_pDCREF4_tdcMultiplicity, &b_T_shms_pDCREF4_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF4_tdcTime", &T_shms_pDCREF4_tdcTime, &b_T_shms_pDCREF4_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF4_tdcTimeRaw", &T_shms_pDCREF4_tdcTimeRaw, &b_T_shms_pDCREF4_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF5_tdcMultiplicity", &T_shms_pDCREF5_tdcMultiplicity, &b_T_shms_pDCREF5_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF5_tdcTime", &T_shms_pDCREF5_tdcTime, &b_T_shms_pDCREF5_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF5_tdcTimeRaw", &T_shms_pDCREF5_tdcTimeRaw, &b_T_shms_pDCREF5_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF6_tdcMultiplicity", &T_shms_pDCREF6_tdcMultiplicity, &b_T_shms_pDCREF6_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF6_tdcTime", &T_shms_pDCREF6_tdcTime, &b_T_shms_pDCREF6_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF6_tdcTimeRaw", &T_shms_pDCREF6_tdcTimeRaw, &b_T_shms_pDCREF6_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF7_tdcMultiplicity", &T_shms_pDCREF7_tdcMultiplicity, &b_T_shms_pDCREF7_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF7_tdcTime", &T_shms_pDCREF7_tdcTime, &b_T_shms_pDCREF7_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF7_tdcTimeRaw", &T_shms_pDCREF7_tdcTimeRaw, &b_T_shms_pDCREF7_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF8_tdcMultiplicity", &T_shms_pDCREF8_tdcMultiplicity, &b_T_shms_pDCREF8_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF8_tdcTime", &T_shms_pDCREF8_tdcTime, &b_T_shms_pDCREF8_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF8_tdcTimeRaw", &T_shms_pDCREF8_tdcTimeRaw, &b_T_shms_pDCREF8_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pDCREF9_tdcMultiplicity", &T_shms_pDCREF9_tdcMultiplicity, &b_T_shms_pDCREF9_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pDCREF9_tdcTime", &T_shms_pDCREF9_tdcTime, &b_T_shms_pDCREF9_tdcTime); + fChain->SetBranchAddress("T.shms.pDCREF9_tdcTimeRaw", &T_shms_pDCREF9_tdcTimeRaw, &b_T_shms_pDCREF9_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcMultiplicity", &T_shms_pHGCSUM_adcMultiplicity, &b_T_shms_pHGCSUM_adcMultiplicity); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPed", &T_shms_pHGCSUM_adcPed, &b_T_shms_pHGCSUM_adcPed); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPedRaw", &T_shms_pHGCSUM_adcPedRaw, &b_T_shms_pHGCSUM_adcPedRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseAmp", &T_shms_pHGCSUM_adcPulseAmp, &b_T_shms_pHGCSUM_adcPulseAmp); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseAmpRaw", &T_shms_pHGCSUM_adcPulseAmpRaw, &b_T_shms_pHGCSUM_adcPulseAmpRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseInt", &T_shms_pHGCSUM_adcPulseInt, &b_T_shms_pHGCSUM_adcPulseInt); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseIntRaw", &T_shms_pHGCSUM_adcPulseIntRaw, &b_T_shms_pHGCSUM_adcPulseIntRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_adcPulseTimeRaw", &T_shms_pHGCSUM_adcPulseTimeRaw, &b_T_shms_pHGCSUM_adcPulseTimeRaw); + fChain->SetBranchAddress("T.shms.pHGCSUM_tdcMultiplicity", &T_shms_pHGCSUM_tdcMultiplicity, &b_T_shms_pHGCSUM_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pHGCSUM_tdcTime", &T_shms_pHGCSUM_tdcTime, &b_T_shms_pHGCSUM_tdcTime); + fChain->SetBranchAddress("T.shms.pHGCSUM_tdcTimeRaw", &T_shms_pHGCSUM_tdcTimeRaw, &b_T_shms_pHGCSUM_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcMultiplicity", &T_shms_pNGCSUM_adcMultiplicity, &b_T_shms_pNGCSUM_adcMultiplicity); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPed", &T_shms_pNGCSUM_adcPed, &b_T_shms_pNGCSUM_adcPed); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPedRaw", &T_shms_pNGCSUM_adcPedRaw, &b_T_shms_pNGCSUM_adcPedRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseAmp", &T_shms_pNGCSUM_adcPulseAmp, &b_T_shms_pNGCSUM_adcPulseAmp); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseAmpRaw", &T_shms_pNGCSUM_adcPulseAmpRaw, &b_T_shms_pNGCSUM_adcPulseAmpRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseInt", &T_shms_pNGCSUM_adcPulseInt, &b_T_shms_pNGCSUM_adcPulseInt); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseIntRaw", &T_shms_pNGCSUM_adcPulseIntRaw, &b_T_shms_pNGCSUM_adcPulseIntRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_adcPulseTimeRaw", &T_shms_pNGCSUM_adcPulseTimeRaw, &b_T_shms_pNGCSUM_adcPulseTimeRaw); + fChain->SetBranchAddress("T.shms.pNGCSUM_tdcMultiplicity", &T_shms_pNGCSUM_tdcMultiplicity, &b_T_shms_pNGCSUM_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pNGCSUM_tdcTime", &T_shms_pNGCSUM_tdcTime, &b_T_shms_pNGCSUM_tdcTime); + fChain->SetBranchAddress("T.shms.pNGCSUM_tdcTimeRaw", &T_shms_pNGCSUM_tdcTimeRaw, &b_T_shms_pNGCSUM_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pT1_tdcMultiplicity", &T_shms_pT1_tdcMultiplicity, &b_T_shms_pT1_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pT1_tdcTime", &T_shms_pT1_tdcTime, &b_T_shms_pT1_tdcTime); + fChain->SetBranchAddress("T.shms.pT1_tdcTimeRaw", &T_shms_pT1_tdcTimeRaw, &b_T_shms_pT1_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pT2_tdcMultiplicity", &T_shms_pT2_tdcMultiplicity, &b_T_shms_pT2_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pT2_tdcTime", &T_shms_pT2_tdcTime, &b_T_shms_pT2_tdcTime); + fChain->SetBranchAddress("T.shms.pT2_tdcTimeRaw", &T_shms_pT2_tdcTimeRaw, &b_T_shms_pT2_tdcTimeRaw); + fChain->SetBranchAddress("T.shms.pT3_tdcMultiplicity", &T_shms_pT3_tdcMultiplicity, &b_T_shms_pT3_tdcMultiplicity); + fChain->SetBranchAddress("T.shms.pT3_tdcTime", &T_shms_pT3_tdcTime, &b_T_shms_pT3_tdcTime); + fChain->SetBranchAddress("T.shms.pT3_tdcTimeRaw", &T_shms_pT3_tdcTimeRaw, &b_T_shms_pT3_tdcTimeRaw); + fChain->SetBranchAddress("fEvtHdr.fEvtTime", &fEvtHdr_fEvtTime, &b_Event_Branch_fEvtHdr_fEvtTime); + fChain->SetBranchAddress("fEvtHdr.fEvtNum", &fEvtHdr_fEvtNum, &b_Event_Branch_fEvtHdr_fEvtNum); + fChain->SetBranchAddress("fEvtHdr.fEvtType", &fEvtHdr_fEvtType, &b_Event_Branch_fEvtHdr_fEvtType); + fChain->SetBranchAddress("fEvtHdr.fEvtLen", &fEvtHdr_fEvtLen, &b_Event_Branch_fEvtHdr_fEvtLen); + fChain->SetBranchAddress("fEvtHdr.fHelicity", &fEvtHdr_fHelicity, &b_Event_Branch_fEvtHdr_fHelicity); + fChain->SetBranchAddress("fEvtHdr.fTargetPol", &fEvtHdr_fTargetPol, &b_Event_Branch_fEvtHdr_fTargetPol); + fChain->SetBranchAddress("fEvtHdr.fRun", &fEvtHdr_fRun, &b_Event_Branch_fEvtHdr_fRun); +} + +Bool_t efficiencies::Notify() +{ + // The Notify() function is called when a new file is opened. This + // can be either for a new TTree in a TChain or when when a new TTree + // is started when using PROOF. It is normally not necessary to make changes + // to the generated code, but the routine can be extended by the + // user if needed. The return value is currently not used. + + return kTRUE; +} + +#endif // #ifdef efficiencies_cxx diff --git a/CALIBRATION/shms_hgcer_calib/root_files/.gitkeep b/CALIBRATION/shms_hgcer_calib/root_files/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/CALIBRATION/shms_hgcer_calib/run_calibration.C b/CALIBRATION/shms_hgcer_calib/run_calibration.C deleted file mode 100644 index a216f1f352a0b96547281c294a0d004b036b1609..0000000000000000000000000000000000000000 --- a/CALIBRATION/shms_hgcer_calib/run_calibration.C +++ /dev/null @@ -1,53 +0,0 @@ -//Script to run over all SHMS HGCER calibration scripts ar once and update the necessary parameter files - -void run_calibration() -{ - - //User Input Run - Int_t run_NUM; - cout << "Enter run number: "; - cin >> run_NUM; - - Int_t events_NUM; - cout << "Enter number of events: "; - cin >> events_NUM; - - //Create root and data file directories if they don't exist - gROOT->ProcessLine(".! mkdir root_files"); - gROOT->ProcessLine(".! mkdir data_files"); - - //Execute histogram creator & cutting script - gROOT->ProcessLine(Form(".x scripts/analysis.C(%d, %d)", run_NUM, events_NUM)); - - //cout << "I got here!" << endl; - - //Take those histograms and determine the calibration constants - gROOT->ProcessLine(Form(".x scripts/calib_const.C(%d, %d)", run_NUM, events_NUM)); - - //Take calibration constants and put into parameter file - ofstream output; - output.open(Form("data_files/phgcer.param.%d",run_NUM),ios::out); - output << "; Calibration constants for run" << run_NUM << endl; - output << endl; - - Double_t run_constants[4]; - cout << "To choose correct calibration constant, verify which plot is more linear." << endl; - cout << "Gain constant for PMT1: "; - cin >> run_constants[0]; - cout << endl << "Gain constant for PMT2: "; - cin >> run_constants[1]; - cout << endl << "Gain constant for PMT3: "; - cin >> run_constants[2]; - cout << endl << "Gain constant for PMT4: "; - cin >> run_constants[3]; - - output << "phgcer_gain_calib =" << setw(3) << setprecision(3) << run_constants[0] << "," << endl; - for (Int_t i=1; i < 4; i++) - { - output << setw(22) << setprecision(3) << run_constants[i] << ","; - output << endl; - } - - output.close(); - cout << "Something went wrong? Consult the README!" << endl; -} diff --git a/CALIBRATION/shms_hgcer_calib/scripts/Calibration_Visualization.C b/CALIBRATION/shms_hgcer_calib/scripts/Calibration_Visualization.C deleted file mode 100644 index 4c92a36f92daf351a683cf0ecb4eec6c35199411..0000000000000000000000000000000000000000 --- a/CALIBRATION/shms_hgcer_calib/scripts/Calibration_Visualization.C +++ /dev/null @@ -1,358 +0,0 @@ -//Note: to use this script the calibration constants need to be entered manually - - -void Calibration_Visualization(Int_t RunNumber=0, Int_t EventNumber=-1) -{ - if (RunNumber == 0) - { - cout << "Enter a Run Number (-1 to exit): "; - cin >> RunNumber; - if (RunNumber <= 0) return; - cout << "Enter number of events: "; - cin >> EventNumber; - } - TFile *F = new TFile(Form("../root_files/shms_calibration_%d_%d.root", RunNumber, EventNumber)); - //Enter Calibration constants here - Double_t xscale[4] = {541.092, 432.955, 377.598, 488.450}; - - TH1F *hgc_e[4][4]; //[quadrant][pmt] - TH1F *hgc_e_npe[4][4]; - TH1F *hgc_pi[4][4]; - TH1F *hgc_pi_npe[4][4]; - - for (Int_t i=0; i<4; i++) - { - for (Int_t j=0; j<4; j++) - { - hgc_e[i][j] = (TH1F*)F->Get(Form("phgc_quad%d_pulseInt_e%d", i+1, j+1)); - hgc_e[i][j]->Rebin(10); - hgc_e_npe[i][j] = new TH1F(Form("hgc_e_npe_quad%d_e%d", i+1, j+1), "Diagonal NPE with electron cut", hgc_e[i][j]->GetXaxis()->GetNbins(), hgc_e[i][j]->GetXaxis()->GetXmin()/xscale[i], hgc_e[i][j]->GetXaxis()->GetXmax()/xscale[i]); - hgc_pi[i][j] = (TH1F*)F->Get(Form("phgc_quad%d_pulseInt_pi%d", i+1, j+1)); - hgc_pi[i][j]->Rebin(10); - hgc_pi_npe[i][j] = new TH1F(Form("hgc_pi_npe_quad%d_pi%d", i+1, j+1), "Diagonal NPE with pion cut", hgc_pi[i][j]->GetXaxis()->GetNbins(), hgc_pi[i][j]->GetXaxis()->GetXmin()/xscale[i], hgc_pi[i][j]->GetXaxis()->GetXmax()/xscale[i]); - for (Int_t l=0; l<hgc_e[i][j]->GetXaxis()->GetNbins(); l++) - { - Double_t y_e = hgc_e[i][j]->GetBinContent(l); - Double_t y_pi = hgc_pi[i][j]->GetBinContent(l); - hgc_e_npe[i][j]->SetBinContent(l,y_e); - hgc_pi_npe[i][j]->SetBinContent(l,y_pi); - } - } - } - TList *od_e1 = new TList; - od_e1->Add(hgc_e[1][0]), od_e1->Add(hgc_e[2][0]), od_e1->Add(hgc_e[3][0]); - TList *od_e2 = new TList; - od_e2->Add(hgc_e[0][1]), od_e2->Add(hgc_e[2][1]), od_e2->Add(hgc_e[3][1]); - TList *od_e3 = new TList; - od_e3->Add(hgc_e[0][2]), od_e3->Add(hgc_e[3][2]), od_e3->Add(hgc_e[1][2]); - TList *od_e4 = new TList; - od_e4->Add(hgc_e[1][3]), od_e4->Add(hgc_e[2][3]), od_e4->Add(hgc_e[0][3]); - TList *od_pi1 = new TList; - od_pi1->Add(hgc_pi[1][0]), od_pi1->Add(hgc_pi[2][0]), od_pi1->Add(hgc_pi[3][0]); - TList *od_pi2 = new TList; - od_pi2->Add(hgc_pi[0][1]), od_pi2->Add(hgc_pi[2][1]), od_pi2->Add(hgc_pi[3][1]); - TList *od_pi3 = new TList; - od_pi3->Add(hgc_pi[0][2]), od_pi3->Add(hgc_pi[3][2]), od_pi3->Add(hgc_pi[1][2]); - TList *od_pi4 = new TList; - od_pi4->Add(hgc_pi[1][3]), od_pi4->Add(hgc_pi[2][3]), od_pi4->Add(hgc_pi[0][3]); - TList *all_e1 = new TList; - all_e1->Add(hgc_e[0][0]), all_e1->Add(hgc_e[1][0]), all_e1->Add(hgc_e[2][0]), all_e1->Add(hgc_e[3][0]); - TList *all_e2 = new TList; - all_e2->Add(hgc_e[0][1]), all_e2->Add(hgc_e[1][1]), all_e2->Add(hgc_e[2][1]), all_e2->Add(hgc_e[3][1]); - TList *all_e3 = new TList; - all_e3->Add(hgc_e[0][2]), all_e3->Add(hgc_e[1][2]), all_e3->Add(hgc_e[2][2]), all_e3->Add(hgc_e[3][2]); - TList *all_e4 = new TList; - all_e4->Add(hgc_e[0][3]), all_e4->Add(hgc_e[1][3]), all_e4->Add(hgc_e[2][3]), all_e4->Add(hgc_e[3][3]); - TList *all_pi1 = new TList; - all_pi1->Add(hgc_pi[0][0]), all_pi1->Add(hgc_pi[1][0]), all_pi1->Add(hgc_pi[2][0]), all_pi1->Add(hgc_pi[3][0]); - TList *all_pi2 = new TList; - all_pi2->Add(hgc_pi[0][1]), all_pi2->Add(hgc_pi[1][1]), all_pi2->Add(hgc_pi[2][1]), all_pi2->Add(hgc_pi[3][1]); - TList *all_pi3 = new TList; - all_pi3->Add(hgc_pi[0][2]), all_pi3->Add(hgc_pi[1][2]), all_pi3->Add(hgc_pi[2][2]), all_pi3->Add(hgc_pi[3][2]); - TList *all_pi4 = new TList; - all_pi4->Add(hgc_pi[0][3]), all_pi4->Add(hgc_pi[1][3]), all_pi4->Add(hgc_pi[2][3]), all_pi4->Add(hgc_pi[3][3]); - - TList *full = new TList; - for (Int_t i=0; i<4; i++) - { - for (Int_t j=0; j<4; j++) - { - full->Add(hgc_e[i][j]), full->Add(hgc_pi[i][j]); - } - } - - TH1F *offd_e1 = (TH1F*)hgc_e[0][0]->Clone("offd_e1"); - offd_e1->Reset(); - offd_e1->Merge(od_e1); - - TH1F *offd_e2 = (TH1F*)hgc_e[0][1]->Clone("offd_e2"); - offd_e2->Reset(); - offd_e2->Merge(od_e2); - - TH1F *offd_e3 = (TH1F*)hgc_e[0][2]->Clone("offd_e3"); - offd_e3->Reset(); - offd_e3->Merge(od_e3); - - TH1F *offd_e4 = (TH1F*)hgc_e[0][3]->Clone("offd_e4"); - offd_e4->Reset(); - offd_e4->Merge(od_e4); - - TH1F *alld_e1 = (TH1F*)hgc_e[0][0]->Clone("alld_e1"); - alld_e1->Reset(); - alld_e1->Merge(all_e1); - - TH1F *alld_e2 = (TH1F*)hgc_e[0][1]->Clone("alld_e2"); - alld_e2->Reset(); - alld_e2->Merge(all_e2); - - TH1F *alld_e3 = (TH1F*)hgc_e[0][2]->Clone("alld_e3"); - alld_e3->Reset(); - alld_e3->Merge(all_e3); - - TH1F *alld_e4 = (TH1F*)hgc_e[0][3]->Clone("alld_e4"); - alld_e4->Reset(); - alld_e4->Merge(all_e4); - - TH1F *offd_pi1 = (TH1F*)hgc_pi[0][0]->Clone("offd_pi1"); - offd_pi1->Reset(); - offd_pi1->Merge(od_pi1); - - TH1F *offd_pi2 = (TH1F*)hgc_pi[0][1]->Clone("offd_pi2"); - offd_pi2->Reset(); - offd_pi2->Merge(od_pi2); - - TH1F *offd_pi3 = (TH1F*)hgc_pi[0][2]->Clone("offd_pi3"); - offd_pi3->Reset(); - offd_pi3->Merge(od_pi3); - - TH1F *offd_pi4 = (TH1F*)hgc_pi[0][3]->Clone("offd_pi4"); - offd_pi4->Reset(); - offd_pi4->Merge(od_pi4); - - TH1F *alld_pi1 = (TH1F*)hgc_pi[0][0]->Clone("alld_pi1"); - alld_pi1->Reset(); - alld_pi1->Merge(all_pi1); - - TH1F *alld_pi2 = (TH1F*)hgc_pi[0][1]->Clone("alld_pi2"); - alld_pi2->Reset(); - alld_pi2->Merge(all_pi2); - - TH1F *alld_pi3 = (TH1F*)hgc_pi[0][2]->Clone("alld_pi3"); - alld_pi3->Reset(); - alld_pi3->Merge(all_pi3); - - TH1F *alld_pi4 = (TH1F*)hgc_pi[0][3]->Clone("alld_pi4"); - alld_pi4->Reset(); - alld_pi4->Merge(all_pi4); - - TH1F *alld_full = (TH1F*)hgc_e[0][0]->Clone("alld_full"); - alld_full->Reset(); - alld_full->Merge(full); - - TH1F *offd_e1_npe, *offd_pi1_npe; - TH1F *offd_e2_npe, *offd_pi2_npe; - TH1F *offd_e3_npe, *offd_pi3_npe; - TH1F *offd_e4_npe, *offd_pi4_npe; - - offd_e1_npe = new TH1F("offd_e1_npe", "Sum of Off Diagonal electrons", offd_e1->GetXaxis()->GetNbins(), offd_e1->GetXaxis()->GetXmin()/xscale[0], offd_e1->GetXaxis()->GetXmax()/xscale[0]); - - offd_e2_npe = new TH1F("offd_e2_npe", "Sum of Off Diagonal PMT2", offd_e2->GetXaxis()->GetNbins(), offd_e2->GetXaxis()->GetXmin()/xscale[1], offd_e2->GetXaxis()->GetXmax()/xscale[1]); - - offd_e3_npe = new TH1F("offd_e3_npe", "Sum of Off Diagonal PMT3", offd_e3->GetXaxis()->GetNbins(), offd_e3->GetXaxis()->GetXmin()/xscale[2], offd_e3->GetXaxis()->GetXmax()/xscale[2]); - - offd_e4_npe = new TH1F("offd_e4_npe", "Sum of Off Diagonal PMT4", offd_e4->GetXaxis()->GetNbins(), offd_e4->GetXaxis()->GetXmin()/xscale[3], offd_e4->GetXaxis()->GetXmax()/xscale[3]); - - offd_pi1_npe = new TH1F("offd_pi1_npe", "Sum of Off Diagonal pions", offd_pi1->GetXaxis()->GetNbins(), offd_pi1->GetXaxis()->GetXmin()/xscale[0], offd_pi1->GetXaxis()->GetXmax()/xscale[0]); - - offd_pi2_npe = new TH1F("offd_pi2_npe", "Sum of Off Diagonal PMT2", offd_pi2->GetXaxis()->GetNbins(), offd_pi2->GetXaxis()->GetXmin()/xscale[1], offd_pi2->GetXaxis()->GetXmax()/xscale[1]); - - offd_pi3_npe = new TH1F("offd_pi3_npe", "Sum of Off Diagonal PMT3", offd_pi3->GetXaxis()->GetNbins(), offd_pi3->GetXaxis()->GetXmin()/xscale[2], offd_pi3->GetXaxis()->GetXmax()/xscale[2]); - - offd_pi4_npe = new TH1F("offd_pi4_npe", "Sum of Off Diagonal PMT4", offd_pi4->GetXaxis()->GetNbins(), offd_pi4->GetXaxis()->GetXmin()/xscale[3], offd_pi4->GetXaxis()->GetXmax()/xscale[3]); - - - for (Int_t l=0; l < offd_e1->GetXaxis()->GetNbins(); l++) - { - Double_t y_e_1 = offd_e1->GetBinContent(l); - Double_t y_e_2 = offd_e2->GetBinContent(l); - Double_t y_e_3 = offd_e3->GetBinContent(l); - Double_t y_e_4 = offd_e4->GetBinContent(l); - Double_t y_pi_1 = offd_pi1->GetBinContent(l); - Double_t y_pi_2 = offd_pi2->GetBinContent(l); - Double_t y_pi_3 = offd_pi3->GetBinContent(l); - Double_t y_pi_4 = offd_pi4->GetBinContent(l); - offd_e1_npe->SetBinContent(l,y_e_1); - offd_e2_npe->SetBinContent(l,y_e_2); - offd_e3_npe->SetBinContent(l,y_e_3); - offd_e4_npe->SetBinContent(l,y_e_4); - offd_pi1_npe->SetBinContent(l,y_pi_1); - offd_pi2_npe->SetBinContent(l,y_pi_2); - offd_pi3_npe->SetBinContent(l,y_pi_3); - offd_pi4_npe->SetBinContent(l,y_pi_4); - } - - TH1F *alld_e1_npe, *alld_pi1_npe; - TH1F *alld_e2_npe, *alld_pi2_npe; - TH1F *alld_e3_npe, *alld_pi3_npe; - TH1F *alld_e4_npe, *alld_pi4_npe; - - alld_e1_npe = new TH1F("alld_e1_npe", "Sum of All electrons", alld_e1->GetXaxis()->GetNbins(), alld_e1->GetXaxis()->GetXmin()/xscale[0], alld_e1->GetXaxis()->GetXmax()/xscale[0]); - - alld_e2_npe = new TH1F("alld_e2_npe", "Sum of All Diagonal PMT2", alld_e2->GetXaxis()->GetNbins(), alld_e2->GetXaxis()->GetXmin()/xscale[1], alld_e2->GetXaxis()->GetXmax()/xscale[1]); - - alld_e3_npe = new TH1F("alld_e3_npe", "Sum of All Diagonal PMT3", alld_e3->GetXaxis()->GetNbins(), alld_e3->GetXaxis()->GetXmin()/xscale[2], alld_e3->GetXaxis()->GetXmax()/xscale[2]); - - alld_e4_npe = new TH1F("alld_e4_npe", "Sum of All Diagonal PMT4", alld_e4->GetXaxis()->GetNbins(), alld_e4->GetXaxis()->GetXmin()/xscale[3], alld_e4->GetXaxis()->GetXmax()/xscale[3]); - - alld_pi1_npe = new TH1F("alld_pi1_npe", "Sum of All pions", alld_pi1->GetXaxis()->GetNbins(), alld_pi1->GetXaxis()->GetXmin()/xscale[0], alld_pi1->GetXaxis()->GetXmax()/xscale[0]); - - alld_pi2_npe = new TH1F("alld_pi2_npe", "Sum of All Diagonal PMT2", alld_pi2->GetXaxis()->GetNbins(), alld_pi2->GetXaxis()->GetXmin()/xscale[1], alld_pi2->GetXaxis()->GetXmax()/xscale[1]); - - alld_pi3_npe = new TH1F("alld_pi3_npe", "Sum of All Diagonal PMT3", alld_pi3->GetXaxis()->GetNbins(), alld_pi3->GetXaxis()->GetXmin()/xscale[2], alld_pi3->GetXaxis()->GetXmax()/xscale[2]); - - alld_pi4_npe = new TH1F("alld_pi4_npe", "Sum of All Diagonal PMT4", alld_pi4->GetXaxis()->GetNbins(), alld_pi4->GetXaxis()->GetXmin()/xscale[3], alld_pi4->GetXaxis()->GetXmax()/xscale[3]); - - - for (Int_t l=0; l < alld_e1->GetXaxis()->GetNbins(); l++) - { - Double_t y_e_1 = alld_e1->GetBinContent(l); - Double_t y_e_2 = alld_e2->GetBinContent(l); - Double_t y_e_3 = alld_e3->GetBinContent(l); - Double_t y_e_4 = alld_e4->GetBinContent(l); - Double_t y_pi_1 = alld_pi1->GetBinContent(l); - Double_t y_pi_2 = alld_pi2->GetBinContent(l); - Double_t y_pi_3 = alld_pi3->GetBinContent(l); - Double_t y_pi_4 = alld_pi4->GetBinContent(l); - alld_e1_npe->SetBinContent(l,y_e_1); - alld_e2_npe->SetBinContent(l,y_e_2); - alld_e3_npe->SetBinContent(l,y_e_3); - alld_e4_npe->SetBinContent(l,y_e_4); - alld_pi1_npe->SetBinContent(l,y_pi_1); - alld_pi2_npe->SetBinContent(l,y_pi_2); - alld_pi3_npe->SetBinContent(l,y_pi_3); - alld_pi4_npe->SetBinContent(l,y_pi_4); - } - - TCanvas *one = new TCanvas("one", "NPE for electrons and pions in diagonal only"); - one->Divide(2,1); - one->cd(1); - hgc_e_npe[0][0]->SetLineColor(2); - hgc_e_npe[1][1]->SetLineColor(1); - hgc_e_npe[2][2]->SetLineColor(4); - hgc_e_npe[3][3]->SetLineColor(8); - - hgc_e_npe[0][0]->GetYaxis()->SetRangeUser(0,2000); - hgc_e_npe[0][0]->Draw(); - hgc_e_npe[1][1]->Draw("same"); - hgc_e_npe[2][2]->Draw("same"); - hgc_e_npe[3][3]->Draw("same"); - - auto legend1 = new TLegend(0.5,0.7,0.7,0.9); - legend1->AddEntry("hgc_e_npe_quad1_e1","PMT 1","ep"); - legend1->AddEntry("hgc_e_npe_quad2_e2","PMT 2","ep"); - legend1->AddEntry("hgc_e_npe_quad3_e3","PMT 3","ep"); - legend1->AddEntry("hgc_e_npe_quad4_e4","PMT 4","ep"); - legend1->Draw(); - gPad->Modified(); - - one->cd(2); - hgc_pi_npe[0][0]->SetLineColor(2); - hgc_pi_npe[1][1]->SetLineColor(1); - hgc_pi_npe[2][2]->SetLineColor(4); - hgc_pi_npe[3][3]->SetLineColor(8); - - hgc_pi_npe[0][0]->GetYaxis()->SetRangeUser(0,2000); - hgc_pi_npe[0][0]->Draw(); - hgc_pi_npe[1][1]->Draw("same"); - hgc_pi_npe[2][2]->Draw("same"); - hgc_pi_npe[3][3]->Draw("same"); - - auto legend2 = new TLegend(0.5,0.7,0.7,0.9); - legend2->AddEntry("hgc_pi_npe_quad1_pi1","PMT 1","ep"); - legend2->AddEntry("hgc_pi_npe_quad2_pi2","PMT 2","ep"); - legend2->AddEntry("hgc_pi_npe_quad3_pi3","PMT 3","ep"); - legend2->AddEntry("hgc_pi_npe_quad4_pi4","PMT 4","ep"); - legend2->Draw(); - gPad->Modified(); - - TCanvas *diagonal = new TCanvas("diagonal","NPE for electrons and pions off diagonals"); - diagonal->Divide(2,1); - diagonal->cd(1); - offd_e1_npe->SetLineColor(2); - offd_e2_npe->SetLineColor(1); - offd_e3_npe->SetLineColor(4); - offd_e4_npe->SetLineColor(8); - - offd_e1_npe->Draw(); - offd_e2_npe->Draw("same"); - offd_e3_npe->Draw("same"); - offd_e4_npe->Draw("same"); - - auto legend3 = new TLegend(0.5,0.7,0.7,0.9); - legend3->AddEntry("offd_e1_npe","PMT 1","ep"); - legend3->AddEntry("offd_e2_npe","PMT 2","ep"); - legend3->AddEntry("offd_e3_npe","PMT 3","ep"); - legend3->AddEntry("offd_e4_npe","PMT 4","ep"); - legend3->Draw(); - gPad->Modified(); - - diagonal->cd(2); - offd_pi1_npe->SetLineColor(2); - offd_pi2_npe->SetLineColor(1); - offd_pi3_npe->SetLineColor(4); - offd_pi4_npe->SetLineColor(8); - - offd_pi1_npe->Draw(); - offd_pi2_npe->Draw("same"); - offd_pi3_npe->Draw("same"); - offd_pi4_npe->Draw("same"); - - auto legend4 = new TLegend(0.5,0.7,0.7,0.9); - legend4->AddEntry("offd_pi1_npe","PMT 1","ep"); - legend4->AddEntry("offd_pi2_npe","PMT 2","ep"); - legend4->AddEntry("offd_pi3_npe","PMT 3","ep"); - legend4->AddEntry("offd_pi4_npe","PMT 4","ep"); - legend4->Draw(); - gPad->Modified(); - - TCanvas *all = new TCanvas("all","NPE for electrons and pions everything"); - all->Divide(2,1); - all->cd(1); - alld_e1_npe->SetLineColor(2); - alld_e2_npe->SetLineColor(1); - alld_e3_npe->SetLineColor(4); - alld_e4_npe->SetLineColor(8); - - alld_e1_npe->Draw(); - alld_e2_npe->Draw("same"); - alld_e3_npe->Draw("same"); - alld_e4_npe->Draw("same"); - - auto legend5 = new TLegend(0.5,0.7,0.7,0.9); - legend5->AddEntry("alld_e1_npe","PMT 1","ep"); - legend5->AddEntry("alld_e2_npe","PMT 2","ep"); - legend5->AddEntry("alld_e3_npe","PMT 3","ep"); - legend5->AddEntry("alld_e4_npe","PMT 4","ep"); - legend5->Draw(); - gPad->Modified(); - - all->cd(2); - alld_pi1_npe->SetLineColor(2); - alld_pi2_npe->SetLineColor(1); - alld_pi3_npe->SetLineColor(4); - alld_pi4_npe->SetLineColor(8); - - alld_pi1_npe->Draw(); - alld_pi2_npe->Draw("same"); - alld_pi3_npe->Draw("same"); - alld_pi4_npe->Draw("same"); - - auto legend6 = new TLegend(0.5,0.7,0.7,0.9); - legend6->AddEntry("alld_pi1_npe","PMT 1","ep"); - legend6->AddEntry("alld_pi2_npe","PMT 2","ep"); - legend6->AddEntry("alld_pi3_npe","PMT 3","ep"); - legend6->AddEntry("alld_pi4_npe","PMT 4","ep"); - legend6->Draw(); - gPad->Modified(); - -} diff --git a/CALIBRATION/shms_hgcer_calib/scripts/Constants.dat b/CALIBRATION/shms_hgcer_calib/scripts/Constants.dat deleted file mode 100644 index 2fc091d745a334fc065117f6b6929f4cd78513a4..0000000000000000000000000000000000000000 --- a/CALIBRATION/shms_hgcer_calib/scripts/Constants.dat +++ /dev/null @@ -1,23 +0,0 @@ -#Template of data entries -#Voltage PMT# Calibration_constant -#2100 1 559 -2347 1 551.595 -2347 1 546.364 -2347 1 556.326 -2300 1 454.735 -2200 1 273.575 -2087 2 426.382 -2087 2 430.011 -2087 2 436.321 -2090 2 447.212 -2100 2 460.617 -2015 3 376.590 -2015 3 376.207 -2015 3 383.599 -2030 3 409.983 -2100 3 582.385 -2158 4 488.450 -2158 4 477.550 -2158 4 496.105 -2175 4 547.152 -2100 4 378.169 diff --git a/CALIBRATION/shms_hgcer_calib/scripts/analysis.C b/CALIBRATION/shms_hgcer_calib/scripts/analysis.C deleted file mode 100755 index 14b4ee6ece6f279d05bc8aea924814956480224b..0000000000000000000000000000000000000000 --- a/CALIBRATION/shms_hgcer_calib/scripts/analysis.C +++ /dev/null @@ -1,2343 +0,0 @@ -/* -Description of...everything - -***Abbreviations*** -PMT -- Photo-Multiplier Tube -HODO -- Hodoscopes -NGC -- Nobel Gas Cherenkov -HGC -- Heavy Gas Cherenkov -DC -- Drift Chambers -SHWR -- Shower Counter -PSHWR -- Pre-Shower Counter -hist -- Histogram - -***Constants*** -clk2tdc -- Conversion from channel to ns for TDC (in trigger) -clk2adc -- Conversion from channel to ns for FADC -ndcRefTimes -- Drift Chamber Reference Times - -nbars -- Number of paddles in HODO - -maxTDCHits -- Depreciated -maxAdcHits -- Depreciated - -bins -- # of bins for the hist -adc_min -- lower range for hist -adc_max -- upper range for hist - -nhgc_z -- location of HGC focal plane downstream -nhgc_pmts -- # of PMTs in HGC - -nshwr_blks -- # of blocks in the Shower -npos_pshwr_blks -- # of positive blocks in the PreShower -nneg_pshwr_blks -- # of negative blocks in the PreShower - -pshwr_neg_adc2Gev -- Converting SHWR channel into Energy (GeV) - -hgc_adc2npe -- Converting HGC channel into photo-electrons - -maxNUMTracks -- Number of viable tracks through SHMS, should only be 1 - -***Variables*** -phgc_hits -- Comes from NData...need to figure this one out -phgc_pmt -- Which HGC PMT detected event -phgc_pulseTimeRaw -- Two modes coarse and fine: coarse is the FADC time that the pulse passed threshold (not corrected), fine is the FADC time of 50% of max (time-walk corrected) (using fine) -phgc_pulseInt -- Integral of ADC waveform -phgc_pulseAmp -- Maximum amplitude of ADC waveform !!There is a ceiling on this value; if only 1-2 samples are above threshold this value will be 0.0 - */ - -//Main Script -void analysis(Int_t RunNumber=0, Int_t EventNumber=-1) -{ - if (RunNumber == 0) - { - cout << "Enter a Run Number (-1 to exit): "; - cin >> RunNumber; - cout << "Enter number of events: "; - cin >> EventNumber; - if (RunNumber <= 0) return; - } - - //Read Appropriate ROOT file - TFile *F = new TFile(Form("../../ROOTfiles/shms_replay_%d_%d.root", RunNumber, EventNumber)); - - //Output Histograms - TFile *g = new TFile(Form("root_files/shms_calibration_%d_%d.root", RunNumber, EventNumber), "RECREATE"); - - //Function to separate e and pi in shwr vs NGC - //TF1 *shwr_ngc_id = new TF1("shwr_ngc_id","-[0]*x + [1]",-5000,12000); - //shwr_ngc_id->SetParameters(0,6); - //shwr_ngc_id->SetParameters(0.002,14); - - TF1 *shwr_ngc_id = new TF1("shwr_ngc_id","[0]/(x + [1]) + [2]",2000,12000); - shwr_ngc_id->SetParameters(1000,-2000,4); - - //Function to separate e and pi in shwr vs HGC - TF1 *shwr_hgc_id = new TF1("shwr_hgc_id", "[0]*pow(x,2) + [1]*x + [2]", -10, 20); - shwr_hgc_id->SetParameters(0.12,-1.2,6.0); - - //Declare constants...but note it's better to pull these quantities from parameter files? - - const Double_t clk2tdc = 0.100; - const Double_t clk2adc = 0.0625; - const UInt_t ndcRefTimes = 10; - - const UInt_t nbars_1x = 13; - const UInt_t nbars_1y = 13; - const UInt_t nbars_2x = 14; - const UInt_t nbars_2y = 21; - - const UInt_t maxTdcHits = 128; - const UInt_t maxAdcHits = 4; - - const UInt_t bins = 560; - const UInt_t adc_min = -1000; - const UInt_t adc_max = 7000; - - const Float_t nhgc_z = 156.27; - const UInt_t nhgc_pmts = 4; - - const Float_t nngc_z = -50.00; - const UInt_t nngc_pmts = 4; - - const UInt_t npos_aero_pmts = 7; - const UInt_t nneg_aero_pmts = 7; - - const UInt_t nshwr_blks = 224; - const UInt_t npos_pshwr_blks = 14; - const UInt_t nneg_pshwr_blks = 14; - - //Converting the ADC signal in preShower/Shower to GeV - const Double_t pshwr_neg_adc2GeV[nneg_pshwr_blks] = {1.0/466.2, 1.0/514.7, 1.0/325.5, 1.0/247.8, - 1.0/322.0, 1.0/176.2, 1.0/161.9, 1.0/197.7, - 1.0/269.9, 1.0/241.6, 1.0/193.7, 1.0/337.5, - 1.0/237.3, 1.0/82.0}; - - const Double_t pshwr_pos_adc2GeV[npos_pshwr_blks] = {1.0/411.2, 1.0/378.6, 1.0/357.9, 1.0/254.8, - 1.0/315.6, 1.0/331.0, 1.0/264.6, 1.0/305.4, - 1.0/149.8, 1.0/380.6, 1.0/183.1, 1.0/206.5, - 1.0/139.8, 1.0/163.1}; - - const Double_t shwr_adc2GeV = 0.0005; - - //Converting the ADC signal in detectors to NPE - const Double_t hgc_adcInt2npe_pulseInt[nhgc_pmts] = {1./541.092, 1./432.955, 1./377.598, 1./488.450}; - const Double_t ngc_adc2npe[nngc_pmts] = {1.0/500., 1.0/500., 1.0/500., 1.0/500.}; - const Double_t aero_neg_adc2npe[nneg_aero_pmts] = {1./586.8, 1./536.5, 1./690.5, 1./563.1, - 1./574.4, 1./432.7, 1./601.5}; - const Double_t aero_pos_adc2npe[npos_aero_pmts] = {1./496.7, 1./467.5, 1./554.3, 1./766.1, - 1./412.1, 1./517.9, 1./435.6}; - - const UInt_t maxNumTracks = 10; - - - - //Declare variables - - //Drift Chamber Times - - Double_t p1X_tdcTime, p1Y_tdcTime, p2X_tdcTime, p2Y_tdcTime; - Double_t p1T_tdcTime, p2T_tdcTime; - Double_t pT1_tdcTime, pT2_tdcTime, pT3_tdcTime; - Double_t pDCREF_tdcTime[ndcRefTimes]; - - //Hodoscope Hits - - Int_t p1X_negAdcHits, p1Y_negAdcHits, p2X_negAdcHits, p2Y_negAdcHits; - Int_t p1X_negTdcHits, p1Y_negTdcHits, p2X_negTdcHits, p2Y_negTdcHits; - Double_t p1X_negAdcPaddle[maxAdcHits*nbars_1x], p1Y_negAdcPaddle[maxAdcHits*nbars_1y]; - Double_t p2X_negAdcPaddle[maxAdcHits*nbars_2x], p2Y_negAdcPaddle[maxAdcHits*nbars_2y]; - Double_t p1X_negTdcPaddle[maxTdcHits*nbars_1x], p1Y_negTdcPaddle[maxTdcHits*nbars_1y]; - Double_t p2X_negTdcPaddle[maxTdcHits*nbars_2x], p2Y_negTdcPaddle[maxTdcHits*nbars_2y]; - Double_t p1X_negAdcPulseTime[maxAdcHits*nbars_1x], p1Y_negAdcPulseTime[maxAdcHits*nbars_1y]; - Double_t p2X_negAdcPulseTime[maxAdcHits*nbars_2x], p2Y_negAdcPulseTime[maxAdcHits*nbars_2y]; - Double_t p1X_negTdcTime[maxTdcHits*nbars_1x], p1Y_negTdcTime[maxTdcHits*nbars_1y]; - Double_t p2X_negTdcTime[maxTdcHits*nbars_2x], p2Y_negTdcTime[maxTdcHits*nbars_2y]; - Int_t p1X_posAdcHits, p1Y_posAdcHits, p2X_posAdcHits, p2Y_posAdcHits; - Int_t p1X_posTdcHits, p1Y_posTdcHits, p2X_posTdcHits, p2Y_posTdcHits; - Double_t p1X_posAdcPaddle[maxAdcHits*nbars_1x], p1Y_posAdcPaddle[maxAdcHits*nbars_1y]; - Double_t p2X_posAdcPaddle[maxAdcHits*nbars_2x], p2Y_posAdcPaddle[maxAdcHits*nbars_2y]; - Double_t p1X_posTdcPaddle[maxTdcHits*nbars_1x], p1Y_posTdcPaddle[maxTdcHits*nbars_1y]; - Double_t p2X_posTdcPaddle[maxTdcHits*nbars_2x], p2Y_posTdcPaddle[maxTdcHits*nbars_2y]; - Double_t p1X_posAdcPulseTime[maxAdcHits*nbars_1x], p1Y_posAdcPulseTime[maxAdcHits*nbars_1y]; - Double_t p2X_posAdcPulseTime[maxAdcHits*nbars_2x], p2Y_posAdcPulseTime[maxAdcHits*nbars_2y]; - Double_t p1X_posTdcTime[maxTdcHits*nbars_1x], p1Y_posTdcTime[maxTdcHits*nbars_1y]; - Double_t p2X_posTdcTime[maxTdcHits*nbars_2x], p2Y_posTdcTime[maxTdcHits*nbars_2y]; - - //"Good" Hodo Hits - Int_t p1X_nGoodHodoHits, p1Y_nGoodHodoHits, p2X_nGoodHodoHits, p2Y_nGoodHodoHits; - Double_t p1X_goodPaddle[maxAdcHits*nbars_1x], p1Y_goodPaddle[maxAdcHits*nbars_1y]; - Double_t p2X_goodPaddle[maxAdcHits*nbars_2x], p2Y_goodPaddle[maxAdcHits*nbars_2y]; - Double_t p1X_goodNegTdcTimeCorr[maxTdcHits*nbars_1x], p1Y_goodNegTdcTimeCorr[maxTdcHits*nbars_1y]; - Double_t p2X_goodNegTdcTimeCorr[maxTdcHits*nbars_2x], p2Y_goodNegTdcTimeCorr[maxTdcHits*nbars_2y]; - Double_t p1X_goodPosTdcTimeCorr[maxTdcHits*nbars_1x], p1Y_goodPosTdcTimeCorr[maxTdcHits*nbars_1y]; - Double_t p2X_goodPosTdcTimeCorr[maxTdcHits*nbars_2x], p2Y_goodPosTdcTimeCorr[maxTdcHits*nbars_2y]; - - //Hodoscope Focal Plane Times - Double_t p1X_fpTime, p1Y_fpTime, p2X_fpTime, p2Y_fpTime; - Double_t p1X_plTime, p1Y_plTime, p2X_plTime, p2Y_plTime; - Double_t phod_starttime; - - - //Aerogel ADC - Int_t paero_posHits, paero_negHits; - Double_t paero_posPmt[maxAdcHits*npos_aero_pmts], paero_negPmt[maxAdcHits*nneg_aero_pmts]; - Double_t paero_posPulseTime[maxAdcHits*npos_aero_pmts], paero_negPulseTime[maxAdcHits*nneg_aero_pmts]; - Double_t paero_posPulseInt[maxAdcHits*npos_aero_pmts], paero_negPulseInt[maxAdcHits*nneg_aero_pmts]; - - //HGC ADC - Int_t phgc_hits; - Double_t phgc_pmt[nhgc_pmts]; - Double_t phgc_pulseTimeRaw[nhgc_pmts]; //changed from maxAdcHits*nhgc_pmts to nhgc_pmts with the new GoodAdcPulse hcana change -- Ryan Ambrose May 15 - Double_t phgc_pulseAmp[nhgc_pmts]; - Double_t phgc_pulseInt[nhgc_pmts]; - - //NGC ADC - Int_t pngc_hits; - Double_t pngc_pmt[nngc_pmts]; - Double_t pngc_pulseTimeRaw[nngc_pmts]; - Double_t pngc_pulseAmp[nngc_pmts]; - Double_t pngc_pulseInt[nngc_pmts]; - - //Pre-Shower ADC - Int_t ppshwr_posHits, ppshwr_negHits; - Double_t ppshwr_posPmt[maxAdcHits*npos_pshwr_blks], ppshwr_negPmt[maxAdcHits*nneg_pshwr_blks]; - Double_t ppshwr_posPulseTime[maxAdcHits*npos_pshwr_blks], ppshwr_negPulseTime[maxAdcHits*nneg_pshwr_blks]; - Double_t ppshwr_posPulseInt[maxAdcHits*npos_pshwr_blks], ppshwr_negPulseInt[maxAdcHits*nneg_pshwr_blks]; - - //Shower ADC - Int_t pshwr_hits; - Double_t pshwr_pmt[maxAdcHits*nshwr_blks], pshwr_pulseTimeRaw[maxAdcHits*nshwr_blks]; - Double_t pshwr_pulseInt[maxAdcHits*nshwr_blks]; - - //Tracking Information - Int_t ntracks; - Double_t trk_pmag[maxNumTracks]; - Double_t trk_beta[maxNumTracks]; - Double_t trk_x[maxNumTracks]; - Double_t trk_theta[maxNumTracks]; - Double_t trk_y[maxNumTracks]; - Double_t trk_phi[maxNumTracks]; - - - Long64_t nentries; - - - //Declare Histos - - //Drift Chamber - TH1F *h_p1X_tdc, *h_p1Y_tdc, *h_p2X_tdc, *h_p2Y_tdc; - TH1F *h_p1T_tdc, *h_p2T_tdc; - TH1F *h_pT1_tdc, *h_pT2_tdc, *h_pT3_tdc; - TH1F *h_p1XmpT2_tdc, *h_p1YmpT2_tdc, *h_p2XmpT2_tdc, *h_p2YmpT2_tdc; - TH1F *h_p1XmpT3_tdc, *h_p1YmpT3_tdc, *h_p2XmpT3_tdc, *h_p2YmpT3_tdc; - TH1F *h_p1TmpT2_tdc, *h_p2TmpT2_tdc, *h_p1TmpT3_tdc, *h_p2TmpT3_tdc; - TH1F *h_pDCREF_tdc[ndcRefTimes]; - - TH2F *h2_p1Xneg_pt_tt_diff, *h2_p1Yneg_pt_tt_diff, *h2_p2Xneg_pt_tt_diff, *h2_p2Yneg_pt_tt_diff; - TH2F *h2_p1Xpos_pt_tt_diff, *h2_p1Ypos_pt_tt_diff, *h2_p2Xpos_pt_tt_diff, *h2_p2Ypos_pt_tt_diff; - - TH1F *h_p1X_fpTime, *h_p1Y_fpTime, *h_p2X_fpTime, *h_p2Y_fpTime; - TH1F *h_p1X_plTime, *h_p1Y_plTime, *h_p2X_plTime, *h_p2Y_plTime; - - TH2F *h2_p1X_negTdcCorr, *h2_p1Y_negTdcCorr, *h2_p2X_negTdcCorr, *h2_p2Y_negTdcCorr; - TH2F *h2_p1X_posTdcCorr, *h2_p1Y_posTdcCorr, *h2_p2X_posTdcCorr, *h2_p2Y_posTdcCorr; - TH2F *h2_p1X_tdcCorrDiff, *h2_p1Y_tdcCorrDiff, *h2_p2X_tdcCorrDiff, *h2_p2Y_tdcCorrDiff; - - //Aerogel - TH2F *h2_paero_posPulseTime_pT1_diff, *h2_paero_negPulseTime_pT1_diff; - TH2F *h2_paero_posPulseTime_pT2_diff, *h2_paero_negPulseTime_pT2_diff; - TH2F *h2_paero_posPulseTime_pT3_diff, *h2_paero_negPulseTime_pT3_diff; - TH1F *h_paero_PulseInt; - - //HGC - TH1F *h_TEST; - - TH1F *h_phgc_adcPulseInt[4]; - TH1F *h_phgc_adcPulseTimeRaw[4]; - TH1F *h_phgc_adcPulseAmp[4]; - - TH1F *h_phgc_adcPulseAmpSum; - TH1F *h_phgc_adcPulseIntSum; - TH1F *h_phgc_adcPulseIntSum_e; - TH1F *h_phgc_adcPulseIntSum_pi; - - TH2F *h2_phgc_hodstarttime_pulseTime[4]; - - TH1F *h_phgc_adcPulseTimeCorr_T1[4]; - TH1F *h_phgc_adcPulseTimeCorr_T2[4]; - TH1F *h_phgc_adcPulseTimeCorr_T3[4]; - - TH2F *h2_phgc_adcInt_TimeRaw[4]; - TH2F *h2_phgc_adcAmp_TimeRaw[4]; - - TH2F *h2_phgc_pulseTime_pT1_pmt; - TH2F *h2_phgc_pulseTime_pT2_pmt; - TH2F *h2_phgc_pulseTime_pT3_pmt; - - TH2F *h2_phgc_pulseTime_pT1_diff; - TH2F *h2_phgc_pulseTime_pT2_diff; - TH2F *h2_phgc_pulseTime_pT3_diff; - - TH2F *h2_phgc_adcInt_T1[4]; - TH2F *h2_phgc_adcInt_T2[4]; - TH2F *h2_phgc_adcInt_T3[4]; - - TH2F *h2_phgc_pulseInt_pT1[4]; - TH2F *h2_phgc_pulseInt_pT2[4]; - TH2F *h2_phgc_pulseInt_pT3[4]; - - TH2F *h2_phgc_TimeWalk_T1[4]; - TH2F *h2_phgc_TimeWalk_T2[4]; - TH2F *h2_phgc_TimeWalk_T3[4]; - - TH2F *h2_phgc_adcInt_TimeRaw_pi[4]; - TH2F *h2_phgc_adcInt_TimeRaw_e[4]; - - TH1F *h_phgc_pulseAmp_10[4]; - TH1F *h_phgc_pulseAmp_no10[4]; - TH1F *h_phgc_pulseAmp_20[4]; - TH1F *h_phgc_pulseAmp_no20[4]; - TH1F *h_phgc_pulseAmp_30[4]; - TH1F *h_phgc_pulseAmp_no30[4]; - TH1F *h_phgc_pulseAmp_40[4]; - TH1F *h_phgc_pulseAmp_no40[4]; - TH1F *h_phgc_pulseAmp_50[4]; - TH1F *h_phgc_pulseAmp_no50[4]; - TH1F *h_phgc_pulseAmp_60[4]; - TH1F *h_phgc_pulseAmp_no60[4]; - TH1F *h_phgc_pulseAmp_70[4]; - TH1F *h_phgc_pulseAmp_no70[4]; - - TH1F *h_phgc_quad1_pulseInt_e[4]; - TH1F *h_phgc_quad1_pulseInt_pi[4]; - TH1F *h_phgc_quad1_pulseInt_sum[4]; - - TH1F *h_phgc_quad2_pulseInt_e[4]; - TH1F *h_phgc_quad2_pulseInt_pi[4]; - TH1F *h_phgc_quad2_pulseInt_sum[4]; - - TH1F *h_phgc_quad3_pulseInt_e[4]; - TH1F *h_phgc_quad3_pulseInt_pi[4]; - TH1F *h_phgc_quad3_pulseInt_sum[4]; - - TH1F *h_phgc_quad4_pulseInt_e[4]; - TH1F *h_phgc_quad4_pulseInt_pi[4]; - TH1F *h_phgc_quad4_pulseInt_sum[4]; - - TH1F *h_phgc_quad1_pulseAmp_e[4]; - TH1F *h_phgc_quad1_pulseAmp_pi[4]; - TH1F *h_phgc_quad1_pulseAmp_sum[4]; - - TH1F *h_phgc_quad2_pulseAmp_e[4]; - TH1F *h_phgc_quad2_pulseAmp_pi[4]; - TH1F *h_phgc_quad2_pulseAmp_sum[4]; - - TH1F *h_phgc_quad3_pulseAmp_e[4]; - TH1F *h_phgc_quad3_pulseAmp_pi[4]; - TH1F *h_phgc_quad3_pulseAmp_sum[4]; - - TH1F *h_phgc_quad4_pulseAmp_e[4]; - TH1F *h_phgc_quad4_pulseAmp_pi[4]; - TH1F *h_phgc_quad4_pulseAmp_sum[4]; - - TH1F *h_phgc_pulseInt_npe[4]; - TH1F *h_phgc_npesum; - - //PreShower & Shower - TH1F *h_ppshwr_PulseInt; - TH1F *h_pshwr_PulseInt; - - TH2F *h2_ppshwr_posPulseTime_pT1_diff, *h2_ppshwr_negPulseTime_pT1_diff; - TH2F *h2_ppshwr_posPulseTime_pT2_diff, *h2_ppshwr_negPulseTime_pT2_diff; - TH2F *h2_ppshwr_posPulseTime_pT3_diff, *h2_ppshwr_negPulseTime_pT3_diff; - - TH2F *h2_pshwr_pulseTime_pT1_diff; - TH2F *h2_pshwr_pulseTime_pT2_diff; - TH2F *h2_pshwr_pulseTime_pT3_diff; - - //NGC - TH1F *h_pngc_adcPulseInt_sum; - - TH1F *h_pngc_adcPulseInt[4]; - TH1F *h_pngc_adcPulseTimeRaw[4]; - TH1F *h_pngc_adcPulseAmp[4]; - - TH2F *h2_pngc_pulseTime_pT1_diff; - TH2F *h2_pngc_pulseTime_pT2_diff; - TH2F *h2_pngc_pulseTime_pT3_diff; - - TH1F *h_pngc_quad1_pulseInt_e[4]; - TH1F *h_pngc_quad1_pulseInt_pi[4]; - TH1F *h_pngc_quad1_pulseInt_sum[4]; - - TH1F *h_pngc_quad2_pulseInt_e[4]; - TH1F *h_pngc_quad2_pulseInt_pi[4]; - TH1F *h_pngc_quad2_pulseInt_sum[4]; - - TH1F *h_pngc_quad3_pulseInt_e[4]; - TH1F *h_pngc_quad3_pulseInt_pi[4]; - TH1F *h_pngc_quad3_pulseInt_sum[4]; - - TH1F *h_pngc_quad4_pulseInt_e[4]; - TH1F *h_pngc_quad4_pulseInt_pi[4]; - TH1F *h_pngc_quad4_pulseInt_sum[4]; - - TH1F *h_pngc_quad1_pulseAmp_e[4]; - TH1F *h_pngc_quad1_pulseAmp_pi[4]; - TH1F *h_pngc_quad1_pulseAmp_sum[4]; - - TH1F *h_pngc_quad2_pulseAmp_e[4]; - TH1F *h_pngc_quad2_pulseAmp_pi[4]; - TH1F *h_pngc_quad2_pulseAmp_sum[4]; - - TH1F *h_pngc_quad3_pulseAmp_e[4]; - TH1F *h_pngc_quad3_pulseAmp_pi[4]; - TH1F *h_pngc_quad3_pulseAmp_sum[4]; - - TH1F *h_pngc_quad4_pulseAmp_e[4]; - TH1F *h_pngc_quad4_pulseAmp_pi[4]; - TH1F *h_pngc_quad4_pulseAmp_sum[4]; - - //Tracking Information - TH2F *h2_ptrk_fp; - TH2F *h2_ptrk_fp_e; - TH2F *h2_ptrk_fp_pi; - - TH2F *h2_ptrk_ngc_sum; - TH2F *h2_ptrk_ngc_sum_noped; - TH2F *h2_ptrk_ngc_sum_ped; - - TH2F *h2_ptrk_hgc_e; - TH2F *h2_ptrk_hgc_pi; - TH2F *h2_ptrk_hgc_sum; - TH2F *h2_ptrk_hgc[4]; - TH2F *h2_ptrk_hgc_adcAmp[4]; - - TH3F *h3_ptrk_hgc_adcInt2NPE[4]; - TH3F *h3_ptrk_hgc_adcInt2NPE_e[4]; - TH3F *h3_ptrk_hgc_adcInt2NPE_pi[4]; - TH3F *h3_ptrk_hgc_adcAmp2NPE[4]; - TH3F *h3_ptrk_hgc_adcInt2NPE_full; - TH3F *h3_ptrk_hgc_adcInt2NPE_full_e; - TH3F *h3_ptrk_hgc_adcInt2NPE_full_pi; - - TH1F *h_ptrk_beta; - - //Between Detectors - TH2F *h2_pshwr_vs_phgcer; - TH2F *h2_pshwr_vs_pngc; - TH2F *h2_pshwr_vs_ppshwr; - - TH2F *h2_pshwr_vs_pngc_ecut; - TH2F *h2_pshwr_vs_pngc_picut; - TH2F *h2_pshwr_vs_pngc_ecut_pmt[4]; - TH2F *h2_pshwr_vs_pngc_picut_pmt[4]; - TH2F *h2_pshwr_vs_phgc_ecut; - TH2F *h2_pshwr_vs_phgc_picut; - - TH2F *h2_pshwr_vs_pngc_latetcut[4]; - TH2F *h2_pshwr_vs_pngc_earlytcut[4]; - - - TH1F *h_phgc_ecut_shwr[4]; - TH1F *h_phgc_picut_shwr[4]; - - TH2F *h2_EdivP_vs_P; - - - //Declare tree - TTree *T = (TTree*)F->Get("T"); - nentries = T->GetEntries(); - - - //Aquire the branches - //Trigger Time Information - T->SetBranchAddress("T.shms.p1X_tdcTime", &p1X_tdcTime); - T->SetBranchAddress("T.shms.p1Y_tdcTime", &p1Y_tdcTime); - T->SetBranchAddress("T.shms.p2X_tdcTime", &p2X_tdcTime); - T->SetBranchAddress("T.shms.p2Y_tdcTime", &p2Y_tdcTime); - T->SetBranchAddress("T.shms.p1T_tdcTime", &p1T_tdcTime); - T->SetBranchAddress("T.shms.p2T_tdcTime", &p2T_tdcTime); - T->SetBranchAddress("T.shms.pT1_tdcTime", &pT1_tdcTime); - T->SetBranchAddress("T.shms.pT2_tdcTime", &pT2_tdcTime); - T->SetBranchAddress("T.shms.pT3_tdcTime", &pT3_tdcTime); - - //DC Refernce Times - for (UInt_t iref = 0; iref < ndcRefTimes; iref++) - T->SetBranchAddress(Form("T.shms.pDCREF%d_tdcTime", iref+1), &pDCREF_tdcTime[iref]); - - //Hodoscope Focal Plane Time Calculation - T->SetBranchAddress("P.hod.1x.fptime", &p1X_fpTime); - T->SetBranchAddress("P.hod.1y.fptime", &p1Y_fpTime); - T->SetBranchAddress("P.hod.2x.fptime", &p2X_fpTime); - T->SetBranchAddress("P.hod.2y.fptime", &p2Y_fpTime); - - //Hodoscope ADC Information - T->SetBranchAddress("Ndata.P.hod.1x.negAdcCounter", &p1X_negAdcHits); - T->SetBranchAddress("Ndata.P.hod.1y.negAdcCounter", &p1Y_negAdcHits); - T->SetBranchAddress("Ndata.P.hod.2x.negAdcCounter", &p2X_negAdcHits); - T->SetBranchAddress("Ndata.P.hod.2y.negAdcCounter", &p2Y_negAdcHits); - T->SetBranchAddress("P.hod.1x.negAdcCounter", p1X_negAdcPaddle); - T->SetBranchAddress("P.hod.1y.negAdcCounter", p1Y_negAdcPaddle); - T->SetBranchAddress("P.hod.2x.negAdcCounter", p2X_negAdcPaddle); - T->SetBranchAddress("P.hod.2y.negAdcCounter", p2Y_negAdcPaddle); - T->SetBranchAddress("P.hod.1x.negAdcPulseTimeRaw", p1X_negAdcPulseTime); - T->SetBranchAddress("P.hod.1y.negAdcPulseTimeRaw", p1Y_negAdcPulseTime); - T->SetBranchAddress("P.hod.2x.negAdcPulseTimeRaw", p2X_negAdcPulseTime); - T->SetBranchAddress("P.hod.2y.negAdcPulseTimeRaw", p2Y_negAdcPulseTime); - T->SetBranchAddress("Ndata.P.hod.1x.posAdcCounter", &p1X_posAdcHits); - T->SetBranchAddress("Ndata.P.hod.1y.posAdcCounter", &p1Y_posAdcHits); - T->SetBranchAddress("Ndata.P.hod.2x.posAdcCounter", &p2X_posAdcHits); - T->SetBranchAddress("Ndata.P.hod.2y.posAdcCounter", &p2Y_posAdcHits); - T->SetBranchAddress("P.hod.1x.posAdcCounter", p1X_posAdcPaddle); - T->SetBranchAddress("P.hod.1y.posAdcCounter", p1Y_posAdcPaddle); - T->SetBranchAddress("P.hod.2x.posAdcCounter", p2X_posAdcPaddle); - T->SetBranchAddress("P.hod.2y.posAdcCounter", p2Y_posAdcPaddle); - T->SetBranchAddress("P.hod.1x.posAdcPulseTimeRaw", p1X_posAdcPulseTime); - T->SetBranchAddress("P.hod.1y.posAdcPulseTimeRaw", p1Y_posAdcPulseTime); - T->SetBranchAddress("P.hod.2x.posAdcPulseTimeRaw", p2X_posAdcPulseTime); - T->SetBranchAddress("P.hod.2y.posAdcPulseTimeRaw", p2Y_posAdcPulseTime); - //Hodoscope TDC Information - T->SetBranchAddress("Ndata.P.hod.1x.negTdcCounter", &p1X_negTdcHits); - T->SetBranchAddress("Ndata.P.hod.1y.negTdcCounter", &p1Y_negTdcHits); - T->SetBranchAddress("Ndata.P.hod.2x.negTdcCounter", &p2X_negTdcHits); - T->SetBranchAddress("Ndata.P.hod.2y.negTdcCounter", &p2Y_negTdcHits); - T->SetBranchAddress("P.hod.1x.negTdcCounter", p1X_negTdcPaddle); - T->SetBranchAddress("P.hod.1y.negTdcCounter", p1Y_negTdcPaddle); - T->SetBranchAddress("P.hod.2x.negTdcCounter", p2X_negTdcPaddle); - T->SetBranchAddress("P.hod.2y.negTdcCounter", p2Y_negTdcPaddle); - T->SetBranchAddress("P.hod.1x.negTdcTime", p1X_negTdcTime); - T->SetBranchAddress("P.hod.1y.negTdcTime", p1Y_negTdcTime); - T->SetBranchAddress("P.hod.2x.negTdcTime", p2X_negTdcTime); - T->SetBranchAddress("P.hod.2y.negTdcTime", p2Y_negTdcTime); - T->SetBranchAddress("Ndata.P.hod.1x.posTdcCounter", &p1X_posTdcHits); - T->SetBranchAddress("Ndata.P.hod.1y.posTdcCounter", &p1Y_posTdcHits); - T->SetBranchAddress("Ndata.P.hod.2x.posTdcCounter", &p2X_posTdcHits); - T->SetBranchAddress("Ndata.P.hod.2y.posTdcCounter", &p2Y_posTdcHits); - T->SetBranchAddress("P.hod.1x.posTdcCounter", p1X_posTdcPaddle); - T->SetBranchAddress("P.hod.1y.posTdcCounter", p1Y_posTdcPaddle); - T->SetBranchAddress("P.hod.2x.posTdcCounter", p2X_posTdcPaddle); - T->SetBranchAddress("P.hod.2y.posTdcCounter", p2Y_posTdcPaddle); - T->SetBranchAddress("P.hod.1x.posTdcTime", p1X_posTdcTime); - T->SetBranchAddress("P.hod.1y.posTdcTime", p1Y_posTdcTime); - T->SetBranchAddress("P.hod.2x.posTdcTime", p2X_posTdcTime); - T->SetBranchAddress("P.hod.2y.posTdcTime", p2Y_posTdcTime); - - //"Good" Hodoscope Hits, corrected times (not corrected for TOF to focal plane - T->SetBranchAddress("Ndata.P.hod.1x.GoodPaddle", &p1X_nGoodHodoHits); - T->SetBranchAddress("Ndata.P.hod.1y.GoodPaddle", &p1Y_nGoodHodoHits); - T->SetBranchAddress("Ndata.P.hod.2x.GoodPaddle", &p2X_nGoodHodoHits); - T->SetBranchAddress("Ndata.P.hod.2y.GoodPaddle", &p2Y_nGoodHodoHits); - T->SetBranchAddress("P.hod.1x.GoodPaddle", p1X_goodPaddle); - T->SetBranchAddress("P.hod.1y.GoodPaddle", p1Y_goodPaddle); - T->SetBranchAddress("P.hod.2x.GoodPaddle", p2X_goodPaddle); - T->SetBranchAddress("P.hod.2y.GoodPaddle", p2Y_goodPaddle); - T->SetBranchAddress("P.hod.1x.GoodNegTdcTimeCorr", p1X_goodNegTdcTimeCorr); - T->SetBranchAddress("P.hod.1y.GoodNegTdcTimeCorr", p1Y_goodNegTdcTimeCorr); - T->SetBranchAddress("P.hod.2x.GoodNegTdcTimeCorr", p2X_goodNegTdcTimeCorr); - T->SetBranchAddress("P.hod.2y.GoodNegTdcTimeCorr", p2Y_goodNegTdcTimeCorr); - T->SetBranchAddress("P.hod.1x.GoodPosTdcTimeCorr", p1X_goodPosTdcTimeCorr); - T->SetBranchAddress("P.hod.1y.GoodPosTdcTimeCorr", p1Y_goodPosTdcTimeCorr); - T->SetBranchAddress("P.hod.2x.GoodPosTdcTimeCorr", p2X_goodPosTdcTimeCorr); - T->SetBranchAddress("P.hod.2y.GoodPosTdcTimeCorr", p2Y_goodPosTdcTimeCorr); - - //Other Hodoscope Data - T->SetBranchAddress("P.hod.starttime", &phod_starttime); - - //Aerogel - T->SetBranchAddress("Ndata.P.aero.negAdcCounter", &paero_negHits); - T->SetBranchAddress("Ndata.P.aero.posAdcCounter", &paero_posHits); - T->SetBranchAddress("P.aero.negAdcCounter", paero_negPmt); - T->SetBranchAddress("P.aero.posAdcCounter", paero_posPmt); - T->SetBranchAddress("P.aero.goodNegAdcPulseTime", paero_negPulseTime); - T->SetBranchAddress("P.aero.goodPosAdcPulseTime", paero_posPulseTime); - T->SetBranchAddress("P.aero.goodNegAdcPulseInt", paero_negPulseInt); - T->SetBranchAddress("P.aero.goodPosAdcPulseInt", paero_posPulseInt); - - /* Following Branch entries altered in hcana May 04 -- Ryan Ambrose - T->SetBranchAddress("P.aero.negAdcPulseTimeRaw", paero_negPulseTime); - T->SetBranchAddress("P.aero.posAdcPulseTimeRaw", paero_posPulseTime); - T->SetBranchAddress("P.aero.negAdcPulseInt", paero_negPulseInt); - T->SetBranchAddress("P.aero.posAdcPulseInt", paero_posPulseInt); - */ - - //HGC - T->SetBranchAddress("Ndata.P.hgcer.adcCounter", &phgc_hits); - T->SetBranchAddress("P.hgcer.adcCounter", phgc_pmt); - T->SetBranchAddress("P.hgcer.goodAdcPulseTime", phgc_pulseTimeRaw); - T->SetBranchAddress("P.hgcer.goodAdcPulseInt", phgc_pulseInt); - T->SetBranchAddress("P.hgcer.goodAdcPulseAmp", phgc_pulseAmp); - - /* Following Branch entries altered in hcana May 04 -- Ryan Ambrose - T->SetBranchAddress("P.hgcer.adcPulseTimeRaw", phgc_pulseTimeRaw); - T->SetBranchAddress("P.hgcer.adcPulseInt", phgc_pulseInt); - T->SetBranchAddress("P.hgcer.adcPulseAmp", phgc_pulseAmp); - */ - - //PreShower & Shower - T->SetBranchAddress("Ndata.P.cal.pr.negAdcCounter", &ppshwr_negHits); - T->SetBranchAddress("Ndata.P.cal.pr.posAdcCounter", &ppshwr_posHits); - T->SetBranchAddress("P.cal.pr.negAdcCounter", ppshwr_negPmt); - T->SetBranchAddress("P.cal.pr.posAdcCounter", ppshwr_posPmt); - T->SetBranchAddress("P.cal.pr.goodNegAdcPulseTime", ppshwr_negPulseTime); - T->SetBranchAddress("P.cal.pr.goodPosAdcPulseTime", ppshwr_posPulseTime); - T->SetBranchAddress("P.cal.pr.goodNegAdcPulseInt", ppshwr_negPulseInt); - T->SetBranchAddress("P.cal.pr.goodPosAdcPulseInt", ppshwr_posPulseInt); - - T->SetBranchAddress("Ndata.P.cal.fly.adcCounter", &pshwr_hits); - T->SetBranchAddress("P.cal.fly.adcCounter", pshwr_pmt); - T->SetBranchAddress("P.cal.fly.goodAdcPulseTime", pshwr_pulseTimeRaw); - T->SetBranchAddress("P.cal.fly.goodAdcPulseInt", pshwr_pulseInt); - - //NGC - T->SetBranchAddress("Ndata.P.ngcer.adcCounter", &pngc_hits); - T->SetBranchAddress("P.ngcer.adcCounter", pngc_pmt); - T->SetBranchAddress("P.ngcer.goodAdcPulseTime", pngc_pulseTimeRaw); - T->SetBranchAddress("P.ngcer.goodAdcPulseInt", pngc_pulseInt); - T->SetBranchAddress("P.ngcer.goodAdcPulseAmp", pngc_pulseAmp); - - /* Following Branch entries altered in hcana May 04 -- Ryan Ambrose - T->SetBranchAddress("P.ngcer.adcPulseTimeRaw", pngc_pulseTimeRaw); - T->SetBranchAddress("P.ngcer.adcPulseInt", pngc_pulseInt); - */ - - //Tracking - T->SetBranchAddress("Ndata.P.tr.p", &ntracks); - T->SetBranchAddress("P.tr.p", trk_pmag); - T->SetBranchAddress("P.tr.beta", trk_beta); - T->SetBranchAddress("P.tr.x", trk_x); - T->SetBranchAddress("P.tr.th", trk_theta); - T->SetBranchAddress("P.tr.y", trk_y); - T->SetBranchAddress("P.tr.ph", trk_phi); - - - //Create Histos - - //Drift Chambers - h_p1X_tdc = new TH1F("pdc_p1X_tdc", "S1X Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300); - h_p1Y_tdc = new TH1F("pdc_p1Y_tdc", "S1Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300); - h_p2X_tdc = new TH1F("pdc_p2X_tdc", "S2X Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300); - h_p2Y_tdc = new TH1F("pdc_p2Y_tdc", "S2Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300); - h_p1T_tdc = new TH1F("pdc_p1T_tdc", "S1X/S1Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300); - h_p2T_tdc = new TH1F("pdc_p2T_tdc", "S2X/S2Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 300, 0, 300); - h_pT1_tdc = new TH1F("pdc_pT1_tdc", "Hodoscope Trigger (Slot 20 Channel 15); TDC Time (ns); Counts / 1 ns", 300, 0, 300); - h_pT2_tdc = new TH1F("pdc_pT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31); TDC Time (ns); Counts / 1 ns", 300, 0, 300); - h_pT3_tdc = new TH1F("pdc_pT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38); TDC Time (ns); Counts / 1 ns", 300, 0, 300); - for (UInt_t iref = 0; iref < ndcRefTimes; iref++) - h_pDCREF_tdc[iref] = new TH1F(Form("pdcREF%d_tdc", iref+1), Form("DC Reference Time %d; TDC Time (ns); Counts / 1 ns", iref+1), 200, 400, 600); - h_p1XmpT2_tdc = new TH1F("pdc_p1XmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S1X; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p1YmpT2_tdc = new TH1F("pdc_p1YmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S1Y; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p2XmpT2_tdc = new TH1F("pdc_p2XmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S2X; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p2YmpT2_tdc = new TH1F("pdc_p2YmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S2Y; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p1TmpT2_tdc = new TH1F("pdc_p1TmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S1; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p2TmpT2_tdc = new TH1F("pdc_p2TmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S2; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p1XmpT3_tdc = new TH1F("pdc_p1XmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S1X; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p1YmpT3_tdc = new TH1F("pdc_p1YmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S1Y; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p2XmpT3_tdc = new TH1F("pdc_p2XmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S2X; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p2YmpT3_tdc = new TH1F("pdc_p2YmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S2Y; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p1TmpT3_tdc = new TH1F("pdc_p1TmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S1; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - h_p2TmpT3_tdc = new TH1F("pdc_p2TmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S2; TDC Time (ns); Counts / 1 ns", 150, 0, 150); - - //Time Corrected Drift Chamber? - h2_p1Xneg_pt_tt_diff = new TH2F("pdc_h2_p1Xneg_pt_tt_diff", "S1X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_1x, 0.5, nbars_1x + 0.5, 300, 0, 300); - h2_p1Yneg_pt_tt_diff = new TH2F("pdc_h2_p1Yneg_pt_tt_diff", "S1Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_1y, 0.5, nbars_1y + 0.5, 300, 0, 300); - h2_p2Xneg_pt_tt_diff = new TH2F("pdc_h2_p2Xneg_pt_tt_diff", "S2X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_2x, 0.5, nbars_2x + 0.5, 300, 0, 300); - h2_p2Yneg_pt_tt_diff = new TH2F("pdc_h2_p2Yneg_pt_tt_diff", "S2Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_2y, 0.5, nbars_2y + 0.5, 300, 0, 300); - h2_p1Xpos_pt_tt_diff = new TH2F("pdc_h2_p1Xpos_pt_tt_diff", "S1X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_1x, 0.5, nbars_1x + 0.5, 300, 0, 300); - h2_p1Ypos_pt_tt_diff = new TH2F("pdc_h2_p1Ypos_pt_tt_diff", "S1Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_1y, 0.5, nbars_1y + 0.5, 300, 0, 300); - h2_p2Xpos_pt_tt_diff = new TH2F("pdc_h2_p2Xpos_pt_tt_diff", "S2X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_2x, 0.5, nbars_2x + 0.5, 300, 0, 300); - h2_p2Ypos_pt_tt_diff = new TH2F("pdc_h2_p2Ypos_pt_tt_diff", "S2Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", nbars_2y, 0.5, nbars_2y + 0.5, 300, 0, 300); - - //Drift Chamber Focal Plane Time - h_p1X_fpTime = new TH1F("pdc_p1X_fpTime", "S1X Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100); - h_p1Y_fpTime = new TH1F("pdc_p1Y_fpTime", "S1Y Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100); - h_p2X_fpTime = new TH1F("pdc_p2X_fpTime", "S2X Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100); - h_p2Y_fpTime = new TH1F("pdc_p2Y_fpTime", "S2Y Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100); - - h_p1X_plTime = new TH1F("pdc_p1X_plTime", "S1X Plane Time; TDC Time (ns); Counts / 1ns", 120, -20, 100); - h_p1Y_plTime = new TH1F("pdc_p1Y_plTime", "S1Y Plane Time; TDC Time (ns); Counts / 1ns", 120, -20, 100); - h_p2X_plTime = new TH1F("pdc_p2X_plTime", "S2X Plane Time; TDC Time (ns); Counts / 1ns", 120, -20, 100); - h_p2Y_plTime = new TH1F("pdc_p2Y_plTime", "S2Y Plane Time; TDC Time (ns); Counts / 1ns", 120, -20, 100); - - //Corrected TDC Hodoscope - h2_p1X_negTdcCorr = new TH2F("phodo_h2_p1X_negTdcCorr", "S1X- Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1x, 0.5, nbars_1x + 0.5, 200, -100, 100); - h2_p1Y_negTdcCorr = new TH2F("phodo_h2_p1Y_negTdcCorr", "S1Y- Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1y, 0.5, nbars_1y + 0.5, 200, -100, 100); - h2_p2X_negTdcCorr = new TH2F("phodo_h2_p2X_negTdcCorr", "S2X- Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2x, 0.5, nbars_2x + 0.5, 200, -100, 100); - h2_p2Y_negTdcCorr = new TH2F("phodo_h2_p2Y_negTdcCorr", "S2Y- Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2y, 0.5, nbars_2y + 0.5, 200, -100, 100); - h2_p1X_posTdcCorr = new TH2F("phodo_h2_p1X_posTdcCorr", "S1X+ Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1x, 0.5, nbars_1x + 0.5, 200, -100, 100); - h2_p1Y_posTdcCorr = new TH2F("phodo_h2_p1Y_posTdcCorr", "S1Y+ Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1y, 0.5, nbars_1y + 0.5, 200, -100, 100); - h2_p2X_posTdcCorr = new TH2F("phodo_h2_p2X_posTdcCorr", "S2X+ Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2x, 0.5, nbars_2x + 0.5, 200, -100, 100); - h2_p2Y_posTdcCorr = new TH2F("phodo_h2_p2Y_posTdcCorr", "S2Y+ Corrected TDC Time vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2y, 0.5, nbars_2y + 0.5, 200, -100, 100); - h2_p1X_tdcCorrDiff = new TH2F("phodo_h2_p1X_tdcCorrDiff", "S1X-/S1X+ Corrected TDC Time Difference vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1x, 0.5, nbars_1x + 0.5, 100, -50, 50); - h2_p1Y_tdcCorrDiff = new TH2F("phodo_h2_p1Y_tdcCorrDiff", "S1Y-/S1Y+ Corrected TDC Time Difference vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_1y, 0.5, nbars_1y + 0.5, 100, -50, 50); - h2_p2X_tdcCorrDiff = new TH2F("phodo_h2_p2X_tdcCorrDiff", "S2X-/S2X+ Corrected TDC Time Difference vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2x, 0.5, nbars_2x + 0.5, 100, -50, 50); - h2_p2Y_tdcCorrDiff = new TH2F("phodo_h2_p2Y_tdcCorrDiff", "S2Y-/S2Y+ Corrected TDC Time Difference vs. Paddle Number; Paddle Number; TDC Time (ns)", nbars_2y, 0.5, nbars_2y + 0.5, 100, -50, 50); - - //Aerogel - h2_paero_negPulseTime_pT1_diff = new TH2F("paero_h2_negPulseTime_pT1_diff", "SHMS Negative Aerogel ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nneg_aero_pmts, 0.5, nneg_aero_pmts + 0.5, 300, -300, 0); - h2_paero_negPulseTime_pT2_diff = new TH2F("paero_h2_negPulseTime_pT2_diff", "SHMS Negative Aerogel ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nneg_aero_pmts, 0.5, nneg_aero_pmts + 0.5, 300, -300, 0); - h2_paero_negPulseTime_pT3_diff = new TH2F("paero_h2_negPulseTime_pT3_diff", "SHMS Negative Aerogel ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nneg_aero_pmts, 0.5, nneg_aero_pmts + 0.5, 300, -300, 0); - h2_paero_posPulseTime_pT1_diff = new TH2F("paero_h2_posPulseTime_pT1_diff", "SHMS Positive Aerogel ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", npos_aero_pmts, 0.5, npos_aero_pmts + 0.5, 300, -300, 0); - h2_paero_posPulseTime_pT2_diff = new TH2F("paero_h2_posPulseTime_pT2_diff", "SHMS Positive Aerogel ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", npos_aero_pmts, 0.5, npos_aero_pmts + 0.5, 300, -300, 0); - h2_paero_posPulseTime_pT3_diff = new TH2F("paero_h2_posPulseTime_pT3_diff", "SHMS Positive Aerogel ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", npos_aero_pmts, 0.5, npos_aero_pmts + 0.5, 300, -300, 0); - h_paero_PulseInt = new TH1F("paero_PulseInt", "Raw Pulse Int", bins, adc_min, adc_max); - - //HGC - h_phgc_adcPulseInt[0] = new TH1F ("phgc_adcPulseInt1", "Raw Pulse Integral PMT1; PulseInt; Counts", 14500, -500, 14000); - h_phgc_adcPulseInt[1] = new TH1F ("phgc_adcPulseInt2", "Raw Pulse Integral PMT2; PulseInt; Counts", 14500, -500, 14000); - h_phgc_adcPulseInt[2] = new TH1F ("phgc_adcPulseInt3", "Raw Pulse Integral PMT3; PulseInt; Counts", 14500, -500, 14000); - h_phgc_adcPulseInt[3] = new TH1F ("phgc_adcPulseInt4", "Raw Pulse Integral PMT4; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_adcPulseAmp[0] = new TH1F ("phgc_adcPulseAmp1", "Raw Pulse Amp PMT1; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_adcPulseAmp[1] = new TH1F ("phgc_adcPulseAmp2", "Raw Pulse Amp PMT2; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_adcPulseAmp[2] = new TH1F ("phgc_adcPulseAmp3", "Raw Pulse Amp PMT3; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_adcPulseAmp[3] = new TH1F ("phgc_adcPulseAmp4", "Raw Pulse Amp PMT4; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_adcPulseTimeRaw[0] = new TH1F ("phgc_adcPulseTimeRaw1", "Raw Pulse TimeRaw PMT1; PulseTimeRaw; Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeRaw[1] = new TH1F ("phgc_adcPulseTimeRaw2", "Raw Pulse TimeRaw PMT2; PulseTimeRaw; Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeRaw[2] = new TH1F ("phgc_adcPulseTimeRaw3", "Raw Pulse TimeRaw PMT3; PulseTimeRaw; Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeRaw[3] = new TH1F ("phgc_adcPulseTimeRaw4", "Raw Pulse TimeRaw PMT4; PulseTimeRaw; Counts", bins, adc_min, adc_max); - - h_phgc_adcPulseAmpSum = new TH1F ("phgc_adcPulseAmpSum", "Raw Pulse Amplitude Sum; PulseAmp; Counts", bins, adc_min, adc_max); - h_phgc_adcPulseIntSum = new TH1F ("phgc_adcPulseIntSum", "Raw Pulse Integral Sum; PulseInt; Counts", bins, adc_min, adc_max); - h_phgc_adcPulseIntSum_e = new TH1F ("phgc_adcPulseIntSum_e", "Raw Pulse Integral Electrons; PulseInt; Counts", bins, adc_min, adc_max); - h_phgc_adcPulseIntSum_pi = new TH1F ("phgc_adcPulseIntSum_pi", "Raw Pulse Integral Pions; PulseInt; Counts", bins, adc_min, adc_max); - - h2_phgc_hodstarttime_pulseTime[0] = new TH2F ("phgc_hodstarttime_pulseTime1", "PulseTimeRaw vs HodoStartTime PMT1; PulseTimeRaw (ns); Hodoscope Start Time (ns)", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_hodstarttime_pulseTime[1] = new TH2F ("phgc_hodstarttime_pulseTime2", "PulseTimeRaw vs HodoStartTime PMT2; PulseTimeRaw (ns); Hodoscope Start Time (ns)", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_hodstarttime_pulseTime[2] = new TH2F ("phgc_hodstarttime_pulseTime3", "PulseTimeRaw vs HodoStartTime PMT3; PulseTimeRaw (ns); Hodoscope Start Time (ns)", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_hodstarttime_pulseTime[3] = new TH2F ("phgc_hodstarttime_pulseTime4", "PulseTimeRaw vs HodoStartTime PMT4; PulseTimeRaw (ns); Hodoscope Start Time (ns)", bins, adc_min, adc_max, bins, adc_min, adc_max); - - - h_phgc_adcPulseTimeCorr_T1[0] = new TH1F("phgc_adcPulseTimeCorr_T11", "Corrected Pulse Time PMT1; PulseTimeRaw - T1 (ns); Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeCorr_T1[1] = new TH1F("phgc_adcPulseTimeCorr_T12", "Corrected Pulse Time PMT2; PulseTimeRaw - T1 (ns); Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeCorr_T1[2] = new TH1F("phgc_adcPulseTimeCorr_T13", "Corrected Pulse Time PMT3; PulseTimeRaw - T1 (ns); Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeCorr_T1[3] = new TH1F("phgc_adcPulseTimeCorr_T14", "Corrected Pulse Time PMT4; PulseTimeRaw - T1 (ns); Counts", bins, adc_min, adc_max); - - h_phgc_adcPulseTimeCorr_T2[0] = new TH1F("phgc_adcPulseTimeCorr_T21", "Corrected Pulse Time PMT1; PulseTimeRaw - T2 (ns); Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeCorr_T2[1] = new TH1F("phgc_adcPulseTimeCorr_T22", "Corrected Pulse Time PMT2; PulseTimeRaw - T2 (ns); Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeCorr_T2[2] = new TH1F("phgc_adcPulseTimeCorr_T23", "Corrected Pulse Time PMT3; PulseTimeRaw - T2 (ns); Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeCorr_T2[3] = new TH1F("phgc_adcPulseTimeCorr_T24", "Corrected Pulse Time PMT4; PulseTimeRaw - T2 (ns); Counts", bins, adc_min, adc_max); - - h_phgc_adcPulseTimeCorr_T3[0] = new TH1F("phgc_adcPulseTimeCorr_T31", "Corrected Pulse Time PMT1; PulseTimeRaw - T3 (ns); Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeCorr_T3[1] = new TH1F("phgc_adcPulseTimeCorr_T32", "Corrected Pulse Time PMT2; PulseTimeRaw - T3 (ns); Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeCorr_T3[2] = new TH1F("phgc_adcPulseTimeCorr_T33", "Corrected Pulse Time PMT3; PulseTimeRaw - T3 (ns); Counts", bins, adc_min, adc_max); - h_phgc_adcPulseTimeCorr_T3[3] = new TH1F("phgc_adcPulseTimeCorr_T34", "Corrected Pulse Time PMT4; PulseTimeRaw - T3 (ns); Counts", bins, adc_min, adc_max); - - h2_phgc_pulseTime_pT1_pmt = new TH2F("phgc_h2_pulseTime_pT1_pmt", "SHMS Heavy Gas Cherenkov ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nhgc_pmts, 0.5, nhgc_pmts + 0.5, 300, -300, 100); - h2_phgc_pulseTime_pT2_pmt = new TH2F("phgc_h2_pulseTime_pT2_pmt", "SHMS Heavy Gas Cherenkov ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nhgc_pmts, 0.5, nhgc_pmts + 0.5, 300, -300, 100); - h2_phgc_pulseTime_pT3_pmt = new TH2F("phgc_h2_pulseTime_pT3_pmt", "SHMS Heavy Gas Cherenkov ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nhgc_pmts, 0.5, nhgc_pmts + 0.5, 300, -300, 100); - - h2_phgc_pulseTime_pT1_diff = new TH2F("phgc_h2_pulseTime_pT1_diff", "SHMS Heavy Gas Cherenkov ADC Pulse Time - T1; Trigger 1 Time (ns); ADC Pulse Time", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_pulseTime_pT2_diff = new TH2F("phgc_h2_pulseTime_pT2_diff", "SHMS Heavy Gas Cherenkov ADC Pulse Time - T2; Trigger 2 Time (ns); ADC Pulse Time", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_pulseTime_pT3_diff = new TH2F("phgc_h2_pulseTime_pT3_diff", "SHMS Heavy Gas Cherenkov ADC Pulse Time - T3; Trigger 3 Time (ns); ADC Pulse Time", bins, adc_min, adc_max, bins, adc_min, adc_max); - - h2_phgc_adcInt_TimeRaw[0] = new TH2F ("phgc_adcInt_TimeRaw1", "Raw Pulse TimeRaw vs Int PMT1; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_TimeRaw[1] = new TH2F ("phgc_adcInt_TimeRaw2", "Raw Pulse TimeRaw vs Int PMT2; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_TimeRaw[2] = new TH2F ("phgc_adcInt_TimeRaw3", "Raw Pulse TimeRaw vs Int PMT3; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_TimeRaw[3] = new TH2F ("phgc_adcInt_TimeRaw4", "Raw Pulse TimeRaw vs Int PMT4; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - - h2_phgc_adcAmp_TimeRaw[0] = new TH2F ("phgc_adcAmp_TimeRaw1", "Raw Pulse TimeRaw vs Amp PMT1; PulseTimeRaw (ns); PulseAmp", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcAmp_TimeRaw[1] = new TH2F ("phgc_adcAmp_TimeRaw2", "Raw Pulse TimeRaw vs Amp PMT2; PulseTimeRaw (ns); PulseAmp", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcAmp_TimeRaw[2] = new TH2F ("phgc_adcAmp_TimeRaw3", "Raw Pulse TimeRaw vs Amp PMT3; PulseTimeRaw (ns); PulseAmp", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcAmp_TimeRaw[3] = new TH2F ("phgc_adcAmp_TimeRaw4", "Raw Pulse TimeRaw vs Amp PMT4; PulseTimeRaw (ns); PulseAmp", bins, adc_min, adc_max, bins, adc_min, adc_max); - - h2_phgc_adcInt_TimeRaw_pi[0] = new TH2F ("phgc_adcInt_TimeRaw_pi1", "Raw Pulse TimeRaw vs Int PMT1 with pions; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_TimeRaw_pi[1] = new TH2F ("phgc_adcInt_TimeRaw_pi2", "Raw Pulse TimeRaw vs Int PMT2 with pions; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_TimeRaw_pi[2] = new TH2F ("phgc_adcInt_TimeRaw_pi3", "Raw Pulse TimeRaw vs Int PMT3 with pions; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_TimeRaw_pi[3] = new TH2F ("phgc_adcInt_TimeRaw_pi4", "Raw Pulse TimeRaw vs Int PMT4 with pions; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - - h2_phgc_adcInt_TimeRaw_e[0] = new TH2F ("phgc_adcInt_TimeRaw_e1", "Raw Pulse TimeRaw vs Int PMT1 with electrons; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_TimeRaw_e[1] = new TH2F ("phgc_adcInt_TimeRaw_e2", "Raw Pulse TimeRaw vs Int PMT2 with electrons; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_TimeRaw_e[2] = new TH2F ("phgc_adcInt_TimeRaw_e3", "Raw Pulse TimeRaw vs Int PMT3 with electrons; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_TimeRaw_e[3] = new TH2F ("phgc_adcInt_TimeRaw_e4", "Raw Pulse TimeRaw vs Int PMT4 with electrons; PulseTimeRaw (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - - h2_phgc_adcInt_T1[0] = new TH2F ("phgc_adcInt_T11", "Raw Pulse TimeRaw vs Int PMT1; Trigger 1 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_T1[1] = new TH2F ("phgc_adcInt_T12", "Raw Pulse TimeRaw vs Int PMT2; Trigger 1 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_T1[2] = new TH2F ("phgc_adcInt_T13", "Raw Pulse TimeRaw vs Int PMT3; Trigger 1 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_T1[3] = new TH2F ("phgc_adcInt_T14", "Raw Pulse TimeRaw vs Int PMT4; Trigger 1 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - - h2_phgc_adcInt_T2[0] = new TH2F ("phgc_adcInt_T21", "Raw Pulse TimeRaw vs Int PMT1; Trigger 2 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_T2[1] = new TH2F ("phgc_adcInt_T22", "Raw Pulse TimeRaw vs Int PMT2; Trigger 2 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_T2[2] = new TH2F ("phgc_adcInt_T23", "Raw Pulse TimeRaw vs Int PMT3; Trigger 2 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_T2[3] = new TH2F ("phgc_adcInt_T24", "Raw Pulse TimeRaw vs Int PMT4; Trigger 2 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - - h2_phgc_adcInt_T3[0] = new TH2F ("phgc_adcInt_T31", "Raw Pulse TimeRaw vs Int PMT1; Trigger 3 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_T3[1] = new TH2F ("phgc_adcInt_T32", "Raw Pulse TimeRaw vs Int PMT2; Trigger 3 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_T3[2] = new TH2F ("phgc_adcInt_T33", "Raw Pulse TimeRaw vs Int PMT3; Trigger 3 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - h2_phgc_adcInt_T3[3] = new TH2F ("phgc_adcInt_T34", "Raw Pulse TimeRaw vs Int PMT4; Trigger 3 (ns); PulseInt", bins, adc_min, adc_max, bins, adc_min, adc_max); - - h2_phgc_pulseInt_pT1[0] = new TH2F("phgc_h2_pulseInt_pT11", "HGC PulseInt vs Trigger PulseTime PMT1; PulseTimeRaw - T1 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_pulseInt_pT1[1] = new TH2F("phgc_h2_pulseInt_pT12", "HGC PulseInt vs Trigger PulseTime PMT2; PulseTimeRaw - T1 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_pulseInt_pT1[2] = new TH2F("phgc_h2_pulseInt_pT13", "HGC PulseInt vs Trigger PulseTime PMT3; PulseTimeRaw - T1 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_pulseInt_pT1[3] = new TH2F("phgc_h2_pulseInt_pT14", "HGC PulseInt vs Trigger PulseTime PMT4; PulseTimeRaw - T1 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - - h2_phgc_pulseInt_pT2[0] = new TH2F("phgc_h2_pulseInt_pT21", "HGC PulseInt vs Trigger PulseTime PMT1; PulseTimeRaw - T2 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_pulseInt_pT2[1] = new TH2F("phgc_h2_pulseInt_pT22", "HGC PulseInt vs Trigger PulseTime PMT2; PulseTimeRaw - T2 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_pulseInt_pT2[2] = new TH2F("phgc_h2_pulseInt_pT23", "HGC PulseInt vs Trigger PulseTime PMT3; PulseTimeRaw - T2 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_pulseInt_pT2[3] = new TH2F("phgc_h2_pulseInt_pT24", "HGC PulseInt vs Trigger PulseTime PMT4; PulseTimeRaw - T2 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - - h2_phgc_pulseInt_pT3[0] = new TH2F("phgc_h2_pulseInt_pT31", "HGC PulseInt vs Trigger PulseTime PMT3; PulseTimeRaw - T3 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_pulseInt_pT3[1] = new TH2F("phgc_h2_pulseInt_pT32", "HGC PulseInt vs Trigger PulseTime PMT2; PulseTimeRaw - T3 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_pulseInt_pT3[2] = new TH2F("phgc_h2_pulseInt_pT33", "HGC PulseInt vs Trigger PulseTime PMT3; PulseTimeRaw - T3 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_pulseInt_pT3[3] = new TH2F("phgc_h2_pulseInt_pT34", "HGC PulseInt vs Trigger PulseTime PMT4; PulseTimeRaw - T3 (ns); PulseInt", 1000, adc_min, adc_max, 500, adc_min, adc_max); - - h2_phgc_TimeWalk_T1[0] = new TH2F("phgc_h2_TimeWalk_T11", "HGC Hit Time vs. Pulse Peak PMT 1; Pulse Peak; PulseTimeRaw - Tigger T1", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_TimeWalk_T1[1] = new TH2F("phgc_h2_TimeWalk_T12", "HGC Hit Time vs. Pulse Peak PMT 2; Pulse Peak; PulseTimeRaw - Tigger T1", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_TimeWalk_T1[2] = new TH2F("phgc_h2_TimeWalk_T13", "HGC Hit Time vs. Pulse Peak PMT 3; Pulse Peak; PulseTimeRaw - Tigger T1", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_TimeWalk_T1[3] = new TH2F("phgc_h2_TimeWalk_T14", "HGC Hit Time vs. Pulse Peak PMT 4; Pulse Peak; PulseTimeRaw - Tigger T1", 1000, adc_min, adc_max, 500, adc_min, adc_max); - - h2_phgc_TimeWalk_T2[0] = new TH2F("phgc_h2_TimeWalk_T21", "HGC Hit Time vs. Pulse Peak PMT 1; Pulse Peak; PulseTimeRaw - Tigger T2", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_TimeWalk_T2[1] = new TH2F("phgc_h2_TimeWalk_T22", "HGC Hit Time vs. Pulse Peak PMT 2; Pulse Peak; PulseTimeRaw - Tigger T2", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_TimeWalk_T2[2] = new TH2F("phgc_h2_TimeWalk_T23", "HGC Hit Time vs. Pulse Peak PMT 3; Pulse Peak; PulseTimeRaw - Tigger T2", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_TimeWalk_T2[3] = new TH2F("phgc_h2_TimeWalk_T24", "HGC Hit Time vs. Pulse Peak PMT 4; Pulse Peak; PulseTimeRaw - Tigger T2", 1000, adc_min, adc_max, 500, adc_min, adc_max); - - h2_phgc_TimeWalk_T3[0] = new TH2F("phgc_h2_TimeWalk_T31", "HGC Hit Time vs. Pulse Peak PMT 1; Pulse Peak; PulseTimeRaw - Tigger T3", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_TimeWalk_T3[1] = new TH2F("phgc_h2_TimeWalk_T32", "HGC Hit Time vs. Pulse Peak PMT 2; Pulse Peak; PulseTimeRaw - Tigger T3", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_TimeWalk_T3[2] = new TH2F("phgc_h2_TimeWalk_T33", "HGC Hit Time vs. Pulse Peak PMT 3; Pulse Peak; PulseTimeRaw - Tigger T3", 1000, adc_min, adc_max, 500, adc_min, adc_max); - h2_phgc_TimeWalk_T3[3] = new TH2F("phgc_h2_TimeWalk_T34", "HGC Hit Time vs. Pulse Peak PMT 4; Pulse Peak; PulseTimeRaw - Tigger T3", 1000, adc_min, adc_max, 500, adc_min, adc_max); - - h_phgc_pulseAmp_10[0] = new TH1F ("phgc_pulseAmp_101", "HGC PulseInt with PulseAmp = 10 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no10[0] = new TH1F ("phgc_pulseAmp_no101", "HGC PulseInt without PulseAmp = 10 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_10[1] = new TH1F ("phgc_pulseAmp_102", "HGC PulseInt with PulseAmp = 10 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no10[1] = new TH1F ("phgc_pulseAmp_no102", "HGC PulseInt without PulseAmp = 10 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_10[2] = new TH1F ("phgc_pulseAmp_103", "HGC PulseInt with PulseAmp = 10 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no10[2] = new TH1F ("phgc_pulseAmp_no103", "HGC PulseInt without PulseAmp = 10 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_10[3] = new TH1F ("phgc_pulseAmp_104", "HGC PulseInt with PulseAmp = 10 PMT4; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no10[3] = new TH1F ("phgc_pulseAmp_no104", "HGC PulseInt without PulseAmp = 10 PMT4; PulseInt; Counts", 200, 0, 40000); - - h_phgc_pulseAmp_20[0] = new TH1F ("phgc_pulseAmp_201", "HGC PulseInt with PulseAmp = 20 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no20[0] = new TH1F ("phgc_pulseAmp_no201", "HGC PulseInt without PulseAmp = 20 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_20[1] = new TH1F ("phgc_pulseAmp_202", "HGC PulseInt with PulseAmp = 20 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no20[1] = new TH1F ("phgc_pulseAmp_no202", "HGC PulseInt without PulseAmp = 20 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_20[2] = new TH1F ("phgc_pulseAmp_203", "HGC PulseInt with PulseAmp = 20 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no20[2] = new TH1F ("phgc_pulseAmp_no203", "HGC PulseInt without PulseAmp = 20 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_20[3] = new TH1F ("phgc_pulseAmp_204", "HGC PulseInt with PulseAmp = 20 PMT4; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no20[3] = new TH1F ("phgc_pulseAmp_no204", "HGC PulseInt without PulseAmp = 20 PMT4; PulseInt; Counts", 200, 0, 40000); - - h_phgc_pulseAmp_30[0] = new TH1F ("phgc_pulseAmp_301", "HGC PulseInt with PulseAmp = 30 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no30[0] = new TH1F ("phgc_pulseAmp_no301", "HGC PulseInt without PulseAmp = 30 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_30[1] = new TH1F ("phgc_pulseAmp_302", "HGC PulseInt with PulseAmp = 30 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no30[1] = new TH1F ("phgc_pulseAmp_no302", "HGC PulseInt without PulseAmp = 30 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_30[2] = new TH1F ("phgc_pulseAmp_303", "HGC PulseInt with PulseAmp = 30 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no30[2] = new TH1F ("phgc_pulseAmp_no303", "HGC PulseInt without PulseAmp = 30 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_30[3] = new TH1F ("phgc_pulseAmp_304", "HGC PulseInt with PulseAmp = 30 PMT4; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no30[3] = new TH1F ("phgc_pulseAmp_no304", "HGC PulseInt without PulseAmp = 30 PMT4; PulseInt; Counts", 200, 0, 40000); - - h_phgc_pulseAmp_40[0] = new TH1F ("phgc_pulseAmp_401", "HGC PulseInt with PulseAmp = 40 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no40[0] = new TH1F ("phgc_pulseAmp_no401", "HGC PulseInt without PulseAmp = 40 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_40[1] = new TH1F ("phgc_pulseAmp_402", "HGC PulseInt with PulseAmp = 40 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no40[1] = new TH1F ("phgc_pulseAmp_no402", "HGC PulseInt without PulseAmp = 40 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_40[2] = new TH1F ("phgc_pulseAmp_403", "HGC PulseInt with PulseAmp = 40 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no40[2] = new TH1F ("phgc_pulseAmp_no403", "HGC PulseInt without PulseAmp = 40 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_40[3] = new TH1F ("phgc_pulseAmp_404", "HGC PulseInt with PulseAmp = 40 PMT4; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no40[3] = new TH1F ("phgc_pulseAmp_no404", "HGC PulseInt without PulseAmp = 40 PMT4; PulseInt; Counts", 200, 0, 40000); - - h_phgc_pulseAmp_50[0] = new TH1F ("phgc_pulseAmp_501", "HGC PulseInt with PulseAmp = 50 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no50[0] = new TH1F ("phgc_pulseAmp_no501", "HGC PulseInt without PulseAmp = 50 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_50[1] = new TH1F ("phgc_pulseAmp_502", "HGC PulseInt with PulseAmp = 50 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no50[1] = new TH1F ("phgc_pulseAmp_no502", "HGC PulseInt without PulseAmp = 50 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_50[2] = new TH1F ("phgc_pulseAmp_503", "HGC PulseInt with PulseAmp = 50 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no50[2] = new TH1F ("phgc_pulseAmp_no503", "HGC PulseInt without PulseAmp = 50 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_50[3] = new TH1F ("phgc_pulseAmp_504", "HGC PulseInt with PulseAmp = 50 PMT4; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no50[3] = new TH1F ("phgc_pulseAmp_no504", "HGC PulseInt without PulseAmp = 50 PMT4; PulseInt; Counts", 200, 0, 40000); - - h_phgc_pulseAmp_60[0] = new TH1F ("phgc_pulseAmp_601", "HGC PulseInt with PulseAmp = 60 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no60[0] = new TH1F ("phgc_pulseAmp_no601", "HGC PulseInt without PulseAmp = 60 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_60[1] = new TH1F ("phgc_pulseAmp_602", "HGC PulseInt with PulseAmp = 60 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no60[1] = new TH1F ("phgc_pulseAmp_no602", "HGC PulseInt without PulseAmp = 60 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_60[2] = new TH1F ("phgc_pulseAmp_603", "HGC PulseInt with PulseAmp = 60 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no60[2] = new TH1F ("phgc_pulseAmp_no603", "HGC PulseInt without PulseAmp = 60 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_60[3] = new TH1F ("phgc_pulseAmp_604", "HGC PulseInt with PulseAmp = 60 PMT4; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no60[3] = new TH1F ("phgc_pulseAmp_no604", "HGC PulseInt without PulseAmp = 60 PMT4; PulseInt; Counts", 200, 0, 40000); - - h_phgc_pulseAmp_70[0] = new TH1F ("phgc_pulseAmp_701", "HGC PulseInt with PulseAmp = 70 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no70[0] = new TH1F ("phgc_pulseAmp_no701", "HGC PulseInt without PulseAmp = 70 PMT1; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_70[1] = new TH1F ("phgc_pulseAmp_702", "HGC PulseInt with PulseAmp = 70 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no70[1] = new TH1F ("phgc_pulseAmp_no702", "HGC PulseInt without PulseAmp = 70 PMT2; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_70[2] = new TH1F ("phgc_pulseAmp_703", "HGC PulseInt with PulseAmp = 70 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no70[2] = new TH1F ("phgc_pulseAmp_no703", "HGC PulseInt without PulseAmp = 70 PMT3; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_70[3] = new TH1F ("phgc_pulseAmp_704", "HGC PulseInt with PulseAmp = 70 PMT4; PulseInt; Counts", 200, 0, 40000); - h_phgc_pulseAmp_no70[3] = new TH1F ("phgc_pulseAmp_no704", "HGC PulseInt without PulseAmp = 70 PMT4; PulseInt; Counts", 200, 0, 40000); - - h_phgc_quad1_pulseInt_e[0] = new TH1F ("phgc_quad1_pulseInt_e1", "Electrons in Quadrant 1 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad1_pulseInt_e[1] = new TH1F ("phgc_quad1_pulseInt_e2", "Electrons in Quadrant 1 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad1_pulseInt_e[2] = new TH1F ("phgc_quad1_pulseInt_e3", "Electrons in Quadrant 1 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad1_pulseInt_e[3] = new TH1F ("phgc_quad1_pulseInt_e4", "Electrons in Quadrant 1 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad1_pulseInt_pi[0] = new TH1F ("phgc_quad1_pulseInt_pi1", "Pions in Quadrant 1 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad1_pulseInt_pi[1] = new TH1F ("phgc_quad1_pulseInt_pi2", "Pions in Quadrant 1 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad1_pulseInt_pi[2] = new TH1F ("phgc_quad1_pulseInt_pi3", "Pions in Quadrant 1 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad1_pulseInt_pi[3] = new TH1F ("phgc_quad1_pulseInt_pi4", "Pions in Quadrant 1 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad1_pulseInt_sum[0] = new TH1F ("phgc_quad1_pulseInt_sum1", "Sum in Quadrant 1 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad1_pulseInt_sum[1] = new TH1F ("phgc_quad1_pulseInt_sum2", "Sum in Quadrant 1 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad1_pulseInt_sum[2] = new TH1F ("phgc_quad1_pulseInt_sum3", "Sum in Quadrant 1 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad1_pulseInt_sum[3] = new TH1F ("phgc_quad1_pulseInt_sum4", "Sum in Quadrant 1 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad2_pulseInt_e[0] = new TH1F ("phgc_quad2_pulseInt_e1", "Electrons in Quadrant 2 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad2_pulseInt_e[1] = new TH1F ("phgc_quad2_pulseInt_e2", "Electrons in Quadrant 2 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad2_pulseInt_e[2] = new TH1F ("phgc_quad2_pulseInt_e3", "Electrons in Quadrant 2 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad2_pulseInt_e[3] = new TH1F ("phgc_quad2_pulseInt_e4", "Electrons in Quadrant 2 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad2_pulseInt_pi[0] = new TH1F ("phgc_quad2_pulseInt_pi1", "Pions in Quadrant 2 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad2_pulseInt_pi[1] = new TH1F ("phgc_quad2_pulseInt_pi2", "Pions in Quadrant 2 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad2_pulseInt_pi[2] = new TH1F ("phgc_quad2_pulseInt_pi3", "Pions in Quadrant 2 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad2_pulseInt_pi[3] = new TH1F ("phgc_quad2_pulseInt_pi4", "Pions in Quadrant 2 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad2_pulseInt_sum[0] = new TH1F ("phgc_quad2_pulseInt_sum1", "Sum in Quadrant 2 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad2_pulseInt_sum[1] = new TH1F ("phgc_quad2_pulseInt_sum2", "Sum in Quadrant 2 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad2_pulseInt_sum[2] = new TH1F ("phgc_quad2_pulseInt_sum3", "Sum in Quadrant 2 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad2_pulseInt_sum[3] = new TH1F ("phgc_quad2_pulseInt_sum4", "Sum in Quadrant 2 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad3_pulseInt_e[0] = new TH1F ("phgc_quad3_pulseInt_e1", "Electrons in Quadrant 3 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad3_pulseInt_e[1] = new TH1F ("phgc_quad3_pulseInt_e2", "Electrons in Quadrant 3 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad3_pulseInt_e[2] = new TH1F ("phgc_quad3_pulseInt_e3", "Electrons in Quadrant 3 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad3_pulseInt_e[3] = new TH1F ("phgc_quad3_pulseInt_e4", "Electrons in Quadrant 3 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad3_pulseInt_pi[0] = new TH1F ("phgc_quad3_pulseInt_pi1", "Pions in Quadrant 3 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad3_pulseInt_pi[1] = new TH1F ("phgc_quad3_pulseInt_pi2", "Pions in Quadrant 3 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad3_pulseInt_pi[2] = new TH1F ("phgc_quad3_pulseInt_pi3", "Pions in Quadrant 3 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad3_pulseInt_pi[3] = new TH1F ("phgc_quad3_pulseInt_pi4", "Pions in Quadrant 3 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad3_pulseInt_sum[0] = new TH1F ("phgc_quad3_pulseInt_sum1", "Sum in Quadrant 3 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad3_pulseInt_sum[1] = new TH1F ("phgc_quad3_pulseInt_sum2", "Sum in Quadrant 3 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad3_pulseInt_sum[2] = new TH1F ("phgc_quad3_pulseInt_sum3", "Sum in Quadrant 3 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad3_pulseInt_sum[3] = new TH1F ("phgc_quad3_pulseInt_sum4", "Sum in Quadrant 3 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad4_pulseInt_e[0] = new TH1F ("phgc_quad4_pulseInt_e1", "Electrons in Quadrant 4 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad4_pulseInt_e[1] = new TH1F ("phgc_quad4_pulseInt_e2", "Electrons in Quadrant 4 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad4_pulseInt_e[2] = new TH1F ("phgc_quad4_pulseInt_e3", "Electrons in Quadrant 4 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad4_pulseInt_e[3] = new TH1F ("phgc_quad4_pulseInt_e4", "Electrons in Quadrant 4 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad4_pulseInt_pi[0] = new TH1F ("phgc_quad4_pulseInt_pi1", "Pions in Quadrant 4 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad4_pulseInt_pi[1] = new TH1F ("phgc_quad4_pulseInt_pi2", "Pions in Quadrant 4 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad4_pulseInt_pi[2] = new TH1F ("phgc_quad4_pulseInt_pi3", "Pions in Quadrant 4 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad4_pulseInt_pi[3] = new TH1F ("phgc_quad4_pulseInt_pi4", "Pions in Quadrant 4 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad4_pulseInt_sum[0] = new TH1F ("phgc_quad4_pulseInt_sum1", "Sum in Quadrant 4 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad4_pulseInt_sum[1] = new TH1F ("phgc_quad4_pulseInt_sum2", "Sum in Quadrant 4 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad4_pulseInt_sum[2] = new TH1F ("phgc_quad4_pulseInt_sum3", "Sum in Quadrant 4 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_phgc_quad4_pulseInt_sum[3] = new TH1F ("phgc_quad4_pulseInt_sum4", "Sum in Quadrant 4 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_phgc_quad1_pulseAmp_e[0] = new TH1F ("phgc_quad1_pulseAmp_e1", "Electrons in Quadrant 1 PMT1 pulseAmp; PulseAmp; Counts", 4000, -500, 14000); - h_phgc_quad1_pulseAmp_e[1] = new TH1F ("phgc_quad1_pulseAmp_e2", "Electrons in Quadrant 1 PMT2 pulseAmp; PulseAmp; Counts", 4000, -500, 14000); - h_phgc_quad1_pulseAmp_e[2] = new TH1F ("phgc_quad1_pulseAmp_e3", "Electrons in Quadrant 1 PMT3 pulseAmp; PulseAmp; Counts", 4000, -500, 14000); - h_phgc_quad1_pulseAmp_e[3] = new TH1F ("phgc_quad1_pulseAmp_e4", "Electrons in Quadrant 1 PMT4 pulseAmp; PulseAmp; Counts", 4000, -500, 14000); - - h_phgc_quad1_pulseAmp_pi[0] = new TH1F ("phgc_quad1_pulseAmp_pi1", "Pions in Quadrant 1 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad1_pulseAmp_pi[1] = new TH1F ("phgc_quad1_pulseAmp_pi2", "Pions in Quadrant 1 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad1_pulseAmp_pi[2] = new TH1F ("phgc_quad1_pulseAmp_pi3", "Pions in Quadrant 1 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad1_pulseAmp_pi[3] = new TH1F ("phgc_quad1_pulseAmp_pi4", "Pions in Quadrant 1 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad1_pulseAmp_sum[0] = new TH1F ("phgc_quad1_pulseAmp_sum1", "Sum in Quadrant 1 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad1_pulseAmp_sum[1] = new TH1F ("phgc_quad1_pulseAmp_sum2", "Sum in Quadrant 1 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad1_pulseAmp_sum[2] = new TH1F ("phgc_quad1_pulseAmp_sum3", "Sum in Quadrant 1 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad1_pulseAmp_sum[3] = new TH1F ("phgc_quad1_pulseAmp_sum4", "Sum in Quadrant 1 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad2_pulseAmp_e[0] = new TH1F ("phgc_quad2_pulseAmp_e1", "Electrons in Quadrant 2 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad2_pulseAmp_e[1] = new TH1F ("phgc_quad2_pulseAmp_e2", "Electrons in Quadrant 2 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad2_pulseAmp_e[2] = new TH1F ("phgc_quad2_pulseAmp_e3", "Electrons in Quadrant 2 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad2_pulseAmp_e[3] = new TH1F ("phgc_quad2_pulseAmp_e4", "Electrons in Quadrant 2 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad2_pulseAmp_pi[0] = new TH1F ("phgc_quad2_pulseAmp_pi1", "Pions in Quadrant 2 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad2_pulseAmp_pi[1] = new TH1F ("phgc_quad2_pulseAmp_pi2", "Pions in Quadrant 2 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad2_pulseAmp_pi[2] = new TH1F ("phgc_quad2_pulseAmp_pi3", "Pions in Quadrant 2 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad2_pulseAmp_pi[3] = new TH1F ("phgc_quad2_pulseAmp_pi4", "Pions in Quadrant 2 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad2_pulseAmp_sum[0] = new TH1F ("phgc_quad2_pulseAmp_sum1", "Sum in Quadrant 2 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad2_pulseAmp_sum[1] = new TH1F ("phgc_quad2_pulseAmp_sum2", "Sum in Quadrant 2 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad2_pulseAmp_sum[2] = new TH1F ("phgc_quad2_pulseAmp_sum3", "Sum in Quadrant 2 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad2_pulseAmp_sum[3] = new TH1F ("phgc_quad2_pulseAmp_sum4", "Sum in Quadrant 2 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad3_pulseAmp_e[0] = new TH1F ("phgc_quad3_pulseAmp_e1", "Electrons in Quadrant 3 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad3_pulseAmp_e[1] = new TH1F ("phgc_quad3_pulseAmp_e2", "Electrons in Quadrant 3 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad3_pulseAmp_e[2] = new TH1F ("phgc_quad3_pulseAmp_e3", "Electrons in Quadrant 3 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad3_pulseAmp_e[3] = new TH1F ("phgc_quad3_pulseAmp_e4", "Electrons in Quadrant 3 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad3_pulseAmp_pi[0] = new TH1F ("phgc_quad3_pulseAmp_pi1", "Pions in Quadrant 3 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad3_pulseAmp_pi[1] = new TH1F ("phgc_quad3_pulseAmp_pi2", "Pions in Quadrant 3 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad3_pulseAmp_pi[2] = new TH1F ("phgc_quad3_pulseAmp_pi3", "Pions in Quadrant 3 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad3_pulseAmp_pi[3] = new TH1F ("phgc_quad3_pulseAmp_pi4", "Pions in Quadrant 3 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad3_pulseAmp_sum[0] = new TH1F ("phgc_quad3_pulseAmp_sum1", "Sum in Quadrant 3 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad3_pulseAmp_sum[1] = new TH1F ("phgc_quad3_pulseAmp_sum2", "Sum in Quadrant 3 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad3_pulseAmp_sum[2] = new TH1F ("phgc_quad3_pulseAmp_sum3", "Sum in Quadrant 3 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad3_pulseAmp_sum[3] = new TH1F ("phgc_quad3_pulseAmp_sum4", "Sum in Quadrant 3 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad4_pulseAmp_e[0] = new TH1F ("phgc_quad4_pulseAmp_e1", "Electrons in Quadrant 4 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad4_pulseAmp_e[1] = new TH1F ("phgc_quad4_pulseAmp_e2", "Electrons in Quadrant 4 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad4_pulseAmp_e[2] = new TH1F ("phgc_quad4_pulseAmp_e3", "Electrons in Quadrant 4 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad4_pulseAmp_e[3] = new TH1F ("phgc_quad4_pulseAmp_e4", "Electrons in Quadrant 4 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad4_pulseAmp_pi[0] = new TH1F ("phgc_quad4_pulseAmp_pi1", "Pions in Quadrant 4 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad4_pulseAmp_pi[1] = new TH1F ("phgc_quad4_pulseAmp_pi2", "Pions in Quadrant 4 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad4_pulseAmp_pi[2] = new TH1F ("phgc_quad4_pulseAmp_pi3", "Pions in Quadrant 4 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad4_pulseAmp_pi[3] = new TH1F ("phgc_quad4_pulseAmp_pi4", "Pions in Quadrant 4 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_quad4_pulseAmp_sum[0] = new TH1F ("phgc_quad4_pulseAmp_sum1", "Sum in Quadrant 4 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad4_pulseAmp_sum[1] = new TH1F ("phgc_quad4_pulseAmp_sum2", "Sum in Quadrant 4 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad4_pulseAmp_sum[2] = new TH1F ("phgc_quad4_pulseAmp_sum3", "Sum in Quadrant 4 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_phgc_quad4_pulseAmp_sum[3] = new TH1F ("phgc_quad4_pulseAmp_sum4", "Sum in Quadrant 4 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_phgc_pulseInt_npe[0] = new TH1F ("phgc_pulseInt_npe1", "Photoelectrons from pulseInt in PMT1; NPE; Counts", bins, 0, 20); - h_phgc_pulseInt_npe[1] = new TH1F ("phgc_pulseInt_npe2", "Photoelectrons from pulseInt in PMT2; NPE; Counts", bins, 0, 20); - h_phgc_pulseInt_npe[2] = new TH1F ("phgc_pulseInt_npe3", "Photoelectrons from pulseInt in PMT3; NPE; Counts", bins, 0, 20); - h_phgc_pulseInt_npe[3] = new TH1F ("phgc_pulseInt_npe4", "Photoelectrons from pulseInt in PMT4; NPE; Counts", bins, 0, 20); - - h_phgc_npesum = new TH1F("phgc_npesum", "Photoelectrons from all PMTs; NPE; Counts", bins, 0, 20); - - //PreShower & Shower - h_ppshwr_PulseInt = new TH1F ("ppshwr_PulseInt", "Pulse Integral for PreShower", bins, adc_min, adc_max); - h2_ppshwr_negPulseTime_pT1_diff = new TH2F("ppshwr_h2negPulseTime_pT1_diff", "SHMS Negative Pre Shower ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nneg_pshwr_blks, 0.5, nneg_pshwr_blks + 0.5, 300, -300, 0); - h2_ppshwr_negPulseTime_pT2_diff = new TH2F("ppshwr_h2negPulseTime_pT2_diff", "SHMS Negative Pre Shower ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nneg_pshwr_blks, 0.5, nneg_pshwr_blks + 0.5, 300, -300, 0); - h2_ppshwr_negPulseTime_pT3_diff = new TH2F("ppshwr_h2negPulseTime_pT3_diff", "SHMS Negative Pre Shower ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nneg_pshwr_blks, 0.5, nneg_pshwr_blks + 0.5, 300, -300, 0); - h2_ppshwr_posPulseTime_pT1_diff = new TH2F("ppshwr_h2posPulseTime_pT1_diff", "SHMS Positive Pre Shower ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", npos_pshwr_blks, 0.5, npos_pshwr_blks + 0.5, 300, -300, 0); - h2_ppshwr_posPulseTime_pT2_diff = new TH2F("ppshwr_h2posPulseTime_pT2_diff", "SHMS Positive Pre Shower ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", npos_pshwr_blks, 0.5, npos_pshwr_blks + 0.5, 300, -300, 0); - h2_ppshwr_posPulseTime_pT3_diff = new TH2F("ppshwr_h2posPulseTime_pT3_diff", "SHMS Positive Pre Shower ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", npos_pshwr_blks, 0.5, npos_pshwr_blks + 0.5, 300, -300, 0); - - h_pshwr_PulseInt = new TH1F ("pshwr_PulseInt", "Pulse Integral for Shower", bins, adc_min, adc_max); - h2_pshwr_pulseTime_pT1_diff = new TH2F("pshwr_h2_pulseTime_pT1_diff", "SHMS Shower ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nshwr_blks, 0.5, nshwr_blks + 0.5, 300, -300, 0); - h2_pshwr_pulseTime_pT2_diff = new TH2F("pshwr_h2_pulseTime_pT2_diff", "SHMS Shower ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nshwr_blks, 0.5, nshwr_blks + 0.5, 300, -300, 0); - h2_pshwr_pulseTime_pT3_diff = new TH2F("pshwr_h2_pulseTime_pT3_diff", "SHMS Shower ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nshwr_blks, 0.5, nshwr_blks + 0.5, 300, -300, 0); - - //NGC - h_pngc_adcPulseInt_sum = new TH1F ("pngc_adcPulseInt_sum", "Raw Pulse Int", bins, adc_min, adc_max); - - h_pngc_adcPulseInt[0] = new TH1F ("pngc_adcPulseInt1", "Raw Pulse Integral PMT1; PulseInt; Counts", 14500, -500, 14000); - h_pngc_adcPulseInt[1] = new TH1F ("pngc_adcPulseInt2", "Raw Pulse Integral PMT2; PulseInt; Counts", 14500, -500, 14000); - h_pngc_adcPulseInt[2] = new TH1F ("pngc_adcPulseInt3", "Raw Pulse Integral PMT3; PulseInt; Counts", 14500, -500, 14000); - h_pngc_adcPulseInt[3] = new TH1F ("pngc_adcPulseInt4", "Raw Pulse Integral PMT4; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_adcPulseAmp[0] = new TH1F ("pngc_adcPulseAmp1", "Raw Pulse Amp PMT1; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_adcPulseAmp[1] = new TH1F ("pngc_adcPulseAmp2", "Raw Pulse Amp PMT2; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_adcPulseAmp[2] = new TH1F ("pngc_adcPulseAmp3", "Raw Pulse Amp PMT3; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_adcPulseAmp[3] = new TH1F ("pngc_adcPulseAmp4", "Raw Pulse Amp PMT4; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_adcPulseTimeRaw[0] = new TH1F ("pngc_adcPulseTimeRaw1", "Raw Pulse TimeRaw PMT1; PulseTimeRaw; Counts", bins, adc_min, adc_max); - h_pngc_adcPulseTimeRaw[1] = new TH1F ("pngc_adcPulseTimeRaw2", "Raw Pulse TimeRaw PMT2; PulseTimeRaw; Counts", bins, adc_min, adc_max); - h_pngc_adcPulseTimeRaw[2] = new TH1F ("pngc_adcPulseTimeRaw3", "Raw Pulse TimeRaw PMT3; PulseTimeRaw; Counts", bins, adc_min, adc_max); - h_pngc_adcPulseTimeRaw[3] = new TH1F ("pngc_adcPulseTimeRaw4", "Raw Pulse TimeRaw PMT4; PulseTimeRaw; Counts", bins, adc_min, adc_max); - - h2_pngc_pulseTime_pT1_diff = new TH2F("pngc_h2_pulseTime_pT1_diff", "SHMS Noble Gas Cherenkov ADC Pulse Time - T1; PMT Number; ADC Pulse Time - Trigger 1 Time (ns)", nngc_pmts, 0.5, nngc_pmts + 0.5, 300, -300, 0); - h2_pngc_pulseTime_pT2_diff = new TH2F("pngc_h2_pulseTime_pT2_diff", "SHMS Noble Gas Cherenkov ADC Pulse Time - T2; PMT Number; ADC Pulse Time - Trigger 2 Time (ns)", nngc_pmts, 0.5, nngc_pmts + 0.5, 300, -300, 0); - h2_pngc_pulseTime_pT3_diff = new TH2F("pngc_h2_pulseTime_pT3_diff", "SHMS Noble Gas Cherenkov ADC Pulse Time - T3; PMT Number; ADC Pulse Time - Trigger 3 Time (ns)", nngc_pmts, 0.5, nngc_pmts + 0.5, 300, -300, 0); - - h_pngc_quad1_pulseInt_e[0] = new TH1F ("pngc_quad1_pulseInt_e1", "Electrons in Quadrant 1 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad1_pulseInt_e[1] = new TH1F ("pngc_quad1_pulseInt_e2", "Electrons in Quadrant 1 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad1_pulseInt_e[2] = new TH1F ("pngc_quad1_pulseInt_e3", "Electrons in Quadrant 1 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad1_pulseInt_e[3] = new TH1F ("pngc_quad1_pulseInt_e4", "Electrons in Quadrant 1 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad1_pulseInt_pi[0] = new TH1F ("pngc_quad1_pulseInt_pi1", "Pions in Quadrant 1 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad1_pulseInt_pi[1] = new TH1F ("pngc_quad1_pulseInt_pi2", "Pions in Quadrant 1 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad1_pulseInt_pi[2] = new TH1F ("pngc_quad1_pulseInt_pi3", "Pions in Quadrant 1 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad1_pulseInt_pi[3] = new TH1F ("pngc_quad1_pulseInt_pi4", "Pions in Quadrant 1 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad1_pulseInt_sum[0] = new TH1F ("pngc_quad1_pulseInt_sum1", "Sum in Quadrant 1 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad1_pulseInt_sum[1] = new TH1F ("pngc_quad1_pulseInt_sum2", "Sum in Quadrant 1 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad1_pulseInt_sum[2] = new TH1F ("pngc_quad1_pulseInt_sum3", "Sum in Quadrant 1 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad1_pulseInt_sum[3] = new TH1F ("pngc_quad1_pulseInt_sum4", "Sum in Quadrant 1 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad2_pulseInt_e[0] = new TH1F ("pngc_quad2_pulseInt_e1", "Electrons in Quadrant 2 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad2_pulseInt_e[1] = new TH1F ("pngc_quad2_pulseInt_e2", "Electrons in Quadrant 2 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad2_pulseInt_e[2] = new TH1F ("pngc_quad2_pulseInt_e3", "Electrons in Quadrant 2 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad2_pulseInt_e[3] = new TH1F ("pngc_quad2_pulseInt_e4", "Electrons in Quadrant 2 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad2_pulseInt_pi[0] = new TH1F ("pngc_quad2_pulseInt_pi1", "Pions in Quadrant 2 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad2_pulseInt_pi[1] = new TH1F ("pngc_quad2_pulseInt_pi2", "Pions in Quadrant 2 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad2_pulseInt_pi[2] = new TH1F ("pngc_quad2_pulseInt_pi3", "Pions in Quadrant 2 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad2_pulseInt_pi[3] = new TH1F ("pngc_quad2_pulseInt_pi4", "Pions in Quadrant 2 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad2_pulseInt_sum[0] = new TH1F ("pngc_quad2_pulseInt_sum1", "Sum in Quadrant 2 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad2_pulseInt_sum[1] = new TH1F ("pngc_quad2_pulseInt_sum2", "Sum in Quadrant 2 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad2_pulseInt_sum[2] = new TH1F ("pngc_quad2_pulseInt_sum3", "Sum in Quadrant 2 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad2_pulseInt_sum[3] = new TH1F ("pngc_quad2_pulseInt_sum4", "Sum in Quadrant 2 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad3_pulseInt_e[0] = new TH1F ("pngc_quad3_pulseInt_e1", "Electrons in Quadrant 3 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad3_pulseInt_e[1] = new TH1F ("pngc_quad3_pulseInt_e2", "Electrons in Quadrant 3 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad3_pulseInt_e[2] = new TH1F ("pngc_quad3_pulseInt_e3", "Electrons in Quadrant 3 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad3_pulseInt_e[3] = new TH1F ("pngc_quad3_pulseInt_e4", "Electrons in Quadrant 3 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad3_pulseInt_pi[0] = new TH1F ("pngc_quad3_pulseInt_pi1", "Pions in Quadrant 3 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad3_pulseInt_pi[1] = new TH1F ("pngc_quad3_pulseInt_pi2", "Pions in Quadrant 3 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad3_pulseInt_pi[2] = new TH1F ("pngc_quad3_pulseInt_pi3", "Pions in Quadrant 3 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad3_pulseInt_pi[3] = new TH1F ("pngc_quad3_pulseInt_pi4", "Pions in Quadrant 3 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad3_pulseInt_sum[0] = new TH1F ("pngc_quad3_pulseInt_sum1", "Sum in Quadrant 3 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad3_pulseInt_sum[1] = new TH1F ("pngc_quad3_pulseInt_sum2", "Sum in Quadrant 3 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad3_pulseInt_sum[2] = new TH1F ("pngc_quad3_pulseInt_sum3", "Sum in Quadrant 3 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad3_pulseInt_sum[3] = new TH1F ("pngc_quad3_pulseInt_sum4", "Sum in Quadrant 3 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad4_pulseInt_e[0] = new TH1F ("pngc_quad4_pulseInt_e1", "Electrons in Quadrant 4 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad4_pulseInt_e[1] = new TH1F ("pngc_quad4_pulseInt_e2", "Electrons in Quadrant 4 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad4_pulseInt_e[2] = new TH1F ("pngc_quad4_pulseInt_e3", "Electrons in Quadrant 4 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad4_pulseInt_e[3] = new TH1F ("pngc_quad4_pulseInt_e4", "Electrons in Quadrant 4 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad4_pulseInt_pi[0] = new TH1F ("pngc_quad4_pulseInt_pi1", "Pions in Quadrant 4 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad4_pulseInt_pi[1] = new TH1F ("pngc_quad4_pulseInt_pi2", "Pions in Quadrant 4 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad4_pulseInt_pi[2] = new TH1F ("pngc_quad4_pulseInt_pi3", "Pions in Quadrant 4 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad4_pulseInt_pi[3] = new TH1F ("pngc_quad4_pulseInt_pi4", "Pions in Quadrant 4 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad4_pulseInt_sum[0] = new TH1F ("pngc_quad4_pulseInt_sum1", "Sum in Quadrant 4 PMT1 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad4_pulseInt_sum[1] = new TH1F ("pngc_quad4_pulseInt_sum2", "Sum in Quadrant 4 PMT2 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad4_pulseInt_sum[2] = new TH1F ("pngc_quad4_pulseInt_sum3", "Sum in Quadrant 4 PMT3 pulseInt; PulseInt; Counts", 14500, -500, 14000); - h_pngc_quad4_pulseInt_sum[3] = new TH1F ("pngc_quad4_pulseInt_sum4", "Sum in Quadrant 4 PMT4 pulseInt; PulseInt; Counts", 14500, -500, 14000); - - h_pngc_quad1_pulseAmp_e[0] = new TH1F ("pngc_quad1_pulseAmp_e1", "Electrons in Quadrant 1 PMT1 pulseAmp; PulseAmp; Counts", 4000, -500, 14000); - h_pngc_quad1_pulseAmp_e[1] = new TH1F ("pngc_quad1_pulseAmp_e2", "Electrons in Quadrant 1 PMT2 pulseAmp; PulseAmp; Counts", 4000, -500, 14000); - h_pngc_quad1_pulseAmp_e[2] = new TH1F ("pngc_quad1_pulseAmp_e3", "Electrons in Quadrant 1 PMT3 pulseAmp; PulseAmp; Counts", 4000, -500, 14000); - h_pngc_quad1_pulseAmp_e[3] = new TH1F ("pngc_quad1_pulseAmp_e4", "Electrons in Quadrant 1 PMT4 pulseAmp; PulseAmp; Counts", 4000, -500, 14000); - - h_pngc_quad1_pulseAmp_pi[0] = new TH1F ("pngc_quad1_pulseAmp_pi1", "Pions in Quadrant 1 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad1_pulseAmp_pi[1] = new TH1F ("pngc_quad1_pulseAmp_pi2", "Pions in Quadrant 1 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad1_pulseAmp_pi[2] = new TH1F ("pngc_quad1_pulseAmp_pi3", "Pions in Quadrant 1 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad1_pulseAmp_pi[3] = new TH1F ("pngc_quad1_pulseAmp_pi4", "Pions in Quadrant 1 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad1_pulseAmp_sum[0] = new TH1F ("pngc_quad1_pulseAmp_sum1", "Sum in Quadrant 1 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad1_pulseAmp_sum[1] = new TH1F ("pngc_quad1_pulseAmp_sum2", "Sum in Quadrant 1 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad1_pulseAmp_sum[2] = new TH1F ("pngc_quad1_pulseAmp_sum3", "Sum in Quadrant 1 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad1_pulseAmp_sum[3] = new TH1F ("pngc_quad1_pulseAmp_sum4", "Sum in Quadrant 1 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad2_pulseAmp_e[0] = new TH1F ("pngc_quad2_pulseAmp_e1", "Electrons in Quadrant 2 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad2_pulseAmp_e[1] = new TH1F ("pngc_quad2_pulseAmp_e2", "Electrons in Quadrant 2 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad2_pulseAmp_e[2] = new TH1F ("pngc_quad2_pulseAmp_e3", "Electrons in Quadrant 2 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad2_pulseAmp_e[3] = new TH1F ("pngc_quad2_pulseAmp_e4", "Electrons in Quadrant 2 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad2_pulseAmp_pi[0] = new TH1F ("pngc_quad2_pulseAmp_pi1", "Pions in Quadrant 2 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad2_pulseAmp_pi[1] = new TH1F ("pngc_quad2_pulseAmp_pi2", "Pions in Quadrant 2 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad2_pulseAmp_pi[2] = new TH1F ("pngc_quad2_pulseAmp_pi3", "Pions in Quadrant 2 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad2_pulseAmp_pi[3] = new TH1F ("pngc_quad2_pulseAmp_pi4", "Pions in Quadrant 2 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad2_pulseAmp_sum[0] = new TH1F ("pngc_quad2_pulseAmp_sum1", "Sum in Quadrant 2 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad2_pulseAmp_sum[1] = new TH1F ("pngc_quad2_pulseAmp_sum2", "Sum in Quadrant 2 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad2_pulseAmp_sum[2] = new TH1F ("pngc_quad2_pulseAmp_sum3", "Sum in Quadrant 2 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad2_pulseAmp_sum[3] = new TH1F ("pngc_quad2_pulseAmp_sum4", "Sum in Quadrant 2 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad3_pulseAmp_e[0] = new TH1F ("pngc_quad3_pulseAmp_e1", "Electrons in Quadrant 3 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad3_pulseAmp_e[1] = new TH1F ("pngc_quad3_pulseAmp_e2", "Electrons in Quadrant 3 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad3_pulseAmp_e[2] = new TH1F ("pngc_quad3_pulseAmp_e3", "Electrons in Quadrant 3 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad3_pulseAmp_e[3] = new TH1F ("pngc_quad3_pulseAmp_e4", "Electrons in Quadrant 3 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad3_pulseAmp_pi[0] = new TH1F ("pngc_quad3_pulseAmp_pi1", "Pions in Quadrant 3 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad3_pulseAmp_pi[1] = new TH1F ("pngc_quad3_pulseAmp_pi2", "Pions in Quadrant 3 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad3_pulseAmp_pi[2] = new TH1F ("pngc_quad3_pulseAmp_pi3", "Pions in Quadrant 3 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad3_pulseAmp_pi[3] = new TH1F ("pngc_quad3_pulseAmp_pi4", "Pions in Quadrant 3 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad3_pulseAmp_sum[0] = new TH1F ("pngc_quad3_pulseAmp_sum1", "Sum in Quadrant 3 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad3_pulseAmp_sum[1] = new TH1F ("pngc_quad3_pulseAmp_sum2", "Sum in Quadrant 3 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad3_pulseAmp_sum[2] = new TH1F ("pngc_quad3_pulseAmp_sum3", "Sum in Quadrant 3 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad3_pulseAmp_sum[3] = new TH1F ("pngc_quad3_pulseAmp_sum4", "Sum in Quadrant 3 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad4_pulseAmp_e[0] = new TH1F ("pngc_quad4_pulseAmp_e1", "Electrons in Quadrant 4 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad4_pulseAmp_e[1] = new TH1F ("pngc_quad4_pulseAmp_e2", "Electrons in Quadrant 4 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad4_pulseAmp_e[2] = new TH1F ("pngc_quad4_pulseAmp_e3", "Electrons in Quadrant 4 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad4_pulseAmp_e[3] = new TH1F ("pngc_quad4_pulseAmp_e4", "Electrons in Quadrant 4 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad4_pulseAmp_pi[0] = new TH1F ("pngc_quad4_pulseAmp_pi1", "Pions in Quadrant 4 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad4_pulseAmp_pi[1] = new TH1F ("pngc_quad4_pulseAmp_pi2", "Pions in Quadrant 4 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad4_pulseAmp_pi[2] = new TH1F ("pngc_quad4_pulseAmp_pi3", "Pions in Quadrant 4 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad4_pulseAmp_pi[3] = new TH1F ("pngc_quad4_pulseAmp_pi4", "Pions in Quadrant 4 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - h_pngc_quad4_pulseAmp_sum[0] = new TH1F ("pngc_quad4_pulseAmp_sum1", "Sum in Quadrant 4 PMT1 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad4_pulseAmp_sum[1] = new TH1F ("pngc_quad4_pulseAmp_sum2", "Sum in Quadrant 4 PMT2 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad4_pulseAmp_sum[2] = new TH1F ("pngc_quad4_pulseAmp_sum3", "Sum in Quadrant 4 PMT3 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - h_pngc_quad4_pulseAmp_sum[3] = new TH1F ("pngc_quad4_pulseAmp_sum4", "Sum in Quadrant 4 PMT4 pulseAmp; PulseAmp; Counts", 4000, 0, 4000); - - //Tracking Information - h2_ptrk_fp = new TH2F("ptrk_h2_fp", "Tracking Information in Focal Plane; x Dimension; y Dimension", 100, -50, 50, 100, -50, 50); - h2_ptrk_fp_e = new TH2F("ptrk_h2_fp_e", "Tracking Information in Focal Plane with electron cuts; x Dimension; y Dimension", 100, -50, 50, 100, -50, 50); - h2_ptrk_fp_pi = new TH2F("ptrk_h2_fp_pi", "Tracking Information in Focal Plane with pion cuts; x Dimension; y Dimension", 100, -50, 50, 100, -50, 50); - - h2_ptrk_ngc_sum = new TH2F("ptrk_h2_ngc_sum", "Tracking Information in NGC; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_ngc_sum_noped = new TH2F("ptrk_h2_ngc_sum_noped", "Tracking Information in NGC, Pedistal Removed; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_ngc_sum_ped = new TH2F("ptrk_h2_ngc_sum_ped", "Tracking Information in NGC, Pedistal Only; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - - h2_ptrk_hgc_e = new TH2F("ptrk_h2_hgc_e", "Tracking Information in HGC with electron cuts; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_hgc_pi = new TH2F("ptrk_h2_hgc_pi", "Tracking Information in HGC with pion cuts; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_hgc_sum = new TH2F("ptrk_h2_hgc_sum", "Tracking Information in HGC; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - - h2_ptrk_hgc[0] = new TH2F("ptrk_h2_hgc1_PulseInt", "Tracking Information in HGC for PMT1 weighted with PulseInt; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_hgc[1] = new TH2F("ptrk_h2_hgc2_PulseInt", "Tracking Information in HGC for PMT2 weighted with PulseInt; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_hgc[2] = new TH2F("ptrk_h2_hgc3_PulseInt", "Tracking Information in HGC for PMT3 weighted with PulseInt; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_hgc[3] = new TH2F("ptrk_h2_hgc4_PulseInt", "Tracking Information in HGC for PMT4 weighted with PulseInt; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - - h2_ptrk_hgc_adcAmp[0] = new TH2F("ptrk_h2_hgc1_PulseAmp", "Tracking Information in HGC for PMT1 weighted with PulseAmp; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_hgc_adcAmp[1] = new TH2F("ptrk_h2_hgc2_PulseAmp", "Tracking Information in HGC for PMT2 weighted with PulseAmp; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_hgc_adcAmp[2] = new TH2F("ptrk_h2_hgc3_PulseAmp", "Tracking Information in HGC for PMT3 weighted with PulseAmp; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - h2_ptrk_hgc_adcAmp[3] = new TH2F("ptrk_h2_hgc4_PulseAmp", "Tracking Information in HGC for PMT4 weighted with PulseAmp; x Dimension; y Dimension", 100, -70, 70, 100, -70, 70); - - h3_ptrk_hgc_adcInt2NPE[0] = new TH3F("ptrk_h3_hgc_adcInt2NPE1", "Tracking Information in HGC for PMT1 in NPE; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcInt2NPE[1] = new TH3F("ptrk_h3_hgc_adcInt2NPE2", "Tracking Information in HGC for PMT2 in NPE; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcInt2NPE[2] = new TH3F("ptrk_h3_hgc_adcInt2NPE3", "Tracking Information in HGC for PMT3 in NPE; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcInt2NPE[3] = new TH3F("ptrk_h3_hgc_adcInt2NPE4", "Tracking Information in HGC for PMT4 in NPE; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - - h3_ptrk_hgc_adcInt2NPE_e[0] = new TH3F("ptrk_h3_hgc_adcInt2NPE_e1", "Tracking Information in HGC for PMT1 in NPE with electron cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcInt2NPE_e[1] = new TH3F("ptrk_h3_hgc_adcInt2NPE_e2", "Tracking Information in HGC for PMT2 in NPE with electron cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcInt2NPE_e[2] = new TH3F("ptrk_h3_hgc_adcInt2NPE_e3", "Tracking Information in HGC for PMT3 in NPE with electron cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcInt2NPE_e[3] = new TH3F("ptrk_h3_hgc_adcInt2NPE_e4", "Tracking Information in HGC for PMT4 in NPE with electron cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - - h3_ptrk_hgc_adcInt2NPE_pi[0] = new TH3F("ptrk_h3_hgc_adcInt2NPE_pi1", "Tracking Information in HGC for PMT1 in NPE with pion cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcInt2NPE_pi[1] = new TH3F("ptrk_h3_hgc_adcInt2NPE_pi2", "Tracking Information in HGC for PMT2 in NPE with pion cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcInt2NPE_pi[2] = new TH3F("ptrk_h3_hgc_adcInt2NPE_pi3", "Tracking Information in HGC for PMT3 in NPE with pion cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcInt2NPE_pi[3] = new TH3F("ptrk_h3_hgc_adcInt2NPE_pi4", "Tracking Information in HGC for PMT4 in NPE with pion cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - - h3_ptrk_hgc_adcAmp2NPE[0] = new TH3F("ptrk_h3_hgc_adcAmp2NPE1", "Tracking Information in HGC for PMT1 in NPE; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcAmp2NPE[1] = new TH3F("ptrk_h3_hgc_adcAmp2NPE2", "Tracking Information in HGC for PMT2 in NPE; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcAmp2NPE[2] = new TH3F("ptrk_h3_hgc_adcAmp2NPE3", "Tracking Information in HGC for PMT3 in NPE; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - h3_ptrk_hgc_adcAmp2NPE[3] = new TH3F("ptrk_h3_hgc_adcAmp2NPE4", "Tracking Information in HGC for PMT4 in NPE; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, bins, 0, 20); - - h3_ptrk_hgc_adcInt2NPE_full = new TH3F("ptrk_h3_hgc_adcInt2NPE_full", "Tracking Information in HGC for all PMTs; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, 20, 0, 20); - h3_ptrk_hgc_adcInt2NPE_full_e = new TH3F("ptrk_h3_hgc_adcInt2NPE_full_e", "Tracking Information in HGC for all PMTs with electron cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, 20, 0, 20); - h3_ptrk_hgc_adcInt2NPE_full_pi = new TH3F("ptrk_h3_hgc_adcInt2NPE_full_pi", "Tracking Information in HGC for all PMTs with pion cuts; x Dimension; y Dimension; NPE", 100, -70, 70, 100, -70, 70, 20, 0, 20); - - h_ptrk_beta = new TH1F("ptrk_h_beta", "Beta Quantity from Tracking; Beta; Counts", 200, -5, 5); - - //Combination of Detectors - h2_pshwr_vs_phgcer = new TH2F ("pcom_h2_pshwr_vs_phgcer", "Pre-Shower vs. HGC; HGC NPE; Shower+Pre-Shower Energy (GeV)", 60, -10, 20, 100, 0, 20); - h2_pshwr_vs_pngc = new TH2F ("pcom_h2_pshwr_vs_pngc", "Pre-Shower vs. NGC; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_ppshwr = new TH2F("pcom_h2_pshwr_vs_ppshwr", "Pre-Shower vs. Shower; Shower Energy (GeV); Pre-Shower Energy (GeV)", 100, 0, 20, 100, 0, 20); - - h2_pshwr_vs_pngc_ecut = new TH2F ("pcom_h2_pshwr_vs_pngc_ecut", "Pre-Shower vs. NGC only Electrons; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_picut = new TH2F ("pcom_h2_pshwr_vs_pngc_picut", "Pre-Shower vs. NGC only Pions; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - - h2_pshwr_vs_pngc_ecut_pmt[0] = new TH2F ("pcom_h2_pshwr_vs_pngc_ecut_pmt1", "Pre-Shower vs. NGC only Electrons PMT1; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_ecut_pmt[1] = new TH2F ("pcom_h2_pshwr_vs_pngc_ecut_pmt2", "Pre-Shower vs. NGC only Electrons PMT2; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_ecut_pmt[2] = new TH2F ("pcom_h2_pshwr_vs_pngc_ecut_pmt3", "Pre-Shower vs. NGC only Electrons PMT3; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_ecut_pmt[3] = new TH2F ("pcom_h2_pshwr_vs_pngc_ecut_pmt4", "Pre-Shower vs. NGC only Electrons PMT4; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - - h2_pshwr_vs_pngc_picut_pmt[0] = new TH2F ("pcom_h2_pshwr_vs_pngc_picut_pmt1", "Pre-Shower vs. NGC only Pions PMT1; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_picut_pmt[1] = new TH2F ("pcom_h2_pshwr_vs_pngc_picut_pmt2", "Pre-Shower vs. NGC only Pions PMT2; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_picut_pmt[2] = new TH2F ("pcom_h2_pshwr_vs_pngc_picut_pmt3", "Pre-Shower vs. NGC only Pions PMT3; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_picut_pmt[3] = new TH2F ("pcom_h2_pshwr_vs_pngc_picut_pmt4", "Pre-Shower vs. NGC only Pions PMT4; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - - h2_pshwr_vs_phgc_ecut = new TH2F ("pcom_h2_pshwr_vs_phgc_ecut", "Pre-Shower vs. HGC only Electrons; HGC NPE; Shower+Pre-Shower Energy (GeV)", 60, -10, 20, 100, 0, 20); - h2_pshwr_vs_phgc_picut = new TH2F ("pcom_h2_pshwr_vs_phgc_picut", "Pre-Shower vs. HGC only Pions; HGC NPE; Shower+Pre-Shower Energy (GeV)", 60, -10, 20, 100, 0, 20); - - h2_pshwr_vs_pngc_latetcut[0] = new TH2F ("pcom_h2_pshwr_vs_pngc_latetcut1", "Pre-Shower vs. NGC later time PMT1; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_latetcut[1] = new TH2F ("pcom_h2_pshwr_vs_pngc_latetcut2", "Pre-Shower vs. NGC later time PMT2; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_latetcut[2] = new TH2F ("pcom_h2_pshwr_vs_pngc_latetcut3", "Pre-Shower vs. NGC later time PMT3; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_latetcut[3] = new TH2F ("pcom_h2_pshwr_vs_pngc_latetcut4", "Pre-Shower vs. NGC later time PMT4; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - - h2_pshwr_vs_pngc_earlytcut[0] = new TH2F ("pcom_h2_pshwr_vs_pngc_earlytcut1", "Pre-Shower vs. NGC earlier time PMT1; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_earlytcut[1] = new TH2F ("pcom_h2_pshwr_vs_pngc_earlytcut2", "Pre-Shower vs. NGC earlier time PMT2; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_earlytcut[2] = new TH2F ("pcom_h2_pshwr_vs_pngc_earlytcut3", "Pre-Shower vs. NGC earlier time PMT3; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - h2_pshwr_vs_pngc_earlytcut[3] = new TH2F ("pcom_h2_pshwr_vs_pngc_earlytcut4", "Pre-Shower vs. NGC earlier time PMT4; NGC PulseInt; Shower+Pre-Shower Energy (GeV)", 100, 0, 10000, 100, 0, 20); - - h_phgc_ecut_shwr[0] = new TH1F ("pcom_phgc_ecut_shwr1", "Electrons in HGC using Shower PMT1; PulseInt; Counts", bins, adc_min, adc_max); - h_phgc_ecut_shwr[1] = new TH1F ("pcom_phgc_ecut_shwr2", "Electrons in HGC using Shower PMT2; PulseInt; Counts", bins, adc_min, adc_max); - h_phgc_ecut_shwr[2] = new TH1F ("pcom_phgc_ecut_shwr3", "Electrons in HGC using Shower PMT3; PulseInt; Counts", bins, adc_min, adc_max); - h_phgc_ecut_shwr[3] = new TH1F ("pcom_phgc_ecut_shwr4", "Electrons in HGC using Shower PMT4; PulseInt; Counts", bins, adc_min, adc_max); - - h_phgc_picut_shwr[0] = new TH1F ("pcom_phgc_picut_shwr1", "Pions in HGC using Shower PMT1; PulseInt; Counts", bins, adc_min, adc_max); - h_phgc_picut_shwr[1] = new TH1F ("pcom_phgc_picut_shwr2", "Pions in HGC using Shower PMT2; PulseInt; Counts", bins, adc_min, adc_max); - h_phgc_picut_shwr[2] = new TH1F ("pcom_phgc_picut_shwr3", "Pions in HGC using Shower PMT3; PulseInt; Counts", bins, adc_min, adc_max); - h_phgc_picut_shwr[3] = new TH1F ("pcom_phgc_picut_shwr4", "Pions in HGC using Shower PMT4; PulseInt; Counts", bins, adc_min, adc_max); - - h2_EdivP_vs_P = new TH2F ("pcom_h2_EdivP_vs_P", "SHMS E/p vs. p; p (geV); E/p", 600, 0, 6, 100, 0, 1); - - //Loop of entries in tree - cout << "Number of entries found: " << nentries << endl; - - //Quantities used across detectors - Double_t pngc_NPE; - Double_t phgc_NPE; - - for (UInt_t ievent = 0; ievent < nentries; ievent++) - { - T->GetEntry(ievent); - - if ((ievent)%1000 == 0) - { - cout << "ievent = " << ievent << endl; - } - - if (ntracks != 1) continue; - for (UInt_t itrack = 0; itrack < ntracks; itrack++) - { - //Quantities for Particle ID cuts - phgc_NPE = 0; - for (UInt_t ipmt = 0; ipmt < nhgc_pmts; ipmt++) - { - phgc_NPE = phgc_pulseInt[ipmt]*hgc_adcInt2npe_pulseInt[ipmt]; - } - pngc_NPE = 0; - for (UInt_t ipmt = 0; ipmt < nngc_pmts; ipmt++) - { - pngc_NPE = pngc_pulseInt[ipmt]*ngc_adc2npe[ipmt]; - } - - //h_ptrk_beta->Fill(trk_beta[itrack]); - if (TMath::Abs(trk_beta[itrack] - 1.) > 0.2) continue; - - //Fill "Good" Hit Histos - for (UInt_t igoodhit = 0; igoodhit < p1X_nGoodHodoHits; igoodhit++) - {/* - h2_p1X_negTdcCorr->Fill(p1X_goodPaddle[igoodhit], p1X_goodNegTdcTimeCorr[igoodhit]); - h2_p1X_posTdcCorr->Fill(p1X_goodPaddle[igoodhit], p1X_goodPosTdcTimeCorr[igoodhit]); - h2_p1X_tdcCorrDiff->Fill(p1X_goodPaddle[igoodhit], p1X_goodPosTdcTimeCorr[igoodhit] - p1X_goodNegTdcTimeCorr[igoodhit]); - if (TMath::Abs(p1X_goodPosTdcTimeCorr[igoodhit] - p1X_goodNegTdcTimeCorr[igoodhit]) > 0.1) continue; - h_p1X_plTime->Fill(p1X_goodPosTdcTimeCorr[igoodhit]);//*/ - }//End of p1X Good Hodo Loop - - for (UInt_t igoodhit = 0; igoodhit < p1Y_nGoodHodoHits; igoodhit++) - {/* - h2_p1Y_negTdcCorr->Fill(p1Y_goodPaddle[igoodhit], p1Y_goodNegTdcTimeCorr[igoodhit]); - h2_p1Y_posTdcCorr->Fill(p1Y_goodPaddle[igoodhit], p1Y_goodPosTdcTimeCorr[igoodhit]); - h2_p1Y_tdcCorrDiff->Fill(p1Y_goodPaddle[igoodhit], p1Y_goodPosTdcTimeCorr[igoodhit] - p1Y_goodNegTdcTimeCorr[igoodhit]); - if (TMath::Abs(p1Y_goodPosTdcTimeCorr[igoodhit] - p1Y_goodNegTdcTimeCorr[igoodhit]) > 0.1) continue; - h_p1Y_plTime->Fill(p1Y_goodPosTdcTimeCorr[igoodhit]);//*/ - }//End of p1Y Good Hodo Loop - - for (UInt_t igoodhit = 0; igoodhit < p2X_nGoodHodoHits; igoodhit++) - {/* - h2_p2X_negTdcCorr->Fill(p2X_goodPaddle[igoodhit], p2X_goodNegTdcTimeCorr[igoodhit]); - h2_p2X_posTdcCorr->Fill(p2X_goodPaddle[igoodhit], p2X_goodPosTdcTimeCorr[igoodhit]); - h2_p2X_tdcCorrDiff->Fill(p2X_goodPaddle[igoodhit], p2X_goodPosTdcTimeCorr[igoodhit] - p2X_goodNegTdcTimeCorr[igoodhit]); - if (TMath::Abs(p2X_goodPosTdcTimeCorr[igoodhit] - p2X_goodNegTdcTimeCorr[igoodhit]) > 0.1) continue; - h_p2X_plTime->Fill(p2X_goodPosTdcTimeCorr[igoodhit]);//*/ - }//End of p2X Good Hodo Loop - - for (UInt_t igoodhit = 0; igoodhit < p2Y_nGoodHodoHits; igoodhit++) - {/* - h2_p2Y_negTdcCorr->Fill(p2Y_goodPaddle[igoodhit], p2Y_goodNegTdcTimeCorr[igoodhit]); - h2_p2Y_posTdcCorr->Fill(p2Y_goodPaddle[igoodhit], p2Y_goodPosTdcTimeCorr[igoodhit]); - h2_p2Y_tdcCorrDiff->Fill(p2Y_goodPaddle[igoodhit], p2Y_goodPosTdcTimeCorr[igoodhit] - p2Y_goodNegTdcTimeCorr[igoodhit]); - if (TMath::Abs(p2Y_goodPosTdcTimeCorr[igoodhit] - p2Y_goodNegTdcTimeCorr[igoodhit]) > 0.1) continue; - h_p2Y_plTime->Fill(p2Y_goodPosTdcTimeCorr[igoodhit]);//*/ - }//End of p2Y Good Hodo Loop - - //Fill Pulse/TDC Time Difference Histos - for (UInt_t iadchit = 0; iadchit < p1X_negAdcHits; iadchit++) - { - for (UInt_t itdchit = 0; itdchit < p1X_negTdcHits; itdchit++) - {/* - if (p1X_negAdcPaddle[iadchit] != p1X_negTdcPaddle[itdchit]) continue; - h2_p1Xneg_pt_tt_diff->Fill(p1X_negAdcPaddle[iadchit], p1X_negAdcPulseTime[iadchit]*clk2adc - p1X_negTdcTime[itdchit]*clk2tdc);//*/ - } - }//Neg p1X Time Corrected? - - for (UInt_t iadchit = 0; iadchit < p1Y_negAdcHits; iadchit++) - { - for (UInt_t itdchit = 0; itdchit < p1Y_negTdcHits; itdchit++) - {///* - if (p1Y_negAdcPaddle[iadchit] != p1Y_negTdcPaddle[itdchit]) continue; - //h2_p1Yneg_pt_tt_diff->Fill(p1Y_negAdcPaddle[iadchit], p1Y_negAdcPulseTime[iadchit]*clk2adc - p1Y_negTdcTime[itdchit]*clk2tdc);//*/ - } - }//Neg p1Y Time Corrected? - - for (UInt_t iadchit = 0; iadchit < p2X_negAdcHits; iadchit++) - { - for (UInt_t itdchit = 0; itdchit < p2X_negTdcHits; itdchit++) - {/* - if (p2X_negAdcPaddle[iadchit] != p2X_negTdcPaddle[itdchit]) continue; - h2_p2Xneg_pt_tt_diff->Fill(p2X_negAdcPaddle[iadchit], p2X_negAdcPulseTime[iadchit]*clk2adc - p2X_negTdcTime[itdchit]*clk2tdc);//*/ - } - }//Neg p2X Time Corrected? - - for (UInt_t iadchit = 0; iadchit < p2Y_negAdcHits; iadchit++) - { - for (UInt_t itdchit = 0; itdchit < p2Y_negTdcHits; itdchit++) - {///* - if (p2Y_negAdcPaddle[iadchit] != p2Y_negTdcPaddle[itdchit]) continue; - //h2_p2Yneg_pt_tt_diff->Fill(p2Y_negAdcPaddle[iadchit], p2Y_negAdcPulseTime[iadchit]*clk2adc - p2Y_negTdcTime[itdchit]*clk2tdc);//*/ - } - }//Neg p2Y Time Corrected? - - for (UInt_t iadchit = 0; iadchit < p1X_posAdcHits; iadchit++) - { - for (UInt_t itdchit = 0; itdchit < p1X_posTdcHits; itdchit++) - {/* - if (p1X_posAdcPaddle[iadchit] != p1X_posTdcPaddle[itdchit]) continue; - h2_p1Xpos_pt_tt_diff->Fill(p1X_posAdcPaddle[iadchit], p1X_posAdcPulseTime[iadchit]*clk2adc - p1X_posTdcTime[itdchit]*clk2tdc);//*/ - } - }//Pos p1X Time Corrected? - - for (UInt_t iadchit = 0; iadchit < p1Y_posAdcHits; iadchit++) - { - for (UInt_t itdchit = 0; itdchit < p1Y_posTdcHits; itdchit++) - {/* - if (p1Y_nGoodHodoHits < 1) continue; - if (p1Y_posAdcPaddle[iadchit] != p1Y_posTdcPaddle[itdchit]) continue; - h2_p1Ypos_pt_tt_diff->Fill(p1Y_posAdcPaddle[iadchit], p1Y_posAdcPulseTime[iadchit]*clk2adc - p1Y_posTdcTime[itdchit]*clk2tdc);//*/ - } - }//Pos p1Y Time Corrected? - - for (UInt_t iadchit = 0; iadchit < p2X_posAdcHits; iadchit++) - { - for (UInt_t itdchit = 0; itdchit < p2X_posTdcHits; itdchit++) - {/* - if (p2X_posAdcPaddle[iadchit] != p2X_posTdcPaddle[itdchit]) continue; - h2_p2Xpos_pt_tt_diff->Fill(p2X_posAdcPaddle[iadchit], p2X_posAdcPulseTime[iadchit]*clk2adc - p2X_posTdcTime[itdchit]*clk2tdc);//*/ - } - }//Pos p2X Time Corrected? - - for (UInt_t iadchit = 0; iadchit < p2Y_posAdcHits; iadchit++) - { - for (UInt_t itdchit = 0; itdchit < p2Y_posTdcHits; itdchit++) - {/* - if (p2Y_posAdcPaddle[iadchit] != p2Y_posTdcPaddle[itdchit]) continue; - h2_p2Ypos_pt_tt_diff->Fill(p2Y_posAdcPaddle[iadchit], p2Y_posAdcPulseTime[iadchit]*clk2adc - p2Y_posTdcTime[itdchit]*clk2tdc);//*/ - } - }//Pos p2Y Time Corrected? - - //Fill Trigger Time Histos - /* - if (p1X_tdcTime != 0.0) h_p1X_tdc->Fill(p1X_tdcTime*clk2tdc); - if (p1Y_tdcTime != 0.0) h_p1Y_tdc->Fill(p1Y_tdcTime*clk2tdc); - if (p2X_tdcTime != 0.0) h_p2X_tdc->Fill(p2X_tdcTime*clk2tdc); - if (p2Y_tdcTime != 0.0) h_p2Y_tdc->Fill(p2Y_tdcTime*clk2tdc); - if (p1T_tdcTime != 0.0) h_p1T_tdc->Fill(p1T_tdcTime*clk2tdc); - if (p2T_tdcTime != 0.0) h_p2T_tdc->Fill(p2T_tdcTime*clk2tdc); - - h_pT1_tdc->Fill(pT1_tdcTime*clk2tdc); - h_pT2_tdc->Fill(pT2_tdcTime*clk2tdc); - h_pT3_tdc->Fill(pT3_tdcTime*clk2tdc);//*/ - - for (UInt_t iref = 0; iref < ndcRefTimes; iref++) - { - //h_pDCREF_tdc[iref]->Fill(pDCREF_tdcTime[iref]*clk2tdc); - } - /* - if (p1X_tdcTime != 0.0) h_p1XmpT2_tdc->Fill((pT2_tdcTime - p1X_tdcTime)*clk2tdc); - if (p1Y_tdcTime != 0.0) h_p1YmpT2_tdc->Fill((pT2_tdcTime - p1Y_tdcTime)*clk2tdc); - if (p2X_tdcTime != 0.0) h_p2XmpT2_tdc->Fill((pT2_tdcTime - p2X_tdcTime)*clk2tdc); - if (p2Y_tdcTime != 0.0) h_p2YmpT2_tdc->Fill((pT2_tdcTime - p2Y_tdcTime)*clk2tdc); - if (p1T_tdcTime != 0.0) h_p1TmpT2_tdc->Fill((pT2_tdcTime - p1T_tdcTime)*clk2tdc); - if (p2T_tdcTime != 0.0) h_p2TmpT2_tdc->Fill((pT2_tdcTime - p2T_tdcTime)*clk2tdc); - - if (p1X_tdcTime != 0.0) h_p1XmpT3_tdc->Fill((pT3_tdcTime - p1X_tdcTime)*clk2tdc); - if (p1Y_tdcTime != 0.0) h_p1YmpT3_tdc->Fill((pT3_tdcTime - p1Y_tdcTime)*clk2tdc); - if (p2X_tdcTime != 0.0) h_p2XmpT3_tdc->Fill((pT3_tdcTime - p2X_tdcTime)*clk2tdc); - if (p2Y_tdcTime != 0.0) h_p2YmpT3_tdc->Fill((pT3_tdcTime - p2Y_tdcTime)*clk2tdc); - if (p1T_tdcTime != 0.0) h_p1TmpT3_tdc->Fill((pT3_tdcTime - p1T_tdcTime)*clk2tdc); - if (p2T_tdcTime != 0.0) h_p2TmpT3_tdc->Fill((pT3_tdcTime - p2T_tdcTime)*clk2tdc); - - h_p1X_fpTime->Fill(p1X_fpTime); h_p1Y_fpTime->Fill(p1Y_fpTime); - h_p2X_fpTime->Fill(p2X_fpTime); h_p2Y_fpTime->Fill(p2Y_fpTime); - //*/ - //Aerogel - Double_t paero_adcPulseInt = 0.0; - for (UInt_t iaerohit = 0; iaerohit < paero_negHits; iaerohit++) - {/* - h2_paero_negPulseTime_pT1_diff->Fill(paero_negPmt[iaerohit], paero_negPulseTime[iaerohit]*clk2adc - pT1_tdcTime*clk2tdc); - h2_paero_negPulseTime_pT2_diff->Fill(paero_negPmt[iaerohit], paero_negPulseTime[iaerohit]*clk2adc - pT2_tdcTime*clk2tdc); - h2_paero_negPulseTime_pT3_diff->Fill(paero_negPmt[iaerohit], paero_negPulseTime[iaerohit]*clk2adc - pT3_tdcTime*clk2tdc); - //*/ - paero_adcPulseInt += paero_negPulseInt[iaerohit]*aero_neg_adc2npe[iaerohit]; - } - for (UInt_t iaerohit = 0; iaerohit < paero_posHits; iaerohit++) - {/* - h2_paero_posPulseTime_pT1_diff->Fill(paero_posPmt[iaerohit], paero_posPulseTime[iaerohit]*clk2adc - pT1_tdcTime*clk2tdc); - h2_paero_posPulseTime_pT2_diff->Fill(paero_posPmt[iaerohit], paero_posPulseTime[iaerohit]*clk2adc - pT2_tdcTime*clk2tdc); - h2_paero_posPulseTime_pT3_diff->Fill(paero_posPmt[iaerohit], paero_posPulseTime[iaerohit]*clk2adc - pT3_tdcTime*clk2tdc); - //*/ - paero_adcPulseInt += paero_posPulseInt[iaerohit]*aero_pos_adc2npe[iaerohit]; - } - //if (paero_adcPulseInt != 0.0) h_paero_PulseInt->Fill(paero_adcPulseInt); - //End of Loop over Aerogel - - - //Pre-Shower - Double_t ppshwr_adcPulseInt = 0; - for (UInt_t ipshwrhit=0; ipshwrhit < nneg_pshwr_blks; ipshwrhit++) - {/* - h2_ppshwr_negPulseTime_pT1_diff->Fill(ppshwr_negPmt[ipshwrhit], ppshwr_negPulseTime[ipshwrhit]*clk2adc - pT1_tdcTime*clk2tdc); - h2_ppshwr_negPulseTime_pT2_diff->Fill(ppshwr_negPmt[ipshwrhit], ppshwr_negPulseTime[ipshwrhit]*clk2adc - pT2_tdcTime*clk2tdc); - h2_ppshwr_negPulseTime_pT3_diff->Fill(ppshwr_negPmt[ipshwrhit], ppshwr_negPulseTime[ipshwrhit]*clk2adc - pT3_tdcTime*clk2tdc); - //*/ - ppshwr_adcPulseInt += ppshwr_negPulseInt[ipshwrhit]*pshwr_neg_adc2GeV[ipshwrhit]; - } - - for (UInt_t ipshwrhit=0; ipshwrhit < npos_pshwr_blks; ipshwrhit++) - {/* - h2_ppshwr_posPulseTime_pT1_diff->Fill(ppshwr_posPmt[ipshwrhit], ppshwr_posPulseTime[ipshwrhit]*clk2adc - pT1_tdcTime*clk2tdc); - h2_ppshwr_posPulseTime_pT2_diff->Fill(ppshwr_posPmt[ipshwrhit], ppshwr_posPulseTime[ipshwrhit]*clk2adc - pT2_tdcTime*clk2tdc); - h2_ppshwr_posPulseTime_pT3_diff->Fill(ppshwr_posPmt[ipshwrhit], ppshwr_posPulseTime[ipshwrhit]*clk2adc - pT3_tdcTime*clk2tdc); - //*/ - ppshwr_adcPulseInt += ppshwr_posPulseInt[ipshwrhit]*pshwr_pos_adc2GeV[ipshwrhit]; - } - if (ppshwr_adcPulseInt != 0.0) h_ppshwr_PulseInt->Fill(ppshwr_adcPulseInt); - //End of loop over Pre-Shower - - //Shower - Double_t pshwr_adcPulseInt = 0; - - for (UInt_t ishwrhit = 0; ishwrhit < nshwr_blks; ishwrhit++) - {/* - h2_pshwr_pulseTime_pT1_diff->Fill(pshwr_pmt[ishwrhit], pshwr_pulseTimeRaw[ishwrhit]*clk2adc - pT1_tdcTime*clk2tdc); - h2_pshwr_pulseTime_pT2_diff->Fill(pshwr_pmt[ishwrhit], pshwr_pulseTimeRaw[ishwrhit]*clk2adc - pT2_tdcTime*clk2tdc); - h2_pshwr_pulseTime_pT3_diff->Fill(pshwr_pmt[ishwrhit], pshwr_pulseTimeRaw[ishwrhit]*clk2adc - pT3_tdcTime*clk2tdc); - //*/ - pshwr_adcPulseInt += pshwr_pulseInt[ishwrhit]*shwr_adc2GeV; - } - if (pshwr_adcPulseInt != 0.0) h_pshwr_PulseInt->Fill(pshwr_adcPulseInt); - - for (UInt_t itrack = 0; itrack < ntracks; itrack++) - { - // if (trk_pmag[0] != 0.0 && ntracks == 1) h2_EdivP_vs_P->Fill(trk_pmag[0], (ppshwr_adcPulseInt + pshwr_adcPulseInt)/trk_pmag[0]); - } - //End of Loop over Shower - - - //NGC - Double_t pngc_adcInt = 0; - Double_t pngc_adcAmp = 0; - pngc_NPE = 0; - - for (UInt_t ipmt = 0; ipmt < nngc_pmts; ipmt++) - { - if (pngc_pulseAmp[ipmt] == 0.0) continue; - if (pngc_pulseTimeRaw[ipmt] == 0.0) continue; - - pngc_adcInt += pngc_pulseInt[ipmt]; - pngc_adcAmp += pngc_pulseAmp[ipmt]; - pngc_NPE += pngc_pulseInt[ipmt]*ngc_adc2npe[ipmt]; - - //Basic Quantities - /* - h_pngc_adcPulseInt[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_adcPulseAmp[ipmt]->Fill(pngc_pulseAmp[ipmt]); - h_pngc_adcPulseTimeRaw[ipmt]->Fill(pngc_pulseTimeRaw[ipmt]*clk2adc); //*/ - - /* - h2_pngc_pulseTime_pT1_diff->Fill(pngc_pmt[ingchit], pngc_pulseTimeRaw[ingchit]*clk2adc - pT1_tdcTime*clk2tdc); - h2_pngc_pulseTime_pT2_diff->Fill(pngc_pmt[ingchit], pngc_pulseTimeRaw[ingchit]*clk2adc - pT2_tdcTime*clk2tdc); - h2_pngc_pulseTime_pT3_diff->Fill(pngc_pmt[ingchit], pngc_pulseTimeRaw[ingchit]*clk2adc - pT3_tdcTime*clk2tdc); - //*/ - - //Generating histos for Quadrants vs PMT - /* - - if (trk_y[0] + trk_phi[0] * nngc_z >= 0.0 && trk_x[0] + trk_theta[0] * nngc_z >= 0.0) - { - h_pngc_quad1_pulseInt_sum[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad1_pulseAmp_sum[ipmt]->Fill(pngc_pulseAmp[ipmt]); - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) > shwr_hgc_id->Eval(phgc_NPE)) - { - h_pngc_quad1_pulseInt_e[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad1_pulseAmp_e[ipmt]->Fill(pngc_pulseAmp[ipmt]); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_hgc_id->Eval(phgc_NPE)) - { - h_pngc_quad1_pulseInt_pi[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad1_pulseAmp_pi[ipmt]->Fill(pngc_pulseAmp[ipmt]); - } - }//Quadrant 1 - - if (trk_y[0] + trk_phi[0] * nngc_z < 0.0 && trk_x[0] + trk_theta[0] * nngc_z >= 0.0) - { - h_pngc_quad2_pulseInt_sum[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad2_pulseAmp_sum[ipmt]->Fill(pngc_pulseAmp[ipmt]); - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) > shwr_hgc_id->Eval(phgc_NPE)) - { - h_pngc_quad2_pulseInt_e[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad2_pulseAmp_e[ipmt]->Fill(pngc_pulseAmp[ipmt]); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_hgc_id->Eval(phgc_NPE)) - { - h_pngc_quad2_pulseInt_pi[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad2_pulseAmp_pi[ipmt]->Fill(pngc_pulseAmp[ipmt]); - } - }//Quadrant 2 - - if (trk_y[0] + trk_phi[0] * nngc_z >= 0.0 && trk_x[0] + trk_theta[0] * nngc_z < 0.0) - { - h_pngc_quad3_pulseInt_sum[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad3_pulseAmp_sum[ipmt]->Fill(pngc_pulseAmp[ipmt]); - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) > shwr_hgc_id->Eval(phgc_NPE)) - { - h_pngc_quad3_pulseInt_e[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad3_pulseAmp_e[ipmt]->Fill(pngc_pulseAmp[ipmt]); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_hgc_id->Eval(phgc_NPE)) - { - h_pngc_quad3_pulseInt_pi[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad3_pulseAmp_pi[ipmt]->Fill(pngc_pulseAmp[ipmt]); - } - }//Quadrant 3 - - if (trk_y[0] + trk_phi[0] * nngc_z < 0.0 && trk_x[0] + trk_theta[0] * nngc_z < 0.0) - { - h_pngc_quad4_pulseInt_sum[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad4_pulseAmp_sum[ipmt]->Fill(pngc_pulseAmp[ipmt]); - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) > shwr_hgc_id->Eval(phgc_NPE)) - { - h_pngc_quad4_pulseInt_e[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad4_pulseAmp_e[ipmt]->Fill(pngc_pulseAmp[ipmt]); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_hgc_id->Eval(phgc_NPE)) - { - h_pngc_quad4_pulseInt_pi[ipmt]->Fill(pngc_pulseInt[ipmt]); - h_pngc_quad4_pulseAmp_pi[ipmt]->Fill(pngc_pulseAmp[ipmt]); - } - }//Quadrant 4 //*/ - } - if (pngc_adcInt != 0.0) h_pngc_adcPulseInt_sum->Fill(pngc_adcInt); - //End of loop over NGC - - //HGC - Double_t phgc_Int = 0; - Double_t phgc_Amp = 0; - phgc_NPE = 0; - - for (UInt_t ipmt = 0; ipmt < nhgc_pmts; ipmt++) - { - if (phgc_pulseAmp[ipmt] == 0.0) continue; - if (phgc_pulseTimeRaw[ipmt] == 0.0) continue; - - phgc_Int += phgc_pulseInt[ipmt]; - phgc_Amp += phgc_pulseAmp[ipmt]; - phgc_NPE += phgc_pulseInt[ipmt]*hgc_adcInt2npe_pulseInt[ipmt]; //Remove pedistal from other PMTs? - - //Basic Quantities - ///* - h_phgc_adcPulseInt[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_adcPulseAmp[ipmt]->Fill(phgc_pulseAmp[ipmt]); - //h_phgc_adcPulseTimeRaw[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc); //*/ - - //Timing Information - /* - h2_phgc_hodstarttime_pulseTime[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc, phod_starttime*clk2tdc); - - h_phgc_adcPulseTimeCorr_T1[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc - pT1_tdcTime*clk2tdc); - h_phgc_adcPulseTimeCorr_T2[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc - pT2_tdcTime*clk2tdc); - h_phgc_adcPulseTimeCorr_T3[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc - pT3_tdcTime*clk2tdc); - - h2_phgc_pulseTime_pT1_pmt->Fill(phgc_pmt[ipmt], phgc_pulseTimeRaw[ipmt]*clk2adc - pT1_tdcTime*clk2tdc); - h2_phgc_pulseTime_pT2_pmt->Fill(phgc_pmt[ipmt], phgc_pulseTimeRaw[ipmt]*clk2adc - pT2_tdcTime*clk2tdc); - h2_phgc_pulseTime_pT3_pmt->Fill(phgc_pmt[ipmt], phgc_pulseTimeRaw[ipmt]*clk2adc - pT3_tdcTime*clk2tdc); - - h2_phgc_pulseTime_pT1_diff->Fill(pT1_tdcTime*clk2tdc, phgc_pulseTimeRaw[ipmt]*clk2adc); - h2_phgc_pulseTime_pT2_diff->Fill(pT2_tdcTime*clk2tdc, phgc_pulseTimeRaw[ipmt]*clk2adc); - h2_phgc_pulseTime_pT3_diff->Fill(pT3_tdcTime*clk2tdc, phgc_pulseTimeRaw[ipmt]*clk2adc); - - h2_phgc_adcInt_TimeRaw[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc, phgc_pulseInt[ipmt]); - h2_phgc_adcAmp_TimeRaw[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc, phgc_pulseAmp[ipmt]); - - h2_phgc_adcInt_T1[ipmt]->Fill(pT1_tdcTime*clk2tdc, phgc_pulseInt[ipmt]); - h2_phgc_adcInt_T2[ipmt]->Fill(pT2_tdcTime*clk2tdc, phgc_pulseInt[ipmt]); - h2_phgc_adcInt_T3[ipmt]->Fill(pT3_tdcTime*clk2tdc, phgc_pulseInt[ipmt]); - - h2_phgc_pulseInt_pT1[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc - pT1_tdcTime*clk2tdc, phgc_pulseInt[ipmt]); - h2_phgc_pulseInt_pT2[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc - pT2_tdcTime*clk2tdc, phgc_pulseInt[ipmt]); - h2_phgc_pulseInt_pT3[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc - pT3_tdcTime*clk2tdc, phgc_pulseInt[ipmt]); - - h2_phgc_TimeWalk_T1[ipmt]->Fill(phgc_pulseAmp[ipmt], phgc_pulseTimeRaw[ipmt]*clk2adc - pT1_tdcTime*clk2tdc); - h2_phgc_TimeWalk_T2[ipmt]->Fill(phgc_pulseAmp[ipmt], phgc_pulseTimeRaw[ipmt]*clk2adc - pT2_tdcTime*clk2tdc); - h2_phgc_TimeWalk_T3[ipmt]->Fill(phgc_pulseAmp[ipmt], phgc_pulseTimeRaw[ipmt]*clk2adc - pT3_tdcTime*clk2tdc); - //*/ - - //Performing cuts on PulseAmp to eliminate large counts with PulseInt = 0 - /* - if (phgc_pulseAmp[ipmt] <= 10) h_phgc_pulseAmp_10[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] > 10) h_phgc_pulseAmp_no10[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] <= 20) h_phgc_pulseAmp_20[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] > 20) h_phgc_pulseAmp_no20[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] <= 30) h_phgc_pulseAmp_30[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] > 30) h_phgc_pulseAmp_no30[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] <= 40) h_phgc_pulseAmp_40[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] > 40) h_phgc_pulseAmp_no40[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] <= 50) h_phgc_pulseAmp_50[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] > 50) h_phgc_pulseAmp_no50[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] <= 60) h_phgc_pulseAmp_60[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] > 60) h_phgc_pulseAmp_no60[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] <= 70) h_phgc_pulseAmp_70[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (phgc_pulseAmp[ipmt] > 70) h_phgc_pulseAmp_no70[ipmt]->Fill(phgc_pulseInt[ipmt]); - //*/ - - //Particle ID cuts with a linear cut - /* - if (pngc_adcInt > shwr_ngc_id->Eval(ppshwr_adcPulseInt + pshwr_adcPulseInt)) h_phgc_ecut_shwr[ipmt]->Fill(phgc_pulseInt[ipmt]); - if (pngc_adcInt < shwr_ngc_id->Eval(ppshwr_adcPulseInt + pshwr_adcPulseInt)) h_phgc_picut_shwr[ipmt]->Fill(phgc_pulseInt[ipmt]); - */ - - //Particle ID cuts with a 1/x cut - ///* - if (pngc_adcInt >= 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) >= shwr_ngc_id->Eval(pngc_adcInt)) - { - //h_phgc_ecut_shwr[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h2_phgc_adcInt_TimeRaw_e[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc, phgc_pulseInt[ipmt]); - h2_pshwr_vs_pngc_ecut_pmt[ipmt]->Fill(pngc_adcInt, pshwr_adcPulseInt + ppshwr_adcPulseInt); - h3_ptrk_hgc_adcInt2NPE_e[ipmt]->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_pulseInt[ipmt]*hgc_adcInt2npe_pulseInt[ipmt]); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_ngc_id->Eval(pngc_adcInt)) - { - //h_phgc_picut_shwr[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h2_phgc_adcInt_TimeRaw_pi[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc, phgc_pulseInt[ipmt]); - h2_pshwr_vs_pngc_picut_pmt[ipmt]->Fill(pngc_adcInt, pshwr_adcPulseInt + ppshwr_adcPulseInt); - h3_ptrk_hgc_adcInt2NPE_pi[ipmt]->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_pulseInt[ipmt]*hgc_adcInt2npe_pulseInt[ipmt]); - } - } - - if (pngc_adcInt < 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - //h_phgc_picut_shwr[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h2_phgc_adcInt_TimeRaw_pi[ipmt]->Fill(phgc_pulseTimeRaw[ipmt]*clk2adc, phgc_pulseInt[ipmt]); - h2_pshwr_vs_pngc_picut_pmt[ipmt]->Fill(pngc_adcInt, pshwr_adcPulseInt + ppshwr_adcPulseInt); - h3_ptrk_hgc_adcInt2NPE_pi[ipmt]->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_pulseInt[ipmt]*hgc_adcInt2npe_pulseInt[ipmt]); - }//*/ - - //Tracking Information in HGC - ///* - h2_ptrk_hgc[ipmt]->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_pulseInt[ipmt]); - h2_ptrk_hgc_adcAmp[ipmt]->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_pulseAmp[ipmt]); - h3_ptrk_hgc_adcInt2NPE[ipmt]->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_pulseInt[ipmt]*hgc_adcInt2npe_pulseInt[ipmt]); - //h3_ptrk_hgc_adcAmp2NPE[ipmt]->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_pulseAmp[ipmt]*hgc_adcInt2npe_pulseInt[ipmt]); - //*/ - - - //Generating histos for Quadrants vs PMT - ///* - - if (trk_y[0] + trk_phi[0] * nhgc_z >= 4.6 && trk_x[0] + trk_theta[0] * nhgc_z >= 9.4) - { - h_phgc_quad1_pulseInt_sum[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad1_pulseAmp_sum[ipmt]->Fill(phgc_pulseAmp[ipmt]); - if (pngc_adcInt >= 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) >= shwr_ngc_id->Eval(pngc_adcInt)) - { - h_phgc_quad1_pulseInt_e[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad1_pulseAmp_e[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_ngc_id->Eval(pngc_adcInt)) - { - h_phgc_quad1_pulseInt_pi[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad1_pulseAmp_pi[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - } - if (pngc_adcInt < 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - h_phgc_quad1_pulseInt_pi[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad1_pulseAmp_pi[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - }//Quadrant 1 - - if (trk_y[0] + trk_phi[0] * nhgc_z < 4.6 && trk_x[0] + trk_theta[0] * nhgc_z >= 9.4) - { - h_phgc_quad2_pulseInt_sum[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad2_pulseAmp_sum[ipmt]->Fill(phgc_pulseAmp[ipmt]); - if (pngc_adcInt >= 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) >= shwr_ngc_id->Eval(pngc_adcInt)) - { - h_phgc_quad2_pulseInt_e[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad2_pulseAmp_e[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_ngc_id->Eval(pngc_adcInt)) - { - h_phgc_quad2_pulseInt_pi[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad2_pulseAmp_pi[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - } - - if (pngc_adcInt < 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - h_phgc_quad2_pulseInt_pi[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad2_pulseAmp_pi[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - }//Quadrant 2 - - if (trk_y[0] + trk_phi[0] * nhgc_z >= 4.6 && trk_x[0] + trk_theta[0] * nhgc_z < 9.4) - { - h_phgc_quad3_pulseInt_sum[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad3_pulseAmp_sum[ipmt]->Fill(phgc_pulseAmp[ipmt]); - if (pngc_adcInt >= 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) >= shwr_ngc_id->Eval(pngc_adcInt)) - { - h_phgc_quad3_pulseInt_e[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad3_pulseAmp_e[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_ngc_id->Eval(pngc_adcInt)) - { - h_phgc_quad3_pulseInt_pi[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad3_pulseAmp_pi[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - } - if (pngc_adcInt < 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - h_phgc_quad3_pulseInt_pi[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad3_pulseAmp_pi[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - }//Quadrant 3 - - if (trk_y[0] + trk_phi[0] * nhgc_z < 4.6 && trk_x[0] + trk_theta[0] * nhgc_z < 9.4) - { - h_phgc_quad4_pulseInt_sum[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad4_pulseAmp_sum[ipmt]->Fill(phgc_pulseAmp[ipmt]); - if (pngc_adcInt >= 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) >= shwr_ngc_id->Eval(pngc_adcInt)) - { - h_phgc_quad4_pulseInt_e[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad4_pulseAmp_e[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_ngc_id->Eval(pngc_adcInt)) - { - h_phgc_quad4_pulseInt_pi[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad4_pulseAmp_pi[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - } - if (pngc_adcInt < 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - h_phgc_quad4_pulseInt_pi[ipmt]->Fill(phgc_pulseInt[ipmt]); - //h_phgc_quad4_pulseAmp_pi[ipmt]->Fill(phgc_pulseAmp[ipmt]); - } - }//Quadrant 4 - - //*/ - - h_phgc_pulseInt_npe[ipmt]->Fill(phgc_pulseInt[ipmt]*hgc_adcInt2npe_pulseInt[ipmt]); - } - if (phgc_Int != 0.0) h_phgc_npesum->Fill(phgc_NPE); - //if (phgc_Int != 0.0) h_phgc_adcPulseIntSum->Fill(phgc_Int); - //if (phgc_Amp != 0.0) h_phgc_adcPulseAmpSum->Fill(phgc_Amp); - //if (phgc_Amp != 0.0) h3_ptrk_hgc_adcInt2NPE_full->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_NPE); - //End of loop over HGC - - //Tracking Information - /* - h2_ptrk_ngc_sum->Fill(trk_x[0] + trk_theta[0] * nngc_z, trk_y[0] + trk_phi[0] * nngc_z); - if (pngc_adcAmp > 25.0) h2_ptrk_ngc_sum_noped->Fill(trk_x[0] + trk_theta[0] * nngc_z, trk_y[0] + trk_phi[0] * nngc_z); - if (pngc_adcAmp <= 25.0) h2_ptrk_ngc_sum_ped->Fill(trk_x[0] + trk_theta[0] * nngc_z, trk_y[0] + trk_phi[0] * nngc_z); - //h2_ptrk_hgc_sum->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z); - //h2_ptrk_fp->Fill(trk_x[0], trk_y[0]); //*/ - - //For a 1/x Cut on Paricle ID - /* - if (pngc_adcInt > 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) > shwr_ngc_id->Eval(pngc_adcInt)) - { - h2_ptrk_fp_e->Fill(trk_x[0], trk_y[0]); - h2_ptrk_hgc_e->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z); - h3_ptrk_hgc_adcInt2NPE_full_e->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_NPE); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_ngc_id->Eval(pngc_adcInt)) - { - h2_ptrk_fp_pi->Fill(trk_x[0], trk_y[0]); - h2_ptrk_hgc_pi->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z); - h3_ptrk_hgc_adcInt2NPE_full_pi->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_NPE); - } - } - - if (pngc_adcInt < 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - h2_ptrk_fp_pi->Fill(trk_x[0], trk_y[0]); - h2_ptrk_hgc_pi->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z); - h3_ptrk_hgc_adcInt2NPE_full_pi->Fill(trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z, phgc_NPE); - }//*/ - - //Combinations of Detectors - ///* - if (phgc_NPE != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) h2_pshwr_vs_phgcer->Fill(phgc_NPE, pshwr_adcPulseInt + ppshwr_adcPulseInt); - if (pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) h2_pshwr_vs_pngc->Fill(pngc_adcInt, pshwr_adcPulseInt + ppshwr_adcPulseInt); - //if (ppshwr_adcPulseInt != 0.0 && pshwr_adcPulseInt != 0.0) h2_pshwr_vs_ppshwr->Fill(pshwr_adcPulseInt, ppshwr_adcPulseInt); - //*/ - - //Cut on Shower and NGC for Electrons - //For a Linear Cut for Particle ID - /* - if (ppshwr_adcPulseInt + pshwr_adcPulseInt >= shwr_ngc_id->Eval(pngc_adcInt) && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - h2_pshwr_vs_pngc_ecut->Fill(pngc_adcInt, pshwr_adcPulseInt + ppshwr_adcPulseInt); - h_phgc_adcPulseIntSum_e->Fill(phgc_Int); - } - //Cut on Shower for Pions - if (ppshwr_adcPulseInt + pshwr_adcPulseInt < shwr_ngc_id->Eval(pngc_adcInt) && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - h2_pshwr_vs_pngc_picut->Fill(pngc_adcInt, pshwr_adcPulseInt + ppshwr_adcPulseInt); - h_phgc_adcPulseIntSum_pi->Fill(phgc_Int); - } - */ - //For a 1/x Cut on Paricle ID - ///* - if (pngc_adcInt > 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) > shwr_ngc_id->Eval(pngc_adcInt)) - { - h2_pshwr_vs_pngc_ecut->Fill(pngc_adcInt, pshwr_adcPulseInt + ppshwr_adcPulseInt); - //h_phgc_adcPulseIntSum_e->Fill(phgc_Int); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_ngc_id->Eval(pngc_adcInt)) - { - h2_pshwr_vs_pngc_picut->Fill(pngc_adcInt, pshwr_adcPulseInt + ppshwr_adcPulseInt); - //h_phgc_adcPulseIntSum_pi->Fill(phgc_Int); - } - } - - if (pngc_adcInt < 2000 && pngc_adcInt != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - h2_pshwr_vs_pngc_picut->Fill(pngc_adcInt, pshwr_adcPulseInt + ppshwr_adcPulseInt); - //h_phgc_adcPulseIntSum_pi->Fill(phgc_Int); - } - //*/ - //Cut on Shower and HGC for Particle ID - ///* - if (phgc_NPE != 0.0 && (ppshwr_adcPulseInt + pshwr_adcPulseInt) != 0.0) - { - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) > shwr_hgc_id->Eval(phgc_NPE)) - { - h2_pshwr_vs_phgc_ecut->Fill(phgc_NPE, pshwr_adcPulseInt + ppshwr_adcPulseInt); - } - if ((ppshwr_adcPulseInt + pshwr_adcPulseInt) < shwr_hgc_id->Eval(phgc_NPE)) - { - h2_pshwr_vs_phgc_picut->Fill(phgc_NPE, pshwr_adcPulseInt + ppshwr_adcPulseInt); - } - }//*/ - - - //End Loop over Combination of Detectors - - } - }//End of loop over entries - - g->Write(); - - - - - //Start to draw things nicely - /* - - //Draw HGC PulseInt for each PMT - TCanvas *hgc_pulseInt = new TCanvas("hgc_pulseInt","[Diag]hgc_Int",1200,600); - hgc_pulseInt->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_pulseInt->cd(i+1); - hgc_pulseInt->cd(i+1)->SetLogy(); - h_phgc_adcPulseInt[i]->GetXaxis()->SetTitle("ADC Channel"); - h_phgc_adcPulseInt[i]->GetYaxis()->SetTitle("Counts"); - h_phgc_adcPulseInt[i]->SetStats(0); - h_phgc_adcPulseInt[i]->DrawCopy(); - } - - //Draw HGC PulseAmp for each PMT - TCanvas *hgc_pulseAmp = new TCanvas("hgc_pulseAmp","[Diag]hgc_Amp",1200,600); - hgc_pulseAmp->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_pulseAmp->cd(i+1); - hgc_pulseAmp->cd(i+1)->SetLogy(); - h_phgc_adcPulseAmp[i]->DrawCopy(); - } - - //Draw HGC PulseTimeRaw for each PMT - TCanvas *hgc_pulseTimeRaw = new TCanvas("hgc_pulseTimeRaw","[Diag]hgc_TimeRaw",1200,600); - hgc_pulseTimeRaw->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_pulseTimeRaw->cd(i+1); - h_phgc_adcPulseTimeRaw[i]->DrawCopy(); - } - - //Draw NGC PulseInt - TCanvas *ngc_pulseInt = new TCanvas("ngc_pulseInt","[Diag]ngc_Int",1200,600); - ngc_pulseInt->cd(1)->SetLogy(); - h_pngc_adcPulseInt->DrawCopy(); - - - //Draw Pre-Shower and Shower PulseInt - TCanvas *ppshwr_pulseInt = new TCanvas("ppshwr_pulseInt","[Diag]Pre-/Shower PulseInt",1200,600); - ppshwr_pulseInt->Divide(1,2); - - ppshwr_pulseInt->cd(1); - ppshwr_pulseInt->cd(1)->SetLogy(); - h_pshwr_PulseInt->DrawCopy(); - - ppshwr_pulseInt->cd(2); - ppshwr_pulseInt->cd(2)->SetLogy(); - h_ppshwr_PulseInt->DrawCopy(); - - //Draw Pre-Shower vs HGC PulseInt - TCanvas *ppshwr_vs_hgc = new TCanvas("ppshwr_vs_hgc","[Diag]ppshwr vs hgc PulseInt",1200,600); - h2_pshwr_vs_phgcer->GetXaxis()->SetTitle("HGC ADC channel"); - h2_pshwr_vs_phgcer->GetYaxis()->SetTitle("Shwr/Pshwr GeV"); - h2_pshwr_vs_phgcer->SetStats(0); - h2_pshwr_vs_phgcer->DrawCopy("Colz"); - - //Draw Pre-Shower vs Shower - TCanvas *ppshwr_vs_pshwr = new TCanvas("ppshwr_vs_pshwr","[Diag]ppshwr vs pshwr PulseInt",1200,600); - h2_pshwr_vs_ppshwr->GetXaxis()->SetTitle("Shower GeV"); - h2_pshwr_vs_ppshwr->GetYaxis()->SetTitle("Pre-Shower GeV"); - h2_pshwr_vs_ppshwr->SetStats(0); - h2_pshwr_vs_ppshwr->DrawCopy("Colz"); - - //Draw Pre-Shower vs NGC PulseInt - TCanvas *ppshwr_vs_ngc = new TCanvas("ppshwr_vs_ngc","[Diag]ppshwr vs ngc PulseInt",1200,600); - h2_pshwr_vs_pngc->GetXaxis()->SetTitle("NGC ADC channel"); - h2_pshwr_vs_pngc->GetYaxis()->SetTitle("Shwr/Pshwr GeV"); - h2_pshwr_vs_pngc->DrawCopy("Colz"); - shwr_ngc_id->DrawCopy("same"); - - //Draw Pre-Shower vs NGC PulseInt pion & e cuts - TCanvas *pshwr_vs_ngc_cuts = new TCanvas("pswr_vs_ngc_cuts","[Diag]pshwr vs ngc PulseInt Cuts",1200,600); - pshwr_vs_ngc_cuts->Divide(2,1); - - pshwr_vs_ngc_cuts->cd(1); - h2_pshwr_vs_pngc_ecut->GetXaxis()->SetTitle("NGC ADC channel"); - h2_pshwr_vs_pngc_ecut->GetYaxis()->SetTitle("Shwr/Pshwr GeV"); - h2_pshwr_vs_pngc_ecut->DrawCopy("Colz"); - shwr_ngc_id->DrawCopy("same"); - - pshwr_vs_ngc_cuts->cd(2); - h2_pshwr_vs_pngc_picut->GetXaxis()->SetTitle("NGC ADC channel"); - h2_pshwr_vs_pngc_picut->GetYaxis()->SetTitle("Shwr/Pshwr GeV"); - h2_pshwr_vs_pngc_picut->DrawCopy("Colz"); - shwr_ngc_id->DrawCopy("same"); - - //Draw Electrons in HGC wrt Shower/Pre-Shower per PMT - TCanvas *hgc_ecut_shwr = new TCanvas("hgc_ecut_shwr","[Cut]HGC Electrons from Shower",1200,600); - hgc_ecut_shwr->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_ecut_shwr->cd(i+1); - hgc_ecut_shwr->cd(i+1)->SetLogy(); - h_phgc_ecut_shwr[i]->DrawCopy(); - } - - //Draw Pions in HGC wrt Shower/Pre-Shower per PMT - TCanvas *hgc_picut_shwr = new TCanvas("hgc_picut_shwr","[Cut]HGC Pions from Shower",1200,600); - hgc_picut_shwr->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_picut_shwr->cd(i+1); - hgc_picut_shwr->cd(i+1)->SetLogy(); - h_phgc_picut_shwr[i]->DrawCopy(); - } - - //Draw Pions, Electrons and Unchanged Pulse Int for HGC w Shower cut - TCanvas *hgc_sumcut_shwr = new TCanvas("hgc_sumcut_shwr","[Cut]HGC PulseInt Sum, e, pi",1200,600); - hgc_sumcut_shwr->cd(1)->SetLogy(); - h_phgc_adcPulseIntSum->DrawCopy(); - h_phgc_adcPulseIntSum_e->SetLineColor(5); - h_phgc_adcPulseIntSum_e->DrawCopy("same"); - h_phgc_adcPulseIntSum_pi->SetLineColor(7); - h_phgc_adcPulseIntSum_pi->DrawCopy("same"); - - //Draw HGC PulseInt with cuts on PulseAmp = 0. - TCanvas *hgc_pulseAmp0 = new TCanvas("hgc_pulseAmp0", "[Diag]HGC PulseInt with PulseAmp = 0.",1200,600); - hgc_pulseAmp0->Divide(2,7); - - hgc_pulseAmp0->cd(1); - hgc_pulseAmp0->cd(1)->SetLogy(); - h_phgc_pulseAmp_10->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_10->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_10->DrawCopy(); - - hgc_pulseAmp0->cd(2); - hgc_pulseAmp0->cd(2)->SetLogy(); - h_phgc_pulseAmp_no10->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_no10->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_no10->DrawCopy(); - - hgc_pulseAmp0->cd(3); - hgc_pulseAmp0->cd(3)->SetLogy(); - h_phgc_pulseAmp_20->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_20->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_20->DrawCopy(); - - hgc_pulseAmp0->cd(4); - hgc_pulseAmp0->cd(4)->SetLogy(); - h_phgc_pulseAmp_no20->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_no20->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_no20->DrawCopy(); - - hgc_pulseAmp0->cd(5); - hgc_pulseAmp0->cd(5)->SetLogy(); - h_phgc_pulseAmp_30->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_30->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_30->DrawCopy(); - - hgc_pulseAmp0->cd(6); - hgc_pulseAmp0->cd(6)->SetLogy(); - h_phgc_pulseAmp_no30->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_no30->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_no30->DrawCopy(); - - hgc_pulseAmp0->cd(7); - hgc_pulseAmp0->cd(7)->SetLogy(); - h_phgc_pulseAmp_40->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_40->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_40->DrawCopy(); - - hgc_pulseAmp0->cd(8); - hgc_pulseAmp0->cd(8)->SetLogy(); - h_phgc_pulseAmp_no40->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_no40->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_no40->DrawCopy(); - - hgc_pulseAmp0->cd(9); - hgc_pulseAmp0->cd(9)->SetLogy(); - h_phgc_pulseAmp_50->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_50->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_50->DrawCopy(); - - hgc_pulseAmp0->cd(10); - hgc_pulseAmp0->cd(10)->SetLogy(); - h_phgc_pulseAmp_no50->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_no50->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_no50->DrawCopy(); - - hgc_pulseAmp0->cd(11); - hgc_pulseAmp0->cd(11)->SetLogy(); - h_phgc_pulseAmp_60->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_60->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_60->DrawCopy(); - - hgc_pulseAmp0->cd(12); - hgc_pulseAmp0->cd(12)->SetLogy(); - h_phgc_pulseAmp_no60->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_no60->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_no60->DrawCopy(); - - hgc_pulseAmp0->cd(13); - hgc_pulseAmp0->cd(13)->SetLogy(); - h_phgc_pulseAmp_70->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_70->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_70->DrawCopy(); - - hgc_pulseAmp0->cd(14); - hgc_pulseAmp0->cd(14)->SetLogy(); - h_phgc_pulseAmp_no70->GetXaxis()->SetTitle("PulseInt"); - h_phgc_pulseAmp_no70->GetYaxis()->SetTitle("Counts"); - h_phgc_pulseAmp_no70->DrawCopy(); - - //Draw HGC adcInt vs TimeRaw - TCanvas *hgc_adcInt_TimeRaw = new TCanvas("hgc_adcInt_TimeRaw","[Diag]HGC PulseInt vs TimeRaw",1200,600); - hgc_adcInt_TimeRaw->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_adcInt_TimeRaw->cd(i+1); - hgc_adcInt_TimeRaw->cd(i+1)->SetLogx(); - h2_phgc_adcInt_TimeRaw[i]->GetXaxis()->SetTitle("PulseInt"); - h2_phgc_adcInt_TimeRaw[i]->GetYaxis()->SetTitle("TimeRaw"); - h2_phgc_adcInt_TimeRaw[i]->DrawCopy("Colz"); - } - - //Draw HGC adcInt vs DC Trigger T1 - TCanvas *hgc_adcInt_T1 = new TCanvas("hgc_adcInt_T1","[Diag]HGC PulseInt vs T1",1200,600); - hgc_adcInt_T1->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_adcInt_T1->cd(i+1); - hgc_adcInt_T1->cd(i+1)->SetLogx(); - h2_phgc_pulseInt_pT1[i]->GetYaxis()->SetTitle("ADC Time (ns)"); - h2_phgc_pulseInt_pT1[i]->GetXaxis()->SetTitle("ADC Channel"); - h2_phgc_pulseInt_pT1[i]->DrawCopy("Colz"); - } - - //Draw HGC adcInt vs DC Trigger T2 - TCanvas *hgc_adcInt_T2 = new TCanvas("hgc_adcInt_T2","[Diag]HGC PulseInt vs T2",1200,600); - hgc_adcInt_T2->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_adcInt_T2->cd(i+1); - hgc_adcInt_T2->cd(i+1)->SetLogx(); - h2_phgc_pulseInt_pT2[i]->GetYaxis()->SetTitle("ADC Time (ns)"); - h2_phgc_pulseInt_pT2[i]->GetXaxis()->SetTitle("ADC Channel"); - h2_phgc_pulseInt_pT2[i]->DrawCopy("Colz"); - } - - //Draw HGC adcInt vs DC Trigger T3 - TCanvas *hgc_adcInt_T3 = new TCanvas("hgc_adcInt_T3","[Diag]HGC PulseInt vs T3",1200,600); - hgc_adcInt_T3->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_adcInt_T3->cd(i+1); - hgc_adcInt_T3->cd(i+1)->SetLogx(); - h2_phgc_pulseInt_pT3[i]->GetYaxis()->SetTitle("ADC Time (ns)"); - h2_phgc_pulseInt_pT3[i]->GetXaxis()->SetTitle("ADC Channel"); - h2_phgc_pulseInt_pT3[i]->DrawCopy("Colz"); - } - - - //Draw Particle Tracking in HGC - TCanvas *hgc_trk = new TCanvas("hgc_trk", "[Diag]Particle Tracks in HGC",1200,600); - h2_ptrk_hgc_sum->GetYaxis()->SetTitle("Y Position"); - h2_ptrk_hgc_sum->GetXaxis()->SetTitle("X Position"); - h2_ptrk_hgc_sum->DrawCopy("Colz"); - - //Draw Particle Tracking in HGC for each PMT - TCanvas *hgc_pmt_trk = new TCanvas("hgc_pmt_trk", "[Diag]Particle Tracks in HGC for each PMT weighted by PulseInt",1200,600); - hgc_pmt_trk->Divide(2,2); - - for (int i=0; i<4; i++) - { - hgc_pmt_trk->cd(i+1); - hgc_pmt_trk->cd(i+1)->SetLogz(); - h2_ptrk_hgc[i]->GetYaxis()->SetTitle("Y Position"); - h2_ptrk_hgc[i]->GetXaxis()->SetTitle("X Position"); - h2_ptrk_hgc[i]->DrawCopy("Colz"); - } - - - //Draw Particle ID Separation with Quadrant Separation - TCanvas *hgc_trk_id_cut = new TCanvas("hgc_trk_id_cut", "[Cut]HGC Particle ID cut with Quadrant Cuts",1200,600); - hgc_trk_id_cut->Divide(4,4); - - for (int i=0; i<16; i++) - { - hgc_trk_id_cut->cd(i+1); - hgc_trk_id_cut->cd(i+1)->SetLogy(); - - if (i % 4 == 0) //Looking at PMT1 - { - if (i / 4 == 0)//Quadrant 1 - { - h_phgc_quad1_sum[0]->DrawCopy(); - h_phgc_quad1_e[0]->SetLineColor(2); - h_phgc_quad1_e[0]->DrawCopy("same"); - h_phgc_quad1_pi[0]->SetLineColor(8); - h_phgc_quad1_pi[0]->DrawCopy("same"); - } - if (i/4 == 1)//Quadrant 2 - { - h_phgc_quad2_sum[0]->DrawCopy(); - h_phgc_quad2_e[0]->SetLineColor(2); - h_phgc_quad2_e[0]->DrawCopy("same"); - h_phgc_quad2_pi[0]->SetLineColor(8); - h_phgc_quad2_pi[0]->DrawCopy("same"); - } - if (i/4 == 2)//Quadrant 3 - { - h_phgc_quad3_sum[0]->DrawCopy(); - h_phgc_quad3_e[0]->SetLineColor(2); - h_phgc_quad3_e[0]->DrawCopy("same"); - h_phgc_quad3_pi[0]->SetLineColor(8); - h_phgc_quad3_pi[0]->DrawCopy("same"); - } - if (i/4 == 3)//Quadrant 4 - { - h_phgc_quad4_sum[0]->DrawCopy(); - h_phgc_quad4_e[0]->SetLineColor(2); - h_phgc_quad4_e[0]->DrawCopy("same"); - h_phgc_quad4_pi[0]->SetLineColor(8); - h_phgc_quad4_pi[0]->DrawCopy("same"); - } - }//End of PMT1 - - if (i % 4 == 1) //Looking at PMT2 - { - if (i / 4 == 0)//Quadrant 1 - { - h_phgc_quad1_sum[1]->DrawCopy(); - h_phgc_quad1_e[1]->SetLineColor(2); - h_phgc_quad1_e[1]->DrawCopy("same"); - h_phgc_quad1_pi[1]->SetLineColor(8); - h_phgc_quad1_pi[1]->DrawCopy("same"); - } - if (i/4 == 1)//Quadrant 2 - { - h_phgc_quad2_sum[1]->DrawCopy(); - h_phgc_quad2_e[1]->SetLineColor(2); - h_phgc_quad2_e[1]->DrawCopy("same"); - h_phgc_quad2_pi[1]->SetLineColor(8); - h_phgc_quad2_pi[1]->DrawCopy("same"); - } - if (i/4 == 2)//Quadrant 3 - { - h_phgc_quad3_sum[1]->DrawCopy(); - h_phgc_quad3_e[1]->SetLineColor(2); - h_phgc_quad3_e[1]->DrawCopy("same"); - h_phgc_quad3_pi[1]->SetLineColor(8); - h_phgc_quad3_pi[1]->DrawCopy("same"); - } - if (i/4 == 3)//Quadrant 4 - { - h_phgc_quad4_sum[1]->DrawCopy(); - h_phgc_quad4_e[1]->SetLineColor(2); - h_phgc_quad4_e[1]->DrawCopy("same"); - h_phgc_quad4_pi[1]->SetLineColor(8); - h_phgc_quad4_pi[1]->DrawCopy("same"); - } - }//End of PMT2 - - if (i % 4 == 2) //Looking at PMT3 - { - if (i/4 == 0)//Quadrant 1 - { - h_phgc_quad1_sum[2]->DrawCopy(); - h_phgc_quad1_e[2]->SetLineColor(2); - h_phgc_quad1_e[2]->DrawCopy("same"); - h_phgc_quad1_pi[2]->SetLineColor(8); - h_phgc_quad1_pi[2]->DrawCopy("same"); - } - if (i/4 == 1)//Quadrant 2 - { - h_phgc_quad2_sum[2]->DrawCopy(); - h_phgc_quad2_e[2]->SetLineColor(2); - h_phgc_quad2_e[2]->DrawCopy("same");trk_x[0] + trk_theta[0] * nhgc_z, trk_y[0] + trk_phi[0] * nhgc_z,phgc_pulseInt[ipmt]) - h_phgc_quad2_pi[2]->SetLineColor(8); - h_phgc_quad2_pi[2]->DrawCopy("same"); - } - if (i/4 == 2)//Quadrant 3 - { - h_phgc_quad3_sum[2]->DrawCopy(); - h_phgc_quad3_e[2]->SetLineColor(2); - h_phgc_quad3_e[2]->DrawCopy("same"); - h_phgc_quad3_pi[2]->SetLineColor(8); - h_phgc_quad3_pi[2]->DrawCopy("same"); - } - if (i/4 == 3)//Quadrant 4 - { - h_phgc_quad4_sum[2]->DrawCopy(); - h_phgc_quad4_e[2]->SetLineColor(2); - h_phgc_quad4_e[2]->DrawCopy("same"); - h_phgc_quad4_pi[2]->SetLineColor(8); - h_phgc_quad4_pi[2]->DrawCopy("same"); - } - }//End of PMT3 - - if (i % 4 == 3) //Looking at PMT4 - { - if (i/4 == 0)//Quadrant 1 - { - h_phgc_quad1_sum[3]->DrawCopy(); - h_phgc_quad1_e[3]->SetLineColor(2); - h_phgc_quad1_e[3]->DrawCopy("same"); - h_phgc_quad1_pi[3]->SetLineColor(8); - h_phgc_quad1_pi[3]->DrawCopy("same"); - } - if (i/4 == 1)//Quadrant 2 - { - h_phgc_quad2_sum[3]->DrawCopy(); - h_phgc_quad2_e[3]->SetLineColor(2); - h_phgc_quad2_e[3]->DrawCopy("same"); - h_phgc_quad2_pi[3]->SetLineColor(8); - h_phgc_quad2_pi[3]->DrawCopy("same"); - } - if (i/4 == 2)//Quadrant 3 - { - h_phgc_quad3_sum[3]->DrawCopy(); - h_phgc_quad3_e[3]->SetLineColor(2); - h_phgc_quad3_e[3]->DrawCopy("same"); - h_phgc_quad3_pi[3]->SetLineColor(8); - h_phgc_quad3_pi[3]->DrawCopy("same"); - } - if (i/4 == 3)//Quadrant 4 - { - h_phgc_quad4_sum[3]->DrawCopy(); - h_phgc_quad4_e[3]->SetLineColor(2); - h_phgc_quad4_e[3]->DrawCopy("same"); - h_phgc_quad4_pi[3]->SetLineColor(8); - h_phgc_quad4_pi[3]->DrawCopy("same"); - } - }//End of PMT4 - } - */ -}//End of Program diff --git a/CALIBRATION/shms_hgcer_calib/scripts/calib_const.C b/CALIBRATION/shms_hgcer_calib/scripts/calib_const.C deleted file mode 100644 index 6c7ae52a7e36c16d5d1a3615fc7a33a27e28e3f7..0000000000000000000000000000000000000000 --- a/CALIBRATION/shms_hgcer_calib/scripts/calib_const.C +++ /dev/null @@ -1,363 +0,0 @@ -#include "Fit/Fitter.h" -#include "Fit/BinData.h" -#include "Fit/Chi2FCN.h" -#include "TH1.h" -#include "TList.h" -#include "TCanvas.h" -#include "TStyle.h" -#include "TFile.h" -#include "TSpectrum.h" -#include "TPolyMarker.h" - -Double_t poisson(Double_t *x, Double_t *par) -{ - Double_t result1 = (par[1]*pow(par[0],x[0])*exp(-par[0]))/(ROOT::Math::tgamma(x[0]+1)); - return result1; -} - -Double_t gauss(Double_t *x, Double_t *par) -{ - Double_t result1 = par[0]*exp((-0.5)*(pow((x[0] - par[1]),2)/pow((par[2]),2))); - Double_t result2 = par[3]*exp((-0.5)*(pow((x[0] - par[4]),2)/pow((par[5]),2))); - Double_t result3 = par[6]*exp((-0.5)*(pow((x[0] - par[7]),2)/pow((par[8]),2))); - Double_t result4 = par[9]*exp((-0.5)*(pow((x[0] - par[10]),2)/pow((par[11]),2))); - Double_t result5 = par[12]*exp((-0.5)*(pow((x[0] - par[13]),2)/pow((par[14]),2))); - return result1 + result2 + result3 + result4 + result5; -} - -Double_t linear(Double_t *x, Double_t *par) -{ - Double_t result1 = par[0]*x[0] + par[1]; - return result1; -} - -void calib_const(Int_t RunNumber=0, Int_t EventNumber=-1) -{ - if (RunNumber == 0) - { - cout << "Enter a Run Number (-1 to exit): "; - cin >> RunNumber; - cout << "Enter number of events (default is -1): "; - cin >> EventNumber; - if (RunNumber <= 0) return; - } - TFile *F = new TFile(Form("root_files/shms_calibration_%d_%d.root", RunNumber, EventNumber)); - - int num_pars = 6; - int fit_max = 10000; - int fit_min = -1000; - - TH1F *hgc_e[4][4]; - TH1F *hgc_pi[4][4]; - TH1F *hgc_full[4]; - TH1F *hgc_conv[4]; - TH1F *hgc_background[4]; - TH1F *hgc_conv_noback[4]; - TH1F *hgc_conv_mk2[4]; - TH1F *hgc_conv_noback_mk2[4]; - - for (Int_t i=0; i<4; i++) - { - for (Int_t j=0; j<4; j++) - { - hgc_e[i][j] = (TH1F*)F->Get(Form("phgc_quad%d_pulseInt_e%d", i+1, j+1)); - hgc_e[i][j]->Rebin(10); - hgc_pi[i][j] = (TH1F*)F->Get(Form("phgc_quad%d_pulseInt_pi%d", i+1, j+1)); - hgc_pi[i][j]->Rebin(10); - } - hgc_full[i] = (TH1F*)F->Get(Form("phgc_adcPulseInt%d", i+1)); - hgc_full[i]->Rebin(10); - } - - - TF1 *l1 = new TF1("l1",linear,0,4,2); - l1->SetParNames("Slope", "Intercept"); - - TF1 *p1 = new TF1("p1",poisson,4,20,2); - p1->SetParNames("Amplitude", "Mean"); - - TF1 *f1 = new TF1("f1",gauss,0.5,3.5,9); - f1->SetParNames("Amplitude 1"," Mean 1","Std. Dev. 1","Amplitude 2","Mean 2","Std. Dev. 2","Amplitude 3","Mean 3","Std. Dev. 3"); - - TF1 *Gauss3 = new TF1("Gauss3",gauss,fit_min,fit_max,9); - Gauss3->SetParNames("Ped Amp","Ped Mean","Ped Std. Dev.","Amplitude 1","Mean 1","Std. Dev. 1","Amplitude 2","Mean 2","Std. Dev. 2"); - - TF1 *Gauss2 = new TF1("Gauss2",gauss,fit_min,fit_max,6); - Gauss2->SetParNames("Ped Amp","Ped Mean","Ped Std. Dev.","Amplitude 1","Mean 1","Std. Dev. 1"); - - TF1 *Gauss1 = new TF1("Gauss1",gauss,fit_min,fit_max,3); - Gauss1->SetParNames("Amplitude","Mean","Std. Dev."); - - Double_t mean_1[6]; - Double_t mean_2[3]; - Double_t x_npe[3], y_npe[3], x_err[3], y_err[3]; - Double_t calibration[4], calibration_mk2[4]; - - TSpectrum *s = new TSpectrum(2); - Double_t *xpeaks; - - TPolyMarker *pm = new TPolyMarker(); - TList *functions = new TList(); - - gStyle->SetOptFit(111); - - - //Main loop for calibration - for (Int_t i=0; i<4; i++) - { - //Examining the single photoelectron (SPE) peak - for (Int_t n=0; n<3; n++) - { - mean_1[n] = 0; - mean_2[n] = 0; - x_npe[n] = 0, y_npe[n] = 0, x_err[n] = 0, y_err[n] = 0; - } - - TCanvas *cuts_i = new TCanvas(Form("cuts_%d",i), Form("First Photoelectron peaks for e & pions PMT%d",i+1)); - cuts_i->Divide(2,3); - Int_t k = 1; - for (Int_t j=0; j<4; j++) - { - if (j == i) continue; - cuts_i->cd(k); - cuts_i->cd(k)->SetLogy(); - - //Peak Finder for parameter guesses - s->Search(hgc_e[j][i], 2.5, "nobackground", 0.001); - functions = hgc_e[j][i]->GetListOfFunctions(); - pm = (TPolyMarker*)functions->FindObject("TPolyMarker"); - xpeaks = pm->GetX(); - - //Fit the Pedistal - /* - Gauss1->SetParameters(1000., xpeaks[0], 100.); - Gauss1->SetParLimits(0, 0., 1000000.); - Gauss1->SetParLimits(1, xpeaks[0]-30., xpeaks[0]+30.); - Gauss1->SetParLimits(2, 1., 200.); - hgc_e[j][i]->Fit("Gauss1","RQNsame"); - */ - //Fit the first SPE for electrons - /* - Gauss2->SetParameters(Gauss1->GetParameter(0), xpeaks[0], Gauss1->GetParameter(2), Gauss1->GetParameter(0)*0.1, xpeaks[1], Gauss1->GetParameter(2)); - Gauss2->SetParLimits(0, Gauss1->GetParameter(0)-100, Gauss1->GetParameter(0)+100); - Gauss2->SetParLimits(1, xpeaks[0]-30, xpeaks[0]+30); - Gauss2->SetParLimits(2, Gauss1->GetParameter(2)-10, Gauss1->GetParameter(2)+10); - Gauss2->SetParLimits(3, 0., Gauss1->GetParameter(0)+1); - Gauss2->SetParLimits(4, xpeaks[1]-10, xpeaks[1]+10); - Gauss2->SetParLimits(5, Gauss1->GetParameter(2), Gauss1->GetParameter(2)+200); - */ - Gauss1->SetRange(xpeaks[1]-100, xpeaks[1]+100); - Gauss1->SetParameter(1, xpeaks[1]); - Gauss1->SetParameter(2, 200.); - Gauss1->SetParLimits(0, 0., 2000.); - Gauss1->SetParLimits(1, xpeaks[1]-200, xpeaks[1]+200); - Gauss1->SetParLimits(2, 10., 500.); - hgc_e[j][i]->Fit("Gauss1","RQN"); - Gauss1->SetParLimits(1, Gauss1->GetParameter(1)-50, Gauss1->GetParameter(1)+50); - Gauss1->SetRange(Gauss1->GetParameter(1)-1.5*Gauss1->GetParameter(2), Gauss1->GetParameter(1)+1.5*Gauss1->GetParameter(2)); - //Gauss1->SetRange(Gauss1->GetParameter(1)-1.0*Gauss1->GetParameter(2), Gauss1->GetParameter(1)+1.0*Gauss1->GetParameter(2)); - hgc_e[j][i]->Fit("Gauss1","RQ"); - if (xpeaks[1] != 0.0 && hgc_e[j][i]->GetBinContent(hgc_e[j][i]->GetXaxis()->FindBin(xpeaks[1])) > 100) mean_1[(k/2)] = Gauss1->GetParameter(1); - if (xpeaks[1] != 0.0 && hgc_e[j][i]->GetBinContent(hgc_e[j][i]->GetXaxis()->FindBin(xpeaks[1])) > 15) mean_2[(k/2)] = Gauss1->GetParameter(1); - gPad->Update(); - - //Repeat for pions - cuts_i->cd(k+1); - cuts_i->cd(k+1)->SetLogy(); - - //Peak finder for parameter guess - s->Search(hgc_pi[j][i], 2.5, "nobackground", 0.001); - functions = hgc_pi[j][i]->GetListOfFunctions(); - pm = (TPolyMarker*)functions->FindObject("TPolyMarker"); - xpeaks = pm->GetX(); - - //Fit the Pedistal - /* - Gauss1->SetParameters(1000., 0., 100.); - Gauss1->SetParLimits(0, 0., 1000000.); - Gauss1->SetParLimits(1, -10., 100.); - Gauss1->SetParLimits(2, 1., 200.); - hgc_pi[j][i]->Fit("Gauss1","RQNsame"); - */ - - //Fit the first SPE for pions - /* - Gauss2->SetParameters(Gauss1->GetParameter(0), Gauss1->GetParameter(1), Gauss1->GetParameter(2), Gauss1->GetParameter(0)*0.1, Gauss1->GetParameter(1)+100, Gauss1->GetParameter(2)); - Gauss2->SetParLimits(0, Gauss1->GetParameter(0)-100, Gauss1->GetParameter(0)+100); - Gauss2->SetParLimits(1, Gauss1->GetParameter(1)-10, Gauss1->GetParameter(1)+10); - Gauss2->SetParLimits(2, Gauss1->GetParameter(2)-10, Gauss1->GetParameter(2)+10); - Gauss2->SetParLimits(3, 0., Gauss1->GetParameter(0)+1); - Gauss2->SetParLimits(4, Gauss1->GetParameter(1)+100, Gauss1->GetParameter(1)+600); - Gauss2->SetParLimits(5, Gauss1->GetParameter(2), Gauss1->GetParameter(2)+200); - hgc_pi[j][i]->Fit("Gauss2","RQsame"); - */ - Gauss1->SetRange(xpeaks[1]-100, xpeaks[1]+100); - Gauss1->SetParameter(1, xpeaks[1]); - Gauss1->SetParameter(2, 200.); - Gauss1->SetParLimits(0, 0., 2000.); - Gauss1->SetParLimits(1, xpeaks[1]-50, xpeaks[1]+50); - Gauss1->SetParLimits(2, 10., 500.); - hgc_pi[j][i]->Fit("Gauss1","RQ"); - if (xpeaks[1] != 0.0 && hgc_pi[j][i]->GetBinContent(hgc_pi[j][i]->GetXaxis()->FindBin(xpeaks[1])) > 100) mean_1[(k/2)] = Gauss1->GetParameter(1); - gPad->Update(); - - k += 2; - } - - //Scale full ADC spectra according to SPE - Int_t nbins; - nbins = hgc_full[i]->GetXaxis()->GetNbins(); - Double_t m = 0.0; - Double_t xscale = 0.0; - for (Int_t n = 0; n < 6; n++) - { - if (mean_1[n] == 0.0) continue; - //cout << mean_1[n] << endl; - xscale += mean_1[n]; - m += 1.0; - } - //cout << m << endl; - if (m == 0.0) - { /* - for (Int_t n = 0; n < 3; n++) - { - cout << mean_2[n] << endl; - if (mean_2[n] == 0.0) continue; - xscale += mean_2[n]; - m += 1.0; - } - xscale = xscale/m;//*/ - ///* - TCanvas *low_stats_i = new TCanvas(Form("low_stats_%d",i),Form("Low stats analysis for PMT%d",i+1)); - s->Search(hgc_full[i], 2.0, "nobackground", 0.001); - functions = hgc_full[i]->GetListOfFunctions(); - pm = (TPolyMarker*)functions->FindObject("TPolyMarker"); - xpeaks = pm->GetX(); - Gauss1->SetRange(xpeaks[1]-100, xpeaks[1]+100); - Gauss1->SetParameter(1, xpeaks[1]); - Gauss1->SetParameter(2, 200.); - Gauss1->SetParLimits(0, 0., 2000.); - Gauss1->SetParLimits(1, xpeaks[1]-50, xpeaks[1]+50); - Gauss1->SetParLimits(2, 10., 500.); - hgc_full[i]->Fit("Gauss1","RQ"); - xscale = Gauss1->GetParameter(1);//*/ - } - else xscale = xscale/m; - //cout << xscale << endl; - hgc_conv[i] = new TH1F(Form("hgc_conv_%d", i+1), Form("Scaled ADC spectra for PMT%d",i+1), nbins, hgc_full[i]->GetXaxis()->GetXmin()/xscale,hgc_full[i]->GetXaxis()->GetXmax()/xscale); - for (Int_t k=0; k<nbins; k++) - { - Double_t y = hgc_full[i]->GetBinContent(k); - Double_t x = hgc_full[i]->GetXaxis()->GetBinLowEdge(k); - hgc_conv[i]->SetBinContent(k,y); - } - //And normalize the heights - hgc_conv[i]->Scale(1.0/hgc_conv[i]->Integral(), "width"); - - TCanvas *ADCspectra_i = new TCanvas(Form("ADCspectra_%d",i), Form("Scaled ADC pulseInt spectra for PMT%d",i+1)); - p1->SetParameter(0, 5.5); - p1->SetParameter(1, 0.25); - hgc_conv[i]->Fit("p1","RQ"); - gPad->Update(); - - hgc_background[i] = new TH1F(Form("hgc_background_%d", i+1), Form("Scaled ADC spectra background for PMT%d",i+1), nbins, hgc_full[i]->GetXaxis()->GetXmin()/xscale,hgc_full[i]->GetXaxis()->GetXmax()/xscale); - hgc_conv_noback[i] = new TH1F(Form("hgc_conv_noback_%d", i+1), Form("Scaled ADC spectra background removed for PMT%d",i+1), nbins, hgc_full[i]->GetXaxis()->GetXmin()/xscale,hgc_full[i]->GetXaxis()->GetXmax()/xscale); - for (Int_t l=0; l<nbins; l++) - { - Double_t y = p1->Eval(hgc_conv[i]->GetXaxis()->GetBinCenter(l)); - Double_t y2 = hgc_conv[i]->GetBinContent(l) - y; - hgc_background[i]->SetBinContent(l,y); - hgc_conv_noback[i]->SetBinContent(l,y2); - } - TCanvas *Final_Spectra_i = new TCanvas(Form("Final_Spectra_%d",i), Form("Scaled ADC pulseInt spectra Background Removed for PMT%d",i+1)); - Final_Spectra_i->Divide(2,1); - Final_Spectra_i->cd(1); - f1->SetParameters(0.08, 1.0, 0.22, 0.029, 2, 0.5, 0.15, 3, 0.26); - f1->SetParLimits(1, 0.5, 1.5); - f1->SetParLimits(2, 0.0, 1.0); - f1->SetParLimits(3, 0.0, 1.0); - f1->SetParLimits(4, 1.5, 2.5); - f1->SetParLimits(5, 0.2, 0.6); - f1->SetParLimits(6, 0.0, 1.0); - f1->SetParLimits(7, 2.5, 3.5); - f1->SetParLimits(8, 0.2, 0.5); - hgc_conv_noback[i]->Fit("f1","RQ"); - hgc_conv_noback[i]->GetXaxis()->SetRangeUser(0,5); - hgc_conv_noback[i]->GetYaxis()->SetRangeUser(0,0.2); - gPad->Update(); - - y_npe[0] = f1->GetParameter(1), y_npe[1] = f1->GetParameter(4), y_npe[2] = f1->GetParameter(7); - y_err[0] = f1->GetParError(1), y_err[1] = f1->GetParError(4), y_err[2] = f1->GetParError(7); - x_npe[0] = 1, x_npe[1] = 2, x_npe[2] = 3; - TGraphErrors *gr_npe = new TGraphErrors(3, x_npe, y_npe, x_err, y_err); - //TCanvas *Linear_i = new TCanvas(Form("Linear_%d",i), Form("Verification of Linear Relationship for PMT%d",i+1)); - Final_Spectra_i->cd(2); - l1->SetParameters(1.0, 0.0); - gr_npe->Fit("l1","RQ"); - gr_npe->Draw("A*"); - gPad->Update(); - calibration[i] = xscale; - - Double_t xscale_mk2 = xscale * l1->GetParameter(0); - hgc_conv_mk2[i] = new TH1F(Form("hgc_conv_mk2_%d", i+1), Form("Scaled ADC spectra mk2 for PMT%d",i+1), nbins, hgc_full[i]->GetXaxis()->GetXmin()/xscale_mk2,hgc_full[i]->GetXaxis()->GetXmax()/xscale_mk2); - for (Int_t k=0; k<nbins; k++) - { - Double_t y = hgc_full[i]->GetBinContent(k); - Double_t x = hgc_full[i]->GetXaxis()->GetBinLowEdge(k); - hgc_conv_mk2[i]->SetBinContent(k,y); - } - hgc_conv_mk2[i]->Scale(1.0/hgc_conv_mk2[i]->Integral(), "width"); - - //TCanvas *ADCspectra_mk2_i = new TCanvas(Form("ADCspectra_mk2_%d",i), Form("Scaled ADC pulseInt spectra mk2 for PMT%d",i+1)); - p1->SetParameter(0, 5.5); - p1->SetParameter(1, 0.25); - hgc_conv_mk2[i]->Fit("p1","RQN"); - gPad->Update(); - - hgc_conv_noback_mk2[i] = new TH1F(Form("hgc_conv_noback_mk2_%d", i+1), Form("Scaled ADC spectra background removed mk2 for PMT%d",i+1), nbins, hgc_full[i]->GetXaxis()->GetXmin()/xscale_mk2,hgc_full[i]->GetXaxis()->GetXmax()/xscale_mk2); - for (Int_t l=0; l<nbins; l++) - { - Double_t y = p1->Eval(hgc_conv_mk2[i]->GetXaxis()->GetBinCenter(l)); - Double_t y2 = hgc_conv_mk2[i]->GetBinContent(l) - y; - hgc_conv_noback_mk2[i]->SetBinContent(l,y2); - } - - TCanvas *Final_Spectra_mk2_i = new TCanvas(Form("Final_Spectra_mk2_%d",i), Form("Scaled ADC pulseInt spectra Background Removed mk2 for PMT%d",i+1)); - Final_Spectra_mk2_i->Divide(2,1); - Final_Spectra_mk2_i->cd(1); - - f1->SetParameters(0.08, 1.0, 0.22, 0.029, 2, 0.5, 0.15, 3, 0.26); - f1->SetParLimits(1, 0.5, 1.5); - f1->SetParLimits(2, 0.0, 1.0); - f1->SetParLimits(3, 0.0, 1.0); - f1->SetParLimits(4, 1.5, 2.5); - f1->SetParLimits(5, 0.2, 0.6); - f1->SetParLimits(6, 0.0, 1.0); - f1->SetParLimits(7, 2.5, 3.5); - f1->SetParLimits(8, 0.2, 0.5); - - //f1->SetParameters(0.15, 1.02, 0.3, 0.07, 2.06, 0.4, 0.04, 3.2, 0.5); - hgc_conv_noback_mk2[i]->DrawCopy(); - hgc_conv_noback_mk2[i]->Fit("f1","RQsame"); - hgc_conv_noback_mk2[i]->GetXaxis()->SetRangeUser(0,5); - hgc_conv_noback_mk2[i]->GetYaxis()->SetRangeUser(0,0.2); - //f1->Draw("same"); - gPad->Update(); - - y_npe[0] = f1->GetParameter(1), y_npe[1] = f1->GetParameter(4), y_npe[2] = f1->GetParameter(7); - y_err[0] = f1->GetParError(1), y_err[1] = f1->GetParError(4), y_err[2] = f1->GetParError(7); - x_npe[0] = 1, x_npe[1] = 2, x_npe[2] = 3; - TGraphErrors *gr_npe_mk2 = new TGraphErrors(3, x_npe, y_npe, x_err, y_err); - Final_Spectra_mk2_i->cd(2); - l1->SetParameters(1.0, 0.0); - gr_npe_mk2->Fit("l1","RQ"); - gr_npe_mk2->Draw("A*"); - gPad->Update(); - calibration_mk2[i] = xscale_mk2; - } - cout << "Calibration constants are: " << endl; - for (Int_t i=0; i<4; i++) - { - cout << Form("PMT%d: ",i+1) << calibration[i] << " " << calibration_mk2[i] << endl; - } -} diff --git a/CALIBRATION/shms_hgcer_calib/scripts/gain_calculation.C b/CALIBRATION/shms_hgcer_calib/scripts/gain_calculation.C deleted file mode 100644 index 873930c3ff4464308ff70f2fe77effde1fbdf29a..0000000000000000000000000000000000000000 --- a/CALIBRATION/shms_hgcer_calib/scripts/gain_calculation.C +++ /dev/null @@ -1,131 +0,0 @@ -#include <sstream> -#include <TGraphErrors.h> - -Double_t exponential(Double_t *x, Double_t *par) -{ - Double_t result = par[0]*pow(x[0],par[1]); - return result; -} - -void gain_calculation() -{ - struct input_t - { - Int_t voltage; - Int_t index; - float constant; - }; - - input_t input; - - string datafile; - datafile = "Constants.dat"; - - FILE *fp = fopen(datafile.c_str(),"r"); - Double_t const_err = 5; - //Double_t pC = 0.006; - Double_t pC = 0.01953125; - - char line[50]; - TGraphErrors *gr_1 = new TGraphErrors(); - TGraphErrors *gr_2 = new TGraphErrors(); - TGraphErrors *gr_3 = new TGraphErrors(); - TGraphErrors *gr_4 = new TGraphErrors(); - - while (fgets(&line[0],50,fp)) - { - if (line[0] == '#') continue; - else - { - sscanf(&line[0],"%i%i%f",&input.voltage,&input.index,&input.constant); - if (input.index == 1) - { - gr_1->SetPoint(gr_1->GetN(),input.voltage,(input.constant * pC)/(0.0000001602)); - gr_1->SetPointError(gr_1->GetN()-1,0,(const_err * pC)/(0.0000001602)); - } - if (input.index == 2) - { - gr_2->SetPoint(gr_2->GetN(),input.voltage,(input.constant * pC)/(0.0000001602)); - gr_2->SetPointError(gr_2->GetN()-1,0,(const_err * pC)/(0.0000001602)); - } - if (input.index == 3) - { - gr_3->SetPoint(gr_3->GetN(),input.voltage,(input.constant * pC)/(0.0000001602)); - gr_3->SetPointError(gr_3->GetN()-1,0,(const_err * pC)/(0.0000001602)); - } - if (input.index == 4) - { - gr_4->SetPoint(gr_4->GetN(),input.voltage,(input.constant * pC)/(0.0000001602)); - gr_4->SetPointError(gr_4->GetN()-1,0,(const_err * pC)/(0.0000001602)); - } - } - } - fclose(fp); - - TF1 *e1 = new TF1("e1",exponential,2000,2400,2); - e1->SetParNames("Coefficient","Exponent"); - e1->SetParameters(1*pow(10,-28), 10.5); - TF1 *e2 = new TF1("e2",exponential,2000,2400,2); - e2->SetParNames("Coefficient","Exponent"); - e2->SetParameters(1*pow(10,-28), 10.5); - TF1 *e3 = new TF1("e3",exponential,2000,2400,2); - e3->SetParNames("Coefficient","Exponent"); - e3->SetParameters(1*pow(10,-28), 10.5); - TF1 *e4 = new TF1("e4",exponential,2000,2400,2); - e4->SetParNames("Coefficient","Exponent"); - e4->SetParameters(1*pow(10,-28), 10.5); - - TCanvas *c0 = new TCanvas("c0","Gain vs. Voltage"); - gr_1->SetName("gr_1"); - gr_1->SetMarkerColor(kMagenta); - gr_1->SetMarkerStyle(22); - gr_1->SetMarkerSize(1); - e1->SetLineColor(kMagenta); - gr_1->Fit("e1","RMEQ"); - //gr_1->Draw("AP"); - gr_2->SetName("gr_2"); - gr_2->SetMarkerColor(kBlue); - gr_2->SetMarkerStyle(22); - gr_2->SetMarkerSize(1); - e2->SetLineColor(kBlue); - gr_2->Fit("e2","RMEQ"); - //gr_2->Draw("APsame"); - gr_3->SetName("gr_3"); - gr_3->SetMarkerColor(kCyan); - gr_3->SetMarkerStyle(22); - gr_3->SetMarkerSize(1); - e3->SetLineColor(kCyan); - gr_3->Fit("e3","RMEQ"); - //gr_3->Draw("APsame"); - gr_4->SetName("gr_4"); - gr_4->SetMarkerColor(kGreen); - gr_4->SetMarkerStyle(22); - gr_4->SetMarkerSize(1); - e4->SetLineColor(kGreen); - gr_4->Fit("e4","RMEQ"); - //gr_4->Draw("same"); - TMultiGraph *mg = new TMultiGraph(); - mg->SetTitle("Voltage vs Gain for HGC PMTs"); - mg->Add(gr_1); - mg->Add(gr_2); - mg->Add(gr_3); - mg->Add(gr_4); - mg->Draw("AP"); - mg->GetXaxis()->SetTitle("Voltage"); - mg->GetYaxis()->SetTitle("Gain"); - auto legend = new TLegend(0.6,0.7,0.8,0.9); - legend->AddEntry("gr_1","PMT 1","ep"); - legend->AddEntry("gr_2","PMT 2","ep"); - legend->AddEntry("gr_3","PMT 3","ep"); - legend->AddEntry("gr_4","PMT 4","ep"); - legend->Draw(); - gPad->Modified(); - - cout << "Calibration values are: (Constant & Exponent)" << endl; - cout << "PMT1: " << e1->GetParameter(0) << " " << e1->GetParameter(1) << " +/- " << e1->GetParError(1) << endl; - cout << "PMT2: " << e2->GetParameter(0) << " " << e2->GetParameter(1) << " +/- " << e2->GetParError(1) << endl; - cout << "PMT3: " << e3->GetParameter(0) << " " << e3->GetParameter(1) << " +/- " << e3->GetParError(1) <<endl; - cout << "PMT4: " << e4->GetParameter(0) << " " << e4->GetParameter(1) << " +/- " << e4->GetParError(1) <<endl; - - -} diff --git a/DBASE/GEN/general.param b/DBASE/COIN/GEN/general.param similarity index 96% rename from DBASE/GEN/general.param rename to DBASE/COIN/GEN/general.param index 32d527da77a9b97e59d0527c62a5ba9e24a38774..24c74c8b3de3f7ae9a759dc112191c344ed629dd 100644 --- a/DBASE/GEN/general.param +++ b/DBASE/COIN/GEN/general.param @@ -35,8 +35,7 @@ cminch=2.54 #include "PARAM/HMS/DC/CALIB/hdc_calib_6gev.param" #include "PARAM/HMS/HODO/CALIB/hhodo_calib.param" #include "PARAM/HMS/AERO/CALIB/haero_calib.param" -#include "PARAM/HMS/CAL/CALIB/hcal_calib.param" - +#include "PARAM/HMS/CAL/CALIB/hcal_calib.param" ; General SHMS parameter files ; Note: shmsflags.param includes spectrometer offsets and options. @@ -68,4 +67,4 @@ cminch=2.54 #include "PARAM/SHMS/HODO/CALIB/phodo_calib.param" #include "PARAM/SHMS/HGCER/CALIB/phgcer_calib.param" #include "PARAM/SHMS/AERO/CALIB/paero_calib.param" -#include "PARAM/SHMS/CAL/CALIB/pcal_calib.param" +#include "PARAM/SHMS/CAL/CALIB/pcal_calib.param" \ No newline at end of file diff --git a/DBASE/COIN/STD/standard.database b/DBASE/COIN/STD/standard.database new file mode 100644 index 0000000000000000000000000000000000000000..5380863113b5445b7df16901f96f866f2034c368 --- /dev/null +++ b/DBASE/COIN/STD/standard.database @@ -0,0 +1,3 @@ +0-99999 +g_ctp_parm_filename ="DBASE/COIN/GEN/general.param" +g_ctp_kinematics_filename ="DBASE/COIN/STD/standard.kinematics" \ No newline at end of file diff --git a/DBASE/STD/standard.kinematics b/DBASE/COIN/STD/standard.kinematics similarity index 76% rename from DBASE/STD/standard.kinematics rename to DBASE/COIN/STD/standard.kinematics index 8534e7c818c7abd8714def18fc82666a3b631c1b..31b2fff42dee4c1e8929e1a93c74f7d47a014d98 100644 --- a/DBASE/STD/standard.kinematics +++ b/DBASE/COIN/STD/standard.kinematics @@ -7,6 +7,5 @@ hpcentral = 3. ppcentral = 3. hpartmass = 0.00051099 ppartmass = 0.00051099 -ptargmass_amu=12.0 -465-465 -ppcentral = 0.750 \ No newline at end of file +htargmass_amu = 12.0 +ptargmass_amu = 12.0 \ No newline at end of file diff --git a/DBASE/GEN/KPP_Spring_2017/calib_303.param b/DBASE/HMS/GEN/KPP_Spring_2017/calib_303.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_303.param rename to DBASE/HMS/GEN/KPP_Spring_2017/calib_303.param diff --git a/DBASE/HMS/GEN/general.param b/DBASE/HMS/GEN/general.param new file mode 100644 index 0000000000000000000000000000000000000000..584a2217466243b2628e95d94be45ee87abedfbb --- /dev/null +++ b/DBASE/HMS/GEN/general.param @@ -0,0 +1,38 @@ +#real raddeg +raddeg=3.14159265/180 +#real cminch +cminch=2.54 + +; General Hall-C parameter files +#include "PARAM/GEN/genflags.param" +#include "PARAM/GEN/gdebug.param" +#include "PARAM/GEN/gtarget.param" +#include "PARAM/GEN/gbeam.param" + +; General HMS parameter files +; Note: hmsflags.param includes spectrometer offsets and options. +#include "PARAM/HMS/GEN/hcana.param" +#include "PARAM/HMS/GEN/hdebug.param" +#include "PARAM/HMS/GEN/hmsflags.param" +#include "PARAM/HMS/GEN/htracking.param" + +; HMS default geometry parameter files +#include "PARAM/HMS/CER/GEOM/hcer_geom.param" +#include "PARAM/HMS/DC/GEOM/hdc_geom_6gev.param" +#include "PARAM/HMS/HODO/GEOM/hhodo_geom.param" +#include "PARAM/HMS/AERO/GEOM/haero_geom.param" +#include "PARAM/HMS/CAL/GEOM/hcal_geom.param" + +; HMS default cut parameter files +#include "PARAM/HMS/CER/CUTS/hcer_cuts.param" +#include "PARAM/HMS/DC/CUTS/hdc_cuts_6gev.param" +#include "PARAM/HMS/HODO/CUTS/hhodo_cuts.param" +#include "PARAM/HMS/AERO/CUTS/haero_cuts.param" +#include "PARAM/HMS/CAL/CUTS/hcal_cuts.param" + +; HMS default calibration parameter files +#include "PARAM/HMS/CER/CALIB/hcer_calib.param" +#include "PARAM/HMS/DC/CALIB/hdc_calib_6gev.param" +#include "PARAM/HMS/HODO/CALIB/hhodo_calib.param" +#include "PARAM/HMS/AERO/CALIB/haero_calib.param" +#include "PARAM/HMS/CAL/CALIB/hcal_calib.param" \ No newline at end of file diff --git a/DBASE/HMS/STD/standard.database b/DBASE/HMS/STD/standard.database new file mode 100644 index 0000000000000000000000000000000000000000..d293eb4905069c3e71c9ac9c652ecee9d50071f4 --- /dev/null +++ b/DBASE/HMS/STD/standard.database @@ -0,0 +1,6 @@ +0-99999 +g_ctp_parm_filename ="DBASE/HMS/GEN/general.param" +g_ctp_kinematics_filename ="DBASE/HMS/STD/standard.kinematics" + +303-303 +g_ctp_calib_filename ="DBASE/HMS/GEN/KPP_Spring_2017/calib_303.param" \ No newline at end of file diff --git a/DBASE/HMS/STD/standard.kinematics b/DBASE/HMS/STD/standard.kinematics new file mode 100644 index 0000000000000000000000000000000000000000..92aa0e37bb98843f8823e5beedece5941a8d3e99 --- /dev/null +++ b/DBASE/HMS/STD/standard.kinematics @@ -0,0 +1,6 @@ +0-99999 +gpbeam = 6.4 +gtarg_num = 1 +htheta_lab = 15. +hpcentral = 3. +hpartmass = 0.00051099 \ No newline at end of file diff --git a/DBASE/GEN/KPP_Spring_2017/calib_464.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_464.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_464.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_464.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_469.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_469.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_469.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_469.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_475.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_475.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_475.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_475.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_478.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_478.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_478.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_478.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_479.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_479.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_479.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_479.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_480.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_480.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_480.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_480.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_481.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_481.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_481.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_481.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_483.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_483.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_483.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_483.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_484.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_484.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_484.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_484.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_486.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_486.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_486.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_486.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_487.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_487.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_487.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_487.param diff --git a/DBASE/GEN/KPP_Spring_2017/calib_488.param b/DBASE/SHMS/GEN/KPP_Spring_2017/calib_488.param similarity index 100% rename from DBASE/GEN/KPP_Spring_2017/calib_488.param rename to DBASE/SHMS/GEN/KPP_Spring_2017/calib_488.param diff --git a/DBASE/SHMS/GEN/general.param b/DBASE/SHMS/GEN/general.param new file mode 100644 index 0000000000000000000000000000000000000000..1a9ebb4927d78ca501b0aea7ef37f843e6d527c3 --- /dev/null +++ b/DBASE/SHMS/GEN/general.param @@ -0,0 +1,42 @@ +#real raddeg +raddeg=3.14159265/180 +#real cminch +cminch=2.54 + +; General Hall-C parameter files +#include "PARAM/GEN/genflags.param" +#include "PARAM/GEN/gdebug.param" +#include "PARAM/GEN/gtarget.param" +#include "PARAM/GEN/gbeam.param" + +; General SHMS parameter files +; Note: shmsflags.param includes spectrometer offsets and options. +#include "PARAM/SHMS/GEN/pcana.param" +#include "PARAM/SHMS/GEN/pdebug.param" +#include "PARAM/SHMS/GEN/shmsflags.param" +#include "PARAM/SHMS/GEN/ptracking.param" + +; SHMS default geometry parameter files +#include "PARAM/SHMS/NGCER/GEOM/pngcer_geom.param" +#include "PARAM/SHMS/DC/GEOM/pdc_geom.param" +#include "PARAM/SHMS/HODO/GEOM/phodo_geom.param" +#include "PARAM/SHMS/HGCER/GEOM/phgcer_geom.param" +#include "PARAM/SHMS/AERO/GEOM/paero_geom.param" +#include "PARAM/SHMS/CAL/GEOM/pcal_geom.param" + +; SHMS default cut parameter files +#include "PARAM/SHMS/NGCER/CUTS/pngcer_cuts.param" +#include "PARAM/SHMS/DC/CUTS/pdc_cuts.param" +#include "PARAM/SHMS/HODO/CUTS/phodo_cuts.param" +#include "PARAM/SHMS/HGCER/CUTS/phgcer_cuts.param" +#include "PARAM/SHMS/AERO/CUTS/paero_cuts.param" +#include "PARAM/SHMS/CAL/CUTS/pcal_cuts.param" + +; SHMS default calibration parameter files +#include "PARAM/SHMS/NGCER/CALIB/pngcer_calib.param" +#include "PARAM/SHMS/DC/CALIB/pdc_calib.param" +#include "PARAM/SHMS/DC/CALIB/pdc_tzero_per_wire.param" +#include "PARAM/SHMS/HODO/CALIB/phodo_calib.param" +#include "PARAM/SHMS/HGCER/CALIB/phgcer_calib.param" +#include "PARAM/SHMS/AERO/CALIB/paero_calib.param" +#include "PARAM/SHMS/CAL/CALIB/pcal_calib.param" diff --git a/DBASE/SHMS/STD/standard.database b/DBASE/SHMS/STD/standard.database new file mode 100644 index 0000000000000000000000000000000000000000..9677295561b90bfbf4835a9118614a07be13bd47 --- /dev/null +++ b/DBASE/SHMS/STD/standard.database @@ -0,0 +1,39 @@ +0-99999 +g_ctp_parm_filename ="DBASE/SHMS/GEN/general.param" +g_ctp_kinematics_filename ="DBASE/SHMS/STD/standard.kinematics" + +464-464 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_464.param" + +469-469 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_469.param" + +475-475 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_475.param" + +478-478 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_478.param" + +479-479 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_479.param" + +480-480 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_480.param" + +481-481 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_481.param" + +483-483 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_483.param" + +484-484 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_484.param" + +486-486 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_486.param" + +487-487 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_487.param" + +488-488 +g_ctp_calib_filename ="DBASE/SHMS/GEN/KPP_Spring_2017/calib_488.param" diff --git a/DBASE/SHMS/STD/standard.kinematics b/DBASE/SHMS/STD/standard.kinematics new file mode 100644 index 0000000000000000000000000000000000000000..cebcd310ac9ff8a298686a4ae6949053ee45df4e --- /dev/null +++ b/DBASE/SHMS/STD/standard.kinematics @@ -0,0 +1,9 @@ +0-99999 +gpbeam = 6.4 +gtarg_num = 1 +ptheta_lab = 15. +ppcentral = 3. +ppartmass = 0.00051099 +ptargmass_amu=12.0 +465-465 +ppcentral = 0.750 \ No newline at end of file diff --git a/DBASE/STD/standard.database b/DBASE/STD/standard.database deleted file mode 100644 index d1d852bf2c5f619524c9bd05ecc48839f12225f9..0000000000000000000000000000000000000000 --- a/DBASE/STD/standard.database +++ /dev/null @@ -1,42 +0,0 @@ -0-99999 -g_ctp_parm_filename ="DBASE/GEN/general.param" -g_ctp_kinematics_filename ="DBASE/STD/standard.kinematics" - -303-303 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_303.param" - -464-464 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_464.param" - -469-469 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_469.param" - -475-475 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_475.param" - -478-478 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_478.param" - -479-479 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_479.param" - -480-480 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_480.param" - -481-481 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_481.param" - -483-483 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_483.param" - -484-484 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_484.param" - -486-486 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_486.param" - -487-487 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_487.param" - -488-488 -g_ctp_calib_filename ="DBASE/GEN/KPP_Spring_2017/calib_488.param" diff --git a/DEF-files/COIN/PRODUCTION/coin_production.def b/DEF-files/COIN/PRODUCTION/coin_production.def new file mode 100644 index 0000000000000000000000000000000000000000..48f964cca91e416c67833e532f9d78fb49cf4aed --- /dev/null +++ b/DEF-files/COIN/PRODUCTION/coin_production.def @@ -0,0 +1,33 @@ +#******************** +# Block Definitions * +#******************** + +block T.coin.* + +block H.cer.* +block H.dc.* +block H.tr.* +block H.hod.* +block H.cal.* +block H.gtr.* +block H.kin.* + +block P.ngcer.* +block P.dc.* +block P.tr.* +block P.hod.* +block P.hgcer.* +block P.aero.* +block P.cal.* +block P.gtr.* +block P.kin.* + +begin epics +IBC3H00CRCUR4 +hac_bcm_average +ibcm1 +ibcm2 +iunser +itov3out +itov4out +end epics diff --git a/DEF-files/COIN/PRODUCTION/coin_production_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_cuts.def new file mode 100644 index 0000000000000000000000000000000000000000..0b6e66854126630ebb9f776a6fe348411287bfe8 --- /dev/null +++ b/DEF-files/COIN/PRODUCTION/coin_production_cuts.def @@ -0,0 +1,39 @@ +Block: RawDecode + +Pedestal_event g.evtyp == 4 +scalar_event g.evtyp == 0 +HMS_event g.evtyp == 1 +SHMS_event g.evtyp == 1 +coin_event g.evtyp == 3 +tr4_event g.evtyp == 4 +tr5_event g.evtyp == 5 +tr6_event g.evtyp == 6 +misc_event g.evtyp >= 10 +hmscoin_event g.evtyp == 1 || g.evtyp == 3 +shmscoin_event g.evtyp == 2 || g.evtyp == 3 +all_event g.evtyp == 1 || g.evtyp == 2 || g.evtyp == 3 + +RawDecode_master 1 + +Block: Decode + +all_trigs HMS_event || SHMS_event || coin_event +hms_coin_trig HMS_event || coin_event +shms_coin_trig SHMS_event || coin_event +hms_trig HMS_event +shms_trig SHMS_event +coin_trig coin_event + +Decode_master SHMS_event + +Block: CoarseTracking +CoarseTracking_master SHMS_event + +Block: CoarseReconstruct +CoarseReconstruct_master SHMS_event + +Block: Tracking +Tracking_master SHMS_event + +Block: Reconstruct +Reconstruct_master SHMS_event \ No newline at end of file diff --git a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def index 9ba278304cbab0bcfdc431998d303d10734917f5..9f6cbece614e475ae43f95ea962b627fe0768be2 100644 --- a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def +++ b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def @@ -1,5 +1,4 @@ -# Demo cuts for hodtest -# +# Report file for HMS stack Block: RawDecode diff --git a/DEF-files/HMS/SCALERS/hscaler_cuts.def b/DEF-files/HMS/SCALERS/hscaler_cuts.def index 0e461516a77e5581f734e557d6325b48f26210a2..d3ddb924e900aae0a2eb571081457ca75f997ec3 100644 --- a/DEF-files/HMS/SCALERS/hscaler_cuts.def +++ b/DEF-files/HMS/SCALERS/hscaler_cuts.def @@ -5,23 +5,23 @@ Block: RawDecode Pedestal_event g.evtyp==4 scalar_event g.evtyp==0 HMS_event g.evtyp==1 -#SHMS_event g.evtyp==2 -#coin_event g.evtyp==3 +SHMS_event g.evtyp==1 +coin_event g.evtyp==3 tr4_event g.evtyp==4 tr5_event g.evtyp==5 tr6_event g.evtyp==6 misc_event g.evtyp>=10 -#hmscoin_event g.evtyp==1||g.evtyp==3 -#shmscoin_event g.evtyp==2||g.evtyp==3 -#all_event g.evtyp==1||g.evtyp==2||g.evtyp==3 +hmscoin_event g.evtyp==1||g.evtyp==3 +shmscoin_event g.evtyp==2||g.evtyp==3 +all_event g.evtyp==1||g.evtyp==2||g.evtyp==3 RawDecode_master 1 Block: Decode -#all_trigs g.evtyp==1 || g.evtyp==2 || g.evtyp==3 -#hms_shms_trig g.evtyp==1 || g.evtyp==2 -#hms_coin_trig g.evtyp==1 || g.evtyp==3 +all_trigs g.evtyp==1 || g.evtyp==2 || g.evtyp==3 +hms_shms_trig g.evtyp==1 || g.evtyp==2 +hms_coin_trig g.evtyp==1 || g.evtyp==3 Decode_master HMS_event diff --git a/DEF-files/HMS/STACK/TRIG/htrig_histos.def b/DEF-files/HMS/STACK/TRIG/htrig_histos.def index b094df93083ed475eb209808797187960b7363c8..85f7ab0d722b9a7f53453e341eb0620fef5d10b8 100644 --- a/DEF-files/HMS/STACK/TRIG/htrig_histos.def +++ b/DEF-files/HMS/STACK/TRIG/htrig_histos.def @@ -67,7 +67,6 @@ TH1F htrig_hdsum_tdc 'HMS hDsum TDC Time; TDC Time (TDC Units); Counts / 10 TDC TH1F htrig_hpreShwr_adc_pped 'HMS Pre-Shower Pulse Pedestal; Pulse Pedestal (ADC Units); Counts / 1 ADC Units;' T.hms.hPSHWR_adcPed 5000 0 5000 TH1F htrig_hpreShwr_adc_pi 'HMS Pre-Shower Pulse Integral; Pulse Integral (ADC Units); Counts / 50 ADC Units;' T.hms.hPSHWR_adcPulseInt 800 0 40000 TH1F htrig_hpreShwr_adc_pamp 'HMS Pre-Shower Pulse Amplitude; Pulse Amplitude (ADC Units); Counts / 20 ADC Units;' T.hms.hPSHWR_adcPulseAmp 205 0 4100 -TH1F htrig_hpreShwr_tdc 'HMS Pre-Shower TDC Time; TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hPSHWR_tdcTime 4000 0 40000 #----------------------------- # HMS PreShower TRIG LOW/HIGH @@ -113,18 +112,18 @@ TH1F htrig_haersum_tdc 'HMS Aerogel Sum TDC Time; TDC Time (TDC Units); Counts # Assume FADC range is set to 1V and the integration is 25 channels # Offset in the FADC is about 0.122V or 500 channels. -formula FRXA_V T.hms.pFRXA_adcPulseIntRaw*(1./4096.)/25. -formula FRXB_V T.hms.pFRXB_adcPulseIntRaw*(1./4096.)/25. -formula FRYA_V T.hms.pFRYA_adcPulseIntRaw*(1./4096.)/25. -formula FRYB_V T.hms.pFRYB_adcPulseIntRaw*(1./4096.)/25. +formula FRXA_V T.hms.hFRXA_adcPulseIntRaw*(1./4096.)/25. +formula FRXB_V T.hms.hFRXB_adcPulseIntRaw*(1./4096.)/25. +formula FRYA_V T.hms.hFRYA_adcPulseIntRaw*(1./4096.)/25. +formula FRYB_V T.hms.hFRYB_adcPulseIntRaw*(1./4096.)/25. -TH1F hFRXA 'HMS FRXA; FRXA RAW ADC (chan); Counts' T.hms.pFRXA_adcPulseIntRaw 1000 0 100000 +TH1F hFRXA 'HMS FRXA; FRXA RAW ADC (chan); Counts' T.hms.hFRXA_adcPulseIntRaw 1000 0 100000 TH1F hFRXA_V 'HMS FRXA; FRXA RAW ADC (Volts); Counts' FRXA_V 1000 0 1.0 -TH1F hFRXB 'HMS FRXB; FRXB RAW ADC (chan); Counts' T.hms.pFRXB_adcPulseIntRaw 1000 0 100000 +TH1F hFRXB 'HMS FRXB; FRXB RAW ADC (chan); Counts' T.hms.hFRXB_adcPulseIntRaw 1000 0 100000 TH1F hFRXB_V 'HMS FRXB; FRXB RAW ADC (Volts); Counts' FRXB_V 1000 0 1.0 -TH1F hFRYA 'HMS FRYA; FRYA RAW ADC (chan); Counts' T.hms.pFRYA_adcPulseIntRaw 1000 0 100000 +TH1F hFRYA 'HMS FRYA; FRYA RAW ADC (chan); Counts' T.hms.hFRYA_adcPulseIntRaw 1000 0 100000 TH1F hFRYA_V 'HMS FRYA; FRYA RAW ADC (Volts); Counts' FRYA_V 1000 0 1.0 -TH1F hFRYB 'HMS FRYB; FRYB RAW ADC (chan); Counts' T.hms.pFRYB_adcPulseIntRaw 1000 0 100000 +TH1F hFRYB 'HMS FRYB; FRYB RAW ADC (chan); Counts' T.hms.hFRYB_adcPulseIntRaw 1000 0 100000 TH1F hFRYB_V 'HMS FRYB; FRYB RAW ADC (Volts); Counts' FRYB_V 1000 0 1.0 TH2F hFRA_XvsY 'HMSFRA_XvsY; FRXA RAW ADC (Volts); FRYA RAW ADC (Volts)' FRXA_V FRYA_V 1000 0 1.0 1000 0 1.0 TH2F hFRB_XvsY 'HMSFRB_XvsY; FRXB RAW ADC (Volts); FRYB RAW ADC (Volts)' FRXB_V FRYB_V 1000 0 1.0 1000 0 1.0 diff --git a/DEF-files/HMS/STACK/hstackana.def b/DEF-files/HMS/STACK/hstackana.def index c29c27d8f65c387c37ae8d8a6c217bae34d089e8..6378b365f0dc1a55f48ff92dfd7abf0439795c34 100644 --- a/DEF-files/HMS/STACK/hstackana.def +++ b/DEF-files/HMS/STACK/hstackana.def @@ -537,7 +537,6 @@ TH1F htrig_hdsum_tdc 'HMS hDsum TDC Time; TDC Time (TDC Units); Counts / 10 TDC TH1F htrig_hpreShwr_adc_pped 'HMS Pre-Shower Pulse Pedestal; Pulse Pedestal (ADC Units); Counts / 1 ADC Units;' T.hms.hPSHWR_adcPed 5000 0 5000 TH1F htrig_hpreShwr_adc_pi 'HMS Pre-Shower Pulse Integral; Pulse Integral (ADC Units); Counts / 50 ADC Units;' T.hms.hPSHWR_adcPulseInt 800 0 40000 TH1F htrig_hpreShwr_adc_pamp 'HMS Pre-Shower Pulse Amplitude; Pulse Amplitude (ADC Units); Counts / 20 ADC Units;' T.hms.hPSHWR_adcPulseAmp 205 0 4100 -TH1F htrig_hpreShwr_tdc 'HMS Pre-Shower TDC Time; TDC Time (TDC Units); Counts / 10 TDC Units;' T.hms.hPSHWR_tdcTime 4000 0 40000 #----------------------------- # HMS PreShower TRIG LOW/HIGH @@ -583,18 +582,18 @@ TH1F htrig_haersum_tdc 'HMS Aerogel Sum TDC Time; TDC Time (TDC Units); Counts # Assume FADC range is set to 1V and the integration is 25 channels # Offset in the FADC is about 0.122V or 500 channels. -formula FRXA_V T.hms.pFRXA_adcPulseIntRaw*(1./4096.)/25. -formula FRXB_V T.hms.pFRXB_adcPulseIntRaw*(1./4096.)/25. -formula FRYA_V T.hms.pFRYA_adcPulseIntRaw*(1./4096.)/25. -formula FRYB_V T.hms.pFRYB_adcPulseIntRaw*(1./4096.)/25. +formula FRXA_V T.hms.hFRXA_adcPulseIntRaw*(1./4096.)/25. +formula FRXB_V T.hms.hFRXB_adcPulseIntRaw*(1./4096.)/25. +formula FRYA_V T.hms.hFRYA_adcPulseIntRaw*(1./4096.)/25. +formula FRYB_V T.hms.hFRYB_adcPulseIntRaw*(1./4096.)/25. -TH1F hFRXA 'HMS FRXA; FRXA RAW ADC (chan); Counts' T.hms.pFRXA_adcPulseIntRaw 1000 0 100000 +TH1F hFRXA 'HMS FRXA; FRXA RAW ADC (chan); Counts' T.hms.hFRXA_adcPulseIntRaw 1000 0 100000 TH1F hFRXA_V 'HMS FRXA; FRXA RAW ADC (Volts); Counts' FRXA_V 1000 0 1.0 -TH1F hFRXB 'HMS FRXB; FRXB RAW ADC (chan); Counts' T.hms.pFRXB_adcPulseIntRaw 1000 0 100000 +TH1F hFRXB 'HMS FRXB; FRXB RAW ADC (chan); Counts' T.hms.hFRXB_adcPulseIntRaw 1000 0 100000 TH1F hFRXB_V 'HMS FRXB; FRXB RAW ADC (Volts); Counts' FRXB_V 1000 0 1.0 -TH1F hFRYA 'HMS FRYA; FRYA RAW ADC (chan); Counts' T.hms.pFRYA_adcPulseIntRaw 1000 0 100000 +TH1F hFRYA 'HMS FRYA; FRYA RAW ADC (chan); Counts' T.hms.hFRYA_adcPulseIntRaw 1000 0 100000 TH1F hFRYA_V 'HMS FRYA; FRYA RAW ADC (Volts); Counts' FRYA_V 1000 0 1.0 -TH1F hFRYB 'HMS FRYB; FRYB RAW ADC (chan); Counts' T.hms.pFRYB_adcPulseIntRaw 1000 0 100000 +TH1F hFRYB 'HMS FRYB; FRYB RAW ADC (chan); Counts' T.hms.hFRYB_adcPulseIntRaw 1000 0 100000 TH1F hFRYB_V 'HMS FRYB; FRYB RAW ADC (Volts); Counts' FRYB_V 1000 0 1.0 TH2F hFRA_XvsY 'HMSFRA_XvsY; FRXA RAW ADC (Volts); FRYA RAW ADC (Volts)' FRXA_V FRYA_V 1000 0 1.0 1000 0 1.0 TH2F hFRB_XvsY 'HMSFRB_XvsY; FRXB RAW ADC (Volts); FRYB RAW ADC (Volts)' FRXB_V FRYB_V 1000 0 1.0 1000 0 1.0 diff --git a/DEF-files/HMS/STACK/hstackana_cuts.def b/DEF-files/HMS/STACK/hstackana_cuts.def index f787145d2ffbc7154a600f29caf4340ded912764..7c5d068e8907cb4671f062155e13baf0f775ce7c 100644 --- a/DEF-files/HMS/STACK/hstackana_cuts.def +++ b/DEF-files/HMS/STACK/hstackana_cuts.def @@ -6,23 +6,23 @@ Block: RawDecode Pedestal_event g.evtyp==4 scalar_event g.evtyp==0 HMS_event g.evtyp==1 -#SHMS_event g.evtyp==2 -#coin_event g.evtyp==3 +SHMS_event g.evtyp==1 +coin_event g.evtyp==3 tr4_event g.evtyp==4 tr5_event g.evtyp==5 tr6_event g.evtyp==6 misc_event g.evtyp>=10 -#hmscoin_event g.evtyp==1||g.evtyp==3 -#shmscoin_event g.evtyp==2||g.evtyp==3 -#all_event g.evtyp==1||g.evtyp==2||g.evtyp==3 +hmscoin_event g.evtyp==1||g.evtyp==3 +shmscoin_event g.evtyp==2||g.evtyp==3 +all_event g.evtyp==1||g.evtyp==2||g.evtyp==3 RawDecode_master 1 Block: Decode -#all_trigs g.evtyp==1 || g.evtyp==2 || g.evtyp==3 -#hms_shms_trig g.evtyp==1 || g.evtyp==2 -#hms_coin_trig g.evtyp==1 || g.evtyp==3 +all_trigs g.evtyp==1 || g.evtyp==2 || g.evtyp==3 +hms_shms_trig g.evtyp==1 || g.evtyp==2 +hms_coin_trig g.evtyp==1 || g.evtyp==3 Decode_master HMS_event diff --git a/DEF-files/HMS/TEST_STANDS/CAL/hcalana.def b/DEF-files/HMS/TEST_STANDS/CAL/hcalana.def index 2d64c2e9eb09bf52fa7b2787fabf39b9f9807ce6..923bf801652bf95a147fbfbb7eba708530a69f1b 100644 --- a/DEF-files/HMS/TEST_STANDS/CAL/hcalana.def +++ b/DEF-files/HMS/TEST_STANDS/CAL/hcalana.def @@ -5,12 +5,12 @@ block H.cal.* #HMS CALORIMETER HISTOGRAMS #FPGA Error Flags -TH1F hcal_hA_adcErrFlg2D_pos 'HMS hA+ FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 -TH1F hcal_hA_adcErrFlg2D_neg 'HMS hA- FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 -TH1F hcal_hB_adcErrFlg2D_pos 'HMS hB+ FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 -TH1F hcal_hB_adcErrFlg2D_neg 'HMS hB- FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 -TH1F hcal_hC_adcErrFlg2D_pos 'HMS hC+ FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 -TH1F hcal_hD_adcErrFlg2D_pos 'HMS hD+ FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 +TH2F hcal_hA_adcErrFlg2D_pos 'HMS hA+ FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.1pr.posAdcCounter H.cal.1pr.posAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 +TH2F hcal_hA_adcErrFlg2D_neg 'HMS hA- FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.1pr.negAdcCounter H.cal.1pr.negAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 +TH2F hcal_hB_adcErrFlg2D_pos 'HMS hB+ FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.2ta.posAdcCounter H.cal.2ta.posAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 +TH2F hcal_hB_adcErrFlg2D_neg 'HMS hB- FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.2ta.negAdcCounter H.cal.2ta.negAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 +TH2F hcal_hC_adcErrFlg2D_pos 'HMS hC+ FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.3ta.posAdcCounter H.cal.3ta.posAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 +TH2F hcal_hD_adcErrFlg2D_pos 'HMS hD+ FPGA Error Flag; Error Flag; PMT Number; Error Flag' H.cal.4ta.posAdcCounter H.cal.4ta.posAdcErrorFlag 13 0.5 13.5 2 -0.5 1.5 #Raw Occupancy TH1F hcal_hA_raw_occ_pos 'HMS hA+ Raw Occupancy; PMT Number; Number of Entries' H.cal.1pr.posAdcCounter 13 0.5 13.5 diff --git a/DEF-files/HMS/TEST_STANDS/CER/hcerana.def b/DEF-files/HMS/TEST_STANDS/CER/hcerana.def index 83503cbed11e8878e8700d06a854135f53058930..9931c42ab2476fd6e2e841853edcf3a8e2127d33 100644 --- a/DEF-files/HMS/TEST_STANDS/CER/hcerana.def +++ b/DEF-files/HMS/TEST_STANDS/CER/hcerana.def @@ -4,7 +4,7 @@ block H.cer.* block T.hms.* # HMS CER Error FPGA Error Flag -TH2F hcer_adcErrFlg2D_pos 'HMS Cherenkov FPGA Error Flag; Number of Entries' H.cer.posAdcCounter H.cer.posAdcErrorFlag 2 0.5 2.5 2 -0.5 1.5 +TH2F hcer_adcErrFlg2D 'HMS Cherenkov FPGA Error Flag; Number of Entries' H.cer.adcCounter H.cer.adcErrorFlag 2 0.5 2.5 2 -0.5 1.5 # HMS CER Raw Occupancy and Multiplicity TH1F hcer_raw_occ 'HMS Cherenkov Raw Occupancy; PMT Number; Number of Entries' H.cer.adcCounter 2 0.5 2.5 diff --git a/DEF-files/SHMS/SCALERS/pscaler_cuts.def b/DEF-files/SHMS/SCALERS/pscaler_cuts.def index af374d29493dde7fbdb84559f07c6cdd7bde7323..4868f694798b9feffa8f308c4182381563e98681 100644 --- a/DEF-files/SHMS/SCALERS/pscaler_cuts.def +++ b/DEF-files/SHMS/SCALERS/pscaler_cuts.def @@ -4,20 +4,20 @@ Block: RawDecode Pedestal_event g.evtyp == 4 scalar_event g.evtyp == 0 -#HMS_event g.evtyp == 1 +HMS_event g.evtyp == 1 SHMS_event g.evtyp == 1 -#coin_event g.evtyp == 3 +coin_event g.evtyp == 3 misc_event g.evtyp >= 5 -#hmscoin_event HMS_event || coin_event -#shmscoin_event SHMS_event || coin_event -#all_event HMS_event || SHMS_event || coin_event +hmscoin_event HMS_event || coin_event +shmscoin_event SHMS_event || coin_event +all_event HMS_event || SHMS_event || coin_event RawDecode_master 1 Block: Decode -#all_trigs HMS_event || SHMS_event || coin_event -#shms_coin_trig SHMS_event || coin_event +all_trigs HMS_event || SHMS_event || coin_event +shms_coin_trig SHMS_event || coin_event Decode_master SHMS_event diff --git a/MAPS/COIN/CRATE/db_crate1map.dat b/MAPS/COIN/CRATE/db_crate1map.dat new file mode 100644 index 0000000000000000000000000000000000000000..e7f21b55c893b663ca6d4b392643739b799d355d --- /dev/null +++ b/MAPS/COIN/CRATE/db_crate1map.dat @@ -0,0 +1,19 @@ +==== Crate 1 type vme Bank Decoding +# slot model bank + 2 1190 1190 + 3 250 250 + 4 250 250 + 5 250 250 + 6 250 250 + 7 250 250 + 8 250 250 + 9 250 250 + 10 250 250 + 13 250 250 + 14 250 250 + 15 250 250 + 16 250 250 + 17 250 250 + 18 250 250 + 19 250 250 + 20 1190 1190 diff --git a/MAPS/COIN/CRATE/db_crate2map.dat b/MAPS/COIN/CRATE/db_crate2map.dat new file mode 100644 index 0000000000000000000000000000000000000000..e600e384a6895afc6489023e4ebe9ff3040efb6f --- /dev/null +++ b/MAPS/COIN/CRATE/db_crate2map.dat @@ -0,0 +1,15 @@ +==== Crate 2 type vme Bank Decoding +# slot model bank + 3 250 250 + 4 250 250 + 5 250 250 + 6 250 250 + 7 250 250 + 8 250 250 + 9 250 250 + 10 250 250 + 13 250 250 + 14 250 250 + 18 1190 1190 + 19 1190 1190 + 20 1190 1190 \ No newline at end of file diff --git a/MAPS/COIN/CRATE/db_crate3map.dat b/MAPS/COIN/CRATE/db_crate3map.dat new file mode 100644 index 0000000000000000000000000000000000000000..df7cd109bd8b113a55ad9a950c5392716705c6a0 --- /dev/null +++ b/MAPS/COIN/CRATE/db_crate3map.dat @@ -0,0 +1,11 @@ +==== Crate 3 type vme Bank Decoding +# slot model bank + 4 1190 1190 + 5 1190 1190 + 7 1190 1190 + 8 1190 1190 + 10 1190 1190 + 13 1190 1190 + 14 1190 1190 + 16 1190 1190 + 17 1190 1190 diff --git a/MAPS/COIN/CRATE/db_crate4map.dat b/MAPS/COIN/CRATE/db_crate4map.dat new file mode 100644 index 0000000000000000000000000000000000000000..db7691ac809d771bf8b507e210087d06fa070284 --- /dev/null +++ b/MAPS/COIN/CRATE/db_crate4map.dat @@ -0,0 +1,18 @@ +==== Crate 4 type vme Bank Decoding +# slot model bank + 3 250 250 + 4 250 250 + 5 250 250 + 6 250 250 + 7 250 250 + 8 250 250 + 9 250 250 + 10 250 250 + 13 250 250 + 14 250 250 + 15 250 250 + 16 250 250 + 17 250 250 + 18 250 250 + 19 250 250 + 20 250 250 \ No newline at end of file diff --git a/MAPS/COIN/CRATE/db_crate5map.dat b/MAPS/COIN/CRATE/db_crate5map.dat new file mode 100644 index 0000000000000000000000000000000000000000..b3946f75c45b7663896b34d7c7d9a78615bd5737 --- /dev/null +++ b/MAPS/COIN/CRATE/db_crate5map.dat @@ -0,0 +1,2 @@ +==== Crate 5 type vme Bank Decoding +# slot model bank \ No newline at end of file diff --git a/MAPS/COIN/CRATE/db_crate6map.dat b/MAPS/COIN/CRATE/db_crate6map.dat new file mode 100644 index 0000000000000000000000000000000000000000..8ae0ed88115e757ace8c3744c7d8951b0c5df90d --- /dev/null +++ b/MAPS/COIN/CRATE/db_crate6map.dat @@ -0,0 +1,12 @@ +==== Crate 6 type vme Bank Decoding +# slot model bank + 6 1190 1190 + 7 1190 1190 + 8 1190 1190 + 9 1190 1190 + 10 1190 1190 + 11 1190 1190 + 12 1190 1190 + 13 1190 1190 + 14 1190 1190 + 15 1190 1190 diff --git a/MAPS/COIN/DETEC/TRIG/cointrig.map b/MAPS/COIN/DETEC/TRIG/cointrig.map new file mode 100644 index 0000000000000000000000000000000000000000..45f0ea2def263ff278d8dbd3f37cdbf846111d64 --- /dev/null +++ b/MAPS/COIN/DETEC/TRIG/cointrig.map @@ -0,0 +1,136 @@ +! TCOIN_ID=30 :: ADC + +DETECTOR=30 + +!=:=:=: +! HMS +!=:=:=: + +ROC=1 + +!F250 module +SLOT=17 +! chan plane bar sig + 8, 1, 1, 0! hASUM + 9, 1, 2, 0! hBSUM + 10, 1, 3, 0! hCSUM + 11, 1, 4, 0! hDSUM + 12, 1, 5, 0! hPSHWR + 13, 1, 6, 0! hSHWR + 14, 1, 7, 0! hAERSUM + 15, 1, 8, 0! hCERSUM + +SLOT=18 +! chan plane bar sig + 12, 1, 9, 0! hFRXA + 13, 1, 10, 0! hFRYA + 14, 1, 11, 0! hFRXB + 15, 1, 12, 0! hFRYB + +!CAEN1190 module +SLOT=2 +REFINDEX=0 +! A0 +! chan plane bar sig + 0, 2, 1, 1! h1X + 1, 2, 2, 1! h1Y + 2, 2, 3, 1! h2X + 3, 2, 4, 1! h2Y + 4, 2, 5, 1! h1T + 5, 2, 6, 1! h2T + 6, 1000, 0, 0 ! hTref + 7, 2, 8, 1! hASUM + 8, 2, 9, 1! hBSUM + 9, 2, 10, 1! hCSUM + 10, 2, 11, 1! hDSUM + 11, 2, 12, 1! hPSHWRLO + 12, 2, 13, 1! hPSHWRHI + 13, 2, 14, 1! hSHWR + 14, 2, 15, 1! hAERSUM + 15, 2, 16, 1! hCERSUM +!CAEN1190 module +SLOT=20 +! D1 +! chan plane bar sig + 127, 2, 17, 1! hT2 + +ROC=3 + +!CAEN1190 module +SLOT=5 +! chan plane bar sig + 111, 2, 18, 1! hDCREF1 +SLOT=8 +! chan plane bar sig + 127, 2, 19, 1! hDCREF2 +SLOT=10 +! chan plane bar sig + 127, 2, 20, 1! hDCREF3 +SLOT=17 +! chan plane bar sig + 127, 2, 21, 1! hDCREF4 + +!=:=:=: +! SHMS +!=:=:=: + +ROC=2 + +SLOT=14 + 0, 1, 1, 0 ! pAERSUM + 1, 1, 2, 0 ! pHGCERSUM + 2, 1, 3, 0 ! pNGCERSUM + 12, 1, 4, 0 ! FR-XA + 13, 1, 5, 0 ! FR-YA + 14, 1, 6, 0 ! FR-XB + 15, 1, 7, 0 ! FR-YB + + +SLOT=20 + 15, 2, 1, 1 ! pT1 + +SLOT=19 +REFINDEX=0 + 31, 1000, 0, 0 ! pTRef + 32, 2, 3, 1 ! p1X + 33, 2, 4, 1 ! p1Y + 34, 2, 5, 1 ! p2X + 35, 2, 6, 1 ! p2Y + 36, 2, 7, 1 ! p1T + 37, 2, 8, 1 ! p2T + 38, 2, 9, 1 ! pT3 + 39, 2, 10, 1 ! pAERSUM + 40, 2, 11, 1 ! pHGCERSUM + 41, 2, 12, 1 ! pNGCERSUM + +ROC=6 + +SLOT=6 + 79, 2, 13, 1 ! pDCREF1 + +SLOT=7 + 79, 2, 14, 1 ! pDCREF2 + +SLOT=8 + 79, 2, 15, 1 ! pDCREF3 + +SLOT=9 + 79, 2, 16, 1 ! pDCREF4 + +SLOT=10 + 79, 2, 17, 1 ! pDCREF5 + +SLOT=11 + 47, 2, 18, 1 ! pDCREF6 + +SLOT=12 + 47, 2, 19, 1 ! pDCREF7 + +SLOT=13 + 47, 2, 20, 1 ! pDCREF8 + +SLOT=14 + 15, 2, 21, 1 ! pDCREF9 + +SLOT=15 + 47, 2, 22, 1 ! pDCREF10 \ No newline at end of file diff --git a/MAPS/COIN/DETEC/coin.map b/MAPS/COIN/DETEC/coin.map new file mode 100644 index 0000000000000000000000000000000000000000..e586a84fb3d360a42020c45c1acda3f3e6771d7d --- /dev/null +++ b/MAPS/COIN/DETEC/coin.map @@ -0,0 +1,3589 @@ +! HDC_ID=11 :: TDC +! HSCIN_ID=13 :: ADC+,ADC-,TDC+,TDC- +! HCER_ID=14 :: (TDC),ADC +! HCAL_ID=15 :: ADC +! HRASTER_ID=16 :: ADC +! PNGCER_ID=21 :: ADC +! PDC_ID=22 :: TDC +! PSCIN_ID=23 :: ,ADC+,ADC-,TDC+,TDC- +! PHGCER_ID=24 :: ADC +! PAERO_ID=25 :: ,ADC+,ADC- +! PCAL_ID=26 :: ADC +! PRASTER_ID=27 :: ADC +! TCOIN_ID=30 :: ADC + + +DETECTOR=11 ! HMS chambers + +ROC=3 + +SLOT=4 +REFINDEX=1 + 98, 3, 1 ! Plane U, wire 1 + 99, 3, 2 ! Plane U, wire 2 + 100, 3, 3 ! Plane U, wire 3 + 101, 3, 4 ! Plane U, wire 4 + 102, 3, 5 ! Plane U, wire 5 + 103, 3, 6 ! Plane U, wire 6 + 104, 3, 7 ! Plane U, wire 7 + 105, 3, 8 ! Plane U, wire 8 + 106, 3, 9 ! Plane U, wire 9 + 107, 3, 10 ! Plane U, wire 10 + 108, 3, 11 ! Plane U, wire 11 + 109, 3, 12 ! Plane U, wire 12 + 110, 3, 13 ! Plane U, wire 13 + 111, 3, 14 ! Plane U, wire 14 + 96, 1, 113 ! Plane X, wire 113 + +SLOT=5 +REFINDEX=1 + 111,1000, 0, 0 + 80, 3, 15 ! Plane U, wire 15 + 81, 3, 16 ! Plane U, wire 16 + 82, 3, 17 ! Plane U, wire 17 + 83, 3, 18 ! Plane U, wire 18 + 84, 3, 19 ! Plane U, wire 19 + 85, 3, 20 ! Plane U, wire 20 + 86, 3, 21 ! Plane U, wire 21 + 87, 3, 22 ! Plane U, wire 22 + 88, 3, 23 ! Plane U, wire 23 + 89, 3, 24 ! Plane U, wire 24 + 90, 3, 25 ! Plane U, wire 25 + 91, 3, 26 ! Plane U, wire 26 + 92, 3, 27 ! Plane U, wire 27 + 93, 3, 28 ! Plane U, wire 28 + 94, 3, 29 ! Plane U, wire 29 + 64, 3, 30 ! Plane U, wire 30 + 65, 3, 31 ! Plane U, wire 31 + 66, 3, 32 ! Plane U, wire 32 + 67, 3, 33 ! Plane U, wire 33 + 68, 3, 34 ! Plane U, wire 34 + 69, 3, 35 ! Plane U, wire 35 + 70, 3, 36 ! Plane U, wire 36 + 71, 3, 37 ! Plane U, wire 37 + 72, 3, 38 ! Plane U, wire 38 + 73, 3, 39 ! Plane U, wire 39 + 74, 3, 40 ! Plane U, wire 40 + 75, 3, 41 ! Plane U, wire 41 + 76, 3, 42 ! Plane U, wire 42 + 77, 3, 43 ! Plane U, wire 43 + 78, 3, 44 ! Plane U, wire 44 + 79, 3, 45 ! Plane U, wire 45 + 48, 3, 46 ! Plane U, wire 46 + 49, 3, 47 ! Plane U, wire 47 + 50, 3, 48 ! Plane U, wire 48 + 51, 3, 49 ! Plane U, wire 49 + 52, 3, 50 ! Plane U, wire 50 + 53, 3, 51 ! Plane U, wire 51 + 54, 3, 52 ! Plane U, wire 52 + 55, 3, 53 ! Plane U, wire 53 + 56, 3, 54 ! Plane U, wire 54 + 57, 3, 55 ! Plane U, wire 55 + 58, 3, 56 ! Plane U, wire 56 + 59, 3, 57 ! Plane U, wire 57 + 60, 3, 58 ! Plane U, wire 58 + 61, 3, 59 ! Plane U, wire 59 + 62, 3, 60 ! Plane U, wire 60 + 32, 3, 61 ! Plane U, wire 61 + 33, 3, 62 ! Plane U, wire 62 + 34, 3, 63 ! Plane U, wire 63 + 35, 3, 64 ! Plane U, wire 64 + 36, 3, 65 ! Plane U, wire 65 + 37, 3, 66 ! Plane U, wire 66 + 38, 3, 67 ! Plane U, wire 67 + 39, 3, 68 ! Plane U, wire 68 + 40, 3, 69 ! Plane U, wire 69 + 41, 3, 70 ! Plane U, wire 70 + 42, 3, 71 ! Plane U, wire 71 + 43, 3, 72 ! Plane U, wire 72 + 44, 3, 73 ! Plane U, wire 73 + 45, 3, 74 ! Plane U, wire 74 + 46, 3, 75 ! Plane U, wire 75 + 47, 3, 76 ! Plane U, wire 76 + 16, 3, 77 ! Plane U, wire 77 + 17, 3, 78 ! Plane U, wire 78 + 18, 3, 79 ! Plane U, wire 79 + 19, 3, 80 ! Plane U, wire 80 + 20, 3, 81 ! Plane U, wire 81 + 21, 3, 82 ! Plane U, wire 82 + 22, 3, 83 ! Plane U, wire 83 + 23, 3, 84 ! Plane U, wire 84 + 24, 3, 85 ! Plane U, wire 85 + 25, 3, 86 ! Plane U, wire 86 + 26, 3, 87 ! Plane U, wire 87 + 27, 3, 88 ! Plane U, wire 88 + 28, 3, 89 ! Plane U, wire 89 + 29, 3, 90 ! Plane U, wire 90 + 30, 3, 91 ! Plane U, wire 91 + 0, 3, 92 ! Plane U, wire 92 + 1, 3, 93 ! Plane U, wire 93 + 2, 3, 94 ! Plane U, wire 94 + 3, 3, 95 ! Plane U, wire 95 + 4, 3, 96 ! Plane U, wire 96 + 5, 3, 97 ! Plane U, wire 97 + 6, 3, 98 ! Plane U, wire 98 + 7, 3, 99 ! Plane U, wire 99 + 8, 3, 100 ! Plane U, wire 100 + 9, 3, 101 ! Plane U, wire 101 + 10, 3, 102 ! Plane U, wire 102 + 11, 3, 103 ! Plane U, wire 103 + 12, 3, 104 ! Plane U, wire 104 + 13, 3, 105 ! Plane U, wire 105 + 14, 3, 106 ! Plane U, wire 106 + 15, 3, 107 ! Plane U, wire 107 + +SLOT=7 +REFINDEX=1 + 98, 4, 1 ! Plane V, wire 1 + 99, 4, 2 ! Plane V, wire 2 + 100, 4, 3 ! Plane V, wire 3 + 101, 4, 4 ! Plane V, wire 4 + 102, 4, 5 ! Plane V, wire 5 + 103, 4, 6 ! Plane V, wire 6 + 104, 4, 7 ! Plane V, wire 7 + 105, 4, 8 ! Plane V, wire 8 + 106, 4, 9 ! Plane V, wire 9 + 107, 4, 10 ! Plane V, wire 10 + 108, 4, 11 ! Plane V, wire 11 + 109, 4, 12 ! Plane V, wire 12 + 110, 4, 13 ! Plane V, wire 13 + 111, 4, 14 ! Plane V, wire 14 + 96, 6, 113 ! Plane X', wire 113 + 112, 4, 15 ! Plane V, wire 15 + 113, 4, 16 ! Plane V, wire 16 + 114, 4, 17 ! Plane V, wire 17 + 115, 4, 18 ! Plane V, wire 18 + 116, 4, 19 ! Plane V, wire 19 + 117, 4, 20 ! Plane V, wire 20 + 118, 4, 21 ! Plane V, wire 21 + 119, 4, 22 ! Plane V, wire 22 + 120, 4, 23 ! Plane V, wire 23 + 121, 4, 24 ! Plane V, wire 24 + 122, 4, 25 ! Plane V, wire 25 + 123, 4, 26 ! Plane V, wire 26 + 124, 4, 27 ! Plane V, wire 27 + 125, 4, 28 ! Plane V, wire 28 + 126, 4, 29 ! Plane V, wire 29 + +SLOT=8 +REFINDEX=1 + 127,1000, 0, 1 + 0, 4, 30 ! Plane V, wire 30 + 1, 4, 31 ! Plane V, wire 31 + 2, 4, 32 ! Plane V, wire 32 + 3, 4, 33 ! Plane V, wire 33 + 4, 4, 34 ! Plane V, wire 34 + 5, 4, 35 ! Plane V, wire 35 + 6, 4, 36 ! Plane V, wire 36 + 7, 4, 37 ! Plane V, wire 37 + 8, 4, 38 ! Plane V, wire 38 + 9, 4, 39 ! Plane V, wire 39 + 10, 4, 40 ! Plane V, wire 40 + 11, 4, 41 ! Plane V, wire 41 + 12, 4, 42 ! Plane V, wire 42 + 13, 4, 43 ! Plane V, wire 43 + 14, 4, 44 ! Plane V, wire 44 + 15, 4, 45 ! Plane V, wire 45 + 16, 4, 46 ! Plane V, wire 46 + 17, 4, 47 ! Plane V, wire 47 + 18, 4, 48 ! Plane V, wire 48 + 19, 4, 49 ! Plane V, wire 49 + 20, 4, 50 ! Plane V, wire 50 + 21, 4, 51 ! Plane V, wire 51 + 22, 4, 52 ! Plane V, wire 52 + 23, 4, 53 ! Plane V, wire 53 + 24, 4, 54 ! Plane V, wire 54 + 25, 4, 55 ! Plane V, wire 55 + 26, 4, 56 ! Plane V, wire 56 + 27, 4, 57 ! Plane V, wire 57 + 28, 4, 58 ! Plane V, wire 58 + 29, 4, 59 ! Plane V, wire 59 + 30, 4, 60 ! Plane V, wire 60 + 32, 4, 61 ! Plane V, wire 61 + 33, 4, 62 ! Plane V, wire 62 + 34, 4, 63 ! Plane V, wire 63 + 35, 4, 64 ! Plane V, wire 64 + 36, 4, 65 ! Plane V, wire 65 + 37, 4, 66 ! Plane V, wire 66 + 38, 4, 67 ! Plane V, wire 67 + 39, 4, 68 ! Plane V, wire 68 + 40, 4, 69 ! Plane V, wire 69 + 41, 4, 70 ! Plane V, wire 70 + 42, 4, 71 ! Plane V, wire 71 + 43, 4, 72 ! Plane V, wire 72 + 44, 4, 73 ! Plane V, wire 73 + 45, 4, 74 ! Plane V, wire 74 + 46, 4, 75 ! Plane V, wire 75 + 47, 4, 76 ! Plane V, wire 76 + 48, 4, 77 ! Plane V, wire 77 + 49, 4, 78 ! Plane V, wire 78 + 50, 4, 79 ! Plane V, wire 79 + 51, 4, 80 ! Plane V, wire 80 + 52, 4, 81 ! Plane V, wire 81 + 53, 4, 82 ! Plane V, wire 82 + 54, 4, 83 ! Plane V, wire 83 + 55, 4, 84 ! Plane V, wire 84 + 56, 4, 85 ! Plane V, wire 85 + 57, 4, 86 ! Plane V, wire 86 + 58, 4, 87 ! Plane V, wire 87 + 59, 4, 88 ! Plane V, wire 88 + 60, 4, 89 ! Plane V, wire 89 + 61, 4, 90 ! Plane V, wire 90 + 62, 4, 91 ! Plane V, wire 91 + +SLOT=5 +REFINDEX=1 + 96, 4, 92 ! Plane V, wire 92 + 97, 4, 93 ! Plane V, wire 93 + 98, 4, 94 ! Plane V, wire 94 + 99, 4, 95 ! Plane V, wire 95 + 100, 4, 96 ! Plane V, wire 96 + 101, 4, 97 ! Plane V, wire 97 + 102, 4, 98 ! Plane V, wire 98 + 103, 4, 99 ! Plane V, wire 99 + 104, 4, 100 ! Plane V, wire 100 + 105, 4, 101 ! Plane V, wire 101 + 106, 4, 102 ! Plane V, wire 102 + 107, 4, 103 ! Plane V, wire 103 + 108, 4, 104 ! Plane V, wire 104 + 109, 4, 105 ! Plane V, wire 105 + 110, 4, 106 ! Plane V, wire 106 + 111, 4, 107 ! Plane V, wire 107 + +SLOT=4 +REFINDEX=1 + 80, 1, 1 ! Plane X, wire 1 + 81, 1, 2 ! Plane X, wire 2 + 82, 1, 3 ! Plane X, wire 3 + 83, 1, 4 ! Plane X, wire 4 + 84, 1, 5 ! Plane X, wire 5 + 85, 1, 6 ! Plane X, wire 6 + 86, 1, 7 ! Plane X, wire 7 + 87, 1, 8 ! Plane X, wire 8 + 88, 1, 9 ! Plane X, wire 9 + 89, 1, 10 ! Plane X, wire 10 + 90, 1, 11 ! Plane X, wire 11 + 91, 1, 12 ! Plane X, wire 12 + 92, 1, 13 ! Plane X, wire 13 + 93, 1, 14 ! Plane X, wire 14 + 94, 1, 15 ! Plane X, wire 15 + 95, 1, 16 ! Plane X, wire 16 + 64, 1, 17 ! Plane X, wire 17 + 65, 1, 18 ! Plane X, wire 18 + 66, 1, 19 ! Plane X, wire 19 + 67, 1, 20 ! Plane X, wire 20 + 68, 1, 21 ! Plane X, wire 21 + 69, 1, 22 ! Plane X, wire 22 + 70, 1, 23 ! Plane X, wire 23 + 71, 1, 24 ! Plane X, wire 24 + 72, 1, 25 ! Plane X, wire 25 + 73, 1, 26 ! Plane X, wire 26 + 74, 1, 27 ! Plane X, wire 27 + 75, 1, 28 ! Plane X, wire 28 + 76, 1, 29 ! Plane X, wire 29 + 77, 1, 30 ! Plane X, wire 30 + 78, 1, 31 ! Plane X, wire 31 + 79, 1, 32 ! Plane X, wire 32 + 48, 1, 33 ! Plane X, wire 33 + 49, 1, 34 ! Plane X, wire 34 + 50, 1, 35 ! Plane X, wire 35 + 51, 1, 36 ! Plane X, wire 36 + 52, 1, 37 ! Plane X, wire 37 + 53, 1, 38 ! Plane X, wire 38 + 54, 1, 39 ! Plane X, wire 39 + 55, 1, 40 ! Plane X, wire 40 + 56, 1, 41 ! Plane X, wire 41 + 57, 1, 42 ! Plane X, wire 42 + 58, 1, 43 ! Plane X, wire 43 + 59, 1, 44 ! Plane X, wire 44 + 60, 1, 45 ! Plane X, wire 45 + 61, 1, 46 ! Plane X, wire 46 + 62, 1, 47 ! Plane X, wire 47 + 63, 1, 48 ! Plane X, wire 48 + 32, 1, 49 ! Plane X, wire 49 + 33, 1, 50 ! Plane X, wire 50 + 34, 1, 51 ! Plane X, wire 51 + 35, 1, 52 ! Plane X, wire 52 + 36, 1, 53 ! Plane X, wire 53 + 37, 1, 54 ! Plane X, wire 54 + 38, 1, 55 ! Plane X, wire 55 + 39, 1, 56 ! Plane X, wire 56 + 40, 1, 57 ! Plane X, wire 57 + 41, 1, 58 ! Plane X, wire 58 + 42, 1, 59 ! Plane X, wire 59 + 43, 1, 60 ! Plane X, wire 60 + 44, 1, 61 ! Plane X, wire 61 + 45, 1, 62 ! Plane X, wire 62 + 46, 1, 63 ! Plane X, wire 63 + 47, 1, 64 ! Plane X, wire 64 + 16, 1, 65 ! Plane X, wire 65 + 17, 1, 66 ! Plane X, wire 66 + 18, 1, 67 ! Plane X, wire 67 + 19, 1, 68 ! Plane X, wire 68 + 20, 1, 69 ! Plane X, wire 69 + 21, 1, 70 ! Plane X, wire 70 + 22, 1, 71 ! Plane X, wire 71 + 23, 1, 72 ! Plane X, wire 72 + 24, 1, 73 ! Plane X, wire 73 + 25, 1, 74 ! Plane X, wire 74 + 26, 1, 75 ! Plane X, wire 75 + 27, 1, 76 ! Plane X, wire 76 + 28, 1, 77 ! Plane X, wire 77 + 29, 1, 78 ! Plane X, wire 78 + 30, 1, 79 ! Plane X, wire 79 + 31, 1, 80 ! Plane X, wire 80 + 0, 1, 81 ! Plane X, wire 81 + 1, 1, 82 ! Plane X, wire 82 + 2, 1, 83 ! Plane X, wire 83 + 3, 1, 84 ! Plane X, wire 84 + 4, 1, 85 ! Plane X, wire 85 + 5, 1, 86 ! Plane X, wire 86 + 6, 1, 87 ! Plane X, wire 87 + 7, 1, 88 ! Plane X, wire 88 + 8, 1, 89 ! Plane X, wire 89 + 9, 1, 90 ! Plane X, wire 90 + 10, 1, 91 ! Plane X, wire 91 + 11, 1, 92 ! Plane X, wire 92 + 12, 1, 93 ! Plane X, wire 93 + 13, 1, 94 ! Plane X, wire 94 + 14, 1, 95 ! Plane X, wire 95 + 15, 1, 96 ! Plane X, wire 96 + 112, 1, 97 ! Plane X, wire 97 + 113, 1, 98 ! Plane X, wire 98 + 114, 1, 99 ! Plane X, wire 99 + 115, 1, 100 ! Plane X, wire 100 + 116, 1, 101 ! Plane X, wire 101 + 117, 1, 102 ! Plane X, wire 102 + 118, 1, 103 ! Plane X, wire 103 + 119, 1, 104 ! Plane X, wire 104 + 120, 1, 105 ! Plane X, wire 105 + 121, 1, 106 ! Plane X, wire 106 + 122, 1, 107 ! Plane X, wire 107 + 123, 1, 108 ! Plane X, wire 108 + 124, 1, 109 ! Plane X, wire 109 + 125, 1, 110 ! Plane X, wire 110 + 126, 1, 111 ! Plane X, wire 111 + 127, 1, 112 ! Plane X, wire 112 + +SLOT=7 +REFINDEX=1 + 80, 6, 1 ! Plane X', wire 1 + 81, 6, 2 ! Plane X', wire 2 + 82, 6, 3 ! Plane X', wire 3 + 83, 6, 4 ! Plane X', wire 4 + 84, 6, 5 ! Plane X', wire 5 + 85, 6, 6 ! Plane X', wire 6 + 86, 6, 7 ! Plane X', wire 7 + 87, 6, 8 ! Plane X', wire 8 + 88, 6, 9 ! Plane X', wire 9 + 89, 6, 10 ! Plane X', wire 10 + 90, 6, 11 ! Plane X', wire 11 + 91, 6, 12 ! Plane X', wire 12 + 92, 6, 13 ! Plane X', wire 13 + 93, 6, 14 ! Plane X', wire 14 + 94, 6, 15 ! Plane X', wire 15 + 95, 6, 16 ! Plane X', wire 16 + +SLOT=5 +REFINDEX=1 + 112, 6, 17 ! Plane X', wire 17 + 113, 6, 18 ! Plane X', wire 18 + 114, 6, 19 ! Plane X', wire 19 + 115, 6, 20 ! Plane X', wire 20 + 116, 6, 21 ! Plane X', wire 21 + 117, 6, 22 ! Plane X', wire 22 + 118, 6, 23 ! Plane X', wire 23 + 119, 6, 24 ! Plane X', wire 24 + 120, 6, 25 ! Plane X', wire 25 + 121, 6, 26 ! Plane X', wire 26 + 122, 6, 27 ! Plane X', wire 27 + 123, 6, 28 ! Plane X', wire 28 + 124, 6, 29 ! Plane X', wire 29 + 125, 6, 30 ! Plane X', wire 30 + 126, 6, 31 ! Plane X', wire 31 + 127, 6, 32 ! Plane X', wire 32 + +SLOT=7 +REFINDEX=1 + 0, 6, 33 ! Plane X', wire 33 + 1, 6, 34 ! Plane X', wire 34 + 2, 6, 35 ! Plane X', wire 35 + 3, 6, 36 ! Plane X', wire 36 + 4, 6, 37 ! Plane X', wire 37 + 5, 6, 38 ! Plane X', wire 38 + 6, 6, 39 ! Plane X', wire 39 + 7, 6, 40 ! Plane X', wire 40 + 8, 6, 41 ! Plane X', wire 41 + 9, 6, 42 ! Plane X', wire 42 + 10, 6, 43 ! Plane X', wire 43 + 11, 6, 44 ! Plane X', wire 44 + 12, 6, 45 ! Plane X', wire 45 + 13, 6, 46 ! Plane X', wire 46 + 14, 6, 47 ! Plane X', wire 47 + 15, 6, 48 ! Plane X', wire 48 + 16, 6, 49 ! Plane X', wire 49 + 17, 6, 50 ! Plane X', wire 50 + 18, 6, 51 ! Plane X', wire 51 + 19, 6, 52 ! Plane X', wire 52 + 20, 6, 53 ! Plane X', wire 53 + 21, 6, 54 ! Plane X', wire 54 + 22, 6, 55 ! Plane X', wire 55 + 23, 6, 56 ! Plane X', wire 56 + 24, 6, 57 ! Plane X', wire 57 + 25, 6, 58 ! Plane X', wire 58 + 26, 6, 59 ! Plane X', wire 59 + 27, 6, 60 ! Plane X', wire 60 + 28, 6, 61 ! Plane X', wire 61 + 29, 6, 62 ! Plane X', wire 62 + 30, 6, 63 ! Plane X', wire 63 + 31, 6, 64 ! Plane X', wire 64 + 32, 6, 65 ! Plane X', wire 65 + 33, 6, 66 ! Plane X', wire 66 + 34, 6, 67 ! Plane X', wire 67 + 35, 6, 68 ! Plane X', wire 68 + 36, 6, 69 ! Plane X', wire 69 + 37, 6, 70 ! Plane X', wire 70 + 38, 6, 71 ! Plane X', wire 71 + 39, 6, 72 ! Plane X', wire 72 + 40, 6, 73 ! Plane X', wire 73 + 41, 6, 74 ! Plane X', wire 74 + 42, 6, 75 ! Plane X', wire 75 + 43, 6, 76 ! Plane X', wire 76 + 44, 6, 77 ! Plane X', wire 77 + 45, 6, 78 ! Plane X', wire 78 + 46, 6, 79 ! Plane X', wire 79 + 47, 6, 80 ! Plane X', wire 80 + 48, 6, 81 ! Plane X', wire 81 + 49, 6, 82 ! Plane X', wire 82 + 50, 6, 83 ! Plane X', wire 83 + 51, 6, 84 ! Plane X', wire 84 + 52, 6, 85 ! Plane X', wire 85 + 53, 6, 86 ! Plane X', wire 86 + 54, 6, 87 ! Plane X', wire 87 + 55, 6, 88 ! Plane X', wire 88 + 56, 6, 89 ! Plane X', wire 89 + 57, 6, 90 ! Plane X', wire 90 + 58, 6, 91 ! Plane X', wire 91 + 59, 6, 92 ! Plane X', wire 92 + 60, 6, 93 ! Plane X', wire 93 + 61, 6, 94 ! Plane X', wire 94 + 62, 6, 95 ! Plane X', wire 95 + 63, 6, 96 ! Plane X', wire 96 + 64, 6, 97 ! Plane X', wire 97 + 65, 6, 98 ! Plane X', wire 98 + 66, 6, 99 ! Plane X', wire 99 + 67, 6, 100 ! Plane X', wire 100 + 68, 6, 101 ! Plane X', wire 101 + 69, 6, 102 ! Plane X', wire 102 + 70, 6, 103 ! Plane X', wire 103 + 71, 6, 104 ! Plane X', wire 104 + 72, 6, 105 ! Plane X', wire 105 + 73, 6, 106 ! Plane X', wire 106 + 74, 6, 107 ! Plane X', wire 107 + 75, 6, 108 ! Plane X', wire 108 + 76, 6, 109 ! Plane X', wire 109 + 77, 6, 110 ! Plane X', wire 110 + 78, 6, 111 ! Plane X', wire 111 + 79, 6, 112 ! Plane X', wire 112 + +SLOT=8 +REFINDEX=1 + 64, 2, 1 ! Plane Y, wire 1 + 65, 2, 2 ! Plane Y, wire 2 + 66, 2, 3 ! Plane Y, wire 3 + 67, 2, 4 ! Plane Y, wire 4 + 68, 2, 5 ! Plane Y, wire 5 + 69, 2, 6 ! Plane Y, wire 6 + 70, 2, 7 ! Plane Y, wire 7 + 71, 2, 8 ! Plane Y, wire 8 + 72, 2, 9 ! Plane Y, wire 9 + 73, 2, 10 ! Plane Y, wire 10 + 74, 2, 11 ! Plane Y, wire 11 + 75, 2, 12 ! Plane Y, wire 12 + 76, 2, 13 ! Plane Y, wire 13 + 80, 2, 14 ! Plane Y, wire 14 + 81, 2, 15 ! Plane Y, wire 15 + 82, 2, 16 ! Plane Y, wire 16 + 83, 2, 17 ! Plane Y, wire 17 + 84, 2, 18 ! Plane Y, wire 18 + 85, 2, 19 ! Plane Y, wire 19 + 86, 2, 20 ! Plane Y, wire 20 + 87, 2, 21 ! Plane Y, wire 21 + 88, 2, 22 ! Plane Y, wire 22 + 89, 2, 23 ! Plane Y, wire 23 + 90, 2, 24 ! Plane Y, wire 24 + 91, 2, 25 ! Plane Y, wire 25 + 92, 2, 26 ! Plane Y, wire 26 + 96, 2, 27 ! Plane Y, wire 27 + 97, 2, 28 ! Plane Y, wire 28 + 98, 2, 29 ! Plane Y, wire 29 + 99, 2, 30 ! Plane Y, wire 30 + 100, 2, 31 ! Plane Y, wire 31 + 101, 2, 32 ! Plane Y, wire 32 + 102, 2, 33 ! Plane Y, wire 33 + 103, 2, 34 ! Plane Y, wire 34 + 104, 2, 35 ! Plane Y, wire 35 + 105, 2, 36 ! Plane Y, wire 36 + 106, 2, 37 ! Plane Y, wire 37 + 107, 2, 38 ! Plane Y, wire 38 + 108, 2, 39 ! Plane Y, wire 39 + 112, 2, 40 ! Plane Y, wire 40 + 113, 2, 41 ! Plane Y, wire 41 + 114, 2, 42 ! Plane Y, wire 42 + 115, 2, 43 ! Plane Y, wire 43 + 116, 2, 44 ! Plane Y, wire 44 + 117, 2, 45 ! Plane Y, wire 45 + 118, 2, 46 ! Plane Y, wire 46 + 119, 2, 47 ! Plane Y, wire 47 + 120, 2, 48 ! Plane Y, wire 48 + 121, 2, 49 ! Plane Y, wire 49 + 122, 2, 50 ! Plane Y, wire 50 + 123, 2, 51 ! Plane Y, wire 51 + 124, 2, 52 ! Plane Y, wire 52 + +SLOT=10 +REFINDEX=1 + 127,1000, 0, 2 + 48, 5, 1 ! Plane Y', wire 1 + 49, 5, 2 ! Plane Y', wire 2 + 50, 5, 3 ! Plane Y', wire 3 + 51, 5, 4 ! Plane Y', wire 4 + 52, 5, 5 ! Plane Y', wire 5 + 53, 5, 6 ! Plane Y', wire 6 + 54, 5, 7 ! Plane Y', wire 7 + 55, 5, 8 ! Plane Y', wire 8 + 56, 5, 9 ! Plane Y', wire 9 + 57, 5, 10 ! Plane Y', wire 10 + 58, 5, 11 ! Plane Y', wire 11 + 59, 5, 12 ! Plane Y', wire 12 + 60, 5, 13 ! Plane Y', wire 13 + 16, 5, 14 ! Plane Y', wire 14 + 17, 5, 15 ! Plane Y', wire 15 + 18, 5, 16 ! Plane Y', wire 16 + 19, 5, 17 ! Plane Y', wire 17 + 20, 5, 18 ! Plane Y', wire 18 + 21, 5, 19 ! Plane Y', wire 19 + 22, 5, 20 ! Plane Y', wire 20 + 23, 5, 21 ! Plane Y', wire 21 + 24, 5, 22 ! Plane Y', wire 22 + 25, 5, 23 ! Plane Y', wire 23 + 26, 5, 24 ! Plane Y', wire 24 + 27, 5, 25 ! Plane Y', wire 25 + 28, 5, 26 ! Plane Y', wire 26 + 32, 5, 27 ! Plane Y', wire 27 + 33, 5, 28 ! Plane Y', wire 28 + 34, 5, 29 ! Plane Y', wire 29 + 35, 5, 30 ! Plane Y', wire 30 + 36, 5, 31 ! Plane Y', wire 31 + 37, 5, 32 ! Plane Y', wire 32 + 38, 5, 33 ! Plane Y', wire 33 + 39, 5, 34 ! Plane Y', wire 34 + 40, 5, 35 ! Plane Y', wire 35 + 41, 5, 36 ! Plane Y', wire 36 + 42, 5, 37 ! Plane Y', wire 37 + 43, 5, 38 ! Plane Y', wire 38 + 44, 5, 39 ! Plane Y', wire 39 + 2, 5, 40 ! Plane Y', wire 40 + 3, 5, 41 ! Plane Y', wire 41 + 4, 5, 42 ! Plane Y', wire 42 + 5, 5, 43 ! Plane Y', wire 43 + 6, 5, 44 ! Plane Y', wire 44 + 7, 5, 45 ! Plane Y', wire 45 + 8, 5, 46 ! Plane Y', wire 46 + 9, 5, 47 ! Plane Y', wire 47 + 10, 5, 48 ! Plane Y', wire 48 + 11, 5, 49 ! Plane Y', wire 49 + 12, 5, 50 ! Plane Y', wire 50 + 13, 5, 51 ! Plane Y', wire 51 + 14, 5, 52 ! Plane Y', wire 52 + +SLOT=16 +REFINDEX=1 + 98, 12, 3 ! Plane X', wire 3 + 99, 12, 4 ! Plane X', wire 4 + 100, 12, 5 ! Plane X', wire 5 + 101, 12, 6 ! Plane X', wire 6 + 102, 12, 7 ! Plane X', wire 7 + 103, 12, 8 ! Plane X', wire 8 + 104, 12, 9 ! Plane X', wire 9 + 105, 12, 10 ! Plane X', wire 10 + 106, 12, 11 ! Plane X', wire 11 + 107, 12, 12 ! Plane X', wire 12 + 108, 12, 13 ! Plane X', wire 13 + 109, 12, 14 ! Plane X', wire 14 + 110, 12, 15 ! Plane X', wire 15 + 111, 12, 16 ! Plane X', wire 16 + 96, 7, 113 ! Plane X, wire 113 + 112, 12, 17 ! Plane X', wire 17 + 113, 12, 18 ! Plane X', wire 18 + 114, 12, 19 ! Plane X', wire 19 + 115, 12, 20 ! Plane X', wire 20 + 116, 12, 21 ! Plane X', wire 21 + 117, 12, 22 ! Plane X', wire 22 + 118, 12, 23 ! Plane X', wire 23 + 119, 12, 24 ! Plane X', wire 24 + 120, 12, 25 ! Plane X', wire 25 + 121, 12, 26 ! Plane X', wire 26 + 122, 12, 27 ! Plane X', wire 27 + 123, 12, 28 ! Plane X', wire 28 + 124, 12, 29 ! Plane X', wire 29 + 125, 12, 30 ! Plane X', wire 30 + 126, 12, 31 ! Plane X', wire 31 + +SLOT=14 +REFINDEX=1 + 0, 9, 30 ! Plane U, wire 30 + 1, 9, 31 ! Plane U, wire 31 + 2, 9, 32 ! Plane U, wire 32 + 3, 9, 33 ! Plane U, wire 33 + 4, 9, 34 ! Plane U, wire 34 + 5, 9, 35 ! Plane U, wire 35 + 6, 9, 36 ! Plane U, wire 36 + 7, 9, 37 ! Plane U, wire 37 + 8, 9, 38 ! Plane U, wire 38 + 9, 9, 39 ! Plane U, wire 39 + 10, 9, 40 ! Plane U, wire 40 + 11, 9, 41 ! Plane U, wire 41 + 12, 9, 42 ! Plane U, wire 42 + 13, 9, 43 ! Plane U, wire 43 + 14, 9, 44 ! Plane U, wire 44 + 15, 9, 45 ! Plane U, wire 45 + 32, 9, 46 ! Plane U, wire 46 + 33, 9, 47 ! Plane U, wire 47 + 34, 9, 48 ! Plane U, wire 48 + 35, 9, 49 ! Plane U, wire 49 + 36, 9, 50 ! Plane U, wire 50 + 37, 9, 51 ! Plane U, wire 51 + 38, 9, 52 ! Plane U, wire 52 + 39, 9, 53 ! Plane U, wire 53 + 40, 9, 54 ! Plane U, wire 54 + 41, 9, 55 ! Plane U, wire 55 + 42, 9, 56 ! Plane U, wire 56 + 43, 9, 57 ! Plane U, wire 57 + 44, 9, 58 ! Plane U, wire 58 + 45, 9, 59 ! Plane U, wire 59 + 46, 9, 60 ! Plane U, wire 60 + 48, 9, 61 ! Plane U, wire 61 + 49, 9, 62 ! Plane U, wire 62 + 50, 9, 63 ! Plane U, wire 63 + 51, 9, 64 ! Plane U, wire 64 + 52, 9, 65 ! Plane U, wire 65 + 53, 9, 66 ! Plane U, wire 66 + 54, 9, 67 ! Plane U, wire 67 + 55, 9, 68 ! Plane U, wire 68 + 56, 9, 69 ! Plane U, wire 69 + 57, 9, 70 ! Plane U, wire 70 + 58, 9, 71 ! Plane U, wire 71 + 59, 9, 72 ! Plane U, wire 72 + 60, 9, 73 ! Plane U, wire 73 + 61, 9, 74 ! Plane U, wire 74 + 62, 9, 75 ! Plane U, wire 75 + 63, 9, 76 ! Plane U, wire 76 + 64, 9, 77 ! Plane U, wire 77 + 65, 9, 78 ! Plane U, wire 78 + 66, 9, 79 ! Plane U, wire 79 + 67, 9, 80 ! Plane U, wire 80 + 68, 9, 81 ! Plane U, wire 81 + 69, 9, 82 ! Plane U, wire 82 + 70, 9, 83 ! Plane U, wire 83 + 71, 9, 84 ! Plane U, wire 84 + 72, 9, 85 ! Plane U, wire 85 + 73, 9, 86 ! Plane U, wire 86 + 74, 9, 87 ! Plane U, wire 87 + 75, 9, 88 ! Plane U, wire 88 + 76, 9, 89 ! Plane U, wire 89 + 77, 9, 90 ! Plane U, wire 90 + 78, 9, 91 ! Plane U, wire 91 + 80, 9, 92 ! Plane U, wire 92 + 81, 9, 93 ! Plane U, wire 93 + 82, 9, 94 ! Plane U, wire 94 + 83, 9, 95 ! Plane U, wire 95 + 84, 9, 96 ! Plane U, wire 96 + 85, 9, 97 ! Plane U, wire 97 + 86, 9, 98 ! Plane U, wire 98 + 87, 9, 99 ! Plane U, wire 99 + 88, 9, 100 ! Plane U, wire 100 + 89, 9, 101 ! Plane U, wire 101 + 90, 9, 102 ! Plane U, wire 102 + 91, 9, 103 ! Plane U, wire 103 + 92, 9, 104 ! Plane U, wire 104 + 93, 9, 105 ! Plane U, wire 105 + 94, 9, 106 ! Plane U, wire 106 + 95, 9, 107 ! Plane U, wire 107 + +SLOT=16 +REFINDEX=1 + 82, 10, 1 ! Plane V, wire 1 + 83, 10, 2 ! Plane V, wire 2 + 84, 10, 3 ! Plane V, wire 3 + 85, 10, 4 ! Plane V, wire 4 + 86, 10, 5 ! Plane V, wire 5 + 87, 10, 6 ! Plane V, wire 6 + 88, 10, 7 ! Plane V, wire 7 + 89, 10, 8 ! Plane V, wire 8 + 90, 10, 9 ! Plane V, wire 9 + 91, 10, 10 ! Plane V, wire 10 + 92, 10, 11 ! Plane V, wire 11 + 93, 10, 12 ! Plane V, wire 12 + 94, 10, 13 ! Plane V, wire 13 + 95, 10, 14 ! Plane V, wire 14 + 80, 12, 113 ! Plane X', wire 113 + +SLOT=14 +REFINDEX=1 + 96, 10, 15 ! Plane V, wire 15 + 97, 10, 16 ! Plane V, wire 16 + 98, 10, 17 ! Plane V, wire 17 + 99, 10, 18 ! Plane V, wire 18 + 100, 10, 19 ! Plane V, wire 19 + 101, 10, 20 ! Plane V, wire 20 + 102, 10, 21 ! Plane V, wire 21 + 103, 10, 22 ! Plane V, wire 22 + 104, 10, 23 ! Plane V, wire 23 + 105, 10, 24 ! Plane V, wire 24 + 106, 10, 25 ! Plane V, wire 25 + 107, 10, 26 ! Plane V, wire 26 + 108, 10, 27 ! Plane V, wire 27 + 109, 10, 28 ! Plane V, wire 28 + 110, 10, 29 ! Plane V, wire 29 + 112, 10, 30 ! Plane V, wire 30 + 113, 10, 31 ! Plane V, wire 31 + 114, 10, 32 ! Plane V, wire 32 + 115, 10, 33 ! Plane V, wire 33 + 116, 10, 34 ! Plane V, wire 34 + 117, 10, 35 ! Plane V, wire 35 + 118, 10, 36 ! Plane V, wire 36 + 119, 10, 37 ! Plane V, wire 37 + 120, 10, 38 ! Plane V, wire 38 + 121, 10, 39 ! Plane V, wire 39 + 122, 10, 40 ! Plane V, wire 40 + 123, 10, 41 ! Plane V, wire 41 + 124, 10, 42 ! Plane V, wire 42 + 125, 10, 43 ! Plane V, wire 43 + 126, 10, 44 ! Plane V, wire 44 + 127, 10, 45 ! Plane V, wire 45 + +SLOT=17 +REFINDEX=1 + 127,1000, 0, 3 + 0, 10, 46 ! Plane V, wire 46 + 1, 10, 47 ! Plane V, wire 47 + 2, 10, 48 ! Plane V, wire 48 + 3, 10, 49 ! Plane V, wire 49 + 4, 10, 50 ! Plane V, wire 50 + 5, 10, 51 ! Plane V, wire 51 + 6, 10, 52 ! Plane V, wire 52 + 7, 10, 53 ! Plane V, wire 53 + 8, 10, 54 ! Plane V, wire 54 + 9, 10, 55 ! Plane V, wire 55 + 10, 10, 56 ! Plane V, wire 56 + 11, 10, 57 ! Plane V, wire 57 + 12, 10, 58 ! Plane V, wire 58 + 13, 10, 59 ! Plane V, wire 59 + 14, 10, 60 ! Plane V, wire 60 + 16, 10, 61 ! Plane V, wire 61 + 17, 10, 62 ! Plane V, wire 62 + 18, 10, 63 ! Plane V, wire 63 + 19, 10, 64 ! Plane V, wire 64 + 20, 10, 65 ! Plane V, wire 65 + 21, 10, 66 ! Plane V, wire 66 + 22, 10, 67 ! Plane V, wire 67 + 23, 10, 68 ! Plane V, wire 68 + 24, 10, 69 ! Plane V, wire 69 + 25, 10, 70 ! Plane V, wire 70 + 26, 10, 71 ! Plane V, wire 71 + 27, 10, 72 ! Plane V, wire 72 + 28, 10, 73 ! Plane V, wire 73 + 29, 10, 74 ! Plane V, wire 74 + 30, 10, 75 ! Plane V, wire 75 + 31, 10, 76 ! Plane V, wire 76 + 32, 10, 77 ! Plane V, wire 77 + 33, 10, 78 ! Plane V, wire 78 + 34, 10, 79 ! Plane V, wire 79 + 35, 10, 80 ! Plane V, wire 80 + 36, 10, 81 ! Plane V, wire 81 + 37, 10, 82 ! Plane V, wire 82 + 38, 10, 83 ! Plane V, wire 83 + 39, 10, 84 ! Plane V, wire 84 + 40, 10, 85 ! Plane V, wire 85 + 41, 10, 86 ! Plane V, wire 86 + 42, 10, 87 ! Plane V, wire 87 + 43, 10, 88 ! Plane V, wire 88 + 44, 10, 89 ! Plane V, wire 89 + 45, 10, 90 ! Plane V, wire 90 + 46, 10, 91 ! Plane V, wire 91 + 48, 10, 92 ! Plane V, wire 92 + 49, 10, 93 ! Plane V, wire 93 + 50, 10, 94 ! Plane V, wire 94 + 51, 10, 95 ! Plane V, wire 95 + 52, 10, 96 ! Plane V, wire 96 + 53, 10, 97 ! Plane V, wire 97 + 54, 10, 98 ! Plane V, wire 98 + 55, 10, 99 ! Plane V, wire 99 + 56, 10, 100 ! Plane V, wire 100 + 57, 10, 101 ! Plane V, wire 101 + 58, 10, 102 ! Plane V, wire 102 + 59, 10, 103 ! Plane V, wire 103 + 60, 10, 104 ! Plane V, wire 104 + 61, 10, 105 ! Plane V, wire 105 + 62, 10, 106 ! Plane V, wire 106 + 63, 10, 107 ! Plane V, wire 107 + +SLOT=13 +REFINDEX=1 + 0, 7, 1 ! Plane X, wire 1 + 1, 7, 2 ! Plane X, wire 2 + 2, 7, 3 ! Plane X, wire 3 + 3, 7, 4 ! Plane X, wire 4 + 4, 7, 5 ! Plane X, wire 5 + 5, 7, 6 ! Plane X, wire 6 + 6, 7, 7 ! Plane X, wire 7 + 7, 7, 8 ! Plane X, wire 8 + 8, 7, 9 ! Plane X, wire 9 + 9, 7, 10 ! Plane X, wire 10 + 10, 7, 11 ! Plane X, wire 11 + 11, 7, 12 ! Plane X, wire 12 + 12, 7, 13 ! Plane X, wire 13 + 13, 7, 14 ! Plane X, wire 14 + 14, 7, 15 ! Plane X, wire 15 + 15, 7, 16 ! Plane X, wire 16 + 16, 7, 17 ! Plane X, wire 17 + 17, 7, 18 ! Plane X, wire 18 + 18, 7, 19 ! Plane X, wire 19 + 19, 7, 20 ! Plane X, wire 20 + 20, 7, 21 ! Plane X, wire 21 + 21, 7, 22 ! Plane X, wire 22 + 22, 7, 23 ! Plane X, wire 23 + 23, 7, 24 ! Plane X, wire 24 + 24, 7, 25 ! Plane X, wire 25 + 25, 7, 26 ! Plane X, wire 26 + 26, 7, 27 ! Plane X, wire 27 + 27, 7, 28 ! Plane X, wire 28 + 28, 7, 29 ! Plane X, wire 29 + 29, 7, 30 ! Plane X, wire 30 + 30, 7, 31 ! Plane X, wire 31 + 31, 7, 32 ! Plane X, wire 32 + 32, 7, 33 ! Plane X, wire 33 + 33, 7, 34 ! Plane X, wire 34 + 34, 7, 35 ! Plane X, wire 35 + 35, 7, 36 ! Plane X, wire 36 + 36, 7, 37 ! Plane X, wire 37 + 37, 7, 38 ! Plane X, wire 38 + 38, 7, 39 ! Plane X, wire 39 + 39, 7, 40 ! Plane X, wire 40 + 40, 7, 41 ! Plane X, wire 41 + 41, 7, 42 ! Plane X, wire 42 + 42, 7, 43 ! Plane X, wire 43 + 43, 7, 44 ! Plane X, wire 44 + 44, 7, 45 ! Plane X, wire 45 + 45, 7, 46 ! Plane X, wire 46 + 46, 7, 47 ! Plane X, wire 47 + 47, 7, 48 ! Plane X, wire 48 + 48, 7, 49 ! Plane X, wire 49 + 49, 7, 50 ! Plane X, wire 50 + 50, 7, 51 ! Plane X, wire 51 + 51, 7, 52 ! Plane X, wire 52 + 52, 7, 53 ! Plane X, wire 53 + 53, 7, 54 ! Plane X, wire 54 + 54, 7, 55 ! Plane X, wire 55 + 55, 7, 56 ! Plane X, wire 56 + 56, 7, 57 ! Plane X, wire 57 + 57, 7, 58 ! Plane X, wire 58 + 58, 7, 59 ! Plane X, wire 59 + 59, 7, 60 ! Plane X, wire 60 + 60, 7, 61 ! Plane X, wire 61 + 61, 7, 62 ! Plane X, wire 62 + 62, 7, 63 ! Plane X, wire 63 + 63, 7, 64 ! Plane X, wire 64 + 64, 7, 65 ! Plane X, wire 65 + 65, 7, 66 ! Plane X, wire 66 + 66, 7, 67 ! Plane X, wire 67 + 67, 7, 68 ! Plane X, wire 68 + 68, 7, 69 ! Plane X, wire 69 + 69, 7, 70 ! Plane X, wire 70 + 70, 7, 71 ! Plane X, wire 71 + 71, 7, 72 ! Plane X, wire 72 + 72, 7, 73 ! Plane X, wire 73 + 73, 7, 74 ! Plane X, wire 74 + 74, 7, 75 ! Plane X, wire 75 + 75, 7, 76 ! Plane X, wire 76 + 76, 7, 77 ! Plane X, wire 77 + 77, 7, 78 ! Plane X, wire 78 + 78, 7, 79 ! Plane X, wire 79 + 79, 7, 80 ! Plane X, wire 80 + 80, 7, 81 ! Plane X, wire 81 + 81, 7, 82 ! Plane X, wire 82 + 82, 7, 83 ! Plane X, wire 83 + 83, 7, 84 ! Plane X, wire 84 + 84, 7, 85 ! Plane X, wire 85 + 85, 7, 86 ! Plane X, wire 86 + 86, 7, 87 ! Plane X, wire 87 + 87, 7, 88 ! Plane X, wire 88 + 88, 7, 89 ! Plane X, wire 89 + 89, 7, 90 ! Plane X, wire 90 + 90, 7, 91 ! Plane X, wire 91 + 91, 7, 92 ! Plane X, wire 92 + 92, 7, 93 ! Plane X, wire 93 + 93, 7, 94 ! Plane X, wire 94 + 94, 7, 95 ! Plane X, wire 95 + 95, 7, 96 ! Plane X, wire 96 + 96, 7, 97 ! Plane X, wire 97 + 97, 7, 98 ! Plane X, wire 98 + 98, 7, 99 ! Plane X, wire 99 + 99, 7, 100 ! Plane X, wire 100 + 100, 7, 101 ! Plane X, wire 101 + 101, 7, 102 ! Plane X, wire 102 + 102, 7, 103 ! Plane X, wire 103 + 103, 7, 104 ! Plane X, wire 104 + 104, 7, 105 ! Plane X, wire 105 + 105, 7, 106 ! Plane X, wire 106 + 106, 7, 107 ! Plane X, wire 107 + 107, 7, 108 ! Plane X, wire 108 + 108, 7, 109 ! Plane X, wire 109 + 109, 7, 110 ! Plane X, wire 110 + 110, 7, 111 ! Plane X, wire 111 + 111, 7, 112 ! Plane X, wire 112 + 112, 12, 1 ! Plane X', wire 1 + 113, 12, 2 ! Plane X', wire 2 + 114, 9, 1 ! Plane U, wire 1 + 115, 9, 2 ! Plane U, wire 2 + 116, 9, 3 ! Plane U, wire 3 + 117, 9, 4 ! Plane U, wire 4 + 118, 9, 5 ! Plane U, wire 5 + 119, 9, 6 ! Plane U, wire 6 + 120, 9, 7 ! Plane U, wire 7 + 121, 9, 8 ! Plane U, wire 8 + 122, 9, 9 ! Plane U, wire 9 + 123, 9, 10 ! Plane U, wire 10 + 124, 9, 11 ! Plane U, wire 11 + 125, 9, 12 ! Plane U, wire 12 + 126, 9, 13 ! Plane U, wire 13 + 127, 9, 14 ! Plane U, wire 14 + +SLOT=14 +REFINDEX=1 + 16, 9, 15 ! Plane U, wire 15 + 17, 9, 16 ! Plane U, wire 16 + 18, 9, 17 ! Plane U, wire 17 + 19, 9, 18 ! Plane U, wire 18 + 20, 9, 19 ! Plane U, wire 19 + 21, 9, 20 ! Plane U, wire 20 + 22, 9, 21 ! Plane U, wire 21 + 23, 9, 22 ! Plane U, wire 22 + 24, 9, 23 ! Plane U, wire 23 + 25, 9, 24 ! Plane U, wire 24 + 26, 9, 25 ! Plane U, wire 25 + 27, 9, 26 ! Plane U, wire 26 + 28, 9, 27 ! Plane U, wire 27 + 29, 9, 28 ! Plane U, wire 28 + 30, 9, 29 ! Plane U, wire 29 + 31, 12, 32 ! Plane X', wire 32 + +SLOT=16 +REFINDEX=1 + 0, 12, 33 ! Plane X', wire 33 + 1, 12, 34 ! Plane X', wire 34 + 2, 12, 35 ! Plane X', wire 35 + 3, 12, 36 ! Plane X', wire 36 + 4, 12, 37 ! Plane X', wire 37 + 5, 12, 38 ! Plane X', wire 38 + 6, 12, 39 ! Plane X', wire 39 + 7, 12, 40 ! Plane X', wire 40 + 8, 12, 41 ! Plane X', wire 41 + 9, 12, 42 ! Plane X', wire 42 + 10, 12, 43 ! Plane X', wire 43 + 11, 12, 44 ! Plane X', wire 44 + 12, 12, 45 ! Plane X', wire 45 + 13, 12, 46 ! Plane X', wire 46 + 14, 12, 47 ! Plane X', wire 47 + 15, 12, 48 ! Plane X', wire 48 + 16, 12, 49 ! Plane X', wire 49 + 17, 12, 50 ! Plane X', wire 50 + 18, 12, 51 ! Plane X', wire 51 + 19, 12, 52 ! Plane X', wire 52 + 20, 12, 53 ! Plane X', wire 53 + 21, 12, 54 ! Plane X', wire 54 + 22, 12, 55 ! Plane X', wire 55 + 23, 12, 56 ! Plane X', wire 56 + 24, 12, 57 ! Plane X', wire 57 + 25, 12, 58 ! Plane X', wire 58 + 26, 12, 59 ! Plane X', wire 59 + 27, 12, 60 ! Plane X', wire 60 + 28, 12, 61 ! Plane X', wire 61 + 29, 12, 62 ! Plane X', wire 62 + 30, 12, 63 ! Plane X', wire 63 + 31, 12, 64 ! Plane X', wire 64 + 32, 12, 65 ! Plane X', wire 65 + 33, 12, 66 ! Plane X', wire 66 + 34, 12, 67 ! Plane X', wire 67 + 35, 12, 68 ! Plane X', wire 68 + 36, 12, 69 ! Plane X', wire 69 + 37, 12, 70 ! Plane X', wire 70 + 38, 12, 71 ! Plane X', wire 71 + 39, 12, 72 ! Plane X', wire 72 + 40, 12, 73 ! Plane X', wire 73 + 41, 12, 74 ! Plane X', wire 74 + 42, 12, 75 ! Plane X', wire 75 + 43, 12, 76 ! Plane X', wire 76 + 44, 12, 77 ! Plane X', wire 77 + 45, 12, 78 ! Plane X', wire 78 + 46, 12, 79 ! Plane X', wire 79 + 47, 12, 80 ! Plane X', wire 80 + 48, 12, 81 ! Plane X', wire 81 + 49, 12, 82 ! Plane X', wire 82 + 50, 12, 83 ! Plane X', wire 83 + 51, 12, 84 ! Plane X', wire 84 + 52, 12, 85 ! Plane X', wire 85 + 53, 12, 86 ! Plane X', wire 86 + 54, 12, 87 ! Plane X', wire 87 + 55, 12, 88 ! Plane X', wire 88 + 56, 12, 89 ! Plane X', wire 89 + 57, 12, 90 ! Plane X', wire 90 + 58, 12, 91 ! Plane X', wire 91 + 59, 12, 92 ! Plane X', wire 92 + 60, 12, 93 ! Plane X', wire 93 + 61, 12, 94 ! Plane X', wire 94 + 62, 12, 95 ! Plane X', wire 95 + 63, 12, 96 ! Plane X', wire 96 + 64, 12, 97 ! Plane X', wire 97 + 65, 12, 98 ! Plane X', wire 98 + 66, 12, 99 ! Plane X', wire 99 + 67, 12, 100 ! Plane X', wire 100 + 68, 12, 101 ! Plane X', wire 101 + 69, 12, 102 ! Plane X', wire 102 + 70, 12, 103 ! Plane X', wire 103 + 71, 12, 104 ! Plane X', wire 104 + 72, 12, 105 ! Plane X', wire 105 + 73, 12, 106 ! Plane X', wire 106 + 74, 12, 107 ! Plane X', wire 107 + 75, 12, 108 ! Plane X', wire 108 + 76, 12, 109 ! Plane X', wire 109 + 77, 12, 110 ! Plane X', wire 110 + 78, 12, 111 ! Plane X', wire 111 + 79, 12, 112 ! Plane X', wire 112 + +SLOT=17 +REFINDEX=1 + 64, 8, 1 ! Plane Y, wire 1 + 65, 8, 2 ! Plane Y, wire 2 + 66, 8, 3 ! Plane Y, wire 3 + 67, 8, 4 ! Plane Y, wire 4 + 68, 8, 5 ! Plane Y, wire 5 + 69, 8, 6 ! Plane Y, wire 6 + 70, 8, 7 ! Plane Y, wire 7 + 71, 8, 8 ! Plane Y, wire 8 + 72, 8, 9 ! Plane Y, wire 9 + 73, 8, 10 ! Plane Y, wire 10 + 74, 8, 11 ! Plane Y, wire 11 + 75, 8, 12 ! Plane Y, wire 12 + 76, 8, 13 ! Plane Y, wire 13 + 80, 8, 14 ! Plane Y, wire 14 + 81, 8, 15 ! Plane Y, wire 15 + 82, 8, 16 ! Plane Y, wire 16 + 83, 8, 17 ! Plane Y, wire 17 + 84, 8, 18 ! Plane Y, wire 18 + 85, 8, 19 ! Plane Y, wire 19 + 86, 8, 20 ! Plane Y, wire 20 + 87, 8, 21 ! Plane Y, wire 21 + 88, 8, 22 ! Plane Y, wire 22 + 89, 8, 23 ! Plane Y, wire 23 + 90, 8, 24 ! Plane Y, wire 24 + 91, 8, 25 ! Plane Y, wire 25 + 92, 8, 26 ! Plane Y, wire 26 + 96, 8, 27 ! Plane Y, wire 27 + 97, 8, 28 ! Plane Y, wire 28 + 98, 8, 29 ! Plane Y, wire 29 + 99, 8, 30 ! Plane Y, wire 30 + 100, 8, 31 ! Plane Y, wire 31 + 101, 8, 32 ! Plane Y, wire 32 + 102, 8, 33 ! Plane Y, wire 33 + 103, 8, 34 ! Plane Y, wire 34 + 104, 8, 35 ! Plane Y, wire 35 + 105, 8, 36 ! Plane Y, wire 36 + 106, 8, 37 ! Plane Y, wire 37 + 107, 8, 38 ! Plane Y, wire 38 + 108, 8, 39 ! Plane Y, wire 39 + 112, 8, 40 ! Plane Y, wire 40 + 113, 8, 41 ! Plane Y, wire 41 + 114, 8, 42 ! Plane Y, wire 42 + 115, 8, 43 ! Plane Y, wire 43 + 116, 8, 44 ! Plane Y, wire 44 + 117, 8, 45 ! Plane Y, wire 45 + 118, 8, 46 ! Plane Y, wire 46 + 119, 8, 47 ! Plane Y, wire 47 + 120, 8, 48 ! Plane Y, wire 48 + 121, 8, 49 ! Plane Y, wire 49 + 122, 8, 50 ! Plane Y, wire 50 + 123, 8, 51 ! Plane Y, wire 51 + 124, 8, 52 ! Plane Y, wire 52 + +SLOT=10 +REFINDEX=1 + 127,1000, 0, 1 + 64, 11, 1 ! Plane Y', wire 1 + 65, 11, 2 ! Plane Y', wire 2 + 66, 11, 3 ! Plane Y', wire 3 + 67, 11, 4 ! Plane Y', wire 4 + 68, 11, 5 ! Plane Y', wire 5 + 69, 11, 6 ! Plane Y', wire 6 + 70, 11, 7 ! Plane Y', wire 7 + 71, 11, 8 ! Plane Y', wire 8 + 72, 11, 9 ! Plane Y', wire 9 + 73, 11, 10 ! Plane Y', wire 10 + 74, 11, 11 ! Plane Y', wire 11 + 75, 11, 12 ! Plane Y', wire 12 + 76, 11, 13 ! Plane Y', wire 13 + 80, 11, 14 ! Plane Y', wire 14 + 81, 11, 15 ! Plane Y', wire 15 + 82, 11, 16 ! Plane Y', wire 16 + 83, 11, 17 ! Plane Y', wire 17 + 84, 11, 18 ! Plane Y', wire 18 + 85, 11, 19 ! Plane Y', wire 19 + 86, 11, 20 ! Plane Y', wire 20 + 87, 11, 21 ! Plane Y', wire 21 + 88, 11, 22 ! Plane Y', wire 22 + 89, 11, 23 ! Plane Y', wire 23 + 90, 11, 24 ! Plane Y', wire 24 + 91, 11, 25 ! Plane Y', wire 25 + 92, 11, 26 ! Plane Y', wire 26 + 96, 11, 27 ! Plane Y', wire 27 + 97, 11, 28 ! Plane Y', wire 28 + 98, 11, 29 ! Plane Y', wire 29 + 99, 11, 30 ! Plane Y', wire 30 + 100, 11, 31 ! Plane Y', wire 31 + 101, 11, 32 ! Plane Y', wire 32 + 102, 11, 33 ! Plane Y', wire 33 + 103, 11, 34 ! Plane Y', wire 34 + 104, 11, 35 ! Plane Y', wire 35 + 105, 11, 36 ! Plane Y', wire 36 + 106, 11, 37 ! Plane Y', wire 37 + 107, 11, 38 ! Plane Y', wire 38 + 108, 11, 39 ! Plane Y', wire 39 + 112, 11, 40 ! Plane Y', wire 40 + 113, 11, 41 ! Plane Y', wire 41 + 114, 11, 42 ! Plane Y', wire 42 + 115, 11, 43 ! Plane Y', wire 43 + 116, 11, 44 ! Plane Y', wire 44 + 117, 11, 45 ! Plane Y', wire 45 + 118, 11, 46 ! Plane Y', wire 46 + 119, 11, 47 ! Plane Y', wire 47 + 120, 11, 48 ! Plane Y', wire 48 + 121, 11, 49 ! Plane Y', wire 49 + 122, 11, 50 ! Plane Y', wire 50 + 123, 11, 51 ! Plane Y', wire 51 + 124, 11, 52 ! Plane Y', wire 52 + + +DETECTOR=13 + +ROC=1 + +SLOT=8 + 0, 1, 1, 0 ! h1x01A+ + 1, 1, 2, 0 ! h1x02A+ + 2, 1, 3, 0 ! h1x03A+ + 3, 1, 4, 0 ! h1x04A+ + 4, 1, 5, 0 ! h1x05A+ + 5, 1, 6, 0 ! h1x06A+ + 6, 1, 7, 0 ! h1x07A+ + 7, 1, 8, 0 ! h1x08A+ + 8, 1, 9, 0 ! h1x09A+ + 9, 1, 10, 0 ! h1x10A+ + 10, 1, 11, 0 ! h1x11A+ + 11, 1, 12, 0 ! h1x12A+ + 12, 1, 13, 0 ! h1x13A+ + 13, 1, 14, 0 ! h1x14A+ + 14, 1, 15, 0 ! h1x15A+ + 15, 1, 16, 0 ! h1x16A+ + +SLOT=9 + 0, 1, 1, 1 ! h1x01A- + 1, 1, 2, 1 ! h1x02A- + 2, 1, 3, 1 ! h1x03A- + 3, 1, 4, 1 ! h1x04A- + 4, 1, 5, 1 ! h1x05A- + 5, 1, 6, 1 ! h1x06A- + 6, 1, 7, 1 ! h1x07A- + 7, 1, 8, 1 ! h1x08A- + 8, 1, 9, 1 ! h1x09A- + 9, 1, 10, 1 ! h1x10A- + 10, 1, 11, 1 ! h1x11A- + 11, 1, 12, 1 ! h1x12A- + 12, 1, 13, 1 ! h1x13A- + 13, 1, 14, 1 ! h1x14A- + 14, 1, 15, 1 ! h1x15A- + 15, 1, 16, 1 ! h1x16A- + +SLOT=10 + 0, 2, 1, 0 ! h1y01A+ + 1, 2, 2, 0 ! h1y02A+ + 2, 2, 3, 0 ! h1y03A+ + 3, 2, 4, 0 ! h1y04A+ + 4, 2, 5, 0 ! h1y05A+ + 5, 2, 6, 0 ! h1y06A+ + 6, 2, 7, 0 ! h1y07A+ + 7, 2, 8, 0 ! h1y08A+ + 8, 2, 9, 0 ! h1y09A+ + 9, 2, 10, 0 ! h1y10A+ + 10, 2, 1, 1 ! h1y01A- + 11, 2, 2, 1 ! h1y02A- + 12, 2, 3, 1 ! h1y03A- + 13, 2, 4, 1 ! h1y04A- + 14, 2, 5, 1 ! h1y05A- + 15, 2, 6, 1 ! h1y06A- + +SLOT=13 + 0, 2, 7, 1 ! h1y07A- + 1, 2, 8, 1 ! h1y08A- + 2, 2, 9, 1 ! h1y09A- + 3, 2, 10, 1 ! h1y10A- + 4, 3, 1, 0 ! h2x01A+ + 5, 3, 2, 0 ! h2x02A+ + 6, 3, 3, 0 ! h2x03A+ + 7, 3, 4, 0 ! h2x04A+ + 8, 3, 5, 0 ! h2x05A+ + 9, 3, 6, 0 ! h2x06A+ + 10, 3, 7, 0 ! h2x07A+ + 11, 3, 8, 0 ! h2x08A+ + 12, 3, 9, 0 ! h2x09A+ + 13, 3, 10, 0 ! h2x10A+ + 14, 3, 11, 0 ! h2x11A+ + 15, 3, 12, 0 ! h2x12A+ + +SLOT=14 + 0, 3, 13, 0 ! h2x13A+ + 1, 3, 14, 0 ! h2x14A+ + 2, 3, 15, 0 ! h2x15A+ + 3, 3, 16, 0 ! h2x16A+ + 4, 3, 1, 1 ! h2x01A- + 5, 3, 2, 1 ! h2x02A- + 6, 3, 3, 1 ! h2x03A- + 7, 3, 4, 1 ! h2x04A- + 8, 3, 5, 1 ! h2x05A- + 9, 3, 6, 1 ! h2x06A- + 10, 3, 7, 1 ! h2x07A- + 11, 3, 8, 1 ! h2x08A- + 12, 3, 9, 1 ! h2x09A- + 13, 3, 10, 1 ! h2x10A- + 14, 3, 11, 1 ! h2x11A- + 15, 3, 12, 1 ! h2x12A- + +SLOT=15 + 0, 3, 13, 1 ! h2x13A- + 1, 3, 14, 1 ! h2x14A- + 2, 3, 15, 1 ! h2x15A- + 3, 3, 16, 1 ! h2x16A- + 4, 4, 1, 0 ! h2y01A+ + 5, 4, 2, 0 ! h2y02A+ + 6, 4, 3, 0 ! h2y03A+ + 7, 4, 4, 0 ! h2y04A+ + 8, 4, 5, 0 ! h2y05A+ + 9, 4, 6, 0 ! h2y06A+ + 10, 4, 7, 0 ! h2y07A+ + 11, 4, 8, 0 ! h2y08A+ + 12, 4, 9, 0 ! h2y09A+ + 13, 4, 10, 0 ! h2y10A+ + 14, 4, 1, 1 ! h2y01A- + 15, 4, 2, 1 ! h2y02A- + +SLOT=16 + 0, 4, 3, 1 ! h2y03A- + 1, 4, 4, 1 ! h2y04A- + 2, 4, 5, 1 ! h2y05A- + 3, 4, 6, 1 ! h2y06A- + 4, 4, 7, 1 ! h2y07A- + 5, 4, 8, 1 ! h2y08A- + 6, 4, 9, 1 ! h2y09A- + 7, 4, 10, 1 ! h2y10A- + +SLOT=20 +REFINDEX=0 + 127,1000, 0, 0 + 0, 1, 1, 2 ! h1x01T+ + 1, 1, 3, 2 ! h1x03T+ + 2, 1, 5, 2 ! h1x05T+ + 3, 1, 7, 2 ! h1x07T+ + 4, 1, 2, 2 ! h1x02T+ + 5, 1, 4, 2 ! h1x04T+ + 6, 1, 6, 2 ! h1x06T+ + 7, 1, 8, 2 ! h1x08T+ + 8, 1, 9, 2 ! h1x09T+ + 9, 1, 11, 2 ! h1x11T+ + 10, 1, 13, 2 ! h1x13T+ + 11, 1, 15, 2 ! h1x15T+ + 12, 1, 10, 2 ! h1x10T+ + 13, 1, 12, 2 ! h1x12T+ + 14, 1, 14, 2 ! h1x14T+ + 15, 1, 16, 2 ! h1x16T+ + 16, 1, 1, 3 ! h1x01T- + 17, 1, 3, 3 ! h1x03T- + 18, 1, 5, 3 ! h1x05T- + 19, 1, 7, 3 ! h1x07T- + 20, 1, 2, 3 ! h1x02T- + 21, 1, 4, 3 ! h1x04T- + 22, 1, 6, 3 ! h1x06T- + 23, 1, 8, 3 ! h1x08T- + 24, 1, 9, 3 ! h1x09T- + 25, 1, 11, 3 ! h1x11T- + 26, 1, 13, 3 ! h1x13T- + 27, 1, 15, 3 ! h1x15T- + 28, 1, 10, 3 ! h1x10T- + 29, 1, 12, 3 ! h1x12T- + 30, 1, 14, 3 ! h1x14T- + 31, 1, 16, 3 ! h1x16T- + 32, 2, 1, 2 ! h1y01T+ + 33, 2, 3, 2 ! h1y03T+ + 34, 2, 5, 2 ! h1y05T+ + 35, 2, 7, 2 ! h1y07T+ + 36, 2, 2, 2 ! h1y02T+ + 37, 2, 4, 2 ! h1y04T+ + 38, 2, 6, 2 ! h1y06T+ + 39, 2, 8, 2 ! h1y08T+ + 40, 2, 9, 2 ! h1y09T+ + 44, 2, 10, 2 ! h1y10T+ + 48, 2, 1, 3 ! h1y01T- + 49, 2, 3, 3 ! h1y03T- + 50, 2, 5, 3 ! h1y05T- + 51, 2, 7, 3 ! h1y07T- + 52, 2, 2, 3 ! h1y02T- + 53, 2, 4, 3 ! h1y04T- + 54, 2, 6, 3 ! h1y06T- + 55, 2, 8, 3 ! h1y08T- + 56, 2, 9, 3 ! h1y09T- + 60, 2, 10, 3 ! h1y10T- + 64, 3, 1, 2 ! h2x01T+ + 65, 3, 3, 2 ! h2x03T+ + 66, 3, 5, 2 ! h2x05T+ + 67, 3, 7, 2 ! h2x07T+ + 68, 3, 2, 2 ! h2x02T+ + 69, 3, 4, 2 ! h2x04T+ + 70, 3, 6, 2 ! h2x06T+ + 71, 3, 8, 2 ! h2x08T+ + 72, 3, 9, 2 ! h2x09T+ + 73, 3, 11, 2 ! h2x11T+ + 74, 3, 13, 2 ! h2x13T+ + 75, 3, 15, 2 ! h2x15T+ + 76, 3, 10, 2 ! h2x10T+ + 77, 3, 12, 2 ! h2x12T+ + 78, 3, 14, 2 ! h2x14T+ + 79, 3, 16, 2 ! h2x16T+ + 80, 3, 1, 3 ! h2x01T- + 81, 3, 3, 3 ! h2x03T- + 82, 3, 5, 3 ! h2x05T- + 83, 3, 7, 3 ! h2x07T- + 84, 3, 2, 3 ! h2x02T- + 85, 3, 4, 3 ! h2x04T- + 86, 3, 6, 3 ! h2x06T- + 87, 3, 8, 3 ! h2x08T- + 88, 3, 9, 3 ! h2x09T- + 89, 3, 11, 3 ! h2x11T- + 90, 3, 13, 3 ! h2x13T- + 91, 3, 15, 3 ! h2x15T- + 92, 3, 10, 3 ! h2x10T- + 93, 3, 12, 3 ! h2x12T- + 94, 3, 14, 3 ! h2x14T- + 95, 3, 16, 3 ! h2x16T- + 96, 4, 1, 2 ! h2y01T+ + 97, 4, 3, 2 ! h2y03T+ + 98, 4, 5, 2 ! h2y05T+ + 99, 4, 7, 2 ! h2y07T+ + 100, 4, 2, 2 ! h2y02T+ + 101, 4, 4, 2 ! h2y04T+ + 102, 4, 6, 2 ! h2y06T+ + 103, 4, 8, 2 ! h2y08T+ + 104, 4, 9, 2 ! h2y09T+ + 108, 4, 10, 2 ! h2y10T+ + 112, 4, 1, 3 ! h2y01T- + 113, 4, 3, 3 ! h2y03T- + 114, 4, 5, 3 ! h2y05T- + 115, 4, 7, 3 ! h2y07T- + 116, 4, 2, 3 ! h2y02T- + 117, 4, 4, 3 ! h2y04T- + 118, 4, 6, 3 ! h2y06T- + 119, 4, 8, 3 ! h2y08T- + 120, 4, 9, 3 ! h2y09T- + 124, 4, 10, 3 ! h2y10T- + + +DETECTOR=14 + +ROC=1 + +SLOT=7 + 14, 1, 1, 0 ! hCER01 + 15, 1, 2, 0 ! hCER02 + + +DETECTOR=15 + +ROC=1 + +SLOT=3 + 0, 1, 1, 0 ! hA01+ + 1, 1, 2, 0 ! hA02+ + 2, 1, 3, 0 ! hA03+ + 3, 1, 4, 0 ! hA04+ + 4, 1, 5, 0 ! hA05+ + 5, 1, 6, 0 ! hA06+ + 6, 1, 7, 0 ! hA07+ + 7, 1, 8, 0 ! hA08+ + 8, 1, 9, 0 ! hA09+ + 9, 1, 10, 0 ! hA10+ + 10, 1, 11, 0 ! hA11+ + 11, 1, 12, 0 ! hA12+ + 12, 1, 13, 0 ! hA13+ + 13, 1, 1, 1 ! hA01- + 14, 1, 2, 1 ! hA02- + 15, 1, 3, 1 ! hA03- + +SLOT=4 + 0, 1, 4, 1 ! hA04- + 1, 1, 5, 1 ! hA05- + 2, 1, 6, 1 ! hA06- + 3, 1, 7, 1 ! hA07- + 4, 1, 8, 1 ! hA08- + 5, 1, 9, 1 ! hA09- + 6, 1, 10, 1 ! hA10- + 7, 1, 11, 1 ! hA11- + 8, 1, 12, 1 ! hA12- + 9, 1, 13, 1 ! hA13- + 10, 2, 1, 0 ! hB01+ + 11, 2, 2, 0 ! hB02+ + 12, 2, 3, 0 ! hB03+ + 13, 2, 4, 0 ! hB04+ + 14, 2, 5, 0 ! hB05+ + 15, 2, 6, 0 ! hB06+ + +SLOT=5 + 0, 2, 7, 0 ! hB07+ + 1, 2, 8, 0 ! hB08+ + 2, 2, 9, 0 ! hB09+ + 3, 2, 10, 0 ! hB10+ + 4, 2, 11, 0 ! hB11+ + 5, 2, 12, 0 ! hB12+ + 6, 2, 13, 0 ! hB13+ + 7, 2, 1, 1 ! hB01- + 8, 2, 2, 1 ! hB02- + 9, 2, 3, 1 ! hB03- + 10, 2, 4, 1 ! hB04- + 11, 2, 5, 1 ! hB05- + 12, 2, 6, 1 ! hB06- + 13, 2, 7, 1 ! hB07- + 14, 2, 8, 1 ! hB08- + 15, 2, 9, 1 ! hB09- + +SLOT=6 + 0, 2, 10, 1 ! hB10- + 1, 2, 11, 1 ! hB11- + 2, 2, 12, 1 ! hB12- + 3, 2, 13, 1 ! hB13- + 4, 3, 1, 0 ! hC01+ + 5, 3, 2, 0 ! hC02+ + 6, 3, 3, 0 ! hC03+ + 7, 3, 4, 0 ! hC04+ + 8, 3, 5, 0 ! hC05+ + 9, 3, 6, 0 ! hC06+ + 10, 3, 7, 0 ! hC07+ + 11, 3, 8, 0 ! hC08+ + 12, 3, 9, 0 ! hC09+ + 13, 3, 10, 0 ! hC10+ + 14, 3, 11, 0 ! hC11+ + 15, 3, 12, 0 ! hC12+ + +SLOT=7 + 0, 3, 13, 0 ! hC13+ + 1, 4, 1, 0 ! hD01+ + 2, 4, 2, 0 ! hD02+ + 3, 4, 3, 0 ! hD03+ + 4, 4, 4, 0 ! hD04+ + 5, 4, 5, 0 ! hD05+ + 6, 4, 6, 0 ! hD06+ + 7, 4, 7, 0 ! hD07+ + 8, 4, 8, 0 ! hD08+ + 9, 4, 9, 0 ! hD09+ + 10, 4, 10, 0 ! hD10+ + 11, 4, 11, 0 ! hD11+ + 12, 4, 12, 0 ! hD12+ + 13, 4, 13, 0 ! hD13+ + + +DETECTOR=16 + +ROC=1 + +SLOT=18 + 12, 1, 1, 0 ! FR-XA + 13, 1, 2, 0 ! FR-XB + 14, 1, 3, 0 ! FR-YA + 15, 1, 4, 0 ! FR-YB + + +DETECTOR=21 + +ROC=2 + +SLOT=13 + 12, 1, 1, 0 ! pNGCER01 + 13, 1, 2, 0 ! pNGCER02 + 14, 1, 3, 0 ! pNGCER03 + 15, 1, 4, 0 ! pNGCER04 + + +DETECTOR=22 ! SHMS chambers + +ROC=6 + +SLOT=9 +REFCHAN=79 + 78, 1, 1 ! DC1, Plane U, wire 1 + 77, 1, 2 ! DC1, Plane U, wire 2 + 76, 1, 3 ! DC1, Plane U, wire 3 + 75, 1, 4 ! DC1, Plane U, wire 4 + 74, 1, 5 ! DC1, Plane U, wire 5 + 73, 1, 6 ! DC1, Plane U, wire 6 + 72, 1, 7 ! DC1, Plane U, wire 7 + 71, 1, 8 ! DC1, Plane U, wire 8 + 70, 1, 9 ! DC1, Plane U, wire 9 + 69, 1, 10 ! DC1, Plane U, wire 10 + 68, 1, 11 ! DC1, Plane U, wire 11 + 67, 1, 12 ! DC1, Plane U, wire 12 + 66, 1, 13 ! DC1, Plane U, wire 13 + 65, 1, 14 ! DC1, Plane U, wire 14 + 64, 1, 15 ! DC1, Plane U, wire 15 + +SLOT=7 +REFCHAN=79 + 31, 1, 16 ! DC1, Plane U, wire 16 + 30, 1, 17 ! DC1, Plane U, wire 17 + 29, 1, 18 ! DC1, Plane U, wire 18 + 28, 1, 19 ! DC1, Plane U, wire 19 + 27, 1, 20 ! DC1, Plane U, wire 20 + 26, 1, 21 ! DC1, Plane U, wire 21 + 25, 1, 22 ! DC1, Plane U, wire 22 + 24, 1, 23 ! DC1, Plane U, wire 23 + 23, 1, 24 ! DC1, Plane U, wire 24 + 22, 1, 25 ! DC1, Plane U, wire 25 + 21, 1, 26 ! DC1, Plane U, wire 26 + 20, 1, 27 ! DC1, Plane U, wire 27 + 19, 1, 28 ! DC1, Plane U, wire 28 + 18, 1, 29 ! DC1, Plane U, wire 29 + 17, 1, 30 ! DC1, Plane U, wire 30 + 16, 1, 31 ! DC1, Plane U, wire 31 + +SLOT=6 +REFCHAN=79 + 95, 1, 32 ! DC1, Plane U, wire 32 + 94, 1, 33 ! DC1, Plane U, wire 33 + 93, 1, 34 ! DC1, Plane U, wire 34 + 92, 1, 35 ! DC1, Plane U, wire 35 + 91, 1, 36 ! DC1, Plane U, wire 36 + 90, 1, 37 ! DC1, Plane U, wire 37 + 89, 1, 38 ! DC1, Plane U, wire 38 + 88, 1, 39 ! DC1, Plane U, wire 39 + 87, 1, 40 ! DC1, Plane U, wire 40 + 86, 1, 41 ! DC1, Plane U, wire 41 + 85, 1, 42 ! DC1, Plane U, wire 42 + 84, 1, 43 ! DC1, Plane U, wire 43 + 83, 1, 44 ! DC1, Plane U, wire 44 + 82, 1, 45 ! DC1, Plane U, wire 45 + 81, 1, 46 ! DC1, Plane U, wire 46 + 80, 1, 47 ! DC1, Plane U, wire 47 + 31, 1, 48 ! DC1, Plane U, wire 48 + 30, 1, 49 ! DC1, Plane U, wire 49 + 29, 1, 50 ! DC1, Plane U, wire 50 + 28, 1, 51 ! DC1, Plane U, wire 51 + 27, 1, 52 ! DC1, Plane U, wire 52 + 26, 1, 53 ! DC1, Plane U, wire 53 + 25, 1, 54 ! DC1, Plane U, wire 54 + 24, 1, 55 ! DC1, Plane U, wire 55 + 23, 1, 56 ! DC1, Plane U, wire 56 + 22, 1, 57 ! DC1, Plane U, wire 57 + 21, 1, 58 ! DC1, Plane U, wire 58 + 20, 1, 59 ! DC1, Plane U, wire 59 + 19, 1, 60 ! DC1, Plane U, wire 60 + 18, 1, 61 ! DC1, Plane U, wire 61 + 17, 1, 62 ! DC1, Plane U, wire 62 + 16, 1, 63 ! DC1, Plane U, wire 63 + +SLOT=8 +REFCHAN=79 + 112, 1, 64 ! DC1, Plane U, wire 64 + 113, 1, 65 ! DC1, Plane U, wire 65 + 114, 1, 66 ! DC1, Plane U, wire 66 + 115, 1, 67 ! DC1, Plane U, wire 67 + 116, 1, 68 ! DC1, Plane U, wire 68 + 117, 1, 69 ! DC1, Plane U, wire 69 + 118, 1, 70 ! DC1, Plane U, wire 70 + 119, 1, 71 ! DC1, Plane U, wire 71 + 120, 1, 72 ! DC1, Plane U, wire 72 + 121, 1, 73 ! DC1, Plane U, wire 73 + 122, 1, 74 ! DC1, Plane U, wire 74 + 123, 1, 75 ! DC1, Plane U, wire 75 + 124, 1, 76 ! DC1, Plane U, wire 76 + 125, 1, 77 ! DC1, Plane U, wire 77 + 126, 1, 78 ! DC1, Plane U, wire 78 + 127, 1, 79 ! DC1, Plane U, wire 79 + 48, 1, 80 ! DC1, Plane U, wire 80 + 49, 1, 81 ! DC1, Plane U, wire 81 + 50, 1, 82 ! DC1, Plane U, wire 82 + 51, 1, 83 ! DC1, Plane U, wire 83 + 52, 1, 84 ! DC1, Plane U, wire 84 + 53, 1, 85 ! DC1, Plane U, wire 85 + 54, 1, 86 ! DC1, Plane U, wire 86 + 55, 1, 87 ! DC1, Plane U, wire 87 + 56, 1, 88 ! DC1, Plane U, wire 88 + 57, 1, 89 ! DC1, Plane U, wire 89 + 58, 1, 90 ! DC1, Plane U, wire 90 + 59, 1, 91 ! DC1, Plane U, wire 91 + 60, 1, 92 ! DC1, Plane U, wire 92 + 61, 1, 93 ! DC1, Plane U, wire 93 + 62, 1, 94 ! DC1, Plane U, wire 94 + 63, 1, 95 ! DC1, Plane U, wire 95 + +SLOT=9 +REFCHAN=79 + 112, 1, 96 ! DC1, Plane U, wire 96 + 113, 1, 97 ! DC1, Plane U, wire 97 + 114, 1, 98 ! DC1, Plane U, wire 98 + 115, 1, 99 ! DC1, Plane U, wire 99 + 116, 1, 100 ! DC1, Plane U, wire 100 + 117, 1, 101 ! DC1, Plane U, wire 101 + 118, 1, 102 ! DC1, Plane U, wire 102 + 119, 1, 103 ! DC1, Plane U, wire 103 + 120, 1, 104 ! DC1, Plane U, wire 104 + 121, 1, 105 ! DC1, Plane U, wire 105 + 122, 1, 106 ! DC1, Plane U, wire 106 + 123, 1, 107 ! DC1, Plane U, wire 107 + +SLOT=8 +REFCHAN=79 + 75, 2, 1 ! DC1, Plane U', wire 1 + 74, 2, 2 ! DC1, Plane U', wire 2 + 73, 2, 3 ! DC1, Plane U', wire 3 + 72, 2, 4 ! DC1, Plane U', wire 4 + 71, 2, 5 ! DC1, Plane U', wire 5 + 70, 2, 6 ! DC1, Plane U', wire 6 + 69, 2, 7 ! DC1, Plane U', wire 7 + 68, 2, 8 ! DC1, Plane U', wire 8 + 67, 2, 9 ! DC1, Plane U', wire 9 + 66, 2, 10 ! DC1, Plane U', wire 10 + 65, 2, 11 ! DC1, Plane U', wire 11 + 64, 2, 12 ! DC1, Plane U', wire 12 + +SLOT=6 +REFCHAN=79 + 127, 2, 13 ! DC1, Plane U', wire 13 + 126, 2, 14 ! DC1, Plane U', wire 14 + 125, 2, 15 ! DC1, Plane U', wire 15 + 124, 2, 16 ! DC1, Plane U', wire 16 + 123, 2, 17 ! DC1, Plane U', wire 17 + 122, 2, 18 ! DC1, Plane U', wire 18 + 121, 2, 19 ! DC1, Plane U', wire 19 + 120, 2, 20 ! DC1, Plane U', wire 20 + 119, 2, 21 ! DC1, Plane U', wire 21 + 118, 2, 22 ! DC1, Plane U', wire 22 + 117, 2, 23 ! DC1, Plane U', wire 23 + 116, 2, 24 ! DC1, Plane U', wire 24 + 115, 2, 25 ! DC1, Plane U', wire 25 + 114, 2, 26 ! DC1, Plane U', wire 26 + 113, 2, 27 ! DC1, Plane U', wire 27 + 112, 2, 28 ! DC1, Plane U', wire 28 + 47, 2, 29 ! DC1, Plane U', wire 29 + 46, 2, 30 ! DC1, Plane U', wire 30 + 45, 2, 31 ! DC1, Plane U', wire 31 + 44, 2, 32 ! DC1, Plane U', wire 32 + 43, 2, 33 ! DC1, Plane U', wire 33 + 42, 2, 34 ! DC1, Plane U', wire 34 + 41, 2, 35 ! DC1, Plane U', wire 35 + 40, 2, 36 ! DC1, Plane U', wire 36 + 39, 2, 37 ! DC1, Plane U', wire 37 + 38, 2, 38 ! DC1, Plane U', wire 38 + 37, 2, 39 ! DC1, Plane U', wire 39 + 36, 2, 40 ! DC1, Plane U', wire 40 + 35, 2, 41 ! DC1, Plane U', wire 41 + 34, 2, 42 ! DC1, Plane U', wire 42 + 33, 2, 43 ! DC1, Plane U', wire 43 + 32, 2, 44 ! DC1, Plane U', wire 44 + +SLOT=9 +REFCHAN=79 + 0, 2, 45 ! DC1, Plane U', wire 45 + 1, 2, 46 ! DC1, Plane U', wire 46 + 2, 2, 47 ! DC1, Plane U', wire 47 + 3, 2, 48 ! DC1, Plane U', wire 48 + 4, 2, 49 ! DC1, Plane U', wire 49 + 5, 2, 50 ! DC1, Plane U', wire 50 + 6, 2, 51 ! DC1, Plane U', wire 51 + 7, 2, 52 ! DC1, Plane U', wire 52 + 8, 2, 53 ! DC1, Plane U', wire 53 + 9, 2, 54 ! DC1, Plane U', wire 54 + 10, 2, 55 ! DC1, Plane U', wire 55 + 11, 2, 56 ! DC1, Plane U', wire 56 + 12, 2, 57 ! DC1, Plane U', wire 57 + 13, 2, 58 ! DC1, Plane U', wire 58 + 14, 2, 59 ! DC1, Plane U', wire 59 + 15, 2, 60 ! DC1, Plane U', wire 60 + +SLOT=8 +REFCHAN=79 + 96, 2, 61 ! DC1, Plane U', wire 61 + 97, 2, 62 ! DC1, Plane U', wire 62 + 98, 2, 63 ! DC1, Plane U', wire 63 + 99, 2, 64 ! DC1, Plane U', wire 64 + 100, 2, 65 ! DC1, Plane U', wire 65 + 101, 2, 66 ! DC1, Plane U', wire 66 + 102, 2, 67 ! DC1, Plane U', wire 67 + 103, 2, 68 ! DC1, Plane U', wire 68 + 104, 2, 69 ! DC1, Plane U', wire 69 + 105, 2, 70 ! DC1, Plane U', wire 70 + 106, 2, 71 ! DC1, Plane U', wire 71 + 107, 2, 72 ! DC1, Plane U', wire 72 + 108, 2, 73 ! DC1, Plane U', wire 73 + 109, 2, 74 ! DC1, Plane U', wire 74 + 110, 2, 75 ! DC1, Plane U', wire 75 + 111, 2, 76 ! DC1, Plane U', wire 76 + +SLOT=10 +REFCHAN=79 + 80, 2, 77 ! DC1, Plane U', wire 77 + 81, 2, 78 ! DC1, Plane U', wire 78 + 82, 2, 79 ! DC1, Plane U', wire 79 + 83, 2, 80 ! DC1, Plane U', wire 80 + 84, 2, 81 ! DC1, Plane U', wire 81 + 85, 2, 82 ! DC1, Plane U', wire 82 + 86, 2, 83 ! DC1, Plane U', wire 83 + 87, 2, 84 ! DC1, Plane U', wire 84 + 88, 2, 85 ! DC1, Plane U', wire 85 + 89, 2, 86 ! DC1, Plane U', wire 86 + 90, 2, 87 ! DC1, Plane U', wire 87 + 91, 2, 88 ! DC1, Plane U', wire 88 + 92, 2, 89 ! DC1, Plane U', wire 89 + 93, 2, 90 ! DC1, Plane U', wire 90 + 94, 2, 91 ! DC1, Plane U', wire 91 + 95, 2, 92 ! DC1, Plane U', wire 92 + 16, 2, 93 ! DC1, Plane U', wire 93 + 17, 2, 94 ! DC1, Plane U', wire 94 + 18, 2, 95 ! DC1, Plane U', wire 95 + 19, 2, 96 ! DC1, Plane U', wire 96 + 20, 2, 97 ! DC1, Plane U', wire 97 + 21, 2, 98 ! DC1, Plane U', wire 98 + 22, 2, 99 ! DC1, Plane U', wire 99 + 23, 2, 100 ! DC1, Plane U', wire 100 + 24, 2, 101 ! DC1, Plane U', wire 101 + 25, 2, 102 ! DC1, Plane U', wire 102 + 26, 2, 103 ! DC1, Plane U', wire 103 + 27, 2, 104 ! DC1, Plane U', wire 104 + 28, 2, 105 ! DC1, Plane U', wire 105 + 29, 2, 106 ! DC1, Plane U', wire 106 + 30, 2, 107 ! DC1, Plane U', wire 107 + +SLOT=9 +REFCHAN=79 + 46, 5, 1 ! DC1, Plane V, wire 1 + 45, 5, 2 ! DC1, Plane V, wire 2 + 44, 5, 3 ! DC1, Plane V, wire 3 + 43, 5, 4 ! DC1, Plane V, wire 4 + 42, 5, 5 ! DC1, Plane V, wire 5 + 41, 5, 6 ! DC1, Plane V, wire 6 + 40, 5, 7 ! DC1, Plane V, wire 7 + 39, 5, 8 ! DC1, Plane V, wire 8 + 38, 5, 9 ! DC1, Plane V, wire 9 + 37, 5, 10 ! DC1, Plane V, wire 10 + 36, 5, 11 ! DC1, Plane V, wire 11 + 35, 5, 12 ! DC1, Plane V, wire 12 + 34, 5, 13 ! DC1, Plane V, wire 13 + 33, 5, 14 ! DC1, Plane V, wire 14 + 32, 5, 15 ! DC1, Plane V, wire 15 + +SLOT=8 +REFCHAN=79 + 31, 5, 16 ! DC1, Plane V, wire 16 + 30, 5, 17 ! DC1, Plane V, wire 17 + 29, 5, 18 ! DC1, Plane V, wire 18 + 28, 5, 19 ! DC1, Plane V, wire 19 + 27, 5, 20 ! DC1, Plane V, wire 20 + 26, 5, 21 ! DC1, Plane V, wire 21 + 25, 5, 22 ! DC1, Plane V, wire 22 + 24, 5, 23 ! DC1, Plane V, wire 23 + 23, 5, 24 ! DC1, Plane V, wire 24 + 22, 5, 25 ! DC1, Plane V, wire 25 + 21, 5, 26 ! DC1, Plane V, wire 26 + 20, 5, 27 ! DC1, Plane V, wire 27 + 19, 5, 28 ! DC1, Plane V, wire 28 + 18, 5, 29 ! DC1, Plane V, wire 29 + 17, 5, 30 ! DC1, Plane V, wire 30 + 16, 5, 31 ! DC1, Plane V, wire 31 + +SLOT=10 +REFCHAN=79 + 15, 5, 32 ! DC1, Plane V, wire 32 + 14, 5, 33 ! DC1, Plane V, wire 33 + 13, 5, 34 ! DC1, Plane V, wire 34 + 12, 5, 35 ! DC1, Plane V, wire 35 + 11, 5, 36 ! DC1, Plane V, wire 36 + 10, 5, 37 ! DC1, Plane V, wire 37 + 9, 5, 38 ! DC1, Plane V, wire 38 + 8, 5, 39 ! DC1, Plane V, wire 39 + 7, 5, 40 ! DC1, Plane V, wire 40 + 6, 5, 41 ! DC1, Plane V, wire 41 + 5, 5, 42 ! DC1, Plane V, wire 42 + 4, 5, 43 ! DC1, Plane V, wire 43 + 3, 5, 44 ! DC1, Plane V, wire 44 + 2, 5, 45 ! DC1, Plane V, wire 45 + 1, 5, 46 ! DC1, Plane V, wire 46 + 0, 5, 47 ! DC1, Plane V, wire 47 + +SLOT=9 +REFCHAN=79 + 63, 5, 48 ! DC1, Plane V, wire 48 + 62, 5, 49 ! DC1, Plane V, wire 49 + 61, 5, 50 ! DC1, Plane V, wire 50 + 60, 5, 51 ! DC1, Plane V, wire 51 + 59, 5, 52 ! DC1, Plane V, wire 52 + 58, 5, 53 ! DC1, Plane V, wire 53 + 57, 5, 54 ! DC1, Plane V, wire 54 + 56, 5, 55 ! DC1, Plane V, wire 55 + 55, 5, 56 ! DC1, Plane V, wire 56 + 54, 5, 57 ! DC1, Plane V, wire 57 + 53, 5, 58 ! DC1, Plane V, wire 58 + 52, 5, 59 ! DC1, Plane V, wire 59 + 51, 5, 60 ! DC1, Plane V, wire 60 + 50, 5, 61 ! DC1, Plane V, wire 61 + 49, 5, 62 ! DC1, Plane V, wire 62 + 48, 5, 63 ! DC1, Plane V, wire 63 + +SLOT=7 +REFCHAN=79 + 32, 5, 64 ! DC1, Plane V, wire 64 + 33, 5, 65 ! DC1, Plane V, wire 65 + 34, 5, 66 ! DC1, Plane V, wire 66 + 35, 5, 67 ! DC1, Plane V, wire 67 + 36, 5, 68 ! DC1, Plane V, wire 68 + 37, 5, 69 ! DC1, Plane V, wire 69 + 38, 5, 70 ! DC1, Plane V, wire 70 + 39, 5, 71 ! DC1, Plane V, wire 71 + 40, 5, 72 ! DC1, Plane V, wire 72 + 41, 5, 73 ! DC1, Plane V, wire 73 + 42, 5, 74 ! DC1, Plane V, wire 74 + 43, 5, 75 ! DC1, Plane V, wire 75 + 44, 5, 76 ! DC1, Plane V, wire 76 + 45, 5, 77 ! DC1, Plane V, wire 77 + 46, 5, 78 ! DC1, Plane V, wire 78 + 47, 5, 79 ! DC1, Plane V, wire 79 + 96, 5, 80 ! DC1, Plane V, wire 80 + 97, 5, 81 ! DC1, Plane V, wire 81 + 98, 5, 82 ! DC1, Plane V, wire 82 + 99, 5, 83 ! DC1, Plane V, wire 83 + 100, 5, 84 ! DC1, Plane V, wire 84 + 101, 5, 85 ! DC1, Plane V, wire 85 + 102, 5, 86 ! DC1, Plane V, wire 86 + 103, 5, 87 ! DC1, Plane V, wire 87 + 104, 5, 88 ! DC1, Plane V, wire 88 + 105, 5, 89 ! DC1, Plane V, wire 89 + 106, 5, 90 ! DC1, Plane V, wire 90 + 107, 5, 91 ! DC1, Plane V, wire 91 + 108, 5, 92 ! DC1, Plane V, wire 92 + 109, 5, 93 ! DC1, Plane V, wire 93 + 110, 5, 94 ! DC1, Plane V, wire 94 + 111, 5, 95 ! DC1, Plane V, wire 95 + 64, 5, 96 ! DC1, Plane V, wire 96 + 65, 5, 97 ! DC1, Plane V, wire 97 + 66, 5, 98 ! DC1, Plane V, wire 98 + 67, 5, 99 ! DC1, Plane V, wire 99 + 68, 5, 100 ! DC1, Plane V, wire 100 + 69, 5, 101 ! DC1, Plane V, wire 101 + 70, 5, 102 ! DC1, Plane V, wire 102 + 71, 5, 103 ! DC1, Plane V, wire 103 + 72, 5, 104 ! DC1, Plane V, wire 104 + 73, 5, 105 ! DC1, Plane V, wire 105 + 74, 5, 106 ! DC1, Plane V, wire 106 + 75, 5, 107 ! DC1, Plane V, wire 107 + +SLOT=10 +REFCHAN=79 + 75, 6, 1 ! DC1, Plane V', wire 1 + 74, 6, 2 ! DC1, Plane V', wire 2 + 73, 6, 3 ! DC1, Plane V', wire 3 + 72, 6, 4 ! DC1, Plane V', wire 4 + 71, 6, 5 ! DC1, Plane V', wire 5 + 70, 6, 6 ! DC1, Plane V', wire 6 + 69, 6, 7 ! DC1, Plane V', wire 7 + 68, 6, 8 ! DC1, Plane V', wire 8 + 67, 6, 9 ! DC1, Plane V', wire 9 + 66, 6, 10 ! DC1, Plane V', wire 10 + 65, 6, 11 ! DC1, Plane V', wire 11 + 64, 6, 12 ! DC1, Plane V', wire 12 + 47, 6, 13 ! DC1, Plane V', wire 13 + 46, 6, 14 ! DC1, Plane V', wire 14 + 45, 6, 15 ! DC1, Plane V', wire 15 + 44, 6, 16 ! DC1, Plane V', wire 16 + 43, 6, 17 ! DC1, Plane V', wire 17 + 42, 6, 18 ! DC1, Plane V', wire 18 + 41, 6, 19 ! DC1, Plane V', wire 19 + 40, 6, 20 ! DC1, Plane V', wire 20 + 39, 6, 21 ! DC1, Plane V', wire 21 + 38, 6, 22 ! DC1, Plane V', wire 22 + 37, 6, 23 ! DC1, Plane V', wire 23 + 36, 6, 24 ! DC1, Plane V', wire 24 + 35, 6, 25 ! DC1, Plane V', wire 25 + 34, 6, 26 ! DC1, Plane V', wire 26 + 33, 6, 27 ! DC1, Plane V', wire 27 + 32, 6, 28 ! DC1, Plane V', wire 28 + +SLOT=9 +REFCHAN=79 + 111, 6, 29 ! DC1, Plane V', wire 29 + 110, 6, 30 ! DC1, Plane V', wire 30 + 109, 6, 31 ! DC1, Plane V', wire 31 + 108, 6, 32 ! DC1, Plane V', wire 32 + 107, 6, 33 ! DC1, Plane V', wire 33 + 106, 6, 34 ! DC1, Plane V', wire 34 + 105, 6, 35 ! DC1, Plane V', wire 35 + 104, 6, 36 ! DC1, Plane V', wire 36 + 103, 6, 37 ! DC1, Plane V', wire 37 + 102, 6, 38 ! DC1, Plane V', wire 38 + 101, 6, 39 ! DC1, Plane V', wire 39 + 100, 6, 40 ! DC1, Plane V', wire 40 + 99, 6, 41 ! DC1, Plane V', wire 41 + 98, 6, 42 ! DC1, Plane V', wire 42 + 97, 6, 43 ! DC1, Plane V', wire 43 + 96, 6, 44 ! DC1, Plane V', wire 44 + +SLOT=8 +REFCHAN=79 + 80, 6, 45 ! DC1, Plane V', wire 45 + 81, 6, 46 ! DC1, Plane V', wire 46 + 82, 6, 47 ! DC1, Plane V', wire 47 + 83, 6, 48 ! DC1, Plane V', wire 48 + 84, 6, 49 ! DC1, Plane V', wire 49 + 85, 6, 50 ! DC1, Plane V', wire 50 + 86, 6, 51 ! DC1, Plane V', wire 51 + 87, 6, 52 ! DC1, Plane V', wire 52 + 88, 6, 53 ! DC1, Plane V', wire 53 + 89, 6, 54 ! DC1, Plane V', wire 54 + 90, 6, 55 ! DC1, Plane V', wire 55 + 91, 6, 56 ! DC1, Plane V', wire 56 + 92, 6, 57 ! DC1, Plane V', wire 57 + 93, 6, 58 ! DC1, Plane V', wire 58 + 94, 6, 59 ! DC1, Plane V', wire 59 + 95, 6, 60 ! DC1, Plane V', wire 60 + +SLOT=7 +REFCHAN=79 + 112, 6, 61 ! DC1, Plane V', wire 61 + 113, 6, 62 ! DC1, Plane V', wire 62 + 114, 6, 63 ! DC1, Plane V', wire 63 + 115, 6, 64 ! DC1, Plane V', wire 64 + 116, 6, 65 ! DC1, Plane V', wire 65 + 117, 6, 66 ! DC1, Plane V', wire 66 + 118, 6, 67 ! DC1, Plane V', wire 67 + 119, 6, 68 ! DC1, Plane V', wire 68 + 120, 6, 69 ! DC1, Plane V', wire 69 + 121, 6, 70 ! DC1, Plane V', wire 70 + 122, 6, 71 ! DC1, Plane V', wire 71 + 123, 6, 72 ! DC1, Plane V', wire 72 + 124, 6, 73 ! DC1, Plane V', wire 73 + 125, 6, 74 ! DC1, Plane V', wire 74 + 126, 6, 75 ! DC1, Plane V', wire 75 + 127, 6, 76 ! DC1, Plane V', wire 76 + 80, 6, 77 ! DC1, Plane V', wire 77 + 81, 6, 78 ! DC1, Plane V', wire 78 + 82, 6, 79 ! DC1, Plane V', wire 79 + 83, 6, 80 ! DC1, Plane V', wire 80 + 84, 6, 81 ! DC1, Plane V', wire 81 + 85, 6, 82 ! DC1, Plane V', wire 82 + 86, 6, 83 ! DC1, Plane V', wire 83 + 87, 6, 84 ! DC1, Plane V', wire 84 + 88, 6, 85 ! DC1, Plane V', wire 85 + 89, 6, 86 ! DC1, Plane V', wire 86 + 90, 6, 87 ! DC1, Plane V', wire 87 + 91, 6, 88 ! DC1, Plane V', wire 88 + 92, 6, 89 ! DC1, Plane V', wire 89 + 93, 6, 90 ! DC1, Plane V', wire 90 + 94, 6, 91 ! DC1, Plane V', wire 91 + 95, 6, 92 ! DC1, Plane V', wire 92 + +SLOT=6 +REFCHAN=79 + 64, 6, 93 ! DC1, Plane V', wire 93 + 65, 6, 94 ! DC1, Plane V', wire 94 + 66, 6, 95 ! DC1, Plane V', wire 95 + 67, 6, 96 ! DC1, Plane V', wire 96 + 68, 6, 97 ! DC1, Plane V', wire 97 + 69, 6, 98 ! DC1, Plane V', wire 98 + 70, 6, 99 ! DC1, Plane V', wire 99 + 71, 6, 100 ! DC1, Plane V', wire 100 + 72, 6, 101 ! DC1, Plane V', wire 101 + 73, 6, 102 ! DC1, Plane V', wire 102 + 74, 6, 103 ! DC1, Plane V', wire 103 + 75, 6, 104 ! DC1, Plane V', wire 104 + 76, 6, 105 ! DC1, Plane V', wire 105 + 77, 6, 106 ! DC1, Plane V', wire 106 + 78, 6, 107 ! DC1, Plane V', wire 107 + +SLOT=8 +REFCHAN=79 + 15, 3, 1 ! DC1, Plane X, wire 1 + 14, 3, 2 ! DC1, Plane X, wire 2 + 13, 3, 3 ! DC1, Plane X, wire 3 + 12, 3, 4 ! DC1, Plane X, wire 4 + 11, 3, 5 ! DC1, Plane X, wire 5 + 10, 3, 6 ! DC1, Plane X, wire 6 + 9, 3, 7 ! DC1, Plane X, wire 7 + 8, 3, 8 ! DC1, Plane X, wire 8 + 7, 3, 9 ! DC1, Plane X, wire 9 + 6, 3, 10 ! DC1, Plane X, wire 10 + 5, 3, 11 ! DC1, Plane X, wire 11 + 4, 3, 12 ! DC1, Plane X, wire 12 + 3, 3, 13 ! DC1, Plane X, wire 13 + 2, 3, 14 ! DC1, Plane X, wire 14 + 1, 3, 15 ! DC1, Plane X, wire 15 + 0, 3, 16 ! DC1, Plane X, wire 16 + +SLOT=7 +REFCHAN=79 + 63, 3, 17 ! DC1, Plane X, wire 17 + 62, 3, 18 ! DC1, Plane X, wire 18 + 61, 3, 19 ! DC1, Plane X, wire 19 + 60, 3, 20 ! DC1, Plane X, wire 20 + 59, 3, 21 ! DC1, Plane X, wire 21 + 58, 3, 22 ! DC1, Plane X, wire 22 + 57, 3, 23 ! DC1, Plane X, wire 23 + 56, 3, 24 ! DC1, Plane X, wire 24 + 55, 3, 25 ! DC1, Plane X, wire 25 + 54, 3, 26 ! DC1, Plane X, wire 26 + 53, 3, 27 ! DC1, Plane X, wire 27 + 52, 3, 28 ! DC1, Plane X, wire 28 + 51, 3, 29 ! DC1, Plane X, wire 29 + 50, 3, 30 ! DC1, Plane X, wire 30 + 49, 3, 31 ! DC1, Plane X, wire 31 + 48, 3, 32 ! DC1, Plane X, wire 32 + +SLOT=6 +REFCHAN=79 + 63, 3, 33 ! DC1, Plane X, wire 33 + 62, 3, 34 ! DC1, Plane X, wire 34 + 61, 3, 35 ! DC1, Plane X, wire 35 + 60, 3, 36 ! DC1, Plane X, wire 36 + 59, 3, 37 ! DC1, Plane X, wire 37 + 58, 3, 38 ! DC1, Plane X, wire 38 + 57, 3, 39 ! DC1, Plane X, wire 39 + 56, 3, 40 ! DC1, Plane X, wire 40 + 55, 3, 41 ! DC1, Plane X, wire 41 + 54, 3, 42 ! DC1, Plane X, wire 42 + 53, 3, 43 ! DC1, Plane X, wire 43 + 52, 3, 44 ! DC1, Plane X, wire 44 + 51, 3, 45 ! DC1, Plane X, wire 45 + 50, 3, 46 ! DC1, Plane X, wire 46 + 49, 3, 47 ! DC1, Plane X, wire 47 + 48, 3, 48 ! DC1, Plane X, wire 48 + +SLOT=10 +REFCHAN=79 + 48, 3, 49 ! DC1, Plane X, wire 49 + 49, 3, 50 ! DC1, Plane X, wire 50 + 50, 3, 51 ! DC1, Plane X, wire 51 + 51, 3, 52 ! DC1, Plane X, wire 52 + 52, 3, 53 ! DC1, Plane X, wire 53 + 53, 3, 54 ! DC1, Plane X, wire 54 + 54, 3, 55 ! DC1, Plane X, wire 55 + 55, 3, 56 ! DC1, Plane X, wire 56 + 56, 3, 57 ! DC1, Plane X, wire 57 + 57, 3, 58 ! DC1, Plane X, wire 58 + 58, 3, 59 ! DC1, Plane X, wire 59 + 59, 3, 60 ! DC1, Plane X, wire 60 + 60, 3, 61 ! DC1, Plane X, wire 61 + 61, 3, 62 ! DC1, Plane X, wire 62 + 62, 3, 63 ! DC1, Plane X, wire 63 + 63, 3, 64 ! DC1, Plane X, wire 64 + +SLOT=9 +REFCHAN=79 + 80, 3, 65 ! DC1, Plane X, wire 65 + 81, 3, 66 ! DC1, Plane X, wire 66 + 82, 3, 67 ! DC1, Plane X, wire 67 + 83, 3, 68 ! DC1, Plane X, wire 68 + 84, 3, 69 ! DC1, Plane X, wire 69 + 85, 3, 70 ! DC1, Plane X, wire 70 + 86, 3, 71 ! DC1, Plane X, wire 71 + 87, 3, 72 ! DC1, Plane X, wire 72 + 88, 3, 73 ! DC1, Plane X, wire 73 + 89, 3, 74 ! DC1, Plane X, wire 74 + 90, 3, 75 ! DC1, Plane X, wire 75 + 91, 3, 76 ! DC1, Plane X, wire 76 + 92, 3, 77 ! DC1, Plane X, wire 77 + 93, 3, 78 ! DC1, Plane X, wire 78 + 94, 3, 79 ! DC1, Plane X, wire 79 + 30, 4, 1 ! DC1, Plane X', wire 1 + 29, 4, 2 ! DC1, Plane X', wire 2 + 28, 4, 3 ! DC1, Plane X', wire 3 + 27, 4, 4 ! DC1, Plane X', wire 4 + 26, 4, 5 ! DC1, Plane X', wire 5 + 25, 4, 6 ! DC1, Plane X', wire 6 + 24, 4, 7 ! DC1, Plane X', wire 7 + 23, 4, 8 ! DC1, Plane X', wire 8 + 22, 4, 9 ! DC1, Plane X', wire 9 + 21, 4, 10 ! DC1, Plane X', wire 10 + 20, 4, 11 ! DC1, Plane X', wire 11 + 19, 4, 12 ! DC1, Plane X', wire 12 + 18, 4, 13 ! DC1, Plane X', wire 13 + 17, 4, 14 ! DC1, Plane X', wire 14 + 16, 4, 15 ! DC1, Plane X', wire 15 + +SLOT=8 +REFCHAN=79 + 47, 4, 16 ! DC1, Plane X', wire 16 + 46, 4, 17 ! DC1, Plane X', wire 17 + 45, 4, 18 ! DC1, Plane X', wire 18 + 44, 4, 19 ! DC1, Plane X', wire 19 + 43, 4, 20 ! DC1, Plane X', wire 20 + 42, 4, 21 ! DC1, Plane X', wire 21 + 41, 4, 22 ! DC1, Plane X', wire 22 + 40, 4, 23 ! DC1, Plane X', wire 23 + 39, 4, 24 ! DC1, Plane X', wire 24 + 38, 4, 25 ! DC1, Plane X', wire 25 + 37, 4, 26 ! DC1, Plane X', wire 26 + 36, 4, 27 ! DC1, Plane X', wire 27 + 35, 4, 28 ! DC1, Plane X', wire 28 + 34, 4, 29 ! DC1, Plane X', wire 29 + 33, 4, 30 ! DC1, Plane X', wire 30 + 32, 4, 31 ! DC1, Plane X', wire 31 + +SLOT=7 +REFCHAN=79 + 0, 4, 32 ! DC1, Plane X', wire 32 + 1, 4, 33 ! DC1, Plane X', wire 33 + 2, 4, 34 ! DC1, Plane X', wire 34 + 3, 4, 35 ! DC1, Plane X', wire 35 + 4, 4, 36 ! DC1, Plane X', wire 36 + 5, 4, 37 ! DC1, Plane X', wire 37 + 6, 4, 38 ! DC1, Plane X', wire 38 + 7, 4, 39 ! DC1, Plane X', wire 39 + 8, 4, 40 ! DC1, Plane X', wire 40 + 9, 4, 41 ! DC1, Plane X', wire 41 + 10, 4, 42 ! DC1, Plane X', wire 42 + 11, 4, 43 ! DC1, Plane X', wire 43 + 12, 4, 44 ! DC1, Plane X', wire 44 + 13, 4, 45 ! DC1, Plane X', wire 45 + 14, 4, 46 ! DC1, Plane X', wire 46 + 15, 4, 47 ! DC1, Plane X', wire 47 + +SLOT=6 +REFCHAN=79 + 96, 4, 48 ! DC1, Plane X', wire 48 + 97, 4, 49 ! DC1, Plane X', wire 49 + 98, 4, 50 ! DC1, Plane X', wire 50 + 99, 4, 51 ! DC1, Plane X', wire 51 + 100, 4, 52 ! DC1, Plane X', wire 52 + 101, 4, 53 ! DC1, Plane X', wire 53 + 102, 4, 54 ! DC1, Plane X', wire 54 + 103, 4, 55 ! DC1, Plane X', wire 55 + 104, 4, 56 ! DC1, Plane X', wire 56 + 105, 4, 57 ! DC1, Plane X', wire 57 + 106, 4, 58 ! DC1, Plane X', wire 58 + 107, 4, 59 ! DC1, Plane X', wire 59 + 108, 4, 60 ! DC1, Plane X', wire 60 + 109, 4, 61 ! DC1, Plane X', wire 61 + 110, 4, 62 ! DC1, Plane X', wire 62 + 111, 4, 63 ! DC1, Plane X', wire 63 + 0, 4, 64 ! DC1, Plane X', wire 64 + 1, 4, 65 ! DC1, Plane X', wire 65 + 2, 4, 66 ! DC1, Plane X', wire 66 + 3, 4, 67 ! DC1, Plane X', wire 67 + 4, 4, 68 ! DC1, Plane X', wire 68 + 5, 4, 69 ! DC1, Plane X', wire 69 + 6, 4, 70 ! DC1, Plane X', wire 70 + 7, 4, 71 ! DC1, Plane X', wire 71 + 8, 4, 72 ! DC1, Plane X', wire 72 + 9, 4, 73 ! DC1, Plane X', wire 73 + 10, 4, 74 ! DC1, Plane X', wire 74 + 11, 4, 75 ! DC1, Plane X', wire 75 + 12, 4, 76 ! DC1, Plane X', wire 76 + 13, 4, 77 ! DC1, Plane X', wire 77 + 14, 4, 78 ! DC1, Plane X', wire 78 + 15, 4, 79 ! DC1, Plane X', wire 79 + +SLOT=14 +REFCHAN=15 + 46, 12, 1 ! DC2, Plane U, wire 1 + 45, 12, 2 ! DC2, Plane U, wire 2 + 44, 12, 3 ! DC2, Plane U, wire 3 + 43, 12, 4 ! DC2, Plane U, wire 4 + 42, 12, 5 ! DC2, Plane U, wire 5 + 41, 12, 6 ! DC2, Plane U, wire 6 + 40, 12, 7 ! DC2, Plane U, wire 7 + 39, 12, 8 ! DC2, Plane U, wire 8 + 38, 12, 9 ! DC2, Plane U, wire 9 + 37, 12, 10 ! DC2, Plane U, wire 10 + 36, 12, 11 ! DC2, Plane U, wire 11 + 35, 12, 12 ! DC2, Plane U, wire 12 + 34, 12, 13 ! DC2, Plane U, wire 13 + 33, 12, 14 ! DC2, Plane U, wire 14 + 32, 12, 15 ! DC2, Plane U, wire 15 + +SLOT=11 +REFCHAN=47 + 127, 12, 16 ! DC2, Plane U, wire 16 + 126, 12, 17 ! DC2, Plane U, wire 17 + 125, 12, 18 ! DC2, Plane U, wire 18 + 124, 12, 19 ! DC2, Plane U, wire 19 + 123, 12, 20 ! DC2, Plane U, wire 20 + 122, 12, 21 ! DC2, Plane U, wire 21 + 121, 12, 22 ! DC2, Plane U, wire 22 + 120, 12, 23 ! DC2, Plane U, wire 23 + 119, 12, 24 ! DC2, Plane U, wire 24 + 118, 12, 25 ! DC2, Plane U, wire 25 + 117, 12, 26 ! DC2, Plane U, wire 26 + 116, 12, 27 ! DC2, Plane U, wire 27 + 115, 12, 28 ! DC2, Plane U, wire 28 + 114, 12, 29 ! DC2, Plane U, wire 29 + 113, 12, 30 ! DC2, Plane U, wire 30 + 112, 12, 31 ! DC2, Plane U, wire 31 + 63, 12, 32 ! DC2, Plane U, wire 32 + 62, 12, 33 ! DC2, Plane U, wire 33 + 61, 12, 34 ! DC2, Plane U, wire 34 + 60, 12, 35 ! DC2, Plane U, wire 35 + 59, 12, 36 ! DC2, Plane U, wire 36 + 58, 12, 37 ! DC2, Plane U, wire 37 + 57, 12, 38 ! DC2, Plane U, wire 38 + 56, 12, 39 ! DC2, Plane U, wire 39 + 55, 12, 40 ! DC2, Plane U, wire 40 + 54, 12, 41 ! DC2, Plane U, wire 41 + 53, 12, 42 ! DC2, Plane U, wire 42 + 52, 12, 43 ! DC2, Plane U, wire 43 + 51, 12, 44 ! DC2, Plane U, wire 44 + 50, 12, 45 ! DC2, Plane U, wire 45 + 49, 12, 46 ! DC2, Plane U, wire 46 + 48, 12, 47 ! DC2, Plane U, wire 47 + +SLOT=10 +REFCHAN=79 + 127, 12, 48 ! DC2, Plane U, wire 48 + 126, 12, 49 ! DC2, Plane U, wire 49 + 125, 12, 50 ! DC2, Plane U, wire 50 + 124, 12, 51 ! DC2, Plane U, wire 51 + 123, 12, 52 ! DC2, Plane U, wire 52 + 122, 12, 53 ! DC2, Plane U, wire 53 + 121, 12, 54 ! DC2, Plane U, wire 54 + 120, 12, 55 ! DC2, Plane U, wire 55 + 119, 12, 56 ! DC2, Plane U, wire 56 + 118, 12, 57 ! DC2, Plane U, wire 57 + 117, 12, 58 ! DC2, Plane U, wire 58 + 116, 12, 59 ! DC2, Plane U, wire 59 + 115, 12, 60 ! DC2, Plane U, wire 60 + 114, 12, 61 ! DC2, Plane U, wire 61 + 113, 12, 62 ! DC2, Plane U, wire 62 + 112, 12, 63 ! DC2, Plane U, wire 63 + +SLOT=13 +REFCHAN=47 + 80, 12, 64 ! DC2, Plane U, wire 64 + 81, 12, 65 ! DC2, Plane U, wire 65 + 82, 12, 66 ! DC2, Plane U, wire 66 + 83, 12, 67 ! DC2, Plane U, wire 67 + 84, 12, 68 ! DC2, Plane U, wire 68 + 85, 12, 69 ! DC2, Plane U, wire 69 + 86, 12, 70 ! DC2, Plane U, wire 70 + 87, 12, 71 ! DC2, Plane U, wire 71 + 88, 12, 72 ! DC2, Plane U, wire 72 + 89, 12, 73 ! DC2, Plane U, wire 73 + 90, 12, 74 ! DC2, Plane U, wire 74 + 91, 12, 75 ! DC2, Plane U, wire 75 + 92, 12, 76 ! DC2, Plane U, wire 76 + 93, 12, 77 ! DC2, Plane U, wire 77 + 94, 12, 78 ! DC2, Plane U, wire 78 + 95, 12, 79 ! DC2, Plane U, wire 79 + 16, 12, 80 ! DC2, Plane U, wire 80 + 17, 12, 81 ! DC2, Plane U, wire 81 + 18, 12, 82 ! DC2, Plane U, wire 82 + 19, 12, 83 ! DC2, Plane U, wire 83 + 20, 12, 84 ! DC2, Plane U, wire 84 + 21, 12, 85 ! DC2, Plane U, wire 85 + 22, 12, 86 ! DC2, Plane U, wire 86 + 23, 12, 87 ! DC2, Plane U, wire 87 + 24, 12, 88 ! DC2, Plane U, wire 88 + 25, 12, 89 ! DC2, Plane U, wire 89 + 26, 12, 90 ! DC2, Plane U, wire 90 + 27, 12, 91 ! DC2, Plane U, wire 91 + 28, 12, 92 ! DC2, Plane U, wire 92 + 29, 12, 93 ! DC2, Plane U, wire 93 + 30, 12, 94 ! DC2, Plane U, wire 94 + 31, 12, 95 ! DC2, Plane U, wire 95 + +SLOT=14 +REFCHAN=15 + 80, 12, 96 ! DC2, Plane U, wire 96 + 81, 12, 97 ! DC2, Plane U, wire 97 + 82, 12, 98 ! DC2, Plane U, wire 98 + 83, 12, 99 ! DC2, Plane U, wire 99 + 84, 12, 100 ! DC2, Plane U, wire 100 + 85, 12, 101 ! DC2, Plane U, wire 101 + 86, 12, 102 ! DC2, Plane U, wire 102 + 87, 12, 103 ! DC2, Plane U, wire 103 + 88, 12, 104 ! DC2, Plane U, wire 104 + 89, 12, 105 ! DC2, Plane U, wire 105 + 90, 12, 106 ! DC2, Plane U, wire 106 + 91, 12, 107 ! DC2, Plane U, wire 107 + +SLOT=13 +REFCHAN=47 + 43, 11, 1 ! DC2, Plane U', wire 1 + 42, 11, 2 ! DC2, Plane U', wire 2 + 41, 11, 3 ! DC2, Plane U', wire 3 + 40, 11, 4 ! DC2, Plane U', wire 4 + 39, 11, 5 ! DC2, Plane U', wire 5 + 38, 11, 6 ! DC2, Plane U', wire 6 + 37, 11, 7 ! DC2, Plane U', wire 7 + 36, 11, 8 ! DC2, Plane U', wire 8 + 35, 11, 9 ! DC2, Plane U', wire 9 + 34, 11, 10 ! DC2, Plane U', wire 10 + 33, 11, 11 ! DC2, Plane U', wire 11 + 32, 11, 12 ! DC2, Plane U', wire 12 + +SLOT=11 +REFCHAN=47 + 95, 11, 13 ! DC2, Plane U', wire 13 + 94, 11, 14 ! DC2, Plane U', wire 14 + 93, 11, 15 ! DC2, Plane U', wire 15 + 92, 11, 16 ! DC2, Plane U', wire 16 + 91, 11, 17 ! DC2, Plane U', wire 17 + 90, 11, 18 ! DC2, Plane U', wire 18 + 89, 11, 19 ! DC2, Plane U', wire 19 + 88, 11, 20 ! DC2, Plane U', wire 20 + 87, 11, 21 ! DC2, Plane U', wire 21 + 86, 11, 22 ! DC2, Plane U', wire 22 + 85, 11, 23 ! DC2, Plane U', wire 23 + 84, 11, 24 ! DC2, Plane U', wire 24 + 83, 11, 25 ! DC2, Plane U', wire 25 + 82, 11, 26 ! DC2, Plane U', wire 26 + 81, 11, 27 ! DC2, Plane U', wire 27 + 80, 11, 28 ! DC2, Plane U', wire 28 + 15, 11, 29 ! DC2, Plane U', wire 29 + 14, 11, 30 ! DC2, Plane U', wire 30 + 13, 11, 31 ! DC2, Plane U', wire 31 + 12, 11, 32 ! DC2, Plane U', wire 32 + 11, 11, 33 ! DC2, Plane U', wire 33 + 10, 11, 34 ! DC2, Plane U', wire 34 + 9, 11, 35 ! DC2, Plane U', wire 35 + 8, 11, 36 ! DC2, Plane U', wire 36 + 7, 11, 37 ! DC2, Plane U', wire 37 + 6, 11, 38 ! DC2, Plane U', wire 38 + 5, 11, 39 ! DC2, Plane U', wire 39 + 4, 11, 40 ! DC2, Plane U', wire 40 + 3, 11, 41 ! DC2, Plane U', wire 41 + 2, 11, 42 ! DC2, Plane U', wire 42 + 1, 11, 43 ! DC2, Plane U', wire 43 + 0, 11, 44 ! DC2, Plane U', wire 44 + +SLOT=13 +REFCHAN=47 + 96, 11, 45 ! DC2, Plane U', wire 45 + 97, 11, 46 ! DC2, Plane U', wire 46 + 98, 11, 47 ! DC2, Plane U', wire 47 + 99, 11, 48 ! DC2, Plane U', wire 48 + 100, 11, 49 ! DC2, Plane U', wire 49 + 101, 11, 50 ! DC2, Plane U', wire 50 + 102, 11, 51 ! DC2, Plane U', wire 51 + 103, 11, 52 ! DC2, Plane U', wire 52 + 104, 11, 53 ! DC2, Plane U', wire 53 + 105, 11, 54 ! DC2, Plane U', wire 54 + 106, 11, 55 ! DC2, Plane U', wire 55 + 107, 11, 56 ! DC2, Plane U', wire 56 + 108, 11, 57 ! DC2, Plane U', wire 57 + 109, 11, 58 ! DC2, Plane U', wire 58 + 110, 11, 59 ! DC2, Plane U', wire 59 + 111, 11, 60 ! DC2, Plane U', wire 60 + 64, 11, 61 ! DC2, Plane U', wire 61 + 65, 11, 62 ! DC2, Plane U', wire 62 + 66, 11, 63 ! DC2, Plane U', wire 63 + 67, 11, 64 ! DC2, Plane U', wire 64 + 68, 11, 65 ! DC2, Plane U', wire 65 + 69, 11, 66 ! DC2, Plane U', wire 66 + 70, 11, 67 ! DC2, Plane U', wire 67 + 71, 11, 68 ! DC2, Plane U', wire 68 + 72, 11, 69 ! DC2, Plane U', wire 69 + 73, 11, 70 ! DC2, Plane U', wire 70 + 74, 11, 71 ! DC2, Plane U', wire 71 + 75, 11, 72 ! DC2, Plane U', wire 72 + 76, 11, 73 ! DC2, Plane U', wire 73 + 77, 11, 74 ! DC2, Plane U', wire 74 + 78, 11, 75 ! DC2, Plane U', wire 75 + 79, 11, 76 ! DC2, Plane U', wire 76 + +SLOT=15 +REFCHAN=47 + 48, 11, 77 ! DC2, Plane U', wire 77 + 49, 11, 78 ! DC2, Plane U', wire 78 + 50, 11, 79 ! DC2, Plane U', wire 79 + 51, 11, 80 ! DC2, Plane U', wire 80 + 52, 11, 81 ! DC2, Plane U', wire 81 + 53, 11, 82 ! DC2, Plane U', wire 82 + 54, 11, 83 ! DC2, Plane U', wire 83 + 55, 11, 84 ! DC2, Plane U', wire 84 + 56, 11, 85 ! DC2, Plane U', wire 85 + 57, 11, 86 ! DC2, Plane U', wire 86 + 58, 11, 87 ! DC2, Plane U', wire 87 + 59, 11, 88 ! DC2, Plane U', wire 88 + 60, 11, 89 ! DC2, Plane U', wire 89 + 61, 11, 90 ! DC2, Plane U', wire 90 + 62, 11, 91 ! DC2, Plane U', wire 91 + 63, 11, 92 ! DC2, Plane U', wire 92 + +SLOT=14 +REFCHAN=15 + 112, 11, 93 ! DC2, Plane U', wire 93 + 113, 11, 94 ! DC2, Plane U', wire 94 + 114, 11, 95 ! DC2, Plane U', wire 95 + 115, 11, 96 ! DC2, Plane U', wire 96 + 116, 11, 97 ! DC2, Plane U', wire 97 + 117, 11, 98 ! DC2, Plane U', wire 98 + 118, 11, 99 ! DC2, Plane U', wire 99 + 119, 11, 100 ! DC2, Plane U', wire 100 + 120, 11, 101 ! DC2, Plane U', wire 101 + 121, 11, 102 ! DC2, Plane U', wire 102 + 122, 11, 103 ! DC2, Plane U', wire 103 + 123, 11, 104 ! DC2, Plane U', wire 104 + 124, 11, 105 ! DC2, Plane U', wire 105 + 125, 11, 106 ! DC2, Plane U', wire 106 + 126, 11, 107 ! DC2, Plane U', wire 107 + 14, 8, 1 ! DC2, Plane V, wire 1 + 13, 8, 2 ! DC2, Plane V, wire 2 + 12, 8, 3 ! DC2, Plane V, wire 3 + 11, 8, 4 ! DC2, Plane V, wire 4 + 10, 8, 5 ! DC2, Plane V, wire 5 + 9, 8, 6 ! DC2, Plane V, wire 6 + 8, 8, 7 ! DC2, Plane V, wire 7 + 7, 8, 8 ! DC2, Plane V, wire 8 + 6, 8, 9 ! DC2, Plane V, wire 9 + 5, 8, 10 ! DC2, Plane V, wire 10 + 4, 8, 11 ! DC2, Plane V, wire 11 + 3, 8, 12 ! DC2, Plane V, wire 12 + 2, 8, 13 ! DC2, Plane V, wire 13 + 1, 8, 14 ! DC2, Plane V, wire 14 + 0, 8, 15 ! DC2, Plane V, wire 15 + +SLOT=12 +REFCHAN=47 + 127, 8, 16 ! DC2, Plane V, wire 16 + 126, 8, 17 ! DC2, Plane V, wire 17 + 125, 8, 18 ! DC2, Plane V, wire 18 + 124, 8, 19 ! DC2, Plane V, wire 19 + 123, 8, 20 ! DC2, Plane V, wire 20 + 122, 8, 21 ! DC2, Plane V, wire 21 + 121, 8, 22 ! DC2, Plane V, wire 22 + 120, 8, 23 ! DC2, Plane V, wire 23 + 119, 8, 24 ! DC2, Plane V, wire 24 + 118, 8, 25 ! DC2, Plane V, wire 25 + 117, 8, 26 ! DC2, Plane V, wire 26 + 116, 8, 27 ! DC2, Plane V, wire 27 + 115, 8, 28 ! DC2, Plane V, wire 28 + 114, 8, 29 ! DC2, Plane V, wire 29 + 113, 8, 30 ! DC2, Plane V, wire 30 + 112, 8, 31 ! DC2, Plane V, wire 31 + +SLOT=14 +REFCHAN=15 + 111, 8, 32 ! DC2, Plane V, wire 32 + 110, 8, 33 ! DC2, Plane V, wire 33 + 109, 8, 34 ! DC2, Plane V, wire 34 + 108, 8, 35 ! DC2, Plane V, wire 35 + 107, 8, 36 ! DC2, Plane V, wire 36 + 106, 8, 37 ! DC2, Plane V, wire 37 + 105, 8, 38 ! DC2, Plane V, wire 38 + 104, 8, 39 ! DC2, Plane V, wire 39 + 103, 8, 40 ! DC2, Plane V, wire 40 + 102, 8, 41 ! DC2, Plane V, wire 41 + 101, 8, 42 ! DC2, Plane V, wire 42 + 100, 8, 43 ! DC2, Plane V, wire 43 + 99, 8, 44 ! DC2, Plane V, wire 44 + 98, 8, 45 ! DC2, Plane V, wire 45 + 97, 8, 46 ! DC2, Plane V, wire 46 + 96, 8, 47 ! DC2, Plane V, wire 47 + 31, 8, 48 ! DC2, Plane V, wire 48 + 30, 8, 49 ! DC2, Plane V, wire 49 + 29, 8, 50 ! DC2, Plane V, wire 50 + 28, 8, 51 ! DC2, Plane V, wire 51 + 27, 8, 52 ! DC2, Plane V, wire 52 + 26, 8, 53 ! DC2, Plane V, wire 53 + 25, 8, 54 ! DC2, Plane V, wire 54 + 24, 8, 55 ! DC2, Plane V, wire 55 + 23, 8, 56 ! DC2, Plane V, wire 56 + 22, 8, 57 ! DC2, Plane V, wire 57 + 21, 8, 58 ! DC2, Plane V, wire 58 + 20, 8, 59 ! DC2, Plane V, wire 59 + 19, 8, 60 ! DC2, Plane V, wire 60 + 18, 8, 61 ! DC2, Plane V, wire 61 + 17, 8, 62 ! DC2, Plane V, wire 62 + 16, 8, 63 ! DC2, Plane V, wire 63 + +SLOT=12 +REFCHAN=47 + 0, 8, 64 ! DC2, Plane V, wire 64 + 1, 8, 65 ! DC2, Plane V, wire 65 + 2, 8, 66 ! DC2, Plane V, wire 66 + 3, 8, 67 ! DC2, Plane V, wire 67 + 4, 8, 68 ! DC2, Plane V, wire 68 + 5, 8, 69 ! DC2, Plane V, wire 69 + 6, 8, 70 ! DC2, Plane V, wire 70 + 7, 8, 71 ! DC2, Plane V, wire 71 + 8, 8, 72 ! DC2, Plane V, wire 72 + 9, 8, 73 ! DC2, Plane V, wire 73 + 10, 8, 74 ! DC2, Plane V, wire 74 + 11, 8, 75 ! DC2, Plane V, wire 75 + 12, 8, 76 ! DC2, Plane V, wire 76 + 13, 8, 77 ! DC2, Plane V, wire 77 + 14, 8, 78 ! DC2, Plane V, wire 78 + 15, 8, 79 ! DC2, Plane V, wire 79 + 64, 8, 80 ! DC2, Plane V, wire 80 + 65, 8, 81 ! DC2, Plane V, wire 81 + 66, 8, 82 ! DC2, Plane V, wire 82 + 67, 8, 83 ! DC2, Plane V, wire 83 + 68, 8, 84 ! DC2, Plane V, wire 84 + 69, 8, 85 ! DC2, Plane V, wire 85 + 70, 8, 86 ! DC2, Plane V, wire 86 + 71, 8, 87 ! DC2, Plane V, wire 87 + 72, 8, 88 ! DC2, Plane V, wire 88 + 73, 8, 89 ! DC2, Plane V, wire 89 + 74, 8, 90 ! DC2, Plane V, wire 90 + 75, 8, 91 ! DC2, Plane V, wire 91 + 76, 8, 92 ! DC2, Plane V, wire 92 + 77, 8, 93 ! DC2, Plane V, wire 93 + 78, 8, 94 ! DC2, Plane V, wire 94 + 79, 8, 95 ! DC2, Plane V, wire 95 + 32, 8, 96 ! DC2, Plane V, wire 96 + 33, 8, 97 ! DC2, Plane V, wire 97 + 34, 8, 98 ! DC2, Plane V, wire 98 + 35, 8, 99 ! DC2, Plane V, wire 99 + 36, 8, 100 ! DC2, Plane V, wire 100 + 37, 8, 101 ! DC2, Plane V, wire 101 + 38, 8, 102 ! DC2, Plane V, wire 102 + 39, 8, 103 ! DC2, Plane V, wire 103 + 40, 8, 104 ! DC2, Plane V, wire 104 + 41, 8, 105 ! DC2, Plane V, wire 105 + 42, 8, 106 ! DC2, Plane V, wire 106 + 43, 8, 107 ! DC2, Plane V, wire 107 + +SLOT=15 +REFCHAN=47 + 43, 7, 1 ! DC2, Plane V', wire 1 + 42, 7, 2 ! DC2, Plane V', wire 2 + 41, 7, 3 ! DC2, Plane V', wire 3 + 40, 7, 4 ! DC2, Plane V', wire 4 + 39, 7, 5 ! DC2, Plane V', wire 5 + 38, 7, 6 ! DC2, Plane V', wire 6 + 37, 7, 7 ! DC2, Plane V', wire 7 + 36, 7, 8 ! DC2, Plane V', wire 8 + 35, 7, 9 ! DC2, Plane V', wire 9 + 34, 7, 10 ! DC2, Plane V', wire 10 + 33, 7, 11 ! DC2, Plane V', wire 11 + 32, 7, 12 ! DC2, Plane V', wire 12 + 15, 7, 13 ! DC2, Plane V', wire 13 + 14, 7, 14 ! DC2, Plane V', wire 14 + 13, 7, 15 ! DC2, Plane V', wire 15 + 12, 7, 16 ! DC2, Plane V', wire 16 + 11, 7, 17 ! DC2, Plane V', wire 17 + 10, 7, 18 ! DC2, Plane V', wire 18 + 9, 7, 19 ! DC2, Plane V', wire 19 + 8, 7, 20 ! DC2, Plane V', wire 20 + 7, 7, 21 ! DC2, Plane V', wire 21 + 6, 7, 22 ! DC2, Plane V', wire 22 + 5, 7, 23 ! DC2, Plane V', wire 23 + 4, 7, 24 ! DC2, Plane V', wire 24 + 3, 7, 25 ! DC2, Plane V', wire 25 + 2, 7, 26 ! DC2, Plane V', wire 26 + 1, 7, 27 ! DC2, Plane V', wire 27 + 0, 7, 28 ! DC2, Plane V', wire 28 + +SLOT=14 +REFCHAN=15 + 79, 7, 29 ! DC2, Plane V', wire 29 + 78, 7, 30 ! DC2, Plane V', wire 30 + 77, 7, 31 ! DC2, Plane V', wire 31 + 76, 7, 32 ! DC2, Plane V', wire 32 + 75, 7, 33 ! DC2, Plane V', wire 33 + 74, 7, 34 ! DC2, Plane V', wire 34 + 73, 7, 35 ! DC2, Plane V', wire 35 + 72, 7, 36 ! DC2, Plane V', wire 36 + 71, 7, 37 ! DC2, Plane V', wire 37 + 70, 7, 38 ! DC2, Plane V', wire 38 + 69, 7, 39 ! DC2, Plane V', wire 39 + 68, 7, 40 ! DC2, Plane V', wire 40 + 67, 7, 41 ! DC2, Plane V', wire 41 + 66, 7, 42 ! DC2, Plane V', wire 42 + 65, 7, 43 ! DC2, Plane V', wire 43 + 64, 7, 44 ! DC2, Plane V', wire 44 + +SLOT=13 +REFCHAN=47 + 48, 7, 45 ! DC2, Plane V', wire 45 + 49, 7, 46 ! DC2, Plane V', wire 46 + 50, 7, 47 ! DC2, Plane V', wire 47 + 51, 7, 48 ! DC2, Plane V', wire 48 + 52, 7, 49 ! DC2, Plane V', wire 49 + 53, 7, 50 ! DC2, Plane V', wire 50 + 54, 7, 51 ! DC2, Plane V', wire 51 + 55, 7, 52 ! DC2, Plane V', wire 52 + 56, 7, 53 ! DC2, Plane V', wire 53 + 57, 7, 54 ! DC2, Plane V', wire 54 + 58, 7, 55 ! DC2, Plane V', wire 55 + 59, 7, 56 ! DC2, Plane V', wire 56 + 60, 7, 57 ! DC2, Plane V', wire 57 + 61, 7, 58 ! DC2, Plane V', wire 58 + 62, 7, 59 ! DC2, Plane V', wire 59 + 63, 7, 60 ! DC2, Plane V', wire 60 + +SLOT=12 +REFCHAN=47 + 80, 7, 61 ! DC2, Plane V', wire 61 + 81, 7, 62 ! DC2, Plane V', wire 62 + 82, 7, 63 ! DC2, Plane V', wire 63 + 83, 7, 64 ! DC2, Plane V', wire 64 + 84, 7, 65 ! DC2, Plane V', wire 65 + 85, 7, 66 ! DC2, Plane V', wire 66 + 86, 7, 67 ! DC2, Plane V', wire 67 + 87, 7, 68 ! DC2, Plane V', wire 68 + 88, 7, 69 ! DC2, Plane V', wire 69 + 89, 7, 70 ! DC2, Plane V', wire 70 + 90, 7, 71 ! DC2, Plane V', wire 71 + 91, 7, 72 ! DC2, Plane V', wire 72 + 92, 7, 73 ! DC2, Plane V', wire 73 + 93, 7, 74 ! DC2, Plane V', wire 74 + 94, 7, 75 ! DC2, Plane V', wire 75 + 95, 7, 76 ! DC2, Plane V', wire 76 + 48, 7, 77 ! DC2, Plane V', wire 77 + 49, 7, 78 ! DC2, Plane V', wire 78 + 50, 7, 79 ! DC2, Plane V', wire 79 + 51, 7, 80 ! DC2, Plane V', wire 80 + 52, 7, 81 ! DC2, Plane V', wire 81 + 53, 7, 82 ! DC2, Plane V', wire 82 + 54, 7, 83 ! DC2, Plane V', wire 83 + 55, 7, 84 ! DC2, Plane V', wire 84 + 56, 7, 85 ! DC2, Plane V', wire 85 + 57, 7, 86 ! DC2, Plane V', wire 86 + 58, 7, 87 ! DC2, Plane V', wire 87 + 59, 7, 88 ! DC2, Plane V', wire 88 + 60, 7, 89 ! DC2, Plane V', wire 89 + 61, 7, 90 ! DC2, Plane V', wire 90 + 62, 7, 91 ! DC2, Plane V', wire 91 + 63, 7, 92 ! DC2, Plane V', wire 92 + +SLOT=11 +REFCHAN=47 + 32, 7, 93 ! DC2, Plane V', wire 93 + 33, 7, 94 ! DC2, Plane V', wire 94 + 34, 7, 95 ! DC2, Plane V', wire 95 + 35, 7, 96 ! DC2, Plane V', wire 96 + 36, 7, 97 ! DC2, Plane V', wire 97 + 37, 7, 98 ! DC2, Plane V', wire 98 + 38, 7, 99 ! DC2, Plane V', wire 99 + 39, 7, 100 ! DC2, Plane V', wire 100 + 40, 7, 101 ! DC2, Plane V', wire 101 + 41, 7, 102 ! DC2, Plane V', wire 102 + 42, 7, 103 ! DC2, Plane V', wire 103 + 43, 7, 104 ! DC2, Plane V', wire 104 + 44, 7, 105 ! DC2, Plane V', wire 105 + 45, 7, 106 ! DC2, Plane V', wire 106 + 46, 7, 107 ! DC2, Plane V', wire 107 + +SLOT=12 +REFCHAN=47 + 111, 10, 1 ! DC2, Plane X, wire 1 + 110, 10, 2 ! DC2, Plane X, wire 2 + 109, 10, 3 ! DC2, Plane X, wire 3 + 108, 10, 4 ! DC2, Plane X, wire 4 + 107, 10, 5 ! DC2, Plane X, wire 5 + 106, 10, 6 ! DC2, Plane X, wire 6 + 105, 10, 7 ! DC2, Plane X, wire 7 + 104, 10, 8 ! DC2, Plane X, wire 8 + 103, 10, 9 ! DC2, Plane X, wire 9 + 102, 10, 10 ! DC2, Plane X, wire 10 + 101, 10, 11 ! DC2, Plane X, wire 11 + 100, 10, 12 ! DC2, Plane X, wire 12 + 99, 10, 13 ! DC2, Plane X, wire 13 + 98, 10, 14 ! DC2, Plane X, wire 14 + 97, 10, 15 ! DC2, Plane X, wire 15 + 96, 10, 16 ! DC2, Plane X, wire 16 + 31, 10, 17 ! DC2, Plane X, wire 17 + 30, 10, 18 ! DC2, Plane X, wire 18 + 29, 10, 19 ! DC2, Plane X, wire 19 + 28, 10, 20 ! DC2, Plane X, wire 20 + 27, 10, 21 ! DC2, Plane X, wire 21 + 26, 10, 22 ! DC2, Plane X, wire 22 + 25, 10, 23 ! DC2, Plane X, wire 23 + 24, 10, 24 ! DC2, Plane X, wire 24 + 23, 10, 25 ! DC2, Plane X, wire 25 + 22, 10, 26 ! DC2, Plane X, wire 26 + 21, 10, 27 ! DC2, Plane X, wire 27 + 20, 10, 28 ! DC2, Plane X, wire 28 + 19, 10, 29 ! DC2, Plane X, wire 29 + 18, 10, 30 ! DC2, Plane X, wire 30 + 17, 10, 31 ! DC2, Plane X, wire 31 + 16, 10, 32 ! DC2, Plane X, wire 32 + +SLOT=11 +REFCHAN=47 + 31, 10, 33 ! DC2, Plane X, wire 33 + 30, 10, 34 ! DC2, Plane X, wire 34 + 29, 10, 35 ! DC2, Plane X, wire 35 + 28, 10, 36 ! DC2, Plane X, wire 36 + 27, 10, 37 ! DC2, Plane X, wire 37 + 26, 10, 38 ! DC2, Plane X, wire 38 + 25, 10, 39 ! DC2, Plane X, wire 39 + 24, 10, 40 ! DC2, Plane X, wire 40 + 23, 10, 41 ! DC2, Plane X, wire 41 + 22, 10, 42 ! DC2, Plane X, wire 42 + 21, 10, 43 ! DC2, Plane X, wire 43 + 20, 10, 44 ! DC2, Plane X, wire 44 + 19, 10, 45 ! DC2, Plane X, wire 45 + 18, 10, 46 ! DC2, Plane X, wire 46 + 17, 10, 47 ! DC2, Plane X, wire 47 + 16, 10, 48 ! DC2, Plane X, wire 48 + +SLOT=15 +REFCHAN=47 + 16, 10, 49 ! DC2, Plane X, wire 49 + 17, 10, 50 ! DC2, Plane X, wire 50 + 18, 10, 51 ! DC2, Plane X, wire 51 + 19, 10, 52 ! DC2, Plane X, wire 52 + 20, 10, 53 ! DC2, Plane X, wire 53 + 21, 10, 54 ! DC2, Plane X, wire 54 + 22, 10, 55 ! DC2, Plane X, wire 55 + 23, 10, 56 ! DC2, Plane X, wire 56 + 24, 10, 57 ! DC2, Plane X, wire 57 + 25, 10, 58 ! DC2, Plane X, wire 58 + 26, 10, 59 ! DC2, Plane X, wire 59 + 27, 10, 60 ! DC2, Plane X, wire 60 + 28, 10, 61 ! DC2, Plane X, wire 61 + 29, 10, 62 ! DC2, Plane X, wire 62 + 30, 10, 63 ! DC2, Plane X, wire 63 + 31, 10, 64 ! DC2, Plane X, wire 64 + +SLOT=14 +REFCHAN=15 + 48, 10, 65 ! DC2, Plane X, wire 65 + 49, 10, 66 ! DC2, Plane X, wire 66 + 50, 10, 67 ! DC2, Plane X, wire 67 + 51, 10, 68 ! DC2, Plane X, wire 68 + 52, 10, 69 ! DC2, Plane X, wire 69 + 53, 10, 70 ! DC2, Plane X, wire 70 + 54, 10, 71 ! DC2, Plane X, wire 71 + 55, 10, 72 ! DC2, Plane X, wire 72 + 56, 10, 73 ! DC2, Plane X, wire 73 + 57, 10, 74 ! DC2, Plane X, wire 74 + 58, 10, 75 ! DC2, Plane X, wire 75 + 59, 10, 76 ! DC2, Plane X, wire 76 + 60, 10, 77 ! DC2, Plane X, wire 77 + 61, 10, 78 ! DC2, Plane X, wire 78 + 62, 10, 79 ! DC2, Plane X, wire 79 + +SLOT=13 +REFCHAN=47 + 126, 9, 1 ! DC2, Plane X', wire 1 + 125, 9, 2 ! DC2, Plane X', wire 2 + 124, 9, 3 ! DC2, Plane X', wire 3 + 123, 9, 4 ! DC2, Plane X', wire 4 + 122, 9, 5 ! DC2, Plane X', wire 5 + 121, 9, 6 ! DC2, Plane X', wire 6 + 120, 9, 7 ! DC2, Plane X', wire 7 + 119, 9, 8 ! DC2, Plane X', wire 8 + 118, 9, 9 ! DC2, Plane X', wire 9 + 117, 9, 10 ! DC2, Plane X', wire 10 + 116, 9, 11 ! DC2, Plane X', wire 11 + 115, 9, 12 ! DC2, Plane X', wire 12 + 114, 9, 13 ! DC2, Plane X', wire 13 + 113, 9, 14 ! DC2, Plane X', wire 14 + 112, 9, 15 ! DC2, Plane X', wire 15 + 15, 9, 16 ! DC2, Plane X', wire 16 + 14, 9, 17 ! DC2, Plane X', wire 17 + 13, 9, 18 ! DC2, Plane X', wire 18 + 12, 9, 19 ! DC2, Plane X', wire 19 + 11, 9, 20 ! DC2, Plane X', wire 20 + 10, 9, 21 ! DC2, Plane X', wire 21 + 9, 9, 22 ! DC2, Plane X', wire 22 + 8, 9, 23 ! DC2, Plane X', wire 23 + 7, 9, 24 ! DC2, Plane X', wire 24 + 6, 9, 25 ! DC2, Plane X', wire 25 + 5, 9, 26 ! DC2, Plane X', wire 26 + 4, 9, 27 ! DC2, Plane X', wire 27 + 3, 9, 28 ! DC2, Plane X', wire 28 + 2, 9, 29 ! DC2, Plane X', wire 29 + 1, 9, 30 ! DC2, Plane X', wire 30 + 0, 9, 31 ! DC2, Plane X', wire 31 + +SLOT=11 +REFCHAN=47 + 96, 9, 32 ! DC2, Plane X', wire 32 + 97, 9, 33 ! DC2, Plane X', wire 33 + 98, 9, 34 ! DC2, Plane X', wire 34 + 99, 9, 35 ! DC2, Plane X', wire 35 + 100, 9, 36 ! DC2, Plane X', wire 36 + 101, 9, 37 ! DC2, Plane X', wire 37 + 102, 9, 38 ! DC2, Plane X', wire 38 + 103, 9, 39 ! DC2, Plane X', wire 39 + 104, 9, 40 ! DC2, Plane X', wire 40 + 105, 9, 41 ! DC2, Plane X', wire 41 + 106, 9, 42 ! DC2, Plane X', wire 42 + 107, 9, 43 ! DC2, Plane X', wire 43 + 108, 9, 44 ! DC2, Plane X', wire 44 + 109, 9, 45 ! DC2, Plane X', wire 45 + 110, 9, 46 ! DC2, Plane X', wire 46 + 111, 9, 47 ! DC2, Plane X', wire 47 + 64, 9, 48 ! DC2, Plane X', wire 48 + 65, 9, 49 ! DC2, Plane X', wire 49 + 66, 9, 50 ! DC2, Plane X', wire 50 + 67, 9, 51 ! DC2, Plane X', wire 51 + 68, 9, 52 ! DC2, Plane X', wire 52 + 69, 9, 53 ! DC2, Plane X', wire 53 + 70, 9, 54 ! DC2, Plane X', wire 54 + 71, 9, 55 ! DC2, Plane X', wire 55 + 72, 9, 56 ! DC2, Plane X', wire 56 + 73, 9, 57 ! DC2, Plane X', wire 57 + 74, 9, 58 ! DC2, Plane X', wire 58 + 75, 9, 59 ! DC2, Plane X', wire 59 + 76, 9, 60 ! DC2, Plane X', wire 60 + 77, 9, 61 ! DC2, Plane X', wire 61 + 78, 9, 62 ! DC2, Plane X', wire 62 + 79, 9, 63 ! DC2, Plane X', wire 63 + +SLOT=10 +REFCHAN=79 + 96, 9, 64 ! DC2, Plane X', wire 64 + 97, 9, 65 ! DC2, Plane X', wire 65 + 98, 9, 66 ! DC2, Plane X', wire 66 + 99, 9, 67 ! DC2, Plane X', wire 67 + 100, 9, 68 ! DC2, Plane X', wire 68 + 101, 9, 69 ! DC2, Plane X', wire 69 + 102, 9, 70 ! DC2, Plane X', wire 70 + 103, 9, 71 ! DC2, Plane X', wire 71 + 104, 9, 72 ! DC2, Plane X', wire 72 + 105, 9, 73 ! DC2, Plane X', wire 73 + 106, 9, 74 ! DC2, Plane X', wire 74 + 107, 9, 75 ! DC2, Plane X', wire 75 + 108, 9, 76 ! DC2, Plane X', wire 76 + 109, 9, 77 ! DC2, Plane X', wire 77 + 110, 9, 78 ! DC2, Plane X', wire 78 + 111, 9, 79 ! DC2, Plane X', wire 79 + + +DETECTOR=23 + +ROC=2 + +SLOT=3 + 0, 1, 1, 0 ! p1x01A+ + 1, 1, 2, 0 ! p1x02A+ + 2, 1, 3, 0 ! p1x03A+ + 3, 1, 4, 0 ! p1x04A+ + 4, 1, 5, 0 ! p1x05A+ + 5, 1, 6, 0 ! p1x06A+ + 6, 1, 7, 0 ! p1x07A+ + 7, 1, 8, 0 ! p1x08A+ + 8, 1, 9, 0 ! p1x09A+ + 9, 1, 10, 0 ! p1x10A+ + 10, 1, 11, 0 ! p1x11A+ + 11, 1, 12, 0 ! p1x12A+ + 12, 1, 13, 0 ! p1x13A+ + 13, 1, 1, 1 ! p1x01A- + 14, 1, 2, 1 ! p1x02A- + 15, 1, 3, 1 ! p1x03A- + +SLOT=4 + 0, 1, 4, 1 ! p1x04A- + 1, 1, 5, 1 ! p1x05A- + 2, 1, 6, 1 ! p1x06A- + 3, 1, 7, 1 ! p1x07A- + 4, 1, 8, 1 ! p1x08A- + 5, 1, 9, 1 ! p1x09A- + 6, 1, 10, 1 ! p1x10A- + 7, 1, 11, 1 ! p1x11A- + 8, 1, 12, 1 ! p1x12A- + 9, 1, 13, 1 ! p1x13A- + 10, 2, 1, 1 ! p1y01A- + 11, 2, 2, 1 ! p1y02A- + 12, 2, 3, 1 ! p1y03A- + 13, 2, 4, 1 ! p1y04A- + 14, 2, 5, 1 ! p1y05A- + 15, 2, 6, 1 ! p1y06A- + +SLOT=5 + 0, 2, 7, 1 ! p1y07A- + 1, 2, 8, 1 ! p1y08A- + 2, 2, 9, 1 ! p1y09A- + 3, 2, 10, 1 ! p1y10A- + 4, 2, 11, 1 ! p1y11A- + 5, 2, 12, 1 ! p1y12A- + 6, 2, 13, 1 ! p1y13A- + 7, 2, 1, 0 ! p1y01A+ + 8, 2, 2, 0 ! p1y02A+ + 9, 2, 3, 0 ! p1y03A+ + 10, 2, 4, 0 ! p1y04A+ + 11, 2, 5, 0 ! p1y05A+ + 12, 2, 6, 0 ! p1y06A+ + 13, 2, 7, 0 ! p1y07A+ + 14, 2, 8, 0 ! p1y08A+ + 15, 2, 9, 0 ! p1y09A+ + +SLOT=6 + 0, 2, 10, 0 ! p1y10A+ + 1, 2, 11, 0 ! p1y11A+ + 2, 2, 12, 0 ! p1y12A+ + 3, 2, 13, 0 ! p1y13A+ + 4, 3, 1, 0 ! p2x01A+ + 5, 3, 2, 0 ! p2x02A+ + 6, 3, 3, 0 ! p2x03A+ + 7, 3, 4, 0 ! p2x04A+ + 8, 3, 5, 0 ! p2x05A+ + 9, 3, 6, 0 ! p2x06A+ + 10, 3, 7, 0 ! p2x07A+ + 11, 3, 8, 0 ! p2x08A+ + 12, 3, 9, 0 ! p2x09A+ + 13, 3, 10, 0 ! p2x10A+ + 14, 3, 11, 0 ! p2x11A+ + 15, 3, 12, 0 ! p2x12A+ + +SLOT=7 + 0, 3, 13, 0 ! p2x13A+ + 1, 3, 14, 0 ! p2x14A+ + 2, 3, 1, 1 ! p2x01A- + 3, 3, 2, 1 ! p2x02A- + 4, 3, 3, 1 ! p2x03A- + 5, 3, 4, 1 ! p2x04A- + 6, 3, 5, 1 ! p2x05A- + 7, 3, 6, 1 ! p2x06A- + 8, 3, 7, 1 ! p2x07A- + 9, 3, 8, 1 ! p2x08A- + 10, 3, 9, 1 ! p2x09A- + 11, 3, 10, 1 ! p2x10A- + 12, 3, 11, 1 ! p2x11A- + 13, 3, 12, 1 ! p2x12A- + 14, 3, 13, 1 ! p2x13A- + 15, 3, 14, 1 ! p2x14A- + +SLOT=8 + 0, 4, 1, 1 ! p2y01A- + 1, 4, 2, 1 ! p2y02A- + 2, 4, 3, 1 ! p2y03A- + 3, 4, 4, 1 ! p2y04A- + 4, 4, 5, 1 ! p2y05A- + 5, 4, 6, 1 ! p2y06A- + 6, 4, 7, 1 ! p2y07A- + 7, 4, 8, 1 ! p2y08A- + 8, 4, 9, 1 ! p2y09A- + 9, 4, 10, 1 ! p2y10A- + 10, 4, 11, 1 ! p2y11A- + 11, 4, 12, 1 ! p2y12A- + 12, 4, 13, 1 ! p2y13A- + 13, 4, 14, 1 ! p2y14A- + 14, 4, 15, 1 ! p2y15A- + 15, 4, 16, 1 ! p2y16A- + +SLOT=9 + 0, 4, 17, 1 ! p2y17A- + 1, 4, 18, 1 ! p2y18A- + 2, 4, 19, 1 ! p2y19A- + 3, 4, 20, 1 ! p2y20A- + 4, 4, 21, 1 ! p2y21A- + 5, 4, 1, 0 ! p2y01A+ + 6, 4, 2, 0 ! p2y02A+ + 7, 4, 3, 0 ! p2y03A+ + 8, 4, 4, 0 ! p2y04A+ + 9, 4, 5, 0 ! p2y05A+ + 10, 4, 6, 0 ! p2y06A+ + 11, 4, 7, 0 ! p2y07A+ + 12, 4, 8, 0 ! p2y08A+ + 13, 4, 9, 0 ! p2y09A+ + 14, 4, 10, 0 ! p2y10A+ + 15, 4, 11, 0 ! p2y11A+ + +SLOT=10 + 0, 4, 12, 0 ! p2y12A+ + 1, 4, 13, 0 ! p2y13A+ + 2, 4, 14, 0 ! p2y14A+ + 3, 4, 15, 0 ! p2y15A+ + 4, 4, 16, 0 ! p2y16A+ + 5, 4, 17, 0 ! p2y17A+ + 6, 4, 18, 0 ! p2y18A+ + 7, 4, 19, 0 ! p2y19A+ + 8, 4, 20, 0 ! p2y20A+ + 9, 4, 21, 0 ! p2y21A+ + +SLOT=20 +REFINDEX=0 + 15,1000, 0, 0 + 0, 1, 1, 2 ! p1x01T+ + 1, 1, 3, 2 ! p1x03T+ + 2, 1, 5, 2 ! p1x05T+ + 3, 1, 7, 2 ! p1x07T+ + 4, 1, 2, 2 ! p1x02T+ + 5, 1, 4, 2 ! p1x04T+ + 6, 1, 6, 2 ! p1x06T+ + 7, 1, 8, 2 ! p1x08T+ + 8, 1, 9, 2 ! p1x09T+ + 9, 1, 11, 2 ! p1x11T+ + 10, 1, 13, 2 ! p1x13T+ + 12, 1, 10, 2 ! p1x10T+ + 13, 1, 12, 2 ! p1x12T+ + 16, 1, 1, 3 ! p1x01T- + 17, 1, 3, 3 ! p1x03T- + 18, 1, 5, 3 ! p1x05T- + 19, 1, 7, 3 ! p1x07T- + 20, 1, 2, 3 ! p1x02T- + 21, 1, 4, 3 ! p1x04T- + 22, 1, 6, 3 ! p1x06T- + 23, 1, 8, 3 ! p1x08T- + 24, 1, 9, 3 ! p1x09T- + 25, 1, 11, 3 ! p1x11T- + 26, 1, 13, 3 ! p1x13T- + 28, 1, 10, 3 ! p1x10T- + 30, 1, 12, 3 ! p1x12T- + 32, 2, 1, 3 ! p1y01T- + 33, 2, 3, 3 ! p1y03T- + 34, 2, 5, 3 ! p1y05T- + 35, 2, 7, 3 ! p1y07T- + 36, 2, 2, 3 ! p1y02T- + 37, 2, 4, 3 ! p1y04T- + 38, 2, 6, 3 ! p1y06T- + 39, 2, 8, 3 ! p1y08T- + 40, 2, 9, 3 ! p1y09T- + 41, 2, 11, 3 ! p1y11T- + 42, 2, 13, 3 ! p1y13T- + 44, 2, 10, 3 ! p1y10T- + 45, 2, 12, 3 ! p1y12T- + 48, 2, 1, 2 ! p1y01T+ + 49, 2, 3, 2 ! p1y03T+ + 50, 2, 5, 2 ! p1y05T+ + 51, 2, 7, 2 ! p1y07T+ + 52, 2, 2, 2 ! p1y02T+ + 53, 2, 4, 2 ! p1y04T+ + 54, 2, 6, 2 ! p1y06T+ + 55, 2, 8, 2 ! p1y08T+ + 56, 2, 9, 2 ! p1y09T+ + 57, 2, 11, 2 ! p1y11T+ + 58, 2, 13, 2 ! p1y13T+ + 60, 2, 10, 2 ! p1y10T+ + 61, 2, 12, 2 ! p1y12T+ + 64, 3, 1, 2 ! p2x01T+ + 65, 3, 3, 2 ! p2x03T+ + 66, 3, 5, 2 ! p2x05T+ + 67, 3, 7, 2 ! p2x07T+ + 68, 3, 2, 2 ! p2x02T+ + 69, 3, 4, 2 ! p2x04T+ + 70, 3, 6, 2 ! p2x06T+ + 71, 3, 8, 2 ! p2x08T+ + 72, 3, 9, 2 ! p2x09T+ + 73, 3, 11, 2 ! p2x11T+ + 74, 3, 13, 2 ! p2x13T+ + 76, 3, 10, 2 ! p2x10T+ + 77, 3, 12, 2 ! p2x12T+ + 78, 3, 14, 2 ! p2x14T+ + 80, 3, 1, 3 ! p2x01T- + 81, 3, 3, 3 ! p2x03T- + 82, 3, 5, 3 ! p2x05T- + 83, 3, 7, 3 ! p2x07T- + 84, 3, 2, 3 ! p2x02T- + 85, 3, 4, 3 ! p2x04T- + 86, 3, 6, 3 ! p2x06T- + 87, 3, 8, 3 ! p2x08T- + 88, 3, 9, 3 ! p2x09T- + 89, 3, 11, 3 ! p2x11T- + 90, 3, 13, 3 ! p2x13T- + 92, 3, 10, 3 ! p2x10T- + 93, 3, 12, 3 ! p2x12T- + 94, 3, 14, 3 ! p2x14T- + 96, 4, 1, 3 ! p2y01T- + 97, 4, 3, 3 ! p2y03T- + 98, 4, 5, 3 ! p2y05T- + 99, 4, 7, 3 ! p2y07T- + 100, 4, 2, 3 ! p2y02T- + 101, 4, 4, 3 ! p2y04T- + 102, 4, 6, 3 ! p2y06T- + 103, 4, 8, 3 ! p2y08T- + 104, 4, 9, 3 ! p2y09T- + 105, 4, 11, 3 ! p2y11T- + 106, 4, 13, 3 ! p2y13T- + 107, 4, 15, 3 ! p2y15T- + 108, 4, 10, 3 ! p2y10T- + 109, 4, 12, 3 ! p2y12T- + 110, 4, 14, 3 ! p2y14T- + 111, 4, 16, 3 ! p2y16T- + 112, 4, 17, 3 ! p2y17T- + 113, 4, 19, 3 ! p2y19T- + 114, 4, 21, 3 ! p2y21T- + 116, 4, 18, 3 ! p2y18T- + 117, 4, 20, 3 ! p2y20T- + +SLOT=19 +REFINDEX=0 + 31,1000, 0, 1 + 0, 4, 1, 2 ! p2y01T+ + 1, 4, 3, 2 ! p2y03T+ + 2, 4, 5, 2 ! p2y05T+ + 3, 4, 7, 2 ! p2y07T+ + 4, 4, 2, 2 ! p2y02T+ + 5, 4, 4, 2 ! p2y04T+ + 6, 4, 6, 2 ! p2y06T+ + 7, 4, 8, 2 ! p2y08T+ + 8, 4, 9, 2 ! p2y09T+ + 9, 4, 11, 2 ! p2y11T+ + 10, 4, 13, 2 ! p2y13T+ + 11, 4, 15, 2 ! p2y15T+ + 12, 4, 10, 2 ! p2y10T+ + 13, 4, 12, 2 ! p2y12T+ + 14, 4, 14, 2 ! p2y14T+ + 15, 4, 16, 2 ! p2y16T+ + 16, 4, 17, 2 ! p2y17T+ + 17, 4, 19, 2 ! p2y19T+ + 18, 4, 21, 2 ! p2y21T+ + 20, 4, 18, 2 ! p2y18T+ + 21, 4, 20, 2 ! p2y20T+ + + +DETECTOR=24 + +ROC=2 + +SLOT=13 + 8, 1, 1, 0 ! pHGCER01 + 9, 1, 2, 0 ! pHGCER02 + 10, 1, 3, 0 ! pHGCER03 + 11, 1, 4, 0 ! pHGCER04 + + +DETECTOR=25 + +ROC=2 + +SLOT=10 + 10, 1, 1, 0 ! pAER01+ + 11, 1, 2, 0 ! pAER02+ + 12, 1, 3, 0 ! pAER03+ + 13, 1, 4, 0 ! pAER04+ + 14, 1, 5, 0 ! pAER05+ + 15, 1, 6, 0 ! pAER06+ + +SLOT=13 + 0, 1, 7, 0 ! pAER07+ + 1, 1, 1, 1 ! pAER01- + 2, 1, 2, 1 ! pAER02- + 3, 1, 3, 1 ! pAER03- + 4, 1, 4, 1 ! pAER04- + 5, 1, 5, 1 ! pAER05- + 6, 1, 6, 1 ! pAER06- + 7, 1, 7, 1 ! pAER07- + + +DETECTOR=26 + +ROC=4 + +SLOT=3 + 0, 1, 1, 0 ! pPRSH1+ + 1, 1, 2, 0 ! pPRSH2+ + 2, 1, 3, 0 ! pPRSH3+ + 3, 1, 4, 0 ! pPRSH4+ + 4, 1, 5, 0 ! pPRSH5+ + 5, 1, 6, 0 ! pPRSH6+ + 6, 1, 7, 0 ! pPRSH7+ + 7, 1, 8, 0 ! pPRSH8+ + 8, 1, 9, 0 ! pPRSH9+ + 9, 1, 10, 0 ! pPRSH10+ + 10, 1, 11, 0 ! pPRSH11+ + 11, 1, 12, 0 ! pPRSH12+ + 12, 1, 13, 0 ! pPRSH13+ + 13, 1, 14, 0 ! pPRSH14+ + +SLOT=4 + 0, 1, 1, 1 ! pPRSH1- + 1, 1, 2, 1 ! pPRSH2- + 2, 1, 3, 1 ! pPRSH3- + 3, 1, 4, 1 ! pPRSH4- + 4, 1, 5, 1 ! pPRSH5- + 5, 1, 6, 1 ! pPRSH6- + 6, 1, 7, 1 ! pPRSH7- + 7, 1, 8, 1 ! pPRSH8- + 8, 1, 9, 1 ! pPRSH9- + 9, 1, 10, 1 ! pPRSH10- + 10, 1, 11, 1 ! pPRSH11- + 11, 1, 12, 1 ! pPRSH12- + 12, 1, 13, 1 ! pPRSH13- + 13, 1, 14, 1 ! pPRSH14- + +SLOT=5 + 0, 2, 1, 0 ! Row 1, Column 1 + 1, 2, 2, 0 ! Row 2, Column 1 + 2, 2, 3, 0 ! Row 3, Column 1 + 3, 2, 4, 0 ! Row 4, Column 1 + 4, 2, 5, 0 ! Row 5, Column 1 + 5, 2, 6, 0 ! Row 6, Column 1 + 6, 2, 7, 0 ! Row 7, Column 1 + 7, 2, 8, 0 ! Row 8, Column 1 + 8, 2, 9, 0 ! Row 9, Column 1 + 9, 2, 10, 0 ! Row 10, Column 1 + 10, 2, 11, 0 ! Row 11, Column 1 + 11, 2, 12, 0 ! Row 12, Column 1 + 12, 2, 13, 0 ! Row 13, Column 1 + 13, 2, 14, 0 ! Row 14, Column 1 + 14, 2, 15, 0 ! Row 15, Column 1 + 15, 2, 16, 0 ! Row 16, Column 1 + +SLOT=6 + 0, 2, 17, 0 ! Row 1, Column 2 + 1, 2, 18, 0 ! Row 2, Column 2 + 2, 2, 19, 0 ! Row 3, Column 2 + 3, 2, 20, 0 ! Row 4, Column 2 + 4, 2, 21, 0 ! Row 5, Column 2 + 5, 2, 22, 0 ! Row 6, Column 2 + 6, 2, 23, 0 ! Row 7, Column 2 + 7, 2, 24, 0 ! Row 8, Column 2 + 8, 2, 25, 0 ! Row 9, Column 2 + 9, 2, 26, 0 ! Row 10, Column 2 + 10, 2, 27, 0 ! Row 11, Column 2 + 11, 2, 28, 0 ! Row 12, Column 2 + 12, 2, 29, 0 ! Row 13, Column 2 + 13, 2, 30, 0 ! Row 14, Column 2 + 14, 2, 31, 0 ! Row 15, Column 2 + 15, 2, 32, 0 ! Row 16, Column 2 + +SLOT=7 + 0, 2, 33, 0 ! Row 1, Column 3 + 1, 2, 34, 0 ! Row 2, Column 3 + 2, 2, 35, 0 ! Row 3, Column 3 + 3, 2, 36, 0 ! Row 4, Column 3 + 4, 2, 37, 0 ! Row 5, Column 3 + 5, 2, 38, 0 ! Row 6, Column 3 + 6, 2, 39, 0 ! Row 7, Column 3 + 7, 2, 40, 0 ! Row 8, Column 3 + 8, 2, 41, 0 ! Row 9, Column 3 + 9, 2, 42, 0 ! Row 10, Column 3 + 10, 2, 43, 0 ! Row 11, Column 3 + 11, 2, 44, 0 ! Row 12, Column 3 + 12, 2, 45, 0 ! Row 13, Column 3 + 13, 2, 46, 0 ! Row 14, Column 3 + 14, 2, 47, 0 ! Row 15, Column 3 + 15, 2, 48, 0 ! Row 16, Column 3 + +SLOT=8 + 0, 2, 49, 0 ! Row 1, Column 4 + 1, 2, 50, 0 ! Row 2, Column 4 + 2, 2, 51, 0 ! Row 3, Column 4 + 3, 2, 52, 0 ! Row 4, Column 4 + 4, 2, 53, 0 ! Row 5, Column 4 + 5, 2, 54, 0 ! Row 6, Column 4 + 6, 2, 55, 0 ! Row 7, Column 4 + 7, 2, 56, 0 ! Row 8, Column 4 + 8, 2, 57, 0 ! Row 9, Column 4 + 9, 2, 58, 0 ! Row 10, Column 4 + 10, 2, 59, 0 ! Row 11, Column 4 + 11, 2, 60, 0 ! Row 12, Column 4 + 12, 2, 61, 0 ! Row 13, Column 4 + 13, 2, 62, 0 ! Row 14, Column 4 + 14, 2, 63, 0 ! Row 15, Column 4 + 15, 2, 64, 0 ! Row 16, Column 4 + +SLOT=9 + 0, 2, 65, 0 ! Row 1, Column 5 + 1, 2, 66, 0 ! Row 2, Column 5 + 2, 2, 67, 0 ! Row 3, Column 5 + 3, 2, 68, 0 ! Row 4, Column 5 + 4, 2, 69, 0 ! Row 5, Column 5 + 5, 2, 70, 0 ! Row 6, Column 5 + 6, 2, 71, 0 ! Row 7, Column 5 + 7, 2, 72, 0 ! Row 8, Column 5 + 8, 2, 73, 0 ! Row 9, Column 5 + 9, 2, 74, 0 ! Row 10, Column 5 + 10, 2, 75, 0 ! Row 11, Column 5 + 11, 2, 76, 0 ! Row 12, Column 5 + 12, 2, 77, 0 ! Row 13, Column 5 + 13, 2, 78, 0 ! Row 14, Column 5 + 14, 2, 79, 0 ! Row 15, Column 5 + 15, 2, 80, 0 ! Row 16, Column 5 + +SLOT=10 + 0, 2, 81, 0 ! Row 1, Column 6 + 1, 2, 82, 0 ! Row 2, Column 6 + 2, 2, 83, 0 ! Row 3, Column 6 + 3, 2, 84, 0 ! Row 4, Column 6 + 4, 2, 85, 0 ! Row 5, Column 6 + 5, 2, 86, 0 ! Row 6, Column 6 + 6, 2, 87, 0 ! Row 7, Column 6 + 7, 2, 88, 0 ! Row 8, Column 6 + 8, 2, 89, 0 ! Row 9, Column 6 + 9, 2, 90, 0 ! Row 10, Column 6 + 10, 2, 91, 0 ! Row 11, Column 6 + 11, 2, 92, 0 ! Row 12, Column 6 + 12, 2, 93, 0 ! Row 13, Column 6 + 13, 2, 94, 0 ! Row 14, Column 6 + 14, 2, 95, 0 ! Row 15, Column 6 + 15, 2, 96, 0 ! Row 16, Column 6 + +SLOT=13 + 0, 2, 97, 0 ! Row 1, Column 7 + 1, 2, 98, 0 ! Row 2, Column 7 + 2, 2, 99, 0 ! Row 3, Column 7 + 3, 2, 100, 0 ! Row 4, Column 7 + 4, 2, 101, 0 ! Row 5, Column 7 + 5, 2, 102, 0 ! Row 6, Column 7 + 6, 2, 103, 0 ! Row 7, Column 7 + 7, 2, 104, 0 ! Row 8, Column 7 + 8, 2, 105, 0 ! Row 9, Column 7 + 9, 2, 106, 0 ! Row 10, Column 7 + 10, 2, 107, 0 ! Row 11, Column 7 + 11, 2, 108, 0 ! Row 12, Column 7 + 12, 2, 109, 0 ! Row 13, Column 7 + 13, 2, 110, 0 ! Row 14, Column 7 + 14, 2, 111, 0 ! Row 15, Column 7 + 15, 2, 112, 0 ! Row 16, Column 7 + +SLOT=14 + 0, 2, 113, 0 ! Row 1, Column 8 + 1, 2, 114, 0 ! Row 2, Column 8 + 2, 2, 115, 0 ! Row 3, Column 8 + 3, 2, 116, 0 ! Row 4, Column 8 + 4, 2, 117, 0 ! Row 5, Column 8 + 5, 2, 118, 0 ! Row 6, Column 8 + 6, 2, 119, 0 ! Row 7, Column 8 + 7, 2, 120, 0 ! Row 8, Column 8 + 8, 2, 121, 0 ! Row 9, Column 8 + 9, 2, 122, 0 ! Row 10, Column 8 + 10, 2, 123, 0 ! Row 11, Column 8 + 11, 2, 124, 0 ! Row 12, Column 8 + 12, 2, 125, 0 ! Row 13, Column 8 + 13, 2, 126, 0 ! Row 14, Column 8 + 14, 2, 127, 0 ! Row 15, Column 8 + 15, 2, 128, 0 ! Row 16, Column 8 + +SLOT=15 + 0, 2, 129, 0 ! Row 1, Column 9 + 1, 2, 130, 0 ! Row 2, Column 9 + 2, 2, 131, 0 ! Row 3, Column 9 + 3, 2, 132, 0 ! Row 4, Column 9 + 4, 2, 133, 0 ! Row 5, Column 9 + 5, 2, 134, 0 ! Row 6, Column 9 + 6, 2, 135, 0 ! Row 7, Column 9 + 7, 2, 136, 0 ! Row 8, Column 9 + 8, 2, 137, 0 ! Row 9, Column 9 + 9, 2, 138, 0 ! Row 10, Column 9 + 10, 2, 139, 0 ! Row 11, Column 9 + 11, 2, 140, 0 ! Row 12, Column 9 + 12, 2, 141, 0 ! Row 13, Column 9 + 13, 2, 142, 0 ! Row 14, Column 9 + 14, 2, 143, 0 ! Row 15, Column 9 + 15, 2, 144, 0 ! Row 16, Column 9 + +SLOT=16 + 0, 2, 145, 0 ! Row 1, Column 10 + 1, 2, 146, 0 ! Row 2, Column 10 + 2, 2, 147, 0 ! Row 3, Column 10 + 3, 2, 148, 0 ! Row 4, Column 10 + 4, 2, 149, 0 ! Row 5, Column 10 + 5, 2, 150, 0 ! Row 6, Column 10 + 6, 2, 151, 0 ! Row 7, Column 10 + 7, 2, 152, 0 ! Row 8, Column 10 + 8, 2, 153, 0 ! Row 9, Column 10 + 9, 2, 154, 0 ! Row 10, Column 10 + 10, 2, 155, 0 ! Row 11, Column 10 + 11, 2, 156, 0 ! Row 12, Column 10 + 12, 2, 157, 0 ! Row 13, Column 10 + 13, 2, 158, 0 ! Row 14, Column 10 + 14, 2, 159, 0 ! Row 15, Column 10 + 15, 2, 160, 0 ! Row 16, Column 10 + +SLOT=17 + 0, 2, 161, 0 ! Row 1, Column 11 + 1, 2, 162, 0 ! Row 2, Column 11 + 2, 2, 163, 0 ! Row 3, Column 11 + 3, 2, 164, 0 ! Row 4, Column 11 + 4, 2, 165, 0 ! Row 5, Column 11 + 5, 2, 166, 0 ! Row 6, Column 11 + 6, 2, 167, 0 ! Row 7, Column 11 + 7, 2, 168, 0 ! Row 8, Column 11 + 8, 2, 169, 0 ! Row 9, Column 11 + 9, 2, 170, 0 ! Row 10, Column 11 + 10, 2, 171, 0 ! Row 11, Column 11 + 11, 2, 172, 0 ! Row 12, Column 11 + 12, 2, 173, 0 ! Row 13, Column 11 + 13, 2, 174, 0 ! Row 14, Column 11 + 14, 2, 175, 0 ! Row 15, Column 11 + 15, 2, 176, 0 ! Row 16, Column 11 + +SLOT=18 + 0, 2, 177, 0 ! Row 1, Column 12 + 1, 2, 178, 0 ! Row 2, Column 12 + 2, 2, 179, 0 ! Row 3, Column 12 + 3, 2, 180, 0 ! Row 4, Column 12 + 4, 2, 181, 0 ! Row 5, Column 12 + 5, 2, 182, 0 ! Row 6, Column 12 + 6, 2, 183, 0 ! Row 7, Column 12 + 7, 2, 184, 0 ! Row 8, Column 12 + 8, 2, 185, 0 ! Row 9, Column 12 + 9, 2, 186, 0 ! Row 10, Column 12 + 10, 2, 187, 0 ! Row 11, Column 12 + 11, 2, 188, 0 ! Row 12, Column 12 + 12, 2, 189, 0 ! Row 13, Column 12 + 13, 2, 190, 0 ! Row 14, Column 12 + 14, 2, 191, 0 ! Row 15, Column 12 + 15, 2, 192, 0 ! Row 16, Column 12 + +SLOT=19 + 0, 2, 193, 0 ! Row 1, Column 13 + 1, 2, 194, 0 ! Row 2, Column 13 + 2, 2, 195, 0 ! Row 3, Column 13 + 3, 2, 196, 0 ! Row 4, Column 13 + 4, 2, 197, 0 ! Row 5, Column 13 + 5, 2, 198, 0 ! Row 6, Column 13 + 6, 2, 199, 0 ! Row 7, Column 13 + 7, 2, 200, 0 ! Row 8, Column 13 + 8, 2, 201, 0 ! Row 9, Column 13 + 9, 2, 202, 0 ! Row 10, Column 13 + 10, 2, 203, 0 ! Row 11, Column 13 + 11, 2, 204, 0 ! Row 12, Column 13 + 12, 2, 205, 0 ! Row 13, Column 13 + 13, 2, 206, 0 ! Row 14, Column 13 + 14, 2, 207, 0 ! Row 15, Column 13 + 15, 2, 208, 0 ! Row 16, Column 13 + +SLOT=20 + 0, 2, 209, 0 ! Row 1, Column 14 + 1, 2, 210, 0 ! Row 2, Column 14 + 2, 2, 211, 0 ! Row 3, Column 14 + 3, 2, 212, 0 ! Row 4, Column 14 + 4, 2, 213, 0 ! Row 5, Column 14 + 5, 2, 214, 0 ! Row 6, Column 14 + 6, 2, 215, 0 ! Row 7, Column 14 + 7, 2, 216, 0 ! Row 8, Column 14 + 8, 2, 217, 0 ! Row 9, Column 14 + 9, 2, 218, 0 ! Row 10, Column 14 + 10, 2, 219, 0 ! Row 11, Column 14 + 11, 2, 220, 0 ! Row 12, Column 14 + 12, 2, 221, 0 ! Row 13, Column 14 + 13, 2, 222, 0 ! Row 14, Column 14 + 14, 2, 223, 0 ! Row 15, Column 14 + 15, 2, 224, 0 ! Row 16, Column 14 + + +DETECTOR=27 + +ROC=2 + +SLOT=14 + 12, 1, 1, 0 ! FR-XA + 13, 1, 2, 0 ! FR-XB + 14, 1, 3, 0 ! FR-YA + 15, 1, 4, 0 ! FR-YB + + +DETECTOR=30 + +ROC=1 + +SLOT=17 + 8, 1, 1, 0 ! hASUM + 9, 1, 2, 0 ! hBSUM + 10, 1, 3, 0 ! hCSUM + 11, 1, 4, 0 ! hDSUM + 12, 1, 5, 0 ! hPSHWR + 13, 1, 6, 0 ! hSHWR + 14, 1, 7, 0 ! hAERSUM + 15, 1, 8, 0 ! hCERSUM + +SLOT=18 + 12, 1, 9, 0 ! hFRXA + 13, 1, 10, 0 ! hFRYA + 14, 1, 11, 0 ! hFRXB + 15, 1, 12, 0 ! hFRYB + +SLOT=2 +REFINDEX=0 + 0, 2, 1, 1 ! h1X + 1, 2, 2, 1 ! h1Y + 2, 2, 3, 1 ! h2X + 3, 2, 4, 1 ! h2Y + 4, 2, 5, 1 ! h1T + 5, 2, 6, 1 ! h2T + 6,1000, 0, 0 ! hTref + 7, 2, 8, 1 ! hASUM + 8, 2, 9, 1 ! hBSUM + 9, 2, 10, 1 ! hCSUM + 10, 2, 11, 1 ! hDSUM + 11, 2, 12, 1 ! hPSHWRLO + 12, 2, 13, 1 ! hPSHWRHI + 13, 2, 14, 1 ! hSHWR + 14, 2, 15, 1 ! hAERSUM + 15, 2, 16, 1 ! hCERSUM + +SLOT=20 + 127, 2, 17, 1 ! hT2 + +ROC=3 + +SLOT=5 + 111, 2, 18, 1 ! hDCREF1 + +SLOT=8 + 127, 2, 19, 1 ! hDCREF2 + +SLOT=10 + 127, 2, 20, 1 ! hDCREF3 + +SLOT=17 + 127, 2, 21, 1 ! hDCREF4 + +ROC=2 + +SLOT=14 + 0, 1, 1, 0 ! pAERSUM + 1, 1, 2, 0 ! pHGCERSUM + 2, 1, 3, 0 ! pNGCERSUM + 12, 1, 4, 0 ! FR-XA + 13, 1, 5, 0 ! FR-YA + 14, 1, 6, 0 ! FR-XB + 15, 1, 7, 0 ! FR-YB + +SLOT=20 + 15, 2, 1, 1 ! pT1 + +SLOT=19 +REFINDEX=0 + 31,1000, 0, 0 ! pTRef + 32, 2, 3, 1 ! p1X + 33, 2, 4, 1 ! p1Y + 34, 2, 5, 1 ! p2X + 35, 2, 6, 1 ! p2Y + 36, 2, 7, 1 ! p1T + 37, 2, 8, 1 ! p2T + 38, 2, 9, 1 ! pT3 + 39, 2, 10, 1 ! pAERSUM + 40, 2, 11, 1 ! pHGCERSUM + 41, 2, 12, 1 ! pNGCERSUM + +ROC=6 + +SLOT=6 + 79, 2, 13, 1 ! pDCREF1 + +SLOT=7 + 79, 2, 14, 1 ! pDCREF2 + +SLOT=8 + 79, 2, 15, 1 ! pDCREF3 + +SLOT=9 + 79, 2, 16, 1 ! pDCREF4 + +SLOT=10 + 79, 2, 17, 1 ! pDCREF5 + +SLOT=11 + 47, 2, 18, 1 ! pDCREF6 + +SLOT=12 + 47, 2, 19, 1 ! pDCREF7 + +SLOT=13 + 47, 2, 20, 1 ! pDCREF8 + +SLOT=14 + 15, 2, 21, 1 ! pDCREF9 + +SLOT=15 + 47, 2, 22, 1 ! pDCREF10 diff --git a/MAPS/HMS/DETEC/RASTER/hraster.map b/MAPS/HMS/DETEC/RASTER/hraster.map new file mode 100644 index 0000000000000000000000000000000000000000..23364503015da896034542b8960005a5d300b8b5 --- /dev/null +++ b/MAPS/HMS/DETEC/RASTER/hraster.map @@ -0,0 +1,17 @@ +!HMS: +! HRASTER_ID=16 ADC + +! Plane = 1 >> ADC Only + +detector=16 + +ROC=1 + +!F250 module +SLOT=18 +! chan plane bar sig + 12, 1, 1, 0! FR-XA + 13, 1, 2, 0! FR-XB + 14, 1, 3, 0! FR-YA + 15, 1, 4, 0! FR-YB + diff --git a/MAPS/SHMS/DETEC/RASTER/praster.map b/MAPS/SHMS/DETEC/RASTER/praster.map new file mode 100644 index 0000000000000000000000000000000000000000..5de9b290a8426c0f638fe7f8195945f7045f0df6 --- /dev/null +++ b/MAPS/SHMS/DETEC/RASTER/praster.map @@ -0,0 +1,17 @@ +!SHMS: +! PRASTER_ID=27 ADC + +! Plane = 1 >> ADC Only + +detector=27 + +ROC=2 + +!F250 module +SLOT=14 +! chan plane bar sig + 12, 1, 1, 0! FR-XA + 13, 1, 2, 0! FR-XB + 14, 1, 3, 0! FR-YA + 15, 1, 4, 0! FR-YB + diff --git a/MAPS/merge_list.txt b/MAPS/merge_list.txt index 10738df581b5ba24ffbdc2201ca55d01059abd6f..01956c0b73aa4beeb7856da5cea8101a5260c36e 100644 --- a/MAPS/merge_list.txt +++ b/MAPS/merge_list.txt @@ -1,8 +1,15 @@ -SHMS/DETEC/TRIG/ptrig.map +HMS/DETEC/DC/hdc_6gev.map +HMS/DETEC/HODO/hhodo.map +HMS/DETEC/CER/hcer.map +HMS/DETEC/CAL/hcal.map +HMS/DETEC/RASTER/hraster.map + +SHMS/DETEC/NGCER/pngcer.map SHMS/DETEC/DC/pdc.map SHMS/DETEC/HODO/phodo.map SHMS/DETEC/HGCER/phgcer.map -SHMS/DETEC/NGCER/pngcer.map -SHMS/DETEC/CAL/pcal.map SHMS/DETEC/AERO/paero.map +SHMS/DETEC/CAL/pcal.map +SHMS/DETEC/RASTER/praster.map +COIN/DETEC/TRIG/cointrig.map diff --git a/PARAM/HMS/GEN/h_fadc_debug.param b/PARAM/HMS/GEN/h_fadc_debug.param index 6dc14cc8d6d8f57352c9503192c93ae58fe0728b..9b9e8868980bfbe1208aba917ff5a9bd4eca3acc 100644 --- a/PARAM/HMS/GEN/h_fadc_debug.param +++ b/PARAM/HMS/GEN/h_fadc_debug.param @@ -1,2 +1,5 @@ hcer_debug_adc = 1 -hcal_debug_adc = 1 \ No newline at end of file +hcal_debug_adc = 1 +hhodo_debug_adc = 1 +hdc_debug_adc = 1 +haero_debug_adc = 1 \ No newline at end of file diff --git a/PARAM/SHMS/AERO/CUTS/paero_cuts.param b/PARAM/SHMS/AERO/CUTS/paero_cuts.param index 6bb669581c33615dcdfe3e09f8714015fd19c667..c8f1b75da08e72dfc9ca8da20332c0d404edfe0e 100644 --- a/PARAM/SHMS/AERO/CUTS/paero_cuts.param +++ b/PARAM/SHMS/AERO/CUTS/paero_cuts.param @@ -10,6 +10,10 @@ paero_beta_max = 1.2 paero_enorm_min = 0.0 paero_enorm_max = 1.5 +; Track matching delta p (dp) cut values +paero_dp_min = -20.0 +paero_dp_max = 25.0 + ; ADC time window cut values used to select "good" ADC events paero_adcTimeWindowMin = 500. paero_adcTimeWindowMax = 2500. diff --git a/PARAM/SHMS/CAL/CALIB/KPP_Spring_2017/pcal_calib_488.param b/PARAM/SHMS/CAL/CALIB/KPP_Spring_2017/pcal_calib_488.param index 494a6585867e68f87fdb2eaf89261c8eb81b6906..4e50bda2be2ebf46a69e04182264cb3b982fd353 100644 --- a/PARAM/SHMS/CAL/CALIB/KPP_Spring_2017/pcal_calib_488.param +++ b/PARAM/SHMS/CAL/CALIB/KPP_Spring_2017/pcal_calib_488.param @@ -1,18 +1,18 @@ -; Calibration constants for run 488_400000, 40002 events processed +; Calibration constants for run 488_-1, 194924 events processed -- Updated from Varden July 21 -pcal_neg_gain_cor = 0.285, 0.224, 0.231, 0.280, 0.201, 0.313, 0.397, 0.425, 0.510, 0.337, 0.334, 0.212, 0.528, 1.000, -pcal_pos_gain_cor = 2.040, 0.203, 0.209, 0.277, 0.230, 0.200, 0.217, 0.187, 0.437, 0.188, 0.373, 0.359, 0.953, 1.000, -pcal_arr_gain_cor = 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, - 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, - 1.000, 2.923, 0.473, 1.000, 1.000, 1.000, 4.898, 1.000, 1.000, 1.000, 1.000, 1.000, 1.695, 1.000, 1.000, 1.000, - 1.000,1.000, 0.627, 0.626, 0.537, 0.461, 1.253, 1.000, 1.000, 1.000, 1.000, 0.328,1.000, 0.895, 1.000, 1.000, - 1.239, 0.399, 0.404, 0.377, 0.887, 0.778, 0.635, 0.469, 2.950, 1.805, 0.285, 0.576, 0.522, 0.942, 1.063, 1.000, - 1.000, 0.301, 0.411, 0.963, 0.249, 0.549, 0.085, 0.104, 3.675, 1.000, 0.673, 0.695, 0.985, 0.241, 0.452, 1.000, - 1.000, 0.282, 0.705, 0.610, 0.352, 0.552, 0.099, 0.087, 0.085, 0.627, 0.466, 0.312, 0.556, 0.519,1.000, 1.000, - 1.000, 0.274, 0.328, 0.185, 0.249, 0.176, 0.041, 0.045, 0.025, 1.000, 0.326, 0.282, 0.395, 0.236, 0.115, 1.858, - 0.015, 0.413, 0.440, 0.460, 0.650, 0.624, 0.349, 0.651, 1.323, 0.529, 0.337, 0.885, 0.381, 0.378, 0.139, 1.000, - 1.000, 1.000, 0.210, 0.621, 0.339, 0.824, 0.774, 0.834, 0.545,1.000, 0.534, 0.519, 0.749, 0.479, 0.174, 1.000, - 5.112, 1.000, 1.000, 0.634,1.000, 4.243, 0.057, 1.000, 0.732, 1.000, 0.210, 0.552, 0.488, 0.366,1.000, 1.000, - 1.544, 1.000,1.000, 1.000, 1.000, 1.000,1.000, 1.000, 1.000, 3.663, 1.640, 1.000, 4.630,1.000, 1.000, 1.000, - 1.000,1.000,1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.882, 1.000, 1.000, 4.770, 1.000, 1.000, - 1.000,1.000,1.000, 3.138, 1.000,1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.902, 1.000, 1.000, 1.000, +pcal_neg_gain_cor = 0.367, 0.282, 0.233, 0.278, 0.200, 0.313, 0.376, 0.432, 0.502, 0.336, 0.335, 0.214, 0.332, 2.185, +pcal_pos_gain_cor = 1.419, 0.221, 0.205, 0.273, 0.230, 0.198, 0.212, 0.174, 0.443, 0.190, 0.373, 0.358, 0.823, 4.152, +pcal_arr_gain_cor = 0.000, 0.263, 0.000,-1.119, 1.501, 0.759, 0.000, 0.000, 0.000, 9.276, 0.000, 0.000, 0.000, 4.852, 0.000, 0.000, + 0.822,-1.711, 1.058, 0.586, 0.546, 0.353, 0.000, 1.503, 3.639, 3.773, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, + -12.996, 3.347, 0.396, 0.536, 0.871, 0.845, 1.862, 0.816, 0.376, 0.000, 0.000, 0.000, 2.140, 0.000, 0.000, 0.000, + 2.826,-0.740, 0.576, 0.624, 0.562, 0.426, 1.340, 0.991, 0.184, 0.000, 5.350, 0.481, 0.867, 0.423, 0.497, 0.000, + 0.487, 0.530, 0.405, 0.381, 0.891, 0.777, 0.638, 0.437, 1.830, 0.858, 0.257, 0.534, 0.514, 0.949, 0.970, 2.885, + 3.660, 0.413, 0.418, 0.966, 0.249, 0.551, 0.086, 0.107, 3.171, 0.000, 0.670, 0.700, 0.987, 0.240, 0.521, 1.517, + 3.396, 0.379, 0.717, 0.612, 0.352, 0.553, 0.100, 0.087, 0.087, 0.623, 0.465, 0.312, 0.561, 0.516,-0.029, 0.000, + 0.251, 0.068, 0.330, 0.184, 0.250, 0.175, 0.041, 0.047, 0.029, 0.000, 0.329, 0.282, 0.395, 0.233, 0.163, 0.109, + 0.176, 0.583, 0.425, 0.456, 0.655, 0.620, 0.354, 0.651, 1.341, 0.569, 0.334, 0.885, 0.381, 0.373, 0.324,-0.448, + 2.017, 1.563, 0.244, 0.581, 0.346, 0.853, 0.721, 0.901, 0.367, 0.166, 0.536, 0.522, 0.743, 0.477, 0.226, 0.288, + 0.992,-1.118, 0.000, 0.668, 0.475, 0.598, 0.239, 1.150, 0.536, 1.111, 0.325, 0.562, 0.495, 0.362, 0.392, 1.468, + 2.263, 0.454, 0.086, 0.898, 0.451, 0.781, 0.523,-1.817, 7.839, 2.955, 2.542, 0.039, 1.033, 0.538, 5.071, 6.466, + 1.142, 1.085, 0.645, 0.228, 0.000, 0.014, 3.795, 4.740, 0.000, 1.572, 1.285, 0.969, 0.000, 3.814, 6.030, 3.028, + 0.006, 1.953, 0.115, 0.438,-0.446,-0.137,-0.345, 0.000, 0.887, 0.000, 0.229,-3.800, 2.320, 0.000, 0.000, 3.655, diff --git a/PARAM/SHMS/HGCER/CUTS/phgcer_cuts.param b/PARAM/SHMS/HGCER/CUTS/phgcer_cuts.param index 3afc69b3e92c32a673456973ce3cdb7135ca6284..52ce39c423dedc94cf48772a6c5e87901c5af190 100644 --- a/PARAM/SHMS/HGCER/CUTS/phgcer_cuts.param +++ b/PARAM/SHMS/HGCER/CUTS/phgcer_cuts.param @@ -10,6 +10,10 @@ phgcer_beta_max = 1.2 phgcer_enorm_min = 0.0 phgcer_enorm_max = 1.5 +; Track matching delta p (dp) cut values +phgcer_dp_min = -20.0 +phgcer_dp_max = 25.0 + ; ADC time window cut values used to select "good" ADC events phgcer_adcTimeWindowMin = 500. phgcer_adcTimeWindowMax = 2500. diff --git a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_483.param b/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_483.param deleted file mode 100644 index ff3752f7e7310044d9751141ac72e180224f6b08..0000000000000000000000000000000000000000 --- a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_483.param +++ /dev/null @@ -1,45 +0,0 @@ -; Number of heavy gas Cherenkov PMT's -phgcer_tot_pmts = 4 - -; Garth H. gain calibration for run 483, June 20 2017 -phgcer_adc_to_npe = 1./273., 1./460., 1./582., 1./378. - -; Track matching reduced chi2 cut values -phgcer_red_chi2_min = 0.0 -phgcer_red_chi2_max = 25.0 - -; Track matching beta cut values -phgcer_beta_min = 0.0 -phgcer_beta_max = 1.2 - -; Track matching normailized energy (E/p) cut values -phgcer_enorm_min = 0.0 -phgcer_enorm_max = 1.5 - -; ADC time window cut values used to select "good" ADC events -phgcer_adcTimeWindowMin = 500. -phgcer_adcTimeWindowMax = 2500. - -; ; NPE Threshold for "good" hit (for measureing effic.) -phgcer_npe_thresh = 0.5 - -; Guess from Dwg. 67165-E-00001 R0 -> 175.1 cm -; Updated on 5-8-17 by Univ. of Regina Group -phgcer_mirror_zpos = 156.27 - -phgcer_num_regions = 4; - -; Number of regions in which tracks can be matched too -; phgcer_region: 8 values for each region (1 per mirror + sum) -; central x,y,dx,dy values and x,y,dx,dy half widths. -; Defined in clomuns, region 1, region 2, region 3, region 4... -; Assumes rectangular volume with x = 55 cm and y = 50 cm -; FIX ME! Waiting for numbers from detector -phgcer_region = 27.5, 27.5, -27.5, -27.5, - 25.0, -25.0, 25.0, -25.0, - 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, - 27.5, 27.5, 27.5, 27.5, - 25.0, 25.0, 25.0, 25.0, - 0.15, 0.15, 0.15, 0.15, - 0.1, 0.1, 0.1, 0.1 diff --git a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_484.param b/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_484.param deleted file mode 100644 index f11ce425fa7718245eb66fa6a3f8481ec17b2e00..0000000000000000000000000000000000000000 --- a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_484.param +++ /dev/null @@ -1,45 +0,0 @@ -; Number of heavy gas Cherenkov PMT's -phgcer_tot_pmts = 4 - -; Garth H. gain calibration for run 484, June 20 2017 -phgcer_adc_to_npe = 1./454., 1./447., 1./409., 1./547. - -; Track matching reduced chi2 cut values -phgcer_red_chi2_min = 0.0 -phgcer_red_chi2_max = 25.0 - -; Track matching beta cut values -phgcer_beta_min = 0.0 -phgcer_beta_max = 1.2 - -; Track matching normailized energy (E/p) cut values -phgcer_enorm_min = 0.0 -phgcer_enorm_max = 1.5 - -; ADC time window cut values used to select "good" ADC events -phgcer_adcTimeWindowMin = 500. -phgcer_adcTimeWindowMax = 2500. - -; ; NPE Threshold for "good" hit (for measureing effic.) -phgcer_npe_thresh = 0.5 - -; Guess from Dwg. 67165-E-00001 R0 -> 175.1 cm -; Updated on 5-8-17 by Univ. of Regina Group -phgcer_mirror_zpos = 156.27 - -phgcer_num_regions = 4; - -; Number of regions in which tracks can be matched too -; phgcer_region: 8 values for each region (1 per mirror + sum) -; central x,y,dx,dy values and x,y,dx,dy half widths. -; Defined in clomuns, region 1, region 2, region 3, region 4... -; Assumes rectangular volume with x = 55 cm and y = 50 cm -; FIX ME! Waiting for numbers from detector -phgcer_region = 27.5, 27.5, -27.5, -27.5, - 25.0, -25.0, 25.0, -25.0, - 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, - 27.5, 27.5, 27.5, 27.5, - 25.0, 25.0, 25.0, 25.0, - 0.15, 0.15, 0.15, 0.15, - 0.1, 0.1, 0.1, 0.1 diff --git a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_486.param b/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_486.param deleted file mode 100644 index d32f80b8b1b6ee49c5260d9f2706c2ca570734cf..0000000000000000000000000000000000000000 --- a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_486.param +++ /dev/null @@ -1,45 +0,0 @@ -; Number of heavy gas Cherenkov PMT's -phgcer_tot_pmts = 4 - -; Garth H. gain calibration for run 486, June 20 2017 -phgcer_adc_to_npe = 1./551., 1./426., 1./376., 1./488. - -; Track matching reduced chi2 cut values -phgcer_red_chi2_min = 0.0 -phgcer_red_chi2_max = 25.0 - -; Track matching beta cut values -phgcer_beta_min = 0.0 -phgcer_beta_max = 1.2 - -; Track matching normailized energy (E/p) cut values -phgcer_enorm_min = 0.0 -phgcer_enorm_max = 1.5 - -; ADC time window cut values used to select "good" ADC events -phgcer_adcTimeWindowMin = 500. -phgcer_adcTimeWindowMax = 2500. - -; ; NPE Threshold for "good" hit (for measureing effic.) -phgcer_npe_thresh = 0.5 - -; Guess from Dwg. 67165-E-00001 R0 -> 175.1 cm -; Updated on 5-8-17 by Univ. of Regina Group -phgcer_mirror_zpos = 156.27 - -phgcer_num_regions = 4; - -; Number of regions in which tracks can be matched too -; phgcer_region: 8 values for each region (1 per mirror + sum) -; central x,y,dx,dy values and x,y,dx,dy half widths. -; Defined in clomuns, region 1, region 2, region 3, region 4... -; Assumes rectangular volume with x = 55 cm and y = 50 cm -; FIX ME! Waiting for numbers from detector -phgcer_region = 27.5, 27.5, -27.5, -27.5, - 25.0, -25.0, 25.0, -25.0, - 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, - 27.5, 27.5, 27.5, 27.5, - 25.0, 25.0, 25.0, 25.0, - 0.15, 0.15, 0.15, 0.15, - 0.1, 0.1, 0.1, 0.1 diff --git a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_487.param b/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_487.param deleted file mode 100644 index 9cfb1c0668d0ce6bdfb45868ff536893ea2949cc..0000000000000000000000000000000000000000 --- a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_487.param +++ /dev/null @@ -1,45 +0,0 @@ -; Number of heavy gas Cherenkov PMT's -phgcer_tot_pmts = 4 - -; Garth H. gain calibration from run 487, June 20 2017 -phgcer_adc_to_npe = 1/551., 1/426., 1/376., 1/488. - -; Track matching reduced chi2 cut values -phgcer_red_chi2_min = 0.0 -phgcer_red_chi2_max = 25.0 - -; Track matching beta cut values -phgcer_beta_min = 0.0 -phgcer_beta_max = 1.2 - -; Track matching normailized energy (E/p) cut values -phgcer_enorm_min = 0.0 -phgcer_enorm_max = 1.5 - -; ADC time window cut values used to select "good" ADC events -phgcer_adcTimeWindowMin = 500. -phgcer_adcTimeWindowMax = 2500. - -; ; NPE Threshold for "good" hit (for measureing effic.) -phgcer_npe_thresh = 0.5 - -; Guess from Dwg. 67165-E-00001 R0 -> 175.1 cm -; Updated on 5-8-17 by Univ. of Regina Group -phgcer_mirror_zpos = 156.27 - -phgcer_num_regions = 4; - -; Number of regions in which tracks can be matched too -; phgcer_region: 8 values for each region (1 per mirror + sum) -; central x,y,dx,dy values and x,y,dx,dy half widths. -; Defined in clomuns, region 1, region 2, region 3, region 4... -; Assumes rectangular volume with x = 55 cm and y = 50 cm -; FIX ME! Waiting for numbers from detector -phgcer_region = 27.5, 27.5, -27.5, -27.5, - 25.0, -25.0, 25.0, -25.0, - 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, - 27.5, 27.5, 27.5, 27.5, - 25.0, 25.0, 25.0, 25.0, - 0.15, 0.15, 0.15, 0.15, - 0.1, 0.1, 0.1, 0.1 diff --git a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_488.param b/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_488.param deleted file mode 100644 index 9a099bc77bb904a7444cca6556b41e00aeb484bc..0000000000000000000000000000000000000000 --- a/PARAM/SHMS/HGCER/KPP_Spring_2017/phgcer_488.param +++ /dev/null @@ -1,45 +0,0 @@ -; Number of heavy gas Cherenkov PMT's -phgcer_tot_pmts = 4 - -; Garth H. gain calibration from run 488, June 20 2017 -phgcer_adc_to_npe = 1/546., 1/430., 1/376., 1/477. - -; Track matching reduced chi2 cut values -phgcer_red_chi2_min = 0.0 -phgcer_red_chi2_max = 25.0 - -; Track matching beta cut values -phgcer_beta_min = 0.0 -phgcer_beta_max = 1.2 - -; Track matching normailized energy (E/p) cut values -phgcer_enorm_min = 0.0 -phgcer_enorm_max = 1.5 - -; ADC time window cut values used to select "good" ADC events -phgcer_adcTimeWindowMin = 500. -phgcer_adcTimeWindowMax = 2500. - -; ; NPE Threshold for "good" hit (for measureing effic.) -phgcer_npe_thresh = 0.5 - -; Guess from Dwg. 67165-E-00001 R0 -> 175.1 cm -; Updated on 5-8-17 by Univ. of Regina Group -phgcer_mirror_zpos = 156.27 - -phgcer_num_regions = 4; - -; Number of regions in which tracks can be matched too -; phgcer_region: 8 values for each region (1 per mirror + sum) -; central x,y,dx,dy values and x,y,dx,dy half widths. -; Defined in clomuns, region 1, region 2, region 3, region 4... -; Assumes rectangular volume with x = 55 cm and y = 50 cm -; FIX ME! Waiting for numbers from detector -phgcer_region = 27.5, 27.5, -27.5, -27.5, - 25.0, -25.0, 25.0, -25.0, - 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, - 27.5, 27.5, 27.5, 27.5, - 25.0, 25.0, 25.0, 25.0, - 0.15, 0.15, 0.15, 0.15, - 0.1, 0.1, 0.1, 0.1 diff --git a/PARAM/SHMS/HODO/GEOM/phodo_geom.param b/PARAM/SHMS/HODO/GEOM/phodo_geom.param index 86e72951dabf1143624b8da758e18f97efea12a4..a465b3f9f64ba65aeb76602223f7ea351767469b 100644 --- a/PARAM/SHMS/HODO/GEOM/phodo_geom.param +++ b/PARAM/SHMS/HODO/GEOM/phodo_geom.param @@ -4,23 +4,32 @@ phodo_plane_names = "1x 1y 2x 2y" ppathlength_central = 1800 -; Z positions of hodoscopes -pscin_1x_zpos = 56.3-9.5 -pscin_1y_zpos = 56.3+9.5 -pscin_2x_zpos = 276.35-9.5 -pscin_2y_zpos = 276.35+9.5 -pscin_1x_dzpos = 1.0 -pscin_1y_dzpos = 1.0 -pscin_2x_dzpos = 1.0 -pscin_2y_dzpos = 1.0 +; Many dimensions were updated on 7/28/17 by hcf from construction drawings. + +; Z positions of odd-numbered hodoscope paddle centers +; These are based upon a tape-measure survey by hcf on 7/28/17 +pscin_1x_zpos = 56.9-4.8 +pscin_1y_zpos = 56.9+4.8 +pscin_2x_zpos = 267.7+3.7 +pscin_2y_zpos = 267.7+14.7 + +; delta-Z from odd-numbered to even-numbered paddles +pscin_1x_dzpos = 2.12 +pscin_1y_dzpos = -2.12 +pscin_2x_dzpos = -2.12 +pscin_2y_dzpos = -5.4 + +; hodoscope paddle widths pscin_1x_size = 8.0 pscin_1y_size = 8.0 -pscin_2x_size = 8.0 -pscin_2y_size = 8.0 +pscin_2x_size = 10.0 +pscin_2y_size = 5.5 + +; pitch of hodoscope elements pscin_1x_spacing = 7.5 pscin_1y_spacing = 7.5 -pscin_2x_spacing = 7.5 -pscin_2y_spacing = 7.5 +pscin_2x_spacing = 9.5 +pscin_2y_spacing = 5.0 ; Number of hodoscope paddles per layer pscin_1x_nr = 13 @@ -29,80 +38,80 @@ pscin_2x_nr = 14 pscin_2y_nr = 21 ; X,Y positions of hodoscope paddles -pscin_1x_left = 50. -pscin_1x_right = -50 -pscin_1x_offset = 0.0 -pscin_1x_center = -42. - -35. - -28. - -21. - -14. - -7. - 0.0 - 7. - 14. - 21. - 28. - 35. - 42. +pscin_1x_left = 50. +pscin_1x_right = -50 +pscin_1x_offset= 0.0 +pscin_1x_center= -45.0 + -37.5 + -30.0 + -22.5 + -15.0 + -7.5 + 0.0 + 7.5 + 145.0 + 22.5 + 30.0 + 37.5 + 45.0 -pscin_1y_top = -50 -pscin_1y_bot = 50 -pscin_1y_offset = 0.0 -pscin_1y_center = +42. - +35. - +28. - +21. - +14. - +7. - 0.0 - -7. - -14. - -21. - -28. - -35. - -42. +pscin_1y_top = -45 +pscin_1y_bot = 45 +pscin_1y_offset= 0.0 +pscin_1y_center= +45.0 + +37.5 + +30.0 + +22.5 + +15.0 + +7.5 + 0.0 + -7.5 + -15.0 + -22.5 + -30.0 + -37.5 + -45.0 -pscin_2x_left = 55. -pscin_2x_right = -55. -pscin_2x_offset = 0.0 -pscin_2x_center = -58.5 - -49.5 - -40.5 - -31.5 - -22.5 - -13.5 - -4.5 - 4.5 - 13.5 - 22.5 - 31.5 - 40.5 - 49.5 - 58.5 +pscin_2x_left = 55. +pscin_2x_right = -55. +pscin_2x_offset= 0.0 +pscin_2x_center= -61.75 + -52.25 + -42.75 + -33.25 + -23.75 + -14.25 + -4.75 + 4.75 + 14.25 + 23.75 + 33.25 + 42.75 + 52.25 + 61.75 -pscin_2y_top = -55 -pscin_2y_bot = 55 -pscin_2y_offset = 0.0 -pscin_2y_center = 50. - 45. - 40. - 35. - 30. - 25. - 20. - 15. - 10. - 5. - 0. - -5. - -10. - -15. - -20. - -25. - -30. - -35. - -40. - -45. - -50. +pscin_2y_top = -62.5 +pscin_2y_bot = 62.5 +pscin_2y_offset= 0.0 +pscin_2y_center= 50. + 45. + 40. + 35. + 30. + 25. + 20. + 15. + 10. + 5. + 0. + -5. + -10. + -15. + -20. + -25. + -30. + -35. + -40. + -45. + -50. diff --git a/PARAM/SHMS/NGCER/CUTS/pngcer_cuts.param b/PARAM/SHMS/NGCER/CUTS/pngcer_cuts.param index b54ab36098e57a02b4a0cfead76f3d41b1c6331d..f9fd930fd6689fd934bf1416345277396cfbee33 100644 --- a/PARAM/SHMS/NGCER/CUTS/pngcer_cuts.param +++ b/PARAM/SHMS/NGCER/CUTS/pngcer_cuts.param @@ -10,6 +10,10 @@ pngcer_beta_max = 1.2 pngcer_enorm_min = 0.0 pngcer_enorm_max = 1.5 +; Track matching delta p (dp) cut values +pngcer_dp_min = -20.0 +pngcer_dp_max = 25.0 + ; ADC time window cut values used to select "good" ADC events pngcer_adcTimeWindowMin = 500. pngcer_adcTimeWindowMax = 2500. diff --git a/PARAM/SHMS/NGCER/KPP_Spring_2017/pngcer_483.param b/PARAM/SHMS/NGCER/KPP_Spring_2017/pngcer_483.param deleted file mode 100644 index cfb6f2c59d25d9bd24c98b471219652fb9f24627..0000000000000000000000000000000000000000 --- a/PARAM/SHMS/NGCER/KPP_Spring_2017/pngcer_483.param +++ /dev/null @@ -1,43 +0,0 @@ -; Number of noble gas Cherenkov PMT's -pngcer_tot_pmts = 4 - -; Noble gas cherenkov gain factors run 483, July 11 2017 -pngcer_adc_to_npe = 1.0/462.791, 1.0/475.186, 1.0/524.213, 1.0/520.873 - -; Track matching reduced chi2 cut values -pngcer_red_chi2_min = 0.0 -pngcer_red_chi2_max = 25.0 - -; Track matching beta cut values -pngcer_beta_min = 0.0 -pngcer_beta_max = 1.2 - -; Track matching normailized energy (E/p) cut values -pngcer_enorm_min = 0.0 -pngcer_enorm_max = 1.5 - -; ADC time window cut values used to select "good" ADC events -pngcer_adcTimeWindowMin = 500. -pngcer_adcTimeWindowMax = 2500. - -; ; NPE Threshold for "good" hit (for measureing effic.) -pngcer_npe_thresh = 0.5 - -; Guess from Dwg. 67165-E-00001 R0 -pngcer_mirror_zpos = -89.1 - -; Number of regions in which tracks can be matched too -pngcer_num_regions = 4; - -; pngcer_region: 8 values for each region (1 per mirror + sum) -; central x,y,dx,dy values and x,y,dx,dy half widths. -; Defined in clomuns, region 1, region 2, region 3, region 4... -; Assumes rectangular volume with x = 43 cm and y = 43 cm -pngcer_region = 21.5, 21.5, -21.5, -21.5, - 21.5, -21.5, 21.5, -21.5, - 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, - 21.5, 21.5, 21.5, 21.5, - 21.5, 21.5, 21.5, 21.5, - 0.15, 0.15, 0.15, 0.15, - 0.1, 0.1, 0.1, 0.1 \ No newline at end of file diff --git a/PARAM/SHMS/NGCER/KPP_Spring_2017/pngcer_487.param b/PARAM/SHMS/NGCER/KPP_Spring_2017/pngcer_487.param deleted file mode 100644 index 17935be718e78fe0400a85ed3dc6e716c9d1759f..0000000000000000000000000000000000000000 --- a/PARAM/SHMS/NGCER/KPP_Spring_2017/pngcer_487.param +++ /dev/null @@ -1,43 +0,0 @@ -; Number of noble gas Cherenkov PMT's -pngcer_tot_pmts = 4 - -; Noble gas cherenkov gain factors run 487, July 11 2017 -pngcer_adc_to_npe = 1.0/464.187, 1.0/484.511, 1.0/499.748, 1.0/462.744 - -; Track matching reduced chi2 cut values -pngcer_red_chi2_min = 0.0 -pngcer_red_chi2_max = 25.0 - -; Track matching beta cut values -pngcer_beta_min = 0.0 -pngcer_beta_max = 1.2 - -; Track matching normailized energy (E/p) cut values -pngcer_enorm_min = 0.0 -pngcer_enorm_max = 1.5 - -; ADC time window cut values used to select "good" ADC events -pngcer_adcTimeWindowMin = 500. -pngcer_adcTimeWindowMax = 2500. - -; ; NPE Threshold for "good" hit (for measureing effic.) -pngcer_npe_thresh = 0.5 - -; Guess from Dwg. 67165-E-00001 R0 -pngcer_mirror_zpos = -89.1 - -; Number of regions in which tracks can be matched too -pngcer_num_regions = 4; - -; pngcer_region: 8 values for each region (1 per mirror + sum) -; central x,y,dx,dy values and x,y,dx,dy half widths. -; Defined in clomuns, region 1, region 2, region 3, region 4... -; Assumes rectangular volume with x = 43 cm and y = 43 cm -pngcer_region = 21.5, 21.5, -21.5, -21.5, - 21.5, -21.5, 21.5, -21.5, - 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, - 21.5, 21.5, 21.5, 21.5, - 21.5, 21.5, 21.5, 21.5, - 0.15, 0.15, 0.15, 0.15, - 0.1, 0.1, 0.1, 0.1 \ No newline at end of file diff --git a/PARAM/SHMS/NGCER/KPP_Spring_2017/pngcer_488.param b/PARAM/SHMS/NGCER/KPP_Spring_2017/pngcer_488.param deleted file mode 100644 index 0c267bd8cfbfe255ea922a06610d456435ffe1a5..0000000000000000000000000000000000000000 --- a/PARAM/SHMS/NGCER/KPP_Spring_2017/pngcer_488.param +++ /dev/null @@ -1,43 +0,0 @@ -; Number of noble gas Cherenkov PMT's -pngcer_tot_pmts = 4 - -; Noble gas cherenkov gain factors run 488, July 11 2017 -pngcer_adc_to_npe = 1.0/438.119, 1.0/477.902, 1.0/475.153, 1.0/488.668 - -; Track matching reduced chi2 cut values -pngcer_red_chi2_min = 0.0 -pngcer_red_chi2_max = 25.0 - -; Track matching beta cut values -pngcer_beta_min = 0.0 -pngcer_beta_max = 1.2 - -; Track matching normailized energy (E/p) cut values -pngcer_enorm_min = 0.0 -pngcer_enorm_max = 1.5 - -; ADC time window cut values used to select "good" ADC events -pngcer_adcTimeWindowMin = 500. -pngcer_adcTimeWindowMax = 2500. - -; ; NPE Threshold for "good" hit (for measureing effic.) -pngcer_npe_thresh = 0.5 - -; Guess from Dwg. 67165-E-00001 R0 -pngcer_mirror_zpos = -89.1 - -; Number of regions in which tracks can be matched too -pngcer_num_regions = 4; - -; pngcer_region: 8 values for each region (1 per mirror + sum) -; central x,y,dx,dy values and x,y,dx,dy half widths. -; Defined in clomuns, region 1, region 2, region 3, region 4... -; Assumes rectangular volume with x = 43 cm and y = 43 cm -pngcer_region = 21.5, 21.5, -21.5, -21.5, - 21.5, -21.5, 21.5, -21.5, - 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, - 21.5, 21.5, 21.5, 21.5, - 21.5, 21.5, 21.5, 21.5, - 0.15, 0.15, 0.15, 0.15, - 0.1, 0.1, 0.1, 0.1 \ No newline at end of file diff --git a/PARAM/TRIG/tcoin.param b/PARAM/TRIG/tcoin.param new file mode 100644 index 0000000000000000000000000000000000000000..f09ef239e5bb21ebb8c0c3e85cdee7e9f8ae5b41 --- /dev/null +++ b/PARAM/TRIG/tcoin.param @@ -0,0 +1,10 @@ +t_coin_numAdc = 19 +t_coin_numTdc = 43 +t_coin_tdcoffset = -300. +t_coin_tdcchanperns = 0.1 + +; bar num: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 +t_coin_adcNames = "pAERSUM pHGCSUM pNGCSUM pFRXA pFRYA pFRXB pFRYB hASUM hBSUM hCSUM hDSUM hPSHWR hSHWR hAERSUM hCERSUM hFRXA hFRYA hFRXB hFRYB" + +; bar num: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 +t_coin_tdcNames = "pT1 pT2 p1X p1Y p2X p2Y p1T p2T pT3 pAERSUM pHGCSUM pNGCSUM pDCREF1 pDCREF2 pDCREF3 pDCREF4 pDCREF5 pDCREF6 pDCREF7 pDCREF8 pDCREF9 pDCREF10 h1X h1Y h2X h2Y h1T h2T hT1 hASUM hBSUM hCSUM hDSUM hPSHWRLO hPSHWRHI hSHWR hAERSUM hCERSUM hT2 hDCREF1 hDCREF2 hDCREF3 hDCREF4" \ No newline at end of file diff --git a/SCRIPTS/COIN/PRODUCTION/replay_production_coin.C b/SCRIPTS/COIN/PRODUCTION/replay_production_coin.C new file mode 100644 index 0000000000000000000000000000000000000000..538496a0810db7a52d16eaa213ff5baf323701fd --- /dev/null +++ b/SCRIPTS/COIN/PRODUCTION/replay_production_coin.C @@ -0,0 +1,193 @@ +void replay_production_coin (Int_t RunNumber = 0, Int_t MaxEvent = 0) { + + // Get RunNumber and MaxEvent if not provided. + if(RunNumber == 0) { + cout << "Enter a Run Number (-1 to exit): "; + cin >> RunNumber; + if( RunNumber<=0 ) return; + } + if(MaxEvent == 0) { + cout << "\nNumber of Events to analyze: "; + cin >> MaxEvent; + if(MaxEvent == 0) { + cerr << "...Invalid entry\n"; + exit; + } + } + + // Create file name patterns. + const char* RunFileNamePattern = "raw/shms_all_%05d.dat"; + //const char* RunFileNamePattern = "raw/coin_all_%05d.dat"; + const char* ROOTFileNamePattern = "ROOTfiles/coin_replay_production_%d_%d.root"; + + // Load global parameters + // Add variables to global list. + gHcParms->Define("gen_run_number", "Run Number", RunNumber); + gHcParms->AddString("g_ctp_database_filename", "DBASE/COIN/STD/standard.database"); + // Load varibles from files to global list. + gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); + // g_ctp_parm_filename and g_decode_map_filename should now be defined. + gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); + gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); + gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); + // Load params for SHMS trigger configuration + gHcParms->Load("PARAM/TRIG/tcoin.param"); + + // Load the Hall C detector map + gHcDetectorMap = new THcDetectorMap(); + gHcDetectorMap->Load("MAPS/COIN/DETEC/coin.map"); + + //=:=:= + // HMS + //=:=:= + + // Set up the equipment to be analyzed. + THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS"); + gHaApps->Add(HMS); + // Add drift chambers to HMS apparatus + THcDC* hdc = new THcDC("dc", "Drift Chambers"); + HMS->AddDetector(hdc); + // Add hodoscope to HMS apparatus + THcHodoscope* hhod = new THcHodoscope("hod", "Hodoscope"); + HMS->AddDetector(hhod); + // Add Cherenkov to HMS apparatus + THcCherenkov* hcer = new THcCherenkov("cer", "Heavy Gas Cherenkov"); + HMS->AddDetector(hcer); + // Add Aerogel Cherenkov to HMS apparatus + //THcAerogel* aero = new THcAerogel("aero", "Aerogel"); + //HMS->AddDetector(aero); + // Add calorimeter to HMS apparatus + THcShower* hcal = new THcShower("cal", "Calorimeter"); + HMS->AddDetector(hcal); + + // Include golden track information + THaGoldenTrack* hgtr = new THaGoldenTrack("H.gtr", "HMS Golden Track", "H"); + gHaPhysics->Add(hgtr); + // Add Physics Module to calculate primary (scattered) beam kinematics + THcPrimaryKine* hkin_primary = new THcPrimaryKine("H.kin.primary", "HMS Single Arm Kinematics", "H", "IB"); + gHaPhysics->Add(hkin_primary); + // Add Physics Module to calculate secondary (scattered) beam kinematics + // THcSecondaryKine* hkin_secondary = new THcSecondaryKine("H.kin.secondary", "HMS Single Arm Kinematics", "H", "IB"); + // gHaPhysics->Add(hkin_secondary); + // Add event handler for scaler events + THcScalerEvtHandler *hscaler = new THcScalerEvtHandler("H", "Hall C scaler event type 1"); + hscaler->AddEvtType(1); + hscaler->SetUseFirstEvent(kTRUE); + gHaEvtHandlers->Add(hscaler); + + //=:=:=:= + // SHMS + //=:=:=:= + + // Set up the equipment to be analyzed. + THaApparatus* SHMS = new THcHallCSpectrometer("P", "SHMS"); + gHaApps->Add(SHMS); + // Add Noble Gas Cherenkov to SHMS apparatus + THcCherenkov* pngcer = new THcCherenkov("ngcer", "Noble Gas Cherenkov"); + SHMS->AddDetector(pngcer); + // Add drift chambers to SHMS apparatus + THcDC* pdc = new THcDC("dc", "Drift Chambers"); + SHMS->AddDetector(pdc); + // Add hodoscope to SHMS apparatus + THcHodoscope* phod = new THcHodoscope("hod", "Hodoscope"); + SHMS->AddDetector(phod); + // Add Heavy Gas Cherenkov to SHMS apparatus + THcCherenkov* phgcer = new THcCherenkov("hgcer", "Heavy Gas Cherenkov"); + SHMS->AddDetector(phgcer); + // Add Aerogel Cherenkov to SHMS apparatus + THcAerogel* paero = new THcAerogel("aero", "Aerogel"); + SHMS->AddDetector(paero); + // Add calorimeter to SHMS apparatus + THcShower* pcal = new THcShower("cal", "Calorimeter"); + SHMS->AddDetector(pcal); + + // Include golden track information + THaGoldenTrack* gtr = new THaGoldenTrack("P.gtr", "SHMS Golden Track", "P"); + gHaPhysics->Add(gtr); + // Add Physics Module to calculate primary (scattered) beam kinematics + THcPrimaryKine* pkin_primary = new THcPrimaryKine("P.kin.primary", "SHMS Single Arm Kinematics", "P", "IB"); + gHaPhysics->Add(pkin_primary); + // // Add Physics Module to calculate secondary (scattered) beam kinematics + // THcSecondaryKine* pkin_secondary = new THcSecondaryKine("P.kin.secondary", "SHMS Single Arm Kinematics", "P", "IB"); + // gHaPhysics->Add(pkin_secondary); + // Add event handler for scaler events + THcScalerEvtHandler* pscaler = new THcScalerEvtHandler("P", "Hall C scaler event type 1"); + pscaler->AddEvtType(1); + pscaler->SetUseFirstEvent(kTRUE); + gHaEvtHandlers->Add(pscaler); + + + //=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= + // Global Objects & Event Handlers + //=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= + + // Add trigger apparatus + THaApparatus* TRG = new THcTrigApp("T", "TRG"); + gHaApps->Add(TRG); + // Add trigger detector to trigger apparatus + THcTrigDet* coin = new THcTrigDet("coin", "Coincidence Trigger Information"); + TRG->AddDetector(coin); + // Add Ideal Beam Apparatus + THaApparatus* beam = new THaIdealBeam("IB", "Ideal Beamline"); + gHaApps->Add(beam); + // Add event handler for prestart event 125. + THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125"); + gHaEvtHandlers->Add(ev125); + // Add event handler for EPICS events + THaEpicsEvtHandler* hcepics = new THaEpicsEvtHandler("epics", "HC EPICS event type 180"); + gHaEvtHandlers->Add(hcepics); + + // Set up the analyzer - we use the standard one, + // but this could be an experiment-specific one as well. + // The Analyzer controls the reading of the data, executes + // tests/cuts, loops over Acpparatus's and PhysicsModules, + // and executes the output routines. + THcAnalyzer* analyzer = new THcAnalyzer; + + // A simple event class to be output to the resulting tree. + // Creating your own descendant of THaEvent is one way of + // defining and controlling the output. + THaEvent* event = new THaEvent; + + // Define the run(s) that we want to analyze. + // We just set up one, but this could be many. + char RunFileName[100]; + sprintf(RunFileName, RunFileNamePattern, RunNumber); + THaRun* run = new THaRun(RunFileName); + + // Set to read in Hall C run database parameters + run->SetRunParamClass("THcRunParameters"); + + // Eventually need to learn to skip over, or properly analyze + // the pedestal events + run->SetEventRange(1, MaxEvent); // Physics Event number, does not + // include scaler or control events. + run->SetNscan(1); + run->SetDataRequired(0x7); + run->Print(); + + // Define the analysis parameters + TString ROOTFileName = Form(ROOTFileNamePattern, RunNumber, MaxEvent); + analyzer->SetCountMode(2); // 0 = counter is # of physics triggers + // 1 = counter is # of all decode reads + // 2 = counter is event number + analyzer->SetEvent(event); + // Set EPICS event type + analyzer->SetEpicsEvtType(180); + // Define crate map + analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat"); + // Define output ROOT file + analyzer->SetOutFile(ROOTFileName.Data()); + // Define DEF-file+ + analyzer->SetOdefFile("DEF-files/COIN/PRODUCTION/coin_production.def"); + // Define cuts file + analyzer->SetCutFile("DEF-files/COIN/PRODUCTION/coin_production_cuts.def"); // optional + // File to record accounting information for cuts + analyzer->SetSummaryFile(Form("REPORT_OUTPUT/COIN/PRODUCTION/summary_production_%d_%d.report", RunNumber, MaxEvent)); // optional + // Start the actual analysis. + analyzer->Process(run); + // Create report file from template + analyzer->PrintReport("TEMPLATES/COIN/PRODUCTION/coin_production.template", + Form("REPORT_OUTPUT/COIN/PRODUCTION/replay_coin_production_%d_%d.report", RunNumber, MaxEvent)); // optional + +} diff --git a/SCRIPTS/HMS/PRODUCTION/replay_production_hms.C b/SCRIPTS/HMS/PRODUCTION/replay_production_hms.C index cb5d01d0fe3920890d5f21d0b1f2adf6cb556d0b..dc44af6c828bb33610ab195ae1aed957f54d6ce8 100644 --- a/SCRIPTS/HMS/PRODUCTION/replay_production_hms.C +++ b/SCRIPTS/HMS/PRODUCTION/replay_production_hms.C @@ -22,7 +22,7 @@ void replay_production_hms(Int_t RunNumber=0, Int_t MaxEvent=0) { //Load Global parameters // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); // g_ctp_parm_filename and g_decode_map_filename should now be defined. @@ -68,8 +68,8 @@ void replay_production_hms(Int_t RunNumber=0, Int_t MaxEvent=0) { // Add Ideal Beam Apparatus THaApparatus* beam = new THaIdealBeam("IB", "Ideal Beamline"); gHaApps->Add(beam); - // Add Physics Module to calculate primary (scattered beam - usually electron) kinematics - THcPrimaryKine* hkin = new THcPrimaryKine("H.kin", "HMS single arm e- kinematics", "H", "IB"); + // Add Physics Module to calculate primary (scattered) beam kinematics + THcPrimaryKine* hkin = new THcPrimaryKine("H.kin", "HMS Single Arm Kinematics", "H", "IB"); gHaPhysics->Add(hkin); // Add handler for prestart event 125. diff --git a/SCRIPTS/HMS/RASTER/replay_hms_raster_simple.C b/SCRIPTS/HMS/RASTER/replay_hms_raster_simple.C index f23116dac1bbc244b4ee4758a76f7e0dbb3217b9..e897a0f9bbc11f20d2a9c6e99d4751f0ea0b8784 100644 --- a/SCRIPTS/HMS/RASTER/replay_hms_raster_simple.C +++ b/SCRIPTS/HMS/RASTER/replay_hms_raster_simple.C @@ -20,16 +20,14 @@ void replay_hms_raster_simple(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/hms_raster_simple_%d_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); - + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); //Load global parameters // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); - // g_ctp_parm_filename and g_decode_map_filename should now be defined. gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); - + gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); // Load params for HMS trigger configuration gHcParms->Load("PARAM/TRIG/thms_raster.param"); diff --git a/SCRIPTS/HMS/SCALERS/replay_hms_scalers.C b/SCRIPTS/HMS/SCALERS/replay_hms_scalers.C index 9d479b762215871a94bb480587ebd6ea62632f6c..7efb4ec55147f3bbfb6b5d322e9d7fc365785d49 100644 --- a/SCRIPTS/HMS/SCALERS/replay_hms_scalers.C +++ b/SCRIPTS/HMS/SCALERS/replay_hms_scalers.C @@ -22,7 +22,7 @@ void replay_hms_scalers(Int_t RunNumber=0, Int_t MaxEvent=0) { // Load global parameters // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); // g_ctp_parm_filename and g_decode_map_filename should now be defined. diff --git a/SCRIPTS/HMS/STACK/replay_hms.C b/SCRIPTS/HMS/STACK/replay_hms.C index 4c16798ba61e074d6d023d4c7292e4133c28df27..8219c289ba3580914ac7b4096fd4af9e66035bdb 100644 --- a/SCRIPTS/HMS/STACK/replay_hms.C +++ b/SCRIPTS/HMS/STACK/replay_hms.C @@ -20,16 +20,13 @@ void replay_hms(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/hms_replay_%d_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); - + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); - // g_ctp_parm_filename and g_decode_map_filename should now be defined. gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); - // Load params for HMS trigger configuration gHcParms->Load("PARAM/TRIG/thms.param"); @@ -43,7 +40,6 @@ void replay_hms(Int_t RunNumber=0, Int_t MaxEvent=0) { // Add trigger detector to trigger apparatus THcTrigDet* hms = new THcTrigDet("hms", "HMS Trigger Information"); TRG->AddDetector(hms); - // Set up the equipment to be analyzed. THaApparatus* HMS = new THcHallCSpectrometer("H", "HMS"); gHaApps->Add(HMS); @@ -53,11 +49,9 @@ void replay_hms(Int_t RunNumber=0, Int_t MaxEvent=0) { // Add hodoscope to HMS apparatus THcHodoscope* hod = new THcHodoscope("hod", "Hodoscope"); HMS->AddDetector(hod); - // Add Aerogel Cherenkov to SHMS apparatus //THcAerogel* aero = new THcAerogel("aero", "Aerogel"); //HMS->AddDetector(aero); - // Add Cherenkov to HMS apparatus THcCherenkov* cer = new THcCherenkov("cer", "Heavy Gas Cherenkov"); HMS->AddDetector(cer); @@ -68,7 +62,6 @@ void replay_hms(Int_t RunNumber=0, Int_t MaxEvent=0) { // Include golden track information THaGoldenTrack* gtr = new THaGoldenTrack("H.gtr", "HMS Golden Track", "H"); gHaPhysics->Add(gtr); - // Add handler for prestart event 125. THcConfigEvtHandler* ev125 = new THcConfigEvtHandler("HC", "Config Event type 125"); gHaEvtHandlers->Add(ev125); diff --git a/SCRIPTS/HMS/TEST_STANDS/replay_hcal_test_stand.C b/SCRIPTS/HMS/TEST_STANDS/replay_hcal_test_stand.C index e2c4fa6f02fe728b175d3bf565090e9bc651453a..2795dffd4c1850d08452e06b991b90b24f827d79 100644 --- a/SCRIPTS/HMS/TEST_STANDS/replay_hcal_test_stand.C +++ b/SCRIPTS/HMS/TEST_STANDS/replay_hcal_test_stand.C @@ -20,11 +20,9 @@ void replay_hcal_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/hcal_replay_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); - + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); - // g_ctp_parm_filename and g_decode_map_filename should now be defined. gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); diff --git a/SCRIPTS/HMS/TEST_STANDS/replay_hcer_test_stand.C b/SCRIPTS/HMS/TEST_STANDS/replay_hcer_test_stand.C index 072e1a2fea7d00c054c85ca9d73126a29df20440..28e4fc9aadf3d239a1b9c9acd27074921a093216 100644 --- a/SCRIPTS/HMS/TEST_STANDS/replay_hcer_test_stand.C +++ b/SCRIPTS/HMS/TEST_STANDS/replay_hcer_test_stand.C @@ -18,21 +18,20 @@ void replay_hcer_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { // Create file name patterns. const char* RunFileNamePattern = "raw/hms_all_%05d.dat"; const char* ROOTFileNamePattern = "ROOTfiles/hcer_replay_%d.root"; + // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); - + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); - // g_ctp_parm_filename and g_decode_map_filename should now be defined. gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); - // Load params for HMS trigger configuration gHcParms->Load("PARAM/TRIG/thms.param"); gHcParms->Load("PARAM/HMS/GEN/h_fadc_debug.param"); + // Load the Hall C style detector map gHcDetectorMap = new THcDetectorMap(); gHcDetectorMap->Load("MAPS/HMS/DETEC/CER/hcer_htrig.map"); diff --git a/SCRIPTS/HMS/TEST_STANDS/replay_hdc_test_stand.C b/SCRIPTS/HMS/TEST_STANDS/replay_hdc_test_stand.C index 71c184bc8d85e72b94c8b74b576f2cf79ead6592..3536e682c942e7768bda0cf94824c179b25d9fa4 100644 --- a/SCRIPTS/HMS/TEST_STANDS/replay_hdc_test_stand.C +++ b/SCRIPTS/HMS/TEST_STANDS/replay_hdc_test_stand.C @@ -18,18 +18,16 @@ void replay_hdc_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { // Create file name patterns. const char* RunFileNamePattern = "raw/hms_all_%05d.dat"; const char* ROOTFileNamePattern = "ROOTfiles/hdc_replay_%d.root"; + // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); - + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); - // g_ctp_parm_filename and g_decode_map_filename should now be defined. gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); - // Load params for HMS trigger configuration gHcParms->Load("PARAM/TRIG/thms.param"); diff --git a/SCRIPTS/HMS/TEST_STANDS/replay_hhodo_test_stand.C b/SCRIPTS/HMS/TEST_STANDS/replay_hhodo_test_stand.C index 6fa31b05174be015e9120e77ce481cd3d7c26685..c202cfd229a6187682b89e6161acab8304cd4a08 100644 --- a/SCRIPTS/HMS/TEST_STANDS/replay_hhodo_test_stand.C +++ b/SCRIPTS/HMS/TEST_STANDS/replay_hhodo_test_stand.C @@ -18,18 +18,16 @@ void replay_hhodo_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { // Create file name patterns. const char* RunFileNamePattern = "raw/hms_all_%05d.dat"; const char* ROOTFileNamePattern = "ROOTfiles/hhodo_replay_%d.root"; + // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); - + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); - // g_ctp_parm_filename and g_decode_map_filename should now be defined. gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); - // Load params for HMS trigger configuration gHcParms->Load("PARAM/TRIG/thms.param"); diff --git a/SCRIPTS/HMS/TEST_STANDS/replay_htrig_test_stand.C b/SCRIPTS/HMS/TEST_STANDS/replay_htrig_test_stand.C index 219ad1daf4d7e829c7a488516b1486bc74787ff8..b535387c24e2a1bc2994a8edf5e6bd3baec7ffc2 100644 --- a/SCRIPTS/HMS/TEST_STANDS/replay_htrig_test_stand.C +++ b/SCRIPTS/HMS/TEST_STANDS/replay_htrig_test_stand.C @@ -18,18 +18,16 @@ void replay_htrig_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { // Create file name patterns. const char* RunFileNamePattern = "raw/hms_all_%05d.dat"; const char* ROOTFileNamePattern = "ROOTfiles/htrig_replay_%d.root"; + // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); - + gHcParms->AddString("g_ctp_database_filename", "DBASE/HMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); - // g_ctp_parm_filename and g_decode_map_filename should now be defined. gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); - // Load params for HMS DC test stand configuration gHcParms->Load("PARAM/TRIG/thms.param"); diff --git a/SCRIPTS/SHMS/EXAMPLES/replay_workshop_example.C b/SCRIPTS/SHMS/EXAMPLES/replay_workshop_example.C index 5dc5e0d7a52280e46a20a28237d77b76376cfed7..6cc389b4be42424381d1fc86ee6360e8ac658d5d 100644 --- a/SCRIPTS/SHMS/EXAMPLES/replay_workshop_example.C +++ b/SCRIPTS/SHMS/EXAMPLES/replay_workshop_example.C @@ -19,18 +19,19 @@ void replay_workshop_example(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_%d_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); // g_ctp_parm_filename and g_decode_map_filename should now be defined. gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); + gHcParms->Load(gHcParms->GetString("g_ctp_calib_filename")); // Load params for SHMS trigger configuration gHcParms->Load("PARAM/TRIG/tshms.param"); // Load the Hall C style detector map gHcDetectorMap = new THcDetectorMap(); - gHcDetectorMap->Load("MAPS/SHMS/DETEC/shms_stack.map"); + gHcDetectorMap->Load("MAPS/SHMS/DETEC/STACK/shms_stack.map"); // Add trigger apparatus THaApparatus* TRG = new THcTrigApp("T", "TRG"); @@ -92,8 +93,8 @@ void replay_workshop_example(Int_t RunNumber=0, Int_t MaxEvent=0) { analyzer->SetEvent(event); analyzer->SetCrateMapFileName("MAPS/db_cratemap.dat"); analyzer->SetOutFile(ROOTFileName.Data()); - analyzer->SetOdefFile("DEF-files/SHMS/GEN/workshop_example.def"); - analyzer->SetCutFile("DEF-files/SHMS/GEN/pstackana_cuts.def"); // optional + analyzer->SetOdefFile("DEF-files/SHMS/EXAMPLES/workshop_example.def"); + analyzer->SetCutFile("DEF-files/SHMS/STACK/pstackana_cuts.def"); // optional // File to record cuts accounting information //analyzer->SetSummaryFile("summary_example.log"); // optional diff --git a/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C b/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C index a359b3e05e8152de142f2389ee1848898d77924f..d80c02bb5e92a7a8ea4e21ddc4a7f20832179875 100644 --- a/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C +++ b/SCRIPTS/SHMS/PRODUCTION/replay_production_shms.C @@ -22,7 +22,7 @@ void replay_production_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) { // Load global parameters // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); // g_ctp_parm_filename and g_decode_map_filename should now be defined. diff --git a/SCRIPTS/SHMS/RASTER/replay_shms_raster_simple.C b/SCRIPTS/SHMS/RASTER/replay_shms_raster_simple.C index e90c2559e95f95783cbdc1a9e9841640cfe9bf7d..1c417ab6705cab4b5d80ad55feef58f5aedbb782 100644 --- a/SCRIPTS/SHMS/RASTER/replay_shms_raster_simple.C +++ b/SCRIPTS/SHMS/RASTER/replay_shms_raster_simple.C @@ -20,7 +20,7 @@ void replay_shms_raster_simple (Int_t RunNumber = 0, Int_t MaxEvent = 0) { const char* ROOTFileNamePattern = "ROOTfiles/shms_replay_raster_simple_%d_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load global parameters // Add varibles to global list. diff --git a/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C b/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C index e7ffd129d615295e25a2448ab60bdd60de573852..0a74c103c90db9969869e560aa067d86c0c8c58e 100644 --- a/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C +++ b/SCRIPTS/SHMS/SCALERS/replay_shms_scalers.C @@ -22,7 +22,7 @@ void replay_shms_scalers (Int_t RunNumber = 0, Int_t MaxEvent = 0) { // Load global parameters // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); // g_ctp_parm_filename and g_decode_map_filename should now be defined. diff --git a/SCRIPTS/SHMS/STACK/replay_shms.C b/SCRIPTS/SHMS/STACK/replay_shms.C index 18a7a7a3f22c70982372f7de1f2579ce763471d8..8dbff29a73f3489531b100bfc3eaee9d557ea23b 100644 --- a/SCRIPTS/SHMS/STACK/replay_shms.C +++ b/SCRIPTS/SHMS/STACK/replay_shms.C @@ -22,7 +22,7 @@ void replay_shms (Int_t RunNumber = 0, Int_t MaxEvent = 0) { // Load global parameters // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); // g_ctp_parm_filename and g_decode_map_filename should now be defined. diff --git a/SCRIPTS/SHMS/TEST_STANDS/replay_paero_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_paero_test_stand.C index 572c21ff27ed440013987eb3c8bbfac2c0c2850d..aa6c978846007864465e1cdb6e1f3be7a6cb5f8e 100644 --- a/SCRIPTS/SHMS/TEST_STANDS/replay_paero_test_stand.C +++ b/SCRIPTS/SHMS/TEST_STANDS/replay_paero_test_stand.C @@ -20,7 +20,7 @@ void replay_paero_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/paero_replay_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); diff --git a/SCRIPTS/SHMS/TEST_STANDS/replay_pcal_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_pcal_test_stand.C index e4334b3a7e0d3ea326496b4d43a256fadbc787d3..2922eb38a59d7a61924dedd942dfe443414f0520 100644 --- a/SCRIPTS/SHMS/TEST_STANDS/replay_pcal_test_stand.C +++ b/SCRIPTS/SHMS/TEST_STANDS/replay_pcal_test_stand.C @@ -20,7 +20,7 @@ void replay_pcal_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/pcal_replay_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); diff --git a/SCRIPTS/SHMS/TEST_STANDS/replay_pdc_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_pdc_test_stand.C index 30495784b16ad7eefed86c968333fbcc17fdabe0..89a43b02536614bf49b85d849f04076741cdb6cf 100644 --- a/SCRIPTS/SHMS/TEST_STANDS/replay_pdc_test_stand.C +++ b/SCRIPTS/SHMS/TEST_STANDS/replay_pdc_test_stand.C @@ -20,7 +20,7 @@ void replay_pdc_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/pdc_replay_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); diff --git a/SCRIPTS/SHMS/TEST_STANDS/replay_phgcer_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_phgcer_test_stand.C index e554f1adc75e7ed6f7761a67d84e384b8609084e..d7f00f642b8ed6409e7e0af4a4d447870284ac59 100644 --- a/SCRIPTS/SHMS/TEST_STANDS/replay_phgcer_test_stand.C +++ b/SCRIPTS/SHMS/TEST_STANDS/replay_phgcer_test_stand.C @@ -20,7 +20,7 @@ void replay_phgcer_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/phgcer_replay_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); diff --git a/SCRIPTS/SHMS/TEST_STANDS/replay_phodo_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_phodo_test_stand.C index bfca89e9a3120c26886f210218d7492b8e42434f..9e32b3304d454d807df81b6ee45f52e61b602c1e 100644 --- a/SCRIPTS/SHMS/TEST_STANDS/replay_phodo_test_stand.C +++ b/SCRIPTS/SHMS/TEST_STANDS/replay_phodo_test_stand.C @@ -20,11 +20,9 @@ void replay_phodo_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/phodo_replay_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); - + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); - // g_ctp_parm_filename and g_decode_map_filename should now be defined. gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); diff --git a/SCRIPTS/SHMS/TEST_STANDS/replay_pngcer_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_pngcer_test_stand.C index 312d157bbed566268be9fbbb2bfbfbe1808b9f5f..4c2d23341dd141e993c911809069ba30811d2567 100644 --- a/SCRIPTS/SHMS/TEST_STANDS/replay_pngcer_test_stand.C +++ b/SCRIPTS/SHMS/TEST_STANDS/replay_pngcer_test_stand.C @@ -20,7 +20,7 @@ void replay_pngcer_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/pngcer_replay_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); diff --git a/SCRIPTS/SHMS/TEST_STANDS/replay_ptrig_test_stand.C b/SCRIPTS/SHMS/TEST_STANDS/replay_ptrig_test_stand.C index 96d5a5e4186e0517c0d849d94555d0531df86069..9df0e328616f86be92029c39510176fc88931961 100644 --- a/SCRIPTS/SHMS/TEST_STANDS/replay_ptrig_test_stand.C +++ b/SCRIPTS/SHMS/TEST_STANDS/replay_ptrig_test_stand.C @@ -20,7 +20,7 @@ void replay_ptrig_test_stand(Int_t RunNumber=0, Int_t MaxEvent=0) { const char* ROOTFileNamePattern = "ROOTfiles/ptrig_replay_%d.root"; // Add variables to global list. gHcParms->Define("gen_run_number", "Run Number", RunNumber); - gHcParms->AddString("g_ctp_database_filename", "DBASE/STD/standard.database"); + gHcParms->AddString("g_ctp_database_filename", "DBASE/SHMS/STD/standard.database"); // Load varibles from files to global list. gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); diff --git a/TEMPLATES/COIN/PRODUCTION/coin_production.template b/TEMPLATES/COIN/PRODUCTION/coin_production.template new file mode 100644 index 0000000000000000000000000000000000000000..df28a2223f09951edded4c624091d148312abb1d --- /dev/null +++ b/TEMPLATES/COIN/PRODUCTION/coin_production.template @@ -0,0 +1,9 @@ +Run #: {gen_run_number} + +Run Time : {P.1Mhz.scaler} {P.1Mhz.scaler/1000000.} sec + +BCM1 : {(P.BCM1.scalerRate-250000)/(4673):%3.3f} uA Total charge = {(P.BCM1.scalerRate-250000) / (4673)*P.1Mhz.scaler/1000000.:%7.3f} uC +BCM2 : {(P.BCM2.scalerRate-250000)/(3954):%3.3f} uA Total charge = {(P.BCM2.scalerRate-250000) / (3954)*P.1Mhz.scaler/1000000.:%7.3f} uC +Unser : {(P.Unser.scalerRate-393000)/(4000):%3.3f} uA Total charge = {(P.Unser.scalerRate-393000) / (4000)*P.1Mhz.scaler/1000000.:%7.3f} uC + +All triggers : {all_trigs.npassed} \ No newline at end of file diff --git a/onlineGUI/onlineGUI_v1.2.1/onlineDict.h b/onlineGUI/onlineGUI_v1.2.1/onlineDict.h index 419d2a72a57b54e17c75c873b78aa737430d933d..a194f990b55a6149b0385ae96e74b235b113e0ce 100644 --- a/onlineGUI/onlineGUI_v1.2.1/onlineDict.h +++ b/onlineGUI/onlineGUI_v1.2.1/onlineDict.h @@ -1,92 +1,92 @@ -/******************************************************************** -* onlineDict.h -* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED -* FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX(). -* CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE. -********************************************************************/ -#ifdef __CINT__ -#error onlineDict.h/C is only for compilation. Abort cint. -#endif -#include <stddef.h> -#include <stdio.h> -#include <stdlib.h> -#include <math.h> -#include <string.h> -#define G__ANSIHEADER -#define G__DICTIONARY -#define G__PRIVATE_GVALUE -#include "G__ci.h" -#include "FastAllocString.h" -extern "C" { -extern void G__cpp_setup_tagtableonlineDict(); -extern void G__cpp_setup_inheritanceonlineDict(); -extern void G__cpp_setup_typetableonlineDict(); -extern void G__cpp_setup_memvaronlineDict(); -extern void G__cpp_setup_globalonlineDict(); -extern void G__cpp_setup_memfunconlineDict(); -extern void G__cpp_setup_funconlineDict(); -extern void G__set_cpp_environmentonlineDict(); -} - - -#include "TObject.h" -#include "TMemberInspector.h" -#include "online.h" -#include <algorithm> -namespace std { } -using namespace std; - -#ifndef G__MEMFUNCBODY -#endif - -extern G__linked_taginfo G__onlineDictLN_TString; -extern G__linked_taginfo G__onlineDictLN_vectorlEunsignedsPintcOallocatorlEunsignedsPintgRsPgR; -extern G__linked_taginfo G__onlineDictLN_basic_ifstreamlEcharcOchar_traitslEchargRsPgR; -extern G__linked_taginfo G__onlineDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_TList; -extern G__linked_taginfo G__onlineDictLN_TTimer; -extern G__linked_taginfo G__onlineDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR; -extern G__linked_taginfo G__onlineDictLN_maplEstringcOTObjArraymUcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOTObjArraymUgRsPgRsPgR; -extern G__linked_taginfo G__onlineDictLN_TCut; -extern G__linked_taginfo G__onlineDictLN_TQObjSender; -extern G__linked_taginfo G__onlineDictLN_TGWindow; -extern G__linked_taginfo G__onlineDictLN_pairlEunsignedsPintcOintgR; -extern G__linked_taginfo G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_TGTextButton; -extern G__linked_taginfo G__onlineDictLN_TGVerticalFrame; -extern G__linked_taginfo G__onlineDictLN_TGHorizontalFrame; -extern G__linked_taginfo G__onlineDictLN_TGMainFrame; -extern G__linked_taginfo G__onlineDictLN_TGPictureButton; -extern G__linked_taginfo G__onlineDictLN_TGRadioButton; -extern G__linked_taginfo G__onlineDictLN_TCanvas; -extern G__linked_taginfo G__onlineDictLN_TRootEmbeddedCanvas; -extern G__linked_taginfo G__onlineDictLN_TGLabel; -extern G__linked_taginfo G__onlineDictLN_TVectorTlEfloatgR; -extern G__linked_taginfo G__onlineDictLN_TVectorTlEdoublegR; -extern G__linked_taginfo G__onlineDictLN_TMatrixTBaselEfloatgR; -extern G__linked_taginfo G__onlineDictLN_TMatrixTBaselEdoublegR; -extern G__linked_taginfo G__onlineDictLN_RootFileObject; -extern G__linked_taginfo G__onlineDictLN_vectorlETTreemUcOallocatorlETTreemUgRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETTreemUcOallocatorlETTreemUgRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_vectorlEintcOallocatorlEintgRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETStringcOallocatorlETStringgRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_vectorlEfileObjectcOallocatorlEfileObjectgRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEfileObjectcOallocatorlEfileObjectgRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_drawcommand; -extern G__linked_taginfo G__onlineDictLN_OnlineConfig; -extern G__linked_taginfo G__onlineDictLN_pairlEunsignedsPintcOunsignedsPintgR; -extern G__linked_taginfo G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_vectorlETCutcOallocatorlETCutgRsPgR; -extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETCutcOallocatorlETCutgRsPgRcLcLiteratorgR; -extern G__linked_taginfo G__onlineDictLN_OnlineGUI; - -/* STUB derived class for protected member access */ +-/******************************************************************** +-* onlineDict.h +-* CAUTION: DON'T CHANGE THIS FILE. THIS FILE IS AUTOMATICALLY GENERATED +-* FROM HEADER FILES LISTED IN G__setup_cpp_environmentXXX(). +-* CHANGE THOSE HEADER FILES AND REGENERATE THIS FILE. +-********************************************************************/ +-#ifdef __CINT__ +-#error onlineDict.h/C is only for compilation. Abort cint. +-#endif +-#include <stddef.h> +-#include <stdio.h> +-#include <stdlib.h> +-#include <math.h> +-#include <string.h> +-#define G__ANSIHEADER +-#define G__DICTIONARY +-#define G__PRIVATE_GVALUE +-#include "G__ci.h" +-#include "FastAllocString.h" +-extern "C" { +-extern void G__cpp_setup_tagtableonlineDict(); +-extern void G__cpp_setup_inheritanceonlineDict(); +-extern void G__cpp_setup_typetableonlineDict(); +-extern void G__cpp_setup_memvaronlineDict(); +-extern void G__cpp_setup_globalonlineDict(); +-extern void G__cpp_setup_memfunconlineDict(); +-extern void G__cpp_setup_funconlineDict(); +-extern void G__set_cpp_environmentonlineDict(); +-} +- +- +-#include "TObject.h" +-#include "TMemberInspector.h" +-#include "online.h" +-#include <algorithm> +-namespace std { } +-using namespace std; +- +-#ifndef G__MEMFUNCBODY +-#endif +- +-extern G__linked_taginfo G__onlineDictLN_TString; +-extern G__linked_taginfo G__onlineDictLN_vectorlEunsignedsPintcOallocatorlEunsignedsPintgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_basic_ifstreamlEcharcOchar_traitslEchargRsPgR; +-extern G__linked_taginfo G__onlineDictLN_vectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEROOTcLcLTSchemaHelpercOallocatorlEROOTcLcLTSchemaHelpergRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_TList; +-extern G__linked_taginfo G__onlineDictLN_TTimer; +-extern G__linked_taginfo G__onlineDictLN_vectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETVirtualArraymUcOallocatorlETVirtualArraymUgRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_iteratorlEbidirectional_iterator_tagcOTObjectmUcOlongcOconstsPTObjectmUmUcOconstsPTObjectmUaNgR; +-extern G__linked_taginfo G__onlineDictLN_maplEstringcOTObjArraymUcOlesslEstringgRcOallocatorlEpairlEconstsPstringcOTObjArraymUgRsPgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_TCut; +-extern G__linked_taginfo G__onlineDictLN_TQObjSender; +-extern G__linked_taginfo G__onlineDictLN_TGWindow; +-extern G__linked_taginfo G__onlineDictLN_pairlEunsignedsPintcOintgR; +-extern G__linked_taginfo G__onlineDictLN_vectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOintgRcOallocatorlEpairlEunsignedsPintcOintgRsPgRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_TGTextButton; +-extern G__linked_taginfo G__onlineDictLN_TGVerticalFrame; +-extern G__linked_taginfo G__onlineDictLN_TGHorizontalFrame; +-extern G__linked_taginfo G__onlineDictLN_TGMainFrame; +-extern G__linked_taginfo G__onlineDictLN_TGPictureButton; +-extern G__linked_taginfo G__onlineDictLN_TGRadioButton; +-extern G__linked_taginfo G__onlineDictLN_TCanvas; +-extern G__linked_taginfo G__onlineDictLN_TRootEmbeddedCanvas; +-extern G__linked_taginfo G__onlineDictLN_TGLabel; +-extern G__linked_taginfo G__onlineDictLN_TVectorTlEfloatgR; +-extern G__linked_taginfo G__onlineDictLN_TVectorTlEdoublegR; +-extern G__linked_taginfo G__onlineDictLN_TMatrixTBaselEfloatgR; +-extern G__linked_taginfo G__onlineDictLN_TMatrixTBaselEdoublegR; +-extern G__linked_taginfo G__onlineDictLN_RootFileObject; +-extern G__linked_taginfo G__onlineDictLN_vectorlETTreemUcOallocatorlETTreemUgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETTreemUcOallocatorlETTreemUgRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_vectorlEintcOallocatorlEintgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEintcOallocatorlEintgRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_vectorlETStringcOallocatorlETStringgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETStringcOallocatorlETStringgRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_vectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEvectorlETStringcOallocatorlETStringgRsPgRcOallocatorlEvectorlETStringcOallocatorlETStringgRsPgRsPgRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_vectorlEfileObjectcOallocatorlEfileObjectgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEfileObjectcOallocatorlEfileObjectgRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_drawcommand; +-extern G__linked_taginfo G__onlineDictLN_OnlineConfig; +-extern G__linked_taginfo G__onlineDictLN_pairlEunsignedsPintcOunsignedsPintgR; +-extern G__linked_taginfo G__onlineDictLN_vectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlEpairlEunsignedsPintcOunsignedsPintgRcOallocatorlEpairlEunsignedsPintcOunsignedsPintgRsPgRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_vectorlETCutcOallocatorlETCutgRsPgR; +-extern G__linked_taginfo G__onlineDictLN_reverse_iteratorlEvectorlETCutcOallocatorlETCutgRsPgRcLcLiteratorgR; +-extern G__linked_taginfo G__onlineDictLN_OnlineGUI; +- +-/* STUB derived class for protected member access */