diff --git a/.gitignore b/.gitignore index db15b0f05190a0ca1d081312d48ecc78fe04e189..265ee89b612e580cbf2e6147b6bcba69becd5020 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,50 @@ # ignore patterns # Auto generated files +cppcheck_report.txt HallCDict.cxx +HallCDict.C HallCDict.h HallCDict.o +NormAnaDict.C +NormAnaDict.h +THaScalDict.C +THaScalDict.h +THaDecDict.C +THaDecDict.h +haDict.h +haDict.C hcana +# scons stuff +config.log +*.pyc +.sconsign.dblite +.sconf_temp/ + +#eclipse stuff +.cproject +.project +.settings +.pydevproject + # Patterns *.[oad] *~ *.so -\#.*\# +*.so.* +*.os +\#*\# + +# THtml generated documentation directory +docs/htmldoc + +# Examples directory +examples/*.root +examples/*.log.* +# This is auto generated by hodtest.C +examples/db_cratemap.dat +examples/report.out # Working directory work diff --git a/.gitmodules b/.gitmodules index 45d5f321fb5c4458bf9cd8111c4d7e45cd4564c1..5cce0a9c3cbf4d2ee8c5b22efb750dc5d7d40ec4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "podd"] path = podd - url = https://hallcweb.jlab.org/git/podd.git + url = git://github.com/JeffersonLab/analyzer.git + branch = Release-150 diff --git a/Makefile b/Makefile index f1f95c27ba2cb91e35847629effcfc7c67625121..056ecb8a81ec4b010b726ca16cb9a9f1455ddc28 100644 --- a/Makefile +++ b/Makefile @@ -7,13 +7,27 @@ # List only the implementation files (*.cxx). For every implementation file # there must be a corresponding header file (*.h). - SRC = src/THcInterface.cxx src/THcParmList.cxx src/THcAnalyzer.cxx \ - src/THcHodoscopeHit.cxx src/THcRawHit.cxx \ - src/THcDCHit.cxx \ - src/THcHitList.cxx src/THcDetectorMap.cxx src/THcHodoscope.cxx \ - src/THcHallCSpectrometer.cxx src/THcDriftChamber.cxx \ - src/THcScintillatorPlane.cxx + src/THcHallCSpectrometer.cxx \ + src/THcDetectorMap.cxx \ + src/THcRawHit.cxx src/THcHitList.cxx \ + src/THcSignalHit.cxx \ + src/THcHodoscope.cxx src/THcScintillatorPlane.cxx \ + src/THcRawHodoHit.cxx \ + src/THcDC.cxx src/THcDriftChamberPlane.cxx \ + src/THcDriftChamber.cxx \ + src/THcRawDCHit.cxx src/THcDCHit.cxx \ + src/THcDCWire.cxx \ + src/THcDCLookupTTDConv.cxx src/THcDCTimeToDistConv.cxx \ + src/THcSpacePoint.cxx src/THcDCTrack.cxx \ + src/THcShower.cxx src/THcShowerPlane.cxx \ + src/THcRawShowerHit.cxx \ + src/THcAerogel.cxx src/THcAerogelHit.cxx \ + src/THcCherenkov.cxx src/THcCherenkovHit.cxx \ + src/THcFormula.cxx\ + src/THcRaster.cxx\ + src/THcRasteredBeam.cxx\ + src/THcRasterRawHit.cxx # Name of your package. # The shared library that will be built will get the name lib$(PACKAGE).so @@ -50,6 +64,16 @@ endif INCDIRS = $(wildcard $(addprefix $(ANALYZER)/, include src hana_decode hana_scaler)), $(shell pwd)/src +#------------------------------------------------------------------------------ +# Check that root version is new enough (>= 5.32) by requiring +# root-config --svn-revision to be >= 43166 + +GOODROOTVERSION := $(shell expr `root-config --svn-revision` \>= 43166) + +ifneq ($(GOODROOTVERSION),1) + $(error ROOT version 5.32 or later required) +endif + #------------------------------------------------------------------------------ # Do not change anything below here unless you know what you are doing @@ -60,6 +84,7 @@ endif ROOTCFLAGS := $(shell root-config --cflags) ROOTLIBS := $(shell root-config --libs) ROOTGLIBS := $(shell root-config --glibs) +ROOTBIN := $(shell root-config --bindir) INCLUDES = $(ROOTCFLAGS) $(addprefix -I, $(INCDIRS) ) #INCLUDES = $(ROOTCFLAGS) $(addprefix -I, $(INCDIRS) ) -I$(shell pwd) @@ -104,7 +129,7 @@ ifeq ($(CXX),) $(error $(ARCH) invalid architecture) endif -CXXFLAGS += $(INCLUDES) +CXXFLAGS += $(INCLUDES) -DHALLC_MODS LIBS += $(ROOTLIBS) $(SYSLIBS) GLIBS += $(ROOTGLIBS) $(SYSLIBS) @@ -114,6 +139,13 @@ ifdef WITH_DEBUG CXXFLAGS += -DWITH_DEBUG endif +CCDBLIBS = +CCDBFLAGS = +ifdef CCDB_HOME +CCDBLIBS += -L$(CCDB_HOME)/lib -lccdb +CCDBFLAGS += -I$(CCDB_HOME)/include -DWITH_CCDB +endif + ifdef PROFILE CXXFLAGS += -pg LDFLAGS += -pg @@ -146,7 +178,8 @@ HALLALIBS := -L$(LIBDIR) -lHallA -ldc -lscaler src/THcInterface.d: $(HDR_COMPILEDATA) hcana: src/main.o $(LIBDC) $(LIBSCALER) $(LIBHALLA) $(USERLIB) - $(LD) $(LDFLAGS) $< $(HALLALIBS) -L. -lHallC $(GLIBS) -o $@ + $(LD) $(LDFLAGS) $< $(HALLALIBS) -L. -lHallC $(CCDBLIBS) \ + $(GLIBS) -o $@ $(USERLIB): $(HDR) $(OBJS) $(LD) $(LDFLAGS) $(SOFLAGS) -o $@ $(OBJS) @@ -154,11 +187,11 @@ $(USERLIB): $(HDR) $(OBJS) $(HDR_COMPILEDATA) $(LIBHALLA) $(LIBDC) $(LIBSCALER): $(ANALYZER)/Makefile @echo "Building Podd" - @cd $(ANALYZER) ; make + @cd $(ANALYZER) ; export PODD_EXTRA_DEFINES=-DHALLC_MODS ; make $(USERDICT).cxx: $(RCHDR) $(HDR) $(LINKDEF) @echo "Generating dictionary $(USERDICT)..." - $(ROOTSYS)/bin/rootcint -f $@ -c $(INCLUDES) $^ + $(ROOTBIN)/rootcint -f $@ -c $(INCLUDES) $(CCDBFLAGS) $^ install: all cp -p $(USERLIB) $(HOME)/cue/SRC/ana @@ -167,7 +200,9 @@ clean: rm -f src/*.o *~ $(USERLIB) $(USERDICT).* realclean: clean - rm -f *.d + rm -f *.d NormAnaDict.* THaDecDict.* THaScallDict.* bin/hcana + rm -f src/*.os + rm -f bin srcdist: rm -f $(DISTFILE) @@ -184,7 +219,7 @@ srcdist: .SUFFIXES: .c .cc .cpp .cxx .C .o .d %.o: %.cxx - $(CXX) $(CXXFLAGS) -o $@ -c $< + $(CXX) $(CXXFLAGS) $(CCDBFLAGS) -o $@ -c $< # FIXME: this only works with gcc %.d: %.cxx diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..b39b8844eb26fd03efb35e09f4488980095fcebe --- /dev/null +++ b/README.md @@ -0,0 +1,59 @@ +hcana - Hall C ROOT/C++ analyzer +============================================ + +hcana is an under-development tool to analyze data from the HMS, SHMS and +SOS spectrometers in +[Hall C](http://www.jlab.org/Hall-C/) at [JLab](http://www.jlab.org/). +It is being developed to replace +the historical Hall C analyzer, ENGINE, which was written in Fortran. +hcana will be the package used to analyze Hall C date in the 12 GeV era. +hcana is being written in C++, using the CERN ROOT framework. hcana is +an extension to the Hall A analyzer, PODD. + +NOTE: In the process of retrieving the hcana source code, a copy of +the Hall A PODD package will be downloaded. The version of PODD included +has been slightly modified for use with hcana. For an official version +of PODD, see the [ROOT/C++ Analyzer for Hall A](http://hallaweb.jlab.org/podd/) page. + +Downloading +----------- + +Instructions for downloading hcana can be found in the +[Hall C Wiki](https://hallcweb.jlab.org/wiki/index.php/ROOT_Analyzer/Git). + +Compiling +--------- +hcana may be compiled with either make or scons. Switching between these +two build systems make require some cleanup of dependency files, binary files +and other autogenerated files. + +Before compiling, type +`source setup.sh` or `source setup.csh` +depending on whether your shell is bash or csh. + +### Compiling with make + make + +### Compiling with scons + scons + +### Additional SCons features +To do the equivalent of "make clean", do +`scons -c` +To compile with debug capabilities, do +`scons debug=1` +To compile the standalone codes the are part of podd, do +`scons standalone=1` +To run cppcheck (if installed) on the Hall C src diretory, do +`scons cppcheck=1` + +Running +------- +Basic instructions on how to run hcana are in the +[Hall C Wiki](https://hallcweb.jlab.org/wiki/index.php/ROOT_Analyzer/Running). + +Contributing +------------ +To participate in hcana code development, contact Mark Jones or Stephen Wood. + + diff --git a/README_Eclipse_Linux.md b/README_Eclipse_Linux.md new file mode 100644 index 0000000000000000000000000000000000000000..62c264a14a81ca2f1a1616f8eaca134b637f7ee9 --- /dev/null +++ b/README_Eclipse_Linux.md @@ -0,0 +1,279 @@ +Installation of Eclipse (Kepler) on Linux (Centos6.4/RHEL), with plugins for SCons, Git, GitHub, and Python +=========================================================================================================== + +Install Eclipse +--------------- + +There exists an Eclipse plugin for SCons, called SConsolidator. As of January, 2014, this +plugin works only with the Kepler version of Eclipse. + +Most of this information can be found at: + +[Installing Eclipse on Fedora/Centos6.4/RHEL](http://www.if-not-true-then-false.com/2010/linux-install-eclipse-on-fedora-centos-red-hat-rhel/). + +To download and install this version of Eclipse, go to: + +[Eclipse Kepler SR1 Downloads](http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr1) + +and download the Linux 64-bit version. The file should be called: + +eclipse-cpp-kepler-SR1-linux-gtk-x86_64.tar.gz + +Before you install this version of eclipse, you may have to uninstall the (older) version that +ships with Centos6.4/RHEL (The rpms may have been installed depending on what choices you made +during the system installation process). If 'which eclipse' tells you that it has been installed, +then uninstall the older version with the following series of commands: + + $ yum erase eclipse + $ yum erase eclipse-cdt + $ yum erase eclipse-rcp + $ yum erase eclipse-swt + $ yum erase jetty-eclipse + $ yum erase icu4j-eclipse + +This worked for me. You can check to see if all eclipse-related rpms have been uninstalled +with + + $ rpm -qa | grep -i eclipse + +If there are other rpms reported, you can uninstall them with commands similar to those above. + +We are going to install eclipse under /opt (of course, you can install it anywhere +you like - modify the commands below as necessary). The procedure below will +require superuser privileges. + + $ cd + $ sudo tar -xvzf ~/Downloads/eclipse-cpp-kepler-SR1-linux-gtk-x86_64.tar.gz -C /opt + $ chmod -R +r /opt/eclipse + +Now, we want to add a script to /usr/bin to launch eclipse. + + $ sudo touch /usr/bin/eclipse + $ sudo chmod 755 /usr/bin/eclipse + +With your favorite editor, create the /usr/bin/eclipse file with the following content: + + #!/bin/sh + export ECLIPSE_HOME="/opt/eclipse" + + $ECLIPSE_HOME/eclipse $* + +You may also want to create the Gnome desktop launcher for eclipse. Create the file + +/usr/share/applications/eclipse.desktop + +with the following content: + + [Desktop Entry] + Encoding=UTF-8 + Name=Eclipse + Comment=Eclipse SDK 4.3.1 + Exec=eclipse + Icon=/opt/eclipse/icon.xpm + Terminal=false + Type=Application + Categories=GNOME;Application;Development; + StartupNotify=true + +Start up Eclipse from the command line with: + + $ eclipse + +When you start up Eclipse, you will get a window asking you to choose a workspace. The +default is usually /Users/****/Documents/workspace. This is fine, but you might want to +choose someplace else. Make sure to click the "Use this as the default ..." radio button +so that you will not get asked this every time. + +When Eclipse finally starts up, you can click on the "X" on the welcome page, and it +should take you to the Project Explorer page. This is the main view that you will +probably end up using most of the time. + +Install the SConsolidator Plugin +-------------------------------- + +In order for Eclipse to work with SCons, one has to install a plugin called SConsolidator. +To do this, do the following: + +a) Go to Help->Install New Software + +b) In the Install window that comes up, in the "Work with" field, enter: + +http://www.sconsolidator.com/update + +and click on "Add..." + +c) Specify the name as "SConsolidator" + +d) Check the Eclipse Plug-In for SCons radio button, then hit Next> and follow the +installation through. + +e) After the installation, Eclipse will need to be restarted, which it should do +automatically. + +When Eclipse restarts, it will ask you about setting the path to SCons. Set this up now. +Check to see where SCons is installed by doing "which scons" from a terminal window. +For me, it is in /usr/local/bin/scons, and so I entered that for the path to the SCons +executable. + +To change the SCons build options (at any time), you can go to Eclipse->Preferences, and +then expand the SCons tag, to reveal options for Build Settings, Performance vs. Accuracy, +and Warnings. In particular, if you want to build the standalone executables, you can add +'standalone=1' to the SCons Options in Build Settings. + +Install PyDev for Python Support +-------------------------------- + +PyDev includes a nice Python editor with appropriate syntax highlighting, as well as +providing the "mouse-over" documentation features of Eclipse for those things that +are written in Python - namely SCons. + +As of this writing, Eclipse Kepler does not play so nicely with PyDev-3.X, and so we +will install PyDev-2.X instead. The reason may be related to issues with Java 1.6 vs. 1.7, +in fact. + +a) Go to Help->Install New Software + +b) In the Install window that comes up, in the "Work with" field, enter: + +http://pydev.org/updates + +and click on "Add..." + +c) Specify the name as "PyDev" and hit return + +d) IMPORTANT: Uncheck the radio button to show versions other than the latest version +in the bottom portion of this window. + +e) Look for the PyDev for Eclipse Version 2.8.2, and check this radio button. + +d) Proceed with the installation. + +e) IMPORTANT: At some point it may ask you to allow a certain security certificate - you +actually have to check the radio button in the top part of the window and THEN accept the +certificate. + +f) After the installation, Eclipse will need to be restarted, which it should do +automatically. + +Restart Eclipse; you should now have access to PyDev. You should see it by going to +Eclipse->About Eclipse->Installation Details->Installed Software + +Setting up Git within Eclipse +----------------------------- + +Much of this comes from [this article](http://www.vogella.com/tutorials/EclipseGit/article.html). + +a) Basic Configuration + +Select Window → Preferences → Team → Git + +Under the field for Cloning Repositories, choose a location (locally) for storing respositories that +you will eventually clone to create. + +Select Window → Preferences → Team → Git → Configuration + +Choose the User Settings Tab: + +If you have already been using git on your system, you should see that the user and email fields +are already filled out. If they are now, you can fill them out now. The 'location' field should +be ($HOME)/.gitconfig, where ($HOME) is your normal home directory + +b) Git Staging View + +Select Window → Show View → Other... → Git → Git Staging + +You should now see a Git Staging tab in the Console area of the main Eclipse window. Basically, this +window will give you all information that would be reported by 'git status' at the command line. + +c) Activate the Git Toolbar + +Select Window → Customize perspective... and check the command groups Git and Git Navigation Actions +in the Command Groups Availability tab. You should now see "Git" as one of the main pulldown menus +of the Eclipse toolbar. + +Opening hcana as a New Project from Exisiting Source within Eclipse +------------------------------------------------------------------ + +This section assumes that you have already cloned hcana (from the command line) somewhere on your system. + +a) Choose File->New->Other + +b) In the pop-up window, choose 'New SCons project from existing source', and click 'Next' + +c) Choose a project name (hcana or hcana-1.6 are good choices), specify the existing code location, and +then add any SCons Options (for example, debug=1 standalone=1 will compile the code in debug +mode, and compile the standalone codes as well. + +d) Click 'Finish' + +You should now see the project within the Project Explorer window on the RHS of the Eclipse window. +You can double-click on any file, and it should open in the editor window. You can edit and save +changes in the usual way. Clicking on the "Hammer" icon on the Eclipse toolbar should execute +scons, with the output of the build process shown in the console view at the bottom of the Eclipse +window. + +Also, you should see the current git branch that you are working on displayed next to the +top-level hcana folder that is displayed in the Project Explorer window. + +If you right-click on the hcana folder in the Project Explorer window, and then choose "Team", you +should see the various git commands available. From here, you can switch to another branch, +checkout a new branch, do commits and pushes, and/or fetch and merge from upstream. If you have +configured Eclipse to show the Git Toolbar, you can also choose a number of oft-used git commands +from the Git pulldown menu. + +Also, you can commit and push from the Git Staging window!!! And, you show the commit history +by right-clicking on the top level hcana folder, and choosing Team -> Show in History +You should see now a tab in the Console area called History, with a table of commits for the repository. + +Cloning hcana from within Eclipse +-------------------------------- + +This section details how to clone your forked copy of hcana directly from within Eclipse (without +having done so at the command line already). + +a) Select File → Import → Git → Project from Git. + +b) Select Clone URI in the next dialog. + +c) Enter the URI of your repository on github, for example: + +git@github.com:brash99/hcana.git + +d) Click on ‘Next’ to get the Branch Selection dialog + +e) The default is to clone all branches. You may want to select only certain ones. Do so, +if you please, and click on ‘Next’ + +f) Choose the local destination for your cloned repository. Note that Eclipse will +warn you if there is already an existing repository clone there (which can happen as the +default is to choose your top-level directory plus the first part of the repository name, +i.e. hcana, and so this may already be used). + +g) Choose the initial branch that you want to work with. + +h) Click on ‘Next’ to get the Projects dialog. + +i) Click the ‘Use New Project wizard’ radio button, and then click on ‘Finish’ + +j) The final dialog will allow you to choose ‘New SCons project from existing source’, at +which point you can then continue from step b) in Section 5 above!! + +k) The final step is to add the appropriate Jefferson Lab reposistory as an upstream remote. + +(i) Open the Git Repositories view (Select Window → Show View → Other... → Git → Git Repositories) + +(ii) From the Git Repositories tab in the Console area, expand the repository that you are trying +to set up (hcana in this case), and then expand Remotes. You should see that origin is present. + +(iii) Right-click on Remotes, and choose 'Create Remote'. Specify the Remote Name as 'upstream'. Select +'Configure Push', and Click OK. + +(iv) Click on "Change" next to the field where one specifies the URI ... in the new dialog, specify +the remote URI as git@github.com:JeffersonLab/hcana.git. Click on 'Save'. You should now see that the +remote called upstream has been added. + +(v) The final step is to configure the upstream fetch so that it pulls from the develop branch. Expand +the upstream directory under Remotes. You will see a fetch and a push specification for the upstream +repository. The fetch specification is indicated by a left green arrow. Right-click on this, and +choose Configure Fetch. From the next dialog, choose Add. In the next dialog, for the Source, specify +the develop branch, then click Save and Finish. diff --git a/README_Eclipse_MacOSX.md b/README_Eclipse_MacOSX.md new file mode 100644 index 0000000000000000000000000000000000000000..93ab9af0ba1f5425b9c23204b276b0cd0bc9f0fe --- /dev/null +++ b/README_Eclipse_MacOSX.md @@ -0,0 +1,236 @@ +Installation of Eclipse (Kepler) on MacOSX, with plugins for SCons, Git, GitHub, and Python +=========================================================================================== + +Install Eclipse +--------------- + +There exists an Eclipse plugin for SCons, called SConsolidator. As of +January, 2014, this plugin works only with the Kepler version of +Eclipse. To download and install this version of Eclipse, go to: + +[Eclipse Kepler SR1 Downloads](http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr1) + +and download the MacOSX (Cocoa 64) version. The file should be called: + +eclipse-cpp-kepler-SR1-macosx-cocoa-x86_64.tar.gz + +Unpack this somewhere in your own user space. I chose to install it +directly underneath my home directory, but of course you can install +it where you like. + + $ cd + $ sudo tar -xvzf ~/Downloads/eclipse-cpp-kepler-SR1-macosx-cocoa-x86_64.tar.gz + +Start up Eclipse from the command line with: + + $ ~/eclipse/eclipse + +You might also find it useful to add the Eclipse app to your dock, +permanently, to make it easier to start up in the future. + +When you start up Eclipse, you will get a window asking you to choose +a workspace. The default is usually /Users/****/Documents/workspace. +This is fine, but you might want to choose someplace else. Make sure +to click the 'Use this as the default ...' radio button so that you +will not get asked this every time. + +When Eclipse finally starts up, you can click on the "X" on the +welcome page, and it should take you to the Project Explorer page. +This is the main view that you will probably end up using most of the +time. + +Install the SConsolidator Plugin +-------------------------------- + +In order for Eclipse to work with SCons, one has to install a plugin +called SConsolidator. To do this, do the following: + +a) Go to Help->Install New Software + +b) In the Install window that comes up, in the "Work with" field, enter: + +http://www.sconsolidator.com/update + +and click on "Add..." + +c) Specify the name as "SConsolidator" + +d) Check the Eclipse Plug-In for SCons radio button, then hit Next> +and follow the installation through. + +e) After the installation, Eclipse will need to be restarted, which it +should do automatically. + +When Eclipse restarts, it will ask you about setting the path to +SCons. Set this up now. Check to see where SCons is installed by +doing "which scons" from a terminal window. For me, it is in +/usr/local/bin/scons, and so I entered that for the path to the SCons +executable. + +To change the SCons build options (at any time), you can go to +Eclipse->Preferences, and then expand the SCons tag, to reveal options +for Build Settings, Performance vs. Accuracy, and Warnings. In +particular, if you want to build the standalone executables, you can +add 'standalone=1' to the SCons Options in Build Settings. + +Install PyDev for Python Support +-------------------------------- + +PyDev includes a nice Python editor with appropriate syntax +highlighting, as well as providing the "mouse-over" documentation +features of Eclipse for those things that are written in Python - +namely SCons. + +As of this writing, Eclipse Kepler does not play so nicely with +PyDev-3.X, and so we will install PyDev-2.X instead. The reason may +be related to issues with Java 1.6 vs. 1.7, in fact. + +a) Go to Help->Install New Software + +b) In the Install window that comes up, in the "Work with" field, enter: + +http://pydev.org/updates + +and click on "Add..." + +c) Specify the name as "PyDev" and hit return + +d) IMPORTANT: Uncheck the radio button to show versions other than the +latest version in the bottom portion of this window. + +e) Look for the PyDev for Eclipse Version 2.8.2, and check this radio button. + +d) Proceed with the installation. + +e) IMPORTANT: At some point it may ask you to allow a certain security +certificate - you actually have to check the radio button in the top +part of the window and THEN accept the certificate. + +f) After the installation, Eclipse will need to be restarted, which it +should do automatically. + +Restart Eclipse; you should now have access to PyDev. You should see +it by going to Eclipse->About Eclipse->Installation Details->Installed +Software + +Setting up Git within Eclipse +----------------------------- + +Much of this comes from [this article](http://www.vogella.com/tutorials/EclipseGit/article.html). + +a) Basic Configuration + +Select Window → Preferences → Team → Git + +Under the field for Cloning Repositories, choose a location (locally) for storing respositories that +you will eventually clone to create. + +Select Window → Preferences → Team → Git → Configuration + +Choose the User Settings Tab: + +If you have already been using git on your system, you should see that the user and email fields +are already filled out. If they are now, you can fill them out now. The 'location' field should +be ($HOME)/.gitconfig, where ($HOME) is your normal home directory + +b) Git Staging View + +Select Window → Show View → Other... → Git → Git Staging + +You should now see a Git Staging tab in the Console area of the main Eclipse window. Basically, this +window will give you all information that would be reported by 'git status' at the command line. + +c) Activate the Git Toolbar + +Select Window → Customize perspective... and check the command groups Git and Git Navigation Actions +in the Command Groups Availability tab. You should now see "Git" as one of the main pulldown menus +of the Eclipse toolbar. + +Opening hcana as a New Project from Exisiting Source within Eclipse +------------------------------------------------------------------ + +This section assumes that you have already cloned hcana (from the command line) somewhere on your system. + +a) Choose File->New->Other + +b) In the pop-up window, choose 'New SCons project from existing source', and click 'Next' + +c) Choose a project name (hcana or hcana-1.6 are good choices), specify the existing code location, and +then add any SCons Options (for example, debug=1 standalone=1 will compile the code in debug +mode, and compile the standalone codes as well. + +d) Click 'Finish' + +You should now see the project within the Project Explorer window on the RHS of the Eclipse window. +You can double-click on any file, and it should open in the editor window. You can edit and save +changes in the usual way. Clicking on the "Hammer" icon on the Eclipse toolbar should execute +scons, with the output of the build process shown in the console view at the bottom of the Eclipse +window. + +Also, you should see the current git branch that you are working on displayed next to the +top-level hcana folder that is displayed in the Project Explorer window. + +If you right-click on the hcana folder in the Project Explorer window, and then choose "Team", you +should see the various git commands available. From here, you can switch to another branch, +checkout a new branch, do commits and pushes, and/or fetch and merge from upstream. If you have +configured Eclipse to show the Git Toolbar, you can also choose a number of oft-used git commands +from the Git pulldown menu. + +Also, you can commit and push from the Git Staging window!!! And, you show the commit history +by right-clicking on the top level hcana folder, and choosing Team -> Show in History +You should see now a tab in the Console area called History, with a table of commits for the repository. + +Cloning hcana from within Eclipse +-------------------------------- + +This section details how to clone your forked copy of hcana directly from within Eclipse (without +having done so at the command line already). + +a) Select File → Import → Git → Project from Git. + +b) Select Clone URI in the next dialog. + +c) Enter the URI of your repository on github, for example: + +git@github.com:brash99/hcana.git + +d) Click on ‘Next’ to get the Branch Selection dialog + +e) The default is to clone all branches. You may want to select only certain ones. Do so, +if you please, and click on ‘Next’ + +f) Choose the local destination for your cloned repository. Note that Eclipse will +warn you if there is already an existing repository clone there (which can happen as the +default is to choose your top-level directory plus the first part of the repository name, +i.e. hcana, and so this may already be used). + +g) Choose the initial branch that you want to work with. + +h) IMPORTANT!!!! Click the radio button to Clone Submodules!!!! + +i) Click on ‘Next’ to get the Projects dialog. + +j) Click the ‘Use New Project wizard’ radio button, and then click on ‘Finish’ + +k) The final dialog will allow you to choose ‘New SCons project from existing source’, at +which point you can then continue from step b) in Section 5 above!! + +l) The final step is to add the appropriate Jefferson Lab reposistory as an upstream remote. + +(i) Open the Git Repositories view (Select Window → Show View → Other... → Git → Git Repositories) + +(ii) From the Git Repositories tab in the Console area, expand the repository that you are trying +to set up (hcana in this case), and then expand Remotes. You should see that origin is present. + +(iii) Right-click on Remotes, and choose 'Create Remote'. Specify the Remote Name as 'upstream'. Select +'Configure Push', and Click OK. + +(iv) Click on "Change" next to the field where one specifies the URI ... in the new dialog, specify +the remote URI as git@github.com:JeffersonLab/hcana.git. Click on 'Save'. You should now see that the +remote called upstream has been added. + +(v) The final step is to configure the upstream fetch so that it pulls from the develop branch. Expand +the upstream directory under Remotes. You will see a fetch and a push specification for the upstream +repository. The fetch specification is indicated by a left green arrow. Right-click on this, and +choose Configure Fetch. From the next dialog, choose Add. In the next dialog, for the Source, specify +the develop branch, then click Save and Finish. diff --git a/SConscript.py b/SConscript.py new file mode 100644 index 0000000000000000000000000000000000000000..c94403f73cc3e27e558c339440e87490a6e615d6 --- /dev/null +++ b/SConscript.py @@ -0,0 +1,33 @@ +###### Hall C Software Main SConscript File ##### +###### Author: Edward Brash (brash@jlab.org) June 2013 + +import os +import re +import SCons.Util +Import ('pbaseenv') + +######## ROOT Dictionaries ######### + +roothcdict = pbaseenv.subst('$HC_DIR')+'/HallCDict.C' +roothcobj = pbaseenv.subst('$HC_SRC')+'/HallCDict.so' +hcheaders = Split(""" + src/THcInterface.h src/THcParmList.h src/THcAnalyzer.h src/THcHallCSpectrometer.h + src/THcDetectorMap.h src/THcRawHit.h src/THcHitList.h src/THcSignalHit.h src/THcHodoscope.h + src/THcScintillatorPlane.h src/THcRawHodoHit.h src/THcDC.h src/THcDriftChamberPlane.h + src/THcDriftChamber.h src/THcRawDCHit.h src/THcDCHit.h src/THcDCWire.h src/THcSpacePoint.h + src/THcDCLookupTTDConv.h src/THcDCTimeToDistConv.h src/THcShower.h src/THcShowerPlane.h + src/THcRawShowerHit.h src/THcAerogel.h src/THcAerogelHit.h src/THcCherenkov.h src/THcCherenkovHit.h + src/THcGlobals.h src/THcDCTrack.h src/THcFormula.h + src/THcRaster.h src/THcRasteredBeam.h src/THcRasterRawHit.h + src/HallC_LinkDef.h + """) +pbaseenv.RootCint(roothcdict,hcheaders) +pbaseenv.SharedObject(target = roothcobj, source = roothcdict) + +####### Start of main SConscript ########### + +print ('LIBS = %s\n' % pbaseenv.subst('$LIBS')) + +analyzer = pbaseenv.Program(target = 'hcana', source = 'src/main.o') +pbaseenv.Install('./bin',analyzer) +pbaseenv.Alias('install',['./bin']) diff --git a/SConstruct b/SConstruct new file mode 100644 index 0000000000000000000000000000000000000000..7e8e446b8a09431f3575724475757e31f1194150 --- /dev/null +++ b/SConstruct @@ -0,0 +1,167 @@ +#!/usr/bin/env python +###### Hall C Software Main SConstruct Build File ##### +###### Author: Edward Brash (brash@jlab.org) June 2013 + +import os +import sys +import platform +import commands +import SCons + +def rootcint(target,source,env): + """Executes the ROOT dictionary generator over a list of headers.""" + dictname = target[0] + headers = "" + cpppath = env.subst('$_CCCOMCOM') + ccflags = env.subst('$CCFLAGS') + rootcint = env.subst('$ROOTCINT') + print "Doing rootcint call now ..." + for f in source: + headers += str(f) + " " + command = rootcint + " -f %s -c -pthread -fPIC %s %s" % (dictname,cpppath,headers) + print ('RootCint Command = %s\n' % command) + ok = os.system(command) + return ok + +baseenv = Environment(ENV = os.environ) +#dict = baseenv.Dictionary() +#keys = dict.keys() +#keys.sort() +#for key in keys: +# print "Construction variable = '%s', value = '%s'" % (key, dict[key]) + +####### Check SCons version ################## +print('!!! Building the Hall C analyzer and libraries with SCons requires') +print('!!! SCons version 2.1.0 or newer.') +EnsureSConsVersion(2,1,0) + +####### Hall A Build Environment ############# +# +baseenv.Append(MAIN_DIR= Dir('.').abspath) +baseenv.Append(HC_DIR= baseenv.subst('$MAIN_DIR')) +baseenv.Append(HC_SRC= baseenv.subst('$HC_DIR')+'/src ') +baseenv.Append(HA_DIR= baseenv.subst('$HC_DIR')+'/podd ') +baseenv.Append(HA_SRC= baseenv.subst('$HA_DIR')+'/src ') +baseenv.Append(HA_DC= baseenv.subst('$HA_DIR')+'/hana_decode ') +baseenv.Append(HA_SCALER= baseenv.subst('$HA_DIR')+'/hana_scaler ') +baseenv.Append(MAJORVERSION = '1') +baseenv.Append(MINORVERSION = '5') +baseenv.Append(PATCH = '28') +baseenv.Append(SOVERSION = baseenv.subst('$MAJORVERSION')+'.'+baseenv.subst('$MINORVERSION')) +baseenv.Append(VERSION = baseenv.subst('$SOVERSION')+'.'+baseenv.subst('$PATCH')) +baseenv.Append(EXTVERS = '') +baseenv.Append(HA_VERSION = baseenv.subst('$VERSION')+baseenv.subst('$EXTVERS')) +print "Hall C Main Directory = %s" % baseenv.subst('$HC_DIR') +print "Hall C Source Directory = %s" % baseenv.subst('$HC_SRC') +print "Hall A Main Directory = %s" % baseenv.subst('$HA_DIR') +print "Software Version = %s" % baseenv.subst('$VERSION') +ivercode = 65536*int(float(baseenv.subst('$SOVERSION')))+ 256*int(10*(float(baseenv.subst('$SOVERSION'))-int(float(baseenv.subst('$SOVERSION')))))+ int(float(baseenv.subst('$PATCH'))) +baseenv.Append(VERCODE = ivercode) +baseenv.Append(CPPPATH = ['$HC_SRC','$HA_SRC','$HA_DC','$HA_SCALER']) + +proceed = "1" or "y" or "yes" or "Yes" or "Y" +######## Configure Section ####### + +import configure +configure.config(baseenv,ARGUMENTS) + +Export('baseenv') + +conf = Configure(baseenv) + +if not conf.CheckCXX(): + print('!!! Your compiler and/or environment is not correctly configured.') + Exit(0) + +if not conf.CheckFunc('printf'): + print('!! Your compiler and/or environment is not correctly configured.') + Exit(0) + +if baseenv.subst('$CHECKHEADERS')==proceed: + system_header_list = ['arpa/inet.h','errno.h','assert.h','netdb.h','netinet/in.h','pthread.h','signal.h','stddef.h','stdio.h','stdlib.h','string.h','strings.h','sys/ioctl.h','sys/socket.h','sys/time.h','sys/types.h','time.h','unistd.h','memory.h','math.h','limits.h'] + + for header_file in system_header_list: + if not conf.CheckHeader(header_file): + print('!! Header file %s not found.' % header_file) + Exit(0) + +baseenv = conf.Finish() + +######## ROOT Dictionaries ######### +baseenv.Append(ROOTCONFIG = 'root-config') +baseenv.Append(ROOTCINT = 'rootcint') + +try: + baseenv.ParseConfig('$ROOTCONFIG --cflags') + baseenv.ParseConfig('$ROOTCONFIG --libs') + baseenv.MergeFlags('-fPIC') +except OSError: + try: + baseenv.Replace(ROOTCONFIG = baseenv['ENV']['ROOTSYS'] + '/bin/root-config') + baseenv.Replace(ROOTCINT = baseenv['ENV']['ROOTSYS'] + '/bin/rootcint') + baseenv.ParseConfig('$ROOTCONFIG --cflags') + baseenv.ParseConfig('$ROOTCONFIG --libs') + baseenv.MergeFlags('-fPIC') + except KeyError: + print('!!! Cannot find ROOT. Check if root-config is in your PATH.') + Exit(1) + +bld = Builder(action=rootcint) +baseenv.Append(BUILDERS = {'RootCint': bld}) + +######## cppcheck ########################### + +def which(program): + import os + def is_exe(fpath): + return os.path.isfile(fpath) and os.access(fpath, os.X_OK) + + fpath, fname = os.path.split(program) + if fpath: + if is_exe(program): + return program + else: + for path in os.environ["PATH"].split(os.pathsep): + path = path.strip('"') + exe_file = os.path.join(path, program) + if is_exe(exe_file): + return exe_file + return None + +if baseenv.subst('$CPPCHECK')==proceed: + is_cppcheck = which('cppcheck') + print "Path to cppcheck is %s\n" % is_cppcheck + + if(is_cppcheck == None): + print('!!! cppcheck not found on this system. Check if cppcheck is installed and in your PATH.') + Exit(1) + else: + cppcheck_command = baseenv.Command('cppcheck_report.txt',[],"cppcheck --quiet --enable=all src/ 2> $TARGET") + baseenv.AlwaysBuild(cppcheck_command) + +####### Start of main SConstruct ############ + +hallclib = 'HallC' +hallalib = 'HallA' +dclib = 'dc' +scalerlib = 'scaler' + +baseenv.Append(LIBPATH=['$HC_DIR','$HA_DIR','$HC_SRC','$HA_SRC','$HA_DC','$HA_SCALER']) +baseenv.Replace(SHLIBSUFFIX = '.so') +baseenv.Append(CPPDEFINES = '-DHALLC_MODS') + +directorylist = ['./','src','podd','podd/src','podd/hana_decode','podd/hana_scaler'] + +baseenv.Append(SHLIBSUFFIX ='.'+baseenv.subst('$VERSION')) +pbaseenv=baseenv.Clone() +pbaseenv.Append(LIBS=[hallclib,hallalib,dclib,scalerlib]) +baseenv.Append(LIBS=[hallalib,dclib,scalerlib]) +Export('pbaseenv') + +SConscript(dirs = directorylist,name='SConscript.py',exports='baseenv') + +####### End of SConstruct ######### + +# Local Variables: +# mode: python +# End: diff --git a/configure.py b/configure.py new file mode 100644 index 0000000000000000000000000000000000000000..b88a0edae749cac9b87966fb0a9ab4b6c3a339b8 --- /dev/null +++ b/configure.py @@ -0,0 +1,59 @@ +import platform +import os + +def config(env,args): + + if env['PLATFORM'] == 'posix': + if (platform.machine() == 'x86_64'): + print "Got a 64-bit processor, I can do a 64-bit build in theory..." + for element in platform.architecture(): + if (element == '32bit'): + print '32-bit Linux build' + env['MEMORYMODEL'] = '32bit' + import linux32 + linux32.config(env, args) + break + elif (element == '64bit'): + print '64-bit Linux build' + env['MEMORYMODEL'] = '64bit' + import linux64 + linux64.config(env, args) + break + else: + print 'Memory model not specified, so I\'m building 32-bit...' + env['MEMORYMODEL'] = '32bit' + import linux32 + linux32.config(env, args) + else: + print '32-bit Linux Build.' + env['MEMORYMODEL'] = '32bit' + import linux32 + linux32.config(env, args) +# elif env['PLATFORM'] == 'win32': +# if (os.environ['PROCESSOR_ARCHITECTURE'] == 'AMD64' or (os.environ.has_key('PROCESSOR_ARCHITEW6432') and os.environ['PROCESSOR_ARCHITEW6432'] == 'AMD64')): +# print "Got a 64-bit processor, I can do a 64-bit build in theory..." +# if args.get('32bit', 0): +# print '32-bit Windows build.' +# #import win6432 +# #win6432.config(env, args) +# elif args.get('64bit', 0): +# print '64-bit Windows build.' +# #import win64 +# #win64.config(env, args) +# else: +# print 'Memory model not specified, so I\'m building 32-bit.' +# #import win6432 +# #win6432.config(env, args) +# else: +# print '32-bit Windows build.' +# #import win32 +# #win32.config(env, args) + elif env['PLATFORM'] == 'darwin': + print 'OS X Darwin is a 64-bit build.' + env['MEMORYMODEL'] = '64bit' + import darwin64 + darwin64.config(env, args) + else: + print 'ERROR! unrecognized platform. Twonk.' + +#end configure.py diff --git a/darwin64.py b/darwin64.py new file mode 100644 index 0000000000000000000000000000000000000000..e56f8de0a01ba7082b6708349d6f4931cb15af85 --- /dev/null +++ b/darwin64.py @@ -0,0 +1,42 @@ +import platform +import os + +def config(env,args): + + debug = args.get('debug',0) + standalone = args.get('standalone',0) + cppcheck = args.get('cppcheck',0) + checkheaders = args.get('checkheaders',0) + + if int(debug): + env.Append(CXXFLAGS = '-g -O0') + else: + env.Append(CXXFLAGS = '-O') + env.Append(CPPDEFINES= '-DNDEBUG') + + if int(standalone): + env.Append(STANDALONE= '1') + + if int(cppcheck): + env.Append(CPPCHECK= '1') + + if int(checkheaders): + env.Append(CHECKHEADERS= '1') + + #env.Append(CXXFLAGS = '-Wall -Woverloaded-virtual -pthread -rdynamic') + env.Append(CXXFLAGS = '-Wall -Woverloaded-virtual -pthread') + env.Append(CPPDEFINES = '-DMACVERS') + + cxxversion = env.subst('$CXXVERSION') + +# if float(cxxversion[0:2])>=4.0: +# env.Append(CXXFLAGS = '-Wextra -Wno-missing-field-initializers') + + if float(cxxversion[0:2])>=3.0: + env.Append(CPPDEFINES = '-DHAS_SSTREAM') + + env['SHLINKFLAGS'] = '$LINKFLAGS -shared -Wl,-undefined,dynamic_lookup' + env['SHLIBSUFFIX'] = '.so' + + +#end darwin64.py diff --git a/docs/doc_footer.html b/docs/doc_footer.html new file mode 100755 index 0000000000000000000000000000000000000000..2f394e0d01a9e510b96c79abc1e526e75f44c9ae --- /dev/null +++ b/docs/doc_footer.html @@ -0,0 +1,10 @@ +<br /> +<!--SIGNATURE--> +<div id="footer"> +<em>» Author: %AUTHOR% </em><em>» Copyright %COPYRIGHT%</em><br /> +<em>» Last changed: %CHANGED% </em><em>» Last generated: %GENERATED%</em><br /> +<em>This page has been automatically generated.</em> +</div> +</div> +</body> +</html> diff --git a/docs/doc_header.html b/docs/doc_header.html new file mode 100755 index 0000000000000000000000000000000000000000..e65ee75bce674656acf7468430cdda31c174e86f --- /dev/null +++ b/docs/doc_header.html @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<!-- --> +<!-- Author: ROOT team (rootdev@pcroot.cern.ch) --> +<!-- --> +<!-- Date: %DATE% --> +<!-- --> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=%CHARSET%" /> +<title>%TITLE%</title> +<meta name="rating" content="General" /> +<meta name="objecttype" content="Manual" /> +<meta name="keywords" content="jlab, cebaf, Hall C, SHMS, HMS" /> +<meta name="description" content="Hall C ROOT/C++ Analyzer." /> +<link rel="stylesheet" type="text/css" href="%RELDIR%ROOT.css" id="ROOTstyle" /> +<script type="text/javascript" src="%RELDIR%ROOT.js"></script> +</head> +<body onload="javascript:SetValuesFromCookie();"><div id="body_content"> +<div><center><img src="https://hallcweb.jlab.org/HallC-logo.png" alt="Hall C logo"/></center></div> diff --git a/docs/makehtmldoc.C b/docs/makehtmldoc.C new file mode 100644 index 0000000000000000000000000000000000000000..4477e4efe462b4882a8f9fb9b42e610c0d1339f9 --- /dev/null +++ b/docs/makehtmldoc.C @@ -0,0 +1,25 @@ +// Generate some autodoc pages by running +// ../hcana makehtmldoc.C +makehtmldoc() { + THtml html; + // Enable the "viewVC header" and "viewVC source" links to work + // But will only work for hcana classes. Links will be broken for + // THa classes. + // Could probably go through all the THa*.html files that are created + // and fix these links, but would need to know the podd branch we are on. + html.SetViewCVS("https://github.com/JeffersonLab/hcana/tree/develop/"); + html.SetProductName("Hall C Analysis Code HCANA"); + html.SetSourceDir("..:../podd"); + html.SetIncludePath(".."); + html.SetHeader("doc_header.html"); + html.SetFooter("doc_footer.html"); + // Create documentation pages for all Classes, hcana and podd + html.MakeAll(); + // Remake the index to list only hcana Classes. Since the + // THa Class document pages were made, we can still click through to + // the THa classes + html.MakeIndex("THc"); +} +// +// To install, do +// rsync -a -e ssh htmldoc/ jlabl1:/group/hallc/www/hallcweb/html/hcanadoc/ diff --git a/examples/DBASE/jan05.kinematics b/examples/DBASE/jan05.kinematics new file mode 100644 index 0000000000000000000000000000000000000000..4afe3706dbe2d574dde41ec81e8ef16bd9bf8e45 --- /dev/null +++ b/examples/DBASE/jan05.kinematics @@ -0,0 +1,7374 @@ +; Start file for kinematics +; +; Standard location for the parameters: +; gtarg_num == an integer is the array index to select from arrays +; gtarg_z,gtarg_mass,gtarg_thick,gtarg_dens which +; are set in PARAM/gtarget.param +; +; gpbeam == Beam momentum (GeV/c) +; htheta_lab == HMS central angle (deg) +; hpcentral == HMS central momentum (GeV/C) +; hpartmass == mass (GeV) of particle scattering into HMS +; stheta_lab == HMS central angle (deg) +; spcentral == HMS central momentum (GeV/C) +; spartmass == mass (GeV) of particle scattering into HMS +; +; NOTE: Setting hpartmass=spartmass=electron mass for all runs by default +; Setting energy to 5.0 or 5.75 for june/july and fall running +; Change these for individual runs if necessary. +; +; stheta_lab == spcentral == 999 (SOS not used) +; gtarg_num == 77 (Copper) +; if Angle = 999 (it means that HMS or SOS was not used) +; +; ************************************** +; *** DEFAULT VALUE FOR PARICLE MASS *** +; ************************************** + + +1-99999 +gpbeam=999 +gtarg_num = 999 +htheta_lab = 999 +stheta_lab = 999 +hpcentral = 999 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +50017 +gtarg_num = 17 +gpbeam = 4.021 +hpcentral = 2.074 +htheta_lab = 19.99 +spcentral = 1.73 +stheta_lab = 32.32 +hpartmass = 0.139570 +spartmass = 0.000511 + +52426 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.555 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52427 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.555 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52428 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.555 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52429 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.555 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52430 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 3.736 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52431 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 3.736 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52432 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 3.736 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52433 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 3.736 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52434 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 2.552 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52435 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 2.552 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52436 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 2.552 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52437 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 2.552 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52438 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.743 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52439 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.743 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52440 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.743 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52441 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.743 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52442 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.190 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52443 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.190 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52444 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.190 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52445 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.190 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52446 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.813 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52447 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.813 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52448 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.813 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52449 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.813 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52451 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.743 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52452 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.743 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52453 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.743 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52454 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.743 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52455 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.190 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52456 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.190 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52457 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.190 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52458 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 1.190 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52459 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.813 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52460 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.813 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52461 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.813 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52462 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.813 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52464 +gpbeam=5.765 +gtarg_num = 6 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.555 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52465 +gpbeam=5.765 +gtarg_num = 2 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.555 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52466 +gpbeam=5.765 +gtarg_num = 9 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.555 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52467 +gpbeam=5.765 +gtarg_num = 7 +htheta_lab = 10.63 +stheta_lab = 999 +hpcentral = 0.555 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52531 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52532 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52533 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + + +52535 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52536 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + + +52537 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52538 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52539 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52540 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52541 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52542 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + + +52544 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52545 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52546 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52547 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52548 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52549 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52550 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52551 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52552 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52553 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52554 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52555 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52556 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52557 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52558 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52559 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52560 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 999 +hpcentral = 2.0 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52562 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 10.65 +stheta_lab = 30.01 +hpcentral = 4.2 +spcentral = 1.0 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52563 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 10.65 +stheta_lab = 30.01 +hpcentral = 4.2 +spcentral = 1.0 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52564 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 10.65 +stheta_lab = 30.01 +hpcentral = 4.2 +spcentral = 1.0 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52565 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 10.65 +stheta_lab = 30.01 +hpcentral = 4.2 +spcentral = 1.0 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52566 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 10.65 +stheta_lab = 30.01 +hpcentral = 4.2 +spcentral = 1.0 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52567 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 10.65 +stheta_lab = 30.01 +hpcentral = 4.2 +spcentral = 1.0 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52568 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 4.2 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52569 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 4.2 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52570 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 4.2 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52571 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 4.2 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52572 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 4.2 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52573 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 4.2 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52574 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52575 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52576 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52577 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52578 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52579 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52580 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52581 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52582 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52583 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52584 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52585 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52586 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52587 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52588 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52589 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.696 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52593 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 10.66 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52594 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 10.66 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52595 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 10.66 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52596 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 10.66 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52598 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 10.66 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52599 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 10.66 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52602 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52603 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52605 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52606 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52607 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52608 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52609 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52610 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52611 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52612 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52613 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52614 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52617 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 20.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52618 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52619 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52620 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52621 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52622 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52623 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52624 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 3.252 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52625 +gpbeam=4.629 +gtarg_num = 11 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52626 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52627 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52629 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52630 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 25.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52631 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 20.01 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52632 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 20.01 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52633 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.01 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52634 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 20.01 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52635 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.01 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52636 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52637 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52638 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52639 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52640 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 16.0 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52641 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52642 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52643 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52644 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 10.65 +stheta_lab = 999 +hpcentral = 2.862 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52656 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 10.65 +stheta_lab = 25.01 +hpcentral = 2.862 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52657 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 16.005 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52658 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 16.005 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52659 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 16.005 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52660 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 16.005 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52661 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 16.005 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52662 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 16.005 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52663 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 16.005 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52664 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 20.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52665 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52666 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52667 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52668 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52669 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 25.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52670 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 25.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52671 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 25.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52672 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 25.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52673 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 25.00 +stheta_lab = 25.01 +hpcentral = 2.519 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52674 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 25.00 +stheta_lab = 25.01 +hpcentral = 2.216 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52675 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 25.00 +stheta_lab = 25.01 +hpcentral = 2.216 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52676 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 25.00 +stheta_lab = 25.01 +hpcentral = 2.216 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52677 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 25.00 +stheta_lab = 25.01 +hpcentral = 2.216 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52678 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.01 +stheta_lab = 25.01 +hpcentral = 2.216 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52679 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 20.01 +stheta_lab = 25.01 +hpcentral = 2.216 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52680 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.01 +stheta_lab = 25.01 +hpcentral = 2.216 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52681 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 20.01 +stheta_lab = 25.01 +hpcentral = 2.216 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52682 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 25.01 +stheta_lab = 25.01 +hpcentral = 1.95 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52683 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 25.01 +stheta_lab = 25.01 +hpcentral = 1.95 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52684 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 25.01 +stheta_lab = 25.01 +hpcentral = 1.95 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52685 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 25.01 +stheta_lab = 25.01 +hpcentral = 1.95 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52686 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 25.01 +stheta_lab = 25.01 +hpcentral = 1.95 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52687 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52688 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52689 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52690 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52691 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52692 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52694 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52695 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52696 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52697 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52698 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 25.01 +hpcentral = 2.0 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52699 +gpbeam=4.629 +gtarg_num = 15 +htheta_lab = 13.0 +stheta_lab = 25.01 +hpcentral = 4.050 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52700 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 13.0 +stheta_lab = 25.01 +hpcentral = 4.050 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52701 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 13.0 +stheta_lab = 25.01 +hpcentral = 4.050 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52702 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 13.0 +stheta_lab = 25.01 +hpcentral = 4.050 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52703 +gpbeam=4.629 +gtarg_num = 17 +htheta_lab = 13.0 +stheta_lab = 25.01 +hpcentral = 4.050 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52704 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 13.0 +stheta_lab = 25.01 +hpcentral = 3.483 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52705 +gpbeam=4.629 +gtarg_num = 3 +htheta_lab = 13.0 +stheta_lab = 25.01 +hpcentral = 3.483 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52706 +gpbeam=4.629 +gtarg_num = 4 +htheta_lab = 13.0 +stheta_lab = 25.01 +hpcentral = 3.483 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52710 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 14.0 +stheta_lab = 999 +hpcentral = 3.2 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52711 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 14.0 +stheta_lab = 999 +hpcentral = 3.2 +spcentral = 999 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52714 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 14.0 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52715 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 14.0 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52716 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 14.0 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52718 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 14.0 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52719 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52720 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52721 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52722 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52723 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52726 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52727 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 3.2 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52731 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52732 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52733 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52734 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52735 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52736 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52737 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52738 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52739 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52740 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 35.99 +hpcentral = 2.752 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52741 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 14.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52742 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 14.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52743 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 14.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52744 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 14.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52745 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 14.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52747 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 20.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52748 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 20.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52749 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 20.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52750 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 20.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52751 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 28.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52752 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 28.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52753 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 28.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52754 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 28.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52755 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 28.0 +stheta_lab = 35.99 +hpcentral = 2.367 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52756 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52757 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52758 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52759 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52760 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52761 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 14.005 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52762 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 20.00 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52763 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52764 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 20.00 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52765 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 20.00 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52766 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 20.00 +stheta_lab = 35.99 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52767 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52768 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52770 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52771 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 28.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52772 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 28.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52774 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 28.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52777 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52779 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52781 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52782 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52783 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52784 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52785 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52787 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52788 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52789 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52790 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 28.00 +hpcentral = 2.035 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52794 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 36.00 +stheta_lab = 40.00 +hpcentral = 1.750 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52796 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 36.00 +stheta_lab = 40.00 +hpcentral = 1.750 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52798 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 40.00 +hpcentral = 1.750 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52799 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 36.00 +stheta_lab = 40.00 +hpcentral = 1.750 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52801 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 36.00 +stheta_lab = 40.00 +hpcentral = 1.750 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52804 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 28.00 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52805 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 28.00 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52806 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 28.00 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52807 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52808 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52809 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52810 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 19.99 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52811 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52813 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 14.00 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52814 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 14.00 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52815 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 14.00 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52816 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 14.00 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52817 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 14.00 +stheta_lab = 45.01 +hpcentral = 1.750 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52818 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 14.00 +stheta_lab = 40.01 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52819 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 14.00 +stheta_lab = 40.01 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52820 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 14.00 +stheta_lab = 40.01 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52822 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 14.00 +stheta_lab = 40.01 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52823 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 14.00 +stheta_lab = 40.01 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52824 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 20.00 +stheta_lab = 40.01 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52825 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 40.01 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52826 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 20.00 +stheta_lab = 40.01 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52827 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 20.00 +stheta_lab = 40.01 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52829 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52830 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52832 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 28.00 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52833 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 28.00 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52834 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 28.00 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52835 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 35.99 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52836 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 35.99 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52837 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 35.99 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52840 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 35.99 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52841 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 35.99 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52843 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 35.99 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52844 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 35.99 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52845 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 40.00 +stheta_lab = 25.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52846 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 40.00 +stheta_lab = 28.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52847 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 40.00 +stheta_lab = 28.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52848 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 40.00 +stheta_lab = 28.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52849 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 40.00 +stheta_lab = 28.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52850 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 40.00 +stheta_lab = 28.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52851 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 40.00 +stheta_lab = 28.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +52852 +gpbeam=3.489 +gtarg_num = 11 +htheta_lab = 40.00 +stheta_lab = 28.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +52853 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 40.00 +stheta_lab = 28.00 +hpcentral = 1.505 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52855 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 1.295 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52857 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 1.295 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52858 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 1.295 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52859 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 1.295 +spcentral = 1.2 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52860 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52861 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + + +52862 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52863 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52864 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52866 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52867 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52868 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 36.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52869 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 36.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52870 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52871 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 36.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52872 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52873 +gpbeam=3.489 +gtarg_num =3 +htheta_lab = 28.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52874 +gpbeam=3.489 +gtarg_num =3 +htheta_lab = 28.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52875 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 28.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52876 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 28.00 +stheta_lab = 40.00 +hpcentral = 1.295 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52877 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 36.00 +stheta_lab = 45.00 +hpcentral = 1.113 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52878 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 36.00 +stheta_lab = 45.00 +hpcentral = 1.113 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52879 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 36.00 +stheta_lab = 45.00 +hpcentral = 1.113 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52880 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 36.00 +stheta_lab = 45.00 +hpcentral = 1.113 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52881 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 40.00 +stheta_lab = 45.00 +hpcentral = 1.113 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52882 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 40.00 +stheta_lab = 45.00 +hpcentral = 1.113 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52883 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 40.00 +stheta_lab = 45.00 +hpcentral = 1.113 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52884 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 40.00 +stheta_lab = 45.00 +hpcentral = 1.113 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52888 +gpbeam=3.489 +gtarg_num = 3 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 0.9679 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52889 +gpbeam=3.489 +gtarg_num = 4 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 0.9679 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52890 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 0.9679 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52891 +gpbeam=3.489 +gtarg_num = 17 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 0.9679 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52892 +gpbeam=3.489 +gtarg_num = 15 +htheta_lab = 40.00 +stheta_lab = 40.00 +hpcentral = 0.9679 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52896 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 28.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52897 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 28.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52898 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52899 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52900 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52901 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52902 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52905 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52906 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52908 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 22.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52909 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 22.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52910 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 22.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52911 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 22.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52912 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 19.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52913 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 19.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52914 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 19.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52915 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 16.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52916 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 16.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52917 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 16.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52918 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 16.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52919 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 16.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52920 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 16.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52921 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 16.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52922 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 13.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52923 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 13.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52924 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 13.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52925 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 13.00 +stheta_lab = 70.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52926 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 10.78 +stheta_lab = 55.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52927 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 10.78 +stheta_lab = 55.00 +hpcentral = 1.150 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52928 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 44.99 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52929 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 44.99 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52930 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 44.99 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52931 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 44.99 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52932 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 44.99 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52933 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 28 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52934 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 28 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52935 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 22 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52936 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 22 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52937 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 22 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52938 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 22 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52939 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 19 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52940 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 16 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52941 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 16 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52942 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 16 +stheta_lab = 55.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52943 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 13 +stheta_lab = 45.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52944 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 13 +stheta_lab = 45.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52945 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 13 +stheta_lab = 45.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52946 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 13 +stheta_lab = 45.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52947 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 10.81 +stheta_lab = 45.00 +hpcentral = 0.966 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52948 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 55 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52949 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 55 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52951 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 55 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52953 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 55 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52954 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 55 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52955 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 45 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52956 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 45 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52957 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 45 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52958 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 45 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52959 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 45 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52960 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 27.99 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52961 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 21.99 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52962 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 21.99 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52963 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 21.99 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52964 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 21.99 +stheta_lab = 45.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52965 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 18.99 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52966 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 16.00 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52967 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 16.00 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52968 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 16.00 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52969 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 13.00 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52970 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 13.00 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52971 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 13.00 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52973 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 13.00 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52974 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 13.00 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52975 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 13.00 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52976 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 10.78 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52977 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 10.78 +stheta_lab = 28.00 +hpcentral = 0.811 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52979 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 70.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52986 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 70.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52988 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 70.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52989 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 70.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52990 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 70.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52991 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 70.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52992 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 55.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52993 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 55.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52994 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 55.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52995 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 55.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52996 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 55.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52997 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 55.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52998 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +52999 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53000 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53001 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53002 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53003 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 45.00 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53004 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 27.99 +stheta_lab = 28.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53005 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 22.00 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53006 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 22.00 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53007 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 22.00 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53008 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 22.00 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53009 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 22.00 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53010 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 19.00 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53011 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 16.01 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53013 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 16.01 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53014 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 16.01 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53015 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 13.01 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53016 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 13.01 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53017 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 13.01 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53018 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 13.01 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53019 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 10.81 +stheta_lab = 25.00 +hpcentral = 0.682 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53020 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 70.01 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53021 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 70.01 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53022 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 70.01 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53023 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 70.01 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53024 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 70.01 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53025 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 54.99 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53026 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 55.00 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53027 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 54.99 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53028 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 54.99 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53029 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 54.99 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53030 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 45.00 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53031 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 45.00 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53032 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 45.00 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53033 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 45.00 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53034 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 45.00 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53035 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 28.00 +stheta_lab = 55.00 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53037 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 22.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53038 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 22.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53039 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 22.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53040 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 22.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53041 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 19.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53042 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 16.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53044 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 16.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53045 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 16.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53046 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 13.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53047 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 13.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53048 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 13.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53049 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 13.00 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53050 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 10.80 +stheta_lab = 45.02 +hpcentral = 0.573 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53051 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 55.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53052 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 55.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53053 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 55.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53054 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 55.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53055 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 55.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53056 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 55.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53057 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 70.02 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53058 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 70.02 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53059 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 70.02 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53060 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 45.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53061 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 45.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53062 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 45.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53063 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 45.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53064 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 45.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53065 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 45.0 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53066 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 27.99 +stheta_lab = 28.03 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53067 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 22.00 +stheta_lab = 69.92 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53068 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 22.00 +stheta_lab = 69.92 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53069 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 22.00 +stheta_lab = 69.92 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53070 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 22.00 +stheta_lab = 69.92 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53071 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 19.00 +stheta_lab = 69.92 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53072 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 16.00 +stheta_lab = 69.92 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53073 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 16.00 +stheta_lab = 69.92 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53074 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 16.00 +stheta_lab = 69.92 +hpcentral = 0.481 +spcentral = 0.7 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53075 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 13.01 +stheta_lab = 55.03 +hpcentral = 0.481 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53076 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 13.01 +stheta_lab = 55.03 +hpcentral = 0.481 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53077 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 13.01 +stheta_lab = 55.03 +hpcentral = 0.481 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53078 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 13.01 +stheta_lab = 55.03 +hpcentral = 0.481 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53079 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 10.81 +stheta_lab = 55.03 +hpcentral = 0.481 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53080 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 55.0 +stheta_lab = 55.03 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53081 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 55.0 +stheta_lab = 55.03 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53082 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 55.0 +stheta_lab = 55.03 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53084 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 55.0 +stheta_lab = 55.03 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53085 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 45 +stheta_lab = 45.00 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53086 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 45 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53087 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 45 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53088 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 45 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53089 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 45 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53090 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 45 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53091 +gpbeam=1.2048 +gtarg_num = 3 +htheta_lab = 45 +stheta_lab = 45.00 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53092 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 45 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53093 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 13.00 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53094 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 13.00 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53095 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 13.00 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53096 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 13.00 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53098 +gpbeam=1.2048 +gtarg_num = 4 +htheta_lab = 10.80 +stheta_lab = 45.01 +hpcentral = 0.404 +spcentral = 0.9 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53100 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 20.00 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53101 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53103 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53104 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 20.00 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53105 +gpbeam=1.2048 +gtarg_num = 11 +htheta_lab = 25.00 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53106 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 25.00 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53107 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 38.51 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53108 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 38.51 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53109 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 38.51 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53110 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 38.51 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53111 +gpbeam=1.2048 +gtarg_num = 17 +htheta_lab = 33.03 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53112 +gpbeam=1.2048 +gtarg_num = 15 +htheta_lab = 33.03 +stheta_lab = 55.03 +hpcentral = 1.07 +spcentral = 0.5 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53136 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 20.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53138 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53139 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53140 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53142 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53143 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53144 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53153 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53154 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53155 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53156 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 2.00 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53157 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.72 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53165 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.72 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53166 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.72 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53167 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.72 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53168 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.72 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53169 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53170 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53171 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53172 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53174 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53176 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53177 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53178 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53180 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53181 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53182 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 45.0 +stheta_lab = 45.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53183 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 45.00 +stheta_lab = 45.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53184 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 45.00 +stheta_lab = 45.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53185 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 45.00 +stheta_lab = 45.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53186 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 45.00 +stheta_lab = 45.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53187 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 45.00 +stheta_lab = 45.00 +hpcentral = 1.479 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53188 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 20.01 +stheta_lab = 45.00 +hpcentral = 1.272 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53189 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 20.01 +stheta_lab = 45.00 +hpcentral = 1.272 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53190 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 20.01 +stheta_lab = 45.00 +hpcentral = 1.272 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53191 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 20.01 +stheta_lab = 45.00 +hpcentral = 1.272 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53192 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 20.01 +stheta_lab = 45.00 +hpcentral = 1.272 +spcentral = 0.479 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53193 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53194 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53195 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53196 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53197 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53198 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53199 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53200 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53201 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53202 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53203 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53204 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53205 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 1.272 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53207 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53208 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53209 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53210 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53211 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53212 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 20.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53213 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53214 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53215 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53216 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53217 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53218 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 60.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53219 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 45.00 +stheta_lab = 45.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53220 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 45.00 +stheta_lab = 45.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53221 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 45.00 +stheta_lab = 45.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53222 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 45.00 +stheta_lab = 45.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.0005109 + +53223 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 60.00 +stheta_lab = 45.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53224 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 60.00 +stheta_lab = 45.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53225 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 60.00 +stheta_lab = 45.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53226 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 60.00 +stheta_lab = 45.00 +hpcentral = 1.094 +spcentral = 0.557 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53227 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53228 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 19.99 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53229 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53230 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53231 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53232 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53233 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53234 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53235 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53236 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 45.01 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53237 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 45.01 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53238 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 45.01 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53239 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 45.01 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53240 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53241 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53242 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53243 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53244 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53245-53246 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53247-53248 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.941 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53249 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 19.99 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53250 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 19.99 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53251 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 19.99 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53252 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 19.99 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53253 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53254 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53255 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53256 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53257 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53258 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53259 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53260 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53261 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53262 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 45.00 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53263 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 59.99 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53264 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 59.99 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53265 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 59.99 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53266 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 59.99 +stheta_lab = 70.00 +hpcentral = 0.809 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53267 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 59.99 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53269 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53270 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 20.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53271 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 20.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53272 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 20.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53273 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 20.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53275 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 20.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53278 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 30.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53279 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 30.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53280 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 30.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53281 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 30.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53282 +gpbeam=2.347 +gtarg_num = 11 +htheta_lab = 30.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53283 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 30.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53284 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 45.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53287 +gpbeam=2.347 +gtarg_num = 15 +htheta_lab = 45.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53288 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 45.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53290 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 45.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53291 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 45.01 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53292 +gpbeam=2.347 +gtarg_num = 4 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53294 +gpbeam=2.347 +gtarg_num = 3 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53295 +gpbeam=2.347 +gtarg_num = 17 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53296 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 60.00 +stheta_lab = 70.00 +hpcentral = 0.696 +spcentral = 0.647 +hpartmass = 0.00051099 +spartmass = 0.00051099 + +53297 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 60.00 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53298 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 60.00 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53299 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 60.00 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53300 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 60.00 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53301 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 45.005 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53302 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 45.005 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53303 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 45.005 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53304 +gpbeam=2.348 +gtarg_num = 11 +htheta_lab = 45.005 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53305 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 45.005 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53307 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 29.99 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53308-53309 +gpbeam=2.348 +gtarg_num = 11 +htheta_lab = 29.99 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53310-53311 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 29.99 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53312-53313 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 29.99 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53314 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 29.99 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53315 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 19.995 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53316 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 19.995 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53317 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 19.995 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53318 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 19.995 +hpcentral = 0.598 +hpartmass = 0.00051099 + +53320 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 30.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53321 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 30.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53322 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 30.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53324 +gpbeam=2.348 +gtarg_num = 11 +htheta_lab = 30.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53325 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 30.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53326 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 45.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53327 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 45.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53328-53330 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 45.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53331 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 45.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53332-53334 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 60.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53335 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 60.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53336 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 60.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53337-53338 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 60.00 +hpcentral = 0.515 +hpartmass = 0.00051099 + +53339 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 60.00 +hpcentral = 0.443 +hpartmass = 0.00051099 + +53340 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 60.00 +hpcentral = 0.443 +hpartmass = 0.00051099 + +53341 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 60.00 +hpcentral = 0.443 +hpartmass = 0.00051099 + +53342-53344 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 60.00 +hpcentral = 0.443 +hpartmass = 0.00051099 + +53345 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 45.00 +hpcentral = 0.443 +hpartmass = 0.00051099 + +53346 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 45.00 +hpcentral = 0.443 +hpartmass = 0.00051099 + +53347 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 45.00 +hpcentral = 0.443 +hpartmass = 0.00051099 + +53348-53349 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 45.00 +hpcentral = 0.443 +hpartmass = 0.00051099 + +53351 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 45.00 +hpcentral = 0.5 +hpartmass = 0.00051099 + +53353 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 30.00 +hpcentral = 0.5 +hpartmass = 0.00051099 + +53354 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 30.00 +hpcentral = 0.5 +hpartmass = 0.00051099 + +53355 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 30.00 +hpcentral = 0.5 +hpartmass = 0.00051099 + +53356 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 30.00 +hpcentral = 0.5 +hpartmass = 0.00051099 + +53357 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 20.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53358 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 20.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53359 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 20.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53360 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 20.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53361 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 30.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53362 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 30.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53363 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 30.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53364 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 30.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53365 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 45.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53366 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 45.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53367 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 45.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53368 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 45.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53369 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 45.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53370 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 60.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53371 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 60.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53372 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 60.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53373 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 60.00 +hpcentral = 0.625 +hpartmass = 0.00051099 + +53374 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 60.00 +hpcentral = 0.78 +hpartmass = 0.00051099 + +53375 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 60.00 +hpcentral = 0.78 +hpartmass = 0.00051099 + +53376 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 60.00 +hpcentral = 0.78 +hpartmass = 0.00051099 + +53377 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 60.00 +hpcentral = 0.78 +hpartmass = 0.00051099 + +53378 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 45.00 +hpcentral = 0.78 +hpartmass = 0.00051099 + +53379 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 45.00 +hpcentral = 0.78 +hpartmass = 0.00051099 + +53380 +gpbeam=2.348 +gtarg_num = 3 +htheta_lab = 45.00 +hpcentral = 0.78 +hpartmass = 0.00051099 + +53381 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 45.00 +hpcentral = 0.78 +hpartmass = 0.00051099 + +53382 +gpbeam=2.348 +gtarg_num = 4 +htheta_lab = 29.985 +hpcentral = 0.78 +hpartmass = 0.00051099 + +53385 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 19.00 +hpcentral = 2.28 +hpartmass = 0.00051099 + +53386 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 19.00 +hpcentral = 2.28 +hpartmass = 0.00051099 + +53387 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 19.00 +hpcentral = 2.28 +hpartmass = 0.00051099 + +53388 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 13.00 +hpcentral = 2.28 +hpartmass = 0.00051099 + +53389 +gpbeam=2.348 +gtarg_num = 11 +htheta_lab = 13.00 +hpcentral = 2.28 +hpartmass = 0.00051099 + +53390 +gpbeam=2.348 +gtarg_num = 11 +htheta_lab = 15.00 +hpcentral = 2.24 +hpartmass = 0.00051099 + +53391 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 15.00 +hpcentral = 2.24 +hpartmass = 0.00051099 + +53392 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 21.50 +hpcentral = 2.24 +hpartmass = 0.00051099 + +53393 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 21.50 +hpcentral = 2.24 +hpartmass = 0.00051099 + +53394 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 21.50 +hpcentral = 2.24 +hpartmass = 0.00051099 + +53395 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 21.50 +hpcentral = 2.24 +hpartmass = 0.00051099 + +53396 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 24.00 +hpcentral = 2.20 +hpartmass = 0.00051099 + +53397 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 24.00 +hpcentral = 2.20 +hpartmass = 0.00051099 + +53398 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 24.00 +hpcentral = 2.20 +hpartmass = 0.00051099 + +53399 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 24.00 +hpcentral = 2.20 +hpartmass = 0.00051099 + +53400 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 17.00 +hpcentral = 2.20 +hpartmass = 0.00051099 + +53401 +gpbeam=2.348 +gtarg_num = 11 +htheta_lab = 17.00 +hpcentral = 2.20 +hpartmass = 0.00051099 + +53402 +gpbeam=2.348 +gtarg_num = 11 +htheta_lab = 18.00 +hpcentral = 2.15 +hpartmass = 0.00051099 + +53403 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 18.00 +hpcentral = 2.15 +hpartmass = 0.00051099 + +53404 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 26.5 +hpcentral = 2.15 +hpartmass = 0.00051099 + +53405 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 26.5 +hpcentral = 2.15 +hpartmass = 0.00051099 + +53406 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 26.5 +hpcentral = 2.15 +hpartmass = 0.00051099 + +53407 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 26.5 +hpcentral = 2.15 +hpartmass = 0.00051099 + +53408 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 26.5 +hpcentral = 2.15 +hpartmass = 0.00051099 + +53409 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 26.5 +hpcentral = 2.15 +hpartmass = 0.00051099 + +53410 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 30.0 +hpcentral = 2.09 +hpartmass = 0.00051099 + +53411 +gpbeam=2.348 +gtarg_num = 15 +htheta_lab = 30.0 +hpcentral = 2.09 +hpartmass = 0.00051099 + +53412 +gpbeam=2.348 +gtarg_num = 17 +htheta_lab = 30.0 +hpcentral = 2.09 +hpartmass = 0.00051099 + +53414 +gpbeam=2.348 +gtarg_num = 11 +htheta_lab = 21.5 +hpcentral = 2.09 +hpartmass = 0.00051099 diff --git a/examples/DBASE/raster_test.database b/examples/DBASE/raster_test.database new file mode 100644 index 0000000000000000000000000000000000000000..76fef1a57294cfe9dbdcee523afd6367dc232077 --- /dev/null +++ b/examples/DBASE/raster_test.database @@ -0,0 +1,840 @@ +# ENGINE style parameter vs. run number database +# buddhini - coppied from test.database to setup the raster decoding. +# +50017 +g_ctp_parm_filename ="PARAM/general.param" +g_decode_map_filename ="MAPS/raster_jun04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52947 +g_ctp_parm_filename ="PARAM/general.param" +g_decode_map_filename ="MAPS/raster_jun04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52426 +g_ctp_parm_filename ="DBASE/52426.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52427 +g_ctp_parm_filename ="DBASE/52427.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52428 +g_ctp_parm_filename ="DBASE/52428.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52429 +g_ctp_parm_filename ="DBASE/52429.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52430 +g_ctp_parm_filename ="DBASE/52430.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52431 +g_ctp_parm_filename ="DBASE/52431.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52432 +g_ctp_parm_filename ="DBASE/52432.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52433 +g_ctp_parm_filename ="DBASE/52433.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52434 +g_ctp_parm_filename ="DBASE/52434.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52435 +g_ctp_parm_filename ="DBASE/52435.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52436 +g_ctp_parm_filename ="DBASE/52436.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52437 +g_ctp_parm_filename ="DBASE/52437.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52438 +g_ctp_parm_filename ="DBASE/52438.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52439 +g_ctp_parm_filename ="DBASE/52439.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52440 +g_ctp_parm_filename ="DBASE/52440.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52441 +g_ctp_parm_filename ="DBASE/52441.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52442 +g_ctp_parm_filename ="DBASE/52442.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52443 +g_ctp_parm_filename ="DBASE/52443.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52444 +g_ctp_parm_filename ="DBASE/52444.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52445 +g_ctp_parm_filename ="DBASE/52445.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52446 +g_ctp_parm_filename ="DBASE/52446.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52447 +g_ctp_parm_filename ="DBASE/52447.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52448 +g_ctp_parm_filename ="DBASE/52448.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52449 +g_ctp_parm_filename ="DBASE/52449.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52450 +g_ctp_parm_filename ="DBASE/52531.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52451 +g_ctp_parm_filename ="DBASE/52441.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52452 +g_ctp_parm_filename ="DBASE/52440.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52453 +g_ctp_parm_filename ="DBASE/52439.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52454 +g_ctp_parm_filename ="DBASE/52438.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52455 +g_ctp_parm_filename ="DBASE/52445.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52456 +g_ctp_parm_filename ="DBASE/52444.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52457 +g_ctp_parm_filename ="DBASE/52443.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52458 +g_ctp_parm_filename ="DBASE/52442.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52459 +g_ctp_parm_filename ="DBASE/52449.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52460 +g_ctp_parm_filename ="DBASE/52448.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52461 +g_ctp_parm_filename ="DBASE/52447.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52462 +g_ctp_parm_filename ="DBASE/52446.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52463 +g_ctp_parm_filename ="DBASE/52531.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52464 +g_ctp_parm_filename ="DBASE/52429.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52465 +g_ctp_parm_filename ="DBASE/52428.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52466 +g_ctp_parm_filename ="DBASE/52427.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52467 +g_ctp_parm_filename ="DBASE/52426.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52531 +g_ctp_parm_filename ="DBASE/52531.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52532 +g_ctp_parm_filename ="DBASE/52532.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52533 +g_ctp_parm_filename ="DBASE/52533.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52535 +g_ctp_parm_filename ="DBASE/52535.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52536 +g_ctp_parm_filename ="DBASE/52536.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52537 +g_ctp_parm_filename ="DBASE/52537.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52538 +g_ctp_parm_filename ="DBASE/52538.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52539 +g_ctp_parm_filename ="DBASE/52539.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52540 +g_ctp_parm_filename ="DBASE/52540.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52541 +g_ctp_parm_filename ="DBASE/52541.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52542 +g_ctp_parm_filename ="DBASE/52542.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52544 +g_ctp_parm_filename ="DBASE/52544.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52545 +g_ctp_parm_filename ="DBASE/52545.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52546 +g_ctp_parm_filename ="DBASE/52546.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52547 +g_ctp_parm_filename ="DBASE/52547.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52548 +g_ctp_parm_filename ="DBASE/52548.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52549 +g_ctp_parm_filename ="DBASE/52549.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52550 +g_ctp_parm_filename ="DBASE/52550.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52551 +g_ctp_parm_filename ="DBASE/52551.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52552 +g_ctp_parm_filename ="DBASE/52552.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52553 +g_ctp_parm_filename ="DBASE/52553.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52554 +g_ctp_parm_filename ="DBASE/52554.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52555 +g_ctp_parm_filename ="DBASE/52555.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52556 +g_ctp_parm_filename ="DBASE/52556.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52557 +g_ctp_parm_filename ="DBASE/52557.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52558 +g_ctp_parm_filename ="DBASE/52558.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52559 +g_ctp_parm_filename ="DBASE/52559.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52560 +g_ctp_parm_filename ="DBASE/52560.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52562 +g_ctp_parm_filename ="DBASE/52562.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52563 +g_ctp_parm_filename ="DBASE/52563.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52564 +g_ctp_parm_filename ="DBASE/52564.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52565 +g_ctp_parm_filename ="DBASE/52565.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52566 +g_ctp_parm_filename ="DBASE/52566.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52567 +g_ctp_parm_filename ="DBASE/52567.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52568 +g_ctp_parm_filename ="DBASE/52568.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52569 +g_ctp_parm_filename ="DBASE/52569.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52570 +g_ctp_parm_filename ="DBASE/52570.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52571 +g_ctp_parm_filename ="DBASE/52571.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52572 +g_ctp_parm_filename ="DBASE/52572.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52573 +g_ctp_parm_filename ="DBASE/52573.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52574 +g_ctp_parm_filename ="DBASE/52574.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52575 +g_ctp_parm_filename ="DBASE/52575.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52576 +g_ctp_parm_filename ="DBASE/52576.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52577 +g_ctp_parm_filename ="DBASE/52577.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52578 +g_ctp_parm_filename ="DBASE/52578.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52579 +g_ctp_parm_filename ="DBASE/52579.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52580 +g_ctp_parm_filename ="DBASE/52580.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52581 +g_ctp_parm_filename ="DBASE/52581.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52582 +g_ctp_parm_filename ="DBASE/52582.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52583 +g_ctp_parm_filename ="DBASE/52583.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52584 +g_ctp_parm_filename ="DBASE/52584.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52585 +g_ctp_parm_filename ="DBASE/52585.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52586 +g_ctp_parm_filename ="DBASE/52586.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52587 +g_ctp_parm_filename ="DBASE/52587.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52588 +g_ctp_parm_filename ="DBASE/52588.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52589 +g_ctp_parm_filename ="DBASE/52589.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52593 +g_ctp_parm_filename ="DBASE/52593.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52594 +g_ctp_parm_filename ="DBASE/52594.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52595 +g_ctp_parm_filename ="DBASE/52595.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52596 +g_ctp_parm_filename ="DBASE/52596.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52598 +g_ctp_parm_filename ="DBASE/52598.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52599 +g_ctp_parm_filename ="DBASE/52599.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52602 +g_ctp_parm_filename ="DBASE/52602.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52603 +g_ctp_parm_filename ="DBASE/52603.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52605 +g_ctp_parm_filename ="DBASE/52605.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52606 +g_ctp_parm_filename ="DBASE/52606.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52607 +g_ctp_parm_filename ="DBASE/52607.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52608 +g_ctp_parm_filename ="DBASE/52608.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52609 +g_ctp_parm_filename ="DBASE/52609.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52610 +g_ctp_parm_filename ="DBASE/52610.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52611 +g_ctp_parm_filename ="DBASE/52611.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52612 +g_ctp_parm_filename ="DBASE/52612.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52613 +g_ctp_parm_filename ="DBASE/52613.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52614 +g_ctp_parm_filename ="DBASE/52614.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52617 +g_ctp_parm_filename ="DBASE/52617.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52618 +g_ctp_parm_filename ="DBASE/52618.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52619 +g_ctp_parm_filename ="DBASE/52619.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52620 +g_ctp_parm_filename ="DBASE/52620.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52621 +g_ctp_parm_filename ="DBASE/52621.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52622 +g_ctp_parm_filename ="DBASE/52622.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52623 +g_ctp_parm_filename ="DBASE/52623.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52624 +g_ctp_parm_filename ="DBASE/52624.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52625 +g_ctp_parm_filename ="DBASE/52625.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52626 +g_ctp_parm_filename ="DBASE/52626.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52627 +g_ctp_parm_filename ="DBASE/52627.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52629 +g_ctp_parm_filename ="DBASE/52629.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52630 +g_ctp_parm_filename ="DBASE/52630.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52631 +g_ctp_parm_filename ="DBASE/52631.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52632 +g_ctp_parm_filename ="DBASE/52632.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52633 +g_ctp_parm_filename ="DBASE/52633.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52634 +g_ctp_parm_filename ="DBASE/52634.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52635 +g_ctp_parm_filename ="DBASE/52635.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52636 +g_ctp_parm_filename ="DBASE/52636.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52637 +g_ctp_parm_filename ="DBASE/52637.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52638 +g_ctp_parm_filename ="DBASE/52638.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52639 +g_ctp_parm_filename ="DBASE/52639.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52640 +g_ctp_parm_filename ="DBASE/52640.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52641 +g_ctp_parm_filename ="DBASE/52641.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52642 +g_ctp_parm_filename ="DBASE/52642.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52643 +g_ctp_parm_filename ="DBASE/52643.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52644 +g_ctp_parm_filename ="DBASE/52644.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52656 +g_ctp_parm_filename ="DBASE/52656.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52657 +g_ctp_parm_filename ="DBASE/52657.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52658 +g_ctp_parm_filename ="DBASE/52658.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52659 +g_ctp_parm_filename ="DBASE/52659.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52660 +g_ctp_parm_filename ="DBASE/52660.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52661 +g_ctp_parm_filename ="DBASE/52661.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52662 +g_ctp_parm_filename ="DBASE/52662.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52663 +g_ctp_parm_filename ="DBASE/52663.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52664 +g_ctp_parm_filename ="DBASE/52664.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52665 +g_ctp_parm_filename ="DBASE/52665.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52666 +g_ctp_parm_filename ="DBASE/52666.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52667 +g_ctp_parm_filename ="DBASE/52667.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52668 +g_ctp_parm_filename ="DBASE/52668.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52669 +g_ctp_parm_filename ="DBASE/52669.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52670 +g_ctp_parm_filename ="DBASE/52670.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52671 +g_ctp_parm_filename ="DBASE/52671.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52672 +g_ctp_parm_filename ="DBASE/52672.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52673 +g_ctp_parm_filename ="DBASE/52673.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52674 +g_ctp_parm_filename ="DBASE/52674.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52675 +g_ctp_parm_filename ="DBASE/52675.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52676 +g_ctp_parm_filename ="DBASE/52676.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52677 +g_ctp_parm_filename ="DBASE/52677.param" +g_decode_map_filename ="HCANA_MAPS/july04.map" +g_ctp_kinematics_filename ="DBASE/jan05.kinematics" + +52678 +g_ctp_parm_filename ="DBASE/52678.param" diff --git a/examples/DBASE/test.database b/examples/DBASE/test.database new file mode 100644 index 0000000000000000000000000000000000000000..5702b92c947dc9cd0bd16a85c953d7c5600a1a68 --- /dev/null +++ b/examples/DBASE/test.database @@ -0,0 +1,23 @@ +# ENGINE style parameter vs. run number database +50017 +g_ctp_parm_filename="PARAM/general.param" +g_decode_map_filename="MAPS/jun04.map" +# Values taken from Logbook. Not necessarily official. +gpbeam = 4.015 +hpcentral = 2.074 +htheta_lab = 10.99 +spcentral = 1.73 +stheta_lab = -32.32 +hpartmass = 0.13957 +spartmass = 0.00051099 +52949 +g_ctp_parm_filename="PARAM/52949/general.param" +g_decode_map_filename="MAPS/july04.map" +# From DBASE/online04.kinematics_online. +gpbeam = 1.2048 +hpcentral = 0.811 +htheta_lab = 55. +hpartmass = 0.00051099 +47000-48000 +g_ctp_parm_filename="PARAM/general.param" +g_decode_map_filename="MAPS/jan03.map" diff --git a/examples/MAPS/jan03.map b/examples/MAPS/jan03.map new file mode 100755 index 0000000000000000000000000000000000000000..d6bdba59e9e673608f262ab7e67a86f90fa5a9cd --- /dev/null +++ b/examples/MAPS/jan03.map @@ -0,0 +1,3240 @@ +! Updated to reflect new TDC for HMS aerogel and proper mapping of misc +! trigger signals in SOS. Dave G (5/5/2003) +! +! + help !lists available keywords + NOecho !copies input lines to tty output + NOdebug !turn on input debugging + override !skip over errors +! +! hall C encode/decode configuration file +! giving the FASTBUS geographical to standard +! hall C COMMONs location as described by +! "gen_data_structures.cmn" K.B.Beard 13jun94 +! 10/19/94 (jra) Change ch1 roc to 8 (from 1), hms roc to 7 (from 2). +! +! 6/24/94 (SAW) Turn on lines for miscleaneous TDC's +! Change ch1 roc to 1 (from 0), hms roc to 2 (from 1). +! Disable last 16 channels of miscleaneous TDC +! +! standard id numbers +! signals +!HMS: +! HDC_ID= 1 TDC +! HSCIN_ID= 2 ADC+,ADC-,TDC+,TDC- +! HCER_ID= 3 ADC +! HCAL_ID= 4 ADC +! HMISC_ID= 5 TDC,(ADC) +!GEN: +! GMISC_ID= 6 (TDC),ADC +! HAERO_ID= 7 (TDC),ADC +!SOS: +! SDC_ID= 11 TDC +! SSCIN_ID= 12 ADC+,ADC-,TDC+,TDC- +! SCER_ID= 13 ADC +! SCAL_ID= 14 ADC +! SMISC_ID= 15 TDC,(ADC) +! SAER_ID= 16 ADC +! SLUC_ID=17 ADC +! +! +! consider subadd equiv. to channel +! +! specify: subadd, plane, element, signal +! a, p, e, s +! 0- 1- 1- 0-3 +![if there is only signal 0 (DC,CER,CAL) it may be ommitted] +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS upstairs and downstairs map K.B.Beard 13-Jun-1994 +! for Jun94 run +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS downstairs (HDC) map K.B.Beard & S.Avery 13-Jun-1994 +! revised by A. Johnson 4-Feb-1999 +! +! vvvvvvvvvvvvvvvvvvvvvv Wire chambers start here vvvvvvvvvvvvvvvvvvvvvvvvv + ROC= 2 !ReadOutController (crate) for HMS wire chambers +! +! +! TDC modules are Lecroy 1877 + Nsubadd= 96 + MASK= FFFFx !hex mask + BSUB= 17 !start channel in bit#17 +! + detector= 1 !HDC +! +! 1st HDC chamber - (2nd in position) - planes7-12 +Slot= 2 +0, 8, 1 !TDC ROC#2 Sl#2 Ch#0 HDC pl#8 [Y1] wire#1 +1, 8, 2 !TDC ROC#2 Sl#2 Ch#1 HDC pl#8 [Y1] wire#2 +2, 8, 3 !TDC ROC#2 Sl#2 Ch#2 HDC pl#8 [Y1] wire#3 +3, 8, 4 !TDC ROC#2 Sl#2 Ch#3 HDC pl#8 [Y1] wire#4 +4, 8, 5 !TDC ROC#2 Sl#2 Ch#4 HDC pl#8 [Y1] wire#5 +5, 8, 6 !TDC ROC#2 Sl#2 Ch#5 HDC pl#8 [Y1] wire#6 +6, 8, 7 !TDC ROC#2 Sl#2 Ch#6 HDC pl#8 [Y1] wire#7 +7, 8, 8 !TDC ROC#2 Sl#2 Ch#7 HDC pl#8 [Y1] wire#8 +8, 8, 9 !TDC ROC#2 Sl#2 Ch#8 HDC pl#8 [Y1] wire#9 +9, 8, 10 !TDC ROC#2 Sl#2 Ch#9 HDC pl#8 [Y1] wire#10 +10, 8, 11 !TDC ROC#2 Sl#2 Ch#10 HDC pl#8 [Y1] wire#11 +11, 8, 12 !TDC ROC#2 Sl#2 Ch#11 HDC pl#8 [Y1] wire#12 +12, 8, 13 !TDC ROC#2 Sl#2 Ch#12 HDC pl#8 [Y1] wire#13 +!13 !TDC ROC#2 Sl#2 Ch#13 unused +!14 !TDC ROC#2 Sl#2 Ch#14 unused +!15 !TDC ROC#2 Sl#2 Ch#15 unused +16, 11, 40 !TDC ROC#2 Sl#2 Ch#16 HDC pl#11 [Y2] wire#40 +17, 11, 41 !TDC ROC#2 Sl#2 Ch#17 HDC pl#11 [Y2] wire#41 +18, 11, 42 !TDC ROC#2 Sl#2 Ch#18 HDC pl#11 [Y2] wire#42 +19, 11, 43 !TDC ROC#2 Sl#2 Ch#19 HDC pl#11 [Y2] wire#43 +20, 11, 44 !TDC ROC#2 Sl#2 Ch#20 HDC pl#11 [Y2] wire#44 +21, 11, 45 !TDC ROC#2 Sl#2 Ch#21 HDC pl#11 [Y2] wire#45 +22, 11, 46 !TDC ROC#2 Sl#2 Ch#22 HDC pl#11 [Y2] wire#46 +23, 11, 47 !TDC ROC#2 Sl#2 Ch#23 HDC pl#11 [Y2] wire#47 +24, 11, 48 !TDC ROC#2 Sl#2 Ch#24 HDC pl#11 [Y2] wire#48 +25, 11, 49 !TDC ROC#2 Sl#2 Ch#25 HDC pl#11 [Y2] wire#49 +26, 11, 50 !TDC ROC#2 Sl#2 Ch#26 HDC pl#11 [Y2] wire#50 +27, 11, 51 !TDC ROC#2 Sl#2 Ch#27 HDC pl#11 [Y2] wire#51 +28, 11, 52 !TDC ROC#2 Sl#2 Ch#28 HDC pl#11 [Y2] wire#52 +!29 !TDC ROC#2 Sl#2 Ch#29 unused +!30 !TDC ROC#2 Sl#2 Ch#30 unused +!31 !TDC ROC#2 Sl#2 Ch#31 unused +32, 8, 14 !TDC ROC#2 Sl#2 Ch#32 HDC pl#8 [Y1] wire#14 +33, 8, 15 !TDC ROC#2 Sl#2 Ch#33 HDC pl#8 [Y1] wire#15 +34, 8, 16 !TDC ROC#2 Sl#2 Ch#34 HDC pl#8 [Y1] wire#16 +35, 8, 17 !TDC ROC#2 Sl#2 Ch#35 HDC pl#8 [Y1] wire#17 +36, 8, 18 !TDC ROC#2 Sl#2 Ch#36 HDC pl#8 [Y1] wire#18 +37, 8, 19 !TDC ROC#2 Sl#2 Ch#37 HDC pl#8 [Y1] wire#19 +38, 8, 20 !TDC ROC#2 Sl#2 Ch#38 HDC pl#8 [Y1] wire#20 +39, 8, 21 !TDC ROC#2 Sl#2 Ch#39 HDC pl#8 [Y1] wire#21 +40, 8, 22 !TDC ROC#2 Sl#2 Ch#40 HDC pl#8 [Y1] wire#22 +41, 8, 23 !TDC ROC#2 Sl#2 Ch#41 HDC pl#8 [Y1] wire#23 +42, 8, 24 !TDC ROC#2 Sl#2 Ch#42 HDC pl#8 [Y1] wire#24 +43, 8, 25 !TDC ROC#2 Sl#2 Ch#43 HDC pl#8 [Y1] wire#25 +44, 8, 26 !TDC ROC#2 Sl#2 Ch#44 HDC pl#8 [Y1] wire#26 +!45 !TDC ROC#2 Sl#2 Ch#45 unused +!46 !TDC ROC#2 Sl#2 Ch#46 unused +!47 !TDC ROC#2 Sl#2 Ch#47 unused +48, 11, 27 !TDC ROC#2 Sl#2 Ch#48 HDC pl#11 [Y2] wire#27 +49, 11, 28 !TDC ROC#2 Sl#2 Ch#49 HDC pl#11 [Y2] wire#28 +50, 11, 29 !TDC ROC#2 Sl#2 Ch#50 HDC pl#11 [Y2] wire#29 +51, 11, 30 !TDC ROC#2 Sl#2 Ch#51 HDC pl#11 [Y2] wire#30 +52, 11, 31 !TDC ROC#2 Sl#2 Ch#52 HDC pl#11 [Y2] wire#31 +53, 11, 32 !TDC ROC#2 Sl#2 Ch#53 HDC pl#11 [Y2] wire#32 +54, 11, 33 !TDC ROC#2 Sl#2 Ch#54 HDC pl#11 [Y2] wire#33 +55, 11, 34 !TDC ROC#2 Sl#2 Ch#55 HDC pl#11 [Y2] wire#34 +56, 11, 35 !TDC ROC#2 Sl#2 Ch#56 HDC pl#11 [Y2] wire#35 +57, 11, 36 !TDC ROC#2 Sl#2 Ch#57 HDC pl#11 [Y2] wire#36 +58, 11, 37 !TDC ROC#2 Sl#2 Ch#58 HDC pl#11 [Y2] wire#37 +59, 11, 38 !TDC ROC#2 Sl#2 Ch#59 HDC pl#11 [Y2] wire#38 +60, 11, 39 !TDC ROC#2 Sl#2 Ch#60 HDC pl#11 [Y2] wire#39 +!61 !TDC ROC#2 Sl#2 Ch#61 unused +!62 !TDC ROC#2 Sl#2 Ch#62 unused +!63 !TDC ROC#2 Sl#2 Ch#63 unused +64, 8, 27 !TDC ROC#2 Sl#2 Ch#64 HDC pl#8 [Y1] wire#27 +65, 8, 28 !TDC ROC#2 Sl#2 Ch#65 HDC pl#8 [Y1] wire#28 +66, 8, 29 !TDC ROC#2 Sl#2 Ch#66 HDC pl#8 [Y1] wire#29 +67, 8, 30 !TDC ROC#2 Sl#2 Ch#67 HDC pl#8 [Y1] wire#30 +68, 8, 31 !TDC ROC#2 Sl#2 Ch#68 HDC pl#8 [Y1] wire#31 +69, 8, 32 !TDC ROC#2 Sl#2 Ch#69 HDC pl#8 [Y1] wire#32 +70, 8, 33 !TDC ROC#2 Sl#2 Ch#70 HDC pl#8 [Y1] wire#33 +71, 8, 34 !TDC ROC#2 Sl#2 Ch#71 HDC pl#8 [Y1] wire#34 +72, 8, 35 !TDC ROC#2 Sl#2 Ch#72 HDC pl#8 [Y1] wire#35 +73, 8, 36 !TDC ROC#2 Sl#2 Ch#73 HDC pl#8 [Y1] wire#36 +74, 8, 37 !TDC ROC#2 Sl#2 Ch#74 HDC pl#8 [Y1] wire#37 +75, 8, 38 !TDC ROC#2 Sl#2 Ch#75 HDC pl#8 [Y1] wire#38 +76, 8, 39 !TDC ROC#2 Sl#2 Ch#76 HDC pl#8 [Y1] wire#39 +!77 !TDC ROC#2 Sl#2 Ch#77 unused +!78 !TDC ROC#2 Sl#2 Ch#78 unused +!79 !TDC ROC#2 Sl#2 Ch#79 unused +80, 11, 14 !TDC ROC#2 Sl#2 Ch#80 HDC pl#11 [Y2] wire#14 +81, 11, 15 !TDC ROC#2 Sl#2 Ch#81 HDC pl#11 [Y2] wire#15 +82, 11, 16 !TDC ROC#2 Sl#2 Ch#82 HDC pl#11 [Y2] wire#16 +83, 11, 17 !TDC ROC#2 Sl#2 Ch#83 HDC pl#11 [Y2] wire#17 +84, 11, 18 !TDC ROC#2 Sl#2 Ch#84 HDC pl#11 [Y2] wire#18 +85, 11, 19 !TDC ROC#2 Sl#2 Ch#85 HDC pl#11 [Y2] wire#19 +86, 11, 20 !TDC ROC#2 Sl#2 Ch#86 HDC pl#11 [Y2] wire#20 +87, 11, 21 !TDC ROC#2 Sl#2 Ch#87 HDC pl#11 [Y2] wire#21 +88, 11, 22 !TDC ROC#2 Sl#2 Ch#88 HDC pl#11 [Y2] wire#22 +89, 11, 23 !TDC ROC#2 Sl#2 Ch#89 HDC pl#11 [Y2] wire#23 +90, 11, 24 !TDC ROC#2 Sl#2 Ch#90 HDC pl#11 [Y2] wire#24 +91, 11, 25 !TDC ROC#2 Sl#2 Ch#91 HDC pl#11 [Y2] wire#25 +92, 11, 26 !TDC ROC#2 Sl#2 Ch#92 HDC pl#11 [Y2] wire#26 +!93 !TDC ROC#2 Sl#2 Ch#93 unused +!94 !TDC ROC#2 Sl#2 Ch#94 unused +!95 !TDC ROC#2 Sl#2 Ch#95 unused + +Slot= 3 +0, 8, 40 !TDC ROC#2 Sl#3 Ch#0 HDC pl#8 [Y1] wire#40 +1, 8, 41 !TDC ROC#2 Sl#3 Ch#1 HDC pl#8 [Y1] wire#41 +2, 8, 42 !TDC ROC#2 Sl#3 Ch#2 HDC pl#8 [Y1] wire#42 +3, 8, 43 !TDC ROC#2 Sl#3 Ch#3 HDC pl#8 [Y1] wire#43 +4, 8, 44 !TDC ROC#2 Sl#3 Ch#4 HDC pl#8 [Y1] wire#44 +5, 8, 45 !TDC ROC#2 Sl#3 Ch#5 HDC pl#8 [Y1] wire#45 +6, 8, 46 !TDC ROC#2 Sl#3 Ch#6 HDC pl#8 [Y1] wire#46 +7, 8, 47 !TDC ROC#2 Sl#3 Ch#7 HDC pl#8 [Y1] wire#47 +8, 8, 48 !TDC ROC#2 Sl#3 Ch#8 HDC pl#8 [Y1] wire#48 +9, 8, 49 !TDC ROC#2 Sl#3 Ch#9 HDC pl#8 [Y1] wire#49 +10, 8, 50 !TDC ROC#2 Sl#3 Ch#10 HDC pl#8 [Y1] wire#50 +11, 8, 51 !TDC ROC#2 Sl#3 Ch#11 HDC pl#8 [Y1] wire#51 +12, 8, 52 !TDC ROC#2 Sl#3 Ch#12 HDC pl#8 [Y1] wire#52 +!13 !TDC ROC#2 Sl#3 Ch#13 +!14 !TDC ROC#2 Sl#3 Ch#14 +!15 !TDC ROC#2 Sl#3 Ch#15 +16, 11, 1 !TDC ROC#2 Sl#3 Ch#16 HDC pl#11 [Y2] wire#1 +17, 11, 2 !TDC ROC#2 Sl#3 Ch#17 HDC pl#11 [Y2] wire#2 +18, 11, 3 !TDC ROC#2 Sl#3 Ch#18 HDC pl#11 [Y2] wire#3 +19, 11, 4 !TDC ROC#2 Sl#3 Ch#19 HDC pl#11 [Y2] wire#4 +20, 11, 5 !TDC ROC#2 Sl#3 Ch#20 HDC pl#11 [Y2] wire#5 +21, 11, 6 !TDC ROC#2 Sl#3 Ch#21 HDC pl#11 [Y2] wire#6 +22, 11, 7 !TDC ROC#2 Sl#3 Ch#22 HDC pl#11 [Y2] wire#7 +23, 11, 8 !TDC ROC#2 Sl#3 Ch#23 HDC pl#11 [Y2] wire#8 +24, 11, 9 !TDC ROC#2 Sl#3 Ch#24 HDC pl#11 [Y2] wire#9 +25, 11, 10 !TDC ROC#2 Sl#3 Ch#25 HDC pl#11 [Y2] wire#10 +26, 11, 11 !TDC ROC#2 Sl#3 Ch#26 HDC pl#11 [Y2] wire#11 +27, 11, 12 !TDC ROC#2 Sl#3 Ch#27 HDC pl#11 [Y2] wire#12 +28, 11, 13 !TDC ROC#2 Sl#3 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#3 Ch#29 unused +! 30 !TDC ROC#2 Sl#3 Ch#30 unused +! 31 !TDC ROC#2 Sl#3 Ch#31 unused +32, 10, 92 !TDC ROC#2 Sl#3 Ch#32 HDC pl#10 [V] wire#92 +33, 10, 93 !TDC ROC#2 Sl#3 Ch#33 HDC pl#10 [V] wire#93 +34, 10, 94 !TDC ROC#2 Sl#3 Ch#34 HDC pl#10 [V] wire#94 +35, 10, 95 !TDC ROC#2 Sl#3 Ch#35 HDC pl#10 [V] wire#95 +36, 10, 96 !TDC ROC#2 Sl#3 Ch#36 HDC pl#10 [V] wire#96 +37, 10, 97 !TDC ROC#2 Sl#3 Ch#37 HDC pl#10 [V] wire#97 +38, 10, 98 !TDC ROC#2 Sl#3 Ch#38 HDC pl#10 [V] wire#98 +39, 10, 99 !TDC ROC#2 Sl#3 Ch#39 HDC pl#10 [V] wire#99 +40, 10, 100 !TDC ROC#2 Sl#3 Ch#40 HDC pl#10 [V] wire#100 +41, 10, 101 !TDC ROC#2 Sl#3 Ch#41 HDC pl#10 [V] wire#101 +42, 10, 102 !TDC ROC#2 Sl#3 Ch#42 HDC pl#10 [V] wire#102 +43, 10, 103 !TDC ROC#2 Sl#3 Ch#43 HDC pl#10 [V] wire#103 +44, 10, 104 !TDC ROC#2 Sl#3 Ch#44 HDC pl#10 [V] wire#104 +45, 10, 105 !TDC ROC#2 Sl#3 Ch#45 HDC pl#10 [V] wire#105 +46, 10, 106 !TDC ROC#2 Sl#3 Ch#46 HDC pl#10 [V] wire#106 +47, 10, 107 !TDC ROC#2 Sl#3 Ch#47 HDC pl#10 [V] wire#107 +48, 7, 97 !TDC ROC#2 Sl#3 Ch#48 HDC pl#7 [X1] wire#97 +49, 7, 98 !TDC ROC#2 Sl#3 Ch#49 HDC pl#7 [X1] wire#98 +50, 7, 99 !TDC ROC#2 Sl#3 Ch#50 HDC pl#7 [X1] wire#99 +51, 7, 100 !TDC ROC#2 Sl#3 Ch#51 HDC pl#7 [X1] wire#100 +52, 7, 101 !TDC ROC#2 Sl#3 Ch#52 HDC pl#7 [X1] wire#101 +53, 7, 102 !TDC ROC#2 Sl#3 Ch#53 HDC pl#7 [X1] wire#102 +54, 7, 103 !TDC ROC#2 Sl#3 Ch#54 HDC pl#7 [X1] wire#103 +55, 7, 104 !TDC ROC#2 Sl#3 Ch#55 HDC pl#7 [X1] wire#104 +56, 7, 105 !TDC ROC#2 Sl#3 Ch#56 HDC pl#7 [X1] wire#105 +57, 7, 106 !TDC ROC#2 Sl#3 Ch#57 HDC pl#7 [X1] wire#106 +58, 7, 107 !TDC ROC#2 Sl#3 Ch#58 HDC pl#7 [X1] wire#107 +59, 7, 108 !TDC ROC#2 Sl#3 Ch#59 HDC pl#7 [X1] wire#108 +60, 7, 109 !TDC ROC#2 Sl#3 Ch#60 HDC pl#7 [X1] wire#109 +61, 7, 110 !TDC ROC#2 Sl#3 Ch#61 HDC pl#7 [X1] wire#110 +62, 7, 111 !TDC ROC#2 Sl#3 Ch#62 HDC pl#7 [X1] wire#111 +63, 7, 112 !TDC ROC#2 Sl#3 Ch#63 HDC pl#7 [X1] wire#112 +64, 12, 1 !TDC ROC#2 Sl#3 Ch#64 HDC pl#12 [X2] wire#1 +65, 12, 2 !TDC ROC#2 Sl#3 Ch#65 HDC pl#12 [X2] wire#2 +66, 12, 3 !TDC ROC#2 Sl#3 Ch#66 HDC pl#12 [X2] wire#3 +67, 12, 4 !TDC ROC#2 Sl#3 Ch#67 HDC pl#12 [X2] wire#4 +68, 12, 5 !TDC ROC#2 Sl#3 Ch#68 HDC pl#12 [X2] wire#5 +69, 12, 6 !TDC ROC#2 Sl#3 Ch#69 HDC pl#12 [X2] wire#6 +70, 12, 7 !TDC ROC#2 Sl#3 Ch#70 HDC pl#12 [X2] wire#7 +71, 12, 8 !TDC ROC#2 Sl#3 Ch#71 HDC pl#12 [X2] wire#8 +72, 12, 9 !TDC ROC#2 Sl#3 Ch#72 HDC pl#12 [X2] wire#9 +73, 12, 10 !TDC ROC#2 Sl#3 Ch#73 HDC pl#12 [X2] wire#10 +74, 12, 11 !TDC ROC#2 Sl#3 Ch#74 HDC pl#12 [X2] wire#11 +75, 12, 12 !TDC ROC#2 Sl#3 Ch#75 HDC pl#12 [X2] wire#12 +76, 12, 13 !TDC ROC#2 Sl#3 Ch#76 HDC pl#12 [X2] wire#13 +77, 12, 14 !TDC ROC#2 Sl#3 Ch#77 HDC pl#12 [X2] wire#14 +78, 12, 15 !TDC ROC#2 Sl#3 Ch#78 HDC pl#12 [X2] wire#15 +79, 12, 16 !TDC ROC#2 Sl#3 Ch#79 HDC pl#12 [X2] wire#16 +80, 7, 113 !TDC ROC#2 Sl#3 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#3 Ch#81 unused +82, 9, 1 !TDC ROC#2 Sl#3 Ch#82 HDC pl#9 [U] wire#1 +83, 9, 2 !TDC ROC#2 Sl#3 Ch#83 HDC pl#9 [U] wire#2 +84, 9, 3 !TDC ROC#2 Sl#3 Ch#84 HDC pl#9 [U] wire#3 +85, 9, 4 !TDC ROC#2 Sl#3 Ch#85 HDC pl#9 [U] wire#4 +86, 9, 5 !TDC ROC#2 Sl#3 Ch#86 HDC pl#9 [U] wire#5 +87, 9, 6 !TDC ROC#2 Sl#3 Ch#87 HDC pl#9 [U] wire#6 +88, 9, 7 !TDC ROC#2 Sl#3 Ch#88 HDC pl#9 [U] wire#7 +89, 9, 8 !TDC ROC#2 Sl#3 Ch#89 HDC pl#9 [U] wire#8 +90, 9, 9 !TDC ROC#2 Sl#3 Ch#90 HDC pl#9 [U] wire#9 +91, 9, 10 !TDC ROC#2 Sl#3 Ch#91 HDC pl#9 [U] wire#10 +92, 9, 11 !TDC ROC#2 Sl#3 Ch#92 HDC pl#9 [U] wire#11 +93, 9, 12 !TDC ROC#2 Sl#3 Ch#93 HDC pl#9 [U] wire#12 +94, 9, 13 !TDC ROC#2 Sl#3 Ch#94 HDC pl#9 [U] wire#13 +95, 9, 14 !TDC ROC#2 Sl#3 Ch#95 HDC pl#9 [U] wire#14 +Slot= 5 +0, 10, 77 !TDC ROC#2 Sl#5 Ch#0 HDC pl#10 [V] wire#77 +1, 10, 78 !TDC ROC#2 Sl#5 Ch#1 HDC pl#10 [V] wire#78 +2, 10, 79 !TDC ROC#2 Sl#5 Ch#2 HDC pl#10 [V] wire#79 +3, 10, 80 !TDC ROC#2 Sl#5 Ch#3 HDC pl#10 [V] wire#80 +4, 10, 81 !TDC ROC#2 Sl#5 Ch#4 HDC pl#10 [V] wire#81 +5, 10, 82 !TDC ROC#2 Sl#5 Ch#5 HDC pl#10 [V] wire#82 +6, 10, 83 !TDC ROC#2 Sl#5 Ch#6 HDC pl#10 [V] wire#83 +7, 10, 84 !TDC ROC#2 Sl#5 Ch#7 HDC pl#10 [V] wire#84 +8, 10, 85 !TDC ROC#2 Sl#5 Ch#8 HDC pl#10 [V] wire#85 +9, 10, 86 !TDC ROC#2 Sl#5 Ch#9 HDC pl#10 [V] wire#86 +10, 10, 87 !TDC ROC#2 Sl#5 Ch#10 HDC pl#10 [V] wire#87 +11, 10, 88 !TDC ROC#2 Sl#5 Ch#11 HDC pl#10 [V] wire#88 +12, 10, 89 !TDC ROC#2 Sl#5 Ch#12 HDC pl#10 [V] wire#89 +13, 10, 90 !TDC ROC#2 Sl#5 Ch#13 HDC pl#10 [V] wire#90 +14, 10, 91 !TDC ROC#2 Sl#5 Ch#14 HDC pl#10 [V] wire#91 +! 15 !TDC ROC#2 Sl#5 Ch#15 unused +16, 7, 81 !TDC ROC#2 Sl#5 Ch#16 HDC pl#7 [X1] wire#81 +17, 7, 82 !TDC ROC#2 Sl#5 Ch#17 HDC pl#7 [X1] wire#82 +18, 7, 83 !TDC ROC#2 Sl#5 Ch#18 HDC pl#7 [X1] wire#83 +19, 7, 84 !TDC ROC#2 Sl#5 Ch#19 HDC pl#7 [X1] wire#84 +20, 7, 85 !TDC ROC#2 Sl#5 Ch#20 HDC pl#7 [X1] wire#85 +21, 7, 86 !TDC ROC#2 Sl#5 Ch#21 HDC pl#7 [X1] wire#86 +22, 7, 87 !TDC ROC#2 Sl#5 Ch#22 HDC pl#7 [X1] wire#87 +23, 7, 88 !TDC ROC#2 Sl#5 Ch#23 HDC pl#7 [X1] wire#88 +24, 7, 89 !TDC ROC#2 Sl#5 Ch#24 HDC pl#7 [X1] wire#89 +25, 7, 90 !TDC ROC#2 Sl#5 Ch#25 HDC pl#7 [X1] wire#90 +26, 7, 91 !TDC ROC#2 Sl#5 Ch#26 HDC pl#7 [X1] wire#91 +27, 7, 92 !TDC ROC#2 Sl#5 Ch#27 HDC pl#7 [X1] wire#92 +28, 7, 93 !TDC ROC#2 Sl#5 Ch#28 HDC pl#7 [X1] wire#93 +29, 7, 94 !TDC ROC#2 Sl#5 Ch#29 HDC pl#7 [X1] wire#94 +30, 7, 95 !TDC ROC#2 Sl#5 Ch#30 HDC pl#7 [X1] wire#95 +31, 7, 96 !TDC ROC#2 Sl#5 Ch#31 HDC pl#7 [X1] wire#96 +32, 12, 17 !TDC ROC#2 Sl#5 Ch#32 HDC pl#12 [X2] wire#17 +33, 12, 18 !TDC ROC#2 Sl#5 Ch#33 HDC pl#12 [X2] wire#18 +34, 12, 19 !TDC ROC#2 Sl#5 Ch#34 HDC pl#12 [X2] wire#19 +35, 12, 20 !TDC ROC#2 Sl#5 Ch#35 HDC pl#12 [X2] wire#20 +36, 12, 21 !TDC ROC#2 Sl#5 Ch#36 HDC pl#12 [X2] wire#21 +37, 12, 22 !TDC ROC#2 Sl#5 Ch#37 HDC pl#12 [X2] wire#22 +38, 12, 23 !TDC ROC#2 Sl#5 Ch#38 HDC pl#12 [X2] wire#23 +39, 12, 24 !TDC ROC#2 Sl#5 Ch#39 HDC pl#12 [X2] wire#24 +40, 12, 25 !TDC ROC#2 Sl#5 Ch#40 HDC pl#12 [X2] wire#25 +41, 12, 26 !TDC ROC#2 Sl#5 Ch#41 HDC pl#12 [X2] wire#26 +42, 12, 27 !TDC ROC#2 Sl#5 Ch#42 HDC pl#12 [X2] wire#27 +43, 12, 28 !TDC ROC#2 Sl#5 Ch#43 HDC pl#12 [X2] wire#28 +44, 12, 29 !TDC ROC#2 Sl#5 Ch#44 HDC pl#12 [X2] wire#29 +45, 12, 30 !TDC ROC#2 Sl#5 Ch#45 HDC pl#12 [X2] wire#30 +46, 12, 31 !TDC ROC#2 Sl#5 Ch#46 HDC pl#12 [X2] wire#31 +47, 12, 32 !TDC ROC#2 Sl#5 Ch#47 HDC pl#12 [X2] wire#32 +48, 9, 15 !TDC ROC#2 Sl#5 Ch#48 HDC pl#9 [U] wire#15 +49, 9, 16 !TDC ROC#2 Sl#5 Ch#49 HDC pl#9 [U] wire#16 +50, 9, 17 !TDC ROC#2 Sl#5 Ch#50 HDC pl#9 [U] wire#17 +51, 9, 18 !TDC ROC#2 Sl#5 Ch#51 HDC pl#9 [U] wire#18 +52, 9, 19 !TDC ROC#2 Sl#5 Ch#52 HDC pl#9 [U] wire#19 +53, 9, 20 !TDC ROC#2 Sl#5 Ch#53 HDC pl#9 [U] wire#20 +54, 9, 21 !TDC ROC#2 Sl#5 Ch#54 HDC pl#9 [U] wire#21 +55, 9, 22 !TDC ROC#2 Sl#5 Ch#55 HDC pl#9 [U] wire#22 +56, 9, 23 !TDC ROC#2 Sl#5 Ch#56 HDC pl#9 [U] wire#23 +57, 9, 24 !TDC ROC#2 Sl#5 Ch#57 HDC pl#9 [U] wire#24 +58, 9, 25 !TDC ROC#2 Sl#5 Ch#58 HDC pl#9 [U] wire#25 +59, 9, 26 !TDC ROC#2 Sl#5 Ch#59 HDC pl#9 [U] wire#26 +60, 9, 27 !TDC ROC#2 Sl#5 Ch#60 HDC pl#9 [U] wire#27 +61, 9, 28 !TDC ROC#2 Sl#5 Ch#61 HDC pl#9 [U] wire#28 +62, 9, 29 !TDC ROC#2 Sl#5 Ch#62 HDC pl#9 [U] wire#29 +!63 !TDC ROC#2 Sl#5 Ch#63 unused +64, 10, 61 !TDC ROC#2 Sl#5 Ch#64 HDC pl#10 [V] wire#61 +65, 10, 62 !TDC ROC#2 Sl#5 Ch#65 HDC pl#10 [V] wire#62 +66, 10, 63 !TDC ROC#2 Sl#5 Ch#66 HDC pl#10 [V] wire#63 +67, 10, 64 !TDC ROC#2 Sl#5 Ch#67 HDC pl#10 [V] wire#64 +68, 10, 65 !TDC ROC#2 Sl#5 Ch#68 HDC pl#10 [V] wire#65 +69, 10, 66 !TDC ROC#2 Sl#5 Ch#69 HDC pl#10 [V] wire#66 +70, 10, 67 !TDC ROC#2 Sl#5 Ch#70 HDC pl#10 [V] wire#67 +71, 10, 68 !TDC ROC#2 Sl#5 Ch#71 HDC pl#10 [V] wire#68 +72, 10, 69 !TDC ROC#2 Sl#5 Ch#72 HDC pl#10 [V] wire#69 +73, 10, 70 !TDC ROC#2 Sl#5 Ch#73 HDC pl#10 [V] wire#70 +74, 10, 71 !TDC ROC#2 Sl#5 Ch#74 HDC pl#10 [V] wire#71 +75, 10, 72 !TDC ROC#2 Sl#5 Ch#75 HDC pl#10 [V] wire#72 +76, 10, 73 !TDC ROC#2 Sl#5 Ch#76 HDC pl#10 [V] wire#73 +77, 10, 74 !TDC ROC#2 Sl#5 Ch#77 HDC pl#10 [V] wire#74 +78, 10, 75 !TDC ROC#2 Sl#5 Ch#78 HDC pl#10 [V] wire#75 +79, 10, 76 !TDC ROC#2 Sl#5 Ch#79 HDC pl#10 [V] wire#76 +80, 7, 65 !TDC ROC#2 Sl#5 Ch#80 HDC pl#7 [X1] wire#65 +81, 7, 66 !TDC ROC#2 Sl#5 Ch#81 HDC pl#7 [X1] wire#66 +82, 7, 67 !TDC ROC#2 Sl#5 Ch#82 HDC pl#7 [X1] wire#67 +83, 7, 68 !TDC ROC#2 Sl#5 Ch#83 HDC pl#7 [X1] wire#68 +84, 7, 69 !TDC ROC#2 Sl#5 Ch#84 HDC pl#7 [X1] wire#69 +85, 7, 70 !TDC ROC#2 Sl#5 Ch#85 HDC pl#7 [X1] wire#70 +86, 7, 71 !TDC ROC#2 Sl#5 Ch#86 HDC pl#7 [X1] wire#71 +87, 7, 72 !TDC ROC#2 Sl#5 Ch#87 HDC pl#7 [X1] wire#72 +88, 7, 73 !TDC ROC#2 Sl#5 Ch#88 HDC pl#7 [X1] wire#73 +89, 7, 74 !TDC ROC#2 Sl#5 Ch#89 HDC pl#7 [X1] wire#74 +90, 7, 75 !TDC ROC#2 Sl#5 Ch#90 HDC pl#7 [X1] wire#75 +91, 7, 76 !TDC ROC#2 Sl#5 Ch#91 HDC pl#7 [X1] wire#76 +92, 7, 77 !TDC ROC#2 Sl#5 Ch#92 HDC pl#7 [X1] wire#77 +93, 7, 78 !TDC ROC#2 Sl#5 Ch#93 HDC pl#7 [X1] wire#78 +94, 7, 79 !TDC ROC#2 Sl#5 Ch#94 HDC pl#7 [X1] wire#79 +95, 7, 80 !TDC ROC#2 Sl#5 Ch#95 HDC pl#7 [X1] wire#80 +Slot= 6 +0, 12, 33 !TDC ROC#2 Sl#6 Ch#0 HDC pl#12 [X2] wire#33 +1, 12, 34 !TDC ROC#2 Sl#6 Ch#1 HDC pl#12 [X2] wire#34 +2, 12, 35 !TDC ROC#2 Sl#6 Ch#2 HDC pl#12 [X2] wire#35 +3, 12, 36 !TDC ROC#2 Sl#6 Ch#3 HDC pl#12 [X2] wire#36 +4, 12, 37 !TDC ROC#2 Sl#6 Ch#4 HDC pl#12 [X2] wire#37 +5, 12, 38 !TDC ROC#2 Sl#6 Ch#5 HDC pl#12 [X2] wire#38 +6, 12, 39 !TDC ROC#2 Sl#6 Ch#6 HDC pl#12 [X2] wire#39 +7, 12, 40 !TDC ROC#2 Sl#6 Ch#7 HDC pl#12 [X2] wire#40 +8, 12, 41 !TDC ROC#2 Sl#6 Ch#8 HDC pl#12 [X2] wire#41 +9, 12, 42 !TDC ROC#2 Sl#6 Ch#9 HDC pl#12 [X2] wire#42 +10, 12, 43 !TDC ROC#2 Sl#6 Ch#10 HDC pl#12 [X2] wire#43 +11, 12, 44 !TDC ROC#2 Sl#6 Ch#11 HDC pl#12 [X2] wire#44 +12, 12, 45 !TDC ROC#2 Sl#6 Ch#12 HDC pl#12 [X2] wire#45 +13, 12, 46 !TDC ROC#2 Sl#6 Ch#13 HDC pl#12 [X2] wire#46 +14, 12, 47 !TDC ROC#2 Sl#6 Ch#14 HDC pl#12 [X2] wire#47 +15, 12, 48 !TDC ROC#2 Sl#6 Ch#15 HDC pl#12 [X2] wire#48 +16, 9, 30 !TDC ROC#2 Sl#6 Ch#16 HDC pl#9 [U] wire#30 +17, 9, 31 !TDC ROC#2 Sl#6 Ch#17 HDC pl#9 [U] wire#31 +18, 9, 32 !TDC ROC#2 Sl#6 Ch#18 HDC pl#9 [U] wire#32 +19, 9, 33 !TDC ROC#2 Sl#6 Ch#19 HDC pl#9 [U] wire#33 +20, 9, 34 !TDC ROC#2 Sl#6 Ch#20 HDC pl#9 [U] wire#34 +21, 9, 35 !TDC ROC#2 Sl#6 Ch#21 HDC pl#9 [U] wire#35 +22, 9, 36 !TDC ROC#2 Sl#6 Ch#22 HDC pl#9 [U] wire#36 +23, 9, 37 !TDC ROC#2 Sl#6 Ch#23 HDC pl#9 [U] wire#37 +24, 9, 38 !TDC ROC#2 Sl#6 Ch#24 HDC pl#9 [U] wire#38 +25, 9, 39 !TDC ROC#2 Sl#6 Ch#25 HDC pl#9 [U] wire#39 +26, 9, 40 !TDC ROC#2 Sl#6 Ch#26 HDC pl#9 [U] wire#40 +27, 9, 41 !TDC ROC#2 Sl#6 Ch#27 HDC pl#9 [U] wire#41 +28, 9, 42 !TDC ROC#2 Sl#6 Ch#28 HDC pl#9 [U] wire#42 +29, 9, 43 !TDC ROC#2 Sl#6 Ch#29 HDC pl#9 [U] wire#43 +30, 9, 44 !TDC ROC#2 Sl#6 Ch#30 HDC pl#9 [U] wire#44 +31, 9, 45 !TDC ROC#2 Sl#6 Ch#31 HDC pl#9 [U] wire#45 +32, 10, 46 !TDC ROC#2 Sl#6 Ch#32 HDC pl#10 [V] wire#46 +33, 10, 47 !TDC ROC#2 Sl#6 Ch#33 HDC pl#10 [V] wire#47 +34, 10, 48 !TDC ROC#2 Sl#6 Ch#34 HDC pl#10 [V] wire#48 +35, 10, 49 !TDC ROC#2 Sl#6 Ch#35 HDC pl#10 [V] wire#49 +36, 10, 50 !TDC ROC#2 Sl#6 Ch#36 HDC pl#10 [V] wire#50 +37, 10, 51 !TDC ROC#2 Sl#6 Ch#37 HDC pl#10 [V] wire#51 +38, 10, 52 !TDC ROC#2 Sl#6 Ch#38 HDC pl#10 [V] wire#52 +39, 10, 53 !TDC ROC#2 Sl#6 Ch#39 HDC pl#10 [V] wire#53 +40, 10, 54 !TDC ROC#2 Sl#6 Ch#40 HDC pl#10 [V] wire#54 +41, 10, 55 !TDC ROC#2 Sl#6 Ch#41 HDC pl#10 [V] wire#55 +42, 10, 56 !TDC ROC#2 Sl#6 Ch#42 HDC pl#10 [V] wire#56 +43, 10, 57 !TDC ROC#2 Sl#6 Ch#43 HDC pl#10 [V] wire#57 +44, 10, 58 !TDC ROC#2 Sl#6 Ch#44 HDC pl#10 [V] wire#58 +45, 10, 59 !TDC ROC#2 Sl#6 Ch#45 HDC pl#10 [V] wire#59 +46, 10, 60 !TDC ROC#2 Sl#6 Ch#46 HDC pl#10 [V] wire#60 +!47 !TDC ROC#2 Sl#6 Ch#47 HDC unused +48, 7, 49 !TDC ROC#2 Sl#6 Ch#48 HDC pl#7 [X1] wire#49 +49, 7, 50 !TDC ROC#2 Sl#6 Ch#49 HDC pl#7 [X1] wire#50 +50, 7, 51 !TDC ROC#2 Sl#6 Ch#50 HDC pl#7 [X1] wire#51 +51, 7, 52 !TDC ROC#2 Sl#6 Ch#51 HDC pl#7 [X1] wire#52 +52, 7, 53 !TDC ROC#2 Sl#6 Ch#52 HDC pl#7 [X1] wire#53 +53, 7, 54 !TDC ROC#2 Sl#6 Ch#53 HDC pl#7 [X1] wire#54 +54, 7, 55 !TDC ROC#2 Sl#6 Ch#54 HDC pl#7 [X1] wire#55 +55, 7, 56 !TDC ROC#2 Sl#6 Ch#55 HDC pl#7 [X1] wire#56 +56, 7, 57 !TDC ROC#2 Sl#6 Ch#56 HDC pl#7 [X1] wire#57 +57, 7, 58 !TDC ROC#2 Sl#6 Ch#57 HDC pl#7 [X1] wire#58 +58, 7, 59 !TDC ROC#2 Sl#6 Ch#58 HDC pl#7 [X1] wire#59 +59, 7, 60 !TDC ROC#2 Sl#6 Ch#59 HDC pl#7 [X1] wire#60 +60, 7, 61 !TDC ROC#2 Sl#6 Ch#60 HDC pl#7 [X1] wire#61 +61, 7, 62 !TDC ROC#2 Sl#6 Ch#61 HDC pl#7 [X1] wire#62 +62, 7, 63 !TDC ROC#2 Sl#6 Ch#62 HDC pl#7 [X1] wire#63 +63, 7, 64 !TDC ROC#2 Sl#6 Ch#63 HDC pl#7 [X1] wire#64 +64, 12, 49 !TDC ROC#2 Sl#6 Ch#64 HDC pl#12 [X2] wire#49 +65, 12, 50 !TDC ROC#2 Sl#6 Ch#65 HDC pl#12 [X2] wire#50 +66, 12, 51 !TDC ROC#2 Sl#6 Ch#66 HDC pl#12 [X2] wire#51 +67, 12, 52 !TDC ROC#2 Sl#6 Ch#67 HDC pl#12 [X2] wire#52 +68, 12, 53 !TDC ROC#2 Sl#6 Ch#68 HDC pl#12 [X2] wire#53 +69, 12, 54 !TDC ROC#2 Sl#6 Ch#69 HDC pl#12 [X2] wire#54 +70, 12, 55 !TDC ROC#2 Sl#6 Ch#70 HDC pl#12 [X2] wire#55 +71, 12, 56 !TDC ROC#2 Sl#6 Ch#71 HDC pl#12 [X2] wire#56 +72, 12, 57 !TDC ROC#2 Sl#6 Ch#72 HDC pl#12 [X2] wire#57 +73, 12, 58 !TDC ROC#2 Sl#6 Ch#73 HDC pl#12 [X2] wire#58 +74, 12, 59 !TDC ROC#2 Sl#6 Ch#74 HDC pl#12 [X2] wire#59 +75, 12, 60 !TDC ROC#2 Sl#6 Ch#75 HDC pl#12 [X2] wire#60 +76, 12, 61 !TDC ROC#2 Sl#6 Ch#76 HDC pl#12 [X2] wire#61 +77, 12, 62 !TDC ROC#2 Sl#6 Ch#77 HDC pl#12 [X2] wire#62 +78, 12, 63 !TDC ROC#2 Sl#6 Ch#78 HDC pl#12 [X2] wire#63 +79, 12, 64 !TDC ROC#2 Sl#6 Ch#79 HDC pl#12 [X2] wire#64 +80, 10, 30 !TDC ROC#2 Sl#6 Ch#80 HDC pl#10 [V] wire#30 +81, 10, 31 !TDC ROC#2 Sl#6 Ch#81 HDC pl#10 [V] wire#31 +82, 10, 32 !TDC ROC#2 Sl#6 Ch#82 HDC pl#10 [V] wire#32 +83, 10, 33 !TDC ROC#2 Sl#6 Ch#83 HDC pl#10 [V] wire#33 +84, 10, 34 !TDC ROC#2 Sl#6 Ch#84 HDC pl#10 [V] wire#34 +85, 10, 35 !TDC ROC#2 Sl#6 Ch#85 HDC pl#10 [V] wire#35 +86, 10, 36 !TDC ROC#2 Sl#6 Ch#86 HDC pl#10 [V] wire#36 +87, 10, 37 !TDC ROC#2 Sl#6 Ch#87 HDC pl#10 [V] wire#37 +88, 10, 38 !TDC ROC#2 Sl#6 Ch#88 HDC pl#10 [V] wire#38 +89, 10, 39 !TDC ROC#2 Sl#6 Ch#89 HDC pl#10 [V] wire#39 +90, 10, 40 !TDC ROC#2 Sl#6 Ch#90 HDC pl#10 [V] wire#40 +91, 10, 41 !TDC ROC#2 Sl#6 Ch#91 HDC pl#10 [V] wire#41 +92, 10, 42 !TDC ROC#2 Sl#6 Ch#92 HDC pl#10 [V] wire#42 +93, 10, 43 !TDC ROC#2 Sl#6 Ch#93 HDC pl#10 [V] wire#43 +94, 10, 44 !TDC ROC#2 Sl#6 Ch#94 HDC pl#10 [V] wire#44 +95, 10, 45 !TDC ROC#2 Sl#6 Ch#95 HDC pl#10 [V] wire#45 +Slot= 8 +0, 9, 46 !TDC ROC#2 Sl#8 Ch#0 HDC pl#9 [U] wire#46 +1, 9, 47 !TDC ROC#2 Sl#8 Ch#1 HDC pl#9 [U] wire#47 +2, 9, 48 !TDC ROC#2 Sl#8 Ch#2 HDC pl#9 [U] wire#48 +3, 9, 49 !TDC ROC#2 Sl#8 Ch#3 HDC pl#9 [U] wire#49 +4, 9, 50 !TDC ROC#2 Sl#8 Ch#4 HDC pl#9 [U] wire#50 +5, 9, 51 !TDC ROC#2 Sl#8 Ch#5 HDC pl#9 [U] wire#51 +6, 9, 52 !TDC ROC#2 Sl#8 Ch#6 HDC pl#9 [U] wire#52 +7, 9, 53 !TDC ROC#2 Sl#8 Ch#7 HDC pl#9 [U] wire#53 +8, 9, 54 !TDC ROC#2 Sl#8 Ch#8 HDC pl#9 [U] wire#54 +9, 9, 55 !TDC ROC#2 Sl#8 Ch#9 HDC pl#9 [U] wire#55 +10, 9, 56 !TDC ROC#2 Sl#8 Ch#10 HDC pl#9 [U] wire#56 +11, 9, 57 !TDC ROC#2 Sl#8 Ch#11 HDC pl#9 [U] wire#57 +12, 9, 58 !TDC ROC#2 Sl#8 Ch#12 HDC pl#9 [U] wire#58 +13, 9, 59 !TDC ROC#2 Sl#8 Ch#13 HDC pl#9 [U] wire#59 +14, 9, 60 !TDC ROC#2 Sl#8 Ch#14 HDC pl#9 [U] wire#60 +!15 !TDC ROC#2 Sl#8 Ch#15 unused +16, 7, 33 !TDC ROC#2 Sl#8 Ch#16 HDC pl#7 [X1] wire#33 +17, 7, 34 !TDC ROC#2 Sl#8 Ch#17 HDC pl#7 [X1] wire#34 +18, 7, 35 !TDC ROC#2 Sl#8 Ch#18 HDC pl#7 [X1] wire#35 +19, 7, 36 !TDC ROC#2 Sl#8 Ch#19 HDC pl#7 [X1] wire#36 +20, 7, 37 !TDC ROC#2 Sl#8 Ch#20 HDC pl#7 [X1] wire#37 +21, 7, 38 !TDC ROC#2 Sl#8 Ch#21 HDC pl#7 [X1] wire#38 +22, 7, 39 !TDC ROC#2 Sl#8 Ch#22 HDC pl#7 [X1] wire#39 +23, 7, 40 !TDC ROC#2 Sl#8 Ch#23 HDC pl#7 [X1] wire#40 +24, 7, 41 !TDC ROC#2 Sl#8 Ch#24 HDC pl#7 [X1] wire#41 +25, 7, 42 !TDC ROC#2 Sl#8 Ch#25 HDC pl#7 [X1] wire#42 +26, 7, 43 !TDC ROC#2 Sl#8 Ch#26 HDC pl#7 [X1] wire#43 +27, 7, 44 !TDC ROC#2 Sl#8 Ch#27 HDC pl#7 [X1] wire#44 +28, 7, 45 !TDC ROC#2 Sl#8 Ch#28 HDC pl#7 [X1] wire#45 +29, 7, 46 !TDC ROC#2 Sl#8 Ch#29 HDC pl#7 [X1] wire#46 +30, 7, 47 !TDC ROC#2 Sl#8 Ch#30 HDC pl#7 [X1] wire#47 +31, 7, 48 !TDC ROC#2 Sl#8 Ch#31 HDC pl#7 [X1] wire#48 +32, 12, 65 !TDC ROC#2 Sl#8 Ch#32 HDC pl#12 [X2] wire#65 +33, 12, 66 !TDC ROC#2 Sl#8 Ch#33 HDC pl#12 [X2] wire#66 +34, 12, 67 !TDC ROC#2 Sl#8 Ch#34 HDC pl#12 [X2] wire#67 +35, 12, 68 !TDC ROC#2 Sl#8 Ch#35 HDC pl#12 [X2] wire#68 +36, 12, 69 !TDC ROC#2 Sl#8 Ch#36 HDC pl#12 [X2] wire#69 +37, 12, 70 !TDC ROC#2 Sl#8 Ch#37 HDC pl#12 [X2] wire#70 +38, 12, 71 !TDC ROC#2 Sl#8 Ch#38 HDC pl#12 [X2] wire#71 +39, 12, 72 !TDC ROC#2 Sl#8 Ch#39 HDC pl#12 [X2] wire#72 +40, 12, 73 !TDC ROC#2 Sl#8 Ch#40 HDC pl#12 [X2] wire#73 +41, 12, 74 !TDC ROC#2 Sl#8 Ch#41 HDC pl#12 [X2] wire#74 +42, 12, 75 !TDC ROC#2 Sl#8 Ch#42 HDC pl#12 [X2] wire#75 +43, 12, 76 !TDC ROC#2 Sl#8 Ch#43 HDC pl#12 [X2] wire#76 +44, 12, 77 !TDC ROC#2 Sl#8 Ch#44 HDC pl#12 [X2] wire#77 +45, 12, 78 !TDC ROC#2 Sl#8 Ch#45 HDC pl#12 [X2] wire#78 +46, 12, 79 !TDC ROC#2 Sl#8 Ch#46 HDC pl#12 [X2] wire#79 +47, 12, 80 !TDC ROC#2 Sl#8 Ch#47 HDC pl#12 [X2] wire#80 +48, 9, 61 !TDC ROC#2 Sl#8 Ch#48 HDC pl#9 [U] wire#61 +49, 9, 62 !TDC ROC#2 Sl#8 Ch#49 HDC pl#9 [U] wire#62 +50, 9, 63 !TDC ROC#2 Sl#8 Ch#50 HDC pl#9 [U] wire#63 +51, 9, 64 !TDC ROC#2 Sl#8 Ch#51 HDC pl#9 [U] wire#64 +52, 9, 65 !TDC ROC#2 Sl#8 Ch#52 HDC pl#9 [U] wire#65 +53, 9, 66 !TDC ROC#2 Sl#8 Ch#53 HDC pl#9 [U] wire#66 +54, 9, 67 !TDC ROC#2 Sl#8 Ch#54 HDC pl#9 [U] wire#67 +55, 9, 68 !TDC ROC#2 Sl#8 Ch#55 HDC pl#9 [U] wire#68 +56, 9, 69 !TDC ROC#2 Sl#8 Ch#56 HDC pl#9 [U] wire#69 +57, 9, 70 !TDC ROC#2 Sl#8 Ch#57 HDC pl#9 [U] wire#70 +58, 9, 71 !TDC ROC#2 Sl#8 Ch#58 HDC pl#9 [U] wire#71 +59, 9, 72 !TDC ROC#2 Sl#8 Ch#59 HDC pl#9 [U] wire#72 +60, 9, 73 !TDC ROC#2 Sl#8 Ch#60 HDC pl#9 [U] wire#73 +61, 9, 74 !TDC ROC#2 Sl#8 Ch#61 HDC pl#9 [U] wire#74 +62, 9, 75 !TDC ROC#2 Sl#8 Ch#62 HDC pl#9 [U] wire#75 +63, 9, 76 !TDC ROC#2 Sl#8 Ch#63 HDC pl#9 [U] wire#76 +64, 10, 15 !TDC ROC#2 Sl#8 Ch#64 HDC pl#10 [V] wire#15 +65, 10, 16 !TDC ROC#2 Sl#8 Ch#65 HDC pl#10 [V] wire#16 +66, 10, 17 !TDC ROC#2 Sl#8 Ch#66 HDC pl#10 [V] wire#17 +67, 10, 18 !TDC ROC#2 Sl#8 Ch#67 HDC pl#10 [V] wire#18 +68, 10, 19 !TDC ROC#2 Sl#8 Ch#68 HDC pl#10 [V] wire#19 +69, 10, 20 !TDC ROC#2 Sl#8 Ch#69 HDC pl#10 [V] wire#20 +70, 10, 21 !TDC ROC#2 Sl#8 Ch#70 HDC pl#10 [V] wire#21 +71, 10, 22 !TDC ROC#2 Sl#8 Ch#71 HDC pl#10 [V] wire#22 +72, 10, 23 !TDC ROC#2 Sl#8 Ch#72 HDC pl#10 [V] wire#23 +73, 10, 24 !TDC ROC#2 Sl#8 Ch#73 HDC pl#10 [V] wire#24 +74, 10, 25 !TDC ROC#2 Sl#8 Ch#74 HDC pl#10 [V] wire#25 +75, 10, 26 !TDC ROC#2 Sl#8 Ch#75 HDC pl#10 [V] wire#26 +76, 10, 27 !TDC ROC#2 Sl#8 Ch#76 HDC pl#10 [V] wire#27 +77, 10, 28 !TDC ROC#2 Sl#8 Ch#77 HDC pl#10 [V] wire#28 +78, 10, 29 !TDC ROC#2 Sl#8 Ch#78 HDC pl#10 [V] wire#29 +! 79 !TDC ROC#2 Sl#8 Ch#79 unused +80, 7, 17 !TDC ROC#2 Sl#8 Ch#80 HDC pl#7 [X1] wire#17 +81, 7, 18 !TDC ROC#2 Sl#8 Ch#81 HDC pl#7 [X1] wire#18 +82, 7, 19 !TDC ROC#2 Sl#8 Ch#82 HDC pl#7 [X1] wire#19 +83, 7, 20 !TDC ROC#2 Sl#8 Ch#83 HDC pl#7 [X1] wire#20 +84, 7, 21 !TDC ROC#2 Sl#8 Ch#84 HDC pl#7 [X1] wire#21 +85, 7, 22 !TDC ROC#2 Sl#8 Ch#85 HDC pl#7 [X1] wire#22 +86, 7, 23 !TDC ROC#2 Sl#8 Ch#86 HDC pl#7 [X1] wire#23 +87, 7, 24 !TDC ROC#2 Sl#8 Ch#87 HDC pl#7 [X1] wire#24 +88, 7, 25 !TDC ROC#2 Sl#8 Ch#88 HDC pl#7 [X1] wire#25 +89, 7, 26 !TDC ROC#2 Sl#8 Ch#89 HDC pl#7 [X1] wire#26 +90, 7, 27 !TDC ROC#2 Sl#8 Ch#90 HDC pl#7 [X1] wire#27 +91, 7, 28 !TDC ROC#2 Sl#8 Ch#91 HDC pl#7 [X1] wire#28 +92, 7, 29 !TDC ROC#2 Sl#8 Ch#92 HDC pl#7 [X1] wire#29 +93, 7, 30 !TDC ROC#2 Sl#8 Ch#93 HDC pl#7 [X1] wire#30 +94, 7, 31 !TDC ROC#2 Sl#8 Ch#94 HDC pl#7 [X1] wire#31 +95, 7, 32 !TDC ROC#2 Sl#8 Ch#95 HDC pl#7 [X1] wire#32 +Slot= 9 +0, 12, 81 !TDC ROC#2 Sl#9 Ch#0 HDC pl#12 [X2] wire#81 +1, 12, 82 !TDC ROC#2 Sl#9 Ch#1 HDC pl#12 [X2] wire#82 +2, 12, 83 !TDC ROC#2 Sl#9 Ch#2 HDC pl#12 [X2] wire#83 +3, 12, 84 !TDC ROC#2 Sl#9 Ch#3 HDC pl#12 [X2] wire#84 +4, 12, 85 !TDC ROC#2 Sl#9 Ch#4 HDC pl#12 [X2] wire#85 +5, 12, 86 !TDC ROC#2 Sl#9 Ch#5 HDC pl#12 [X2] wire#86 +6, 12, 87 !TDC ROC#2 Sl#9 Ch#6 HDC pl#12 [X2] wire#87 +7, 12, 88 !TDC ROC#2 Sl#9 Ch#7 HDC pl#12 [X2] wire#88 +8, 12, 89 !TDC ROC#2 Sl#9 Ch#8 HDC pl#12 [X2] wire#89 +9, 12, 90 !TDC ROC#2 Sl#9 Ch#9 HDC pl#12 [X2] wire#90 +10, 12, 91 !TDC ROC#2 Sl#9 Ch#10 HDC pl#12 [X2] wire#91 +11, 12, 92 !TDC ROC#2 Sl#9 Ch#11 HDC pl#12 [X2] wire#92 +12, 12, 93 !TDC ROC#2 Sl#9 Ch#12 HDC pl#12 [X2] wire#93 +13, 12, 94 !TDC ROC#2 Sl#9 Ch#13 HDC pl#12 [X2] wire#94 +14, 12, 95 !TDC ROC#2 Sl#9 Ch#14 HDC pl#12 [X2] wire#95 +15, 12, 96 !TDC ROC#2 Sl#9 Ch#15 HDC pl#12 [X2] wire#96 +16, 9, 77 !TDC ROC#2 Sl#9 Ch#16 HDC pl#9 [U] wire#77 +17, 9, 78 !TDC ROC#2 Sl#9 Ch#17 HDC pl#9 [U] wire#78 +18, 9, 79 !TDC ROC#2 Sl#9 Ch#18 HDC pl#9 [U] wire#79 +19, 9, 80 !TDC ROC#2 Sl#9 Ch#19 HDC pl#9 [U] wire#80 +20, 9, 81 !TDC ROC#2 Sl#9 Ch#20 HDC pl#9 [U] wire#81 +21, 9, 82 !TDC ROC#2 Sl#9 Ch#21 HDC pl#9 [U] wire#82 +22, 9, 83 !TDC ROC#2 Sl#9 Ch#22 HDC pl#9 [U] wire#83 +23, 9, 84 !TDC ROC#2 Sl#9 Ch#23 HDC pl#9 [U] wire#84 +24, 9, 85 !TDC ROC#2 Sl#9 Ch#24 HDC pl#9 [U] wire#85 +25, 9, 86 !TDC ROC#2 Sl#9 Ch#25 HDC pl#9 [U] wire#86 +26, 9, 87 !TDC ROC#2 Sl#9 Ch#26 HDC pl#9 [U] wire#87 +27, 9, 88 !TDC ROC#2 Sl#9 Ch#27 HDC pl#9 [U] wire#88 +28, 9, 89 !TDC ROC#2 Sl#9 Ch#28 HDC pl#9 [U] wire#89 +29, 9, 90 !TDC ROC#2 Sl#9 Ch#29 HDC pl#9 [U] wire#90 +30, 9, 91 !TDC ROC#2 Sl#9 Ch#30 HDC pl#9 [U] wire#91 +!31 !TDC ROC#2 Sl#9 Ch#31 unused +32, 12, 113 !TDC ROC#2 Sl#9 Ch#32 HDC pl#12 [X2] wire#113 +!33 !TDC ROC#2 Sl#9 Ch#33 unused +34, 10, 1 !TDC ROC#2 Sl#9 Ch#34 HDC pl#10 [V] wire#1 +35, 10, 2 !TDC ROC#2 Sl#9 Ch#35 HDC pl#10 [V] wire#2 +36, 10, 3 !TDC ROC#2 Sl#9 Ch#36 HDC pl#10 [V] wire#3 +37, 10, 4 !TDC ROC#2 Sl#9 Ch#37 HDC pl#10 [V] wire#4 +38, 10, 5 !TDC ROC#2 Sl#9 Ch#38 HDC pl#10 [V] wire#5 +39, 10, 6 !TDC ROC#2 Sl#9 Ch#39 HDC pl#10 [V] wire#6 +40, 10, 7 !TDC ROC#2 Sl#9 Ch#40 HDC pl#10 [V] wire#7 +41, 10, 8 !TDC ROC#2 Sl#9 Ch#41 HDC pl#10 [V] wire#8 +42, 10, 9 !TDC ROC#2 Sl#9 Ch#42 HDC pl#10 [V] wire#9 +43, 10, 10 !TDC ROC#2 Sl#9 Ch#43 HDC pl#10 [V] wire#10 +44, 10, 11 !TDC ROC#2 Sl#9 Ch#44 HDC pl#10 [V] wire#11 +45, 10, 12 !TDC ROC#2 Sl#9 Ch#45 HDC pl#10 [V] wire#12 +46, 10, 13 !TDC ROC#2 Sl#9 Ch#46 HDC pl#10 [V] wire#13 +47, 10, 14 !TDC ROC#2 Sl#9 Ch#47 HDC pl#10 [V] wire#14 +48, 7, 1 !TDC ROC#2 Sl#9 Ch#48 HDC pl#7 [X1] wire#1 +49, 7, 2 !TDC ROC#2 Sl#9 Ch#49 HDC pl#7 [X1] wire#2 +50, 7, 3 !TDC ROC#2 Sl#9 Ch#50 HDC pl#7 [X1] wire#3 +51, 7, 4 !TDC ROC#2 Sl#9 Ch#51 HDC pl#7 [X1] wire#4 +52, 7, 5 !TDC ROC#2 Sl#9 Ch#52 HDC pl#7 [X1] wire#5 +53, 7, 6 !TDC ROC#2 Sl#9 Ch#53 HDC pl#7 [X1] wire#6 +54, 7, 7 !TDC ROC#2 Sl#9 Ch#54 HDC pl#7 [X1] wire#7 +55, 7, 8 !TDC ROC#2 Sl#9 Ch#55 HDC pl#7 [X1] wire#8 +56, 7, 9 !TDC ROC#2 Sl#9 Ch#56 HDC pl#7 [X1] wire#9 +57, 7, 10 !TDC ROC#2 Sl#9 Ch#57 HDC pl#7 [X1] wire#10 +58, 7, 11 !TDC ROC#2 Sl#9 Ch#58 HDC pl#7 [X1] wire#11 +59, 7, 12 !TDC ROC#2 Sl#9 Ch#59 HDC pl#7 [X1] wire#12 +60, 7, 13 !TDC ROC#2 Sl#9 Ch#60 HDC pl#7 [X1] wire#13 +61, 7, 14 !TDC ROC#2 Sl#9 Ch#61 HDC pl#7 [X1] wire#14 +62, 7, 15 !TDC ROC#2 Sl#9 Ch#62 HDC pl#7 [X1] wire#15 +63, 7, 16 !TDC ROC#2 Sl#9 Ch#63 HDC pl#7 [X1] wire#16 +64, 12, 97 !TDC ROC#2 Sl#9 Ch#64 HDC pl#12 [X2] wire#97 +65, 12, 98 !TDC ROC#2 Sl#9 Ch#65 HDC pl#12 [X2] wire#98 +66, 12, 99 !TDC ROC#2 Sl#9 Ch#66 HDC pl#12 [X2] wire#99 +67, 12, 100 !TDC ROC#2 Sl#9 Ch#67 HDC pl#12 [X2] wire#100 +68, 12, 101 !TDC ROC#2 Sl#9 Ch#68 HDC pl#12 [X2] wire#101 +69, 12, 102 !TDC ROC#2 Sl#9 Ch#69 HDC pl#12 [X2] wire#102 +70, 12, 103 !TDC ROC#2 Sl#9 Ch#70 HDC pl#12 [X2] wire#103 +71, 12, 104 !TDC ROC#2 Sl#9 Ch#71 HDC pl#12 [X2] wire#104 +72, 12, 105 !TDC ROC#2 Sl#9 Ch#72 HDC pl#12 [X2] wire#105 +73, 12, 106 !TDC ROC#2 Sl#9 Ch#73 HDC pl#12 [X2] wire#106 +74, 12, 107 !TDC ROC#2 Sl#9 Ch#74 HDC pl#12 [X2] wire#107 +75, 12, 108 !TDC ROC#2 Sl#9 Ch#75 HDC pl#12 [X2] wire#108 +76, 12, 109 !TDC ROC#2 Sl#9 Ch#76 HDC pl#12 [X2] wire#109 +77, 12, 110 !TDC ROC#2 Sl#9 Ch#77 HDC pl#12 [X2] wire#110 +78, 12, 111 !TDC ROC#2 Sl#9 Ch#78 HDC pl#12 [X2] wire#111 +79, 12, 112 !TDC ROC#2 Sl#9 Ch#79 HDC pl#12 [X2] wire#112 +80, 9, 92 !TDC ROC#2 Sl#9 Ch#80 HDC pl#9 [U] wire#92 +81, 9, 93 !TDC ROC#2 Sl#9 Ch#81 HDC pl#9 [U] wire#93 +82, 9, 94 !TDC ROC#2 Sl#9 Ch#82 HDC pl#9 [U] wire#94 +83, 9, 95 !TDC ROC#2 Sl#9 Ch#83 HDC pl#9 [U] wire#95 +84, 9, 96 !TDC ROC#2 Sl#9 Ch#84 HDC pl#9 [U] wire#96 +85, 9, 97 !TDC ROC#2 Sl#9 Ch#85 HDC pl#9 [U] wire#97 +86, 9, 98 !TDC ROC#2 Sl#9 Ch#86 HDC pl#9 [U] wire#98 +87, 9, 99 !TDC ROC#2 Sl#9 Ch#87 HDC pl#9 [U] wire#99 +88, 9, 100 !TDC ROC#2 Sl#9 Ch#88 HDC pl#9 [U] wire#100 +89, 9, 101 !TDC ROC#2 Sl#9 Ch#89 HDC pl#9 [U] wire#101 +90, 9, 102 !TDC ROC#2 Sl#9 Ch#90 HDC pl#9 [U] wire#102 +91, 9, 103 !TDC ROC#2 Sl#9 Ch#91 HDC pl#9 [U] wire#103 +92, 9, 104 !TDC ROC#2 Sl#9 Ch#92 HDC pl#9 [U] wire#104 +93, 9, 105 !TDC ROC#2 Sl#9 Ch#93 HDC pl#9 [U] wire#105 +94, 9, 106 !TDC ROC#2 Sl#9 Ch#94 HDC pl#9 [U] wire#106 +95, 9, 107 !TDC ROC#2 Sl#9 Ch#95 HDC pl#9 [U] wire#107 +! +! +! 2nd HDC chamber planes1-6 +Slot= 15 +0, 1, 1 !TDC ROC#2 Sl#11 Ch#0 HDC pl#7 [X1] wire#1 +1, 1, 2 !TDC ROC#2 Sl#11 Ch#1 HDC pl#7 [X1] wire#2 +2, 1, 3 !TDC ROC#2 Sl#11 Ch#2 HDC pl#7 [X1] wire#3 +3, 1, 4 !TDC ROC#2 Sl#11 Ch#3 HDC pl#7 [X1] wire#4 +4, 1, 5 !TDC ROC#2 Sl#11 Ch#4 HDC pl#7 [X1] wire#5 +5, 1, 6 !TDC ROC#2 Sl#11 Ch#5 HDC pl#7 [X1] wire#6 +6, 1, 7 !TDC ROC#2 Sl#11 Ch#6 HDC pl#7 [X1] wire#7 +7, 1, 8 !TDC ROC#2 Sl#11 Ch#7 HDC pl#7 [X1] wire#8 +8, 1, 9 !TDC ROC#2 Sl#11 Ch#8 HDC pl#7 [X1] wire#9 +9, 1, 10 !TDC ROC#2 Sl#11 Ch#9 HDC pl#7 [X1] wire#10 +10, 1, 11 !TDC ROC#2 Sl#11 Ch#10 HDC pl#7 [X1] wire#11 +11, 1, 12 !TDC ROC#2 Sl#11 Ch#11 HDC pl#7 [X1] wire#12 +12, 1, 13 !TDC ROC#2 Sl#11 Ch#12 HDC pl#7 [X1] wire#13 +13, 1, 14 !TDC ROC#2 Sl#11 Ch#13 HDC pl#7 [X1] wire#14 +14, 1, 15 !TDC ROC#2 Sl#11 Ch#14 HDC pl#7 [X1] wire#15 +15, 1, 16 !TDC ROC#2 Sl#11 Ch#15 HDC pl#7 [X1] wire#16 +16, 1, 17 !TDC ROC#2 Sl#11 Ch#16 HDC pl#7 [X1] wire#17 +17, 1, 18 !TDC ROC#2 Sl#11 Ch#17 HDC pl#7 [X1] wire#18 +18, 1, 19 !TDC ROC#2 Sl#11 Ch#18 HDC pl#7 [X1] wire#19 +19, 1, 20 !TDC ROC#2 Sl#11 Ch#19 HDC pl#7 [X1] wire#20 +20, 1, 21 !TDC ROC#2 Sl#11 Ch#20 HDC pl#7 [X1] wire#21 +21, 1, 22 !TDC ROC#2 Sl#11 Ch#21 HDC pl#7 [X1] wire#22 +22, 1, 23 !TDC ROC#2 Sl#11 Ch#22 HDC pl#7 [X1] wire#23 +23, 1, 24 !TDC ROC#2 Sl#11 Ch#23 HDC pl#7 [X1] wire#24 +24, 1, 25 !TDC ROC#2 Sl#11 Ch#24 HDC pl#7 [X1] wire#25 +25, 1, 26 !TDC ROC#2 Sl#11 Ch#25 HDC pl#7 [X1] wire#26 +26, 1, 27 !TDC ROC#2 Sl#11 Ch#26 HDC pl#7 [X1] wire#27 +27, 1, 28 !TDC ROC#2 Sl#11 Ch#27 HDC pl#7 [X1] wire#28 +28, 1, 29 !TDC ROC#2 Sl#11 Ch#28 HDC pl#7 [X1] wire#29 +29, 1, 30 !TDC ROC#2 Sl#11 Ch#29 HDC pl#7 [X1] wire#30 +30, 1, 31 !TDC ROC#2 Sl#11 Ch#30 HDC pl#7 [X1] wire#31 +31, 1, 32 !TDC ROC#2 Sl#11 Ch#31 HDC pl#7 [X1] wire#32 +32, 1, 33 !TDC ROC#2 Sl#11 Ch#32 HDC pl#7 [X1] wire#33 +33, 1, 34 !TDC ROC#2 Sl#11 Ch#33 HDC pl#7 [X1] wire#34 +34, 1, 35 !TDC ROC#2 Sl#11 Ch#34 HDC pl#7 [X1] wire#35 +35, 1, 36 !TDC ROC#2 Sl#11 Ch#35 HDC pl#7 [X1] wire#36 +36, 1, 37 !TDC ROC#2 Sl#11 Ch#36 HDC pl#7 [X1] wire#37 +37, 1, 38 !TDC ROC#2 Sl#11 Ch#37 HDC pl#7 [X1] wire#38 +38, 1, 39 !TDC ROC#2 Sl#11 Ch#38 HDC pl#7 [X1] wire#39 +39, 1, 40 !TDC ROC#2 Sl#11 Ch#39 HDC pl#7 [X1] wire#40 +40, 1, 41 !TDC ROC#2 Sl#11 Ch#40 HDC pl#7 [X1] wire#41 +41, 1, 42 !TDC ROC#2 Sl#11 Ch#41 HDC pl#7 [X1] wire#42 +42, 1, 43 !TDC ROC#2 Sl#11 Ch#42 HDC pl#7 [X1] wire#43 +43, 1, 44 !TDC ROC#2 Sl#11 Ch#43 HDC pl#7 [X1] wire#44 +44, 1, 45 !TDC ROC#2 Sl#11 Ch#44 HDC pl#7 [X1] wire#45 +45, 1, 46 !TDC ROC#2 Sl#11 Ch#45 HDC pl#7 [X1] wire#46 +46, 1, 47 !TDC ROC#2 Sl#11 Ch#46 HDC pl#7 [X1] wire#47 +47, 1, 48 !TDC ROC#2 Sl#11 Ch#47 HDC pl#7 [X1] wire#48 +48, 1, 49 !TDC ROC#2 Sl#11 Ch#48 HDC pl#7 [X1] wire#49 +49, 1, 50 !TDC ROC#2 Sl#11 Ch#49 HDC pl#7 [X1] wire#50 +50, 1, 51 !TDC ROC#2 Sl#11 Ch#50 HDC pl#7 [X1] wire#51 +51, 1, 52 !TDC ROC#2 Sl#11 Ch#51 HDC pl#7 [X1] wire#52 +52, 1, 53 !TDC ROC#2 Sl#11 Ch#52 HDC pl#7 [X1] wire#53 +53, 1, 54 !TDC ROC#2 Sl#11 Ch#53 HDC pl#7 [X1] wire#54 +54, 1, 55 !TDC ROC#2 Sl#11 Ch#54 HDC pl#7 [X1] wire#55 +55, 1, 56 !TDC ROC#2 Sl#11 Ch#55 HDC pl#7 [X1] wire#56 +56, 1, 57 !TDC ROC#2 Sl#11 Ch#56 HDC pl#7 [X1] wire#57 +57, 1, 58 !TDC ROC#2 Sl#11 Ch#57 HDC pl#7 [X1] wire#58 +58, 1, 59 !TDC ROC#2 Sl#11 Ch#58 HDC pl#7 [X1] wire#59 +59, 1, 60 !TDC ROC#2 Sl#11 Ch#59 HDC pl#7 [X1] wire#60 +60, 1, 61 !TDC ROC#2 Sl#11 Ch#60 HDC pl#7 [X1] wire#61 +61, 1, 62 !TDC ROC#2 Sl#11 Ch#61 HDC pl#7 [X1] wire#62 +62, 1, 63 !TDC ROC#2 Sl#11 Ch#62 HDC pl#7 [X1] wire#63 +63, 1, 64 !TDC ROC#2 Sl#11 Ch#63 HDC pl#7 [X1] wire#64 +64, 1, 65 !TDC ROC#2 Sl#11 Ch#64 HDC pl#7 [X1] wire#65 +65, 1, 66 !TDC ROC#2 Sl#11 Ch#65 HDC pl#7 [X1] wire#66 +66, 1, 67 !TDC ROC#2 Sl#11 Ch#66 HDC pl#7 [X1] wire#67 +67, 1, 68 !TDC ROC#2 Sl#11 Ch#67 HDC pl#7 [X1] wire#68 +68, 1, 69 !TDC ROC#2 Sl#11 Ch#68 HDC pl#7 [X1] wire#69 +69, 1, 70 !TDC ROC#2 Sl#11 Ch#69 HDC pl#7 [X1] wire#70 +70, 1, 71 !TDC ROC#2 Sl#11 Ch#70 HDC pl#7 [X1] wire#71 +71, 1, 72 !TDC ROC#2 Sl#11 Ch#71 HDC pl#7 [X1] wire#72 +72, 1, 73 !TDC ROC#2 Sl#11 Ch#72 HDC pl#7 [X1] wire#73 +73, 1, 74 !TDC ROC#2 Sl#11 Ch#73 HDC pl#7 [X1] wire#74 +74, 1, 75 !TDC ROC#2 Sl#11 Ch#74 HDC pl#7 [X1] wire#75 +75, 1, 76 !TDC ROC#2 Sl#11 Ch#75 HDC pl#7 [X1] wire#76 +76, 1, 77 !TDC ROC#2 Sl#11 Ch#76 HDC pl#7 [X1] wire#77 +77, 1, 78 !TDC ROC#2 Sl#11 Ch#77 HDC pl#7 [X1] wire#78 +78, 1, 79 !TDC ROC#2 Sl#11 Ch#78 HDC pl#7 [X1] wire#79 +79, 1, 80 !TDC ROC#2 Sl#11 Ch#79 HDC pl#7 [X1] wire#80 +80, 1, 81 !TDC ROC#2 Sl#11 Ch#80 HDC pl#7 [X1] wire#81 +81, 1, 82 !TDC ROC#2 Sl#11 Ch#81 HDC pl#7 [X1] wire#82 +82, 1, 83 !TDC ROC#2 Sl#11 Ch#82 HDC pl#7 [X1] wire#83 +83, 1, 84 !TDC ROC#2 Sl#11 Ch#83 HDC pl#7 [X1] wire#84 +84, 1, 85 !TDC ROC#2 Sl#11 Ch#84 HDC pl#7 [X1] wire#85 +85, 1, 86 !TDC ROC#2 Sl#11 Ch#85 HDC pl#7 [X1] wire#86 +86, 1, 87 !TDC ROC#2 Sl#11 Ch#86 HDC pl#7 [X1] wire#87 +87, 1, 88 !TDC ROC#2 Sl#11 Ch#87 HDC pl#7 [X1] wire#88 +88, 1, 89 !TDC ROC#2 Sl#11 Ch#88 HDC pl#7 [X1] wire#89 +89, 1, 90 !TDC ROC#2 Sl#11 Ch#89 HDC pl#7 [X1] wire#90 +90, 1, 91 !TDC ROC#2 Sl#11 Ch#90 HDC pl#7 [X1] wire#91 +91, 1, 92 !TDC ROC#2 Sl#11 Ch#91 HDC pl#7 [X1] wire#92 +92, 1, 93 !TDC ROC#2 Sl#11 Ch#92 HDC pl#7 [X1] wire#93 +93, 1, 94 !TDC ROC#2 Sl#11 Ch#93 HDC pl#7 [X1] wire#94 +94, 1, 95 !TDC ROC#2 Sl#11 Ch#94 HDC pl#7 [X1] wire#95 +95, 1, 96 !TDC ROC#2 Sl#11 Ch#95 HDC pl#7 [X1] wire#96 +Slot= 16 +0, 1, 97 !TDC ROC#2 Sl#12 Ch#0 HDC pl#7 [X1] wire#97 +1, 1, 98 !TDC ROC#2 Sl#12 Ch#1 HDC pl#7 [X1] wire#98 +2, 1, 99 !TDC ROC#2 Sl#12 Ch#2 HDC pl#7 [X1] wire#99 +3, 1, 100 !TDC ROC#2 Sl#12 Ch#3 HDC pl#7 [X1] wire#100 +4, 1, 101 !TDC ROC#2 Sl#12 Ch#4 HDC pl#7 [X1] wire#101 +5, 1, 102 !TDC ROC#2 Sl#12 Ch#5 HDC pl#7 [X1] wire#102 +6, 1, 103 !TDC ROC#2 Sl#12 Ch#6 HDC pl#7 [X1] wire#103 +7, 1, 104 !TDC ROC#2 Sl#12 Ch#7 HDC pl#7 [X1] wire#104 +8, 1, 105 !TDC ROC#2 Sl#12 Ch#8 HDC pl#7 [X1] wire#105 +9, 1, 106 !TDC ROC#2 Sl#12 Ch#9 HDC pl#7 [X1] wire#106 +10, 1, 107 !TDC ROC#2 Sl#12 Ch#10 HDC pl#7 [X1] wire#107 +11, 1, 108 !TDC ROC#2 Sl#12 Ch#11 HDC pl#7 [X1] wire#108 +12, 1, 109 !TDC ROC#2 Sl#12 Ch#12 HDC pl#7 [X1] wire#109 +13, 1, 110 !TDC ROC#2 Sl#12 Ch#13 HDC pl#7 [X1] wire#110 +14, 1, 111 !TDC ROC#2 Sl#12 Ch#14 HDC pl#7 [X1] wire#111 +15, 1, 112 !TDC ROC#2 Sl#12 Ch#15 HDC pl#7 [X1] wire#112 +16, 2, 1 !TDC ROC#2 Sl#12 Ch#16 HDC pl#8 [Y1] wire#1 +17, 2, 2 !TDC ROC#2 Sl#12 Ch#17 HDC pl#8 [Y1] wire#2 +18, 2, 3 !TDC ROC#2 Sl#12 Ch#18 HDC pl#8 [Y1] wire#3 +19, 2, 4 !TDC ROC#2 Sl#12 Ch#19 HDC pl#8 [Y1] wire#4 +20, 2, 5 !TDC ROC#2 Sl#12 Ch#20 HDC pl#8 [Y1] wire#5 +21, 2, 6 !TDC ROC#2 Sl#12 Ch#21 HDC pl#8 [Y1] wire#6 +22, 2, 7 !TDC ROC#2 Sl#12 Ch#22 HDC pl#8 [Y1] wire#7 +23, 2, 8 !TDC ROC#2 Sl#12 Ch#23 HDC pl#8 [Y1] wire#8 +24, 2, 9 !TDC ROC#2 Sl#12 Ch#24 HDC pl#8 [Y1] wire#9 +25, 2, 10 !TDC ROC#2 Sl#12 Ch#25 HDC pl#8 [Y1] wire#10 +26, 2, 11 !TDC ROC#2 Sl#12 Ch#26 HDC pl#8 [Y1] wire#11 +27, 2, 12 !TDC ROC#2 Sl#12 Ch#27 HDC pl#8 [Y1] wire#12 +28, 2, 13 !TDC ROC#2 Sl#12 Ch#28 HDC pl#8 [Y1] wire#13 +! 29 !TDC ROC#2 Sl#12 Ch#29 unused +! 30 !TDC ROC#2 Sl#12 Ch#30 unused +! 31 !TDC ROC#2 Sl#12 Ch#31 unused +32, 2, 14 !TDC ROC#2 Sl#12 Ch#32 HDC pl#8 [Y1] wire#14 +33, 2, 15 !TDC ROC#2 Sl#12 Ch#33 HDC pl#8 [Y1] wire#15 +34, 2, 16 !TDC ROC#2 Sl#12 Ch#34 HDC pl#8 [Y1] wire#16 +35, 2, 17 !TDC ROC#2 Sl#12 Ch#35 HDC pl#8 [Y1] wire#17 +36, 2, 18 !TDC ROC#2 Sl#12 Ch#36 HDC pl#8 [Y1] wire#18 +37, 2, 19 !TDC ROC#2 Sl#12 Ch#37 HDC pl#8 [Y1] wire#19 +38, 2, 20 !TDC ROC#2 Sl#12 Ch#38 HDC pl#8 [Y1] wire#20 +39, 2, 21 !TDC ROC#2 Sl#12 Ch#39 HDC pl#8 [Y1] wire#21 +40, 2, 22 !TDC ROC#2 Sl#12 Ch#40 HDC pl#8 [Y1] wire#22 +41, 2, 23 !TDC ROC#2 Sl#12 Ch#41 HDC pl#8 [Y1] wire#23 +42, 2, 24 !TDC ROC#2 Sl#12 Ch#42 HDC pl#8 [Y1] wire#24 +43, 2, 25 !TDC ROC#2 Sl#12 Ch#43 HDC pl#8 [Y1] wire#25 +44, 2, 26 !TDC ROC#2 Sl#12 Ch#44 HDC pl#8 [Y1] wire#26 +! 45 !TDC ROC#2 Sl#12 Ch#45 unused +! 46 !TDC ROC#2 Sl#12 Ch#46 unused +! 47 !TDC ROC#2 Sl#12 Ch#47 unused +48, 2, 27 !TDC ROC#2 Sl#12 Ch#48 HDC pl#8 [Y1] wire#27 +49, 2, 28 !TDC ROC#2 Sl#12 Ch#49 HDC pl#8 [Y1] wire#28 +50, 2, 29 !TDC ROC#2 Sl#12 Ch#50 HDC pl#8 [Y1] wire#29 +51, 2, 30 !TDC ROC#2 Sl#12 Ch#51 HDC pl#8 [Y1] wire#30 +52, 2, 31 !TDC ROC#2 Sl#12 Ch#52 HDC pl#8 [Y1] wire#31 +53, 2, 32 !TDC ROC#2 Sl#12 Ch#53 HDC pl#8 [Y1] wire#32 +54, 2, 33 !TDC ROC#2 Sl#12 Ch#54 HDC pl#8 [Y1] wire#33 +55, 2, 34 !TDC ROC#2 Sl#12 Ch#55 HDC pl#8 [Y1] wire#34 +56, 2, 35 !TDC ROC#2 Sl#12 Ch#56 HDC pl#8 [Y1] wire#35 +57, 2, 36 !TDC ROC#2 Sl#12 Ch#57 HDC pl#8 [Y1] wire#36 +58, 2, 37 !TDC ROC#2 Sl#12 Ch#58 HDC pl#8 [Y1] wire#37 +59, 2, 38 !TDC ROC#2 Sl#12 Ch#59 HDC pl#8 [Y1] wire#38 +60, 2, 39 !TDC ROC#2 Sl#12 Ch#60 HDC pl#8 [Y1] wire#39 +! 61 !TDC ROC#2 Sl#12 Ch#61 unused +! 62 !TDC ROC#2 Sl#12 Ch#62 unused +! 63 !TDC ROC#2 Sl#12 Ch#63 unused +64, 2, 40 !TDC ROC#2 Sl#12 Ch#64 HDC pl#8 [Y1] wire#40 +65, 2, 41 !TDC ROC#2 Sl#12 Ch#65 HDC pl#8 [Y1] wire#41 +66, 2, 42 !TDC ROC#2 Sl#12 Ch#66 HDC pl#8 [Y1] wire#42 +67, 2, 43 !TDC ROC#2 Sl#12 Ch#67 HDC pl#8 [Y1] wire#43 +68, 2, 44 !TDC ROC#2 Sl#12 Ch#68 HDC pl#8 [Y1] wire#44 +69, 2, 45 !TDC ROC#2 Sl#12 Ch#69 HDC pl#8 [Y1] wire#45 +70, 2, 46 !TDC ROC#2 Sl#12 Ch#70 HDC pl#8 [Y1] wire#46 +71, 2, 47 !TDC ROC#2 Sl#12 Ch#71 HDC pl#8 [Y1] wire#47 +72, 2, 48 !TDC ROC#2 Sl#12 Ch#72 HDC pl#8 [Y1] wire#48 +73, 2, 49 !TDC ROC#2 Sl#12 Ch#73 HDC pl#8 [Y1] wire#49 +74, 2, 50 !TDC ROC#2 Sl#12 Ch#74 HDC pl#8 [Y1] wire#50 +75, 2, 51 !TDC ROC#2 Sl#12 Ch#75 HDC pl#8 [Y1] wire#51 +76, 2, 52 !TDC ROC#2 Sl#12 Ch#76 HDC pl#8 [Y1] wire#52 +! 77 !TDC ROC#2 Sl#12 Ch#77 unused +! 78 !TDC ROC#2 Sl#12 Ch#78 unused +! 79 !TDC ROC#2 Sl#12 Ch#79 unused +80, 1, 113 !TDC ROC#2 Sl#12 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#12 Ch#81 unused +82, 3, 1 !TDC ROC#2 Sl#12 Ch#82 HDC pl#9 [U] wire#1 +83, 3, 2 !TDC ROC#2 Sl#12 Ch#83 HDC pl#9 [U] wire#2 +84, 3, 3 !TDC ROC#2 Sl#12 Ch#84 HDC pl#9 [U] wire#3 +85, 3, 4 !TDC ROC#2 Sl#12 Ch#85 HDC pl#9 [U] wire#4 +86, 3, 5 !TDC ROC#2 Sl#12 Ch#86 HDC pl#9 [U] wire#5 +87, 3, 6 !TDC ROC#2 Sl#12 Ch#87 HDC pl#9 [U] wire#6 +88, 3, 7 !TDC ROC#2 Sl#12 Ch#88 HDC pl#9 [U] wire#7 +89, 3, 8 !TDC ROC#2 Sl#12 Ch#89 HDC pl#9 [U] wire#8 +90, 3, 9 !TDC ROC#2 Sl#12 Ch#90 HDC pl#9 [U] wire#9 +91, 3, 10 !TDC ROC#2 Sl#12 Ch#91 HDC pl#9 [U] wire#10 +92, 3, 11 !TDC ROC#2 Sl#12 Ch#92 HDC pl#9 [U] wire#11 +93, 3, 12 !TDC ROC#2 Sl#12 Ch#93 HDC pl#9 [U] wire#12 +94, 3, 13 !TDC ROC#2 Sl#12 Ch#94 HDC pl#9 [U] wire#13 +95, 3, 14 !TDC ROC#2 Sl#12 Ch#95 HDC pl#9 [U] wire#14 +Slot= 18 +0, 3, 15 !TDC ROC#2 Sl#14 Ch#0 HDC pl#9 [U] wire#15 +1, 3, 16 !TDC ROC#2 Sl#14 Ch#1 HDC pl#9 [U] wire#16 +2, 3, 17 !TDC ROC#2 Sl#14 Ch#2 HDC pl#9 [U] wire#17 +3, 3, 18 !TDC ROC#2 Sl#14 Ch#3 HDC pl#9 [U] wire#18 +4, 3, 19 !TDC ROC#2 Sl#14 Ch#4 HDC pl#9 [U] wire#19 +5, 3, 20 !TDC ROC#2 Sl#14 Ch#5 HDC pl#9 [U] wire#20 +6, 3, 21 !TDC ROC#2 Sl#14 Ch#6 HDC pl#9 [U] wire#21 +7, 3, 22 !TDC ROC#2 Sl#14 Ch#7 HDC pl#9 [U] wire#22 +8, 3, 23 !TDC ROC#2 Sl#14 Ch#8 HDC pl#9 [U] wire#23 +9, 3, 24 !TDC ROC#2 Sl#14 Ch#9 HDC pl#9 [U] wire#24 +10, 3, 25 !TDC ROC#2 Sl#14 Ch#10 HDC pl#9 [U] wire#25 +11, 3, 26 !TDC ROC#2 Sl#14 Ch#11 HDC pl#9 [U] wire#26 +12, 3, 27 !TDC ROC#2 Sl#14 Ch#12 HDC pl#9 [U] wire#27 +13, 3, 28 !TDC ROC#2 Sl#14 Ch#13 HDC pl#9 [U] wire#28 +14, 3, 29 !TDC ROC#2 Sl#14 Ch#14 HDC pl#9 [U] wire#29 +! 15 !TDC ROC#2 Sl#14 Ch#15 unused +16, 3, 30 !TDC ROC#2 Sl#14 Ch#16 HDC pl#9 [U] wire#30 +17, 3, 31 !TDC ROC#2 Sl#14 Ch#17 HDC pl#9 [U] wire#31 +18, 3, 32 !TDC ROC#2 Sl#14 Ch#18 HDC pl#9 [U] wire#32 +19, 3, 33 !TDC ROC#2 Sl#14 Ch#19 HDC pl#9 [U] wire#33 +20, 3, 34 !TDC ROC#2 Sl#14 Ch#20 HDC pl#9 [U] wire#34 +21, 3, 35 !TDC ROC#2 Sl#14 Ch#21 HDC pl#9 [U] wire#35 +22, 3, 36 !TDC ROC#2 Sl#14 Ch#22 HDC pl#9 [U] wire#36 +23, 3, 37 !TDC ROC#2 Sl#14 Ch#23 HDC pl#9 [U] wire#37 +24, 3, 38 !TDC ROC#2 Sl#14 Ch#24 HDC pl#9 [U] wire#38 +25, 3, 39 !TDC ROC#2 Sl#14 Ch#25 HDC pl#9 [U] wire#39 +26, 3, 40 !TDC ROC#2 Sl#14 Ch#26 HDC pl#9 [U] wire#40 +27, 3, 41 !TDC ROC#2 Sl#14 Ch#27 HDC pl#9 [U] wire#41 +28, 3, 42 !TDC ROC#2 Sl#14 Ch#28 HDC pl#9 [U] wire#42 +29, 3, 43 !TDC ROC#2 Sl#14 Ch#29 HDC pl#9 [U] wire#43 +30, 3, 44 !TDC ROC#2 Sl#14 Ch#30 HDC pl#9 [U] wire#44 +31, 3, 45 !TDC ROC#2 Sl#14 Ch#31 HDC pl#9 [U] wire#45 +32, 3, 46 !TDC ROC#2 Sl#14 Ch#32 HDC pl#9 [U] wire#46 +33, 3, 47 !TDC ROC#2 Sl#14 Ch#33 HDC pl#9 [U] wire#47 +34, 3, 48 !TDC ROC#2 Sl#14 Ch#34 HDC pl#9 [U] wire#48 +35, 3, 49 !TDC ROC#2 Sl#14 Ch#35 HDC pl#9 [U] wire#49 +36, 3, 50 !TDC ROC#2 Sl#14 Ch#36 HDC pl#9 [U] wire#50 +37, 3, 51 !TDC ROC#2 Sl#14 Ch#37 HDC pl#9 [U] wire#51 +38, 3, 52 !TDC ROC#2 Sl#14 Ch#38 HDC pl#9 [U] wire#52 +39, 3, 53 !TDC ROC#2 Sl#14 Ch#39 HDC pl#9 [U] wire#53 +40, 3, 54 !TDC ROC#2 Sl#14 Ch#40 HDC pl#9 [U] wire#54 +41, 3, 55 !TDC ROC#2 Sl#14 Ch#41 HDC pl#9 [U] wire#55 +42, 3, 56 !TDC ROC#2 Sl#14 Ch#42 HDC pl#9 [U] wire#56 +43, 3, 57 !TDC ROC#2 Sl#14 Ch#43 HDC pl#9 [U] wire#57 +44, 3, 58 !TDC ROC#2 Sl#14 Ch#44 HDC pl#9 [U] wire#58 +45, 3, 59 !TDC ROC#2 Sl#14 Ch#45 HDC pl#9 [U] wire#59 +46, 3, 60 !TDC ROC#2 Sl#14 Ch#46 HDC pl#9 [U] wire#60 +! 47 !TDC ROC#2 Sl#14 Ch#47 unused +48, 3, 61 !TDC ROC#2 Sl#14 Ch#48 HDC pl#9 [U] wire#61 +49, 3, 62 !TDC ROC#2 Sl#14 Ch#49 HDC pl#9 [U] wire#62 +50, 3, 63 !TDC ROC#2 Sl#14 Ch#50 HDC pl#9 [U] wire#63 +51, 3, 64 !TDC ROC#2 Sl#14 Ch#51 HDC pl#9 [U] wire#64 +52, 3, 65 !TDC ROC#2 Sl#14 Ch#52 HDC pl#9 [U] wire#65 +53, 3, 66 !TDC ROC#2 Sl#14 Ch#53 HDC pl#9 [U] wire#66 +54, 3, 67 !TDC ROC#2 Sl#14 Ch#54 HDC pl#9 [U] wire#67 +55, 3, 68 !TDC ROC#2 Sl#14 Ch#55 HDC pl#9 [U] wire#68 +56, 3, 69 !TDC ROC#2 Sl#14 Ch#56 HDC pl#9 [U] wire#69 +57, 3, 70 !TDC ROC#2 Sl#14 Ch#57 HDC pl#9 [U] wire#70 +58, 3, 71 !TDC ROC#2 Sl#14 Ch#58 HDC pl#9 [U] wire#71 +59, 3, 72 !TDC ROC#2 Sl#14 Ch#59 HDC pl#9 [U] wire#72 +60, 3, 73 !TDC ROC#2 Sl#14 Ch#60 HDC pl#9 [U] wire#73 +61, 3, 74 !TDC ROC#2 Sl#14 Ch#61 HDC pl#9 [U] wire#74 +62, 3, 75 !TDC ROC#2 Sl#14 Ch#62 HDC pl#9 [U] wire#75 +63, 3, 76 !TDC ROC#2 Sl#14 Ch#63 HDC pl#9 [U] wire#76 +64, 3, 77 !TDC ROC#2 Sl#14 Ch#64 HDC pl#9 [U] wire#77 +65, 3, 78 !TDC ROC#2 Sl#14 Ch#65 HDC pl#9 [U] wire#78 +66, 3, 79 !TDC ROC#2 Sl#14 Ch#66 HDC pl#9 [U] wire#79 +67, 3, 80 !TDC ROC#2 Sl#14 Ch#67 HDC pl#9 [U] wire#80 +68, 3, 81 !TDC ROC#2 Sl#14 Ch#68 HDC pl#9 [U] wire#81 +69, 3, 82 !TDC ROC#2 Sl#14 Ch#69 HDC pl#9 [U] wire#82 +70, 3, 83 !TDC ROC#2 Sl#14 Ch#70 HDC pl#9 [U] wire#83 +71, 3, 84 !TDC ROC#2 Sl#14 Ch#71 HDC pl#9 [U] wire#84 +72, 3, 85 !TDC ROC#2 Sl#14 Ch#72 HDC pl#9 [U] wire#85 +73, 3, 86 !TDC ROC#2 Sl#14 Ch#73 HDC pl#9 [U] wire#86 +74, 3, 87 !TDC ROC#2 Sl#14 Ch#74 HDC pl#9 [U] wire#87 +75, 3, 88 !TDC ROC#2 Sl#14 Ch#75 HDC pl#9 [U] wire#88 +76, 3, 89 !TDC ROC#2 Sl#14 Ch#76 HDC pl#9 [U] wire#89 +77, 3, 90 !TDC ROC#2 Sl#14 Ch#77 HDC pl#9 [U] wire#90 +78, 3, 91 !TDC ROC#2 Sl#14 Ch#78 HDC pl#9 [U] wire#91 +!79, !unused +80, 3, 92 !TDC ROC#2 Sl#14 Ch#80 HDC pl#9 [U] wire#92 +81, 3, 93 !TDC ROC#2 Sl#14 Ch#81 HDC pl#9 [U] wire#93 +82, 3, 94 !TDC ROC#2 Sl#14 Ch#82 HDC pl#9 [U] wire#94 +83, 3, 95 !TDC ROC#2 Sl#14 Ch#83 HDC pl#9 [U] wire#95 +84, 3, 96 !TDC ROC#2 Sl#14 Ch#84 HDC pl#9 [U] wire#96 +85, 3, 97 !TDC ROC#2 Sl#14 Ch#85 HDC pl#9 [U] wire#97 +86, 3, 98 !TDC ROC#2 Sl#14 Ch#86 HDC pl#9 [U] wire#98 +87, 3, 99 !TDC ROC#2 Sl#14 Ch#87 HDC pl#9 [U] wire#99 +88, 3, 100 !TDC ROC#2 Sl#14 Ch#88 HDC pl#9 [U] wire#100 +89, 3, 101 !TDC ROC#2 Sl#14 Ch#89 HDC pl#9 [U] wire#101 +90, 3, 102 !TDC ROC#2 Sl#14 Ch#90 HDC pl#9 [U] wire#102 +91, 3, 103 !TDC ROC#2 Sl#14 Ch#91 HDC pl#9 [U] wire#103 +92, 3, 104 !TDC ROC#2 Sl#14 Ch#92 HDC pl#9 [U] wire#104 +93, 3, 105 !TDC ROC#2 Sl#14 Ch#93 HDC pl#9 [U] wire#105 +94, 3, 106 !TDC ROC#2 Sl#14 Ch#94 HDC pl#9 [U] wire#106 +95, 3, 107 !TDC ROC#2 Sl#14 Ch#95 HDC pl#9 [U] wire#107 +Slot= 19 +0, 6, 113 !TDC ROC#2 Sl#15 Ch#0 HDC pl#12 [X2] wire#113 +!1, !unused +2, 4, 1 !TDC ROC#2 Sl#15 Ch#2 HDC pl#10 [V] wire#1 +3, 4, 2 !TDC ROC#2 Sl#15 Ch#3 HDC pl#10 [V] wire#2 +4, 4, 3 !TDC ROC#2 Sl#15 Ch#4 HDC pl#10 [V] wire#3 +5, 4, 4 !TDC ROC#2 Sl#15 Ch#5 HDC pl#10 [V] wire#4 +6, 4, 5 !TDC ROC#2 Sl#15 Ch#6 HDC pl#10 [V] wire#5 +7, 4, 6 !TDC ROC#2 Sl#15 Ch#7 HDC pl#10 [V] wire#6 +8, 4, 7 !TDC ROC#2 Sl#15 Ch#8 HDC pl#10 [V] wire#7 +9, 4, 8 !TDC ROC#2 Sl#15 Ch#9 HDC pl#10 [V] wire#8 +10, 4, 9 !TDC ROC#2 Sl#15 Ch#10 HDC pl#10 [V] wire#9 +11, 4, 10 !TDC ROC#2 Sl#15 Ch#11 HDC pl#10 [V] wire#10 +12, 4, 11 !TDC ROC#2 Sl#15 Ch#12 HDC pl#10 [V] wire#11 +13, 4, 12 !TDC ROC#2 Sl#15 Ch#13 HDC pl#10 [V] wire#12 +14, 4, 13 !TDC ROC#2 Sl#15 Ch#14 HDC pl#10 [V] wire#13 +15, 4, 14 !TDC ROC#2 Sl#15 Ch#15 HDC pl#10 [V] wire#14 +16, 4, 15 !TDC ROC#2 Sl#15 Ch#16 HDC pl#10 [V] wire#15 +17, 4, 16 !TDC ROC#2 Sl#15 Ch#17 HDC pl#10 [V] wire#16 +18, 4, 17 !TDC ROC#2 Sl#15 Ch#18 HDC pl#10 [V] wire#17 +19, 4, 18 !TDC ROC#2 Sl#15 Ch#19 HDC pl#10 [V] wire#18 +20, 4, 19 !TDC ROC#2 Sl#15 Ch#20 HDC pl#10 [V] wire#19 +21, 4, 20 !TDC ROC#2 Sl#15 Ch#21 HDC pl#10 [V] wire#20 +22, 4, 21 !TDC ROC#2 Sl#15 Ch#22 HDC pl#10 [V] wire#21 +23, 4, 22 !TDC ROC#2 Sl#15 Ch#23 HDC pl#10 [V] wire#22 +24, 4, 23 !TDC ROC#2 Sl#15 Ch#24 HDC pl#10 [V] wire#23 +25, 4, 24 !TDC ROC#2 Sl#15 Ch#25 HDC pl#10 [V] wire#24 +26, 4, 25 !TDC ROC#2 Sl#15 Ch#26 HDC pl#10 [V] wire#25 +27, 4, 26 !TDC ROC#2 Sl#15 Ch#27 HDC pl#10 [V] wire#26 +28, 4, 27 !TDC ROC#2 Sl#15 Ch#28 HDC pl#10 [V] wire#27 +29, 4, 28 !TDC ROC#2 Sl#15 Ch#29 HDC pl#10 [V] wire#28 +30, 4, 29 !TDC ROC#2 Sl#15 Ch#30 HDC pl#10 [V] wire#29 +! 31 !TDC ROC#2 Sl#15 Ch#31 unused +32, 4, 30 !TDC ROC#2 Sl#15 Ch#32 HDC pl#10 [V] wire#30 +33, 4, 31 !TDC ROC#2 Sl#15 Ch#33 HDC pl#10 [V] wire#31 +34, 4, 32 !TDC ROC#2 Sl#15 Ch#34 HDC pl#10 [V] wire#32 +35, 4, 33 !TDC ROC#2 Sl#15 Ch#35 HDC pl#10 [V] wire#33 +36, 4, 34 !TDC ROC#2 Sl#15 Ch#36 HDC pl#10 [V] wire#34 +37, 4, 35 !TDC ROC#2 Sl#15 Ch#37 HDC pl#10 [V] wire#35 +38, 4, 36 !TDC ROC#2 Sl#15 Ch#38 HDC pl#10 [V] wire#36 +39, 4, 37 !TDC ROC#2 Sl#15 Ch#39 HDC pl#10 [V] wire#37 +40, 4, 38 !TDC ROC#2 Sl#15 Ch#40 HDC pl#10 [V] wire#38 +41, 4, 39 !TDC ROC#2 Sl#15 Ch#41 HDC pl#10 [V] wire#39 +42, 4, 40 !TDC ROC#2 Sl#15 Ch#42 HDC pl#10 [V] wire#40 +43, 4, 41 !TDC ROC#2 Sl#15 Ch#43 HDC pl#10 [V] wire#41 +44, 4, 42 !TDC ROC#2 Sl#15 Ch#44 HDC pl#10 [V] wire#42 +45, 4, 43 !TDC ROC#2 Sl#15 Ch#45 HDC pl#10 [V] wire#43 +46, 4, 44 !TDC ROC#2 Sl#15 Ch#46 HDC pl#10 [V] wire#44 +47, 4, 45 !TDC ROC#2 Sl#15 Ch#47 HDC pl#10 [V] wire#45 +48, 4, 46 !TDC ROC#2 Sl#15 Ch#48 HDC pl#10 [V] wire#46 +49, 4, 47 !TDC ROC#2 Sl#15 Ch#49 HDC pl#10 [V] wire#47 +50, 4, 48 !TDC ROC#2 Sl#15 Ch#50 HDC pl#10 [V] wire#48 +51, 4, 49 !TDC ROC#2 Sl#15 Ch#51 HDC pl#10 [V] wire#49 +52, 4, 50 !TDC ROC#2 Sl#15 Ch#52 HDC pl#10 [V] wire#50 +53, 4, 51 !TDC ROC#2 Sl#15 Ch#53 HDC pl#10 [V] wire#51 +54, 4, 52 !TDC ROC#2 Sl#15 Ch#54 HDC pl#10 [V] wire#52 +55, 4, 53 !TDC ROC#2 Sl#15 Ch#55 HDC pl#10 [V] wire#53 +56, 4, 54 !TDC ROC#2 Sl#15 Ch#56 HDC pl#10 [V] wire#54 +57, 4, 55 !TDC ROC#2 Sl#15 Ch#57 HDC pl#10 [V] wire#55 +58, 4, 56 !TDC ROC#2 Sl#15 Ch#58 HDC pl#10 [V] wire#56 +59, 4, 57 !TDC ROC#2 Sl#15 Ch#59 HDC pl#10 [V] wire#57 +60, 4, 58 !TDC ROC#2 Sl#15 Ch#60 HDC pl#10 [V] wire#58 +61, 4, 59 !TDC ROC#2 Sl#15 Ch#61 HDC pl#10 [V] wire#59 +62, 4, 60 !TDC ROC#2 Sl#15 Ch#62 HDC pl#10 [V] wire#60 +! 63 !TDC ROC#2 Sl#15 Ch#63 unused +64, 4, 61 !TDC ROC#2 Sl#15 Ch#64 HDC pl#10 [V] wire#61 +65, 4, 62 !TDC ROC#2 Sl#15 Ch#65 HDC pl#10 [V] wire#62 +66, 4, 63 !TDC ROC#2 Sl#15 Ch#66 HDC pl#10 [V] wire#63 +67, 4, 64 !TDC ROC#2 Sl#15 Ch#67 HDC pl#10 [V] wire#64 +68, 4, 65 !TDC ROC#2 Sl#15 Ch#68 HDC pl#10 [V] wire#65 +69, 4, 66 !TDC ROC#2 Sl#15 Ch#69 HDC pl#10 [V] wire#66 +70, 4, 67 !TDC ROC#2 Sl#15 Ch#70 HDC pl#10 [V] wire#67 +71, 4, 68 !TDC ROC#2 Sl#15 Ch#71 HDC pl#10 [V] wire#68 +72, 4, 69 !TDC ROC#2 Sl#15 Ch#72 HDC pl#10 [V] wire#69 +73, 4, 70 !TDC ROC#2 Sl#15 Ch#73 HDC pl#10 [V] wire#70 +74, 4, 71 !TDC ROC#2 Sl#15 Ch#74 HDC pl#10 [V] wire#71 +75, 4, 72 !TDC ROC#2 Sl#15 Ch#75 HDC pl#10 [V] wire#72 +76, 4, 73 !TDC ROC#2 Sl#15 Ch#76 HDC pl#10 [V] wire#73 +77, 4, 74 !TDC ROC#2 Sl#15 Ch#77 HDC pl#10 [V] wire#74 +78, 4, 75 !TDC ROC#2 Sl#15 Ch#78 HDC pl#10 [V] wire#75 +79, 4, 76 !TDC ROC#2 Sl#15 Ch#79 HDC pl#10 [V] wire#76 +80, 4, 77 !TDC ROC#2 Sl#15 Ch#80 HDC pl#10 [V] wire#77 +81, 4, 78 !TDC ROC#2 Sl#15 Ch#81 HDC pl#10 [V] wire#78 +82, 4, 79 !TDC ROC#2 Sl#15 Ch#82 HDC pl#10 [V] wire#79 +83, 4, 80 !TDC ROC#2 Sl#15 Ch#83 HDC pl#10 [V] wire#80 +84, 4, 81 !TDC ROC#2 Sl#15 Ch#84 HDC pl#10 [V] wire#81 +85, 4, 82 !TDC ROC#2 Sl#15 Ch#85 HDC pl#10 [V] wire#82 +86, 4, 83 !TDC ROC#2 Sl#15 Ch#86 HDC pl#10 [V] wire#83 +87, 4, 84 !TDC ROC#2 Sl#15 Ch#87 HDC pl#10 [V] wire#84 +88, 4, 85 !TDC ROC#2 Sl#15 Ch#88 HDC pl#10 [V] wire#85 +89, 4, 86 !TDC ROC#2 Sl#15 Ch#89 HDC pl#10 [V] wire#86 +90, 4, 87 !TDC ROC#2 Sl#15 Ch#90 HDC pl#10 [V] wire#87 +91, 4, 88 !TDC ROC#2 Sl#15 Ch#91 HDC pl#10 [V] wire#88 +92, 4, 89 !TDC ROC#2 Sl#15 Ch#92 HDC pl#10 [V] wire#89 +93, 4, 90 !TDC ROC#2 Sl#15 Ch#93 HDC pl#10 [V] wire#90 +94, 4, 91 !TDC ROC#2 Sl#15 Ch#94 HDC pl#10 [V] wire#91 +! 95 !TDC ROC#2 Sl#15 Ch#95 unused +Slot= 21 +0, 4, 92 !TDC ROC#2 Sl#17 Ch#0 HDC pl#10 [V] wire#92 +1, 4, 93 !TDC ROC#2 Sl#17 Ch#1 HDC pl#10 [V] wire#93 +2, 4, 94 !TDC ROC#2 Sl#17 Ch#2 HDC pl#10 [V] wire#94 +3, 4, 95 !TDC ROC#2 Sl#17 Ch#3 HDC pl#10 [V] wire#95 +4, 4, 96 !TDC ROC#2 Sl#17 Ch#4 HDC pl#10 [V] wire#96 +5, 4, 97 !TDC ROC#2 Sl#17 Ch#5 HDC pl#10 [V] wire#97 +6, 4, 98 !TDC ROC#2 Sl#17 Ch#6 HDC pl#10 [V] wire#98 +7, 4, 99 !TDC ROC#2 Sl#17 Ch#7 HDC pl#10 [V] wire#99 +8, 4, 100 !TDC ROC#2 Sl#17 Ch#8 HDC pl#10 [V] wire#100 +9, 4, 101 !TDC ROC#2 Sl#17 Ch#9 HDC pl#10 [V] wire#101 +10, 4, 102 !TDC ROC#2 Sl#17 Ch#10 HDC pl#10 [V] wire#102 +11, 4, 103 !TDC ROC#2 Sl#17 Ch#11 HDC pl#10 [V] wire#103 +12, 4, 104 !TDC ROC#2 Sl#17 Ch#12 HDC pl#10 [V] wire#104 +13, 4, 105 !TDC ROC#2 Sl#17 Ch#13 HDC pl#10 [V] wire#105 +14, 4, 106 !TDC ROC#2 Sl#17 Ch#14 HDC pl#10 [V] wire#106 +15, 4, 107 !TDC ROC#2 Sl#17 Ch#15 HDC pl#10 [V] wire#107 +16, 5, 1 !TDC ROC#2 Sl#17 Ch#16 HDC pl#11 [Y2] wire#1 +17, 5, 2 !TDC ROC#2 Sl#17 Ch#17 HDC pl#11 [Y2] wire#2 +18, 5, 3 !TDC ROC#2 Sl#17 Ch#18 HDC pl#11 [Y2] wire#3 +19, 5, 4 !TDC ROC#2 Sl#17 Ch#19 HDC pl#11 [Y2] wire#4 +20, 5, 5 !TDC ROC#2 Sl#17 Ch#20 HDC pl#11 [Y2] wire#5 +21, 5, 6 !TDC ROC#2 Sl#17 Ch#21 HDC pl#11 [Y2] wire#6 +22, 5, 7 !TDC ROC#2 Sl#17 Ch#22 HDC pl#11 [Y2] wire#7 +23, 5, 8 !TDC ROC#2 Sl#17 Ch#23 HDC pl#11 [Y2] wire#8 +24, 5, 9 !TDC ROC#2 Sl#17 Ch#24 HDC pl#11 [Y2] wire#9 +25, 5, 10 !TDC ROC#2 Sl#17 Ch#25 HDC pl#11 [Y2] wire#10 +26, 5, 11 !TDC ROC#2 Sl#17 Ch#26 HDC pl#11 [Y2] wire#11 +27, 5, 12 !TDC ROC#2 Sl#17 Ch#27 HDC pl#11 [Y2] wire#12 +28, 5, 13 !TDC ROC#2 Sl#17 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#17 Ch#29 unused +! 30 !TDC ROC#2 Sl#17 Ch#30 unused +! 31 !TDC ROC#2 Sl#17 Ch#31 unused +32, 5, 14 !TDC ROC#2 Sl#17 Ch#32 HDC pl#11 [Y2] wire#14 +33, 5, 15 !TDC ROC#2 Sl#17 Ch#33 HDC pl#11 [Y2] wire#15 +34, 5, 16 !TDC ROC#2 Sl#17 Ch#34 HDC pl#11 [Y2] wire#16 +35, 5, 17 !TDC ROC#2 Sl#17 Ch#35 HDC pl#11 [Y2] wire#17 +36, 5, 18 !TDC ROC#2 Sl#17 Ch#36 HDC pl#11 [Y2] wire#18 +37, 5, 19 !TDC ROC#2 Sl#17 Ch#37 HDC pl#11 [Y2] wire#19 +38, 5, 20 !TDC ROC#2 Sl#17 Ch#38 HDC pl#11 [Y2] wire#20 +39, 5, 21 !TDC ROC#2 Sl#17 Ch#39 HDC pl#11 [Y2] wire#21 +40, 5, 22 !TDC ROC#2 Sl#17 Ch#40 HDC pl#11 [Y2] wire#22 +41, 5, 23 !TDC ROC#2 Sl#17 Ch#41 HDC pl#11 [Y2] wire#23 +42, 5, 24 !TDC ROC#2 Sl#17 Ch#42 HDC pl#11 [Y2] wire#24 +43, 5, 25 !TDC ROC#2 Sl#17 Ch#43 HDC pl#11 [Y2] wire#25 +44, 5, 26 !TDC ROC#2 Sl#17 Ch#44 HDC pl#11 [Y2] wire#26 +! 45 !TDC ROC#2 Sl#17 Ch#45 unused +! 46 !TDC ROC#2 Sl#17 Ch#46 unused +! 47 !TDC ROC#2 Sl#17 Ch#47 unused +48, 5, 27 !TDC ROC#2 Sl#17 Ch#48 HDC pl#11 [Y2] wire#27 +49, 5, 28 !TDC ROC#2 Sl#17 Ch#49 HDC pl#11 [Y2] wire#28 +50, 5, 29 !TDC ROC#2 Sl#17 Ch#50 HDC pl#11 [Y2] wire#29 +51, 5, 30 !TDC ROC#2 Sl#17 Ch#51 HDC pl#11 [Y2] wire#30 +52, 5, 31 !TDC ROC#2 Sl#17 Ch#52 HDC pl#11 [Y2] wire#31 +53, 5, 32 !TDC ROC#2 Sl#17 Ch#53 HDC pl#11 [Y2] wire#32 +54, 5, 33 !TDC ROC#2 Sl#17 Ch#54 HDC pl#11 [Y2] wire#33 +55, 5, 34 !TDC ROC#2 Sl#17 Ch#55 HDC pl#11 [Y2] wire#34 +56, 5, 35 !TDC ROC#2 Sl#17 Ch#56 HDC pl#11 [Y2] wire#35 +57, 5, 36 !TDC ROC#2 Sl#17 Ch#57 HDC pl#11 [Y2] wire#36 +58, 5, 37 !TDC ROC#2 Sl#17 Ch#58 HDC pl#11 [Y2] wire#37 +59, 5, 38 !TDC ROC#2 Sl#17 Ch#59 HDC pl#11 [Y2] wire#38 +60, 5, 39 !TDC ROC#2 Sl#17 Ch#60 HDC pl#11 [Y2] wire#39 +! 61 !TDC ROC#2 Sl#17 Ch#61 unused +! 62 !TDC ROC#2 Sl#17 Ch#62 unused +! 63 !TDC ROC#2 Sl#17 Ch#63 unused +! 64 !TDC ROC#2 Sl#17 Ch#64 unused????? JV 11/11/97 +65, 5, 40 !TDC ROC#2 Sl#17 Ch#64 HDC pl#11 [Y2] wire#40 +66, 5, 41 !TDC ROC#2 Sl#17 Ch#65 HDC pl#11 [Y2] wire#41 +67, 5, 42 !TDC ROC#2 Sl#17 Ch#66 HDC pl#11 [Y2] wire#42 +68, 5, 43 !TDC ROC#2 Sl#17 Ch#67 HDC pl#11 [Y2] wire#43 +69, 5, 44 !TDC ROC#2 Sl#17 Ch#68 HDC pl#11 [Y2] wire#44 +70, 5, 45 !TDC ROC#2 Sl#17 Ch#69 HDC pl#11 [Y2] wire#45 +71, 5, 46 !TDC ROC#2 Sl#17 Ch#70 HDC pl#11 [Y2] wire#46 +72, 5, 47 !TDC ROC#2 Sl#17 Ch#71 HDC pl#11 [Y2] wire#47 +73, 5, 48 !TDC ROC#2 Sl#17 Ch#72 HDC pl#11 [Y2] wire#48 +74, 5, 49 !TDC ROC#2 Sl#17 Ch#73 HDC pl#11 [Y2] wire#49 +75, 5, 50 !TDC ROC#2 Sl#17 Ch#74 HDC pl#11 [Y2] wire#50 +76, 5, 51 !TDC ROC#2 Sl#17 Ch#75 HDC pl#11 [Y2] wire#51 +77, 5, 52 !TDC ROC#2 Sl#17 Ch#76 HDC pl#11 [Y2] wire#52 +! 77 !TDC ROC#2 Sl#17 Ch#77 unused +! 78 !TDC ROC#2 Sl#17 Ch#78 unused +! 79 !TDC ROC#2 Sl#17 Ch#79 unused +80, 6, 1 !TDC ROC#2 Sl#17 Ch#80 HDC pl#12 [X2] wire#1 +81, 6, 2 !TDC ROC#2 Sl#17 Ch#81 HDC pl#12 [X2] wire#2 +82, 6, 3 !TDC ROC#2 Sl#17 Ch#82 HDC pl#12 [X2] wire#3 +83, 6, 4 !TDC ROC#2 Sl#17 Ch#83 HDC pl#12 [X2] wire#4 +84, 6, 5 !TDC ROC#2 Sl#17 Ch#84 HDC pl#12 [X2] wire#5 +85, 6, 6 !TDC ROC#2 Sl#17 Ch#85 HDC pl#12 [X2] wire#6 +86, 6, 7 !TDC ROC#2 Sl#17 Ch#86 HDC pl#12 [X2] wire#7 +87, 6, 8 !TDC ROC#2 Sl#17 Ch#87 HDC pl#12 [X2] wire#8 +88, 6, 9 !TDC ROC#2 Sl#17 Ch#88 HDC pl#12 [X2] wire#9 +89, 6, 10 !TDC ROC#2 Sl#17 Ch#89 HDC pl#12 [X2] wire#10 +90, 6, 11 !TDC ROC#2 Sl#17 Ch#90 HDC pl#12 [X2] wire#11 +91, 6, 12 !TDC ROC#2 Sl#17 Ch#91 HDC pl#12 [X2] wire#12 +92, 6, 13 !TDC ROC#2 Sl#17 Ch#92 HDC pl#12 [X2] wire#13 +93, 6, 14 !TDC ROC#2 Sl#17 Ch#93 HDC pl#12 [X2] wire#14 +94, 6, 15 !TDC ROC#2 Sl#17 Ch#94 HDC pl#12 [X2] wire#15 +95, 6, 16 !TDC ROC#2 Sl#17 Ch#95 HDC pl#12 [X2] wire#16 +Slot= 22 +0, 6, 17 !TDC ROC#2 Sl#18 Ch#0 HDC pl#12 [X2] wire#17 +1, 6, 18 !TDC ROC#2 Sl#18 Ch#1 HDC pl#12 [X2] wire#18 +2, 6, 19 !TDC ROC#2 Sl#18 Ch#2 HDC pl#12 [X2] wire#19 +3, 6, 20 !TDC ROC#2 Sl#18 Ch#3 HDC pl#12 [X2] wire#20 +4, 6, 21 !TDC ROC#2 Sl#18 Ch#4 HDC pl#12 [X2] wire#21 +5, 6, 22 !TDC ROC#2 Sl#18 Ch#5 HDC pl#12 [X2] wire#22 +6, 6, 23 !TDC ROC#2 Sl#18 Ch#6 HDC pl#12 [X2] wire#23 +7, 6, 24 !TDC ROC#2 Sl#18 Ch#7 HDC pl#12 [X2] wire#24 +8, 6, 25 !TDC ROC#2 Sl#18 Ch#8 HDC pl#12 [X2] wire#25 +9, 6, 26 !TDC ROC#2 Sl#18 Ch#9 HDC pl#12 [X2] wire#26 +10, 6, 27 !TDC ROC#2 Sl#18 Ch#10 HDC pl#12 [X2] wire#27 +11, 6, 28 !TDC ROC#2 Sl#18 Ch#11 HDC pl#12 [X2] wire#28 +12, 6, 29 !TDC ROC#2 Sl#18 Ch#12 HDC pl#12 [X2] wire#29 +13, 6, 30 !TDC ROC#2 Sl#18 Ch#13 HDC pl#12 [X2] wire#30 +14, 6, 31 !TDC ROC#2 Sl#18 Ch#14 HDC pl#12 [X2] wire#31 +15, 6, 32 !TDC ROC#2 Sl#18 Ch#15 HDC pl#12 [X2] wire#32 +16, 6, 33 !TDC ROC#2 Sl#18 Ch#16 HDC pl#12 [X2] wire#33 +17, 6, 34 !TDC ROC#2 Sl#18 Ch#17 HDC pl#12 [X2] wire#34 +18, 6, 35 !TDC ROC#2 Sl#18 Ch#18 HDC pl#12 [X2] wire#35 +19, 6, 36 !TDC ROC#2 Sl#18 Ch#19 HDC pl#12 [X2] wire#36 +20, 6, 37 !TDC ROC#2 Sl#18 Ch#20 HDC pl#12 [X2] wire#37 +21, 6, 38 !TDC ROC#2 Sl#18 Ch#21 HDC pl#12 [X2] wire#38 +22, 6, 39 !TDC ROC#2 Sl#18 Ch#22 HDC pl#12 [X2] wire#39 +23, 6, 40 !TDC ROC#2 Sl#18 Ch#23 HDC pl#12 [X2] wire#40 +24, 6, 41 !TDC ROC#2 Sl#18 Ch#24 HDC pl#12 [X2] wire#41 +25, 6, 42 !TDC ROC#2 Sl#18 Ch#25 HDC pl#12 [X2] wire#42 +26, 6, 43 !TDC ROC#2 Sl#18 Ch#26 HDC pl#12 [X2] wire#43 +27, 6, 44 !TDC ROC#2 Sl#18 Ch#27 HDC pl#12 [X2] wire#44 +28, 6, 45 !TDC ROC#2 Sl#18 Ch#28 HDC pl#12 [X2] wire#45 +29, 6, 46 !TDC ROC#2 Sl#18 Ch#29 HDC pl#12 [X2] wire#46 +30, 6, 47 !TDC ROC#2 Sl#18 Ch#30 HDC pl#12 [X2] wire#47 +31, 6, 48 !TDC ROC#2 Sl#18 Ch#31 HDC pl#12 [X2] wire#48 +32, 6, 49 !TDC ROC#2 Sl#18 Ch#32 HDC pl#12 [X2] wire#49 +33, 6, 50 !TDC ROC#2 Sl#18 Ch#33 HDC pl#12 [X2] wire#50 +34, 6, 51 !TDC ROC#2 Sl#18 Ch#34 HDC pl#12 [X2] wire#51 +35, 6, 52 !TDC ROC#2 Sl#18 Ch#35 HDC pl#12 [X2] wire#52 +36, 6, 53 !TDC ROC#2 Sl#18 Ch#36 HDC pl#12 [X2] wire#53 +37, 6, 54 !TDC ROC#2 Sl#18 Ch#37 HDC pl#12 [X2] wire#54 +38, 6, 55 !TDC ROC#2 Sl#18 Ch#38 HDC pl#12 [X2] wire#55 +39, 6, 56 !TDC ROC#2 Sl#18 Ch#39 HDC pl#12 [X2] wire#56 +40, 6, 57 !TDC ROC#2 Sl#18 Ch#40 HDC pl#12 [X2] wire#57 +41, 6, 58 !TDC ROC#2 Sl#18 Ch#41 HDC pl#12 [X2] wire#58 +42, 6, 59 !TDC ROC#2 Sl#18 Ch#42 HDC pl#12 [X2] wire#59 +43, 6, 60 !TDC ROC#2 Sl#18 Ch#43 HDC pl#12 [X2] wire#60 +44, 6, 61 !TDC ROC#2 Sl#18 Ch#44 HDC pl#12 [X2] wire#61 +45, 6, 62 !TDC ROC#2 Sl#18 Ch#45 HDC pl#12 [X2] wire#62 +46, 6, 63 !TDC ROC#2 Sl#18 Ch#46 HDC pl#12 [X2] wire#63 +47, 6, 64 !TDC ROC#2 Sl#18 Ch#47 HDC pl#12 [X2] wire#64 +48, 6, 65 !TDC ROC#2 Sl#18 Ch#48 HDC pl#12 [X2] wire#65 +49, 6, 66 !TDC ROC#2 Sl#18 Ch#49 HDC pl#12 [X2] wire#66 +50, 6, 67 !TDC ROC#2 Sl#18 Ch#50 HDC pl#12 [X2] wire#67 +51, 6, 68 !TDC ROC#2 Sl#18 Ch#51 HDC pl#12 [X2] wire#68 +52, 6, 69 !TDC ROC#2 Sl#18 Ch#52 HDC pl#12 [X2] wire#69 +53, 6, 70 !TDC ROC#2 Sl#18 Ch#53 HDC pl#12 [X2] wire#70 +54, 6, 71 !TDC ROC#2 Sl#18 Ch#54 HDC pl#12 [X2] wire#71 +55, 6, 72 !TDC ROC#2 Sl#18 Ch#55 HDC pl#12 [X2] wire#72 +56, 6, 73 !TDC ROC#2 Sl#18 Ch#56 HDC pl#12 [X2] wire#73 +57, 6, 74 !TDC ROC#2 Sl#18 Ch#57 HDC pl#12 [X2] wire#74 +58, 6, 75 !TDC ROC#2 Sl#18 Ch#58 HDC pl#12 [X2] wire#75 +59, 6, 76 !TDC ROC#2 Sl#18 Ch#59 HDC pl#12 [X2] wire#76 +60, 6, 77 !TDC ROC#2 Sl#18 Ch#60 HDC pl#12 [X2] wire#77 +61, 6, 78 !TDC ROC#2 Sl#18 Ch#61 HDC pl#12 [X2] wire#78 +62, 6, 79 !TDC ROC#2 Sl#18 Ch#62 HDC pl#12 [X2] wire#79 +63, 6, 80 !TDC ROC#2 Sl#18 Ch#63 HDC pl#12 [X2] wire#80 +64, 6, 81 !TDC ROC#2 Sl#18 Ch#64 HDC pl#12 [X2] wire#81 +65, 6, 82 !TDC ROC#2 Sl#18 Ch#65 HDC pl#12 [X2] wire#82 +66, 6, 83 !TDC ROC#2 Sl#18 Ch#66 HDC pl#12 [X2] wire#83 +67, 6, 84 !TDC ROC#2 Sl#18 Ch#67 HDC pl#12 [X2] wire#84 +68, 6, 85 !TDC ROC#2 Sl#18 Ch#68 HDC pl#12 [X2] wire#85 +69, 6, 86 !TDC ROC#2 Sl#18 Ch#69 HDC pl#12 [X2] wire#86 +70, 6, 87 !TDC ROC#2 Sl#18 Ch#70 HDC pl#12 [X2] wire#87 +71, 6, 88 !TDC ROC#2 Sl#18 Ch#71 HDC pl#12 [X2] wire#88 +72, 6, 89 !TDC ROC#2 Sl#18 Ch#72 HDC pl#12 [X2] wire#89 +73, 6, 90 !TDC ROC#2 Sl#18 Ch#73 HDC pl#12 [X2] wire#90 +74, 6, 91 !TDC ROC#2 Sl#18 Ch#74 HDC pl#12 [X2] wire#91 +75, 6, 92 !TDC ROC#2 Sl#18 Ch#75 HDC pl#12 [X2] wire#92 +76, 6, 93 !TDC ROC#2 Sl#18 Ch#76 HDC pl#12 [X2] wire#93 +77, 6, 94 !TDC ROC#2 Sl#18 Ch#77 HDC pl#12 [X2] wire#94 +78, 6, 95 !TDC ROC#2 Sl#18 Ch#78 HDC pl#12 [X2] wire#95 +79, 6, 96 !TDC ROC#2 Sl#18 Ch#79 HDC pl#12 [X2] wire#96 +80, 6, 97 !TDC ROC#2 Sl#18 Ch#80 HDC pl#12 [X2] wire#97 +81, 6, 98 !TDC ROC#2 Sl#18 Ch#81 HDC pl#12 [X2] wire#98 +82, 6, 99 !TDC ROC#2 Sl#18 Ch#82 HDC pl#12 [X2] wire#99 +83, 6, 100 !TDC ROC#2 Sl#18 Ch#83 HDC pl#12 [X2] wire#100 +84, 6, 101 !TDC ROC#2 Sl#18 Ch#84 HDC pl#12 [X2] wire#101 +85, 6, 102 !TDC ROC#2 Sl#18 Ch#85 HDC pl#12 [X2] wire#102 +86, 6, 103 !TDC ROC#2 Sl#18 Ch#86 HDC pl#12 [X2] wire#103 +87, 6, 104 !TDC ROC#2 Sl#18 Ch#87 HDC pl#12 [X2] wire#104 +88, 6, 105 !TDC ROC#2 Sl#18 Ch#88 HDC pl#12 [X2] wire#105 +89, 6, 106 !TDC ROC#2 Sl#18 Ch#89 HDC pl#12 [X2] wire#106 +90, 6, 107 !TDC ROC#2 Sl#18 Ch#90 HDC pl#12 [X2] wire#107 +91, 6, 108 !TDC ROC#2 Sl#18 Ch#91 HDC pl#12 [X2] wire#108 +92, 6, 109 !TDC ROC#2 Sl#18 Ch#92 HDC pl#12 [X2] wire#109 +93, 6, 110 !TDC ROC#2 Sl#18 Ch#93 HDC pl#12 [X2] wire#110 +94, 6, 111 !TDC ROC#2 Sl#18 Ch#94 HDC pl#12 [X2] wire#111 +95, 6, 112 !TDC ROC#2 Sl#18 Ch#95 HDC pl#12 [X2] wire#112 +! +! +! HMS upstairs (HSCIN+HCAL+HCER) map K.B.Beard 13-Jun-1994 +! + +! ^^^^^^^^^^^^^^^^^^^^^ Wire chambers end here ^^^^^^^^^^^^^^^^^^^^^^ +!============================================================================= + ROC= 1 !upstairs HMS crate +! + detector= 2 !HSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 23 ! TDC + 0, 1, 1, 2 !TDC ROC#1 Sl#23 Ch#0 HSCIN pl#1 [X1] id#1 sig#2 [TDC+] (0 X1P-01) + 1, 1, 3, 2 !TDC ROC#1 Sl#23 Ch#1 HSCIN pl#1 [X1] id#3 sig#2 [TDC+] (1 X1P-03) + 2, 1, 5, 2 !TDC ROC#1 Sl#23 Ch#2 HSCIN pl#1 [X1] id#5 sig#2 [TDC+] (2 X1P-05) + 3, 1, 7, 2 !TDC ROC#1 Sl#23 Ch#3 HSCIN pl#1 [X1] id#7 sig#2 [TDC+] (3 X1P-07) + 4, 1, 9, 2 !TDC ROC#1 Sl#23 Ch#4 HSCIN pl#1 [X1] id#9 sig#2 [TDC+] (4 X1P-09) + 5, 1, 11, 2 !TDC ROC#1 Sl#23 Ch#5 HSCIN pl#1 [X1] id#11 sig#2 [TDC+] (5 X1P-11) + 6, 1, 13, 2 !TDC ROC#1 Sl#23 Ch#6 HSCIN pl#1 [X1] id#13 sig#2 [TDC+] (6 X1P-13) + 7, 1, 15, 2 !TDC ROC#1 Sl#23 Ch#7 HSCIN pl#1 [X1] id#15 sig#2 [TDC+] (7 X1P-15) + 8, 1, 2, 2 !TDC ROC#1 Sl#23 Ch#8 HSCIN pl#1 [X1] id#2 sig#2 [TDC+] (8 X1P-02) + 9, 1, 4, 2 !TDC ROC#1 Sl#23 Ch#9 HSCIN pl#1 [X1] id#4 sig#2 [TDC+] (9 X1P-04) + 10, 1, 6, 2 !TDC ROC#1 Sl#23 Ch#10 HSCIN pl#1 [X1] id#6 sig#2 [TDC+] (10 X1P-06) + 11, 1, 8, 2 !TDC ROC#1 Sl#23 Ch#11 HSCIN pl#1 [X1] id#8 sig#2 [TDC+] (11 X1P-08) + 12, 1, 10, 2 !TDC ROC#1 Sl#23 Ch#12 HSCIN pl#1 [X1] id#10 sig#2 [TDC+] (12 X1P-10) + 13, 1, 12, 2 !TDC ROC#1 Sl#23 Ch#13 HSCIN pl#1 [X1] id#12 sig#2 [TDC+] (13 X1P-12) + 14, 1, 14, 2 !TDC ROC#1 Sl#23 Ch#14 HSCIN pl#1 [X1] id#14 sig#2 [TDC+] (14 X1P-14) + 15, 1, 16, 2 !TDC ROC#1 Sl#23 Ch#15 HSCIN pl#1 [X1] id#16 sig#2 [TDC+] (15 X1P-16) + 16, 1, 1, 3 !TDC ROC#1 Sl#23 Ch#16 HSCIN pl#1 [X1] id#1 sig#3 [TDC-] (16 X1N-01) + 17, 1, 3, 3 !TDC ROC#1 Sl#23 Ch#17 HSCIN pl#1 [X1] id#3 sig#3 [TDC-] (17 X1N-03) + 18, 1, 5, 3 !TDC ROC#1 Sl#23 Ch#18 HSCIN pl#1 [X1] id#5 sig#3 [TDC-] (18 X1N-05) + 19, 1, 7, 3 !TDC ROC#1 Sl#23 Ch#19 HSCIN pl#1 [X1] id#7 sig#3 [TDC-] (19 X1N-07) + 20, 1, 9, 3 !TDC ROC#1 Sl#23 Ch#20 HSCIN pl#1 [X1] id#9 sig#3 [TDC-] (20 X1N-09) + 21, 1, 11, 3 !TDC ROC#1 Sl#23 Ch#21 HSCIN pl#1 [X1] id#11 sig#3 [TDC-] (21 X1N-11) + 22, 1, 13, 3 !TDC ROC#1 Sl#23 Ch#22 HSCIN pl#1 [X1] id#13 sig#3 [TDC-] (22 X1N-13) + 23, 1, 15, 3 !TDC ROC#1 Sl#23 Ch#23 HSCIN pl#1 [X1] id#15 sig#3 [TDC-] (23 X1N-15) + 24, 1, 2, 3 !TDC ROC#1 Sl#23 Ch#24 HSCIN pl#1 [X1] id#2 sig#3 [TDC-] (24 X1N-02) + 25, 1, 4, 3 !TDC ROC#1 Sl#23 Ch#25 HSCIN pl#1 [X1] id#4 sig#3 [TDC-] (25 X1N-04) + 26, 1, 6, 3 !TDC ROC#1 Sl#23 Ch#26 HSCIN pl#1 [X1] id#6 sig#3 [TDC-] (26 X1N-06) + 27, 1, 8, 3 !TDC ROC#1 Sl#23 Ch#27 HSCIN pl#1 [X1] id#8 sig#3 [TDC-] (27 X1N-08) + 28, 1, 10, 3 !TDC ROC#1 Sl#23 Ch#28 HSCIN pl#1 [X1] id#10 sig#3 [TDC-] (28 X1N-10) + 29, 1, 12, 3 !TDC ROC#1 Sl#23 Ch#29 HSCIN pl#1 [X1] id#12 sig#3 [TDC-] (29 X1N-12) + 30, 1, 14, 3 !TDC ROC#1 Sl#23 Ch#30 HSCIN pl#1 [X1] id#14 sig#3 [TDC-] (30 X1N-14) + 31, 1, 16, 3 !TDC ROC#1 Sl#23 Ch#31 HSCIN pl#1 [X1] id#16 sig#3 [TDC-] (31 X1N-16) + 32, 2, 1, 2 !TDC ROC#1 Sl#23 Ch#32 HSCIN pl#2 [Y1] id#1 sig#2 [TDC+] (32 Y1P-01) + 33, 2, 3, 2 !TDC ROC#1 Sl#23 Ch#33 HSCIN pl#2 [Y1] id#3 sig#2 [TDC+] (33 Y1P-03) + 34, 2, 5, 2 !TDC ROC#1 Sl#23 Ch#34 HSCIN pl#2 [Y1] id#5 sig#2 [TDC+] (34 Y1P-05) + 35, 2, 7, 2 !TDC ROC#1 Sl#23 Ch#35 HSCIN pl#2 [Y1] id#7 sig#2 [TDC+] (35 Y1P-07) + 36, 2, 9, 2 !TDC ROC#1 Sl#23 Ch#36 HSCIN pl#2 [Y1] id#9 sig#2 [TDC+] (36 Y1P-09) +! 37 !TDC ROC#1 Sl#23 Ch#37 unused +! 38 !TDC ROC#1 Sl#23 Ch#38 unused +! 39 !TDC ROC#1 Sl#23 Ch#39 unused +!!! 40, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) + 41, 2, 4, 2 !TDC ROC#1 Sl#23 Ch#41 HSCIN pl#2 [Y1] id#4 sig#2 [TDC+] (41 Y1P-04) + 42, 2, 6, 2 !TDC ROC#1 Sl#23 Ch#42 HSCIN pl#2 [Y1] id#6 sig#2 [TDC+] (42 Y1P-06) + 43, 2, 8, 2 !TDC ROC#1 Sl#23 Ch#43 HSCIN pl#2 [Y1] id#8 sig#2 [TDC+] (43 Y1P-08) + 44, 2, 10, 2 !TDC ROC#1 Sl#23 Ch#44 HSCIN pl#2 [Y1] id#10 sig#2 [TDC+] (44 Y1P-10) + 45, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#45 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (45 Y1P-02) +! h1y2+ was moved from channel 47 to 45 on 1/29/1999 +! 46 !TDC ROC#1 Sl#23 Ch#46 unused +! 47, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) +! h1y2+ was moved from channel 40 to 47 at run 6168 + 48, 2, 1, 3 !TDC ROC#1 Sl#23 Ch#48 HSCIN pl#2 [Y1] id#1 sig#3 [TDC-] (48 Y1N-01) + 49, 2, 3, 3 !TDC ROC#1 Sl#23 Ch#49 HSCIN pl#2 [Y1] id#3 sig#3 [TDC-] (49 Y1N-03) + 50, 2, 5, 3 !TDC ROC#1 Sl#23 Ch#50 HSCIN pl#2 [Y1] id#5 sig#3 [TDC-] (50 Y1N-05) + 51, 2, 7, 3 !TDC ROC#1 Sl#23 Ch#51 HSCIN pl#2 [Y1] id#7 sig#3 [TDC-] (51 Y1N-07) + 52, 2, 9, 3 !TDC ROC#1 Sl#23 Ch#52 HSCIN pl#2 [Y1] id#9 sig#3 [TDC-] (52 Y1N-09) +! 53 !TDC ROC#1 Sl#23 Ch#53 unused +! 54 !TDC ROC#1 Sl#23 Ch#54 unused +! 55 !TDC ROC#1 Sl#23 Ch#55 unused + 56, 2, 2, 3 !TDC ROC#1 Sl#23 Ch#56 HSCIN pl#2 [Y1] id#2 sig#3 [TDC-] (56 Y1N-02) + 57, 2, 4, 3 !TDC ROC#1 Sl#23 Ch#57 HSCIN pl#2 [Y1] id#4 sig#3 [TDC-] (57 Y1N-04) + 58, 2, 6, 3 !TDC ROC#1 Sl#23 Ch#58 HSCIN pl#2 [Y1] id#6 sig#3 [TDC-] (58 Y1N-06) + 59, 2, 8, 3 !TDC ROC#1 Sl#23 Ch#59 HSCIN pl#2 [Y1] id#8 sig#3 [TDC-] (59 Y1N-08) +! 60, 2, 10, 3 !TDC ROC#1 Sl#23 Ch#60 HSCIN pl#2 [Y1] id#10 sig#3 [TDC-] (60 Y1N-10) + 61 , 2, 10, 3 !TDC ROC#1 Sl#23 Ch#61 swap location for h1y10- +! 62 !TDC ROC#1 Sl#23 Ch#62 unused +! 63 !TDC ROC#1 Sl#23 Ch#63 unused +! + Slot= 21 ! TDC +! + 0, 3, 1, 2 !TDC ROC#1 Sl#21 Ch#0 HSCIN pl#3 [X2] id#1 sig#2 [TDC+] (0 X2P-01) + 1, 3, 3, 2 !TDC ROC#1 Sl#21 Ch#1 HSCIN pl#3 [X2] id#3 sig#2 [TDC+] (1 X2P-03) + 2, 3, 5, 2 !TDC ROC#1 Sl#21 Ch#2 HSCIN pl#3 [X2] id#5 sig#2 [TDC+] (2 X2P-05) + 3, 3, 7, 2 !TDC ROC#1 Sl#21 Ch#3 HSCIN pl#3 [X2] id#7 sig#2 [TDC+] (3 X2P-07) + 4, 3, 9, 2 !TDC ROC#1 Sl#21 Ch#4 HSCIN pl#3 [X2] id#9 sig#2 [TDC+] (4 X2P-09) + 5, 3, 11, 2 !TDC ROC#1 Sl#21 Ch#5 HSCIN pl#3 [X2] id#11 sig#2 [TDC+] (5 X2P-11) + 6, 3, 13, 2 !TDC ROC#1 Sl#21 Ch#6 HSCIN pl#3 [X2] id#13 sig#2 [TDC+] (6 X2P-13) + 7, 3, 15, 2 !TDC ROC#1 Sl#21 Ch#7 HSCIN pl#3 [X2] id#15 sig#2 [TDC+] (7 X2P-15) +! + 8, 3, 2, 2 !TDC ROC#1 Sl#21 Ch#8 HSCIN pl#3 [X2] id#2 sig#2 [TDC+] (8 X2P-02) + 9, 3, 4, 2 !TDC ROC#1 Sl#21 Ch#9 HSCIN pl#3 [X2] id#4 sig#2 [TDC+] (9 X2P-04) + 10, 3, 6, 2 !TDC ROC#1 Sl#21 Ch#10 HSCIN pl#3 [X2] id#6 sig#2 [TDC+] (10 X2P-06) + 11, 3, 8, 2 !TDC ROC#1 Sl#21 Ch#11 HSCIN pl#3 [X2] id#8 sig#2 [TDC+] (11 X2P-08) + 12, 3, 10, 2 !TDC ROC#1 Sl#21 Ch#12 HSCIN pl#3 [X2] id#10 sig#2 [TDC+] (12 X2P-10) + 13, 3, 12, 2 !TDC ROC#1 Sl#21 Ch#13 HSCIN pl#3 [X2] id#12 sig#2 [TDC+] (13 X2P-12) + 14, 3, 14, 2 !TDC ROC#1 Sl#21 Ch#14 HSCIN pl#3 [X2] id#14 sig#2 [TDC+] (14 X2P-14) + 15, 3, 16, 2 !TDC ROC#1 Sl#21 Ch#15 HSCIN pl#3 [X2] id#16 sig#2 [TDC+] (15 X2P-16) +! +! swapped s2x- with s2y+ +! + 16, 4, 1, 2 !TDC ROC#1 Sl#21 Ch#32 HSCIN pl#4 [Y2] id#1 sig#2 [TDC+] (32 Y2P-01) + 17, 4, 3, 2 !TDC ROC#1 Sl#21 Ch#33 HSCIN pl#4 [Y2] id#3 sig#2 [TDC+] (33 Y2P-03) + 18, 4, 5, 2 !TDC ROC#1 Sl#21 Ch#34 HSCIN pl#4 [Y2] id#5 sig#2 [TDC+] (34 Y2P-05) + 19, 4, 7, 2 !TDC ROC#1 Sl#21 Ch#35 HSCIN pl#4 [Y2] id#7 sig#2 [TDC+] (35 Y2P-07) + 20, 4, 9, 2 !TDC ROC#1 Sl#21 Ch#36 HSCIN pl#4 [Y2] id#9 sig#2 [TDC+] (36 Y2P-09) +! 21 !TDC ROC#1 Sl#21 Ch#37 unused +! 22 !TDC ROC#1 Sl#21 Ch#38 unused +! 23 !TDC ROC#1 Sl#21 Ch#39 unused + 24, 4, 2, 2 !TDC ROC#1 Sl#21 Ch#40 HSCIN pl#4 [Y2] id#2 sig#2 [TDC+] (40 Y2P-02) + 25, 4, 4, 2 !TDC ROC#1 Sl#21 Ch#41 HSCIN pl#4 [Y2] id#4 sig#2 [TDC+] (41 Y2P-04) + 26, 4, 6, 2 !TDC ROC#1 Sl#21 Ch#42 HSCIN pl#4 [Y2] id#6 sig#2 [TDC+] (42 Y2P-06) + 27, 4, 8, 2 !TDC ROC#1 Sl#21 Ch#43 HSCIN pl#4 [Y2] id#8 sig#2 [TDC+] (43 Y2P-08) + 28, 4, 10, 2 !TDC ROC#1 Sl#21 Ch#44 HSCIN pl#4 [Y2] id#10 sig#2 [TDC+] (44 Y2P-10) +! 29 !TDC ROC#1 Sl#21 Ch#45 unused +! 30 !TDC ROC#1 Sl#21 Ch#46 unused +! 31 !TDC ROC#1 Sl#21 Ch#47 unused +! + 32, 3, 1, 3 !TDC ROC#1 Sl#21 Ch#16 HSCIN pl#3 [X2] id#1 sig#3 [TDC-] (16 X2N-01) + 33, 3, 3, 3 !TDC ROC#1 Sl#21 Ch#17 HSCIN pl#3 [X2] id#3 sig#3 [TDC-] (17 X2N-03) + 34, 3, 5, 3 !TDC ROC#1 Sl#21 Ch#18 HSCIN pl#3 [X2] id#5 sig#3 [TDC-] (18 X2N-05) + 35, 3, 7, 3 !TDC ROC#1 Sl#21 Ch#19 HSCIN pl#3 [X2] id#7 sig#3 [TDC-] (19 X2N-07) + 36, 3, 9, 3 !TDC ROC#1 Sl#21 Ch#20 HSCIN pl#3 [X2] id#9 sig#3 [TDC-] (20 X2N-09) + 37, 3, 11, 3 !TDC ROC#1 Sl#21 Ch#21 HSCIN pl#3 [X2] id#11 sig#3 [TDC-] (21 X2N-11) + 38, 3, 13, 3 !TDC ROC#1 Sl#21 Ch#22 HSCIN pl#3 [X2] id#13 sig#3 [TDC-] (22 X2N-13) + 39, 3, 15, 3 !TDC ROC#1 Sl#21 Ch#23 HSCIN pl#3 [X2] id#15 sig#3 [TDC-] (23 X2N-15) +! + 40, 3, 2, 3 !TDC ROC#1 Sl#21 Ch#24 HSCIN pl#3 [X2] id#2 sig#3 [TDC-] (24 X2N-02) + 41, 3, 4, 3 !TDC ROC#1 Sl#21 Ch#25 HSCIN pl#3 [X2] id#4 sig#3 [TDC-] (25 X2N-04) + 42, 3, 6, 3 !TDC ROC#1 Sl#21 Ch#26 HSCIN pl#3 [X2] id#6 sig#3 [TDC-] (26 X2N-06) + 43, 3, 8, 3 !TDC ROC#1 Sl#21 Ch#27 HSCIN pl#3 [X2] id#8 sig#3 [TDC-] (27 X2N-08) + 44, 3, 10, 3 !TDC ROC#1 Sl#21 Ch#28 HSCIN pl#3 [X2] id#10 sig#3 [TDC-] (28 X2N-10) + 45, 3, 12, 3 !TDC ROC#1 Sl#21 Ch#29 HSCIN pl#3 [X2] id#12 sig#3 [TDC-] (29 X2N-12) + 46, 3, 14, 3 !TDC ROC#1 Sl#21 Ch#30 HSCIN pl#3 [X2] id#14 sig#3 [TDC-] (30 X2N-14) + 47, 3, 16, 3 !TDC ROC#1 Sl#21 Ch#31 HSCIN pl#3 [X2] id#16 sig#3 [TDC-] (31 X2N-16) +! + 48, 4, 1, 3 !TDC ROC#1 Sl#21 Ch#48 HSCIN pl#4 [Y2] id#1 sig#3 [TDC-] (48 Y2N-01) + 49, 4, 3, 3 !TDC ROC#1 Sl#21 Ch#49 HSCIN pl#4 [Y2] id#3 sig#3 [TDC-] (49 Y2N-03) + 50, 4, 5, 3 !TDC ROC#1 Sl#21 Ch#50 HSCIN pl#4 [Y2] id#5 sig#3 [TDC-] (50 Y2N-05) + 51, 4, 7, 3 !TDC ROC#1 Sl#21 Ch#51 HSCIN pl#4 [Y2] id#7 sig#3 [TDC-] (51 Y2N-07) + 52, 4, 9, 3 !TDC ROC#1 Sl#21 Ch#52 HSCIN pl#4 [Y2] id#9 sig#3 [TDC-] (52 Y2N-09) +! 53 !TDC ROC#1 Sl#21 Ch#53 unused +! 54 !TDC ROC#1 Sl#21 Ch#54 unused +! 55 !TDC ROC#1 Sl#21 Ch#55 unused + 56, 4, 2, 3 !TDC ROC#1 Sl#21 Ch#56 HSCIN pl#4 [Y2] id#2 sig#3 [TDC-] (56 Y2N-02) + 57, 4, 4, 3 !TDC ROC#1 Sl#21 Ch#57 HSCIN pl#4 [Y2] id#4 sig#3 [TDC-] (57 Y2N-04) + 58, 4, 6, 3 !TDC ROC#1 Sl#21 Ch#58 HSCIN pl#4 [Y2] id#6 sig#3 [TDC-] (58 Y2N-06) + 59, 4, 8, 3 !TDC ROC#1 Sl#21 Ch#59 HSCIN pl#4 [Y2] id#8 sig#3 [TDC-] (59 Y2N-08) + 60, 4, 10, 3 !TDC ROC#1 Sl#21 Ch#60 HSCIN pl#4 [Y2] id#10 sig#3 [TDC-] (60 Y2N-10) +! 61 !TDC ROC#1 Sl#21 Ch#61 unused +! 62 !TDC ROC#1 Sl#21 Ch#62 unused +! 63 !TDC ROC#1 Sl#21 Ch#63 unused +! +!!!====================================================================== + detector= 5 !HMISC + +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 19 ! TDC + +0, 1, 1, 0 ! 0 !TDC ROC#1 Sl#19 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#1 Sl#19 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#1 Sl#19 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#1 Sl#19 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#1 Sl#19 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#1 Sl#19 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#1 Sl#19 Ch#6 empty +7, 1, 8, 0 ! 7 !TDC ROC#1 Sl#19 Ch#7 unused +8, 1, 9, 0 ! 8 !TDC ROC#1 Sl#19 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#1 Sl#19 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#1 Sl#19 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#1 Sl#19 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#1 Sl#19 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#1 Sl#19 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#1 Sl#19 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#1 Sl#19 Ch#15 signal {PEDTRG} +16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 signal {hS1} +17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 signal {hPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 signal {hS2X} +19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 signal {hPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 signal {hS1X} +21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 signal {hS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 signal {hPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 signal {hS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 signal {hS2} +25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 signal {hPRE200} +26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 signal {hSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 signal {hSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 signal {hELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 signal {hPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 signal {hELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 signal {hPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 signal {PION} +33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 signal {CER} +34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 signal {hPIONHI} +35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 signal {hCERHI} +36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 signal {??} +37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 signal {UNSER} +38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 signal {BCM1} +39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 signal {BCM2} +40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 signal {hELHI} +41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 signal {hELLO} +42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 signal {hPRHI} +43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 signal {hPRLO} +44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 signal {hSHLO} +45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 signal {CLOCK} +46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 signal {BEAMGATES} +47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 signal {hADCGATES ? PEDS and TRIGS} +48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 RF no delay +49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 RF + 10 ns +53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +! +!============================================================================= +! AEROGEL TDC +!.............................................................................. +! For aerogel: 0-->ADC_POS +! 1-->ADC_NEG +! 2-->TDC_POS ! Check one more time (Hamlet, 2002/10/01) +! 3-->TDC_NEG + + detector= 7 ! Temporary for HAERO + +! TDC module LeCroy 1872a + + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +!! +! S. Wood have problem to read additional TDC in Slot =18 (2002/10/18, Hamlet) +! +! For now I will use some other tdc channels for Aerogel +!.......................> +! + Slot= 18 ! TDC channels for HMS Aero +! Changed May 5, 2003 DJG +! +! +! Slot= 18 !TDC +! +! TDC chan for aerogel (Hamlet, 2002/10/17) +! +0, 1, 1, 2 !TDC ROC#1 Sl#18 Ch#0 signal pos 1 +1, 1, 2, 2 !TDC ROC#1 Sl#18 Ch#1 signal pos 2 +2, 1, 3, 2 !TDC ROC#1 Sl#18 Ch#2 signal pos 3 +3, 1, 4, 2 !TDC ROC#1 Sl#18 Ch#3 signal pos 4 +4, 1, 5, 2 !TDC ROC#1 Sl#18 Ch#4 signal pos 5 +5, 1, 6, 2 !TDC ROC#1 Sl#18 Ch#5 signal pos 6 +6, 1, 7, 2 !TDC ROC#1 Sl#18 Ch#6 signal pos 7 +7, 1, 8, 2 !TDC ROC#1 Sl#18 Ch#7 signal pos 8 +8, 1, 1, 3 !TDC ROC#1 Sl#18 Ch#8 signal neg 1 +9, 1, 2, 3 !TDC ROC#1 Sl#18 Ch#9 signal neg 2 +10, 1, 3, 3 !TDC ROC#1 Sl#18 Ch#10 signal neg 3 +11, 1, 4, 3 !TDC ROC#1 Sl#18 Ch#11 signal neg 4 +12, 1, 5, 3 !TDC ROC#1 Sl#18 Ch#12 signal neg 5 +13, 1, 6, 3 !TDC ROC#1 Sl#18 Ch#13 signal neg 6 +14, 1, 7, 3 !TDC ROC#1 Sl#18 Ch#14 signal neg 7 +15, 1, 8, 3 !TDC ROC#1 Sl#18 Ch#15 signal neg 8 +!! +!16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 unused +!17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 unused +!18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 unused +!19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 unused +!20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 unused +!21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 unused +!22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 unused +!23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 unused +!24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 unused +!25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 unused +!26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 unused +!27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 unused +!28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 unused +!29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 unused +!30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 unused +!31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 unused +!32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 unused +!33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 unused +!34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 unused +!35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 unused +!36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 unused +!37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 unused +!38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 unused +!39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 unused +!40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 unused +!41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 unused +!42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 unused +!43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 unused +!44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 unused +!45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 unused +!46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 unused +!47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 unused +!48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 unused +!49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +!50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +!51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +!52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 unused +!53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +!54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +!55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +!56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +!57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +!58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +!59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +!60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +!61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +!62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +!63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +!============================================================================= +! ADC module LeCroy 1881M + detector = 2 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#1 Sl#9 Ch#0 HSCIN pl#1 [X1] id#1 sig#0 [ADC+] (0 X1P-01) + 1, 1, 3, 0 !ADC ROC#1 Sl#9 Ch#1 HSCIN pl#1 [X1] id#3 sig#0 [ADC+] (1 X1P-03) + 2, 1, 5, 0 !ADC ROC#1 Sl#9 Ch#2 HSCIN pl#1 [X1] id#5 sig#0 [ADC+] (2 X1P-05) + 3, 1, 7, 0 !ADC ROC#1 Sl#9 Ch#3 HSCIN pl#1 [X1] id#7 sig#0 [ADC+] (3 X1P-07) + 4, 1, 9, 0 !ADC ROC#1 Sl#9 Ch#4 HSCIN pl#1 [X1] id#9 sig#0 [ADC+] (4 X1P-09) + 5, 1, 11, 0 !ADC ROC#1 Sl#9 Ch#5 HSCIN pl#1 [X1] id#11 sig#0 [ADC+] (5 X1P-11) + 6, 1, 13, 0 !ADC ROC#1 Sl#9 Ch#6 HSCIN pl#1 [X1] id#13 sig#0 [ADC+] (6 X1P-13) + 7, 1, 15, 0 !ADC ROC#1 Sl#9 Ch#7 HSCIN pl#1 [X1] id#15 sig#0 [ADC+] (7 X1P-15) + 8, 1, 2, 0 !ADC ROC#1 Sl#9 Ch#8 HSCIN pl#1 [X1] id#2 sig#0 [ADC+] (8 X1P-02) + 9, 1, 4, 0 !ADC ROC#1 Sl#9 Ch#9 HSCIN pl#1 [X1] id#4 sig#0 [ADC+] (9 X1P-04) + 10, 1, 6, 0 !ADC ROC#1 Sl#9 Ch#10 HSCIN pl#1 [X1] id#6 sig#0 [ADC+] (10 X1P-06) + 11, 1, 8, 0 !ADC ROC#1 Sl#9 Ch#11 HSCIN pl#1 [X1] id#8 sig#0 [ADC+] (11 X1P-08) + 12, 1, 10, 0 !ADC ROC#1 Sl#9 Ch#12 HSCIN pl#1 [X1] id#10 sig#0 [ADC+] (12 X1P-10) + 13, 1, 12, 0 !ADC ROC#1 Sl#9 Ch#13 HSCIN pl#1 [X1] id#12 sig#0 [ADC+] (13 X1P-12) + 14, 1, 14, 0 !ADC ROC#1 Sl#9 Ch#14 HSCIN pl#1 [X1] id#14 sig#0 [ADC+] (14 X1P-14) + 15, 1, 16, 0 !ADC ROC#1 Sl#9 Ch#15 HSCIN pl#1 [X1] id#16 sig#0 [ADC+] (15 X1P-16) +! + 16, 1, 1, 1 !ADC ROC#1 Sl#9 Ch#16 HSCIN pl#1 [X1] id#1 sig#1 [ADC-] (16 X1N-01) + 17, 1, 3, 1 !ADC ROC#1 Sl#9 Ch#17 HSCIN pl#1 [X1] id#3 sig#1 [ADC-] (17 X1N-03) + 18, 1, 5, 1 !ADC ROC#1 Sl#9 Ch#18 HSCIN pl#1 [X1] id#5 sig#1 [ADC-] (18 X1N-05) + 19, 1, 7, 1 !ADC ROC#1 Sl#9 Ch#19 HSCIN pl#1 [X1] id#7 sig#1 [ADC-] (19 X1N-07) + 20, 1, 9, 1 !ADC ROC#1 Sl#9 Ch#20 HSCIN pl#1 [X1] id#9 sig#1 [ADC-] (20 X1N-09) + 21, 1, 11, 1 !ADC ROC#1 Sl#9 Ch#21 HSCIN pl#1 [X1] id#11 sig#1 [ADC-] (21 X1N-11) + 22, 1, 13, 1 !ADC ROC#1 Sl#9 Ch#22 HSCIN pl#1 [X1] id#13 sig#1 [ADC-] (22 X1N-13) + 23, 1, 15, 1 !ADC ROC#1 Sl#9 Ch#23 HSCIN pl#1 [X1] id#15 sig#1 [ADC-] (23 X1N-15) + 24, 1, 2, 1 !ADC ROC#1 Sl#9 Ch#24 HSCIN pl#1 [X1] id#2 sig#1 [ADC-] (24 X1N-02) + 25, 1, 4, 1 !ADC ROC#1 Sl#9 Ch#25 HSCIN pl#1 [X1] id#4 sig#1 [ADC-] (25 X1N-04) + 26, 1, 6, 1 !ADC ROC#1 Sl#9 Ch#26 HSCIN pl#1 [X1] id#6 sig#1 [ADC-] (26 X1N-06) + 27, 1, 8, 1 !ADC ROC#1 Sl#9 Ch#27 HSCIN pl#1 [X1] id#8 sig#1 [ADC-] (27 X1N-08) + 28, 1, 10, 1 !ADC ROC#1 Sl#9 Ch#28 HSCIN pl#1 [X1] id#10 sig#1 [ADC-] (28 X1N-10) + 29, 1, 12, 1 !ADC ROC#1 Sl#9 Ch#29 HSCIN pl#1 [X1] id#12 sig#1 [ADC-] (29 X1N-12) + 30, 1, 14, 1 !ADC ROC#1 Sl#9 Ch#30 HSCIN pl#1 [X1] id#14 sig#1 [ADC-] (30 X1N-14) + 31, 1, 16, 1 !ADC ROC#1 Sl#9 Ch#31 HSCIN pl#1 [X1] id#16 sig#1 [ADC-] (31 X1N-16) +! + 32, 2, 1, 0 !ADC ROC#1 Sl#9 Ch#32 HSCIN pl#2 [Y1] id#1 sig#0 [ADC+] (32 Y1P-01) + 33, 2, 3, 0 !ADC ROC#1 Sl#9 Ch#33 HSCIN pl#2 [Y1] id#3 sig#0 [ADC+] (33 Y1P-03) + 34, 2, 5, 0 !ADC ROC#1 Sl#9 Ch#34 HSCIN pl#2 [Y1] id#5 sig#0 [ADC+] (34 Y1P-05) + 35, 2, 7, 0 !ADC ROC#1 Sl#9 Ch#35 HSCIN pl#2 [Y1] id#7 sig#0 [ADC+] (35 Y1P-07) + 36, 2, 9, 0 !ADC ROC#1 Sl#9 Ch#36 HSCIN pl#2 [Y1] id#9 sig#0 [ADC+] (36 Y1P-09) +! 37 !ADC ROC#1 Sl#9 Ch#37 unused +! 38 !ADC ROC#1 Sl#9 Ch#38 unused +! 39 !ADC ROC#1 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#1 Sl#9 Ch#40 HSCIN pl#2 [Y1] id#2 sig#0 [ADC+] (40 Y1P-02) + 41, 2, 4, 0 !ADC ROC#1 Sl#9 Ch#41 HSCIN pl#2 [Y1] id#4 sig#0 [ADC+] (41 Y1P-04) + 42, 2, 6, 0 !ADC ROC#1 Sl#9 Ch#42 HSCIN pl#2 [Y1] id#6 sig#0 [ADC+] (42 Y1P-06) + 43, 2, 8, 0 !ADC ROC#1 Sl#9 Ch#43 HSCIN pl#2 [Y1] id#8 sig#0 [ADC+] (43 Y1P-08) + 44, 2, 10, 0 !ADC ROC#1 Sl#9 Ch#44 HSCIN pl#2 [Y1] id#10 sig#0 [ADC+] (44 Y1P-10) +! 45 !ADC ROC#1 Sl#9 Ch#45 unused +! 46 !ADC ROC#1 Sl#9 Ch#46 unused +! 47 !ADC ROC#1 Sl#9 Ch#47 unused +! + 48, 2, 1, 1 !ADC ROC#1 Sl#9 Ch#48 HSCIN pl#2 [Y1] id#1 sig#1 [ADC-] (48 Y1N-01) + 49, 2, 3, 1 !ADC ROC#1 Sl#9 Ch#49 HSCIN pl#2 [Y1] id#3 sig#1 [ADC-] (49 Y1N-03) + 50, 2, 5, 1 !ADC ROC#1 Sl#9 Ch#50 HSCIN pl#2 [Y1] id#5 sig#1 [ADC-] (50 Y1N-05) + 51, 2, 7, 1 !ADC ROC#1 Sl#9 Ch#51 HSCIN pl#2 [Y1] id#7 sig#1 [ADC-] (51 Y1N-07) + 52, 2, 9, 1 !ADC ROC#1 Sl#9 Ch#52 HSCIN pl#2 [Y1] id#9 sig#1 [ADC-] (52 Y1N-09) +! 53 !ADC ROC#1 Sl#9 Ch#53 unused +! 54 !ADC ROC#1 Sl#9 Ch#54 unused +! 55 !ADC ROC#1 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#1 Sl#9 Ch#56 HSCIN pl#2 [Y1] id#2 sig#1 [ADC-] (56 Y1N-02) + 57, 2, 4, 1 !ADC ROC#1 Sl#9 Ch#57 HSCIN pl#2 [Y1] id#4 sig#1 [ADC-] (57 Y1N-04) + 58, 2, 6, 1 !ADC ROC#1 Sl#9 Ch#58 HSCIN pl#2 [Y1] id#6 sig#1 [ADC-] (58 Y1N-06) + 59, 2, 8, 1 !ADC ROC#1 Sl#9 Ch#59 HSCIN pl#2 [Y1] id#8 sig#1 [ADC-] (59 Y1N-08) + 60, 2, 10, 1 !ADC ROC#1 Sl#9 Ch#60 HSCIN pl#2 [Y1] id#10 sig#1 [ADC-] (60 Y1N-10) +! 61 !ADC ROC#1 Sl#9 Ch#62 unused +! 62 !ADC ROC#1 Sl#9 Ch#62 unused +! 63 !ADC ROC#1 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#1 Sl#7 Ch#0 HSCIN pl#3 [X2] id#1 sig#0 [ADC+] (0 X2P-01) + 1, 3, 3, 0 !ADC ROC#1 Sl#7 Ch#1 HSCIN pl#3 [X2] id#3 sig#0 [ADC+] (1 X2P-03) + 2, 3, 5, 0 !ADC ROC#1 Sl#7 Ch#2 HSCIN pl#3 [X2] id#5 sig#0 [ADC+] (2 X2P-05) + 3, 3, 7, 0 !ADC ROC#1 Sl#7 Ch#3 HSCIN pl#3 [X2] id#7 sig#0 [ADC+] (3 X2P-07) + 4, 3, 9, 0 !ADC ROC#1 Sl#7 Ch#4 HSCIN pl#3 [X2] id#9 sig#0 [ADC+] (4 X2P-09) + 5, 3, 11, 0 !ADC ROC#1 Sl#7 Ch#5 HSCIN pl#3 [X2] id#11 sig#0 [ADC+] (5 X2P-11) + 6, 3, 13, 0 !ADC ROC#1 Sl#7 Ch#6 HSCIN pl#3 [X2] id#13 sig#0 [ADC+] (6 X2P-13) + 7, 3, 15, 0 !ADC ROC#1 Sl#7 Ch#7 HSCIN pl#3 [X2] id#15 sig#0 [ADC+] (7 X2P-15) + 8, 3, 2, 0 !ADC ROC#1 Sl#7 Ch#8 HSCIN pl#3 [X2] id#2 sig#0 [ADC+] (8 X2P-02) + 9, 3, 4, 0 !ADC ROC#1 Sl#7 Ch#9 HSCIN pl#3 [X2] id#4 sig#0 [ADC+] (9 X2P-04) + 10, 3, 6, 0 !ADC ROC#1 Sl#7 Ch#10 HSCIN pl#3 [X2] id#6 sig#0 [ADC+] (10 X2P-06) + 11, 3, 8, 0 !ADC ROC#1 Sl#7 Ch#11 HSCIN pl#3 [X2] id#8 sig#0 [ADC+] (11 X2P-08) + 12, 3, 10, 0 !ADC ROC#1 Sl#7 Ch#12 HSCIN pl#3 [X2] id#10 sig#0 [ADC+] (12 X2P-10) + 13, 3, 12, 0 !ADC ROC#1 Sl#7 Ch#13 HSCIN pl#3 [X2] id#12 sig#0 [ADC+] (13 X2P-12) + 14, 3, 14, 0 !ADC ROC#1 Sl#7 Ch#14 HSCIN pl#3 [X2] id#14 sig#0 [ADC+] (14 X2P-14) + 15, 3, 16, 0 !ADC ROC#1 Sl#7 Ch#15 HSCIN pl#3 [X2] id#16 sig#0 [ADC+] (15 X2P-16) +! + 16, 3, 1, 1 !ADC ROC#1 Sl#7 Ch#16 HSCIN pl#3 [X2] id#1 sig#1 [ADC-] (16 X2N-01) + 17, 3, 3, 1 !ADC ROC#1 Sl#7 Ch#17 HSCIN pl#3 [X2] id#3 sig#1 [ADC-] (17 X2N-03) + 18, 3, 5, 1 !ADC ROC#1 Sl#7 Ch#18 HSCIN pl#3 [X2] id#5 sig#1 [ADC-] (18 X2N-05) + 19, 3, 7, 1 !ADC ROC#1 Sl#7 Ch#19 HSCIN pl#3 [X2] id#7 sig#1 [ADC-] (19 X2N-07) + 20, 3, 9, 1 !ADC ROC#1 Sl#7 Ch#20 HSCIN pl#3 [X2] id#9 sig#1 [ADC-] (20 X2N-09) + 21, 3, 11, 1 !ADC ROC#1 Sl#7 Ch#21 HSCIN pl#3 [X2] id#11 sig#1 [ADC-] (21 X2N-11) + 22, 3, 13, 1 !ADC ROC#1 Sl#7 Ch#22 HSCIN pl#3 [X2] id#13 sig#1 [ADC-] (22 X2N-13) + 23, 3, 15, 1 !ADC ROC#1 Sl#7 Ch#23 HSCIN pl#3 [X2] id#15 sig#1 [ADC-] (23 X2N-15) +! + 24, 3, 2, 1 !ADC ROC#1 Sl#7 Ch#24 HSCIN pl#3 [X2] id#2 sig#1 [ADC-] (24 X2N-02) + 25, 3, 4, 1 !ADC ROC#1 Sl#7 Ch#25 HSCIN pl#3 [X2] id#4 sig#1 [ADC-] (25 X2N-04) + 26, 3, 6, 1 !ADC ROC#1 Sl#7 Ch#26 HSCIN pl#3 [X2] id#6 sig#1 [ADC-] (26 X2N-06) + 27, 3, 8, 1 !ADC ROC#1 Sl#7 Ch#27 HSCIN pl#3 [X2] id#8 sig#1 [ADC-] (27 X2N-08) + 28, 3, 10, 1 !ADC ROC#1 Sl#7 Ch#28 HSCIN pl#3 [X2] id#10 sig#1 [ADC-] (28 X2N-10) + 29, 3, 12, 1 !ADC ROC#1 Sl#7 Ch#29 HSCIN pl#3 [X2] id#12 sig#1 [ADC-] (29 X2N-12) + 30, 3, 14, 1 !ADC ROC#1 Sl#7 Ch#30 HSCIN pl#3 [X2] id#14 sig#1 [ADC-] (30 X2N-14) + 31, 3, 16, 1 !ADC ROC#1 Sl#7 Ch#31 HSCIN pl#3 [X2] id#16 sig#1 [ADC-] (31 X2N-16) + 32, 4, 1, 0 !ADC ROC#1 Sl#7 Ch#32 HSCIN pl#4 [Y2] id#1 sig#0 [ADC+] (32 Y2P-01) + 33, 4, 3, 0 !ADC ROC#1 Sl#7 Ch#33 HSCIN pl#4 [Y2] id#3 sig#0 [ADC+] (33 Y2P-03) + 34, 4, 5, 0 !ADC ROC#1 Sl#7 Ch#34 HSCIN pl#4 [Y2] id#5 sig#0 [ADC+] (34 Y2P-05) + 35, 4, 7, 0 !ADC ROC#1 Sl#7 Ch#35 HSCIN pl#4 [Y2] id#7 sig#0 [ADC+] (35 Y2P-07) + 36, 4, 9, 0 !ADC ROC#1 Sl#7 Ch#36 HSCIN pl#4 [Y2] id#9 sig#0 [ADC+] (36 Y2P-09) +! 37 !ADC ROC#1 Sl#7 Ch#37 unused +! 38 !ADC ROC#1 Sl#7 Ch#38 unused +! 39 !ADC ROC#1 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#1 Sl#7 Ch#40 HSCIN pl#4 [Y2] id#2 sig#0 [ADC+] (40 Y2P-02) + 41, 4, 4, 0 !ADC ROC#1 Sl#7 Ch#41 HSCIN pl#4 [Y2] id#4 sig#0 [ADC+] (41 Y2P-04) + 42, 4, 6, 0 !ADC ROC#1 Sl#7 Ch#42 HSCIN pl#4 [Y2] id#6 sig#0 [ADC+] (42 Y2P-06) + 43, 4, 8, 0 !ADC ROC#1 Sl#7 Ch#43 HSCIN pl#4 [Y2] id#8 sig#0 [ADC+] (43 Y2P-08) + 44, 4, 10, 0 !ADC ROC#1 Sl#7 Ch#44 HSCIN pl#4 [Y2] id#10 sig#0 [ADC+] (44 Y2P-10) +! 45 !ADC ROC#1 Sl#7 Ch#45 unused +! 46 !ADC ROC#1 Sl#7 Ch#46 unused +! 47 !ADC ROC#1 Sl#7 Ch#47 unused + 48, 4, 1, 1 !ADC ROC#1 Sl#7 Ch#48 HSCIN pl#4 [Y2] id#1 sig#1 [ADC-] (48 Y2N-01) + 49, 4, 3, 1 !ADC ROC#1 Sl#7 Ch#49 HSCIN pl#4 [Y2] id#3 sig#1 [ADC-] (49 Y2N-03) + 50, 4, 5, 1 !ADC ROC#1 Sl#7 Ch#50 HSCIN pl#4 [Y2] id#5 sig#1 [ADC-] (50 Y2N-05) + 51, 4, 7, 1 !ADC ROC#1 Sl#7 Ch#51 HSCIN pl#4 [Y2] id#7 sig#1 [ADC-] (51 Y2N-07) + 52, 4, 9, 1 !ADC ROC#1 Sl#7 Ch#52 HSCIN pl#4 [Y2] id#9 sig#1 [ADC-] (52 Y2N-09) +! 53 !ADC ROC#1 Sl#7 Ch#53 unused +! 54 !ADC ROC#1 Sl#7 Ch#54 unused +! 55 !ADC ROC#1 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#1 Sl#7 Ch#56 HSCIN pl#4 [Y2] id#2 sig#1 [ADC-] (56 Y2N-02) + 57, 4, 4, 1 !ADC ROC#1 Sl#7 Ch#57 HSCIN pl#4 [Y2] id#4 sig#1 [ADC-] (57 Y2N-04) + 58, 4, 6, 1 !ADC ROC#1 Sl#7 Ch#58 HSCIN pl#4 [Y2] id#6 sig#1 [ADC-] (58 Y2N-06) + 59, 4, 8, 1 !ADC ROC#1 Sl#7 Ch#59 HSCIN pl#4 [Y2] id#8 sig#1 [ADC-] (59 Y2N-08) + 60, 4, 10, 1 !ADC ROC#1 Sl#7 Ch#60 HSCIN pl#4 [Y2] id#10 sig#1 [ADC-] (60 Y2N-10) +! 61 !ADC ROC#1 Sl#7 Ch#61 unused +! 62 !ADC ROC#1 Sl#7 Ch#62 unused +! 63 !ADC ROC#1 Sl#7 Ch#63 unused +! +!--------------------------------------------------------------------------------- + detector= 4 !HCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#1 Sl#1 Ch#0 HCAL col#1 row#1 (0 A-01) + 1, 1, 2 !ADC ROC#1 Sl#1 Ch#1 HCAL col#1 row#2 (1 A-02) + 2, 1, 3 !ADC ROC#1 Sl#1 Ch#2 HCAL col#1 row#3 (2 A-03) + 3, 1, 4 !ADC ROC#1 Sl#1 Ch#3 HCAL col#1 row#4 (3 A-04) + 4, 1, 5 !ADC ROC#1 Sl#1 Ch#4 HCAL col#1 row#5 (4 A-05) + 5, 1, 6 !ADC ROC#1 Sl#1 Ch#5 HCAL col#1 row#6 (5 A-06) + 6, 1, 7 !ADC ROC#1 Sl#1 Ch#6 HCAL col#1 row#7 (6 A-07) + 7, 1, 8 !ADC ROC#1 Sl#1 Ch#7 HCAL col#1 row#8 (7 A-08) + 8, 1, 9 !ADC ROC#1 Sl#1 Ch#8 HCAL col#1 row#9 (8 A-09) + 9, 1, 10 !ADC ROC#1 Sl#1 Ch#9 HCAL col#1 row#10 (9 A-10) + 10, 1, 11 !ADC ROC#1 Sl#1 Ch#10 HCAL col#1 row#11 (10 A-11) + 11, 1, 12 !ADC ROC#1 Sl#1 Ch#11 HCAL col#1 row#12 (11 A-12) + 12, 1, 13 !ADC ROC#1 Sl#1 Ch#12 HCAL col#1 row#13 (12 A-13) +! 13 !ADC ROC#1 Sl#1 Ch#13 unused +! 14 !ADC ROC#1 Sl#1 Ch#14 unused +! 15 !ADC ROC#1 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#1 Sl#1 Ch#16 HCAL col#2 row#1 (16 B-01) + 17, 2, 2 !ADC ROC#1 Sl#1 Ch#17 HCAL col#2 row#2 (17 B-02) + 18, 2, 3 !ADC ROC#1 Sl#1 Ch#18 HCAL col#2 row#3 (18 B-03) + 19, 2, 4 !ADC ROC#1 Sl#1 Ch#19 HCAL col#2 row#4 (19 B-04) + 20, 2, 5 !ADC ROC#1 Sl#1 Ch#20 HCAL col#2 row#5 (20 B-05) + 21, 2, 6 !ADC ROC#1 Sl#1 Ch#21 HCAL col#2 row#6 (21 B-06) + 22, 2, 7 !ADC ROC#1 Sl#1 Ch#22 HCAL col#2 row#7 (22 B-07) + 23, 2, 8 !ADC ROC#1 Sl#1 Ch#23 HCAL col#2 row#8 (23 B-08) + 24, 2, 9 !ADC ROC#1 Sl#1 Ch#24 HCAL col#2 row#9 (24 B-09) + 25, 2, 10 !ADC ROC#1 Sl#1 Ch#25 HCAL col#2 row#10 (25 B-10) + 26, 2, 11 !ADC ROC#1 Sl#1 Ch#26 HCAL col#2 row#11 (26 B-11) + 27, 2, 12 !ADC ROC#1 Sl#1 Ch#27 HCAL col#2 row#12 (27 B-12) + 28, 2, 13 !ADC ROC#1 Sl#1 Ch#28 HCAL col#2 row#13 (28 B-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused + 32, 3, 1 !ADC ROC#1 Sl#1 Ch#32 HCAL col#3 row#1 (32 C-01) + 33, 3, 2 !ADC ROC#1 Sl#1 Ch#33 HCAL col#3 row#2 (33 C-02) + 34, 3, 3 !ADC ROC#1 Sl#1 Ch#34 HCAL col#3 row#3 (34 C-03) + 35, 3, 4 !ADC ROC#1 Sl#1 Ch#35 HCAL col#3 row#4 (35 C-04) + 36, 3, 5 !ADC ROC#1 Sl#1 Ch#36 HCAL col#3 row#5 (36 C-05) + 37, 3, 6 !ADC ROC#1 Sl#1 Ch#37 HCAL col#3 row#6 (37 C-06) + 38, 3, 7 !ADC ROC#1 Sl#1 Ch#38 HCAL col#3 row#7 (38 C-07) + 39, 3, 8 !ADC ROC#1 Sl#1 Ch#39 HCAL col#3 row#8 (39 C-08) + 40, 3, 9 !ADC ROC#1 Sl#1 Ch#40 HCAL col#3 row#9 (40 C-09) + 41, 3, 10 !ADC ROC#1 Sl#1 Ch#41 HCAL col#3 row#10 (41 C-10) + 42, 3, 11 !ADC ROC#1 Sl#1 Ch#42 HCAL col#3 row#11 (42 C-11) + 43, 3, 12 !ADC ROC#1 Sl#1 Ch#43 HCAL col#3 row#12 (43 C-12) + 44, 3, 13 !ADC ROC#1 Sl#1 Ch#44 HCAL col#3 row#13 (44 C-13) +! 45 !ADC ROC#1 Sl#1 Ch#45 unused +! 46 !ADC ROC#1 Sl#1 Ch#46 unused +! 47 !ADC ROC#1 Sl#1 Ch#47 unused + 48, 4, 1 !ADC ROC#1 Sl#1 Ch#48 HCAL col#4 row#1 (48 D-01) + 49, 4, 2 !ADC ROC#1 Sl#1 Ch#49 HCAL col#4 row#2 (49 D-02) + 50, 4, 3 !ADC ROC#1 Sl#1 Ch#50 HCAL col#4 row#3 (50 D-03) + 51, 4, 4 !ADC ROC#1 Sl#1 Ch#51 HCAL col#4 row#4 (51 D-04) + 52, 4, 5 !ADC ROC#1 Sl#1 Ch#52 HCAL col#4 row#5 (52 D-05) + 53, 4, 6 !ADC ROC#1 Sl#1 Ch#53 HCAL col#4 row#6 (53 D-06) + 54, 4, 7 !ADC ROC#1 Sl#1 Ch#54 HCAL col#4 row#7 (54 D-07) + 55, 4, 8 !ADC ROC#1 Sl#1 Ch#55 HCAL col#4 row#8 (55 D-08) + 56, 4, 9 !ADC ROC#1 Sl#1 Ch#56 HCAL col#4 row#9 (56 D-09) + 57, 4, 10 !ADC ROC#1 Sl#1 Ch#57 HCAL col#4 row#10 (57 D-10) + 58, 4, 11 !ADC ROC#1 Sl#1 Ch#58 HCAL col#4 row#11 (58 D-11) + 59, 4, 12 !ADC ROC#1 Sl#1 Ch#59 HCAL col#4 row#12 (59 D-12) + 60, 4, 13 !ADC ROC#1 Sl#1 Ch#60 HCAL col#4 row#13 (60 D-13) +! +! 61 !ADC ROC#1 Sl#1 Ch#61 unused + + detector= 5 !HMISC - scintillator (ADCs) - behind calorimeter + 62, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). + 63, 2, 2, 0 ! +! +detector= 4 !HCAL +Slot= 5 ! ADC Second set of tubes on first two layers + 0, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#0 HCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#1 HCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#2 HCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#3 HCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#4 HCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#5 HCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#6 HCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#7 HCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#1 Sl#5 Ch#8 HCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#1 Sl#5 Ch#9 HCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#1 Sl#5 Ch#10 HCAL col#1 row#11 (10 An-11) + 11, 1, 12, 1 !ADC ROC#1 Sl#5 Ch#11 HCAL col#1 row#12 (11 An-112) + 12, 1, 13, 1 !ADC ROC#1 Sl#5 Ch#12 HCAL col#1 row#13 (12 An-13) +! 13 !ADC ROC#1 Sl#5 Ch#13 unused +! 14 !ADC ROC#1 Sl#5 Ch#14 unused +! 15 !ADC ROC#1 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#1 Sl#5 Ch#16 HCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#1 Sl#5 Ch#17 HCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#1 Sl#5 Ch#18 HCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#1 Sl#5 Ch#19 HCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#1 Sl#5 Ch#20 HCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#1 Sl#5 Ch#21 HCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#1 Sl#5 Ch#22 HCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#1 Sl#5 Ch#23 HCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#1 Sl#5 Ch#24 HCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#1 Sl#5 Ch#25 HCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#1 Sl#5 Ch#26 HCAL col#2 row#11 (26 Bn-11) + 27, 2, 12, 1 !ADC ROC#1 Sl#5 Ch#27 HCAL col#2 row#12 (27 Bn-12) + 28, 2, 13, 1 !ADC ROC#1 Sl#5 Ch#28 HCAL col#2 row#13 (28 Bn-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused +! +!================================================================== +!!!!!!!!!!!!!!!!!!!!!!! AEROGEL ADC !!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! + detector = 7 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! +!Slot= 5 ! ADC +! May be will use spare channels HCAL ADC for aerogel (Hamlet, 2002/10/16) +!48, 1, 1, 0 !ADC ROC#1 Sl#5 Ch#48 signal pos 1 +!49, 1, 2, 0 !ADC ROC#1 Sl#5 Ch#48signal pos 2 +!50, 1, 3, 0 !ADC ROC#1 Sl#5 Ch#50 signal pos 3 +!51, 1, 4, 0 !ADC ROC#1 Sl#5 Ch#51 signal pos 4 +!52, 1, 5, 0 !ADC ROC#1 Sl#5 Ch#52 signal pos 5 +!53, 1, 6, 0 !ADC ROC#1 Sl#5 Ch#53 signal pos 6 +!54, 1, 7, 0 !ADC ROC#1 Sl#5 Ch#54 signal pos 7 +!55, 1, 8, 0 !ADC ROC#1 Sl#5 Ch#55 signal pos 8 +!56, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#56 signal neg 1 +!57, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#57 signal neg 2 +!58, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#58 signal neg 3 +!59, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#59 signal neg 4 +!60, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#60 signal neg 5 +!61, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#61 signal neg 6 +!62, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#62 signal neg 7 +!63, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#63 signal neg 8 +! +! detector = 7 +! Nsubadd= 64 +! MASK= 3FFFx +! BSUB= 17 + + Slot= 11 ! ADC +! Additional new ADC for aerogel (Hamlet, 2002/10/17) + 0, 1, 1, 0 !ADC ROC#1 Sl#11 Ch#0 signal pos 1 + 1, 1, 2, 0 !ADC ROC#1 Sl#11 Ch#1 signal pos 2 + 2, 1, 3, 0 !ADC ROC#1 Sl#11 Ch#2 signal pos 3 + 3, 1, 4, 0 !ADC ROC#1 Sl#11 Ch#3 signal pos 4 + 4, 1, 5, 0 !ADC ROC#1 Sl#11 Ch#4 signal pos 5 + 5, 1, 6, 0 !ADC ROC#1 Sl#11 Ch#5 signal pos 6 + 6, 1, 7, 0 !ADC ROC#1 Sl#11 Ch#6 signal pos 7 + 7, 1, 8, 0 !ADC ROC#1 Sl#11 Ch#7 signal pos 8 + 8, 1, 1, 1 !ADC ROC#1 Sl#11 Ch#8 signal neg 1 + 9, 1, 2, 1 !ADC ROC#1 Sl#11 Ch#9 signal neg 2 + 10, 1, 3, 1 !ADC ROC#1 Sl#11 Ch#10 signal neg 3 + 11, 1, 4, 1 !ADC ROC#1 Sl#11 Ch#11 signal neg 4 + 12, 1, 5, 1 !ADC ROC#1 Sl#11 Ch#12 signal neg 5 + 13, 1, 6, 1 !ADC ROC#1 Sl#11 Ch#13 signal neg 6 + 14, 1, 7, 1 !ADC ROC#1 Sl#11 Ch#14 signal neg 7 + 15, 1, 8, 1 !ADC ROC#1 Sl#11 Ch#15 signal neg 8 +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!----------------------------------------------------------------- + detector= 3 !HCER +! + Slot= 3 + 0, 1, 1 !ADC ROC#1 Sl#3 Ch#0 HCER tube#1 (C1) + 1, 1, 2 !ADC ROC#1 Sl#3 Ch#1 HCER tube#2 (C2) +! 2 !ADC ROC#1 Sl#3 Ch#2 unused +! 3 !ADC ROC#1 Sl#3 Ch#3 unused +! 4 !ADC ROC#1 Sl#3 Ch#4 unused +! 5 !ADC ROC#1 Sl#3 Ch#5 unused +! 6 !ADC ROC#1 Sl#3 Ch#6 unused +! 7 !ADC ROC#1 Sl#3 Ch#7 unused +! 8 !ADC ROC#1 Sl#3 Ch#8 unused +! 9 !ADC ROC#1 Sl#3 Ch#9 unused +! 10 !ADC ROC#1 Sl#3 Ch#10 unused +! 11 !ADC ROC#1 Sl#3 Ch#11 unused +! 12 !ADC ROC#1 Sl#3 Ch#12 unused +! 13 !ADC ROC#1 Sl#3 Ch#13 unused +! 14 !ADC ROC#1 Sl#3 Ch#14 unused +! 15 !ADC ROC#1 Sl#3 Ch#15 unused +! 16 !ADC ROC#1 Sl#3 Ch#16 unused +! 17 !ADC ROC#1 Sl#3 Ch#17 unused +! 18 !ADC ROC#1 Sl#3 Ch#18 unused +! 19 !ADC ROC#1 Sl#3 Ch#19 unused +! 20 !ADC ROC#1 Sl#3 Ch#20 unused +! 21 !ADC ROC#1 Sl#3 Ch#21 unused +! 22 !ADC ROC#1 Sl#3 Ch#22 unused +! 23 !ADC ROC#1 Sl#3 Ch#23 unused +! 24 !ADC ROC#1 Sl#3 Ch#24 unused +! 25 !ADC ROC#1 Sl#3 Ch#25 unused +! 26 !ADC ROC#1 Sl#3 Ch#26 unused +! 27 !ADC ROC#1 Sl#3 Ch#27 unused +! 28 !ADC ROC#1 Sl#3 Ch#28 unused +! 29 !ADC ROC#1 Sl#3 Ch#29 unused +! 30 !ADC ROC#1 Sl#3 Ch#30 unused +! 31 !ADC ROC#1 Sl#3 Ch#31 unused +! 32 !ADC ROC#1 Sl#3 Ch#32 unused +! 33 !ADC ROC#1 Sl#3 Ch#33 unused +! 34 !ADC ROC#1 Sl#3 Ch#34 unused +! 35 !ADC ROC#1 Sl#3 Ch#35 unused +! 36 !ADC ROC#1 Sl#3 Ch#36 unused +! 37 !ADC ROC#1 Sl#3 Ch#37 unused +! 38 !ADC ROC#1 Sl#3 Ch#38 unused +! 39 !ADC ROC#1 Sl#3 Ch#39 unused +! 40 !ADC ROC#1 Sl#3 Ch#40 unused +! 41 !ADC ROC#1 Sl#3 Ch#41 unused +! 42 !ADC ROC#1 Sl#3 Ch#42 unused +! 43 !ADC ROC#1 Sl#3 Ch#43 unused +! 44 !ADC ROC#1 Sl#3 Ch#44 unused +! 45 !ADC ROC#1 Sl#3 Ch#45 unused +! 46 !ADC ROC#1 Sl#3 Ch#46 unused +! 47 !ADC ROC#1 Sl#3 Ch#47 unused +!detector= 6 ! GMISC +!!! Use "plane" 2 for the PMT's on the floor (BLM's) +!48, 2, 1, 0 ! Special PMT signal ch #1 +!49, 2, 2, 0 ! Special PMT signal ch #1 +!50, 2, 3, 0 ! Special PMT signal ch #1 +!51, 2, 4, 0 ! Special PMT signal ch #1 +!52, 2, 5, 0 ! Special PMT signal ch #1 +!53, 2, 6, 0 ! Special PMT signal ch #1 +!54, 2, 7, 0 ! Special PMT signal ch #1 +!55, 2, 8, 0 ! Special PMT signal ch #1 +! 48 !ADC ROC#1 Sl#3 Ch#48 unused +! 49 !ADC ROC#1 Sl#3 Ch#49 unused +! 50 !ADC ROC#1 Sl#3 Ch#50 unused +! 51 !ADC ROC#1 Sl#3 Ch#51 unused +! 52 !ADC ROC#1 Sl#3 Ch#52 unused +! 53 !ADC ROC#1 Sl#3 Ch#53 unused +! 54 !ADC ROC#1 Sl#3 Ch#54 unused +! 55 !ADC ROC#1 Sl#3 Ch#55 unused +! 56 !ADC ROC#1 Sl#3 Ch#56 unused +! 57 !ADC ROC#1 Sl#3 Ch#57 unused +! 58 !ADC ROC#1 Sl#3 Ch#58 unused +! 59 !ADC ROC#1 Sl#3 Ch#59 unused +! 60 !ADC ROC#1 Sl#3 Ch#60 unused +! 61 !ADC ROC#1 Sl#3 Ch#61 unused +! 62 !ADC ROC#1 Sl#3 Ch#62 unused +! 63 !ADC ROC#1 Sl#3 Ch#63 unused +! +! + detector= 6 ! GMISC +! + Slot= 13 +! +! 0, 2, 1, 0 !ADC ROC#1 Sl#15 Ch#0 +! 1, 2, 2, 0 !ADC ROC#1 Sl#15 Ch#1 +! 2, 2, 3, 0 !ADC ROC#1 Sl#15 Ch#2 +! 3, 2, 4, 0 !ADC ROC#1 Sl#15 Ch#3 + 4, 2, 5, 0 !ADC ROC#1 Sl#15 Ch#4 H00A X+ + 5, 2, 6, 0 !ADC ROC#1 Sl#15 Ch#5 H00A X- + 6, 2, 7, 0 !ADC ROC#1 Sl#15 Ch#6 H00A Y+ + 7, 2, 8, 0 !ADC ROC#1 Sl#15 Ch#7 H00A Y- + 8, 2, 9, 0 !ADC ROC#1 Sl#15 Ch#8 H00B X+ + 9, 2, 10, 0 !ADC ROC#1 Sl#15 Ch#9 H00B X- + 10, 2, 11, 0 !ADC ROC#1 Sl#15 Ch#10 H00B Y+ + 11, 2, 12, 0 !ADC ROC#1 Sl#15 Ch#11 H00B Y- +! 12, 2, 13, 0 !ADC ROC#1 Sl#15 Ch#12 Fast Raster X-sync +! 13, 2, 14, 0 !ADC ROC#1 Sl#15 Ch#13 Fast Raster X-signal +! 14, 2, 15, 0 !ADC ROC#1 Sl#15 Ch#14 Fast Raster Y-sync +! 15, 2, 16, 0 !ADC ROC#1 Sl#15 Ch#15 Fast Raster Y-signal +! mkj switch x and y Apr 9,2003 + 14, 2, 13, 0 !ADC ROC#1 Sl#15 Ch#14 Fast Raster X-sync + 15, 2, 14, 0 !ADC ROC#1 Sl#15 Ch#15 Fast Raster X-signal + 12, 2, 15, 0 !ADC ROC#1 Sl#15 Ch#12 Fast Raster Y-sync + 13, 2, 16, 0 !ADC ROC#1 Sl#15 Ch#13 Fast Raster Y-signal + 16, 2, 17, 0 !ADC ROC#1 Sl#15 Ch#16 H00C X+ + 17, 2, 18, 0 !ADC ROC#1 Sl#15 Ch#17 H00C X- + 18, 2, 19, 0 !ADC ROC#1 Sl#15 Ch#18 H00C Y+ + 19, 2, 20, 0 !ADC ROC#1 Sl#15 Ch#19 H00C Y- +! 20 !ADC ROC#1 Sl#15 Ch#20 unused +! 21 !ADC ROC#1 Sl#15 Ch#21 unused + 22, 2, 23, 0 !ADC ROC#1 Sl#15 Ch#22 Raster gate +! 23 !ADC ROC#1 Sl#15 Ch#23 unused +! 24 !ADC ROC#1 Sl#15 Ch#24 unused +! 25 !ADC ROC#1 Sl#15 Ch#25 unused +! 26 !ADC ROC#1 Sl#15 Ch#26 unused +! 27 !ADC ROC#1 Sl#15 Ch#27 unused +! 28 !ADC ROC#1 Sl#15 Ch#28 unused +! 29 !ADC ROC#1 Sl#15 Ch#29 unused +! 30 !ADC ROC#1 Sl#15 Ch#30 unused +! 31 !ADC ROC#1 Sl#15 Ch#31 unused + 32, 2, 32, 0 ! Paul Gueye + 33, 2, 33, 0 ! Paul Gueye + 34, 2, 34, 0 ! Paul Gueye + 35, 2, 35, 0 ! Paul Gueye + 36, 2, 36, 0 ! Paul Gueye + 37, 2, 37, 0 ! Paul Gueye + 38, 2, 38, 0 ! Paul Gueye + 39, 2, 39, 0 ! Paul Gueye + 40, 2, 40, 0 ! Paul Gueye + 41, 2, 41, 0 ! Paul Gueye + 42, 2, 42, 0 ! Paul Gueye + 43, 2, 43, 0 ! Paul Gueye + 44, 2, 44, 0 ! Paul Gueye + 45, 2, 45, 0 ! Paul Gueye + 46, 2, 46, 0 ! Paul Gueye + 47, 2, 47, 0 ! Paul Gueye +! 32 !ADC ROC#1 Sl#15 Ch#32 unused +! 33 !ADC ROC#1 Sl#15 Ch#33 unused +! 34 !ADC ROC#1 Sl#15 Ch#34 unused +! 35 !ADC ROC#1 Sl#15 Ch#35 unused +! 36 !ADC ROC#1 Sl#15 Ch#36 unused +! 37 !ADC ROC#1 Sl#15 Ch#37 unused +! 38 !ADC ROC#1 Sl#15 Ch#38 unused +! 39 !ADC ROC#1 Sl#15 Ch#39 unused +! 40 !ADC ROC#1 Sl#15 Ch#40 unused +! 41 !ADC ROC#1 Sl#15 Ch#41 unused +! 42 !ADC ROC#1 Sl#15 Ch#42 unused +! 43 !ADC ROC#1 Sl#15 Ch#43 unused +! 44 !ADC ROC#1 Sl#15 Ch#44 unused +! 45 !ADC ROC#1 Sl#15 Ch#45 unused +! 46 !ADC ROC#1 Sl#15 Ch#46 unused +! 47 !ADC ROC#1 Sl#15 Ch#47 unused +! 48 !ADC ROC#1 Sl#15 Ch#48 unused +! 49 !ADC ROC#1 Sl#15 Ch#49 unused +! 50 !ADC ROC#1 Sl#15 Ch#50 unused +! 51 !ADC ROC#1 Sl#15 Ch#51 unused +! 52 !ADC ROC#1 Sl#15 Ch#52 unused +! 53 !ADC ROC#1 Sl#15 Ch#53 unused +! 54 !ADC ROC#1 Sl#15 Ch#54 unused +! 55 !ADC ROC#1 Sl#15 Ch#55 unused +! 56 !ADC ROC#1 Sl#15 Ch#56 unused +! 57 !ADC ROC#1 Sl#15 Ch#57 unused +! 58 !ADC ROC#1 Sl#15 Ch#58 unused +! 59 !ADC ROC#1 Sl#15 Ch#59 unused +! 60 !ADC ROC#1 Sl#15 Ch#60 unused +! 61 !ADC ROC#1 Sl#15 Ch#61 unused +! 62 !ADC ROC#1 Sl#15 Ch#62 unused +! 63 !ADC ROC#1 Sl#15 Ch#63 unused +! +!--------------------------------------------------------------------- +!=============================== SOS MAP ============================= +!............ This part copy from replay99 (Hamlet,19 Dec'02)............ +! +! REAL map for SOS Drift Chambers (SDC); J.R.Arrington 20-Mar-1995 +! + ROC= 4 !ReadOutController (crate) for SOS (fbsos) +! + Nsubadd= 96 !assume 96 channel modules + MASK= FFFFx !hex mask - assume LeCroy masking (lowest 13 bits) + BSUB= 17 !begin channel info with bit#17 +! + detector= 11 !SDC +! + slot= 1 !SDC TDC +! +! SDC plane (1) + 0, 1, 1 !chamber 1, U plane, 48 wires. + 1, 1, 2 + 2, 1, 3 + 3, 1, 4 + 4, 1, 5 + 5, 1, 6 + 6, 1, 7 + 7, 1, 8 + 8, 1, 9 + 9, 1, 10 + 10, 1, 11 + 11, 1, 12 + 12, 1, 13 + 13, 1, 14 + 14, 1, 15 + 15, 1, 16 + 16, 1, 17 + 17, 1, 18 + 18, 1, 19 + 19, 1, 20 + 20, 1, 21 + 21, 1, 22 + 22, 1, 23 + 23, 1, 24 + 24, 1, 25 + 25, 1, 26 + 26, 1, 27 + 27, 1, 28 + 28, 1, 29 + 29, 1, 30 + 30, 1, 31 + 31, 1, 32 + 32, 1, 33 + 33, 1, 34 + 34, 1, 35 + 35, 1, 36 + 36, 1, 37 + 37, 1, 38 + 38, 1, 39 + 39, 1, 40 + 40, 1, 41 + 41, 1, 42 + 42, 1, 43 + 43, 1, 44 + 44, 1, 45 + 45, 1, 46 + 46, 1, 47 + 47, 1, 48 + 48, 2, 1 !chamber 1, U' plane, 48 wires. + 49, 2, 2 + 50, 2, 3 + 51, 2, 4 + 52, 2, 5 + 53, 2, 6 + 54, 2, 7 + 55, 2, 8 + 56, 2, 9 + 57, 2, 10 + 58, 2, 11 + 59, 2, 12 + 60, 2, 13 + 61, 2, 14 + 62, 2, 15 + 63, 2, 16 + 64, 2, 17 + 65, 2, 18 + 66, 2, 19 + 67, 2, 20 + 68, 2, 21 + 69, 2, 22 + 70, 2, 23 + 71, 2, 24 + 72, 2, 25 + 73, 2, 26 + 74, 2, 27 + 75, 2, 28 + 76, 2, 29 + 77, 2, 30 + 78, 2, 31 + 79, 2, 32 + 80, 2, 33 + 81, 2, 34 + 82, 2, 35 + 83, 2, 36 + 84, 2, 37 + 85, 2, 38 + 86, 2, 39 + 87, 2, 40 + 88, 2, 41 + 89, 2, 42 + 90, 2, 43 + 91, 2, 44 + 92, 2, 45 + 93, 2, 46 + 94, 2, 47 + 95, 2, 48 +! + slot= 2 !SDC TDC +! +! SDC plane (2) + 0, 5, 1 !chamber 1, V plane, 48 wires. + 1, 5, 2 + 2, 5, 3 + 3, 5, 4 + 4, 5, 5 + 5, 5, 6 + 6, 5, 7 + 7, 5, 8 + 8, 5, 9 + 9, 5, 10 + 10, 5, 11 + 11, 5, 12 + 12, 5, 13 + 13, 5, 14 + 14, 5, 15 + 15, 5, 16 + 16, 5, 17 + 17, 5, 18 + 18, 5, 19 + 19, 5, 20 + 20, 5, 21 + 21, 5, 22 + 22, 5, 23 + 23, 5, 24 + 24, 5, 25 + 25, 5, 26 + 26, 5, 27 + 27, 5, 28 + 28, 5, 29 + 29, 5, 30 + 30, 5, 31 + 31, 5, 32 + 32, 5, 33 + 33, 5, 34 + 34, 5, 35 + 35, 5, 36 + 36, 5, 37 + 37, 5, 38 + 38, 5, 39 + 39, 5, 40 + 40, 5, 41 + 41, 5, 42 + 42, 5, 43 + 43, 5, 44 + 44, 5, 45 + 45, 5, 46 + 46, 5, 47 + 47, 5, 48 + 48, 6, 1 !chamber 1, V' plane, 48 wires. + 49, 6, 2 + 50, 6, 3 + 51, 6, 4 + 52, 6, 5 + 53, 6, 6 + 54, 6, 7 + 55, 6, 8 + 56, 6, 9 + 57, 6, 10 + 58, 6, 11 + 59, 6, 12 + 60, 6, 13 + 61, 6, 14 + 62, 6, 15 + 63, 6, 16 + 64, 6, 17 + 65, 6, 18 + 66, 6, 19 + 67, 6, 20 + 68, 6, 21 + 69, 6, 22 + 70, 6, 23 + 71, 6, 24 + 72, 6, 25 + 73, 6, 26 + 74, 6, 27 + 75, 6, 28 + 76, 6, 29 + 77, 6, 30 + 78, 6, 31 + 79, 6, 32 + 80, 6, 33 + 81, 6, 34 + 82, 6, 35 + 83, 6, 36 + 84, 6, 37 + 85, 6, 38 + 86, 6, 39 + 87, 6, 40 + 88, 6, 41 + 89, 6, 42 + 90, 6, 43 + 91, 6, 44 + 92, 6, 45 + 93, 6, 46 + 94, 6, 47 + 95, 6, 48 +! + slot= 4 !SDC TDC +! +! SDC plane (3) + 0, 3, 1 !chamber 1, X plane, 64 wires. + 1, 3, 2 + 2, 3, 3 + 3, 3, 4 + 4, 3, 5 + 5, 3, 6 + 6, 3, 7 + 7, 3, 8 + 8, 3, 9 + 9, 3, 10 + 10, 3, 11 + 11, 3, 12 + 12, 3, 13 + 13, 3, 14 + 14, 3, 15 + 15, 3, 16 + 16, 3, 17 + 17, 3, 18 + 18, 3, 19 + 19, 3, 20 + 20, 3, 21 + 21, 3, 22 + 22, 3, 23 + 23, 3, 24 + 24, 3, 25 + 25, 3, 26 + 26, 3, 27 + 27, 3, 28 + 28, 3, 29 + 29, 3, 30 + 30, 3, 31 + 31, 3, 32 + 32, 3, 33 + 33, 3, 34 + 34, 3, 35 + 35, 3, 36 + 36, 3, 37 + 37, 3, 38 + 38, 3, 39 + 39, 3, 40 + 40, 3, 41 + 41, 3, 42 + 42, 3, 43 + 43, 3, 44 + 44, 3, 45 + 45, 3, 46 + 46, 3, 47 + 47, 3, 48 + 48, 3, 49 + 49, 3, 50 + 50, 3, 51 + 51, 3, 52 + 52, 3, 53 + 53, 3, 54 + 54, 3, 55 + 55, 3, 56 + 56, 3, 57 + 57, 3, 58 + 58, 3, 59 + 59, 3, 60 + 60, 3, 61 + 61, 3, 62 + 62, 3, 63 + 63, 3, 64 +! + slot= 5 !SDC TDC +! +! SDC plane (4) + 0, 4, 1 !chamber 1, X' plane, 64 wires. + 1, 4, 2 + 2, 4, 3 + 3, 4, 4 + 4, 4, 5 + 5, 4, 6 + 6, 4, 7 + 7, 4, 8 + 8, 4, 9 + 9, 4, 10 + 10, 4, 11 + 11, 4, 12 + 12, 4, 13 + 13, 4, 14 + 14, 4, 15 + 15, 4, 16 + 16, 4, 17 + 17, 4, 18 + 18, 4, 19 + 19, 4, 20 + 20, 4, 21 + 21, 4, 22 + 22, 4, 23 + 23, 4, 24 + 24, 4, 25 + 25, 4, 26 + 26, 4, 27 + 27, 4, 28 + 28, 4, 29 + 29, 4, 30 + 30, 4, 31 + 31, 4, 32 + 32, 4, 33 + 33, 4, 34 + 34, 4, 35 + 35, 4, 36 + 36, 4, 37 + 37, 4, 38 + 38, 4, 39 + 39, 4, 40 + 40, 4, 41 + 41, 4, 42 + 42, 4, 43 + 43, 4, 44 + 44, 4, 45 + 45, 4, 46 + 46, 4, 47 + 47, 4, 48 + 48, 4, 49 + 49, 4, 50 + 50, 4, 51 + 51, 4, 52 + 52, 4, 53 + 53, 4, 54 + 54, 4, 55 + 55, 4, 56 + 56, 4, 57 + 57, 4, 58 + 58, 4, 59 + 59, 4, 60 + 60, 4, 61 + 61, 4, 62 + 62, 4, 63 + 63, 4, 64 +! + slot= 8 !SDC TDC +! +! SDC plane (1) + 0, 7, 1 !chamber 2, U plane, 48 wires. + 1, 7, 2 + 2, 7, 3 + 3, 7, 4 + 4, 7, 5 + 5, 7, 6 + 6, 7, 7 + 7, 7, 8 + 8, 7, 9 + 9, 7, 10 + 10, 7, 11 + 11, 7, 12 + 12, 7, 13 + 13, 7, 14 + 14, 7, 15 + 15, 7, 16 + 16, 7, 17 + 17, 7, 18 + 18, 7, 19 + 19, 7, 20 + 20, 7, 21 + 21, 7, 22 + 22, 7, 23 + 23, 7, 24 + 24, 7, 25 + 25, 7, 26 + 26, 7, 27 + 27, 7, 28 + 28, 7, 29 + 29, 7, 30 + 30, 7, 31 + 31, 7, 32 + 32, 7, 33 + 33, 7, 34 + 34, 7, 35 + 35, 7, 36 + 36, 7, 37 + 37, 7, 38 + 38, 7, 39 + 39, 7, 40 + 40, 7, 41 + 41, 7, 42 + 42, 7, 43 + 43, 7, 44 + 44, 7, 45 + 45, 7, 46 + 46, 7, 47 + 47, 7, 48 + 48, 8, 1 !chamber 2, U' plane, 48 wires. + 49, 8, 2 + 50, 8, 3 + 51, 8, 4 + 52, 8, 5 + 53, 8, 6 + 54, 8, 7 + 55, 8, 8 + 56, 8, 9 + 57, 8, 10 + 58, 8, 11 + 59, 8, 12 + 60, 8, 13 + 61, 8, 14 + 62, 8, 15 + 63, 8, 16 + 64, 8, 17 + 65, 8, 18 + 66, 8, 19 + 67, 8, 20 + 68, 8, 21 + 69, 8, 22 + 70, 8, 23 + 71, 8, 24 + 72, 8, 25 + 73, 8, 26 + 74, 8, 27 + 75, 8, 28 + 76, 8, 29 + 77, 8, 30 + 78, 8, 31 + 79, 8, 32 + 80, 8, 33 + 81, 8, 34 + 82, 8, 35 + 83, 8, 36 + 84, 8, 37 + 85, 8, 38 + 86, 8, 39 + 87, 8, 40 + 88, 8, 41 + 89, 8, 42 + 90, 8, 43 + 91, 8, 44 + 92, 8, 45 + 93, 8, 46 + 94, 8, 47 + 95, 8, 48 +! + slot= 9 !SDC TDC +! +! SDC plane (2) + 0, 11, 1 !chamber 2, V plane, 48 wires. + 1, 11, 2 + 2, 11, 3 + 3, 11, 4 + 4, 11, 5 + 5, 11, 6 + 6, 11, 7 + 7, 11, 8 + 8, 11, 9 + 9, 11, 10 + 10, 11, 11 + 11, 11, 12 + 12, 11, 13 + 13, 11, 14 + 14, 11, 15 + 15, 11, 16 + 16, 11, 17 + 17, 11, 18 + 18, 11, 19 + 19, 11, 20 + 20, 11, 21 + 21, 11, 22 + 22, 11, 23 + 23, 11, 24 + 24, 11, 25 + 25, 11, 26 + 26, 11, 27 + 27, 11, 28 + 28, 11, 29 + 29, 11, 30 + 30, 11, 31 + 31, 11, 32 + 32, 11, 33 + 33, 11, 34 + 34, 11, 35 + 35, 11, 36 + 36, 11, 37 + 37, 11, 38 + 38, 11, 39 + 39, 11, 40 + 40, 11, 41 + 41, 11, 42 + 42, 11, 43 + 43, 11, 44 + 44, 11, 45 + 45, 11, 46 + 46, 11, 47 + 47, 11, 48 + 48, 12, 1 !chamber 2, V' plane, 48 wires. + 49, 12, 2 + 50, 12, 3 + 51, 12, 4 + 52, 12, 5 + 53, 12, 6 + 54, 12, 7 + 55, 12, 8 + 56, 12, 9 + 57, 12, 10 + 58, 12, 11 + 59, 12, 12 + 60, 12, 13 + 61, 12, 14 + 62, 12, 15 + 63, 12, 16 + 64, 12, 17 + 65, 12, 18 + 66, 12, 19 + 67, 12, 20 + 68, 12, 21 + 69, 12, 22 + 70, 12, 23 + 71, 12, 24 + 72, 12, 25 + 73, 12, 26 + 74, 12, 27 + 75, 12, 28 + 76, 12, 29 + 77, 12, 30 + 78, 12, 31 + 79, 12, 32 + 80, 12, 33 + 81, 12, 34 + 82, 12, 35 + 83, 12, 36 + 84, 12, 37 + 85, 12, 38 + 86, 12, 39 + 87, 12, 40 + 88, 12, 41 + 89, 12, 42 + 90, 12, 43 + 91, 12, 44 + 92, 12, 45 + 93, 12, 46 + 94, 12, 47 + 95, 12, 48 +! + slot= 11 !SDC TDC +! +! SDC plane (3) + 0, 9, 1 !chamber 2, X plane, 64 wires. + 1, 9, 2 + 2, 9, 3 + 3, 9, 4 + 4, 9, 5 + 5, 9, 6 + 6, 9, 7 + 7, 9, 8 + 8, 9, 9 + 9, 9, 10 + 10, 9, 11 + 11, 9, 12 + 12, 9, 13 + 13, 9, 14 + 14, 9, 15 + 15, 9, 16 + 16, 9, 17 + 17, 9, 18 + 18, 9, 19 + 19, 9, 20 + 20, 9, 21 + 21, 9, 22 + 22, 9, 23 + 23, 9, 24 + 24, 9, 25 + 25, 9, 26 + 26, 9, 27 + 27, 9, 28 + 28, 9, 29 + 29, 9, 30 + 30, 9, 31 + 31, 9, 32 + 32, 9, 33 + 33, 9, 34 + 34, 9, 35 + 35, 9, 36 + 36, 9, 37 + 37, 9, 38 + 38, 9, 39 + 39, 9, 40 + 40, 9, 41 + 41, 9, 42 + 42, 9, 43 + 43, 9, 44 + 44, 9, 45 + 45, 9, 46 + 46, 9, 47 + 47, 9, 48 + 48, 9, 49 + 49, 9, 50 + 50, 9, 51 + 51, 9, 52 + 52, 9, 53 + 53, 9, 54 + 54, 9, 55 + 55, 9, 56 + 56, 9, 57 + 57, 9, 58 + 58, 9, 59 + 59, 9, 60 + 60, 9, 61 + 61, 9, 62 + 62, 9, 63 + 63, 9, 64 +! + slot= 12 !SDC TDC +! +! SDC plane (4) + 0, 10, 1 !chamber 2, X' plane, 64 wires. + 1, 10, 2 + 2, 10, 3 + 3, 10, 4 + 4, 10, 5 + 5, 10, 6 + 6, 10, 7 + 7, 10, 8 + 8, 10, 9 + 9, 10, 10 + 10, 10, 11 + 11, 10, 12 + 12, 10, 13 + 13, 10, 14 + 14, 10, 15 + 15, 10, 16 + 16, 10, 17 + 17, 10, 18 + 18, 10, 19 + 19, 10, 20 + 20, 10, 21 + 21, 10, 22 + 22, 10, 23 + 23, 10, 24 + 24, 10, 25 + 25, 10, 26 + 26, 10, 27 + 27, 10, 28 + 28, 10, 29 + 29, 10, 30 + 30, 10, 31 + 31, 10, 32 + 32, 10, 33 + 33, 10, 34 + 34, 10, 35 + 35, 10, 36 + 36, 10, 37 + 37, 10, 38 + 38, 10, 39 + 39, 10, 40 + 40, 10, 41 + 41, 10, 42 + 42, 10, 43 + 43, 10, 44 + 44, 10, 45 + 45, 10, 46 + 46, 10, 47 + 47, 10, 48 + 48, 10, 49 + 49, 10, 50 + 50, 10, 51 + 51, 10, 52 + 52, 10, 53 + 53, 10, 54 + 54, 10, 55 + 55, 10, 56 + 56, 10, 57 + 57, 10, 58 + 58, 10, 59 + 59, 10, 60 + 60, 10, 61 + 61, 10, 62 + 62, 10, 63 + 63, 10, 64 +! +! SOS upstairs (SSCIN+SCAL+SCER) map K.B.Beard 13-Jun-1994 +! + ROC= 3 !upstairs SOS crate (fbch2) +! + detector= 12 !SSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 22 ! TDC + 0, 1, 3, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#3 [TDC+] + 1, 1, 5, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#5 [TDC+] + 2, 1, 7, 2 !TDC ROC#3 Sl#23 Ch#2 SSCIN pl#1 [X1] id sig#7 [TDC+] + 3, 1, 9, 2 !TDC ROC#3 Sl#23 Ch#3 SSCIN pl#1 [X1] id sig#9 [TDC+] + 4, 1, 2, 2 !TDC ROC#3 Sl#23 Ch#4 SSCIN pl#1 [X1] id sig#2 [TDC+] + 5, 1, 4, 2 !TDC ROC#3 Sl#23 Ch#5 SSCIN pl#1 [X1] id sig#4 [TDC+] + 6, 1, 6, 2 !TDC ROC#3 Sl#23 Ch#6 SSCIN pl#1 [X1] id sig#6 [TDC+] + 7, 1, 8, 2 !TDC ROC#3 Sl#23 Ch#7 SSCIN pl#1 [X1] id sig#8 [TDC+] + 8, 1, 3, 3 !TDC ROC#3 Sl#23 Ch#8 SSCIN pl#1 [X1] id sig#3 [TDC-] + 9, 1, 5, 3 !TDC ROC#3 Sl#23 Ch#9 SSCIN pl#1 [X1] id sig#5 [TDC-] + 10, 1, 7, 3 !TDC ROC#3 Sl#23 Ch#10 SSCIN pl#1 [X1] id sig#7 [TDC-] + 11, 1, 9, 3 !TDC ROC#3 Sl#23 Ch#11 SSCIN pl#1 [X1] id sig#9 [TDC-] + 12, 1, 2, 3 !TDC ROC#3 Sl#23 Ch#12 SSCIN pl#1 [X1] id sig#2 [TDC-] + 13, 1, 4, 3 !TDC ROC#3 Sl#23 Ch#13 SSCIN pl#1 [X1] id sig#4 [TDC-] + 14, 1, 6, 3 !TDC ROC#3 Sl#23 Ch#14 SSCIN pl#1 [X1] id sig#6 [TDC-] + 15, 1, 8, 3 !TDC ROC#3 Sl#23 Ch#15 SSCIN pl#1 [X1] id sig#8 [TDC-] + 16, 2, 3, 2 !TDC ROC#3 Sl#23 Ch#16 SSCIN pl#2 [Y1] id sig#3 [TDC+] + 17, 2, 5, 2 !TDC ROC#3 Sl#23 Ch#17 SSCIN pl#2 [Y1] id sig#5 [TDC+] + 18, 2, 7, 2 !TDC ROC#3 Sl#23 Ch#18 SSCIN pl#2 [Y1] id sig#7 [TDC+] + 19, 2, 9, 2 !TDC ROC#3 Sl#23 Ch#19 SSCIN pl#2 [Y1] id sig#9 [TDC+] + 20, 2, 2, 2 !TDC ROC#3 Sl#23 Ch#20 SSCIN pl#2 [Y1] id sig#2 [TDC+] + 21, 2, 4, 2 !TDC ROC#3 Sl#23 Ch#21 SSCIN pl#2 [Y1] id sig#4 [TDC+] + 22, 2, 6, 2 !TDC ROC#3 Sl#23 Ch#22 SSCIN pl#2 [Y1] id sig#6 [TDC+] + 23, 2, 8, 2 !TDC ROC#3 Sl#23 Ch#23 SSCIN pl#2 [Y1] id sig#8 [TDC+] + 24, 2, 3, 3 !TDC ROC#3 Sl#23 Ch#24 SSCIN pl#2 [Y1] id sig#3 [TDC-] + 25, 2, 5, 3 !TDC ROC#3 Sl#23 Ch#25 SSCIN pl#2 [Y1] id sig#5 [TDC-] + 26, 2, 7, 3 !TDC ROC#3 Sl#23 Ch#26 SSCIN pl#2 [Y1] id sig#7 [TDC-] + 27, 2, 9, 3 !TDC ROC#3 Sl#23 Ch#27 SSCIN pl#2 [Y1] id sig#9 [TDC-] + 28, 2, 2, 3 !TDC ROC#3 Sl#23 Ch#28 SSCIN pl#2 [Y1] id sig#2 [TDC-] + 29, 2, 4, 3 !TDC ROC#3 Sl#23 Ch#29 SSCIN pl#2 [Y1] id sig#4 [TDC-] + 30, 2, 6, 3 !TDC ROC#3 Sl#23 Ch#30 SSCIN pl#2 [Y1] id sig#6 [TDC-] + 31, 2, 8, 3 !TDC ROC#3 Sl#23 Ch#31 SSCIN pl#2 [Y1] id sig#8 [TDC-] + 32, 4, 3, 2 !TDC ROC#3 Sl#23 Ch#32 SSCIN pl#4 [Y2] id sig#3 [TDC+] + 33, 4, 5, 2 !TDC ROC#3 Sl#23 Ch#33 SSCIN pl#4 [Y2] id sig#5 [TDC+] + 34, 4, 7, 2 !TDC ROC#3 Sl#23 Ch#34 SSCIN pl#4 [Y2] id sig#7 [TDC+] + 35, 4, 9, 2 !TDC ROC#3 Sl#23 Ch#35 SSCIN pl#4 [Y2] id sig#9 [TDC+] + 36, 4, 2, 2 !TDC ROC#3 Sl#23 Ch#36 SSCIN pl#4 [Y2] id sig#2 [TDC+] + 37, 4, 4, 2 !TDC ROC#3 Sl#23 Ch#37 SSCIN pl#4 [Y2] id sig#4 [TDC+] + 38, 4, 6, 2 !TDC ROC#3 Sl#23 Ch#38 SSCIN pl#4 [Y2] id sig#6 [TDC+] + 39, 4, 8, 2 !TDC ROC#3 Sl#23 Ch#39 SSCIN pl#4 [Y2] id sig#8 [TDC+] + 40, 4, 3, 3 !TDC ROC#3 Sl#23 Ch#40 SSCIN pl#4 [Y2] id sig#3 [TDC-] + 41, 4, 5, 3 !TDC ROC#3 Sl#23 Ch#41 SSCIN pl#4 [Y2] id sig#5 [TDC-] + 42, 4, 7, 3 !TDC ROC#3 Sl#23 Ch#42 SSCIN pl#4 [Y2] id sig#7 [TDC-] + 43, 4, 9, 3 !TDC ROC#3 Sl#23 Ch#43 SSCIN pl#4 [Y2] id sig#9 [TDC-] + 44, 4, 2, 3 !TDC ROC#3 Sl#23 Ch#44 SSCIN pl#4 [Y2] id sig#2 [TDC-] + 45, 4, 4, 3 !TDC ROC#3 Sl#23 Ch#45 SSCIN pl#4 [Y2] id sig#4 [TDC-] + 46, 4, 6, 3 !TDC ROC#3 Sl#23 Ch#46 SSCIN pl#4 [Y2] id sig#6 [TDC-] + 47, 4, 8, 3 !TDC ROC#3 Sl#23 Ch#47 SSCIN pl#4 [Y2] id sig#8 [TDC-] + 48, 1, 1, 2 !TDC ROC#3 Sl#23 Ch#48 SSCIN pl#1 [X1] id sig#1 [TDC+] + 49, 1, 1, 3 !TDC ROC#3 Sl#23 Ch#49 SSCIN pl#1 [X1] id sig#1 [TDC-] + 50, 2, 1, 2 !TDC ROC#3 Sl#23 Ch#50 SSCIN pl#2 [Y1] id sig#1 [TDC+] + 51, 2, 1, 3 !TDC ROC#3 Sl#23 Ch#51 SSCIN pl#2 [Y1] id sig#1 [TDC-] + 52, 4, 1, 2 !TDC ROC#3 Sl#23 Ch#52 SSCIN pl#4 [Y2] id sig#1 [TDC+] + 53, 4, 1, 3 !TDC ROC#3 Sl#23 Ch#53 SSCIN pl#4 [Y2] id sig#1 [TDC-] +! 54 !TDC ROC#3 Sl#23 Ch#54 unused +! 55 !TDC ROC#3 Sl#23 Ch#55 unused +! 56 !TDC ROC#3 Sl#23 Ch#56 unused +! 57 !TDC ROC#3 Sl#23 Ch#57 unused +! 58 !TDC ROC#3 Sl#23 Ch#58 unused +! 59 !TDC ROC#3 Sl#23 Ch#59 unused +! 60 !TDC ROC#3 Sl#23 Ch#60 unused +! 61 !TDC ROC#3 Sl#23 Ch#61 unused +! 62 !TDC ROC#3 Sl#23 Ch#62 unused +! 63 !TDC ROC#3 Sl#23 Ch#63 unused +! +!for run 8023, swapped HMS and SOS TDC so that TDC with first 8 +!channels dead would be here. Moved connectors 1 and 2 to position +!3 and 4. Moved 3 singles channels (in connector3) to connector 2. + + Slot= 20 ! TDC + 32, 3, 1, 2 !TDC ROC#3 Sl#21 Ch#0 SSCIN pl#3 [X2] id sig#1 [TDC+] + 33, 3, 3, 2 !TDC ROC#3 Sl#21 Ch#1 SSCIN pl#3 [X2] id sig#3 [TDC+] + 34, 3, 5, 2 !TDC ROC#3 Sl#21 Ch#2 SSCIN pl#3 [X2] id sig#5 [TDC+] + 35, 3, 7, 2 !TDC ROC#3 Sl#21 Ch#3 SSCIN pl#3 [X2] id sig#7 [TDC+] + 36, 3, 9, 2 !TDC ROC#3 Sl#21 Ch#4 SSCIN pl#3 [X2] id sig#9 [TDC+] + 37, 3, 11, 2 !TDC ROC#3 Sl#21 Ch#5 SSCIN pl#3 [X2] id sig#11 [TDC+] + 38, 3, 13, 2 !TDC ROC#3 Sl#21 Ch#6 SSCIN pl#3 [X2] id sig#13 [TDC+] + 39, 3, 15, 2 !TDC ROC#3 Sl#21 Ch#7 SSCIN pl#3 [X2] id sig#15 [TDC+] + 40, 3, 2, 2 !TDC ROC#3 Sl#21 Ch#8 SSCIN pl#3 [X2] id sig#2 [TDC+] + 41, 3, 4, 2 !TDC ROC#3 Sl#21 Ch#9 SSCIN pl#3 [X2] id sig#4 [TDC+] + 42, 3, 6, 2 !TDC ROC#3 Sl#21 Ch#10 SSCIN pl#3 [X2] id sig#6 [TDC+] + 43, 3, 8, 2 !TDC ROC#3 Sl#21 Ch#11 SSCIN pl#3 [X2] id sig#8 [TDC+] + 44, 3, 10, 2 !TDC ROC#3 Sl#21 Ch#12 SSCIN pl#3 [X2] id sig#10 [TDC+] + 45, 3, 12, 2 !TDC ROC#3 Sl#21 Ch#13 SSCIN pl#3 [X2] id sig#12 [TDC+] + 46, 3, 14, 2 !TDC ROC#3 Sl#21 Ch#14 SSCIN pl#3 [X2] id sig#14 [TDC+] + 47, 3, 16, 2 !TDC ROC#3 Sl#21 Ch#15 SSCIN pl#3 [X2] id sig#16 [TDC+] + 48, 3, 1, 3 !TDC ROC#3 Sl#21 Ch#16 SSCIN pl#3 [X2] id sig#1 [TDC-] + 49, 3, 3, 3 !TDC ROC#3 Sl#21 Ch#17 SSCIN pl#3 [X2] id sig#3 [TDC-] + 50, 3, 5, 3 !TDC ROC#3 Sl#21 Ch#18 SSCIN pl#3 [X2] id sig#5 [TDC-] + 51, 3, 7, 3 !TDC ROC#3 Sl#21 Ch#19 SSCIN pl#3 [X2] id sig#7 [TDC-] + 52, 3, 9, 3 !TDC ROC#3 Sl#21 Ch#20 SSCIN pl#3 [X2] id sig#9 [TDC-] + 53, 3, 11, 3 !TDC ROC#3 Sl#21 Ch#21 SSCIN pl#3 [X2] id sig#11 [TDC-] + 54, 3, 13, 3 !TDC ROC#3 Sl#21 Ch#22 SSCIN pl#3 [X2] id sig#13 [TDC-] + 55, 3, 15, 3 !TDC ROC#3 Sl#21 Ch#23 SSCIN pl#3 [X2] id sig#15 [TDC-] + 56, 3, 2, 3 !TDC ROC#3 Sl#21 Ch#24 SSCIN pl#3 [X2] id sig#2 [TDC-] + 57, 3, 4, 3 !TDC ROC#3 Sl#21 Ch#25 SSCIN pl#3 [X2] id sig#4 [TDC-] + 58, 3, 6, 3 !TDC ROC#3 Sl#21 Ch#26 SSCIN pl#3 [X2] id sig#6 [TDC-] + 59, 3, 8, 3 !TDC ROC#3 Sl#21 Ch#27 SSCIN pl#3 [X2] id sig#8 [TDC-] + 60, 3, 10, 3 !TDC ROC#3 Sl#21 Ch#28 SSCIN pl#3 [X2] id sig#10 [TDC-] + 61, 3, 12, 3 !TDC ROC#3 Sl#21 Ch#29 SSCIN pl#3 [X2] id sig#12 [TDC-] + 62, 3, 14, 3 !TDC ROC#3 Sl#21 Ch#30 SSCIN pl#3 [X2] id sig#14 [TDC-] + 63, 3, 16, 3 !TDC ROC#3 Sl#21 Ch#31 SSCIN pl#3 [X2] id sig#16 [TDC-] +! + detector= 15 !SMISC +! + 16, 1, 65, 0 ! 0 !TDC ROC#3 Sl#21 Ch#32 RF TDC. +! + detector= 15 !SMISC +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 18 ! TDC +0, 1, 1, 0 ! 0 !TDC ROC#3 Sl#20 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#3 Sl#20 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#3 Sl#20 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#3 Sl#20 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#3 Sl#20 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#3 Sl#20 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#3 Sl#20 Ch#6 unused {MuonL} +7, 1, 8, 0 ! 7 !TDC ROC#3 Sl#20 Ch#7 unused {MuonR} +8, 1, 9, 0 ! 8 !TDC ROC#3 Sl#20 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#3 Sl#20 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#3 Sl#20 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#3 Sl#20 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#3 Sl#20 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#3 Sl#20 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#3 Sl#20 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#3 Sl#20 Ch#15 signal {PEDTRG} + + Slot= 18! TDC +16, 1, 17, 0 ! 16 !TDC ROC#3 Sl#18 Ch#16 signal {sS1} +17, 1, 18, 0 ! 17 !TDC ROC#3 Sl#18 Ch#17 signal {sPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#3 Sl#18 Ch#18 signal {sS2X} +19, 1, 20, 0 ! 19 !TDC ROC#3 Sl#18 Ch#19 signal {sPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#3 Sl#18 Ch#20 signal {sS1X} +21, 1, 22, 0 ! 21 !TDC ROC#3 Sl#18 Ch#21 signal {sS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#3 Sl#18 Ch#22 signal {sPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#3 Sl#18 Ch#23 signal {sS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#3 Sl#18 Ch#24 signal {sS2} +25, 1, 26, 0 ! 25 !TDC ROC#3 Sl#18 Ch#25 signal {sPRE200} +26, 1, 27, 0 ! 26 !TDC ROC#3 Sl#18 Ch#26 signal {sSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#3 Sl#18 Ch#27 signal {sSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#3 Sl#18 Ch#28 signal {sELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#3 Sl#18 Ch#29 signal {sPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#3 Sl#18 Ch#30 signal {sELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#3 Sl#18 Ch#31 signal {sPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#3 Sl#18 Ch#32 signal {BCM1} +33, 1, 34, 0 ! 33 !TDC ROC#3 Sl#18 Ch#33 signal {BCM2} +34, 1, 35, 0 ! 34 !TDC ROC#3 Sl#18 Ch#34 signal {BCM3} +35, 1, 36, 0 ! 35 !TDC ROC#3 Sl#18 Ch#35 signal {UNSER} +36, 1, 37, 0 ! 36 !TDC ROC#3 Sl#18 Ch#36 signal {CLOCK} +37, 1, 38, 0 ! 37 !TDC ROC#3 Sl#18 Ch#37 signal {1 MHz * 36??} +38, 1, 39, 0 ! 38 !TDC ROC#3 Sl#18 Ch#38 signal {sPICLEAN} +39, 1, 40, 0 ! 39 !TDC ROC#3 Sl#18 Ch#39 signal {sELCLEAN} +40, 1, 41, 0 ! 40 !TDC ROC#3 Sl#18 Ch#40 signal {sPION} +41, 1, 42, 0 ! 41 !TDC ROC#3 Sl#18 Ch#41 signal {sCER} +42, 1, 43, 0 ! 42 !TDC ROC#3 Sl#18 Ch#42 signal {sELHI} +43, 1, 44, 0 ! 43 !TDC ROC#3 Sl#18 Ch#43 signal {sELLO} +44, 1, 45, 0 ! 44 !TDC ROC#3 Sl#18 Ch#44 signal {sPRHI} +45, 1, 46, 0 ! 45 !TDC ROC#3 Sl#18 Ch#45 signal {sPRLO} +46, 1, 47, 0 ! 46 !TDC ROC#3 Sl#18 Ch#46 signal {sSHLO} +47, 1, 48, 0 ! 47 !TDC ROC#3 Sl#18 Ch#47 signal {PEDS+TRIGS?} +! +! ADC module LeCroy 1881M + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + detector= 12 !SSCIN + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#3 Sl#9 Ch#0 SSCIN pl#1 [X1] id sig#1 [ADC+] + 1, 1, 3, 0 !ADC ROC#3 Sl#9 Ch#1 SSCIN pl#1 [X1] id sig#3 [ADC+] + 2, 1, 5, 0 !ADC ROC#3 Sl#9 Ch#2 SSCIN pl#1 [X1] id sig#5 [ADC+] + 3, 1, 7, 0 !ADC ROC#3 Sl#9 Ch#3 SSCIN pl#1 [X1] id sig#7 [ADC+] + 4, 1, 9, 0 !ADC ROC#3 Sl#9 Ch#4 SSCIN pl#1 [X1] id sig#9 [ADC+] +! 5 !ADC ROC#3 Sl#9 Ch#5 unused +! 6 !ADC ROC#3 Sl#9 Ch#6 unused +! 7 !ADC ROC#3 Sl#9 Ch#7 unused + 8, 1, 2, 0 !ADC ROC#3 Sl#9 Ch#8 SSCIN pl#1 [X1] id sig#2 [ADC+] + 9, 1, 4, 0 !ADC ROC#3 Sl#9 Ch#9 SSCIN pl#1 [X1] id sig#4 [ADC+] + 10, 1, 6, 0 !ADC ROC#3 Sl#9 Ch#10 SSCIN pl#1 [X1] id sig#6 [ADC+] + 11, 1, 8, 0 !ADC ROC#3 Sl#9 Ch#11 SSCIN pl#1 [X1] id sig#8 [ADC+] +! 12 !ADC ROC#3 Sl#9 Ch#12 unused +! 13 !ADC ROC#3 Sl#9 Ch#13 unused +! 14 !ADC ROC#3 Sl#9 Ch#14 unused +! 15 !ADC ROC#3 Sl#9 Ch#15 unused + 16, 1, 1, 1 !ADC ROC#3 Sl#9 Ch#16 SSCIN pl#1 [X1] id sig#1 [ADC-] + 17, 1, 3, 1 !ADC ROC#3 Sl#9 Ch#17 SSCIN pl#1 [X1] id sig#3 [ADC-] + 18, 1, 5, 1 !ADC ROC#3 Sl#9 Ch#18 SSCIN pl#1 [X1] id sig#5 [ADC-] + 19, 1, 7, 1 !ADC ROC#3 Sl#9 Ch#19 SSCIN pl#1 [X1] id sig#7 [ADC-] + 20, 1, 9, 1 !ADC ROC#3 Sl#9 Ch#20 SSCIN pl#1 [X1] id sig#9 [ADC-] +! 21 !ADC ROC#3 Sl#9 Ch#21 unused +! 22 !ADC ROC#3 Sl#9 Ch#22 unused +! 23 !ADC ROC#3 Sl#9 Ch#23 unused + 24, 1, 2, 1 !ADC ROC#3 Sl#9 Ch#24 SSCIN pl#1 [X1] id sig#2 [ADC-] + 25, 1, 4, 1 !ADC ROC#3 Sl#9 Ch#25 SSCIN pl#1 [X1] id sig#4 [ADC-] + 26, 1, 6, 1 !ADC ROC#3 Sl#9 Ch#26 SSCIN pl#1 [X1] id sig#6 [ADC-] + 27, 1, 8, 1 !ADC ROC#3 Sl#9 Ch#27 SSCIN pl#1 [X1] id sig#8 [ADC-] +! 28 !ADC ROC#3 Sl#9 Ch#28 unused +! 29 !ADC ROC#3 Sl#9 Ch#29 unused +! 30 !ADC ROC#3 Sl#9 Ch#30 unused +! 31 !ADC ROC#3 Sl#9 Ch#31 unused + 32, 2, 1, 0 !ADC ROC#3 Sl#9 Ch#32 SSCIN pl#2 [Y1] id sig#1 [ADC+] + 33, 2, 3, 0 !ADC ROC#3 Sl#9 Ch#33 SSCIN pl#2 [Y1] id sig#3 [ADC+] + 34, 2, 5, 0 !ADC ROC#3 Sl#9 Ch#34 SSCIN pl#2 [Y1] id sig#5 [ADC+] + 35, 2, 7, 0 !ADC ROC#3 Sl#9 Ch#35 SSCIN pl#2 [Y1] id sig#7 [ADC+] + 36, 2, 9, 0 !ADC ROC#3 Sl#9 Ch#36 SSCIN pl#2 [Y1] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#9 Ch#37 unused +! 38 !ADC ROC#3 Sl#9 Ch#38 unused +! 39 !ADC ROC#3 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#3 Sl#9 Ch#40 SSCIN pl#2 [Y1] id sig#2 [ADC+] + 41, 2, 4, 0 !ADC ROC#3 Sl#9 Ch#41 SSCIN pl#2 [Y1] id sig#4 [ADC+] + 42, 2, 6, 0 !ADC ROC#3 Sl#9 Ch#42 SSCIN pl#2 [Y1] id sig#6 [ADC+] + 43, 2, 8, 0 !ADC ROC#3 Sl#9 Ch#43 SSCIN pl#2 [Y1] id sig#8 [ADC+] +! 44 !ADC ROC#3 Sl#9 Ch#44 unused +! 45 !ADC ROC#3 Sl#9 Ch#45 unused +! 46 !ADC ROC#3 Sl#9 Ch#46 unused +! 47 !ADC ROC#3 Sl#9 Ch#47 unused + 48, 2, 1, 1 !ADC ROC#3 Sl#9 Ch#48 SSCIN pl#2 [Y1] id sig#1 [ADC-] + 49, 2, 3, 1 !ADC ROC#3 Sl#9 Ch#49 SSCIN pl#2 [Y1] id sig#3 [ADC-] + 50, 2, 5, 1 !ADC ROC#3 Sl#9 Ch#50 SSCIN pl#2 [Y1] id sig#5 [ADC-] + 51, 2, 7, 1 !ADC ROC#3 Sl#9 Ch#51 SSCIN pl#2 [Y1] id sig#7 [ADC-] + 52, 2, 9, 1 !ADC ROC#3 Sl#9 Ch#52 SSCIN pl#2 [Y1] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#9 Ch#53 unused +! 54 !ADC ROC#3 Sl#9 Ch#54 unused +! 55 !ADC ROC#3 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#3 Sl#9 Ch#56 SSCIN pl#2 [Y1] id sig#2 [ADC-] + 57, 2, 4, 1 !ADC ROC#3 Sl#9 Ch#57 SSCIN pl#2 [Y1] id sig#4 [ADC-] + 58, 2, 6, 1 !ADC ROC#3 Sl#9 Ch#58 SSCIN pl#2 [Y1] id sig#6 [ADC-] + 59, 2, 8, 1 !ADC ROC#3 Sl#9 Ch#59 SSCIN pl#2 [Y1] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#9 Ch#60 unused +! 61 !ADC ROC#3 Sl#9 Ch#61 unused +! 62 !ADC ROC#3 Sl#9 Ch#62 unused +! 63 !ADC ROC#3 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#3 Sl#7 Ch#0 SSCIN pl#3 [X2] id sig#1 [ADC+] + 1, 3, 3, 0 !ADC ROC#3 Sl#7 Ch#1 SSCIN pl#3 [X2] id sig#3 [ADC+] + 2, 3, 5, 0 !ADC ROC#3 Sl#7 Ch#2 SSCIN pl#3 [X2] id sig#5 [ADC+] + 3, 3, 7, 0 !ADC ROC#3 Sl#7 Ch#3 SSCIN pl#3 [X2] id sig#7 [ADC+] + 4, 3, 9, 0 !ADC ROC#3 Sl#7 Ch#4 SSCIN pl#3 [X2] id sig#9 [ADC+] + 5, 3, 11, 0 !ADC ROC#3 Sl#7 Ch#5 SSCIN pl#3 [X2] id sig#11 [ADC+] + 6, 3, 13, 0 !ADC ROC#3 Sl#7 Ch#6 SSCIN pl#3 [X2] id sig#13 [ADC+] + 7, 3, 15, 0 !ADC ROC#3 Sl#7 Ch#7 SSCIN pl#3 [X2] id sig#15 [ADC+] + 8, 3, 2, 0 !ADC ROC#3 Sl#7 Ch#8 SSCIN pl#3 [X2] id sig#2 [ADC+] + 9, 3, 4, 0 !ADC ROC#3 Sl#7 Ch#9 SSCIN pl#3 [X2] id sig#4 [ADC+] + 10, 3, 6, 0 !ADC ROC#3 Sl#7 Ch#10 SSCIN pl#3 [X2] id sig#6 [ADC+] + 11, 3, 8, 0 !ADC ROC#3 Sl#7 Ch#11 SSCIN pl#3 [X2] id sig#8 [ADC+] + 12, 3, 10, 0 !ADC ROC#3 Sl#7 Ch#12 SSCIN pl#3 [X2] id sig#10 [ADC+] + 13, 3, 12, 0 !ADC ROC#3 Sl#7 Ch#13 SSCIN pl#3 [X2] id sig#12 [ADC+] + 14, 3, 14, 0 !ADC ROC#3 Sl#7 Ch#14 SSCIN pl#3 [X2] id sig#14 [ADC+] + 15, 3, 16, 0 !ADC ROC#3 Sl#7 Ch#15 SSCIN pl#3 [X2] id sig#16 [ADC+] + 16, 3, 1, 1 !ADC ROC#3 Sl#7 Ch#16 SSCIN pl#3 [X2] id sig#1 [ADC-] + 17, 3, 3, 1 !ADC ROC#3 Sl#7 Ch#17 SSCIN pl#3 [X2] id sig#3 [ADC-] + 18, 3, 5, 1 !ADC ROC#3 Sl#7 Ch#18 SSCIN pl#3 [X2] id sig#5 [ADC-] + 19, 3, 7, 1 !ADC ROC#3 Sl#7 Ch#19 SSCIN pl#3 [X2] id sig#7 [ADC-] + 20, 3, 9, 1 !ADC ROC#3 Sl#7 Ch#20 SSCIN pl#3 [X2] id sig#9 [ADC-] + 21, 3, 11, 1 !ADC ROC#3 Sl#7 Ch#21 SSCIN pl#3 [X2] id sig#11 [ADC-] + 22, 3, 13, 1 !ADC ROC#3 Sl#7 Ch#22 SSCIN pl#3 [X2] id sig#13 [ADC-] + 23, 3, 15, 1 !ADC ROC#3 Sl#7 Ch#23 SSCIN pl#3 [X2] id sig#15 [ADC-] + 24, 3, 2, 1 !ADC ROC#3 Sl#7 Ch#24 SSCIN pl#3 [X2] id sig#2 [ADC-] + 25, 3, 4, 1 !ADC ROC#3 Sl#7 Ch#25 SSCIN pl#3 [X2] id sig#4 [ADC-] + 26, 3, 6, 1 !ADC ROC#3 Sl#7 Ch#26 SSCIN pl#3 [X2] id sig#6 [ADC-] + 27, 3, 8, 1 !ADC ROC#3 Sl#7 Ch#27 SSCIN pl#3 [X2] id sig#8 [ADC-] + 28, 3, 10, 1 !ADC ROC#3 Sl#7 Ch#28 SSCIN pl#3 [X2] id sig#10 [ADC-] + 29, 3, 12, 1 !ADC ROC#3 Sl#7 Ch#29 SSCIN pl#3 [X2] id sig#12 [ADC-] + 30, 3, 14, 1 !ADC ROC#3 Sl#7 Ch#30 SSCIN pl#3 [X2] id sig#14 [ADC-] + 31, 3, 16, 1 !ADC ROC#3 Sl#7 Ch#31 SSCIN pl#3 [X2] id sig#16 [ADC-] + 32, 4, 1, 0 !ADC ROC#3 Sl#7 Ch#32 SSCIN pl#4 [Y2] id sig#1 [ADC+] + 33, 4, 3, 0 !ADC ROC#3 Sl#7 Ch#33 SSCIN pl#4 [Y2] id sig#3 [ADC+] + 34, 4, 5, 0 !ADC ROC#3 Sl#7 Ch#34 SSCIN pl#4 [Y2] id sig#5 [ADC+] + 35, 4, 7, 0 !ADC ROC#3 Sl#7 Ch#35 SSCIN pl#4 [Y2] id sig#7 [ADC+] + 36, 4, 9, 0 !ADC ROC#3 Sl#7 Ch#36 SSCIN pl#4 [Y2] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#7 Ch#37 unused +! 38 !ADC ROC#3 Sl#7 Ch#38 unused +! 39 !ADC ROC#3 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#3 Sl#7 Ch#40 SSCIN pl#4 [Y2] id sig#2 [ADC+] + 41, 4, 4, 0 !ADC ROC#3 Sl#7 Ch#41 SSCIN pl#4 [Y2] id sig#4 [ADC+] + 42, 4, 6, 0 !ADC ROC#3 Sl#7 Ch#42 SSCIN pl#4 [Y2] id sig#6 [ADC+] +! 43, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] DEAD CH! +! 44 !ADC ROC#3 Sl#7 Ch#44 unused +! 45 !ADC ROC#3 Sl#7 Ch#45 unused +! 46 !ADC ROC#3 Sl#7 Ch#46 unused + 47, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] + 48, 4, 1, 1 !ADC ROC#3 Sl#7 Ch#48 SSCIN pl#4 [Y2] id sig#1 [ADC-] + 49, 4, 3, 1 !ADC ROC#3 Sl#7 Ch#49 SSCIN pl#4 [Y2] id sig#3 [ADC-] + 50, 4, 5, 1 !ADC ROC#3 Sl#7 Ch#50 SSCIN pl#4 [Y2] id sig#5 [ADC-] + 51, 4, 7, 1 !ADC ROC#3 Sl#7 Ch#51 SSCIN pl#4 [Y2] id sig#7 [ADC-] + 52, 4, 9, 1 !ADC ROC#3 Sl#7 Ch#52 SSCIN pl#4 [Y2] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#7 Ch#53 unused +! 54 !ADC ROC#3 Sl#7 Ch#54 unused +! 55 !ADC ROC#3 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#3 Sl#7 Ch#56 SSCIN pl#4 [Y2] id sig#2 [ADC-] + 57, 4, 4, 1 !ADC ROC#3 Sl#7 Ch#57 SSCIN pl#4 [Y2] id sig#4 [ADC-] + 58, 4, 6, 1 !ADC ROC#3 Sl#7 Ch#58 SSCIN pl#4 [Y2] id sig#6 [ADC-] + 59, 4, 8, 1 !ADC ROC#3 Sl#7 Ch#59 SSCIN pl#4 [Y2] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#7 Ch#60 unused +! 61 !ADC ROC#3 Sl#7 Ch#61 unused +! 62 !ADC ROC#3 Sl#7 Ch#62 unused +! 63 !ADC ROC#3 Sl#7 Ch#63 unused +! + detector= 14 !SCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#1 Ch#0 SCAL column#1 row#1 + 1, 1, 2 !ADC ROC#3 Sl#1 Ch#1 SCAL column#1 row#2 + 2, 1, 3 !ADC ROC#3 Sl#1 Ch#2 SCAL column#1 row#3 + 3, 1, 4 !ADC ROC#3 Sl#1 Ch#3 SCAL column#1 row#4 + 4, 1, 5 !ADC ROC#3 Sl#1 Ch#4 SCAL column#1 row#5 + 5, 1, 6 !ADC ROC#3 Sl#1 Ch#5 SCAL column#1 row#6 + 6, 1, 7 !ADC ROC#3 Sl#1 Ch#6 SCAL column#1 row#7 + 7, 1, 8 !ADC ROC#3 Sl#1 Ch#7 SCAL column#1 row#8 + 8, 1, 9 !ADC ROC#3 Sl#1 Ch#8 SCAL column#1 row#9 + 9, 1, 10 !ADC ROC#3 Sl#1 Ch#9 SCAL column#1 row#10 + 10, 1, 11 !ADC ROC#3 Sl#1 Ch#10 SCAL column#1 row#11 +! 11 !ADC ROC#3 Sl#1 Ch#11 unused +! 12 !ADC ROC#3 Sl#1 Ch#12 unused +! 13 !ADC ROC#3 Sl#1 Ch#13 unused +! 14 !ADC ROC#3 Sl#1 Ch#14 unused +! 15 !ADC ROC#3 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#3 Sl#1 Ch#16 SCAL column#2 row#1 + 17, 2, 2 !ADC ROC#3 Sl#1 Ch#17 SCAL column#2 row#2 + 18, 2, 3 !ADC ROC#3 Sl#1 Ch#18 SCAL column#2 row#3 + 19, 2, 4 !ADC ROC#3 Sl#1 Ch#19 SCAL column#2 row#4 + 20, 2, 5 !ADC ROC#3 Sl#1 Ch#20 SCAL column#2 row#5 + 21, 2, 6 !ADC ROC#3 Sl#1 Ch#21 SCAL column#2 row#6 + 22, 2, 7 !ADC ROC#3 Sl#1 Ch#22 SCAL column#2 row#7 + 23, 2, 8 !ADC ROC#3 Sl#1 Ch#23 SCAL column#2 row#8 + 24, 2, 9 !ADC ROC#3 Sl#1 Ch#24 SCAL column#2 row#9 + 25, 2, 10 !ADC ROC#3 Sl#1 Ch#25 SCAL column#2 row#10 + 26, 2, 11 !ADC ROC#3 Sl#1 Ch#26 SCAL column#2 row#11 +! 27 !ADC ROC#3 Sl#1 Ch#27 unused +! 28 !ADC ROC#3 Sl#1 Ch#28 unused +! 29 !ADC ROC#3 Sl#1 Ch#29 unused +! 30 !ADC ROC#3 Sl#1 Ch#30 unused +! 31 !ADC ROC#3 Sl#1 Ch#31 unused +! 32, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 44, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 33, 3, 2 !ADC ROC#3 Sl#1 Ch#33 SCAL column#3 row#2 + 34, 3, 3 !ADC ROC#3 Sl#1 Ch#34 SCAL column#3 row#3 + 35, 3, 4 !ADC ROC#3 Sl#1 Ch#35 SCAL column#3 row#4 + 36, 3, 5 !ADC ROC#3 Sl#1 Ch#36 SCAL column#3 row#5 + 37, 3, 6 !ADC ROC#3 Sl#1 Ch#37 SCAL column#3 row#6 + 38, 3, 7 !ADC ROC#3 Sl#1 Ch#38 SCAL column#3 row#7 + 39, 3, 8 !ADC ROC#3 Sl#1 Ch#39 SCAL column#3 row#8 + 40, 3, 9 !ADC ROC#3 Sl#1 Ch#40 SCAL column#3 row#9 + 41, 3, 10 !ADC ROC#3 Sl#1 Ch#41 SCAL column#3 row#10 + 42, 3, 11 !ADC ROC#3 Sl#1 Ch#42 SCAL column#3 row#11 +! 43 !ADC ROC#3 Sl#1 Ch#43 unused +! 44 !ADC ROC#3 Sl#1 Ch#44 unused +! 45 !ADC ROC#3 Sl#1 Ch#45 unused +! 46 !ADC ROC#3 Sl#1 Ch#46 unused +! 47 !ADC ROC#3 Sl#1 Ch#47 unused + +!sD1 was being lost in the ADC delay lines. Move to channel #15. +! 48, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! + 49, 4, 2 !ADC ROC#3 Sl#1 Ch#49 SCAL column#4 row#2 + 50, 4, 3 !ADC ROC#3 Sl#1 Ch#50 SCAL column#4 row#3 + 51, 4, 4 !ADC ROC#3 Sl#1 Ch#51 SCAL column#4 row#4 + 52, 4, 5 !ADC ROC#3 Sl#1 Ch#52 SCAL column#4 row#5 + 53, 4, 6 !ADC ROC#3 Sl#1 Ch#53 SCAL column#4 row#6 + 54, 4, 7 !ADC ROC#3 Sl#1 Ch#54 SCAL column#4 row#7 + 55, 4, 8 !ADC ROC#3 Sl#1 Ch#55 SCAL column#4 row#8 + 56, 4, 9 !ADC ROC#3 Sl#1 Ch#56 SCAL column#4 row#9 + 57, 4, 10 !ADC ROC#3 Sl#1 Ch#57 SCAL column#4 row#10 + 58, 4, 11 !ADC ROC#3 Sl#1 Ch#58 SCAL column#4 row#11 +! 59 !ADC ROC#3 Sl#1 Ch#59 unused +! 60 !ADC ROC#3 Sl#1 Ch#60 unused +! 61 !ADC ROC#3 Sl#1 Ch#61 unused +! 62 !ADC ROC#3 Sl#1 Ch#62 unused + 62, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! 63 !ADC ROC#3 Sl#1 Ch#63 unused + detector= 15 !smisc - photodiode for laser gain calibration system. + 63, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). +! +detector= 14 !SCAL +Slot= 5 ! ADC Second set of tubes on first two layers +! 0, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 12, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#3 Sl#5 Ch#1 SCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#3 Sl#5 Ch#2 SCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#3 Sl#5 Ch#3 SCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#3 Sl#5 Ch#4 SCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#3 Sl#5 Ch#5 SCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#3 Sl#5 Ch#6 SCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#3 Sl#5 Ch#7 SCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#3 Sl#5 Ch#8 SCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#3 Sl#5 Ch#9 SCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#3 Sl#5 Ch#10 SCAL col#1 row#11 (10 An-11) +! 11 !ADC ROC#3 Sl#5 Ch#11 unused +! 12 !ADC ROC#3 Sl#5 Ch#12 unused +! 13 !ADC ROC#3 Sl#5 Ch#13 unused +! 14 !ADC ROC#3 Sl#5 Ch#14 unused +! 15 !ADC ROC#3 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#3 Sl#5 Ch#16 SCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#3 Sl#5 Ch#17 SCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#3 Sl#5 Ch#18 SCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#3 Sl#5 Ch#19 SCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#3 Sl#5 Ch#20 SCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#3 Sl#5 Ch#21 SCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#3 Sl#5 Ch#22 SCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#3 Sl#5 Ch#23 SCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#3 Sl#5 Ch#24 SCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#3 Sl#5 Ch#25 SCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#3 Sl#5 Ch#26 SCAL col#2 row#11 (26 Bn-11) +! 27 !ADC ROC#3 Sl#5 Ch#27 unused +! 28 !ADC ROC#3 Sl#5 Ch#28 unused +! 29 !ADC ROC#3 Sl#5 Ch#29 unused +! 30 !ADC ROC#3 Sl#5 Ch#30 unused +! 31 !ADC ROC#3 Sl#5 Ch#31 unused +! + detector= 13 !SCER +! + Slot= 3 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#3 Ch#0 SCER tube#1 + 1, 1, 2 !ADC ROC#3 Sl#3 Ch#1 SCER tube#2 + 2, 1, 3 !ADC ROC#3 Sl#3 Ch#2 SCER tube#3 + 3, 1, 4 !ADC ROC#3 Sl#3 Ch#3 SCER tube#4 +detector=15 ! SMISC helicity stuff mkj 5/15/03 +! ! muon det added 6/17/03 + 4, 2, 5,0 ! 4 !ADC ROC#3 Sl#3 Ch#4 unused + 5, 2, 6,0 ! 5 !ADC ROC#3 Sl#3 Ch#5 unused +! 6 !ADC ROC#3 Sl#3 Ch#6 unused +! 7 !ADC ROC#3 Sl#3 Ch#7 unused +! 8 !ADC ROC#3 Sl#3 Ch#8 unused +8,2,2,0 ! mps clock +! 9 !ADC ROC#3 Sl#3 Ch#9 unused +! 10 !ADC ROC#3 Sl#3 Ch#10 unused +! 11 !ADC ROC#3 Sl#3 Ch#11 unused +! 12 !ADC ROC#3 Sl#3 Ch#12 unused +12,2,3,0 ! H+ signal +15,2,4,0 ! H- signal +! 13 !ADC ROC#3 Sl#3 Ch#13 unused +! 14 !ADC ROC#3 Sl#3 Ch#14 unused +! 15 !ADC ROC#3 Sl#3 Ch#15 unused + ! 16 !ADC ROC#3 Sl#3 Ch#16 signal {A01} + ! 17 !ADC ROC#3 Sl#3 Ch#17 signal {A02} + ! 18 !ADC ROC#3 Sl#3 Ch#18 signal {A03} + ! 19 !ADC ROC#3 Sl#3 Ch#19 signal {A04} + ! 20 !ADC ROC#3 Sl#3 Ch#20 signal {A05} + ! 21 !ADC ROC#3 Sl#3 Ch#21 signal {A06} + ! 22 !ADC ROC#3 Sl#3 Ch#22 signal {A07} + ! 23 !ADC ROC#3 Sl#3 Ch#23 signal {A08} + ! 24 !ADC ROC#3 Sl#3 Ch#24 signal {A09} + ! 25 !ADC ROC#3 Sl#3 Ch#25 signal {A10} + ! 26 !ADC ROC#3 Sl#3 Ch#26 signal {A11} + ! 27 !ADC ROC#3 Sl#3 Ch#27 signal {A12} + ! 28 !ADC ROC#3 Sl#3 Ch#28 signal {A13} + ! 29 !ADC ROC#3 Sl#3 Ch#29 signal {A14} + ! 30 !ADC ROC#3 Sl#3 Ch#30 signal {A15} + ! 31 !ADC ROC#3 Sl#3 Ch#31 signal {A16} +! +!........................................................ +! SAER took out from SOS detector hut (Hamlet, 21 Dec'02) +! +! detector= 16 !SAER +! +! 32 !ADC ROC#3 Sl#3 Ch#32 DEAD!!!! +! 33 !ADC ROC#3 Sl#3 Ch#33 unused spare +! 34, 1, 1, 0 !ADC ROC#3 Sl#3 Ch#34 signal pos 1 +! 35, 1, 2, 0 !ADC ROC#3 Sl#3 Ch#35 signal pos 2 +! 36, 1, 3, 0 !ADC ROC#3 Sl#3 Ch#36 signal pos 3 +! 37, 1, 4, 0 !ADC ROC#3 Sl#3 Ch#37 signal pos 4 +! 38, 1, 5, 0 !ADC ROC#3 Sl#3 Ch#38 signal pos 5 +! 39, 1, 6, 0 !ADC ROC#3 Sl#3 Ch#39 signal pos 6 +! 40, 1, 7, 0 !ADC ROC#3 Sl#3 Ch#40 signal pos 7 +! 41, 1, 1, 1 !ADC ROC#3 Sl#3 Ch#41 signal neg 1 +! 42, 1, 2, 1 !ADC ROC#3 Sl#3 Ch#42 signal neg 2 +! 43, 1, 3, 1 !ADC ROC#3 Sl#3 Ch#43 signal neg 3 +! 44, 1, 4, 1 !ADC ROC#3 Sl#3 Ch#44 signal neg 4 +! 45, 1, 5, 1 !ADC ROC#3 Sl#3 Ch#45 signal neg 5 +! 46, 1, 6, 1 !ADC ROC#3 Sl#3 Ch#46 signal neg 6 +! 47, 1, 7, 1 !ADC ROC#3 Sl#3 Ch#47 signal neg 7 +! 48, 1, 8, 0 !ADC ROC#3 Sl#3 Ch#48 amplified signal pos 1 +! 49, 1, 9, 0 !ADC ROC#3 Sl#3 Ch#49 amplified signal pos 2 +! 50, 1, 10, 0 !ADC ROC#3 Sl#3 Ch#50 amplified signal pos 3 +! 51, 1, 11, 0 !ADC ROC#3 Sl#3 Ch#51 amplified signal pos 4 +! 52, 1, 12, 0 !ADC ROC#3 Sl#3 Ch#52 amplified signal pos 5 +! 53, 1, 13, 0 !ADC ROC#3 Sl#3 Ch#53 amplified signal pos 6 +! 54, 1, 14, 0 !ADC ROC#3 Sl#3 Ch#54 amplified signal pos 7 +! 55, 1, 15, 0 !ADC ROC#3 Sl#3 Ch#62 amplified signal sum 1-7 +! 56, 1, 8, 1 !ADC ROC#3 Sl#3 Ch#55 amplified signal neg 1 +! 57, 1, 9, 1 !ADC ROC#3 Sl#3 Ch#56 amplified signal neg 2 +! 58, 1, 10, 1 !ADC ROC#3 Sl#3 Ch#57 amplified signal neg 3 +! 59, 1, 11, 1 !ADC ROC#3 Sl#3 Ch#58 amplified signal neg 4 +! 60, 1, 12, 1 !ADC ROC#3 Sl#3 Ch#59 amplified signal neg 5 +! 61, 1, 13, 1 !ADC ROC#3 Sl#3 Ch#60 amplified signal neg 6 +! 62, 1, 14, 1 !ADC ROC#3 Sl#3 Ch#61 amplified signal neg 7 +! 63, 1, 15, 1 !ADC ROC#3 Sl#3 Ch#63 amplified signal sum 8-14 +! + + + + + + + + diff --git a/examples/MAPS/july04.map b/examples/MAPS/july04.map new file mode 100644 index 0000000000000000000000000000000000000000..7551ce6553363614d187bee04425a57a7c93713c --- /dev/null +++ b/examples/MAPS/july04.map @@ -0,0 +1,3240 @@ +! Updated to reflect new TDC for HMS aerogel and proper mapping of misc +! trigger signals in SOS. Dave G (5/5/2003) +! +! + help !lists available keywords + NOecho !copies input lines to tty output + NOdebug !turn on input debugging + override !skip over errors +! +! hall C encode/decode configuration file +! giving the FASTBUS geographical to standard +! hall C COMMONs location as described by +! "gen_data_structures.cmn" K.B.Beard 13jun94 +! 10/19/94 (jra) Change ch1 roc to 8 (from 1), hms roc to 7 (from 2). +! +! 6/24/94 (SAW) Turn on lines for miscleaneous TDC's +! Change ch1 roc to 1 (from 0), hms roc to 2 (from 1). +! Disable last 16 channels of miscleaneous TDC +! +! standard id numbers +! signals +!HMS: +! HDC_ID= 1 TDC +! HSCIN_ID= 2 ADC+,ADC-,TDC+,TDC- +! HCER_ID= 3 ADC +! HCAL_ID= 4 ADC +! HMISC_ID= 5 TDC,(ADC) +!GEN: +! GMISC_ID= 6 (TDC),ADC +! HAERO_ID= 7 (TDC),ADC +!SOS: +! SDC_ID= 11 TDC +! SSCIN_ID= 12 ADC+,ADC-,TDC+,TDC- +! SCER_ID= 13 ADC +! SCAL_ID= 14 ADC +! SMISC_ID= 15 TDC,(ADC) +! SAER_ID= 16 ADC +! SLUC_ID=17 ADC +! +! +! consider subadd equiv. to channel +! +! specify: subadd, plane, element, signal +! a, p, e, s +! 0- 1- 1- 0-3 +![if there is only signal 0 (DC,CER,CAL) it may be ommitted] +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS upstairs and downstairs map K.B.Beard 13-Jun-1994 +! for Jun94 run +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS downstairs (HDC) map K.B.Beard & S.Avery 13-Jun-1994 +! revised by A. Johnson 4-Feb-1999 +! +! vvvvvvvvvvvvvvvvvvvvvv Wire chambers start here vvvvvvvvvvvvvvvvvvvvvvvvv + ROC= 2 !ReadOutController (crate) for HMS wire chambers +! +! +! TDC modules are Lecroy 1877 + Nsubadd= 96 + MASK= FFFFx !hex mask + BSUB= 17 !start channel in bit#17 +! + detector= 1 !HDC +! +! 1st HDC chamber - (2nd in position) - planes7-12 +Slot= 2 +0, 8, 1 !TDC ROC#2 Sl#2 Ch#0 HDC pl#8 [Y1] wire#1 +1, 8, 2 !TDC ROC#2 Sl#2 Ch#1 HDC pl#8 [Y1] wire#2 +2, 8, 3 !TDC ROC#2 Sl#2 Ch#2 HDC pl#8 [Y1] wire#3 +3, 8, 4 !TDC ROC#2 Sl#2 Ch#3 HDC pl#8 [Y1] wire#4 +4, 8, 5 !TDC ROC#2 Sl#2 Ch#4 HDC pl#8 [Y1] wire#5 +5, 8, 6 !TDC ROC#2 Sl#2 Ch#5 HDC pl#8 [Y1] wire#6 +6, 8, 7 !TDC ROC#2 Sl#2 Ch#6 HDC pl#8 [Y1] wire#7 +7, 8, 8 !TDC ROC#2 Sl#2 Ch#7 HDC pl#8 [Y1] wire#8 +8, 8, 9 !TDC ROC#2 Sl#2 Ch#8 HDC pl#8 [Y1] wire#9 +9, 8, 10 !TDC ROC#2 Sl#2 Ch#9 HDC pl#8 [Y1] wire#10 +10, 8, 11 !TDC ROC#2 Sl#2 Ch#10 HDC pl#8 [Y1] wire#11 +11, 8, 12 !TDC ROC#2 Sl#2 Ch#11 HDC pl#8 [Y1] wire#12 +12, 8, 13 !TDC ROC#2 Sl#2 Ch#12 HDC pl#8 [Y1] wire#13 +!13 !TDC ROC#2 Sl#2 Ch#13 unused +!14 !TDC ROC#2 Sl#2 Ch#14 unused +!15 !TDC ROC#2 Sl#2 Ch#15 unused +16, 11, 40 !TDC ROC#2 Sl#2 Ch#16 HDC pl#11 [Y2] wire#40 +17, 11, 41 !TDC ROC#2 Sl#2 Ch#17 HDC pl#11 [Y2] wire#41 +18, 11, 42 !TDC ROC#2 Sl#2 Ch#18 HDC pl#11 [Y2] wire#42 +19, 11, 43 !TDC ROC#2 Sl#2 Ch#19 HDC pl#11 [Y2] wire#43 +20, 11, 44 !TDC ROC#2 Sl#2 Ch#20 HDC pl#11 [Y2] wire#44 +21, 11, 45 !TDC ROC#2 Sl#2 Ch#21 HDC pl#11 [Y2] wire#45 +22, 11, 46 !TDC ROC#2 Sl#2 Ch#22 HDC pl#11 [Y2] wire#46 +23, 11, 47 !TDC ROC#2 Sl#2 Ch#23 HDC pl#11 [Y2] wire#47 +24, 11, 48 !TDC ROC#2 Sl#2 Ch#24 HDC pl#11 [Y2] wire#48 +25, 11, 49 !TDC ROC#2 Sl#2 Ch#25 HDC pl#11 [Y2] wire#49 +26, 11, 50 !TDC ROC#2 Sl#2 Ch#26 HDC pl#11 [Y2] wire#50 +27, 11, 51 !TDC ROC#2 Sl#2 Ch#27 HDC pl#11 [Y2] wire#51 +28, 11, 52 !TDC ROC#2 Sl#2 Ch#28 HDC pl#11 [Y2] wire#52 +!29 !TDC ROC#2 Sl#2 Ch#29 unused +!30 !TDC ROC#2 Sl#2 Ch#30 unused +!31 !TDC ROC#2 Sl#2 Ch#31 unused +32, 8, 14 !TDC ROC#2 Sl#2 Ch#32 HDC pl#8 [Y1] wire#14 +33, 8, 15 !TDC ROC#2 Sl#2 Ch#33 HDC pl#8 [Y1] wire#15 +34, 8, 16 !TDC ROC#2 Sl#2 Ch#34 HDC pl#8 [Y1] wire#16 +35, 8, 17 !TDC ROC#2 Sl#2 Ch#35 HDC pl#8 [Y1] wire#17 +36, 8, 18 !TDC ROC#2 Sl#2 Ch#36 HDC pl#8 [Y1] wire#18 +37, 8, 19 !TDC ROC#2 Sl#2 Ch#37 HDC pl#8 [Y1] wire#19 +38, 8, 20 !TDC ROC#2 Sl#2 Ch#38 HDC pl#8 [Y1] wire#20 +39, 8, 21 !TDC ROC#2 Sl#2 Ch#39 HDC pl#8 [Y1] wire#21 +40, 8, 22 !TDC ROC#2 Sl#2 Ch#40 HDC pl#8 [Y1] wire#22 +41, 8, 23 !TDC ROC#2 Sl#2 Ch#41 HDC pl#8 [Y1] wire#23 +42, 8, 24 !TDC ROC#2 Sl#2 Ch#42 HDC pl#8 [Y1] wire#24 +43, 8, 25 !TDC ROC#2 Sl#2 Ch#43 HDC pl#8 [Y1] wire#25 +44, 8, 26 !TDC ROC#2 Sl#2 Ch#44 HDC pl#8 [Y1] wire#26 +!45 !TDC ROC#2 Sl#2 Ch#45 unused +!46 !TDC ROC#2 Sl#2 Ch#46 unused +!47 !TDC ROC#2 Sl#2 Ch#47 unused +48, 11, 27 !TDC ROC#2 Sl#2 Ch#48 HDC pl#11 [Y2] wire#27 +49, 11, 28 !TDC ROC#2 Sl#2 Ch#49 HDC pl#11 [Y2] wire#28 +50, 11, 29 !TDC ROC#2 Sl#2 Ch#50 HDC pl#11 [Y2] wire#29 +51, 11, 30 !TDC ROC#2 Sl#2 Ch#51 HDC pl#11 [Y2] wire#30 +52, 11, 31 !TDC ROC#2 Sl#2 Ch#52 HDC pl#11 [Y2] wire#31 +53, 11, 32 !TDC ROC#2 Sl#2 Ch#53 HDC pl#11 [Y2] wire#32 +54, 11, 33 !TDC ROC#2 Sl#2 Ch#54 HDC pl#11 [Y2] wire#33 +55, 11, 34 !TDC ROC#2 Sl#2 Ch#55 HDC pl#11 [Y2] wire#34 +56, 11, 35 !TDC ROC#2 Sl#2 Ch#56 HDC pl#11 [Y2] wire#35 +57, 11, 36 !TDC ROC#2 Sl#2 Ch#57 HDC pl#11 [Y2] wire#36 +58, 11, 37 !TDC ROC#2 Sl#2 Ch#58 HDC pl#11 [Y2] wire#37 +59, 11, 38 !TDC ROC#2 Sl#2 Ch#59 HDC pl#11 [Y2] wire#38 +60, 11, 39 !TDC ROC#2 Sl#2 Ch#60 HDC pl#11 [Y2] wire#39 +!61 !TDC ROC#2 Sl#2 Ch#61 unused +!62 !TDC ROC#2 Sl#2 Ch#62 unused +!63 !TDC ROC#2 Sl#2 Ch#63 unused +64, 8, 27 !TDC ROC#2 Sl#2 Ch#64 HDC pl#8 [Y1] wire#27 +65, 8, 28 !TDC ROC#2 Sl#2 Ch#65 HDC pl#8 [Y1] wire#28 +66, 8, 29 !TDC ROC#2 Sl#2 Ch#66 HDC pl#8 [Y1] wire#29 +67, 8, 30 !TDC ROC#2 Sl#2 Ch#67 HDC pl#8 [Y1] wire#30 +68, 8, 31 !TDC ROC#2 Sl#2 Ch#68 HDC pl#8 [Y1] wire#31 +69, 8, 32 !TDC ROC#2 Sl#2 Ch#69 HDC pl#8 [Y1] wire#32 +70, 8, 33 !TDC ROC#2 Sl#2 Ch#70 HDC pl#8 [Y1] wire#33 +71, 8, 34 !TDC ROC#2 Sl#2 Ch#71 HDC pl#8 [Y1] wire#34 +72, 8, 35 !TDC ROC#2 Sl#2 Ch#72 HDC pl#8 [Y1] wire#35 +73, 8, 36 !TDC ROC#2 Sl#2 Ch#73 HDC pl#8 [Y1] wire#36 +74, 8, 37 !TDC ROC#2 Sl#2 Ch#74 HDC pl#8 [Y1] wire#37 +75, 8, 38 !TDC ROC#2 Sl#2 Ch#75 HDC pl#8 [Y1] wire#38 +76, 8, 39 !TDC ROC#2 Sl#2 Ch#76 HDC pl#8 [Y1] wire#39 +!77 !TDC ROC#2 Sl#2 Ch#77 unused +!78 !TDC ROC#2 Sl#2 Ch#78 unused +!79 !TDC ROC#2 Sl#2 Ch#79 unused +80, 11, 14 !TDC ROC#2 Sl#2 Ch#80 HDC pl#11 [Y2] wire#14 +81, 11, 15 !TDC ROC#2 Sl#2 Ch#81 HDC pl#11 [Y2] wire#15 +82, 11, 16 !TDC ROC#2 Sl#2 Ch#82 HDC pl#11 [Y2] wire#16 +83, 11, 17 !TDC ROC#2 Sl#2 Ch#83 HDC pl#11 [Y2] wire#17 +84, 11, 18 !TDC ROC#2 Sl#2 Ch#84 HDC pl#11 [Y2] wire#18 +85, 11, 19 !TDC ROC#2 Sl#2 Ch#85 HDC pl#11 [Y2] wire#19 +86, 11, 20 !TDC ROC#2 Sl#2 Ch#86 HDC pl#11 [Y2] wire#20 +87, 11, 21 !TDC ROC#2 Sl#2 Ch#87 HDC pl#11 [Y2] wire#21 +88, 11, 22 !TDC ROC#2 Sl#2 Ch#88 HDC pl#11 [Y2] wire#22 +89, 11, 23 !TDC ROC#2 Sl#2 Ch#89 HDC pl#11 [Y2] wire#23 +90, 11, 24 !TDC ROC#2 Sl#2 Ch#90 HDC pl#11 [Y2] wire#24 +91, 11, 25 !TDC ROC#2 Sl#2 Ch#91 HDC pl#11 [Y2] wire#25 +92, 11, 26 !TDC ROC#2 Sl#2 Ch#92 HDC pl#11 [Y2] wire#26 +!93 !TDC ROC#2 Sl#2 Ch#93 unused +!94 !TDC ROC#2 Sl#2 Ch#94 unused +!95 !TDC ROC#2 Sl#2 Ch#95 unused + +Slot= 3 +0, 8, 40 !TDC ROC#2 Sl#3 Ch#0 HDC pl#8 [Y1] wire#40 +1, 8, 41 !TDC ROC#2 Sl#3 Ch#1 HDC pl#8 [Y1] wire#41 +2, 8, 42 !TDC ROC#2 Sl#3 Ch#2 HDC pl#8 [Y1] wire#42 +3, 8, 43 !TDC ROC#2 Sl#3 Ch#3 HDC pl#8 [Y1] wire#43 +4, 8, 44 !TDC ROC#2 Sl#3 Ch#4 HDC pl#8 [Y1] wire#44 +5, 8, 45 !TDC ROC#2 Sl#3 Ch#5 HDC pl#8 [Y1] wire#45 +6, 8, 46 !TDC ROC#2 Sl#3 Ch#6 HDC pl#8 [Y1] wire#46 +7, 8, 47 !TDC ROC#2 Sl#3 Ch#7 HDC pl#8 [Y1] wire#47 +8, 8, 48 !TDC ROC#2 Sl#3 Ch#8 HDC pl#8 [Y1] wire#48 +9, 8, 49 !TDC ROC#2 Sl#3 Ch#9 HDC pl#8 [Y1] wire#49 +10, 8, 50 !TDC ROC#2 Sl#3 Ch#10 HDC pl#8 [Y1] wire#50 +11, 8, 51 !TDC ROC#2 Sl#3 Ch#11 HDC pl#8 [Y1] wire#51 +12, 8, 52 !TDC ROC#2 Sl#3 Ch#12 HDC pl#8 [Y1] wire#52 +!13 !TDC ROC#2 Sl#3 Ch#13 +!14 !TDC ROC#2 Sl#3 Ch#14 +!15 !TDC ROC#2 Sl#3 Ch#15 +16, 11, 1 !TDC ROC#2 Sl#3 Ch#16 HDC pl#11 [Y2] wire#1 +17, 11, 2 !TDC ROC#2 Sl#3 Ch#17 HDC pl#11 [Y2] wire#2 +18, 11, 3 !TDC ROC#2 Sl#3 Ch#18 HDC pl#11 [Y2] wire#3 +19, 11, 4 !TDC ROC#2 Sl#3 Ch#19 HDC pl#11 [Y2] wire#4 +20, 11, 5 !TDC ROC#2 Sl#3 Ch#20 HDC pl#11 [Y2] wire#5 +21, 11, 6 !TDC ROC#2 Sl#3 Ch#21 HDC pl#11 [Y2] wire#6 +22, 11, 7 !TDC ROC#2 Sl#3 Ch#22 HDC pl#11 [Y2] wire#7 +23, 11, 8 !TDC ROC#2 Sl#3 Ch#23 HDC pl#11 [Y2] wire#8 +24, 11, 9 !TDC ROC#2 Sl#3 Ch#24 HDC pl#11 [Y2] wire#9 +25, 11, 10 !TDC ROC#2 Sl#3 Ch#25 HDC pl#11 [Y2] wire#10 +26, 11, 11 !TDC ROC#2 Sl#3 Ch#26 HDC pl#11 [Y2] wire#11 +27, 11, 12 !TDC ROC#2 Sl#3 Ch#27 HDC pl#11 [Y2] wire#12 +28, 11, 13 !TDC ROC#2 Sl#3 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#3 Ch#29 unused +! 30 !TDC ROC#2 Sl#3 Ch#30 unused +! 31 !TDC ROC#2 Sl#3 Ch#31 unused +32, 10, 92 !TDC ROC#2 Sl#3 Ch#32 HDC pl#10 [V] wire#92 +33, 10, 93 !TDC ROC#2 Sl#3 Ch#33 HDC pl#10 [V] wire#93 +34, 10, 94 !TDC ROC#2 Sl#3 Ch#34 HDC pl#10 [V] wire#94 +35, 10, 95 !TDC ROC#2 Sl#3 Ch#35 HDC pl#10 [V] wire#95 +36, 10, 96 !TDC ROC#2 Sl#3 Ch#36 HDC pl#10 [V] wire#96 +37, 10, 97 !TDC ROC#2 Sl#3 Ch#37 HDC pl#10 [V] wire#97 +38, 10, 98 !TDC ROC#2 Sl#3 Ch#38 HDC pl#10 [V] wire#98 +39, 10, 99 !TDC ROC#2 Sl#3 Ch#39 HDC pl#10 [V] wire#99 +40, 10, 100 !TDC ROC#2 Sl#3 Ch#40 HDC pl#10 [V] wire#100 +41, 10, 101 !TDC ROC#2 Sl#3 Ch#41 HDC pl#10 [V] wire#101 +42, 10, 102 !TDC ROC#2 Sl#3 Ch#42 HDC pl#10 [V] wire#102 +43, 10, 103 !TDC ROC#2 Sl#3 Ch#43 HDC pl#10 [V] wire#103 +44, 10, 104 !TDC ROC#2 Sl#3 Ch#44 HDC pl#10 [V] wire#104 +45, 10, 105 !TDC ROC#2 Sl#3 Ch#45 HDC pl#10 [V] wire#105 +46, 10, 106 !TDC ROC#2 Sl#3 Ch#46 HDC pl#10 [V] wire#106 +47, 10, 107 !TDC ROC#2 Sl#3 Ch#47 HDC pl#10 [V] wire#107 +48, 7, 97 !TDC ROC#2 Sl#3 Ch#48 HDC pl#7 [X1] wire#97 +49, 7, 98 !TDC ROC#2 Sl#3 Ch#49 HDC pl#7 [X1] wire#98 +50, 7, 99 !TDC ROC#2 Sl#3 Ch#50 HDC pl#7 [X1] wire#99 +51, 7, 100 !TDC ROC#2 Sl#3 Ch#51 HDC pl#7 [X1] wire#100 +52, 7, 101 !TDC ROC#2 Sl#3 Ch#52 HDC pl#7 [X1] wire#101 +53, 7, 102 !TDC ROC#2 Sl#3 Ch#53 HDC pl#7 [X1] wire#102 +54, 7, 103 !TDC ROC#2 Sl#3 Ch#54 HDC pl#7 [X1] wire#103 +55, 7, 104 !TDC ROC#2 Sl#3 Ch#55 HDC pl#7 [X1] wire#104 +56, 7, 105 !TDC ROC#2 Sl#3 Ch#56 HDC pl#7 [X1] wire#105 +57, 7, 106 !TDC ROC#2 Sl#3 Ch#57 HDC pl#7 [X1] wire#106 +58, 7, 107 !TDC ROC#2 Sl#3 Ch#58 HDC pl#7 [X1] wire#107 +59, 7, 108 !TDC ROC#2 Sl#3 Ch#59 HDC pl#7 [X1] wire#108 +60, 7, 109 !TDC ROC#2 Sl#3 Ch#60 HDC pl#7 [X1] wire#109 +61, 7, 110 !TDC ROC#2 Sl#3 Ch#61 HDC pl#7 [X1] wire#110 +62, 7, 111 !TDC ROC#2 Sl#3 Ch#62 HDC pl#7 [X1] wire#111 +63, 7, 112 !TDC ROC#2 Sl#3 Ch#63 HDC pl#7 [X1] wire#112 +64, 12, 1 !TDC ROC#2 Sl#3 Ch#64 HDC pl#12 [X2] wire#1 +65, 12, 2 !TDC ROC#2 Sl#3 Ch#65 HDC pl#12 [X2] wire#2 +66, 12, 3 !TDC ROC#2 Sl#3 Ch#66 HDC pl#12 [X2] wire#3 +67, 12, 4 !TDC ROC#2 Sl#3 Ch#67 HDC pl#12 [X2] wire#4 +68, 12, 5 !TDC ROC#2 Sl#3 Ch#68 HDC pl#12 [X2] wire#5 +69, 12, 6 !TDC ROC#2 Sl#3 Ch#69 HDC pl#12 [X2] wire#6 +70, 12, 7 !TDC ROC#2 Sl#3 Ch#70 HDC pl#12 [X2] wire#7 +71, 12, 8 !TDC ROC#2 Sl#3 Ch#71 HDC pl#12 [X2] wire#8 +72, 12, 9 !TDC ROC#2 Sl#3 Ch#72 HDC pl#12 [X2] wire#9 +73, 12, 10 !TDC ROC#2 Sl#3 Ch#73 HDC pl#12 [X2] wire#10 +74, 12, 11 !TDC ROC#2 Sl#3 Ch#74 HDC pl#12 [X2] wire#11 +75, 12, 12 !TDC ROC#2 Sl#3 Ch#75 HDC pl#12 [X2] wire#12 +76, 12, 13 !TDC ROC#2 Sl#3 Ch#76 HDC pl#12 [X2] wire#13 +77, 12, 14 !TDC ROC#2 Sl#3 Ch#77 HDC pl#12 [X2] wire#14 +78, 12, 15 !TDC ROC#2 Sl#3 Ch#78 HDC pl#12 [X2] wire#15 +79, 12, 16 !TDC ROC#2 Sl#3 Ch#79 HDC pl#12 [X2] wire#16 +80, 7, 113 !TDC ROC#2 Sl#3 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#3 Ch#81 unused +82, 9, 1 !TDC ROC#2 Sl#3 Ch#82 HDC pl#9 [U] wire#1 +83, 9, 2 !TDC ROC#2 Sl#3 Ch#83 HDC pl#9 [U] wire#2 +84, 9, 3 !TDC ROC#2 Sl#3 Ch#84 HDC pl#9 [U] wire#3 +85, 9, 4 !TDC ROC#2 Sl#3 Ch#85 HDC pl#9 [U] wire#4 +86, 9, 5 !TDC ROC#2 Sl#3 Ch#86 HDC pl#9 [U] wire#5 +87, 9, 6 !TDC ROC#2 Sl#3 Ch#87 HDC pl#9 [U] wire#6 +88, 9, 7 !TDC ROC#2 Sl#3 Ch#88 HDC pl#9 [U] wire#7 +89, 9, 8 !TDC ROC#2 Sl#3 Ch#89 HDC pl#9 [U] wire#8 +90, 9, 9 !TDC ROC#2 Sl#3 Ch#90 HDC pl#9 [U] wire#9 +91, 9, 10 !TDC ROC#2 Sl#3 Ch#91 HDC pl#9 [U] wire#10 +92, 9, 11 !TDC ROC#2 Sl#3 Ch#92 HDC pl#9 [U] wire#11 +93, 9, 12 !TDC ROC#2 Sl#3 Ch#93 HDC pl#9 [U] wire#12 +94, 9, 13 !TDC ROC#2 Sl#3 Ch#94 HDC pl#9 [U] wire#13 +95, 9, 14 !TDC ROC#2 Sl#3 Ch#95 HDC pl#9 [U] wire#14 +Slot= 5 +0, 10, 77 !TDC ROC#2 Sl#5 Ch#0 HDC pl#10 [V] wire#77 +1, 10, 78 !TDC ROC#2 Sl#5 Ch#1 HDC pl#10 [V] wire#78 +2, 10, 79 !TDC ROC#2 Sl#5 Ch#2 HDC pl#10 [V] wire#79 +3, 10, 80 !TDC ROC#2 Sl#5 Ch#3 HDC pl#10 [V] wire#80 +4, 10, 81 !TDC ROC#2 Sl#5 Ch#4 HDC pl#10 [V] wire#81 +5, 10, 82 !TDC ROC#2 Sl#5 Ch#5 HDC pl#10 [V] wire#82 +6, 10, 83 !TDC ROC#2 Sl#5 Ch#6 HDC pl#10 [V] wire#83 +7, 10, 84 !TDC ROC#2 Sl#5 Ch#7 HDC pl#10 [V] wire#84 +8, 10, 85 !TDC ROC#2 Sl#5 Ch#8 HDC pl#10 [V] wire#85 +9, 10, 86 !TDC ROC#2 Sl#5 Ch#9 HDC pl#10 [V] wire#86 +10, 10, 87 !TDC ROC#2 Sl#5 Ch#10 HDC pl#10 [V] wire#87 +11, 10, 88 !TDC ROC#2 Sl#5 Ch#11 HDC pl#10 [V] wire#88 +12, 10, 89 !TDC ROC#2 Sl#5 Ch#12 HDC pl#10 [V] wire#89 +13, 10, 90 !TDC ROC#2 Sl#5 Ch#13 HDC pl#10 [V] wire#90 +14, 10, 91 !TDC ROC#2 Sl#5 Ch#14 HDC pl#10 [V] wire#91 +! 15 !TDC ROC#2 Sl#5 Ch#15 unused +16, 7, 81 !TDC ROC#2 Sl#5 Ch#16 HDC pl#7 [X1] wire#81 +17, 7, 82 !TDC ROC#2 Sl#5 Ch#17 HDC pl#7 [X1] wire#82 +18, 7, 83 !TDC ROC#2 Sl#5 Ch#18 HDC pl#7 [X1] wire#83 +19, 7, 84 !TDC ROC#2 Sl#5 Ch#19 HDC pl#7 [X1] wire#84 +20, 7, 85 !TDC ROC#2 Sl#5 Ch#20 HDC pl#7 [X1] wire#85 +21, 7, 86 !TDC ROC#2 Sl#5 Ch#21 HDC pl#7 [X1] wire#86 +22, 7, 87 !TDC ROC#2 Sl#5 Ch#22 HDC pl#7 [X1] wire#87 +23, 7, 88 !TDC ROC#2 Sl#5 Ch#23 HDC pl#7 [X1] wire#88 +24, 7, 89 !TDC ROC#2 Sl#5 Ch#24 HDC pl#7 [X1] wire#89 +25, 7, 90 !TDC ROC#2 Sl#5 Ch#25 HDC pl#7 [X1] wire#90 +26, 7, 91 !TDC ROC#2 Sl#5 Ch#26 HDC pl#7 [X1] wire#91 +27, 7, 92 !TDC ROC#2 Sl#5 Ch#27 HDC pl#7 [X1] wire#92 +28, 7, 93 !TDC ROC#2 Sl#5 Ch#28 HDC pl#7 [X1] wire#93 +29, 7, 94 !TDC ROC#2 Sl#5 Ch#29 HDC pl#7 [X1] wire#94 +30, 7, 95 !TDC ROC#2 Sl#5 Ch#30 HDC pl#7 [X1] wire#95 +31, 7, 96 !TDC ROC#2 Sl#5 Ch#31 HDC pl#7 [X1] wire#96 +32, 12, 17 !TDC ROC#2 Sl#5 Ch#32 HDC pl#12 [X2] wire#17 +33, 12, 18 !TDC ROC#2 Sl#5 Ch#33 HDC pl#12 [X2] wire#18 +34, 12, 19 !TDC ROC#2 Sl#5 Ch#34 HDC pl#12 [X2] wire#19 +35, 12, 20 !TDC ROC#2 Sl#5 Ch#35 HDC pl#12 [X2] wire#20 +36, 12, 21 !TDC ROC#2 Sl#5 Ch#36 HDC pl#12 [X2] wire#21 +37, 12, 22 !TDC ROC#2 Sl#5 Ch#37 HDC pl#12 [X2] wire#22 +38, 12, 23 !TDC ROC#2 Sl#5 Ch#38 HDC pl#12 [X2] wire#23 +39, 12, 24 !TDC ROC#2 Sl#5 Ch#39 HDC pl#12 [X2] wire#24 +40, 12, 25 !TDC ROC#2 Sl#5 Ch#40 HDC pl#12 [X2] wire#25 +41, 12, 26 !TDC ROC#2 Sl#5 Ch#41 HDC pl#12 [X2] wire#26 +42, 12, 27 !TDC ROC#2 Sl#5 Ch#42 HDC pl#12 [X2] wire#27 +43, 12, 28 !TDC ROC#2 Sl#5 Ch#43 HDC pl#12 [X2] wire#28 +44, 12, 29 !TDC ROC#2 Sl#5 Ch#44 HDC pl#12 [X2] wire#29 +45, 12, 30 !TDC ROC#2 Sl#5 Ch#45 HDC pl#12 [X2] wire#30 +46, 12, 31 !TDC ROC#2 Sl#5 Ch#46 HDC pl#12 [X2] wire#31 +47, 12, 32 !TDC ROC#2 Sl#5 Ch#47 HDC pl#12 [X2] wire#32 +48, 9, 15 !TDC ROC#2 Sl#5 Ch#48 HDC pl#9 [U] wire#15 +49, 9, 16 !TDC ROC#2 Sl#5 Ch#49 HDC pl#9 [U] wire#16 +50, 9, 17 !TDC ROC#2 Sl#5 Ch#50 HDC pl#9 [U] wire#17 +51, 9, 18 !TDC ROC#2 Sl#5 Ch#51 HDC pl#9 [U] wire#18 +52, 9, 19 !TDC ROC#2 Sl#5 Ch#52 HDC pl#9 [U] wire#19 +53, 9, 20 !TDC ROC#2 Sl#5 Ch#53 HDC pl#9 [U] wire#20 +54, 9, 21 !TDC ROC#2 Sl#5 Ch#54 HDC pl#9 [U] wire#21 +55, 9, 22 !TDC ROC#2 Sl#5 Ch#55 HDC pl#9 [U] wire#22 +56, 9, 23 !TDC ROC#2 Sl#5 Ch#56 HDC pl#9 [U] wire#23 +57, 9, 24 !TDC ROC#2 Sl#5 Ch#57 HDC pl#9 [U] wire#24 +58, 9, 25 !TDC ROC#2 Sl#5 Ch#58 HDC pl#9 [U] wire#25 +59, 9, 26 !TDC ROC#2 Sl#5 Ch#59 HDC pl#9 [U] wire#26 +60, 9, 27 !TDC ROC#2 Sl#5 Ch#60 HDC pl#9 [U] wire#27 +61, 9, 28 !TDC ROC#2 Sl#5 Ch#61 HDC pl#9 [U] wire#28 +62, 9, 29 !TDC ROC#2 Sl#5 Ch#62 HDC pl#9 [U] wire#29 +!63 !TDC ROC#2 Sl#5 Ch#63 unused +64, 10, 61 !TDC ROC#2 Sl#5 Ch#64 HDC pl#10 [V] wire#61 +65, 10, 62 !TDC ROC#2 Sl#5 Ch#65 HDC pl#10 [V] wire#62 +66, 10, 63 !TDC ROC#2 Sl#5 Ch#66 HDC pl#10 [V] wire#63 +67, 10, 64 !TDC ROC#2 Sl#5 Ch#67 HDC pl#10 [V] wire#64 +68, 10, 65 !TDC ROC#2 Sl#5 Ch#68 HDC pl#10 [V] wire#65 +69, 10, 66 !TDC ROC#2 Sl#5 Ch#69 HDC pl#10 [V] wire#66 +70, 10, 67 !TDC ROC#2 Sl#5 Ch#70 HDC pl#10 [V] wire#67 +71, 10, 68 !TDC ROC#2 Sl#5 Ch#71 HDC pl#10 [V] wire#68 +72, 10, 69 !TDC ROC#2 Sl#5 Ch#72 HDC pl#10 [V] wire#69 +73, 10, 70 !TDC ROC#2 Sl#5 Ch#73 HDC pl#10 [V] wire#70 +74, 10, 71 !TDC ROC#2 Sl#5 Ch#74 HDC pl#10 [V] wire#71 +75, 10, 72 !TDC ROC#2 Sl#5 Ch#75 HDC pl#10 [V] wire#72 +76, 10, 73 !TDC ROC#2 Sl#5 Ch#76 HDC pl#10 [V] wire#73 +77, 10, 74 !TDC ROC#2 Sl#5 Ch#77 HDC pl#10 [V] wire#74 +78, 10, 75 !TDC ROC#2 Sl#5 Ch#78 HDC pl#10 [V] wire#75 +79, 10, 76 !TDC ROC#2 Sl#5 Ch#79 HDC pl#10 [V] wire#76 +80, 7, 65 !TDC ROC#2 Sl#5 Ch#80 HDC pl#7 [X1] wire#65 +81, 7, 66 !TDC ROC#2 Sl#5 Ch#81 HDC pl#7 [X1] wire#66 +82, 7, 67 !TDC ROC#2 Sl#5 Ch#82 HDC pl#7 [X1] wire#67 +83, 7, 68 !TDC ROC#2 Sl#5 Ch#83 HDC pl#7 [X1] wire#68 +84, 7, 69 !TDC ROC#2 Sl#5 Ch#84 HDC pl#7 [X1] wire#69 +85, 7, 70 !TDC ROC#2 Sl#5 Ch#85 HDC pl#7 [X1] wire#70 +86, 7, 71 !TDC ROC#2 Sl#5 Ch#86 HDC pl#7 [X1] wire#71 +87, 7, 72 !TDC ROC#2 Sl#5 Ch#87 HDC pl#7 [X1] wire#72 +88, 7, 73 !TDC ROC#2 Sl#5 Ch#88 HDC pl#7 [X1] wire#73 +89, 7, 74 !TDC ROC#2 Sl#5 Ch#89 HDC pl#7 [X1] wire#74 +90, 7, 75 !TDC ROC#2 Sl#5 Ch#90 HDC pl#7 [X1] wire#75 +91, 7, 76 !TDC ROC#2 Sl#5 Ch#91 HDC pl#7 [X1] wire#76 +92, 7, 77 !TDC ROC#2 Sl#5 Ch#92 HDC pl#7 [X1] wire#77 +93, 7, 78 !TDC ROC#2 Sl#5 Ch#93 HDC pl#7 [X1] wire#78 +94, 7, 79 !TDC ROC#2 Sl#5 Ch#94 HDC pl#7 [X1] wire#79 +95, 7, 80 !TDC ROC#2 Sl#5 Ch#95 HDC pl#7 [X1] wire#80 +Slot= 6 +0, 12, 33 !TDC ROC#2 Sl#6 Ch#0 HDC pl#12 [X2] wire#33 +1, 12, 34 !TDC ROC#2 Sl#6 Ch#1 HDC pl#12 [X2] wire#34 +2, 12, 35 !TDC ROC#2 Sl#6 Ch#2 HDC pl#12 [X2] wire#35 +3, 12, 36 !TDC ROC#2 Sl#6 Ch#3 HDC pl#12 [X2] wire#36 +4, 12, 37 !TDC ROC#2 Sl#6 Ch#4 HDC pl#12 [X2] wire#37 +5, 12, 38 !TDC ROC#2 Sl#6 Ch#5 HDC pl#12 [X2] wire#38 +6, 12, 39 !TDC ROC#2 Sl#6 Ch#6 HDC pl#12 [X2] wire#39 +7, 12, 40 !TDC ROC#2 Sl#6 Ch#7 HDC pl#12 [X2] wire#40 +8, 12, 41 !TDC ROC#2 Sl#6 Ch#8 HDC pl#12 [X2] wire#41 +9, 12, 42 !TDC ROC#2 Sl#6 Ch#9 HDC pl#12 [X2] wire#42 +10, 12, 43 !TDC ROC#2 Sl#6 Ch#10 HDC pl#12 [X2] wire#43 +11, 12, 44 !TDC ROC#2 Sl#6 Ch#11 HDC pl#12 [X2] wire#44 +12, 12, 45 !TDC ROC#2 Sl#6 Ch#12 HDC pl#12 [X2] wire#45 +13, 12, 46 !TDC ROC#2 Sl#6 Ch#13 HDC pl#12 [X2] wire#46 +14, 12, 47 !TDC ROC#2 Sl#6 Ch#14 HDC pl#12 [X2] wire#47 +15, 12, 48 !TDC ROC#2 Sl#6 Ch#15 HDC pl#12 [X2] wire#48 +16, 9, 30 !TDC ROC#2 Sl#6 Ch#16 HDC pl#9 [U] wire#30 +17, 9, 31 !TDC ROC#2 Sl#6 Ch#17 HDC pl#9 [U] wire#31 +18, 9, 32 !TDC ROC#2 Sl#6 Ch#18 HDC pl#9 [U] wire#32 +19, 9, 33 !TDC ROC#2 Sl#6 Ch#19 HDC pl#9 [U] wire#33 +20, 9, 34 !TDC ROC#2 Sl#6 Ch#20 HDC pl#9 [U] wire#34 +21, 9, 35 !TDC ROC#2 Sl#6 Ch#21 HDC pl#9 [U] wire#35 +22, 9, 36 !TDC ROC#2 Sl#6 Ch#22 HDC pl#9 [U] wire#36 +23, 9, 37 !TDC ROC#2 Sl#6 Ch#23 HDC pl#9 [U] wire#37 +24, 9, 38 !TDC ROC#2 Sl#6 Ch#24 HDC pl#9 [U] wire#38 +25, 9, 39 !TDC ROC#2 Sl#6 Ch#25 HDC pl#9 [U] wire#39 +26, 9, 40 !TDC ROC#2 Sl#6 Ch#26 HDC pl#9 [U] wire#40 +27, 9, 41 !TDC ROC#2 Sl#6 Ch#27 HDC pl#9 [U] wire#41 +28, 9, 42 !TDC ROC#2 Sl#6 Ch#28 HDC pl#9 [U] wire#42 +29, 9, 43 !TDC ROC#2 Sl#6 Ch#29 HDC pl#9 [U] wire#43 +30, 9, 44 !TDC ROC#2 Sl#6 Ch#30 HDC pl#9 [U] wire#44 +31, 9, 45 !TDC ROC#2 Sl#6 Ch#31 HDC pl#9 [U] wire#45 +32, 10, 46 !TDC ROC#2 Sl#6 Ch#32 HDC pl#10 [V] wire#46 +33, 10, 47 !TDC ROC#2 Sl#6 Ch#33 HDC pl#10 [V] wire#47 +34, 10, 48 !TDC ROC#2 Sl#6 Ch#34 HDC pl#10 [V] wire#48 +35, 10, 49 !TDC ROC#2 Sl#6 Ch#35 HDC pl#10 [V] wire#49 +36, 10, 50 !TDC ROC#2 Sl#6 Ch#36 HDC pl#10 [V] wire#50 +37, 10, 51 !TDC ROC#2 Sl#6 Ch#37 HDC pl#10 [V] wire#51 +38, 10, 52 !TDC ROC#2 Sl#6 Ch#38 HDC pl#10 [V] wire#52 +39, 10, 53 !TDC ROC#2 Sl#6 Ch#39 HDC pl#10 [V] wire#53 +40, 10, 54 !TDC ROC#2 Sl#6 Ch#40 HDC pl#10 [V] wire#54 +41, 10, 55 !TDC ROC#2 Sl#6 Ch#41 HDC pl#10 [V] wire#55 +42, 10, 56 !TDC ROC#2 Sl#6 Ch#42 HDC pl#10 [V] wire#56 +43, 10, 57 !TDC ROC#2 Sl#6 Ch#43 HDC pl#10 [V] wire#57 +44, 10, 58 !TDC ROC#2 Sl#6 Ch#44 HDC pl#10 [V] wire#58 +45, 10, 59 !TDC ROC#2 Sl#6 Ch#45 HDC pl#10 [V] wire#59 +46, 10, 60 !TDC ROC#2 Sl#6 Ch#46 HDC pl#10 [V] wire#60 +!47 !TDC ROC#2 Sl#6 Ch#47 HDC unused +48, 7, 49 !TDC ROC#2 Sl#6 Ch#48 HDC pl#7 [X1] wire#49 +49, 7, 50 !TDC ROC#2 Sl#6 Ch#49 HDC pl#7 [X1] wire#50 +50, 7, 51 !TDC ROC#2 Sl#6 Ch#50 HDC pl#7 [X1] wire#51 +51, 7, 52 !TDC ROC#2 Sl#6 Ch#51 HDC pl#7 [X1] wire#52 +52, 7, 53 !TDC ROC#2 Sl#6 Ch#52 HDC pl#7 [X1] wire#53 +53, 7, 54 !TDC ROC#2 Sl#6 Ch#53 HDC pl#7 [X1] wire#54 +54, 7, 55 !TDC ROC#2 Sl#6 Ch#54 HDC pl#7 [X1] wire#55 +55, 7, 56 !TDC ROC#2 Sl#6 Ch#55 HDC pl#7 [X1] wire#56 +56, 7, 57 !TDC ROC#2 Sl#6 Ch#56 HDC pl#7 [X1] wire#57 +57, 7, 58 !TDC ROC#2 Sl#6 Ch#57 HDC pl#7 [X1] wire#58 +58, 7, 59 !TDC ROC#2 Sl#6 Ch#58 HDC pl#7 [X1] wire#59 +59, 7, 60 !TDC ROC#2 Sl#6 Ch#59 HDC pl#7 [X1] wire#60 +60, 7, 61 !TDC ROC#2 Sl#6 Ch#60 HDC pl#7 [X1] wire#61 +61, 7, 62 !TDC ROC#2 Sl#6 Ch#61 HDC pl#7 [X1] wire#62 +62, 7, 63 !TDC ROC#2 Sl#6 Ch#62 HDC pl#7 [X1] wire#63 +63, 7, 64 !TDC ROC#2 Sl#6 Ch#63 HDC pl#7 [X1] wire#64 +64, 12, 49 !TDC ROC#2 Sl#6 Ch#64 HDC pl#12 [X2] wire#49 +65, 12, 50 !TDC ROC#2 Sl#6 Ch#65 HDC pl#12 [X2] wire#50 +66, 12, 51 !TDC ROC#2 Sl#6 Ch#66 HDC pl#12 [X2] wire#51 +67, 12, 52 !TDC ROC#2 Sl#6 Ch#67 HDC pl#12 [X2] wire#52 +68, 12, 53 !TDC ROC#2 Sl#6 Ch#68 HDC pl#12 [X2] wire#53 +69, 12, 54 !TDC ROC#2 Sl#6 Ch#69 HDC pl#12 [X2] wire#54 +70, 12, 55 !TDC ROC#2 Sl#6 Ch#70 HDC pl#12 [X2] wire#55 +71, 12, 56 !TDC ROC#2 Sl#6 Ch#71 HDC pl#12 [X2] wire#56 +72, 12, 57 !TDC ROC#2 Sl#6 Ch#72 HDC pl#12 [X2] wire#57 +73, 12, 58 !TDC ROC#2 Sl#6 Ch#73 HDC pl#12 [X2] wire#58 +74, 12, 59 !TDC ROC#2 Sl#6 Ch#74 HDC pl#12 [X2] wire#59 +75, 12, 60 !TDC ROC#2 Sl#6 Ch#75 HDC pl#12 [X2] wire#60 +76, 12, 61 !TDC ROC#2 Sl#6 Ch#76 HDC pl#12 [X2] wire#61 +77, 12, 62 !TDC ROC#2 Sl#6 Ch#77 HDC pl#12 [X2] wire#62 +78, 12, 63 !TDC ROC#2 Sl#6 Ch#78 HDC pl#12 [X2] wire#63 +79, 12, 64 !TDC ROC#2 Sl#6 Ch#79 HDC pl#12 [X2] wire#64 +80, 10, 30 !TDC ROC#2 Sl#6 Ch#80 HDC pl#10 [V] wire#30 +81, 10, 31 !TDC ROC#2 Sl#6 Ch#81 HDC pl#10 [V] wire#31 +82, 10, 32 !TDC ROC#2 Sl#6 Ch#82 HDC pl#10 [V] wire#32 +83, 10, 33 !TDC ROC#2 Sl#6 Ch#83 HDC pl#10 [V] wire#33 +84, 10, 34 !TDC ROC#2 Sl#6 Ch#84 HDC pl#10 [V] wire#34 +85, 10, 35 !TDC ROC#2 Sl#6 Ch#85 HDC pl#10 [V] wire#35 +86, 10, 36 !TDC ROC#2 Sl#6 Ch#86 HDC pl#10 [V] wire#36 +87, 10, 37 !TDC ROC#2 Sl#6 Ch#87 HDC pl#10 [V] wire#37 +88, 10, 38 !TDC ROC#2 Sl#6 Ch#88 HDC pl#10 [V] wire#38 +89, 10, 39 !TDC ROC#2 Sl#6 Ch#89 HDC pl#10 [V] wire#39 +90, 10, 40 !TDC ROC#2 Sl#6 Ch#90 HDC pl#10 [V] wire#40 +91, 10, 41 !TDC ROC#2 Sl#6 Ch#91 HDC pl#10 [V] wire#41 +92, 10, 42 !TDC ROC#2 Sl#6 Ch#92 HDC pl#10 [V] wire#42 +93, 10, 43 !TDC ROC#2 Sl#6 Ch#93 HDC pl#10 [V] wire#43 +94, 10, 44 !TDC ROC#2 Sl#6 Ch#94 HDC pl#10 [V] wire#44 +95, 10, 45 !TDC ROC#2 Sl#6 Ch#95 HDC pl#10 [V] wire#45 +Slot= 8 +0, 9, 46 !TDC ROC#2 Sl#8 Ch#0 HDC pl#9 [U] wire#46 +1, 9, 47 !TDC ROC#2 Sl#8 Ch#1 HDC pl#9 [U] wire#47 +2, 9, 48 !TDC ROC#2 Sl#8 Ch#2 HDC pl#9 [U] wire#48 +3, 9, 49 !TDC ROC#2 Sl#8 Ch#3 HDC pl#9 [U] wire#49 +4, 9, 50 !TDC ROC#2 Sl#8 Ch#4 HDC pl#9 [U] wire#50 +5, 9, 51 !TDC ROC#2 Sl#8 Ch#5 HDC pl#9 [U] wire#51 +6, 9, 52 !TDC ROC#2 Sl#8 Ch#6 HDC pl#9 [U] wire#52 +7, 9, 53 !TDC ROC#2 Sl#8 Ch#7 HDC pl#9 [U] wire#53 +8, 9, 54 !TDC ROC#2 Sl#8 Ch#8 HDC pl#9 [U] wire#54 +9, 9, 55 !TDC ROC#2 Sl#8 Ch#9 HDC pl#9 [U] wire#55 +10, 9, 56 !TDC ROC#2 Sl#8 Ch#10 HDC pl#9 [U] wire#56 +11, 9, 57 !TDC ROC#2 Sl#8 Ch#11 HDC pl#9 [U] wire#57 +12, 9, 58 !TDC ROC#2 Sl#8 Ch#12 HDC pl#9 [U] wire#58 +13, 9, 59 !TDC ROC#2 Sl#8 Ch#13 HDC pl#9 [U] wire#59 +14, 9, 60 !TDC ROC#2 Sl#8 Ch#14 HDC pl#9 [U] wire#60 +!15 !TDC ROC#2 Sl#8 Ch#15 unused +16, 7, 33 !TDC ROC#2 Sl#8 Ch#16 HDC pl#7 [X1] wire#33 +17, 7, 34 !TDC ROC#2 Sl#8 Ch#17 HDC pl#7 [X1] wire#34 +18, 7, 35 !TDC ROC#2 Sl#8 Ch#18 HDC pl#7 [X1] wire#35 +19, 7, 36 !TDC ROC#2 Sl#8 Ch#19 HDC pl#7 [X1] wire#36 +20, 7, 37 !TDC ROC#2 Sl#8 Ch#20 HDC pl#7 [X1] wire#37 +21, 7, 38 !TDC ROC#2 Sl#8 Ch#21 HDC pl#7 [X1] wire#38 +22, 7, 39 !TDC ROC#2 Sl#8 Ch#22 HDC pl#7 [X1] wire#39 +23, 7, 40 !TDC ROC#2 Sl#8 Ch#23 HDC pl#7 [X1] wire#40 +24, 7, 41 !TDC ROC#2 Sl#8 Ch#24 HDC pl#7 [X1] wire#41 +25, 7, 42 !TDC ROC#2 Sl#8 Ch#25 HDC pl#7 [X1] wire#42 +26, 7, 43 !TDC ROC#2 Sl#8 Ch#26 HDC pl#7 [X1] wire#43 +27, 7, 44 !TDC ROC#2 Sl#8 Ch#27 HDC pl#7 [X1] wire#44 +28, 7, 45 !TDC ROC#2 Sl#8 Ch#28 HDC pl#7 [X1] wire#45 +29, 7, 46 !TDC ROC#2 Sl#8 Ch#29 HDC pl#7 [X1] wire#46 +30, 7, 47 !TDC ROC#2 Sl#8 Ch#30 HDC pl#7 [X1] wire#47 +31, 7, 48 !TDC ROC#2 Sl#8 Ch#31 HDC pl#7 [X1] wire#48 +32, 12, 65 !TDC ROC#2 Sl#8 Ch#32 HDC pl#12 [X2] wire#65 +33, 12, 66 !TDC ROC#2 Sl#8 Ch#33 HDC pl#12 [X2] wire#66 +34, 12, 67 !TDC ROC#2 Sl#8 Ch#34 HDC pl#12 [X2] wire#67 +35, 12, 68 !TDC ROC#2 Sl#8 Ch#35 HDC pl#12 [X2] wire#68 +36, 12, 69 !TDC ROC#2 Sl#8 Ch#36 HDC pl#12 [X2] wire#69 +37, 12, 70 !TDC ROC#2 Sl#8 Ch#37 HDC pl#12 [X2] wire#70 +38, 12, 71 !TDC ROC#2 Sl#8 Ch#38 HDC pl#12 [X2] wire#71 +39, 12, 72 !TDC ROC#2 Sl#8 Ch#39 HDC pl#12 [X2] wire#72 +40, 12, 73 !TDC ROC#2 Sl#8 Ch#40 HDC pl#12 [X2] wire#73 +41, 12, 74 !TDC ROC#2 Sl#8 Ch#41 HDC pl#12 [X2] wire#74 +42, 12, 75 !TDC ROC#2 Sl#8 Ch#42 HDC pl#12 [X2] wire#75 +43, 12, 76 !TDC ROC#2 Sl#8 Ch#43 HDC pl#12 [X2] wire#76 +44, 12, 77 !TDC ROC#2 Sl#8 Ch#44 HDC pl#12 [X2] wire#77 +45, 12, 78 !TDC ROC#2 Sl#8 Ch#45 HDC pl#12 [X2] wire#78 +46, 12, 79 !TDC ROC#2 Sl#8 Ch#46 HDC pl#12 [X2] wire#79 +47, 12, 80 !TDC ROC#2 Sl#8 Ch#47 HDC pl#12 [X2] wire#80 +48, 9, 61 !TDC ROC#2 Sl#8 Ch#48 HDC pl#9 [U] wire#61 +49, 9, 62 !TDC ROC#2 Sl#8 Ch#49 HDC pl#9 [U] wire#62 +50, 9, 63 !TDC ROC#2 Sl#8 Ch#50 HDC pl#9 [U] wire#63 +51, 9, 64 !TDC ROC#2 Sl#8 Ch#51 HDC pl#9 [U] wire#64 +52, 9, 65 !TDC ROC#2 Sl#8 Ch#52 HDC pl#9 [U] wire#65 +53, 9, 66 !TDC ROC#2 Sl#8 Ch#53 HDC pl#9 [U] wire#66 +54, 9, 67 !TDC ROC#2 Sl#8 Ch#54 HDC pl#9 [U] wire#67 +55, 9, 68 !TDC ROC#2 Sl#8 Ch#55 HDC pl#9 [U] wire#68 +56, 9, 69 !TDC ROC#2 Sl#8 Ch#56 HDC pl#9 [U] wire#69 +57, 9, 70 !TDC ROC#2 Sl#8 Ch#57 HDC pl#9 [U] wire#70 +58, 9, 71 !TDC ROC#2 Sl#8 Ch#58 HDC pl#9 [U] wire#71 +59, 9, 72 !TDC ROC#2 Sl#8 Ch#59 HDC pl#9 [U] wire#72 +60, 9, 73 !TDC ROC#2 Sl#8 Ch#60 HDC pl#9 [U] wire#73 +61, 9, 74 !TDC ROC#2 Sl#8 Ch#61 HDC pl#9 [U] wire#74 +62, 9, 75 !TDC ROC#2 Sl#8 Ch#62 HDC pl#9 [U] wire#75 +63, 9, 76 !TDC ROC#2 Sl#8 Ch#63 HDC pl#9 [U] wire#76 +64, 10, 15 !TDC ROC#2 Sl#8 Ch#64 HDC pl#10 [V] wire#15 +65, 10, 16 !TDC ROC#2 Sl#8 Ch#65 HDC pl#10 [V] wire#16 +66, 10, 17 !TDC ROC#2 Sl#8 Ch#66 HDC pl#10 [V] wire#17 +67, 10, 18 !TDC ROC#2 Sl#8 Ch#67 HDC pl#10 [V] wire#18 +68, 10, 19 !TDC ROC#2 Sl#8 Ch#68 HDC pl#10 [V] wire#19 +69, 10, 20 !TDC ROC#2 Sl#8 Ch#69 HDC pl#10 [V] wire#20 +70, 10, 21 !TDC ROC#2 Sl#8 Ch#70 HDC pl#10 [V] wire#21 +71, 10, 22 !TDC ROC#2 Sl#8 Ch#71 HDC pl#10 [V] wire#22 +72, 10, 23 !TDC ROC#2 Sl#8 Ch#72 HDC pl#10 [V] wire#23 +73, 10, 24 !TDC ROC#2 Sl#8 Ch#73 HDC pl#10 [V] wire#24 +74, 10, 25 !TDC ROC#2 Sl#8 Ch#74 HDC pl#10 [V] wire#25 +75, 10, 26 !TDC ROC#2 Sl#8 Ch#75 HDC pl#10 [V] wire#26 +76, 10, 27 !TDC ROC#2 Sl#8 Ch#76 HDC pl#10 [V] wire#27 +77, 10, 28 !TDC ROC#2 Sl#8 Ch#77 HDC pl#10 [V] wire#28 +78, 10, 29 !TDC ROC#2 Sl#8 Ch#78 HDC pl#10 [V] wire#29 +! 79 !TDC ROC#2 Sl#8 Ch#79 unused +80, 7, 17 !TDC ROC#2 Sl#8 Ch#80 HDC pl#7 [X1] wire#17 +81, 7, 18 !TDC ROC#2 Sl#8 Ch#81 HDC pl#7 [X1] wire#18 +82, 7, 19 !TDC ROC#2 Sl#8 Ch#82 HDC pl#7 [X1] wire#19 +83, 7, 20 !TDC ROC#2 Sl#8 Ch#83 HDC pl#7 [X1] wire#20 +84, 7, 21 !TDC ROC#2 Sl#8 Ch#84 HDC pl#7 [X1] wire#21 +85, 7, 22 !TDC ROC#2 Sl#8 Ch#85 HDC pl#7 [X1] wire#22 +86, 7, 23 !TDC ROC#2 Sl#8 Ch#86 HDC pl#7 [X1] wire#23 +87, 7, 24 !TDC ROC#2 Sl#8 Ch#87 HDC pl#7 [X1] wire#24 +88, 7, 25 !TDC ROC#2 Sl#8 Ch#88 HDC pl#7 [X1] wire#25 +89, 7, 26 !TDC ROC#2 Sl#8 Ch#89 HDC pl#7 [X1] wire#26 +90, 7, 27 !TDC ROC#2 Sl#8 Ch#90 HDC pl#7 [X1] wire#27 +91, 7, 28 !TDC ROC#2 Sl#8 Ch#91 HDC pl#7 [X1] wire#28 +92, 7, 29 !TDC ROC#2 Sl#8 Ch#92 HDC pl#7 [X1] wire#29 +93, 7, 30 !TDC ROC#2 Sl#8 Ch#93 HDC pl#7 [X1] wire#30 +94, 7, 31 !TDC ROC#2 Sl#8 Ch#94 HDC pl#7 [X1] wire#31 +95, 7, 32 !TDC ROC#2 Sl#8 Ch#95 HDC pl#7 [X1] wire#32 +Slot= 9 +0, 12, 81 !TDC ROC#2 Sl#9 Ch#0 HDC pl#12 [X2] wire#81 +1, 12, 82 !TDC ROC#2 Sl#9 Ch#1 HDC pl#12 [X2] wire#82 +2, 12, 83 !TDC ROC#2 Sl#9 Ch#2 HDC pl#12 [X2] wire#83 +3, 12, 84 !TDC ROC#2 Sl#9 Ch#3 HDC pl#12 [X2] wire#84 +4, 12, 85 !TDC ROC#2 Sl#9 Ch#4 HDC pl#12 [X2] wire#85 +5, 12, 86 !TDC ROC#2 Sl#9 Ch#5 HDC pl#12 [X2] wire#86 +6, 12, 87 !TDC ROC#2 Sl#9 Ch#6 HDC pl#12 [X2] wire#87 +7, 12, 88 !TDC ROC#2 Sl#9 Ch#7 HDC pl#12 [X2] wire#88 +8, 12, 89 !TDC ROC#2 Sl#9 Ch#8 HDC pl#12 [X2] wire#89 +9, 12, 90 !TDC ROC#2 Sl#9 Ch#9 HDC pl#12 [X2] wire#90 +10, 12, 91 !TDC ROC#2 Sl#9 Ch#10 HDC pl#12 [X2] wire#91 +11, 12, 92 !TDC ROC#2 Sl#9 Ch#11 HDC pl#12 [X2] wire#92 +12, 12, 93 !TDC ROC#2 Sl#9 Ch#12 HDC pl#12 [X2] wire#93 +13, 12, 94 !TDC ROC#2 Sl#9 Ch#13 HDC pl#12 [X2] wire#94 +14, 12, 95 !TDC ROC#2 Sl#9 Ch#14 HDC pl#12 [X2] wire#95 +15, 12, 96 !TDC ROC#2 Sl#9 Ch#15 HDC pl#12 [X2] wire#96 +16, 9, 77 !TDC ROC#2 Sl#9 Ch#16 HDC pl#9 [U] wire#77 +17, 9, 78 !TDC ROC#2 Sl#9 Ch#17 HDC pl#9 [U] wire#78 +18, 9, 79 !TDC ROC#2 Sl#9 Ch#18 HDC pl#9 [U] wire#79 +19, 9, 80 !TDC ROC#2 Sl#9 Ch#19 HDC pl#9 [U] wire#80 +20, 9, 81 !TDC ROC#2 Sl#9 Ch#20 HDC pl#9 [U] wire#81 +21, 9, 82 !TDC ROC#2 Sl#9 Ch#21 HDC pl#9 [U] wire#82 +22, 9, 83 !TDC ROC#2 Sl#9 Ch#22 HDC pl#9 [U] wire#83 +23, 9, 84 !TDC ROC#2 Sl#9 Ch#23 HDC pl#9 [U] wire#84 +24, 9, 85 !TDC ROC#2 Sl#9 Ch#24 HDC pl#9 [U] wire#85 +25, 9, 86 !TDC ROC#2 Sl#9 Ch#25 HDC pl#9 [U] wire#86 +26, 9, 87 !TDC ROC#2 Sl#9 Ch#26 HDC pl#9 [U] wire#87 +27, 9, 88 !TDC ROC#2 Sl#9 Ch#27 HDC pl#9 [U] wire#88 +28, 9, 89 !TDC ROC#2 Sl#9 Ch#28 HDC pl#9 [U] wire#89 +29, 9, 90 !TDC ROC#2 Sl#9 Ch#29 HDC pl#9 [U] wire#90 +30, 9, 91 !TDC ROC#2 Sl#9 Ch#30 HDC pl#9 [U] wire#91 +!31 !TDC ROC#2 Sl#9 Ch#31 unused +32, 12, 113 !TDC ROC#2 Sl#9 Ch#32 HDC pl#12 [X2] wire#113 +!33 !TDC ROC#2 Sl#9 Ch#33 unused +34, 10, 1 !TDC ROC#2 Sl#9 Ch#34 HDC pl#10 [V] wire#1 +35, 10, 2 !TDC ROC#2 Sl#9 Ch#35 HDC pl#10 [V] wire#2 +36, 10, 3 !TDC ROC#2 Sl#9 Ch#36 HDC pl#10 [V] wire#3 +37, 10, 4 !TDC ROC#2 Sl#9 Ch#37 HDC pl#10 [V] wire#4 +38, 10, 5 !TDC ROC#2 Sl#9 Ch#38 HDC pl#10 [V] wire#5 +39, 10, 6 !TDC ROC#2 Sl#9 Ch#39 HDC pl#10 [V] wire#6 +40, 10, 7 !TDC ROC#2 Sl#9 Ch#40 HDC pl#10 [V] wire#7 +41, 10, 8 !TDC ROC#2 Sl#9 Ch#41 HDC pl#10 [V] wire#8 +42, 10, 9 !TDC ROC#2 Sl#9 Ch#42 HDC pl#10 [V] wire#9 +43, 10, 10 !TDC ROC#2 Sl#9 Ch#43 HDC pl#10 [V] wire#10 +44, 10, 11 !TDC ROC#2 Sl#9 Ch#44 HDC pl#10 [V] wire#11 +45, 10, 12 !TDC ROC#2 Sl#9 Ch#45 HDC pl#10 [V] wire#12 +46, 10, 13 !TDC ROC#2 Sl#9 Ch#46 HDC pl#10 [V] wire#13 +47, 10, 14 !TDC ROC#2 Sl#9 Ch#47 HDC pl#10 [V] wire#14 +48, 7, 1 !TDC ROC#2 Sl#9 Ch#48 HDC pl#7 [X1] wire#1 +49, 7, 2 !TDC ROC#2 Sl#9 Ch#49 HDC pl#7 [X1] wire#2 +50, 7, 3 !TDC ROC#2 Sl#9 Ch#50 HDC pl#7 [X1] wire#3 +51, 7, 4 !TDC ROC#2 Sl#9 Ch#51 HDC pl#7 [X1] wire#4 +52, 7, 5 !TDC ROC#2 Sl#9 Ch#52 HDC pl#7 [X1] wire#5 +53, 7, 6 !TDC ROC#2 Sl#9 Ch#53 HDC pl#7 [X1] wire#6 +54, 7, 7 !TDC ROC#2 Sl#9 Ch#54 HDC pl#7 [X1] wire#7 +55, 7, 8 !TDC ROC#2 Sl#9 Ch#55 HDC pl#7 [X1] wire#8 +56, 7, 9 !TDC ROC#2 Sl#9 Ch#56 HDC pl#7 [X1] wire#9 +57, 7, 10 !TDC ROC#2 Sl#9 Ch#57 HDC pl#7 [X1] wire#10 +58, 7, 11 !TDC ROC#2 Sl#9 Ch#58 HDC pl#7 [X1] wire#11 +59, 7, 12 !TDC ROC#2 Sl#9 Ch#59 HDC pl#7 [X1] wire#12 +60, 7, 13 !TDC ROC#2 Sl#9 Ch#60 HDC pl#7 [X1] wire#13 +61, 7, 14 !TDC ROC#2 Sl#9 Ch#61 HDC pl#7 [X1] wire#14 +62, 7, 15 !TDC ROC#2 Sl#9 Ch#62 HDC pl#7 [X1] wire#15 +63, 7, 16 !TDC ROC#2 Sl#9 Ch#63 HDC pl#7 [X1] wire#16 +64, 12, 97 !TDC ROC#2 Sl#9 Ch#64 HDC pl#12 [X2] wire#97 +65, 12, 98 !TDC ROC#2 Sl#9 Ch#65 HDC pl#12 [X2] wire#98 +66, 12, 99 !TDC ROC#2 Sl#9 Ch#66 HDC pl#12 [X2] wire#99 +67, 12, 100 !TDC ROC#2 Sl#9 Ch#67 HDC pl#12 [X2] wire#100 +68, 12, 101 !TDC ROC#2 Sl#9 Ch#68 HDC pl#12 [X2] wire#101 +69, 12, 102 !TDC ROC#2 Sl#9 Ch#69 HDC pl#12 [X2] wire#102 +70, 12, 103 !TDC ROC#2 Sl#9 Ch#70 HDC pl#12 [X2] wire#103 +71, 12, 104 !TDC ROC#2 Sl#9 Ch#71 HDC pl#12 [X2] wire#104 +72, 12, 105 !TDC ROC#2 Sl#9 Ch#72 HDC pl#12 [X2] wire#105 +73, 12, 106 !TDC ROC#2 Sl#9 Ch#73 HDC pl#12 [X2] wire#106 +74, 12, 107 !TDC ROC#2 Sl#9 Ch#74 HDC pl#12 [X2] wire#107 +75, 12, 108 !TDC ROC#2 Sl#9 Ch#75 HDC pl#12 [X2] wire#108 +76, 12, 109 !TDC ROC#2 Sl#9 Ch#76 HDC pl#12 [X2] wire#109 +77, 12, 110 !TDC ROC#2 Sl#9 Ch#77 HDC pl#12 [X2] wire#110 +78, 12, 111 !TDC ROC#2 Sl#9 Ch#78 HDC pl#12 [X2] wire#111 +79, 12, 112 !TDC ROC#2 Sl#9 Ch#79 HDC pl#12 [X2] wire#112 +80, 9, 92 !TDC ROC#2 Sl#9 Ch#80 HDC pl#9 [U] wire#92 +81, 9, 93 !TDC ROC#2 Sl#9 Ch#81 HDC pl#9 [U] wire#93 +82, 9, 94 !TDC ROC#2 Sl#9 Ch#82 HDC pl#9 [U] wire#94 +83, 9, 95 !TDC ROC#2 Sl#9 Ch#83 HDC pl#9 [U] wire#95 +84, 9, 96 !TDC ROC#2 Sl#9 Ch#84 HDC pl#9 [U] wire#96 +85, 9, 97 !TDC ROC#2 Sl#9 Ch#85 HDC pl#9 [U] wire#97 +86, 9, 98 !TDC ROC#2 Sl#9 Ch#86 HDC pl#9 [U] wire#98 +87, 9, 99 !TDC ROC#2 Sl#9 Ch#87 HDC pl#9 [U] wire#99 +88, 9, 100 !TDC ROC#2 Sl#9 Ch#88 HDC pl#9 [U] wire#100 +89, 9, 101 !TDC ROC#2 Sl#9 Ch#89 HDC pl#9 [U] wire#101 +90, 9, 102 !TDC ROC#2 Sl#9 Ch#90 HDC pl#9 [U] wire#102 +91, 9, 103 !TDC ROC#2 Sl#9 Ch#91 HDC pl#9 [U] wire#103 +92, 9, 104 !TDC ROC#2 Sl#9 Ch#92 HDC pl#9 [U] wire#104 +93, 9, 105 !TDC ROC#2 Sl#9 Ch#93 HDC pl#9 [U] wire#105 +94, 9, 106 !TDC ROC#2 Sl#9 Ch#94 HDC pl#9 [U] wire#106 +95, 9, 107 !TDC ROC#2 Sl#9 Ch#95 HDC pl#9 [U] wire#107 +! +! +! 2nd HDC chamber planes1-6 +Slot= 15 +0, 1, 1 !TDC ROC#2 Sl#11 Ch#0 HDC pl#7 [X1] wire#1 +1, 1, 2 !TDC ROC#2 Sl#11 Ch#1 HDC pl#7 [X1] wire#2 +2, 1, 3 !TDC ROC#2 Sl#11 Ch#2 HDC pl#7 [X1] wire#3 +3, 1, 4 !TDC ROC#2 Sl#11 Ch#3 HDC pl#7 [X1] wire#4 +4, 1, 5 !TDC ROC#2 Sl#11 Ch#4 HDC pl#7 [X1] wire#5 +5, 1, 6 !TDC ROC#2 Sl#11 Ch#5 HDC pl#7 [X1] wire#6 +6, 1, 7 !TDC ROC#2 Sl#11 Ch#6 HDC pl#7 [X1] wire#7 +7, 1, 8 !TDC ROC#2 Sl#11 Ch#7 HDC pl#7 [X1] wire#8 +8, 1, 9 !TDC ROC#2 Sl#11 Ch#8 HDC pl#7 [X1] wire#9 +9, 1, 10 !TDC ROC#2 Sl#11 Ch#9 HDC pl#7 [X1] wire#10 +10, 1, 11 !TDC ROC#2 Sl#11 Ch#10 HDC pl#7 [X1] wire#11 +11, 1, 12 !TDC ROC#2 Sl#11 Ch#11 HDC pl#7 [X1] wire#12 +12, 1, 13 !TDC ROC#2 Sl#11 Ch#12 HDC pl#7 [X1] wire#13 +13, 1, 14 !TDC ROC#2 Sl#11 Ch#13 HDC pl#7 [X1] wire#14 +14, 1, 15 !TDC ROC#2 Sl#11 Ch#14 HDC pl#7 [X1] wire#15 +15, 1, 16 !TDC ROC#2 Sl#11 Ch#15 HDC pl#7 [X1] wire#16 +16, 1, 17 !TDC ROC#2 Sl#11 Ch#16 HDC pl#7 [X1] wire#17 +17, 1, 18 !TDC ROC#2 Sl#11 Ch#17 HDC pl#7 [X1] wire#18 +18, 1, 19 !TDC ROC#2 Sl#11 Ch#18 HDC pl#7 [X1] wire#19 +19, 1, 20 !TDC ROC#2 Sl#11 Ch#19 HDC pl#7 [X1] wire#20 +20, 1, 21 !TDC ROC#2 Sl#11 Ch#20 HDC pl#7 [X1] wire#21 +21, 1, 22 !TDC ROC#2 Sl#11 Ch#21 HDC pl#7 [X1] wire#22 +22, 1, 23 !TDC ROC#2 Sl#11 Ch#22 HDC pl#7 [X1] wire#23 +23, 1, 24 !TDC ROC#2 Sl#11 Ch#23 HDC pl#7 [X1] wire#24 +24, 1, 25 !TDC ROC#2 Sl#11 Ch#24 HDC pl#7 [X1] wire#25 +25, 1, 26 !TDC ROC#2 Sl#11 Ch#25 HDC pl#7 [X1] wire#26 +26, 1, 27 !TDC ROC#2 Sl#11 Ch#26 HDC pl#7 [X1] wire#27 +27, 1, 28 !TDC ROC#2 Sl#11 Ch#27 HDC pl#7 [X1] wire#28 +28, 1, 29 !TDC ROC#2 Sl#11 Ch#28 HDC pl#7 [X1] wire#29 +29, 1, 30 !TDC ROC#2 Sl#11 Ch#29 HDC pl#7 [X1] wire#30 +30, 1, 31 !TDC ROC#2 Sl#11 Ch#30 HDC pl#7 [X1] wire#31 +31, 1, 32 !TDC ROC#2 Sl#11 Ch#31 HDC pl#7 [X1] wire#32 +32, 1, 33 !TDC ROC#2 Sl#11 Ch#32 HDC pl#7 [X1] wire#33 +33, 1, 34 !TDC ROC#2 Sl#11 Ch#33 HDC pl#7 [X1] wire#34 +34, 1, 35 !TDC ROC#2 Sl#11 Ch#34 HDC pl#7 [X1] wire#35 +35, 1, 36 !TDC ROC#2 Sl#11 Ch#35 HDC pl#7 [X1] wire#36 +36, 1, 37 !TDC ROC#2 Sl#11 Ch#36 HDC pl#7 [X1] wire#37 +37, 1, 38 !TDC ROC#2 Sl#11 Ch#37 HDC pl#7 [X1] wire#38 +38, 1, 39 !TDC ROC#2 Sl#11 Ch#38 HDC pl#7 [X1] wire#39 +39, 1, 40 !TDC ROC#2 Sl#11 Ch#39 HDC pl#7 [X1] wire#40 +40, 1, 41 !TDC ROC#2 Sl#11 Ch#40 HDC pl#7 [X1] wire#41 +41, 1, 42 !TDC ROC#2 Sl#11 Ch#41 HDC pl#7 [X1] wire#42 +42, 1, 43 !TDC ROC#2 Sl#11 Ch#42 HDC pl#7 [X1] wire#43 +43, 1, 44 !TDC ROC#2 Sl#11 Ch#43 HDC pl#7 [X1] wire#44 +44, 1, 45 !TDC ROC#2 Sl#11 Ch#44 HDC pl#7 [X1] wire#45 +45, 1, 46 !TDC ROC#2 Sl#11 Ch#45 HDC pl#7 [X1] wire#46 +46, 1, 47 !TDC ROC#2 Sl#11 Ch#46 HDC pl#7 [X1] wire#47 +47, 1, 48 !TDC ROC#2 Sl#11 Ch#47 HDC pl#7 [X1] wire#48 +48, 1, 49 !TDC ROC#2 Sl#11 Ch#48 HDC pl#7 [X1] wire#49 +49, 1, 50 !TDC ROC#2 Sl#11 Ch#49 HDC pl#7 [X1] wire#50 +50, 1, 51 !TDC ROC#2 Sl#11 Ch#50 HDC pl#7 [X1] wire#51 +51, 1, 52 !TDC ROC#2 Sl#11 Ch#51 HDC pl#7 [X1] wire#52 +52, 1, 53 !TDC ROC#2 Sl#11 Ch#52 HDC pl#7 [X1] wire#53 +53, 1, 54 !TDC ROC#2 Sl#11 Ch#53 HDC pl#7 [X1] wire#54 +54, 1, 55 !TDC ROC#2 Sl#11 Ch#54 HDC pl#7 [X1] wire#55 +55, 1, 56 !TDC ROC#2 Sl#11 Ch#55 HDC pl#7 [X1] wire#56 +56, 1, 57 !TDC ROC#2 Sl#11 Ch#56 HDC pl#7 [X1] wire#57 +57, 1, 58 !TDC ROC#2 Sl#11 Ch#57 HDC pl#7 [X1] wire#58 +58, 1, 59 !TDC ROC#2 Sl#11 Ch#58 HDC pl#7 [X1] wire#59 +59, 1, 60 !TDC ROC#2 Sl#11 Ch#59 HDC pl#7 [X1] wire#60 +60, 1, 61 !TDC ROC#2 Sl#11 Ch#60 HDC pl#7 [X1] wire#61 +61, 1, 62 !TDC ROC#2 Sl#11 Ch#61 HDC pl#7 [X1] wire#62 +62, 1, 63 !TDC ROC#2 Sl#11 Ch#62 HDC pl#7 [X1] wire#63 +63, 1, 64 !TDC ROC#2 Sl#11 Ch#63 HDC pl#7 [X1] wire#64 +64, 1, 65 !TDC ROC#2 Sl#11 Ch#64 HDC pl#7 [X1] wire#65 +65, 1, 66 !TDC ROC#2 Sl#11 Ch#65 HDC pl#7 [X1] wire#66 +66, 1, 67 !TDC ROC#2 Sl#11 Ch#66 HDC pl#7 [X1] wire#67 +67, 1, 68 !TDC ROC#2 Sl#11 Ch#67 HDC pl#7 [X1] wire#68 +68, 1, 69 !TDC ROC#2 Sl#11 Ch#68 HDC pl#7 [X1] wire#69 +69, 1, 70 !TDC ROC#2 Sl#11 Ch#69 HDC pl#7 [X1] wire#70 +70, 1, 71 !TDC ROC#2 Sl#11 Ch#70 HDC pl#7 [X1] wire#71 +71, 1, 72 !TDC ROC#2 Sl#11 Ch#71 HDC pl#7 [X1] wire#72 +72, 1, 73 !TDC ROC#2 Sl#11 Ch#72 HDC pl#7 [X1] wire#73 +73, 1, 74 !TDC ROC#2 Sl#11 Ch#73 HDC pl#7 [X1] wire#74 +74, 1, 75 !TDC ROC#2 Sl#11 Ch#74 HDC pl#7 [X1] wire#75 +75, 1, 76 !TDC ROC#2 Sl#11 Ch#75 HDC pl#7 [X1] wire#76 +76, 1, 77 !TDC ROC#2 Sl#11 Ch#76 HDC pl#7 [X1] wire#77 +77, 1, 78 !TDC ROC#2 Sl#11 Ch#77 HDC pl#7 [X1] wire#78 +78, 1, 79 !TDC ROC#2 Sl#11 Ch#78 HDC pl#7 [X1] wire#79 +79, 1, 80 !TDC ROC#2 Sl#11 Ch#79 HDC pl#7 [X1] wire#80 +80, 1, 81 !TDC ROC#2 Sl#11 Ch#80 HDC pl#7 [X1] wire#81 +81, 1, 82 !TDC ROC#2 Sl#11 Ch#81 HDC pl#7 [X1] wire#82 +82, 1, 83 !TDC ROC#2 Sl#11 Ch#82 HDC pl#7 [X1] wire#83 +83, 1, 84 !TDC ROC#2 Sl#11 Ch#83 HDC pl#7 [X1] wire#84 +84, 1, 85 !TDC ROC#2 Sl#11 Ch#84 HDC pl#7 [X1] wire#85 +85, 1, 86 !TDC ROC#2 Sl#11 Ch#85 HDC pl#7 [X1] wire#86 +86, 1, 87 !TDC ROC#2 Sl#11 Ch#86 HDC pl#7 [X1] wire#87 +87, 1, 88 !TDC ROC#2 Sl#11 Ch#87 HDC pl#7 [X1] wire#88 +88, 1, 89 !TDC ROC#2 Sl#11 Ch#88 HDC pl#7 [X1] wire#89 +89, 1, 90 !TDC ROC#2 Sl#11 Ch#89 HDC pl#7 [X1] wire#90 +90, 1, 91 !TDC ROC#2 Sl#11 Ch#90 HDC pl#7 [X1] wire#91 +91, 1, 92 !TDC ROC#2 Sl#11 Ch#91 HDC pl#7 [X1] wire#92 +92, 1, 93 !TDC ROC#2 Sl#11 Ch#92 HDC pl#7 [X1] wire#93 +93, 1, 94 !TDC ROC#2 Sl#11 Ch#93 HDC pl#7 [X1] wire#94 +94, 1, 95 !TDC ROC#2 Sl#11 Ch#94 HDC pl#7 [X1] wire#95 +95, 1, 96 !TDC ROC#2 Sl#11 Ch#95 HDC pl#7 [X1] wire#96 +Slot= 16 +0, 1, 97 !TDC ROC#2 Sl#12 Ch#0 HDC pl#7 [X1] wire#97 +1, 1, 98 !TDC ROC#2 Sl#12 Ch#1 HDC pl#7 [X1] wire#98 +2, 1, 99 !TDC ROC#2 Sl#12 Ch#2 HDC pl#7 [X1] wire#99 +3, 1, 100 !TDC ROC#2 Sl#12 Ch#3 HDC pl#7 [X1] wire#100 +4, 1, 101 !TDC ROC#2 Sl#12 Ch#4 HDC pl#7 [X1] wire#101 +5, 1, 102 !TDC ROC#2 Sl#12 Ch#5 HDC pl#7 [X1] wire#102 +6, 1, 103 !TDC ROC#2 Sl#12 Ch#6 HDC pl#7 [X1] wire#103 +7, 1, 104 !TDC ROC#2 Sl#12 Ch#7 HDC pl#7 [X1] wire#104 +8, 1, 105 !TDC ROC#2 Sl#12 Ch#8 HDC pl#7 [X1] wire#105 +9, 1, 106 !TDC ROC#2 Sl#12 Ch#9 HDC pl#7 [X1] wire#106 +10, 1, 107 !TDC ROC#2 Sl#12 Ch#10 HDC pl#7 [X1] wire#107 +11, 1, 108 !TDC ROC#2 Sl#12 Ch#11 HDC pl#7 [X1] wire#108 +12, 1, 109 !TDC ROC#2 Sl#12 Ch#12 HDC pl#7 [X1] wire#109 +13, 1, 110 !TDC ROC#2 Sl#12 Ch#13 HDC pl#7 [X1] wire#110 +14, 1, 111 !TDC ROC#2 Sl#12 Ch#14 HDC pl#7 [X1] wire#111 +15, 1, 112 !TDC ROC#2 Sl#12 Ch#15 HDC pl#7 [X1] wire#112 +16, 2, 1 !TDC ROC#2 Sl#12 Ch#16 HDC pl#8 [Y1] wire#1 +17, 2, 2 !TDC ROC#2 Sl#12 Ch#17 HDC pl#8 [Y1] wire#2 +18, 2, 3 !TDC ROC#2 Sl#12 Ch#18 HDC pl#8 [Y1] wire#3 +19, 2, 4 !TDC ROC#2 Sl#12 Ch#19 HDC pl#8 [Y1] wire#4 +20, 2, 5 !TDC ROC#2 Sl#12 Ch#20 HDC pl#8 [Y1] wire#5 +21, 2, 6 !TDC ROC#2 Sl#12 Ch#21 HDC pl#8 [Y1] wire#6 +22, 2, 7 !TDC ROC#2 Sl#12 Ch#22 HDC pl#8 [Y1] wire#7 +23, 2, 8 !TDC ROC#2 Sl#12 Ch#23 HDC pl#8 [Y1] wire#8 +24, 2, 9 !TDC ROC#2 Sl#12 Ch#24 HDC pl#8 [Y1] wire#9 +25, 2, 10 !TDC ROC#2 Sl#12 Ch#25 HDC pl#8 [Y1] wire#10 +26, 2, 11 !TDC ROC#2 Sl#12 Ch#26 HDC pl#8 [Y1] wire#11 +27, 2, 12 !TDC ROC#2 Sl#12 Ch#27 HDC pl#8 [Y1] wire#12 +28, 2, 13 !TDC ROC#2 Sl#12 Ch#28 HDC pl#8 [Y1] wire#13 +! 29 !TDC ROC#2 Sl#12 Ch#29 unused +! 30 !TDC ROC#2 Sl#12 Ch#30 unused +! 31 !TDC ROC#2 Sl#12 Ch#31 unused +32, 2, 14 !TDC ROC#2 Sl#12 Ch#32 HDC pl#8 [Y1] wire#14 +33, 2, 15 !TDC ROC#2 Sl#12 Ch#33 HDC pl#8 [Y1] wire#15 +34, 2, 16 !TDC ROC#2 Sl#12 Ch#34 HDC pl#8 [Y1] wire#16 +35, 2, 17 !TDC ROC#2 Sl#12 Ch#35 HDC pl#8 [Y1] wire#17 +36, 2, 18 !TDC ROC#2 Sl#12 Ch#36 HDC pl#8 [Y1] wire#18 +37, 2, 19 !TDC ROC#2 Sl#12 Ch#37 HDC pl#8 [Y1] wire#19 +38, 2, 20 !TDC ROC#2 Sl#12 Ch#38 HDC pl#8 [Y1] wire#20 +39, 2, 21 !TDC ROC#2 Sl#12 Ch#39 HDC pl#8 [Y1] wire#21 +40, 2, 22 !TDC ROC#2 Sl#12 Ch#40 HDC pl#8 [Y1] wire#22 +41, 2, 23 !TDC ROC#2 Sl#12 Ch#41 HDC pl#8 [Y1] wire#23 +42, 2, 24 !TDC ROC#2 Sl#12 Ch#42 HDC pl#8 [Y1] wire#24 +43, 2, 25 !TDC ROC#2 Sl#12 Ch#43 HDC pl#8 [Y1] wire#25 +44, 2, 26 !TDC ROC#2 Sl#12 Ch#44 HDC pl#8 [Y1] wire#26 +! 45 !TDC ROC#2 Sl#12 Ch#45 unused +! 46 !TDC ROC#2 Sl#12 Ch#46 unused +! 47 !TDC ROC#2 Sl#12 Ch#47 unused +48, 2, 27 !TDC ROC#2 Sl#12 Ch#48 HDC pl#8 [Y1] wire#27 +49, 2, 28 !TDC ROC#2 Sl#12 Ch#49 HDC pl#8 [Y1] wire#28 +50, 2, 29 !TDC ROC#2 Sl#12 Ch#50 HDC pl#8 [Y1] wire#29 +51, 2, 30 !TDC ROC#2 Sl#12 Ch#51 HDC pl#8 [Y1] wire#30 +52, 2, 31 !TDC ROC#2 Sl#12 Ch#52 HDC pl#8 [Y1] wire#31 +53, 2, 32 !TDC ROC#2 Sl#12 Ch#53 HDC pl#8 [Y1] wire#32 +54, 2, 33 !TDC ROC#2 Sl#12 Ch#54 HDC pl#8 [Y1] wire#33 +55, 2, 34 !TDC ROC#2 Sl#12 Ch#55 HDC pl#8 [Y1] wire#34 +56, 2, 35 !TDC ROC#2 Sl#12 Ch#56 HDC pl#8 [Y1] wire#35 +57, 2, 36 !TDC ROC#2 Sl#12 Ch#57 HDC pl#8 [Y1] wire#36 +58, 2, 37 !TDC ROC#2 Sl#12 Ch#58 HDC pl#8 [Y1] wire#37 +59, 2, 38 !TDC ROC#2 Sl#12 Ch#59 HDC pl#8 [Y1] wire#38 +60, 2, 39 !TDC ROC#2 Sl#12 Ch#60 HDC pl#8 [Y1] wire#39 +! 61 !TDC ROC#2 Sl#12 Ch#61 unused +! 62 !TDC ROC#2 Sl#12 Ch#62 unused +! 63 !TDC ROC#2 Sl#12 Ch#63 unused +64, 2, 40 !TDC ROC#2 Sl#12 Ch#64 HDC pl#8 [Y1] wire#40 +65, 2, 41 !TDC ROC#2 Sl#12 Ch#65 HDC pl#8 [Y1] wire#41 +66, 2, 42 !TDC ROC#2 Sl#12 Ch#66 HDC pl#8 [Y1] wire#42 +67, 2, 43 !TDC ROC#2 Sl#12 Ch#67 HDC pl#8 [Y1] wire#43 +68, 2, 44 !TDC ROC#2 Sl#12 Ch#68 HDC pl#8 [Y1] wire#44 +69, 2, 45 !TDC ROC#2 Sl#12 Ch#69 HDC pl#8 [Y1] wire#45 +70, 2, 46 !TDC ROC#2 Sl#12 Ch#70 HDC pl#8 [Y1] wire#46 +71, 2, 47 !TDC ROC#2 Sl#12 Ch#71 HDC pl#8 [Y1] wire#47 +72, 2, 48 !TDC ROC#2 Sl#12 Ch#72 HDC pl#8 [Y1] wire#48 +73, 2, 49 !TDC ROC#2 Sl#12 Ch#73 HDC pl#8 [Y1] wire#49 +74, 2, 50 !TDC ROC#2 Sl#12 Ch#74 HDC pl#8 [Y1] wire#50 +75, 2, 51 !TDC ROC#2 Sl#12 Ch#75 HDC pl#8 [Y1] wire#51 +76, 2, 52 !TDC ROC#2 Sl#12 Ch#76 HDC pl#8 [Y1] wire#52 +! 77 !TDC ROC#2 Sl#12 Ch#77 unused +! 78 !TDC ROC#2 Sl#12 Ch#78 unused +! 79 !TDC ROC#2 Sl#12 Ch#79 unused +80, 1, 113 !TDC ROC#2 Sl#12 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#12 Ch#81 unused +82, 3, 1 !TDC ROC#2 Sl#12 Ch#82 HDC pl#9 [U] wire#1 +83, 3, 2 !TDC ROC#2 Sl#12 Ch#83 HDC pl#9 [U] wire#2 +84, 3, 3 !TDC ROC#2 Sl#12 Ch#84 HDC pl#9 [U] wire#3 +85, 3, 4 !TDC ROC#2 Sl#12 Ch#85 HDC pl#9 [U] wire#4 +86, 3, 5 !TDC ROC#2 Sl#12 Ch#86 HDC pl#9 [U] wire#5 +87, 3, 6 !TDC ROC#2 Sl#12 Ch#87 HDC pl#9 [U] wire#6 +88, 3, 7 !TDC ROC#2 Sl#12 Ch#88 HDC pl#9 [U] wire#7 +89, 3, 8 !TDC ROC#2 Sl#12 Ch#89 HDC pl#9 [U] wire#8 +90, 3, 9 !TDC ROC#2 Sl#12 Ch#90 HDC pl#9 [U] wire#9 +91, 3, 10 !TDC ROC#2 Sl#12 Ch#91 HDC pl#9 [U] wire#10 +92, 3, 11 !TDC ROC#2 Sl#12 Ch#92 HDC pl#9 [U] wire#11 +93, 3, 12 !TDC ROC#2 Sl#12 Ch#93 HDC pl#9 [U] wire#12 +94, 3, 13 !TDC ROC#2 Sl#12 Ch#94 HDC pl#9 [U] wire#13 +95, 3, 14 !TDC ROC#2 Sl#12 Ch#95 HDC pl#9 [U] wire#14 +Slot= 18 +0, 3, 15 !TDC ROC#2 Sl#14 Ch#0 HDC pl#9 [U] wire#15 +1, 3, 16 !TDC ROC#2 Sl#14 Ch#1 HDC pl#9 [U] wire#16 +2, 3, 17 !TDC ROC#2 Sl#14 Ch#2 HDC pl#9 [U] wire#17 +3, 3, 18 !TDC ROC#2 Sl#14 Ch#3 HDC pl#9 [U] wire#18 +4, 3, 19 !TDC ROC#2 Sl#14 Ch#4 HDC pl#9 [U] wire#19 +5, 3, 20 !TDC ROC#2 Sl#14 Ch#5 HDC pl#9 [U] wire#20 +6, 3, 21 !TDC ROC#2 Sl#14 Ch#6 HDC pl#9 [U] wire#21 +7, 3, 22 !TDC ROC#2 Sl#14 Ch#7 HDC pl#9 [U] wire#22 +8, 3, 23 !TDC ROC#2 Sl#14 Ch#8 HDC pl#9 [U] wire#23 +9, 3, 24 !TDC ROC#2 Sl#14 Ch#9 HDC pl#9 [U] wire#24 +10, 3, 25 !TDC ROC#2 Sl#14 Ch#10 HDC pl#9 [U] wire#25 +11, 3, 26 !TDC ROC#2 Sl#14 Ch#11 HDC pl#9 [U] wire#26 +12, 3, 27 !TDC ROC#2 Sl#14 Ch#12 HDC pl#9 [U] wire#27 +13, 3, 28 !TDC ROC#2 Sl#14 Ch#13 HDC pl#9 [U] wire#28 +14, 3, 29 !TDC ROC#2 Sl#14 Ch#14 HDC pl#9 [U] wire#29 +! 15 !TDC ROC#2 Sl#14 Ch#15 unused +16, 3, 30 !TDC ROC#2 Sl#14 Ch#16 HDC pl#9 [U] wire#30 +17, 3, 31 !TDC ROC#2 Sl#14 Ch#17 HDC pl#9 [U] wire#31 +18, 3, 32 !TDC ROC#2 Sl#14 Ch#18 HDC pl#9 [U] wire#32 +19, 3, 33 !TDC ROC#2 Sl#14 Ch#19 HDC pl#9 [U] wire#33 +20, 3, 34 !TDC ROC#2 Sl#14 Ch#20 HDC pl#9 [U] wire#34 +21, 3, 35 !TDC ROC#2 Sl#14 Ch#21 HDC pl#9 [U] wire#35 +22, 3, 36 !TDC ROC#2 Sl#14 Ch#22 HDC pl#9 [U] wire#36 +23, 3, 37 !TDC ROC#2 Sl#14 Ch#23 HDC pl#9 [U] wire#37 +24, 3, 38 !TDC ROC#2 Sl#14 Ch#24 HDC pl#9 [U] wire#38 +25, 3, 39 !TDC ROC#2 Sl#14 Ch#25 HDC pl#9 [U] wire#39 +26, 3, 40 !TDC ROC#2 Sl#14 Ch#26 HDC pl#9 [U] wire#40 +27, 3, 41 !TDC ROC#2 Sl#14 Ch#27 HDC pl#9 [U] wire#41 +28, 3, 42 !TDC ROC#2 Sl#14 Ch#28 HDC pl#9 [U] wire#42 +29, 3, 43 !TDC ROC#2 Sl#14 Ch#29 HDC pl#9 [U] wire#43 +30, 3, 44 !TDC ROC#2 Sl#14 Ch#30 HDC pl#9 [U] wire#44 +31, 3, 45 !TDC ROC#2 Sl#14 Ch#31 HDC pl#9 [U] wire#45 +32, 3, 46 !TDC ROC#2 Sl#14 Ch#32 HDC pl#9 [U] wire#46 +33, 3, 47 !TDC ROC#2 Sl#14 Ch#33 HDC pl#9 [U] wire#47 +34, 3, 48 !TDC ROC#2 Sl#14 Ch#34 HDC pl#9 [U] wire#48 +35, 3, 49 !TDC ROC#2 Sl#14 Ch#35 HDC pl#9 [U] wire#49 +36, 3, 50 !TDC ROC#2 Sl#14 Ch#36 HDC pl#9 [U] wire#50 +37, 3, 51 !TDC ROC#2 Sl#14 Ch#37 HDC pl#9 [U] wire#51 +38, 3, 52 !TDC ROC#2 Sl#14 Ch#38 HDC pl#9 [U] wire#52 +39, 3, 53 !TDC ROC#2 Sl#14 Ch#39 HDC pl#9 [U] wire#53 +40, 3, 54 !TDC ROC#2 Sl#14 Ch#40 HDC pl#9 [U] wire#54 +41, 3, 55 !TDC ROC#2 Sl#14 Ch#41 HDC pl#9 [U] wire#55 +42, 3, 56 !TDC ROC#2 Sl#14 Ch#42 HDC pl#9 [U] wire#56 +43, 3, 57 !TDC ROC#2 Sl#14 Ch#43 HDC pl#9 [U] wire#57 +44, 3, 58 !TDC ROC#2 Sl#14 Ch#44 HDC pl#9 [U] wire#58 +45, 3, 59 !TDC ROC#2 Sl#14 Ch#45 HDC pl#9 [U] wire#59 +46, 3, 60 !TDC ROC#2 Sl#14 Ch#46 HDC pl#9 [U] wire#60 +! 47 !TDC ROC#2 Sl#14 Ch#47 unused +48, 3, 61 !TDC ROC#2 Sl#14 Ch#48 HDC pl#9 [U] wire#61 +49, 3, 62 !TDC ROC#2 Sl#14 Ch#49 HDC pl#9 [U] wire#62 +50, 3, 63 !TDC ROC#2 Sl#14 Ch#50 HDC pl#9 [U] wire#63 +51, 3, 64 !TDC ROC#2 Sl#14 Ch#51 HDC pl#9 [U] wire#64 +52, 3, 65 !TDC ROC#2 Sl#14 Ch#52 HDC pl#9 [U] wire#65 +53, 3, 66 !TDC ROC#2 Sl#14 Ch#53 HDC pl#9 [U] wire#66 +54, 3, 67 !TDC ROC#2 Sl#14 Ch#54 HDC pl#9 [U] wire#67 +55, 3, 68 !TDC ROC#2 Sl#14 Ch#55 HDC pl#9 [U] wire#68 +56, 3, 69 !TDC ROC#2 Sl#14 Ch#56 HDC pl#9 [U] wire#69 +57, 3, 70 !TDC ROC#2 Sl#14 Ch#57 HDC pl#9 [U] wire#70 +58, 3, 71 !TDC ROC#2 Sl#14 Ch#58 HDC pl#9 [U] wire#71 +59, 3, 72 !TDC ROC#2 Sl#14 Ch#59 HDC pl#9 [U] wire#72 +60, 3, 73 !TDC ROC#2 Sl#14 Ch#60 HDC pl#9 [U] wire#73 +61, 3, 74 !TDC ROC#2 Sl#14 Ch#61 HDC pl#9 [U] wire#74 +62, 3, 75 !TDC ROC#2 Sl#14 Ch#62 HDC pl#9 [U] wire#75 +63, 3, 76 !TDC ROC#2 Sl#14 Ch#63 HDC pl#9 [U] wire#76 +64, 3, 77 !TDC ROC#2 Sl#14 Ch#64 HDC pl#9 [U] wire#77 +65, 3, 78 !TDC ROC#2 Sl#14 Ch#65 HDC pl#9 [U] wire#78 +66, 3, 79 !TDC ROC#2 Sl#14 Ch#66 HDC pl#9 [U] wire#79 +67, 3, 80 !TDC ROC#2 Sl#14 Ch#67 HDC pl#9 [U] wire#80 +68, 3, 81 !TDC ROC#2 Sl#14 Ch#68 HDC pl#9 [U] wire#81 +69, 3, 82 !TDC ROC#2 Sl#14 Ch#69 HDC pl#9 [U] wire#82 +70, 3, 83 !TDC ROC#2 Sl#14 Ch#70 HDC pl#9 [U] wire#83 +71, 3, 84 !TDC ROC#2 Sl#14 Ch#71 HDC pl#9 [U] wire#84 +72, 3, 85 !TDC ROC#2 Sl#14 Ch#72 HDC pl#9 [U] wire#85 +73, 3, 86 !TDC ROC#2 Sl#14 Ch#73 HDC pl#9 [U] wire#86 +74, 3, 87 !TDC ROC#2 Sl#14 Ch#74 HDC pl#9 [U] wire#87 +75, 3, 88 !TDC ROC#2 Sl#14 Ch#75 HDC pl#9 [U] wire#88 +76, 3, 89 !TDC ROC#2 Sl#14 Ch#76 HDC pl#9 [U] wire#89 +77, 3, 90 !TDC ROC#2 Sl#14 Ch#77 HDC pl#9 [U] wire#90 +78, 3, 91 !TDC ROC#2 Sl#14 Ch#78 HDC pl#9 [U] wire#91 +!79, !unused +80, 3, 92 !TDC ROC#2 Sl#14 Ch#80 HDC pl#9 [U] wire#92 +81, 3, 93 !TDC ROC#2 Sl#14 Ch#81 HDC pl#9 [U] wire#93 +82, 3, 94 !TDC ROC#2 Sl#14 Ch#82 HDC pl#9 [U] wire#94 +83, 3, 95 !TDC ROC#2 Sl#14 Ch#83 HDC pl#9 [U] wire#95 +84, 3, 96 !TDC ROC#2 Sl#14 Ch#84 HDC pl#9 [U] wire#96 +85, 3, 97 !TDC ROC#2 Sl#14 Ch#85 HDC pl#9 [U] wire#97 +86, 3, 98 !TDC ROC#2 Sl#14 Ch#86 HDC pl#9 [U] wire#98 +87, 3, 99 !TDC ROC#2 Sl#14 Ch#87 HDC pl#9 [U] wire#99 +88, 3, 100 !TDC ROC#2 Sl#14 Ch#88 HDC pl#9 [U] wire#100 +89, 3, 101 !TDC ROC#2 Sl#14 Ch#89 HDC pl#9 [U] wire#101 +90, 3, 102 !TDC ROC#2 Sl#14 Ch#90 HDC pl#9 [U] wire#102 +91, 3, 103 !TDC ROC#2 Sl#14 Ch#91 HDC pl#9 [U] wire#103 +92, 3, 104 !TDC ROC#2 Sl#14 Ch#92 HDC pl#9 [U] wire#104 +93, 3, 105 !TDC ROC#2 Sl#14 Ch#93 HDC pl#9 [U] wire#105 +94, 3, 106 !TDC ROC#2 Sl#14 Ch#94 HDC pl#9 [U] wire#106 +95, 3, 107 !TDC ROC#2 Sl#14 Ch#95 HDC pl#9 [U] wire#107 +Slot= 19 +0, 6, 113 !TDC ROC#2 Sl#15 Ch#0 HDC pl#12 [X2] wire#113 +!1, !unused +2, 4, 1 !TDC ROC#2 Sl#15 Ch#2 HDC pl#10 [V] wire#1 +3, 4, 2 !TDC ROC#2 Sl#15 Ch#3 HDC pl#10 [V] wire#2 +4, 4, 3 !TDC ROC#2 Sl#15 Ch#4 HDC pl#10 [V] wire#3 +5, 4, 4 !TDC ROC#2 Sl#15 Ch#5 HDC pl#10 [V] wire#4 +6, 4, 5 !TDC ROC#2 Sl#15 Ch#6 HDC pl#10 [V] wire#5 +7, 4, 6 !TDC ROC#2 Sl#15 Ch#7 HDC pl#10 [V] wire#6 +8, 4, 7 !TDC ROC#2 Sl#15 Ch#8 HDC pl#10 [V] wire#7 +9, 4, 8 !TDC ROC#2 Sl#15 Ch#9 HDC pl#10 [V] wire#8 +10, 4, 9 !TDC ROC#2 Sl#15 Ch#10 HDC pl#10 [V] wire#9 +11, 4, 10 !TDC ROC#2 Sl#15 Ch#11 HDC pl#10 [V] wire#10 +12, 4, 11 !TDC ROC#2 Sl#15 Ch#12 HDC pl#10 [V] wire#11 +13, 4, 12 !TDC ROC#2 Sl#15 Ch#13 HDC pl#10 [V] wire#12 +14, 4, 13 !TDC ROC#2 Sl#15 Ch#14 HDC pl#10 [V] wire#13 +15, 4, 14 !TDC ROC#2 Sl#15 Ch#15 HDC pl#10 [V] wire#14 +16, 4, 15 !TDC ROC#2 Sl#15 Ch#16 HDC pl#10 [V] wire#15 +17, 4, 16 !TDC ROC#2 Sl#15 Ch#17 HDC pl#10 [V] wire#16 +18, 4, 17 !TDC ROC#2 Sl#15 Ch#18 HDC pl#10 [V] wire#17 +19, 4, 18 !TDC ROC#2 Sl#15 Ch#19 HDC pl#10 [V] wire#18 +20, 4, 19 !TDC ROC#2 Sl#15 Ch#20 HDC pl#10 [V] wire#19 +21, 4, 20 !TDC ROC#2 Sl#15 Ch#21 HDC pl#10 [V] wire#20 +22, 4, 21 !TDC ROC#2 Sl#15 Ch#22 HDC pl#10 [V] wire#21 +23, 4, 22 !TDC ROC#2 Sl#15 Ch#23 HDC pl#10 [V] wire#22 +24, 4, 23 !TDC ROC#2 Sl#15 Ch#24 HDC pl#10 [V] wire#23 +25, 4, 24 !TDC ROC#2 Sl#15 Ch#25 HDC pl#10 [V] wire#24 +26, 4, 25 !TDC ROC#2 Sl#15 Ch#26 HDC pl#10 [V] wire#25 +27, 4, 26 !TDC ROC#2 Sl#15 Ch#27 HDC pl#10 [V] wire#26 +28, 4, 27 !TDC ROC#2 Sl#15 Ch#28 HDC pl#10 [V] wire#27 +29, 4, 28 !TDC ROC#2 Sl#15 Ch#29 HDC pl#10 [V] wire#28 +30, 4, 29 !TDC ROC#2 Sl#15 Ch#30 HDC pl#10 [V] wire#29 +! 31 !TDC ROC#2 Sl#15 Ch#31 unused +32, 4, 30 !TDC ROC#2 Sl#15 Ch#32 HDC pl#10 [V] wire#30 +33, 4, 31 !TDC ROC#2 Sl#15 Ch#33 HDC pl#10 [V] wire#31 +34, 4, 32 !TDC ROC#2 Sl#15 Ch#34 HDC pl#10 [V] wire#32 +35, 4, 33 !TDC ROC#2 Sl#15 Ch#35 HDC pl#10 [V] wire#33 +36, 4, 34 !TDC ROC#2 Sl#15 Ch#36 HDC pl#10 [V] wire#34 +37, 4, 35 !TDC ROC#2 Sl#15 Ch#37 HDC pl#10 [V] wire#35 +38, 4, 36 !TDC ROC#2 Sl#15 Ch#38 HDC pl#10 [V] wire#36 +39, 4, 37 !TDC ROC#2 Sl#15 Ch#39 HDC pl#10 [V] wire#37 +40, 4, 38 !TDC ROC#2 Sl#15 Ch#40 HDC pl#10 [V] wire#38 +41, 4, 39 !TDC ROC#2 Sl#15 Ch#41 HDC pl#10 [V] wire#39 +42, 4, 40 !TDC ROC#2 Sl#15 Ch#42 HDC pl#10 [V] wire#40 +43, 4, 41 !TDC ROC#2 Sl#15 Ch#43 HDC pl#10 [V] wire#41 +44, 4, 42 !TDC ROC#2 Sl#15 Ch#44 HDC pl#10 [V] wire#42 +45, 4, 43 !TDC ROC#2 Sl#15 Ch#45 HDC pl#10 [V] wire#43 +46, 4, 44 !TDC ROC#2 Sl#15 Ch#46 HDC pl#10 [V] wire#44 +47, 4, 45 !TDC ROC#2 Sl#15 Ch#47 HDC pl#10 [V] wire#45 +48, 4, 46 !TDC ROC#2 Sl#15 Ch#48 HDC pl#10 [V] wire#46 +49, 4, 47 !TDC ROC#2 Sl#15 Ch#49 HDC pl#10 [V] wire#47 +50, 4, 48 !TDC ROC#2 Sl#15 Ch#50 HDC pl#10 [V] wire#48 +51, 4, 49 !TDC ROC#2 Sl#15 Ch#51 HDC pl#10 [V] wire#49 +52, 4, 50 !TDC ROC#2 Sl#15 Ch#52 HDC pl#10 [V] wire#50 +53, 4, 51 !TDC ROC#2 Sl#15 Ch#53 HDC pl#10 [V] wire#51 +54, 4, 52 !TDC ROC#2 Sl#15 Ch#54 HDC pl#10 [V] wire#52 +55, 4, 53 !TDC ROC#2 Sl#15 Ch#55 HDC pl#10 [V] wire#53 +56, 4, 54 !TDC ROC#2 Sl#15 Ch#56 HDC pl#10 [V] wire#54 +57, 4, 55 !TDC ROC#2 Sl#15 Ch#57 HDC pl#10 [V] wire#55 +58, 4, 56 !TDC ROC#2 Sl#15 Ch#58 HDC pl#10 [V] wire#56 +59, 4, 57 !TDC ROC#2 Sl#15 Ch#59 HDC pl#10 [V] wire#57 +60, 4, 58 !TDC ROC#2 Sl#15 Ch#60 HDC pl#10 [V] wire#58 +61, 4, 59 !TDC ROC#2 Sl#15 Ch#61 HDC pl#10 [V] wire#59 +62, 4, 60 !TDC ROC#2 Sl#15 Ch#62 HDC pl#10 [V] wire#60 +! 63 !TDC ROC#2 Sl#15 Ch#63 unused +64, 4, 61 !TDC ROC#2 Sl#15 Ch#64 HDC pl#10 [V] wire#61 +65, 4, 62 !TDC ROC#2 Sl#15 Ch#65 HDC pl#10 [V] wire#62 +66, 4, 63 !TDC ROC#2 Sl#15 Ch#66 HDC pl#10 [V] wire#63 +67, 4, 64 !TDC ROC#2 Sl#15 Ch#67 HDC pl#10 [V] wire#64 +68, 4, 65 !TDC ROC#2 Sl#15 Ch#68 HDC pl#10 [V] wire#65 +69, 4, 66 !TDC ROC#2 Sl#15 Ch#69 HDC pl#10 [V] wire#66 +70, 4, 67 !TDC ROC#2 Sl#15 Ch#70 HDC pl#10 [V] wire#67 +71, 4, 68 !TDC ROC#2 Sl#15 Ch#71 HDC pl#10 [V] wire#68 +72, 4, 69 !TDC ROC#2 Sl#15 Ch#72 HDC pl#10 [V] wire#69 +73, 4, 70 !TDC ROC#2 Sl#15 Ch#73 HDC pl#10 [V] wire#70 +74, 4, 71 !TDC ROC#2 Sl#15 Ch#74 HDC pl#10 [V] wire#71 +75, 4, 72 !TDC ROC#2 Sl#15 Ch#75 HDC pl#10 [V] wire#72 +76, 4, 73 !TDC ROC#2 Sl#15 Ch#76 HDC pl#10 [V] wire#73 +77, 4, 74 !TDC ROC#2 Sl#15 Ch#77 HDC pl#10 [V] wire#74 +78, 4, 75 !TDC ROC#2 Sl#15 Ch#78 HDC pl#10 [V] wire#75 +79, 4, 76 !TDC ROC#2 Sl#15 Ch#79 HDC pl#10 [V] wire#76 +80, 4, 77 !TDC ROC#2 Sl#15 Ch#80 HDC pl#10 [V] wire#77 +81, 4, 78 !TDC ROC#2 Sl#15 Ch#81 HDC pl#10 [V] wire#78 +82, 4, 79 !TDC ROC#2 Sl#15 Ch#82 HDC pl#10 [V] wire#79 +83, 4, 80 !TDC ROC#2 Sl#15 Ch#83 HDC pl#10 [V] wire#80 +84, 4, 81 !TDC ROC#2 Sl#15 Ch#84 HDC pl#10 [V] wire#81 +85, 4, 82 !TDC ROC#2 Sl#15 Ch#85 HDC pl#10 [V] wire#82 +86, 4, 83 !TDC ROC#2 Sl#15 Ch#86 HDC pl#10 [V] wire#83 +87, 4, 84 !TDC ROC#2 Sl#15 Ch#87 HDC pl#10 [V] wire#84 +88, 4, 85 !TDC ROC#2 Sl#15 Ch#88 HDC pl#10 [V] wire#85 +89, 4, 86 !TDC ROC#2 Sl#15 Ch#89 HDC pl#10 [V] wire#86 +90, 4, 87 !TDC ROC#2 Sl#15 Ch#90 HDC pl#10 [V] wire#87 +91, 4, 88 !TDC ROC#2 Sl#15 Ch#91 HDC pl#10 [V] wire#88 +92, 4, 89 !TDC ROC#2 Sl#15 Ch#92 HDC pl#10 [V] wire#89 +93, 4, 90 !TDC ROC#2 Sl#15 Ch#93 HDC pl#10 [V] wire#90 +94, 4, 91 !TDC ROC#2 Sl#15 Ch#94 HDC pl#10 [V] wire#91 +! 95 !TDC ROC#2 Sl#15 Ch#95 unused +Slot= 21 +0, 4, 92 !TDC ROC#2 Sl#17 Ch#0 HDC pl#10 [V] wire#92 +1, 4, 93 !TDC ROC#2 Sl#17 Ch#1 HDC pl#10 [V] wire#93 +2, 4, 94 !TDC ROC#2 Sl#17 Ch#2 HDC pl#10 [V] wire#94 +3, 4, 95 !TDC ROC#2 Sl#17 Ch#3 HDC pl#10 [V] wire#95 +4, 4, 96 !TDC ROC#2 Sl#17 Ch#4 HDC pl#10 [V] wire#96 +5, 4, 97 !TDC ROC#2 Sl#17 Ch#5 HDC pl#10 [V] wire#97 +6, 4, 98 !TDC ROC#2 Sl#17 Ch#6 HDC pl#10 [V] wire#98 +7, 4, 99 !TDC ROC#2 Sl#17 Ch#7 HDC pl#10 [V] wire#99 +8, 4, 100 !TDC ROC#2 Sl#17 Ch#8 HDC pl#10 [V] wire#100 +9, 4, 101 !TDC ROC#2 Sl#17 Ch#9 HDC pl#10 [V] wire#101 +10, 4, 102 !TDC ROC#2 Sl#17 Ch#10 HDC pl#10 [V] wire#102 +11, 4, 103 !TDC ROC#2 Sl#17 Ch#11 HDC pl#10 [V] wire#103 +12, 4, 104 !TDC ROC#2 Sl#17 Ch#12 HDC pl#10 [V] wire#104 +13, 4, 105 !TDC ROC#2 Sl#17 Ch#13 HDC pl#10 [V] wire#105 +14, 4, 106 !TDC ROC#2 Sl#17 Ch#14 HDC pl#10 [V] wire#106 +15, 4, 107 !TDC ROC#2 Sl#17 Ch#15 HDC pl#10 [V] wire#107 +16, 5, 1 !TDC ROC#2 Sl#17 Ch#16 HDC pl#11 [Y2] wire#1 +17, 5, 2 !TDC ROC#2 Sl#17 Ch#17 HDC pl#11 [Y2] wire#2 +18, 5, 3 !TDC ROC#2 Sl#17 Ch#18 HDC pl#11 [Y2] wire#3 +19, 5, 4 !TDC ROC#2 Sl#17 Ch#19 HDC pl#11 [Y2] wire#4 +20, 5, 5 !TDC ROC#2 Sl#17 Ch#20 HDC pl#11 [Y2] wire#5 +21, 5, 6 !TDC ROC#2 Sl#17 Ch#21 HDC pl#11 [Y2] wire#6 +22, 5, 7 !TDC ROC#2 Sl#17 Ch#22 HDC pl#11 [Y2] wire#7 +23, 5, 8 !TDC ROC#2 Sl#17 Ch#23 HDC pl#11 [Y2] wire#8 +24, 5, 9 !TDC ROC#2 Sl#17 Ch#24 HDC pl#11 [Y2] wire#9 +25, 5, 10 !TDC ROC#2 Sl#17 Ch#25 HDC pl#11 [Y2] wire#10 +26, 5, 11 !TDC ROC#2 Sl#17 Ch#26 HDC pl#11 [Y2] wire#11 +27, 5, 12 !TDC ROC#2 Sl#17 Ch#27 HDC pl#11 [Y2] wire#12 +28, 5, 13 !TDC ROC#2 Sl#17 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#17 Ch#29 unused +! 30 !TDC ROC#2 Sl#17 Ch#30 unused +! 31 !TDC ROC#2 Sl#17 Ch#31 unused +32, 5, 14 !TDC ROC#2 Sl#17 Ch#32 HDC pl#11 [Y2] wire#14 +33, 5, 15 !TDC ROC#2 Sl#17 Ch#33 HDC pl#11 [Y2] wire#15 +34, 5, 16 !TDC ROC#2 Sl#17 Ch#34 HDC pl#11 [Y2] wire#16 +35, 5, 17 !TDC ROC#2 Sl#17 Ch#35 HDC pl#11 [Y2] wire#17 +36, 5, 18 !TDC ROC#2 Sl#17 Ch#36 HDC pl#11 [Y2] wire#18 +37, 5, 19 !TDC ROC#2 Sl#17 Ch#37 HDC pl#11 [Y2] wire#19 +38, 5, 20 !TDC ROC#2 Sl#17 Ch#38 HDC pl#11 [Y2] wire#20 +39, 5, 21 !TDC ROC#2 Sl#17 Ch#39 HDC pl#11 [Y2] wire#21 +40, 5, 22 !TDC ROC#2 Sl#17 Ch#40 HDC pl#11 [Y2] wire#22 +41, 5, 23 !TDC ROC#2 Sl#17 Ch#41 HDC pl#11 [Y2] wire#23 +42, 5, 24 !TDC ROC#2 Sl#17 Ch#42 HDC pl#11 [Y2] wire#24 +43, 5, 25 !TDC ROC#2 Sl#17 Ch#43 HDC pl#11 [Y2] wire#25 +44, 5, 26 !TDC ROC#2 Sl#17 Ch#44 HDC pl#11 [Y2] wire#26 +! 45 !TDC ROC#2 Sl#17 Ch#45 unused +! 46 !TDC ROC#2 Sl#17 Ch#46 unused +! 47 !TDC ROC#2 Sl#17 Ch#47 unused +48, 5, 27 !TDC ROC#2 Sl#17 Ch#48 HDC pl#11 [Y2] wire#27 +49, 5, 28 !TDC ROC#2 Sl#17 Ch#49 HDC pl#11 [Y2] wire#28 +50, 5, 29 !TDC ROC#2 Sl#17 Ch#50 HDC pl#11 [Y2] wire#29 +51, 5, 30 !TDC ROC#2 Sl#17 Ch#51 HDC pl#11 [Y2] wire#30 +52, 5, 31 !TDC ROC#2 Sl#17 Ch#52 HDC pl#11 [Y2] wire#31 +53, 5, 32 !TDC ROC#2 Sl#17 Ch#53 HDC pl#11 [Y2] wire#32 +54, 5, 33 !TDC ROC#2 Sl#17 Ch#54 HDC pl#11 [Y2] wire#33 +55, 5, 34 !TDC ROC#2 Sl#17 Ch#55 HDC pl#11 [Y2] wire#34 +56, 5, 35 !TDC ROC#2 Sl#17 Ch#56 HDC pl#11 [Y2] wire#35 +57, 5, 36 !TDC ROC#2 Sl#17 Ch#57 HDC pl#11 [Y2] wire#36 +58, 5, 37 !TDC ROC#2 Sl#17 Ch#58 HDC pl#11 [Y2] wire#37 +59, 5, 38 !TDC ROC#2 Sl#17 Ch#59 HDC pl#11 [Y2] wire#38 +60, 5, 39 !TDC ROC#2 Sl#17 Ch#60 HDC pl#11 [Y2] wire#39 +! 61 !TDC ROC#2 Sl#17 Ch#61 unused +! 62 !TDC ROC#2 Sl#17 Ch#62 unused +! 63 !TDC ROC#2 Sl#17 Ch#63 unused +! 64 !TDC ROC#2 Sl#17 Ch#64 unused????? JV 11/11/97 +65, 5, 40 !TDC ROC#2 Sl#17 Ch#64 HDC pl#11 [Y2] wire#40 +66, 5, 41 !TDC ROC#2 Sl#17 Ch#65 HDC pl#11 [Y2] wire#41 +67, 5, 42 !TDC ROC#2 Sl#17 Ch#66 HDC pl#11 [Y2] wire#42 +68, 5, 43 !TDC ROC#2 Sl#17 Ch#67 HDC pl#11 [Y2] wire#43 +69, 5, 44 !TDC ROC#2 Sl#17 Ch#68 HDC pl#11 [Y2] wire#44 +70, 5, 45 !TDC ROC#2 Sl#17 Ch#69 HDC pl#11 [Y2] wire#45 +71, 5, 46 !TDC ROC#2 Sl#17 Ch#70 HDC pl#11 [Y2] wire#46 +72, 5, 47 !TDC ROC#2 Sl#17 Ch#71 HDC pl#11 [Y2] wire#47 +73, 5, 48 !TDC ROC#2 Sl#17 Ch#72 HDC pl#11 [Y2] wire#48 +74, 5, 49 !TDC ROC#2 Sl#17 Ch#73 HDC pl#11 [Y2] wire#49 +75, 5, 50 !TDC ROC#2 Sl#17 Ch#74 HDC pl#11 [Y2] wire#50 +76, 5, 51 !TDC ROC#2 Sl#17 Ch#75 HDC pl#11 [Y2] wire#51 +77, 5, 52 !TDC ROC#2 Sl#17 Ch#76 HDC pl#11 [Y2] wire#52 +! 77 !TDC ROC#2 Sl#17 Ch#77 unused +! 78 !TDC ROC#2 Sl#17 Ch#78 unused +! 79 !TDC ROC#2 Sl#17 Ch#79 unused +80, 6, 1 !TDC ROC#2 Sl#17 Ch#80 HDC pl#12 [X2] wire#1 +81, 6, 2 !TDC ROC#2 Sl#17 Ch#81 HDC pl#12 [X2] wire#2 +82, 6, 3 !TDC ROC#2 Sl#17 Ch#82 HDC pl#12 [X2] wire#3 +83, 6, 4 !TDC ROC#2 Sl#17 Ch#83 HDC pl#12 [X2] wire#4 +84, 6, 5 !TDC ROC#2 Sl#17 Ch#84 HDC pl#12 [X2] wire#5 +85, 6, 6 !TDC ROC#2 Sl#17 Ch#85 HDC pl#12 [X2] wire#6 +86, 6, 7 !TDC ROC#2 Sl#17 Ch#86 HDC pl#12 [X2] wire#7 +87, 6, 8 !TDC ROC#2 Sl#17 Ch#87 HDC pl#12 [X2] wire#8 +88, 6, 9 !TDC ROC#2 Sl#17 Ch#88 HDC pl#12 [X2] wire#9 +89, 6, 10 !TDC ROC#2 Sl#17 Ch#89 HDC pl#12 [X2] wire#10 +90, 6, 11 !TDC ROC#2 Sl#17 Ch#90 HDC pl#12 [X2] wire#11 +91, 6, 12 !TDC ROC#2 Sl#17 Ch#91 HDC pl#12 [X2] wire#12 +92, 6, 13 !TDC ROC#2 Sl#17 Ch#92 HDC pl#12 [X2] wire#13 +93, 6, 14 !TDC ROC#2 Sl#17 Ch#93 HDC pl#12 [X2] wire#14 +94, 6, 15 !TDC ROC#2 Sl#17 Ch#94 HDC pl#12 [X2] wire#15 +95, 6, 16 !TDC ROC#2 Sl#17 Ch#95 HDC pl#12 [X2] wire#16 +Slot= 22 +0, 6, 17 !TDC ROC#2 Sl#18 Ch#0 HDC pl#12 [X2] wire#17 +1, 6, 18 !TDC ROC#2 Sl#18 Ch#1 HDC pl#12 [X2] wire#18 +2, 6, 19 !TDC ROC#2 Sl#18 Ch#2 HDC pl#12 [X2] wire#19 +3, 6, 20 !TDC ROC#2 Sl#18 Ch#3 HDC pl#12 [X2] wire#20 +4, 6, 21 !TDC ROC#2 Sl#18 Ch#4 HDC pl#12 [X2] wire#21 +5, 6, 22 !TDC ROC#2 Sl#18 Ch#5 HDC pl#12 [X2] wire#22 +6, 6, 23 !TDC ROC#2 Sl#18 Ch#6 HDC pl#12 [X2] wire#23 +7, 6, 24 !TDC ROC#2 Sl#18 Ch#7 HDC pl#12 [X2] wire#24 +8, 6, 25 !TDC ROC#2 Sl#18 Ch#8 HDC pl#12 [X2] wire#25 +9, 6, 26 !TDC ROC#2 Sl#18 Ch#9 HDC pl#12 [X2] wire#26 +10, 6, 27 !TDC ROC#2 Sl#18 Ch#10 HDC pl#12 [X2] wire#27 +11, 6, 28 !TDC ROC#2 Sl#18 Ch#11 HDC pl#12 [X2] wire#28 +12, 6, 29 !TDC ROC#2 Sl#18 Ch#12 HDC pl#12 [X2] wire#29 +13, 6, 30 !TDC ROC#2 Sl#18 Ch#13 HDC pl#12 [X2] wire#30 +14, 6, 31 !TDC ROC#2 Sl#18 Ch#14 HDC pl#12 [X2] wire#31 +15, 6, 32 !TDC ROC#2 Sl#18 Ch#15 HDC pl#12 [X2] wire#32 +16, 6, 33 !TDC ROC#2 Sl#18 Ch#16 HDC pl#12 [X2] wire#33 +17, 6, 34 !TDC ROC#2 Sl#18 Ch#17 HDC pl#12 [X2] wire#34 +18, 6, 35 !TDC ROC#2 Sl#18 Ch#18 HDC pl#12 [X2] wire#35 +19, 6, 36 !TDC ROC#2 Sl#18 Ch#19 HDC pl#12 [X2] wire#36 +20, 6, 37 !TDC ROC#2 Sl#18 Ch#20 HDC pl#12 [X2] wire#37 +21, 6, 38 !TDC ROC#2 Sl#18 Ch#21 HDC pl#12 [X2] wire#38 +22, 6, 39 !TDC ROC#2 Sl#18 Ch#22 HDC pl#12 [X2] wire#39 +23, 6, 40 !TDC ROC#2 Sl#18 Ch#23 HDC pl#12 [X2] wire#40 +24, 6, 41 !TDC ROC#2 Sl#18 Ch#24 HDC pl#12 [X2] wire#41 +25, 6, 42 !TDC ROC#2 Sl#18 Ch#25 HDC pl#12 [X2] wire#42 +26, 6, 43 !TDC ROC#2 Sl#18 Ch#26 HDC pl#12 [X2] wire#43 +27, 6, 44 !TDC ROC#2 Sl#18 Ch#27 HDC pl#12 [X2] wire#44 +28, 6, 45 !TDC ROC#2 Sl#18 Ch#28 HDC pl#12 [X2] wire#45 +29, 6, 46 !TDC ROC#2 Sl#18 Ch#29 HDC pl#12 [X2] wire#46 +30, 6, 47 !TDC ROC#2 Sl#18 Ch#30 HDC pl#12 [X2] wire#47 +31, 6, 48 !TDC ROC#2 Sl#18 Ch#31 HDC pl#12 [X2] wire#48 +32, 6, 49 !TDC ROC#2 Sl#18 Ch#32 HDC pl#12 [X2] wire#49 +33, 6, 50 !TDC ROC#2 Sl#18 Ch#33 HDC pl#12 [X2] wire#50 +34, 6, 51 !TDC ROC#2 Sl#18 Ch#34 HDC pl#12 [X2] wire#51 +35, 6, 52 !TDC ROC#2 Sl#18 Ch#35 HDC pl#12 [X2] wire#52 +36, 6, 53 !TDC ROC#2 Sl#18 Ch#36 HDC pl#12 [X2] wire#53 +37, 6, 54 !TDC ROC#2 Sl#18 Ch#37 HDC pl#12 [X2] wire#54 +38, 6, 55 !TDC ROC#2 Sl#18 Ch#38 HDC pl#12 [X2] wire#55 +39, 6, 56 !TDC ROC#2 Sl#18 Ch#39 HDC pl#12 [X2] wire#56 +40, 6, 57 !TDC ROC#2 Sl#18 Ch#40 HDC pl#12 [X2] wire#57 +41, 6, 58 !TDC ROC#2 Sl#18 Ch#41 HDC pl#12 [X2] wire#58 +42, 6, 59 !TDC ROC#2 Sl#18 Ch#42 HDC pl#12 [X2] wire#59 +43, 6, 60 !TDC ROC#2 Sl#18 Ch#43 HDC pl#12 [X2] wire#60 +44, 6, 61 !TDC ROC#2 Sl#18 Ch#44 HDC pl#12 [X2] wire#61 +45, 6, 62 !TDC ROC#2 Sl#18 Ch#45 HDC pl#12 [X2] wire#62 +46, 6, 63 !TDC ROC#2 Sl#18 Ch#46 HDC pl#12 [X2] wire#63 +47, 6, 64 !TDC ROC#2 Sl#18 Ch#47 HDC pl#12 [X2] wire#64 +48, 6, 65 !TDC ROC#2 Sl#18 Ch#48 HDC pl#12 [X2] wire#65 +49, 6, 66 !TDC ROC#2 Sl#18 Ch#49 HDC pl#12 [X2] wire#66 +50, 6, 67 !TDC ROC#2 Sl#18 Ch#50 HDC pl#12 [X2] wire#67 +51, 6, 68 !TDC ROC#2 Sl#18 Ch#51 HDC pl#12 [X2] wire#68 +52, 6, 69 !TDC ROC#2 Sl#18 Ch#52 HDC pl#12 [X2] wire#69 +53, 6, 70 !TDC ROC#2 Sl#18 Ch#53 HDC pl#12 [X2] wire#70 +54, 6, 71 !TDC ROC#2 Sl#18 Ch#54 HDC pl#12 [X2] wire#71 +55, 6, 72 !TDC ROC#2 Sl#18 Ch#55 HDC pl#12 [X2] wire#72 +56, 6, 73 !TDC ROC#2 Sl#18 Ch#56 HDC pl#12 [X2] wire#73 +57, 6, 74 !TDC ROC#2 Sl#18 Ch#57 HDC pl#12 [X2] wire#74 +58, 6, 75 !TDC ROC#2 Sl#18 Ch#58 HDC pl#12 [X2] wire#75 +59, 6, 76 !TDC ROC#2 Sl#18 Ch#59 HDC pl#12 [X2] wire#76 +60, 6, 77 !TDC ROC#2 Sl#18 Ch#60 HDC pl#12 [X2] wire#77 +61, 6, 78 !TDC ROC#2 Sl#18 Ch#61 HDC pl#12 [X2] wire#78 +62, 6, 79 !TDC ROC#2 Sl#18 Ch#62 HDC pl#12 [X2] wire#79 +63, 6, 80 !TDC ROC#2 Sl#18 Ch#63 HDC pl#12 [X2] wire#80 +64, 6, 81 !TDC ROC#2 Sl#18 Ch#64 HDC pl#12 [X2] wire#81 +65, 6, 82 !TDC ROC#2 Sl#18 Ch#65 HDC pl#12 [X2] wire#82 +66, 6, 83 !TDC ROC#2 Sl#18 Ch#66 HDC pl#12 [X2] wire#83 +67, 6, 84 !TDC ROC#2 Sl#18 Ch#67 HDC pl#12 [X2] wire#84 +68, 6, 85 !TDC ROC#2 Sl#18 Ch#68 HDC pl#12 [X2] wire#85 +69, 6, 86 !TDC ROC#2 Sl#18 Ch#69 HDC pl#12 [X2] wire#86 +70, 6, 87 !TDC ROC#2 Sl#18 Ch#70 HDC pl#12 [X2] wire#87 +71, 6, 88 !TDC ROC#2 Sl#18 Ch#71 HDC pl#12 [X2] wire#88 +72, 6, 89 !TDC ROC#2 Sl#18 Ch#72 HDC pl#12 [X2] wire#89 +73, 6, 90 !TDC ROC#2 Sl#18 Ch#73 HDC pl#12 [X2] wire#90 +74, 6, 91 !TDC ROC#2 Sl#18 Ch#74 HDC pl#12 [X2] wire#91 +75, 6, 92 !TDC ROC#2 Sl#18 Ch#75 HDC pl#12 [X2] wire#92 +76, 6, 93 !TDC ROC#2 Sl#18 Ch#76 HDC pl#12 [X2] wire#93 +77, 6, 94 !TDC ROC#2 Sl#18 Ch#77 HDC pl#12 [X2] wire#94 +78, 6, 95 !TDC ROC#2 Sl#18 Ch#78 HDC pl#12 [X2] wire#95 +79, 6, 96 !TDC ROC#2 Sl#18 Ch#79 HDC pl#12 [X2] wire#96 +80, 6, 97 !TDC ROC#2 Sl#18 Ch#80 HDC pl#12 [X2] wire#97 +81, 6, 98 !TDC ROC#2 Sl#18 Ch#81 HDC pl#12 [X2] wire#98 +82, 6, 99 !TDC ROC#2 Sl#18 Ch#82 HDC pl#12 [X2] wire#99 +83, 6, 100 !TDC ROC#2 Sl#18 Ch#83 HDC pl#12 [X2] wire#100 +84, 6, 101 !TDC ROC#2 Sl#18 Ch#84 HDC pl#12 [X2] wire#101 +85, 6, 102 !TDC ROC#2 Sl#18 Ch#85 HDC pl#12 [X2] wire#102 +86, 6, 103 !TDC ROC#2 Sl#18 Ch#86 HDC pl#12 [X2] wire#103 +87, 6, 104 !TDC ROC#2 Sl#18 Ch#87 HDC pl#12 [X2] wire#104 +88, 6, 105 !TDC ROC#2 Sl#18 Ch#88 HDC pl#12 [X2] wire#105 +89, 6, 106 !TDC ROC#2 Sl#18 Ch#89 HDC pl#12 [X2] wire#106 +90, 6, 107 !TDC ROC#2 Sl#18 Ch#90 HDC pl#12 [X2] wire#107 +91, 6, 108 !TDC ROC#2 Sl#18 Ch#91 HDC pl#12 [X2] wire#108 +92, 6, 109 !TDC ROC#2 Sl#18 Ch#92 HDC pl#12 [X2] wire#109 +93, 6, 110 !TDC ROC#2 Sl#18 Ch#93 HDC pl#12 [X2] wire#110 +94, 6, 111 !TDC ROC#2 Sl#18 Ch#94 HDC pl#12 [X2] wire#111 +95, 6, 112 !TDC ROC#2 Sl#18 Ch#95 HDC pl#12 [X2] wire#112 +! +! +! HMS upstairs (HSCIN+HCAL+HCER) map K.B.Beard 13-Jun-1994 +! + +! ^^^^^^^^^^^^^^^^^^^^^ Wire chambers end here ^^^^^^^^^^^^^^^^^^^^^^ +!============================================================================= + ROC= 1 !upstairs HMS crate +! + detector= 2 !HSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 23 ! TDC + 0, 1, 1, 2 !TDC ROC#1 Sl#23 Ch#0 HSCIN pl#1 [X1] id#1 sig#2 [TDC+] (0 X1P-01) + 1, 1, 3, 2 !TDC ROC#1 Sl#23 Ch#1 HSCIN pl#1 [X1] id#3 sig#2 [TDC+] (1 X1P-03) + 2, 1, 5, 2 !TDC ROC#1 Sl#23 Ch#2 HSCIN pl#1 [X1] id#5 sig#2 [TDC+] (2 X1P-05) + 3, 1, 7, 2 !TDC ROC#1 Sl#23 Ch#3 HSCIN pl#1 [X1] id#7 sig#2 [TDC+] (3 X1P-07) + 4, 1, 9, 2 !TDC ROC#1 Sl#23 Ch#4 HSCIN pl#1 [X1] id#9 sig#2 [TDC+] (4 X1P-09) + 5, 1, 11, 2 !TDC ROC#1 Sl#23 Ch#5 HSCIN pl#1 [X1] id#11 sig#2 [TDC+] (5 X1P-11) + 6, 1, 13, 2 !TDC ROC#1 Sl#23 Ch#6 HSCIN pl#1 [X1] id#13 sig#2 [TDC+] (6 X1P-13) + 7, 1, 15, 2 !TDC ROC#1 Sl#23 Ch#7 HSCIN pl#1 [X1] id#15 sig#2 [TDC+] (7 X1P-15) + 8, 1, 2, 2 !TDC ROC#1 Sl#23 Ch#8 HSCIN pl#1 [X1] id#2 sig#2 [TDC+] (8 X1P-02) + 9, 1, 4, 2 !TDC ROC#1 Sl#23 Ch#9 HSCIN pl#1 [X1] id#4 sig#2 [TDC+] (9 X1P-04) + 10, 1, 6, 2 !TDC ROC#1 Sl#23 Ch#10 HSCIN pl#1 [X1] id#6 sig#2 [TDC+] (10 X1P-06) + 11, 1, 8, 2 !TDC ROC#1 Sl#23 Ch#11 HSCIN pl#1 [X1] id#8 sig#2 [TDC+] (11 X1P-08) + 12, 1, 10, 2 !TDC ROC#1 Sl#23 Ch#12 HSCIN pl#1 [X1] id#10 sig#2 [TDC+] (12 X1P-10) + 13, 1, 12, 2 !TDC ROC#1 Sl#23 Ch#13 HSCIN pl#1 [X1] id#12 sig#2 [TDC+] (13 X1P-12) + 14, 1, 14, 2 !TDC ROC#1 Sl#23 Ch#14 HSCIN pl#1 [X1] id#14 sig#2 [TDC+] (14 X1P-14) + 15, 1, 16, 2 !TDC ROC#1 Sl#23 Ch#15 HSCIN pl#1 [X1] id#16 sig#2 [TDC+] (15 X1P-16) + 16, 1, 1, 3 !TDC ROC#1 Sl#23 Ch#16 HSCIN pl#1 [X1] id#1 sig#3 [TDC-] (16 X1N-01) + 17, 1, 3, 3 !TDC ROC#1 Sl#23 Ch#17 HSCIN pl#1 [X1] id#3 sig#3 [TDC-] (17 X1N-03) + 18, 1, 5, 3 !TDC ROC#1 Sl#23 Ch#18 HSCIN pl#1 [X1] id#5 sig#3 [TDC-] (18 X1N-05) + 19, 1, 7, 3 !TDC ROC#1 Sl#23 Ch#19 HSCIN pl#1 [X1] id#7 sig#3 [TDC-] (19 X1N-07) + 20, 1, 9, 3 !TDC ROC#1 Sl#23 Ch#20 HSCIN pl#1 [X1] id#9 sig#3 [TDC-] (20 X1N-09) + 21, 1, 11, 3 !TDC ROC#1 Sl#23 Ch#21 HSCIN pl#1 [X1] id#11 sig#3 [TDC-] (21 X1N-11) + 22, 1, 13, 3 !TDC ROC#1 Sl#23 Ch#22 HSCIN pl#1 [X1] id#13 sig#3 [TDC-] (22 X1N-13) + 23, 1, 15, 3 !TDC ROC#1 Sl#23 Ch#23 HSCIN pl#1 [X1] id#15 sig#3 [TDC-] (23 X1N-15) + 24, 1, 2, 3 !TDC ROC#1 Sl#23 Ch#24 HSCIN pl#1 [X1] id#2 sig#3 [TDC-] (24 X1N-02) + 25, 1, 4, 3 !TDC ROC#1 Sl#23 Ch#25 HSCIN pl#1 [X1] id#4 sig#3 [TDC-] (25 X1N-04) + 26, 1, 6, 3 !TDC ROC#1 Sl#23 Ch#26 HSCIN pl#1 [X1] id#6 sig#3 [TDC-] (26 X1N-06) + 27, 1, 8, 3 !TDC ROC#1 Sl#23 Ch#27 HSCIN pl#1 [X1] id#8 sig#3 [TDC-] (27 X1N-08) + 28, 1, 10, 3 !TDC ROC#1 Sl#23 Ch#28 HSCIN pl#1 [X1] id#10 sig#3 [TDC-] (28 X1N-10) + 29, 1, 12, 3 !TDC ROC#1 Sl#23 Ch#29 HSCIN pl#1 [X1] id#12 sig#3 [TDC-] (29 X1N-12) + 30, 1, 14, 3 !TDC ROC#1 Sl#23 Ch#30 HSCIN pl#1 [X1] id#14 sig#3 [TDC-] (30 X1N-14) + 31, 1, 16, 3 !TDC ROC#1 Sl#23 Ch#31 HSCIN pl#1 [X1] id#16 sig#3 [TDC-] (31 X1N-16) + 32, 2, 1, 2 !TDC ROC#1 Sl#23 Ch#32 HSCIN pl#2 [Y1] id#1 sig#2 [TDC+] (32 Y1P-01) + 33, 2, 3, 2 !TDC ROC#1 Sl#23 Ch#33 HSCIN pl#2 [Y1] id#3 sig#2 [TDC+] (33 Y1P-03) + 34, 2, 5, 2 !TDC ROC#1 Sl#23 Ch#34 HSCIN pl#2 [Y1] id#5 sig#2 [TDC+] (34 Y1P-05) + 35, 2, 7, 2 !TDC ROC#1 Sl#23 Ch#35 HSCIN pl#2 [Y1] id#7 sig#2 [TDC+] (35 Y1P-07) + 36, 2, 9, 2 !TDC ROC#1 Sl#23 Ch#36 HSCIN pl#2 [Y1] id#9 sig#2 [TDC+] (36 Y1P-09) +! 37 !TDC ROC#1 Sl#23 Ch#37 unused +! 38 !TDC ROC#1 Sl#23 Ch#38 unused +! 39 !TDC ROC#1 Sl#23 Ch#39 unused +!!! 40, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) + 41, 2, 4, 2 !TDC ROC#1 Sl#23 Ch#41 HSCIN pl#2 [Y1] id#4 sig#2 [TDC+] (41 Y1P-04) + 42, 2, 6, 2 !TDC ROC#1 Sl#23 Ch#42 HSCIN pl#2 [Y1] id#6 sig#2 [TDC+] (42 Y1P-06) + 43, 2, 8, 2 !TDC ROC#1 Sl#23 Ch#43 HSCIN pl#2 [Y1] id#8 sig#2 [TDC+] (43 Y1P-08) + 44, 2, 10, 2 !TDC ROC#1 Sl#23 Ch#44 HSCIN pl#2 [Y1] id#10 sig#2 [TDC+] (44 Y1P-10) + 45, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#45 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (45 Y1P-02) +! h1y2+ was moved from channel 47 to 45 on 1/29/1999 +! 46 !TDC ROC#1 Sl#23 Ch#46 unused +! 47, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) +! h1y2+ was moved from channel 40 to 47 at run 6168 + 48, 2, 1, 3 !TDC ROC#1 Sl#23 Ch#48 HSCIN pl#2 [Y1] id#1 sig#3 [TDC-] (48 Y1N-01) + 49, 2, 3, 3 !TDC ROC#1 Sl#23 Ch#49 HSCIN pl#2 [Y1] id#3 sig#3 [TDC-] (49 Y1N-03) + 50, 2, 5, 3 !TDC ROC#1 Sl#23 Ch#50 HSCIN pl#2 [Y1] id#5 sig#3 [TDC-] (50 Y1N-05) + 51, 2, 7, 3 !TDC ROC#1 Sl#23 Ch#51 HSCIN pl#2 [Y1] id#7 sig#3 [TDC-] (51 Y1N-07) + 52, 2, 9, 3 !TDC ROC#1 Sl#23 Ch#52 HSCIN pl#2 [Y1] id#9 sig#3 [TDC-] (52 Y1N-09) +! 53 !TDC ROC#1 Sl#23 Ch#53 unused +! 54 !TDC ROC#1 Sl#23 Ch#54 unused +! 55 !TDC ROC#1 Sl#23 Ch#55 unused + 56, 2, 2, 3 !TDC ROC#1 Sl#23 Ch#56 HSCIN pl#2 [Y1] id#2 sig#3 [TDC-] (56 Y1N-02) + 57, 2, 4, 3 !TDC ROC#1 Sl#23 Ch#57 HSCIN pl#2 [Y1] id#4 sig#3 [TDC-] (57 Y1N-04) + 58, 2, 6, 3 !TDC ROC#1 Sl#23 Ch#58 HSCIN pl#2 [Y1] id#6 sig#3 [TDC-] (58 Y1N-06) + 59, 2, 8, 3 !TDC ROC#1 Sl#23 Ch#59 HSCIN pl#2 [Y1] id#8 sig#3 [TDC-] (59 Y1N-08) +! 60, 2, 10, 3 !TDC ROC#1 Sl#23 Ch#60 HSCIN pl#2 [Y1] id#10 sig#3 [TDC-] (60 Y1N-10) + 61 , 2, 10, 3 !TDC ROC#1 Sl#23 Ch#61 swap location for h1y10- +! 62 !TDC ROC#1 Sl#23 Ch#62 unused +! 63 !TDC ROC#1 Sl#23 Ch#63 unused +! + Slot= 21 ! TDC +! + 0, 3, 1, 2 !TDC ROC#1 Sl#21 Ch#0 HSCIN pl#3 [X2] id#1 sig#2 [TDC+] (0 X2P-01) + 1, 3, 3, 2 !TDC ROC#1 Sl#21 Ch#1 HSCIN pl#3 [X2] id#3 sig#2 [TDC+] (1 X2P-03) + 2, 3, 5, 2 !TDC ROC#1 Sl#21 Ch#2 HSCIN pl#3 [X2] id#5 sig#2 [TDC+] (2 X2P-05) + 3, 3, 7, 2 !TDC ROC#1 Sl#21 Ch#3 HSCIN pl#3 [X2] id#7 sig#2 [TDC+] (3 X2P-07) + 4, 3, 9, 2 !TDC ROC#1 Sl#21 Ch#4 HSCIN pl#3 [X2] id#9 sig#2 [TDC+] (4 X2P-09) + 5, 3, 11, 2 !TDC ROC#1 Sl#21 Ch#5 HSCIN pl#3 [X2] id#11 sig#2 [TDC+] (5 X2P-11) + 6, 3, 13, 2 !TDC ROC#1 Sl#21 Ch#6 HSCIN pl#3 [X2] id#13 sig#2 [TDC+] (6 X2P-13) + 7, 3, 15, 2 !TDC ROC#1 Sl#21 Ch#7 HSCIN pl#3 [X2] id#15 sig#2 [TDC+] (7 X2P-15) +! + 8, 3, 2, 2 !TDC ROC#1 Sl#21 Ch#8 HSCIN pl#3 [X2] id#2 sig#2 [TDC+] (8 X2P-02) + 9, 3, 4, 2 !TDC ROC#1 Sl#21 Ch#9 HSCIN pl#3 [X2] id#4 sig#2 [TDC+] (9 X2P-04) + 10, 3, 6, 2 !TDC ROC#1 Sl#21 Ch#10 HSCIN pl#3 [X2] id#6 sig#2 [TDC+] (10 X2P-06) + 11, 3, 8, 2 !TDC ROC#1 Sl#21 Ch#11 HSCIN pl#3 [X2] id#8 sig#2 [TDC+] (11 X2P-08) + 12, 3, 10, 2 !TDC ROC#1 Sl#21 Ch#12 HSCIN pl#3 [X2] id#10 sig#2 [TDC+] (12 X2P-10) + 13, 3, 12, 2 !TDC ROC#1 Sl#21 Ch#13 HSCIN pl#3 [X2] id#12 sig#2 [TDC+] (13 X2P-12) + 14, 3, 14, 2 !TDC ROC#1 Sl#21 Ch#14 HSCIN pl#3 [X2] id#14 sig#2 [TDC+] (14 X2P-14) + 15, 3, 16, 2 !TDC ROC#1 Sl#21 Ch#15 HSCIN pl#3 [X2] id#16 sig#2 [TDC+] (15 X2P-16) +! +! swapped s2x- with s2y+ +! + 16, 4, 1, 2 !TDC ROC#1 Sl#21 Ch#32 HSCIN pl#4 [Y2] id#1 sig#2 [TDC+] (32 Y2P-01) + 17, 4, 3, 2 !TDC ROC#1 Sl#21 Ch#33 HSCIN pl#4 [Y2] id#3 sig#2 [TDC+] (33 Y2P-03) + 18, 4, 5, 2 !TDC ROC#1 Sl#21 Ch#34 HSCIN pl#4 [Y2] id#5 sig#2 [TDC+] (34 Y2P-05) + 19, 4, 7, 2 !TDC ROC#1 Sl#21 Ch#35 HSCIN pl#4 [Y2] id#7 sig#2 [TDC+] (35 Y2P-07) + 20, 4, 9, 2 !TDC ROC#1 Sl#21 Ch#36 HSCIN pl#4 [Y2] id#9 sig#2 [TDC+] (36 Y2P-09) +! 21 !TDC ROC#1 Sl#21 Ch#37 unused +! 22 !TDC ROC#1 Sl#21 Ch#38 unused +! 23 !TDC ROC#1 Sl#21 Ch#39 unused + 24, 4, 2, 2 !TDC ROC#1 Sl#21 Ch#40 HSCIN pl#4 [Y2] id#2 sig#2 [TDC+] (40 Y2P-02) + 25, 4, 4, 2 !TDC ROC#1 Sl#21 Ch#41 HSCIN pl#4 [Y2] id#4 sig#2 [TDC+] (41 Y2P-04) + 26, 4, 6, 2 !TDC ROC#1 Sl#21 Ch#42 HSCIN pl#4 [Y2] id#6 sig#2 [TDC+] (42 Y2P-06) + 27, 4, 8, 2 !TDC ROC#1 Sl#21 Ch#43 HSCIN pl#4 [Y2] id#8 sig#2 [TDC+] (43 Y2P-08) + 28, 4, 10, 2 !TDC ROC#1 Sl#21 Ch#44 HSCIN pl#4 [Y2] id#10 sig#2 [TDC+] (44 Y2P-10) +! 29 !TDC ROC#1 Sl#21 Ch#45 unused +! 30 !TDC ROC#1 Sl#21 Ch#46 unused +! 31 !TDC ROC#1 Sl#21 Ch#47 unused +! + 32, 3, 1, 3 !TDC ROC#1 Sl#21 Ch#16 HSCIN pl#3 [X2] id#1 sig#3 [TDC-] (16 X2N-01) + 33, 3, 3, 3 !TDC ROC#1 Sl#21 Ch#17 HSCIN pl#3 [X2] id#3 sig#3 [TDC-] (17 X2N-03) + 34, 3, 5, 3 !TDC ROC#1 Sl#21 Ch#18 HSCIN pl#3 [X2] id#5 sig#3 [TDC-] (18 X2N-05) + 35, 3, 7, 3 !TDC ROC#1 Sl#21 Ch#19 HSCIN pl#3 [X2] id#7 sig#3 [TDC-] (19 X2N-07) + 36, 3, 9, 3 !TDC ROC#1 Sl#21 Ch#20 HSCIN pl#3 [X2] id#9 sig#3 [TDC-] (20 X2N-09) + 37, 3, 11, 3 !TDC ROC#1 Sl#21 Ch#21 HSCIN pl#3 [X2] id#11 sig#3 [TDC-] (21 X2N-11) + 38, 3, 13, 3 !TDC ROC#1 Sl#21 Ch#22 HSCIN pl#3 [X2] id#13 sig#3 [TDC-] (22 X2N-13) + 39, 3, 15, 3 !TDC ROC#1 Sl#21 Ch#23 HSCIN pl#3 [X2] id#15 sig#3 [TDC-] (23 X2N-15) +! + 40, 3, 2, 3 !TDC ROC#1 Sl#21 Ch#24 HSCIN pl#3 [X2] id#2 sig#3 [TDC-] (24 X2N-02) + 41, 3, 4, 3 !TDC ROC#1 Sl#21 Ch#25 HSCIN pl#3 [X2] id#4 sig#3 [TDC-] (25 X2N-04) + 42, 3, 6, 3 !TDC ROC#1 Sl#21 Ch#26 HSCIN pl#3 [X2] id#6 sig#3 [TDC-] (26 X2N-06) + 43, 3, 8, 3 !TDC ROC#1 Sl#21 Ch#27 HSCIN pl#3 [X2] id#8 sig#3 [TDC-] (27 X2N-08) + 44, 3, 10, 3 !TDC ROC#1 Sl#21 Ch#28 HSCIN pl#3 [X2] id#10 sig#3 [TDC-] (28 X2N-10) + 45, 3, 12, 3 !TDC ROC#1 Sl#21 Ch#29 HSCIN pl#3 [X2] id#12 sig#3 [TDC-] (29 X2N-12) + 46, 3, 14, 3 !TDC ROC#1 Sl#21 Ch#30 HSCIN pl#3 [X2] id#14 sig#3 [TDC-] (30 X2N-14) + 47, 3, 16, 3 !TDC ROC#1 Sl#21 Ch#31 HSCIN pl#3 [X2] id#16 sig#3 [TDC-] (31 X2N-16) +! + 48, 4, 1, 3 !TDC ROC#1 Sl#21 Ch#48 HSCIN pl#4 [Y2] id#1 sig#3 [TDC-] (48 Y2N-01) + 49, 4, 3, 3 !TDC ROC#1 Sl#21 Ch#49 HSCIN pl#4 [Y2] id#3 sig#3 [TDC-] (49 Y2N-03) + 50, 4, 5, 3 !TDC ROC#1 Sl#21 Ch#50 HSCIN pl#4 [Y2] id#5 sig#3 [TDC-] (50 Y2N-05) + 51, 4, 7, 3 !TDC ROC#1 Sl#21 Ch#51 HSCIN pl#4 [Y2] id#7 sig#3 [TDC-] (51 Y2N-07) + 52, 4, 9, 3 !TDC ROC#1 Sl#21 Ch#52 HSCIN pl#4 [Y2] id#9 sig#3 [TDC-] (52 Y2N-09) +! 53 !TDC ROC#1 Sl#21 Ch#53 unused +! 54 !TDC ROC#1 Sl#21 Ch#54 unused +! 55 !TDC ROC#1 Sl#21 Ch#55 unused + 56, 4, 2, 3 !TDC ROC#1 Sl#21 Ch#56 HSCIN pl#4 [Y2] id#2 sig#3 [TDC-] (56 Y2N-02) + 57, 4, 4, 3 !TDC ROC#1 Sl#21 Ch#57 HSCIN pl#4 [Y2] id#4 sig#3 [TDC-] (57 Y2N-04) + 58, 4, 6, 3 !TDC ROC#1 Sl#21 Ch#58 HSCIN pl#4 [Y2] id#6 sig#3 [TDC-] (58 Y2N-06) + 59, 4, 8, 3 !TDC ROC#1 Sl#21 Ch#59 HSCIN pl#4 [Y2] id#8 sig#3 [TDC-] (59 Y2N-08) + 60, 4, 10, 3 !TDC ROC#1 Sl#21 Ch#60 HSCIN pl#4 [Y2] id#10 sig#3 [TDC-] (60 Y2N-10) +! 61 !TDC ROC#1 Sl#21 Ch#61 unused +! 62 !TDC ROC#1 Sl#21 Ch#62 unused +! 63 !TDC ROC#1 Sl#21 Ch#63 unused +! +!!!====================================================================== + detector= 5 !HMISC + +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 19 ! TDC + +0, 1, 1, 0 ! 0 !TDC ROC#1 Sl#19 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#1 Sl#19 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#1 Sl#19 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#1 Sl#19 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#1 Sl#19 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#1 Sl#19 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#1 Sl#19 Ch#6 empty +7, 1, 8, 0 ! 7 !TDC ROC#1 Sl#19 Ch#7 unused +8, 1, 9, 0 ! 8 !TDC ROC#1 Sl#19 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#1 Sl#19 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#1 Sl#19 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#1 Sl#19 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#1 Sl#19 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#1 Sl#19 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#1 Sl#19 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#1 Sl#19 Ch#15 signal {PEDTRG} +16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 signal {hS1} +17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 signal {hPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 signal {hS2X} +19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 signal {hPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 signal {hS1X} +21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 signal {hS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 signal {hPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 signal {hS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 signal {hS2} +25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 signal {hCERHI} +26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 signal {hSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 signal {hSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 signal {hELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 signal {hPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 signal {hELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 signal {hPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 signal {PION} +33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 signal {CER} +34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 signal {hPIONHI} +35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 signal {hPRE200} +36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 signal {??} +37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 signal {UNSER} +38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 signal {BCM1} +39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 signal {BCM2} +40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 signal {hELHI} +41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 signal {hELLO} +42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 signal {hPRHI} +43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 signal {hPRLO} +44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 signal {hSHLO} +45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 signal {CLOCK} +46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 signal {BEAMGATES} +47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 signal {hADCGATES ? PEDS and TRIGS} +48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 RF no delay +49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 RF + 10 ns +53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +! +!============================================================================= +! AEROGEL TDC +!.............................................................................. +! For aerogel: 0-->ADC_POS +! 1-->ADC_NEG +! 2-->TDC_POS ! Check one more time (Hamlet, 2002/10/01) +! 3-->TDC_NEG + + detector= 7 ! Temporary for HAERO + +! TDC module LeCroy 1872a + + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +!! +! S. Wood have problem to read additional TDC in Slot =18 (2002/10/18, Hamlet) +! +! For now I will use some other tdc channels for Aerogel +!.......................> +! + Slot= 18 ! TDC channels for HMS Aero +! Changed May 5, 2003 DJG +! +! +! Slot= 18 !TDC +! +! TDC chan for aerogel (Hamlet, 2002/10/17) +! +0, 1, 1, 2 !TDC ROC#1 Sl#18 Ch#0 signal pos 1 +1, 1, 2, 2 !TDC ROC#1 Sl#18 Ch#1 signal pos 2 +2, 1, 3, 2 !TDC ROC#1 Sl#18 Ch#2 signal pos 3 +3, 1, 4, 2 !TDC ROC#1 Sl#18 Ch#3 signal pos 4 +4, 1, 5, 2 !TDC ROC#1 Sl#18 Ch#4 signal pos 5 +5, 1, 6, 2 !TDC ROC#1 Sl#18 Ch#5 signal pos 6 +6, 1, 7, 2 !TDC ROC#1 Sl#18 Ch#6 signal pos 7 +7, 1, 8, 2 !TDC ROC#1 Sl#18 Ch#7 signal pos 8 +8, 1, 1, 3 !TDC ROC#1 Sl#18 Ch#8 signal neg 1 +9, 1, 2, 3 !TDC ROC#1 Sl#18 Ch#9 signal neg 2 +10, 1, 3, 3 !TDC ROC#1 Sl#18 Ch#10 signal neg 3 +11, 1, 4, 3 !TDC ROC#1 Sl#18 Ch#11 signal neg 4 +12, 1, 5, 3 !TDC ROC#1 Sl#18 Ch#12 signal neg 5 +13, 1, 6, 3 !TDC ROC#1 Sl#18 Ch#13 signal neg 6 +14, 1, 7, 3 !TDC ROC#1 Sl#18 Ch#14 signal neg 7 +15, 1, 8, 3 !TDC ROC#1 Sl#18 Ch#15 signal neg 8 +!! +!16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 unused +!17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 unused +!18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 unused +!19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 unused +!20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 unused +!21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 unused +!22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 unused +!23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 unused +!24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 unused +!25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 unused +!26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 unused +!27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 unused +!28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 unused +!29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 unused +!30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 unused +!31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 unused +!32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 unused +!33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 unused +!34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 unused +!35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 unused +!36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 unused +!37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 unused +!38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 unused +!39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 unused +!40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 unused +!41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 unused +!42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 unused +!43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 unused +!44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 unused +!45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 unused +!46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 unused +!47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 unused +!48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 unused +!49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +!50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +!51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +!52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 unused +!53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +!54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +!55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +!56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +!57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +!58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +!59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +!60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +!61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +!62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +!63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +!============================================================================= +! ADC module LeCroy 1881M + detector = 2 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#1 Sl#9 Ch#0 HSCIN pl#1 [X1] id#1 sig#0 [ADC+] (0 X1P-01) + 1, 1, 3, 0 !ADC ROC#1 Sl#9 Ch#1 HSCIN pl#1 [X1] id#3 sig#0 [ADC+] (1 X1P-03) + 2, 1, 5, 0 !ADC ROC#1 Sl#9 Ch#2 HSCIN pl#1 [X1] id#5 sig#0 [ADC+] (2 X1P-05) + 3, 1, 7, 0 !ADC ROC#1 Sl#9 Ch#3 HSCIN pl#1 [X1] id#7 sig#0 [ADC+] (3 X1P-07) + 4, 1, 9, 0 !ADC ROC#1 Sl#9 Ch#4 HSCIN pl#1 [X1] id#9 sig#0 [ADC+] (4 X1P-09) + 5, 1, 11, 0 !ADC ROC#1 Sl#9 Ch#5 HSCIN pl#1 [X1] id#11 sig#0 [ADC+] (5 X1P-11) + 6, 1, 13, 0 !ADC ROC#1 Sl#9 Ch#6 HSCIN pl#1 [X1] id#13 sig#0 [ADC+] (6 X1P-13) + 7, 1, 15, 0 !ADC ROC#1 Sl#9 Ch#7 HSCIN pl#1 [X1] id#15 sig#0 [ADC+] (7 X1P-15) + 8, 1, 2, 0 !ADC ROC#1 Sl#9 Ch#8 HSCIN pl#1 [X1] id#2 sig#0 [ADC+] (8 X1P-02) + 9, 1, 4, 0 !ADC ROC#1 Sl#9 Ch#9 HSCIN pl#1 [X1] id#4 sig#0 [ADC+] (9 X1P-04) + 10, 1, 6, 0 !ADC ROC#1 Sl#9 Ch#10 HSCIN pl#1 [X1] id#6 sig#0 [ADC+] (10 X1P-06) + 11, 1, 8, 0 !ADC ROC#1 Sl#9 Ch#11 HSCIN pl#1 [X1] id#8 sig#0 [ADC+] (11 X1P-08) + 12, 1, 10, 0 !ADC ROC#1 Sl#9 Ch#12 HSCIN pl#1 [X1] id#10 sig#0 [ADC+] (12 X1P-10) + 13, 1, 12, 0 !ADC ROC#1 Sl#9 Ch#13 HSCIN pl#1 [X1] id#12 sig#0 [ADC+] (13 X1P-12) + 14, 1, 14, 0 !ADC ROC#1 Sl#9 Ch#14 HSCIN pl#1 [X1] id#14 sig#0 [ADC+] (14 X1P-14) + 15, 1, 16, 0 !ADC ROC#1 Sl#9 Ch#15 HSCIN pl#1 [X1] id#16 sig#0 [ADC+] (15 X1P-16) +! + 16, 1, 1, 1 !ADC ROC#1 Sl#9 Ch#16 HSCIN pl#1 [X1] id#1 sig#1 [ADC-] (16 X1N-01) + 17, 1, 3, 1 !ADC ROC#1 Sl#9 Ch#17 HSCIN pl#1 [X1] id#3 sig#1 [ADC-] (17 X1N-03) + 18, 1, 5, 1 !ADC ROC#1 Sl#9 Ch#18 HSCIN pl#1 [X1] id#5 sig#1 [ADC-] (18 X1N-05) + 19, 1, 7, 1 !ADC ROC#1 Sl#9 Ch#19 HSCIN pl#1 [X1] id#7 sig#1 [ADC-] (19 X1N-07) + 20, 1, 9, 1 !ADC ROC#1 Sl#9 Ch#20 HSCIN pl#1 [X1] id#9 sig#1 [ADC-] (20 X1N-09) + 21, 1, 11, 1 !ADC ROC#1 Sl#9 Ch#21 HSCIN pl#1 [X1] id#11 sig#1 [ADC-] (21 X1N-11) + 22, 1, 13, 1 !ADC ROC#1 Sl#9 Ch#22 HSCIN pl#1 [X1] id#13 sig#1 [ADC-] (22 X1N-13) + 23, 1, 15, 1 !ADC ROC#1 Sl#9 Ch#23 HSCIN pl#1 [X1] id#15 sig#1 [ADC-] (23 X1N-15) + 24, 1, 2, 1 !ADC ROC#1 Sl#9 Ch#24 HSCIN pl#1 [X1] id#2 sig#1 [ADC-] (24 X1N-02) + 25, 1, 4, 1 !ADC ROC#1 Sl#9 Ch#25 HSCIN pl#1 [X1] id#4 sig#1 [ADC-] (25 X1N-04) + 26, 1, 6, 1 !ADC ROC#1 Sl#9 Ch#26 HSCIN pl#1 [X1] id#6 sig#1 [ADC-] (26 X1N-06) + 27, 1, 8, 1 !ADC ROC#1 Sl#9 Ch#27 HSCIN pl#1 [X1] id#8 sig#1 [ADC-] (27 X1N-08) + 28, 1, 10, 1 !ADC ROC#1 Sl#9 Ch#28 HSCIN pl#1 [X1] id#10 sig#1 [ADC-] (28 X1N-10) + 29, 1, 12, 1 !ADC ROC#1 Sl#9 Ch#29 HSCIN pl#1 [X1] id#12 sig#1 [ADC-] (29 X1N-12) + 30, 1, 14, 1 !ADC ROC#1 Sl#9 Ch#30 HSCIN pl#1 [X1] id#14 sig#1 [ADC-] (30 X1N-14) + 31, 1, 16, 1 !ADC ROC#1 Sl#9 Ch#31 HSCIN pl#1 [X1] id#16 sig#1 [ADC-] (31 X1N-16) +! + 32, 2, 1, 0 !ADC ROC#1 Sl#9 Ch#32 HSCIN pl#2 [Y1] id#1 sig#0 [ADC+] (32 Y1P-01) + 33, 2, 3, 0 !ADC ROC#1 Sl#9 Ch#33 HSCIN pl#2 [Y1] id#3 sig#0 [ADC+] (33 Y1P-03) + 34, 2, 5, 0 !ADC ROC#1 Sl#9 Ch#34 HSCIN pl#2 [Y1] id#5 sig#0 [ADC+] (34 Y1P-05) + 35, 2, 7, 0 !ADC ROC#1 Sl#9 Ch#35 HSCIN pl#2 [Y1] id#7 sig#0 [ADC+] (35 Y1P-07) + 36, 2, 9, 0 !ADC ROC#1 Sl#9 Ch#36 HSCIN pl#2 [Y1] id#9 sig#0 [ADC+] (36 Y1P-09) +! 37 !ADC ROC#1 Sl#9 Ch#37 unused +! 38 !ADC ROC#1 Sl#9 Ch#38 unused +! 39 !ADC ROC#1 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#1 Sl#9 Ch#40 HSCIN pl#2 [Y1] id#2 sig#0 [ADC+] (40 Y1P-02) + 41, 2, 4, 0 !ADC ROC#1 Sl#9 Ch#41 HSCIN pl#2 [Y1] id#4 sig#0 [ADC+] (41 Y1P-04) + 42, 2, 6, 0 !ADC ROC#1 Sl#9 Ch#42 HSCIN pl#2 [Y1] id#6 sig#0 [ADC+] (42 Y1P-06) + 43, 2, 8, 0 !ADC ROC#1 Sl#9 Ch#43 HSCIN pl#2 [Y1] id#8 sig#0 [ADC+] (43 Y1P-08) + 44, 2, 10, 0 !ADC ROC#1 Sl#9 Ch#44 HSCIN pl#2 [Y1] id#10 sig#0 [ADC+] (44 Y1P-10) +! 45 !ADC ROC#1 Sl#9 Ch#45 unused +! 46 !ADC ROC#1 Sl#9 Ch#46 unused +! 47 !ADC ROC#1 Sl#9 Ch#47 unused +! + 48, 2, 1, 1 !ADC ROC#1 Sl#9 Ch#48 HSCIN pl#2 [Y1] id#1 sig#1 [ADC-] (48 Y1N-01) + 49, 2, 3, 1 !ADC ROC#1 Sl#9 Ch#49 HSCIN pl#2 [Y1] id#3 sig#1 [ADC-] (49 Y1N-03) + 50, 2, 5, 1 !ADC ROC#1 Sl#9 Ch#50 HSCIN pl#2 [Y1] id#5 sig#1 [ADC-] (50 Y1N-05) + 51, 2, 7, 1 !ADC ROC#1 Sl#9 Ch#51 HSCIN pl#2 [Y1] id#7 sig#1 [ADC-] (51 Y1N-07) + 52, 2, 9, 1 !ADC ROC#1 Sl#9 Ch#52 HSCIN pl#2 [Y1] id#9 sig#1 [ADC-] (52 Y1N-09) +! 53 !ADC ROC#1 Sl#9 Ch#53 unused +! 54 !ADC ROC#1 Sl#9 Ch#54 unused +! 55 !ADC ROC#1 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#1 Sl#9 Ch#56 HSCIN pl#2 [Y1] id#2 sig#1 [ADC-] (56 Y1N-02) + 57, 2, 4, 1 !ADC ROC#1 Sl#9 Ch#57 HSCIN pl#2 [Y1] id#4 sig#1 [ADC-] (57 Y1N-04) + 58, 2, 6, 1 !ADC ROC#1 Sl#9 Ch#58 HSCIN pl#2 [Y1] id#6 sig#1 [ADC-] (58 Y1N-06) + 59, 2, 8, 1 !ADC ROC#1 Sl#9 Ch#59 HSCIN pl#2 [Y1] id#8 sig#1 [ADC-] (59 Y1N-08) + 60, 2, 10, 1 !ADC ROC#1 Sl#9 Ch#60 HSCIN pl#2 [Y1] id#10 sig#1 [ADC-] (60 Y1N-10) +! 61 !ADC ROC#1 Sl#9 Ch#62 unused +! 62 !ADC ROC#1 Sl#9 Ch#62 unused +! 63 !ADC ROC#1 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#1 Sl#7 Ch#0 HSCIN pl#3 [X2] id#1 sig#0 [ADC+] (0 X2P-01) + 1, 3, 3, 0 !ADC ROC#1 Sl#7 Ch#1 HSCIN pl#3 [X2] id#3 sig#0 [ADC+] (1 X2P-03) + 2, 3, 5, 0 !ADC ROC#1 Sl#7 Ch#2 HSCIN pl#3 [X2] id#5 sig#0 [ADC+] (2 X2P-05) + 3, 3, 7, 0 !ADC ROC#1 Sl#7 Ch#3 HSCIN pl#3 [X2] id#7 sig#0 [ADC+] (3 X2P-07) + 4, 3, 9, 0 !ADC ROC#1 Sl#7 Ch#4 HSCIN pl#3 [X2] id#9 sig#0 [ADC+] (4 X2P-09) + 5, 3, 11, 0 !ADC ROC#1 Sl#7 Ch#5 HSCIN pl#3 [X2] id#11 sig#0 [ADC+] (5 X2P-11) + 6, 3, 13, 0 !ADC ROC#1 Sl#7 Ch#6 HSCIN pl#3 [X2] id#13 sig#0 [ADC+] (6 X2P-13) + 7, 3, 15, 0 !ADC ROC#1 Sl#7 Ch#7 HSCIN pl#3 [X2] id#15 sig#0 [ADC+] (7 X2P-15) + 8, 3, 2, 0 !ADC ROC#1 Sl#7 Ch#8 HSCIN pl#3 [X2] id#2 sig#0 [ADC+] (8 X2P-02) + 9, 3, 4, 0 !ADC ROC#1 Sl#7 Ch#9 HSCIN pl#3 [X2] id#4 sig#0 [ADC+] (9 X2P-04) + 10, 3, 6, 0 !ADC ROC#1 Sl#7 Ch#10 HSCIN pl#3 [X2] id#6 sig#0 [ADC+] (10 X2P-06) + 11, 3, 8, 0 !ADC ROC#1 Sl#7 Ch#11 HSCIN pl#3 [X2] id#8 sig#0 [ADC+] (11 X2P-08) + 12, 3, 10, 0 !ADC ROC#1 Sl#7 Ch#12 HSCIN pl#3 [X2] id#10 sig#0 [ADC+] (12 X2P-10) + 13, 3, 12, 0 !ADC ROC#1 Sl#7 Ch#13 HSCIN pl#3 [X2] id#12 sig#0 [ADC+] (13 X2P-12) + 14, 3, 14, 0 !ADC ROC#1 Sl#7 Ch#14 HSCIN pl#3 [X2] id#14 sig#0 [ADC+] (14 X2P-14) + 15, 3, 16, 0 !ADC ROC#1 Sl#7 Ch#15 HSCIN pl#3 [X2] id#16 sig#0 [ADC+] (15 X2P-16) +! + 16, 3, 1, 1 !ADC ROC#1 Sl#7 Ch#16 HSCIN pl#3 [X2] id#1 sig#1 [ADC-] (16 X2N-01) + 17, 3, 3, 1 !ADC ROC#1 Sl#7 Ch#17 HSCIN pl#3 [X2] id#3 sig#1 [ADC-] (17 X2N-03) + 18, 3, 5, 1 !ADC ROC#1 Sl#7 Ch#18 HSCIN pl#3 [X2] id#5 sig#1 [ADC-] (18 X2N-05) + 19, 3, 7, 1 !ADC ROC#1 Sl#7 Ch#19 HSCIN pl#3 [X2] id#7 sig#1 [ADC-] (19 X2N-07) + 20, 3, 9, 1 !ADC ROC#1 Sl#7 Ch#20 HSCIN pl#3 [X2] id#9 sig#1 [ADC-] (20 X2N-09) + 21, 3, 11, 1 !ADC ROC#1 Sl#7 Ch#21 HSCIN pl#3 [X2] id#11 sig#1 [ADC-] (21 X2N-11) + 22, 3, 13, 1 !ADC ROC#1 Sl#7 Ch#22 HSCIN pl#3 [X2] id#13 sig#1 [ADC-] (22 X2N-13) + 23, 3, 15, 1 !ADC ROC#1 Sl#7 Ch#23 HSCIN pl#3 [X2] id#15 sig#1 [ADC-] (23 X2N-15) +! + 24, 3, 2, 1 !ADC ROC#1 Sl#7 Ch#24 HSCIN pl#3 [X2] id#2 sig#1 [ADC-] (24 X2N-02) + 25, 3, 4, 1 !ADC ROC#1 Sl#7 Ch#25 HSCIN pl#3 [X2] id#4 sig#1 [ADC-] (25 X2N-04) + 26, 3, 6, 1 !ADC ROC#1 Sl#7 Ch#26 HSCIN pl#3 [X2] id#6 sig#1 [ADC-] (26 X2N-06) + 27, 3, 8, 1 !ADC ROC#1 Sl#7 Ch#27 HSCIN pl#3 [X2] id#8 sig#1 [ADC-] (27 X2N-08) + 28, 3, 10, 1 !ADC ROC#1 Sl#7 Ch#28 HSCIN pl#3 [X2] id#10 sig#1 [ADC-] (28 X2N-10) + 29, 3, 12, 1 !ADC ROC#1 Sl#7 Ch#29 HSCIN pl#3 [X2] id#12 sig#1 [ADC-] (29 X2N-12) + 30, 3, 14, 1 !ADC ROC#1 Sl#7 Ch#30 HSCIN pl#3 [X2] id#14 sig#1 [ADC-] (30 X2N-14) + 31, 3, 16, 1 !ADC ROC#1 Sl#7 Ch#31 HSCIN pl#3 [X2] id#16 sig#1 [ADC-] (31 X2N-16) + 32, 4, 1, 0 !ADC ROC#1 Sl#7 Ch#32 HSCIN pl#4 [Y2] id#1 sig#0 [ADC+] (32 Y2P-01) + 33, 4, 3, 0 !ADC ROC#1 Sl#7 Ch#33 HSCIN pl#4 [Y2] id#3 sig#0 [ADC+] (33 Y2P-03) + 34, 4, 5, 0 !ADC ROC#1 Sl#7 Ch#34 HSCIN pl#4 [Y2] id#5 sig#0 [ADC+] (34 Y2P-05) + 35, 4, 7, 0 !ADC ROC#1 Sl#7 Ch#35 HSCIN pl#4 [Y2] id#7 sig#0 [ADC+] (35 Y2P-07) + 36, 4, 9, 0 !ADC ROC#1 Sl#7 Ch#36 HSCIN pl#4 [Y2] id#9 sig#0 [ADC+] (36 Y2P-09) +! 37 !ADC ROC#1 Sl#7 Ch#37 unused +! 38 !ADC ROC#1 Sl#7 Ch#38 unused +! 39 !ADC ROC#1 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#1 Sl#7 Ch#40 HSCIN pl#4 [Y2] id#2 sig#0 [ADC+] (40 Y2P-02) + 41, 4, 4, 0 !ADC ROC#1 Sl#7 Ch#41 HSCIN pl#4 [Y2] id#4 sig#0 [ADC+] (41 Y2P-04) + 42, 4, 6, 0 !ADC ROC#1 Sl#7 Ch#42 HSCIN pl#4 [Y2] id#6 sig#0 [ADC+] (42 Y2P-06) + 43, 4, 8, 0 !ADC ROC#1 Sl#7 Ch#43 HSCIN pl#4 [Y2] id#8 sig#0 [ADC+] (43 Y2P-08) + 44, 4, 10, 0 !ADC ROC#1 Sl#7 Ch#44 HSCIN pl#4 [Y2] id#10 sig#0 [ADC+] (44 Y2P-10) +! 45 !ADC ROC#1 Sl#7 Ch#45 unused +! 46 !ADC ROC#1 Sl#7 Ch#46 unused +! 47 !ADC ROC#1 Sl#7 Ch#47 unused + 48, 4, 1, 1 !ADC ROC#1 Sl#7 Ch#48 HSCIN pl#4 [Y2] id#1 sig#1 [ADC-] (48 Y2N-01) + 49, 4, 3, 1 !ADC ROC#1 Sl#7 Ch#49 HSCIN pl#4 [Y2] id#3 sig#1 [ADC-] (49 Y2N-03) + 50, 4, 5, 1 !ADC ROC#1 Sl#7 Ch#50 HSCIN pl#4 [Y2] id#5 sig#1 [ADC-] (50 Y2N-05) + 51, 4, 7, 1 !ADC ROC#1 Sl#7 Ch#51 HSCIN pl#4 [Y2] id#7 sig#1 [ADC-] (51 Y2N-07) + 52, 4, 9, 1 !ADC ROC#1 Sl#7 Ch#52 HSCIN pl#4 [Y2] id#9 sig#1 [ADC-] (52 Y2N-09) +! 53 !ADC ROC#1 Sl#7 Ch#53 unused +! 54 !ADC ROC#1 Sl#7 Ch#54 unused +! 55 !ADC ROC#1 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#1 Sl#7 Ch#56 HSCIN pl#4 [Y2] id#2 sig#1 [ADC-] (56 Y2N-02) + 57, 4, 4, 1 !ADC ROC#1 Sl#7 Ch#57 HSCIN pl#4 [Y2] id#4 sig#1 [ADC-] (57 Y2N-04) + 58, 4, 6, 1 !ADC ROC#1 Sl#7 Ch#58 HSCIN pl#4 [Y2] id#6 sig#1 [ADC-] (58 Y2N-06) + 59, 4, 8, 1 !ADC ROC#1 Sl#7 Ch#59 HSCIN pl#4 [Y2] id#8 sig#1 [ADC-] (59 Y2N-08) + 60, 4, 10, 1 !ADC ROC#1 Sl#7 Ch#60 HSCIN pl#4 [Y2] id#10 sig#1 [ADC-] (60 Y2N-10) +! 61 !ADC ROC#1 Sl#7 Ch#61 unused +! 62 !ADC ROC#1 Sl#7 Ch#62 unused +! 63 !ADC ROC#1 Sl#7 Ch#63 unused +! +!--------------------------------------------------------------------------------- + detector= 4 !HCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#1 Sl#1 Ch#0 HCAL col#1 row#1 (0 A-01) + 1, 1, 2 !ADC ROC#1 Sl#1 Ch#1 HCAL col#1 row#2 (1 A-02) + 2, 1, 3 !ADC ROC#1 Sl#1 Ch#2 HCAL col#1 row#3 (2 A-03) + 3, 1, 4 !ADC ROC#1 Sl#1 Ch#3 HCAL col#1 row#4 (3 A-04) + 4, 1, 5 !ADC ROC#1 Sl#1 Ch#4 HCAL col#1 row#5 (4 A-05) + 5, 1, 6 !ADC ROC#1 Sl#1 Ch#5 HCAL col#1 row#6 (5 A-06) + 6, 1, 7 !ADC ROC#1 Sl#1 Ch#6 HCAL col#1 row#7 (6 A-07) + 7, 1, 8 !ADC ROC#1 Sl#1 Ch#7 HCAL col#1 row#8 (7 A-08) + 8, 1, 9 !ADC ROC#1 Sl#1 Ch#8 HCAL col#1 row#9 (8 A-09) + 9, 1, 10 !ADC ROC#1 Sl#1 Ch#9 HCAL col#1 row#10 (9 A-10) + 10, 1, 11 !ADC ROC#1 Sl#1 Ch#10 HCAL col#1 row#11 (10 A-11) + 11, 1, 12 !ADC ROC#1 Sl#1 Ch#11 HCAL col#1 row#12 (11 A-12) + 12, 1, 13 !ADC ROC#1 Sl#1 Ch#12 HCAL col#1 row#13 (12 A-13) +! 13 !ADC ROC#1 Sl#1 Ch#13 unused +! 14 !ADC ROC#1 Sl#1 Ch#14 unused +! 15 !ADC ROC#1 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#1 Sl#1 Ch#16 HCAL col#2 row#1 (16 B-01) + 17, 2, 2 !ADC ROC#1 Sl#1 Ch#17 HCAL col#2 row#2 (17 B-02) + 18, 2, 3 !ADC ROC#1 Sl#1 Ch#18 HCAL col#2 row#3 (18 B-03) + 19, 2, 4 !ADC ROC#1 Sl#1 Ch#19 HCAL col#2 row#4 (19 B-04) + 20, 2, 5 !ADC ROC#1 Sl#1 Ch#20 HCAL col#2 row#5 (20 B-05) + 21, 2, 6 !ADC ROC#1 Sl#1 Ch#21 HCAL col#2 row#6 (21 B-06) + 22, 2, 7 !ADC ROC#1 Sl#1 Ch#22 HCAL col#2 row#7 (22 B-07) + 23, 2, 8 !ADC ROC#1 Sl#1 Ch#23 HCAL col#2 row#8 (23 B-08) + 24, 2, 9 !ADC ROC#1 Sl#1 Ch#24 HCAL col#2 row#9 (24 B-09) + 25, 2, 10 !ADC ROC#1 Sl#1 Ch#25 HCAL col#2 row#10 (25 B-10) + 26, 2, 11 !ADC ROC#1 Sl#1 Ch#26 HCAL col#2 row#11 (26 B-11) + 27, 2, 12 !ADC ROC#1 Sl#1 Ch#27 HCAL col#2 row#12 (27 B-12) + 28, 2, 13 !ADC ROC#1 Sl#1 Ch#28 HCAL col#2 row#13 (28 B-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused + 32, 3, 1 !ADC ROC#1 Sl#1 Ch#32 HCAL col#3 row#1 (32 C-01) + 33, 3, 2 !ADC ROC#1 Sl#1 Ch#33 HCAL col#3 row#2 (33 C-02) + 34, 3, 3 !ADC ROC#1 Sl#1 Ch#34 HCAL col#3 row#3 (34 C-03) + 35, 3, 4 !ADC ROC#1 Sl#1 Ch#35 HCAL col#3 row#4 (35 C-04) + 36, 3, 5 !ADC ROC#1 Sl#1 Ch#36 HCAL col#3 row#5 (36 C-05) + 37, 3, 6 !ADC ROC#1 Sl#1 Ch#37 HCAL col#3 row#6 (37 C-06) + 38, 3, 7 !ADC ROC#1 Sl#1 Ch#38 HCAL col#3 row#7 (38 C-07) + 39, 3, 8 !ADC ROC#1 Sl#1 Ch#39 HCAL col#3 row#8 (39 C-08) + 40, 3, 9 !ADC ROC#1 Sl#1 Ch#40 HCAL col#3 row#9 (40 C-09) + 41, 3, 10 !ADC ROC#1 Sl#1 Ch#41 HCAL col#3 row#10 (41 C-10) + 42, 3, 11 !ADC ROC#1 Sl#1 Ch#42 HCAL col#3 row#11 (42 C-11) + 43, 3, 12 !ADC ROC#1 Sl#1 Ch#43 HCAL col#3 row#12 (43 C-12) + 44, 3, 13 !ADC ROC#1 Sl#1 Ch#44 HCAL col#3 row#13 (44 C-13) +! 45 !ADC ROC#1 Sl#1 Ch#45 unused +! 46 !ADC ROC#1 Sl#1 Ch#46 unused +! 47 !ADC ROC#1 Sl#1 Ch#47 unused + 48, 4, 1 !ADC ROC#1 Sl#1 Ch#48 HCAL col#4 row#1 (48 D-01) + 49, 4, 2 !ADC ROC#1 Sl#1 Ch#49 HCAL col#4 row#2 (49 D-02) + 50, 4, 3 !ADC ROC#1 Sl#1 Ch#50 HCAL col#4 row#3 (50 D-03) + 51, 4, 4 !ADC ROC#1 Sl#1 Ch#51 HCAL col#4 row#4 (51 D-04) + 52, 4, 5 !ADC ROC#1 Sl#1 Ch#52 HCAL col#4 row#5 (52 D-05) + 53, 4, 6 !ADC ROC#1 Sl#1 Ch#53 HCAL col#4 row#6 (53 D-06) + 54, 4, 7 !ADC ROC#1 Sl#1 Ch#54 HCAL col#4 row#7 (54 D-07) + 55, 4, 8 !ADC ROC#1 Sl#1 Ch#55 HCAL col#4 row#8 (55 D-08) + 56, 4, 9 !ADC ROC#1 Sl#1 Ch#56 HCAL col#4 row#9 (56 D-09) + 57, 4, 10 !ADC ROC#1 Sl#1 Ch#57 HCAL col#4 row#10 (57 D-10) + 58, 4, 11 !ADC ROC#1 Sl#1 Ch#58 HCAL col#4 row#11 (58 D-11) + 59, 4, 12 !ADC ROC#1 Sl#1 Ch#59 HCAL col#4 row#12 (59 D-12) + 60, 4, 13 !ADC ROC#1 Sl#1 Ch#60 HCAL col#4 row#13 (60 D-13) +! +! 61 !ADC ROC#1 Sl#1 Ch#61 unused + + detector= 5 !HMISC - scintillator (ADCs) - behind calorimeter + 62, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). + 63, 2, 2, 0 ! +! +detector= 4 !HCAL +Slot= 5 ! ADC Second set of tubes on first two layers + 0, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#0 HCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#1 HCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#2 HCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#3 HCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#4 HCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#5 HCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#6 HCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#7 HCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#1 Sl#5 Ch#8 HCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#1 Sl#5 Ch#9 HCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#1 Sl#5 Ch#10 HCAL col#1 row#11 (10 An-11) + 11, 1, 12, 1 !ADC ROC#1 Sl#5 Ch#11 HCAL col#1 row#12 (11 An-112) + 12, 1, 13, 1 !ADC ROC#1 Sl#5 Ch#12 HCAL col#1 row#13 (12 An-13) +! 13 !ADC ROC#1 Sl#5 Ch#13 unused +! 14 !ADC ROC#1 Sl#5 Ch#14 unused +! 15 !ADC ROC#1 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#1 Sl#5 Ch#16 HCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#1 Sl#5 Ch#17 HCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#1 Sl#5 Ch#18 HCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#1 Sl#5 Ch#19 HCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#1 Sl#5 Ch#20 HCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#1 Sl#5 Ch#21 HCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#1 Sl#5 Ch#22 HCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#1 Sl#5 Ch#23 HCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#1 Sl#5 Ch#24 HCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#1 Sl#5 Ch#25 HCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#1 Sl#5 Ch#26 HCAL col#2 row#11 (26 Bn-11) + 27, 2, 12, 1 !ADC ROC#1 Sl#5 Ch#27 HCAL col#2 row#12 (27 Bn-12) + 28, 2, 13, 1 !ADC ROC#1 Sl#5 Ch#28 HCAL col#2 row#13 (28 Bn-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused +! +!================================================================== +!!!!!!!!!!!!!!!!!!!!!!! AEROGEL ADC !!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! + detector = 7 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! +!Slot= 5 ! ADC +! May be will use spare channels HCAL ADC for aerogel (Hamlet, 2002/10/16) +!48, 1, 1, 0 !ADC ROC#1 Sl#5 Ch#48 signal pos 1 +!49, 1, 2, 0 !ADC ROC#1 Sl#5 Ch#48signal pos 2 +!50, 1, 3, 0 !ADC ROC#1 Sl#5 Ch#50 signal pos 3 +!51, 1, 4, 0 !ADC ROC#1 Sl#5 Ch#51 signal pos 4 +!52, 1, 5, 0 !ADC ROC#1 Sl#5 Ch#52 signal pos 5 +!53, 1, 6, 0 !ADC ROC#1 Sl#5 Ch#53 signal pos 6 +!54, 1, 7, 0 !ADC ROC#1 Sl#5 Ch#54 signal pos 7 +!55, 1, 8, 0 !ADC ROC#1 Sl#5 Ch#55 signal pos 8 +!56, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#56 signal neg 1 +!57, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#57 signal neg 2 +!58, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#58 signal neg 3 +!59, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#59 signal neg 4 +!60, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#60 signal neg 5 +!61, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#61 signal neg 6 +!62, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#62 signal neg 7 +!63, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#63 signal neg 8 +! +! detector = 7 +! Nsubadd= 64 +! MASK= 3FFFx +! BSUB= 17 + + Slot= 11 ! ADC +! Additional new ADC for aerogel (Hamlet, 2002/10/17) + 0, 1, 1, 0 !ADC ROC#1 Sl#11 Ch#0 signal pos 1 + 1, 1, 2, 0 !ADC ROC#1 Sl#11 Ch#1 signal pos 2 + 2, 1, 3, 0 !ADC ROC#1 Sl#11 Ch#2 signal pos 3 + 3, 1, 4, 0 !ADC ROC#1 Sl#11 Ch#3 signal pos 4 + 4, 1, 5, 0 !ADC ROC#1 Sl#11 Ch#4 signal pos 5 + 5, 1, 6, 0 !ADC ROC#1 Sl#11 Ch#5 signal pos 6 + 6, 1, 7, 0 !ADC ROC#1 Sl#11 Ch#6 signal pos 7 + 7, 1, 8, 0 !ADC ROC#1 Sl#11 Ch#7 signal pos 8 + 8, 1, 1, 1 !ADC ROC#1 Sl#11 Ch#8 signal neg 1 + 9, 1, 2, 1 !ADC ROC#1 Sl#11 Ch#9 signal neg 2 + 10, 1, 3, 1 !ADC ROC#1 Sl#11 Ch#10 signal neg 3 + 11, 1, 4, 1 !ADC ROC#1 Sl#11 Ch#11 signal neg 4 + 12, 1, 5, 1 !ADC ROC#1 Sl#11 Ch#12 signal neg 5 + 13, 1, 6, 1 !ADC ROC#1 Sl#11 Ch#13 signal neg 6 + 14, 1, 7, 1 !ADC ROC#1 Sl#11 Ch#14 signal neg 7 + 15, 1, 8, 1 !ADC ROC#1 Sl#11 Ch#15 signal neg 8 +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!----------------------------------------------------------------- + detector= 3 !HCER +! + Slot= 3 + 0, 1, 1 !ADC ROC#1 Sl#3 Ch#0 HCER tube#1 (C1) + 1, 1, 2 !ADC ROC#1 Sl#3 Ch#1 HCER tube#2 (C2) +! 2 !ADC ROC#1 Sl#3 Ch#2 unused +! 3 !ADC ROC#1 Sl#3 Ch#3 unused +! 4 !ADC ROC#1 Sl#3 Ch#4 unused +! 5 !ADC ROC#1 Sl#3 Ch#5 unused +! 6 !ADC ROC#1 Sl#3 Ch#6 unused +! 7 !ADC ROC#1 Sl#3 Ch#7 unused +! 8 !ADC ROC#1 Sl#3 Ch#8 unused +! 9 !ADC ROC#1 Sl#3 Ch#9 unused +! 10 !ADC ROC#1 Sl#3 Ch#10 unused +! 11 !ADC ROC#1 Sl#3 Ch#11 unused +! 12 !ADC ROC#1 Sl#3 Ch#12 unused +! 13 !ADC ROC#1 Sl#3 Ch#13 unused +! 14 !ADC ROC#1 Sl#3 Ch#14 unused +! 15 !ADC ROC#1 Sl#3 Ch#15 unused +! 16 !ADC ROC#1 Sl#3 Ch#16 unused +! 17 !ADC ROC#1 Sl#3 Ch#17 unused +! 18 !ADC ROC#1 Sl#3 Ch#18 unused +! 19 !ADC ROC#1 Sl#3 Ch#19 unused +! 20 !ADC ROC#1 Sl#3 Ch#20 unused +! 21 !ADC ROC#1 Sl#3 Ch#21 unused +! 22 !ADC ROC#1 Sl#3 Ch#22 unused +! 23 !ADC ROC#1 Sl#3 Ch#23 unused +! 24 !ADC ROC#1 Sl#3 Ch#24 unused +! 25 !ADC ROC#1 Sl#3 Ch#25 unused +! 26 !ADC ROC#1 Sl#3 Ch#26 unused +! 27 !ADC ROC#1 Sl#3 Ch#27 unused +! 28 !ADC ROC#1 Sl#3 Ch#28 unused +! 29 !ADC ROC#1 Sl#3 Ch#29 unused +! 30 !ADC ROC#1 Sl#3 Ch#30 unused +! 31 !ADC ROC#1 Sl#3 Ch#31 unused +! 32 !ADC ROC#1 Sl#3 Ch#32 unused +! 33 !ADC ROC#1 Sl#3 Ch#33 unused +! 34 !ADC ROC#1 Sl#3 Ch#34 unused +! 35 !ADC ROC#1 Sl#3 Ch#35 unused +! 36 !ADC ROC#1 Sl#3 Ch#36 unused +! 37 !ADC ROC#1 Sl#3 Ch#37 unused +! 38 !ADC ROC#1 Sl#3 Ch#38 unused +! 39 !ADC ROC#1 Sl#3 Ch#39 unused +! 40 !ADC ROC#1 Sl#3 Ch#40 unused +! 41 !ADC ROC#1 Sl#3 Ch#41 unused +! 42 !ADC ROC#1 Sl#3 Ch#42 unused +! 43 !ADC ROC#1 Sl#3 Ch#43 unused +! 44 !ADC ROC#1 Sl#3 Ch#44 unused +! 45 !ADC ROC#1 Sl#3 Ch#45 unused +! 46 !ADC ROC#1 Sl#3 Ch#46 unused +! 47 !ADC ROC#1 Sl#3 Ch#47 unused +!detector= 6 ! GMISC +!!! Use "plane" 2 for the PMT's on the floor (BLM's) +!48, 2, 1, 0 ! Special PMT signal ch #1 +!49, 2, 2, 0 ! Special PMT signal ch #1 +!50, 2, 3, 0 ! Special PMT signal ch #1 +!51, 2, 4, 0 ! Special PMT signal ch #1 +!52, 2, 5, 0 ! Special PMT signal ch #1 +!53, 2, 6, 0 ! Special PMT signal ch #1 +!54, 2, 7, 0 ! Special PMT signal ch #1 +!55, 2, 8, 0 ! Special PMT signal ch #1 +! 48 !ADC ROC#1 Sl#3 Ch#48 unused +! 49 !ADC ROC#1 Sl#3 Ch#49 unused +! 50 !ADC ROC#1 Sl#3 Ch#50 unused +! 51 !ADC ROC#1 Sl#3 Ch#51 unused +! 52 !ADC ROC#1 Sl#3 Ch#52 unused +! 53 !ADC ROC#1 Sl#3 Ch#53 unused +! 54 !ADC ROC#1 Sl#3 Ch#54 unused +! 55 !ADC ROC#1 Sl#3 Ch#55 unused +! 56 !ADC ROC#1 Sl#3 Ch#56 unused +! 57 !ADC ROC#1 Sl#3 Ch#57 unused +! 58 !ADC ROC#1 Sl#3 Ch#58 unused +! 59 !ADC ROC#1 Sl#3 Ch#59 unused +! 60 !ADC ROC#1 Sl#3 Ch#60 unused +! 61 !ADC ROC#1 Sl#3 Ch#61 unused +! 62 !ADC ROC#1 Sl#3 Ch#62 unused +! 63 !ADC ROC#1 Sl#3 Ch#63 unused +! +! + detector= 6 ! GMISC +! + Slot= 13 +! +! 0, 2, 1, 0 !ADC ROC#1 Sl#15 Ch#0 +! 1, 2, 2, 0 !ADC ROC#1 Sl#15 Ch#1 +! 2, 2, 3, 0 !ADC ROC#1 Sl#15 Ch#2 +! 3, 2, 4, 0 !ADC ROC#1 Sl#15 Ch#3 + 4, 2, 5, 0 !ADC ROC#1 Sl#15 Ch#4 H00A X+ + 5, 2, 6, 0 !ADC ROC#1 Sl#15 Ch#5 H00A X- + 6, 2, 7, 0 !ADC ROC#1 Sl#15 Ch#6 H00A Y+ + 7, 2, 8, 0 !ADC ROC#1 Sl#15 Ch#7 H00A Y- + 8, 2, 9, 0 !ADC ROC#1 Sl#15 Ch#8 H00B X+ + 9, 2, 10, 0 !ADC ROC#1 Sl#15 Ch#9 H00B X- + 10, 2, 11, 0 !ADC ROC#1 Sl#15 Ch#10 H00B Y+ + 11, 2, 12, 0 !ADC ROC#1 Sl#15 Ch#11 H00B Y- +! 12, 2, 13, 0 !ADC ROC#1 Sl#15 Ch#12 Fast Raster X-sync +! 13, 2, 14, 0 !ADC ROC#1 Sl#15 Ch#13 Fast Raster X-signal +! 14, 2, 15, 0 !ADC ROC#1 Sl#15 Ch#14 Fast Raster Y-sync +! 15, 2, 16, 0 !ADC ROC#1 Sl#15 Ch#15 Fast Raster Y-signal +! mkj switch x and y Apr 9,2003 + 14, 2, 13, 0 !ADC ROC#1 Sl#15 Ch#14 Fast Raster X-sync + 15, 2, 14, 0 !ADC ROC#1 Sl#15 Ch#15 Fast Raster X-signal + 12, 2, 15, 0 !ADC ROC#1 Sl#15 Ch#12 Fast Raster Y-sync + 13, 2, 16, 0 !ADC ROC#1 Sl#15 Ch#13 Fast Raster Y-signal + 16, 2, 17, 0 !ADC ROC#1 Sl#15 Ch#16 H00C X+ + 17, 2, 18, 0 !ADC ROC#1 Sl#15 Ch#17 H00C X- + 18, 2, 19, 0 !ADC ROC#1 Sl#15 Ch#18 H00C Y+ + 19, 2, 20, 0 !ADC ROC#1 Sl#15 Ch#19 H00C Y- +! 20 !ADC ROC#1 Sl#15 Ch#20 unused +! 21 !ADC ROC#1 Sl#15 Ch#21 unused + 22, 2, 23, 0 !ADC ROC#1 Sl#15 Ch#22 Raster gate +! 23 !ADC ROC#1 Sl#15 Ch#23 unused +! 24 !ADC ROC#1 Sl#15 Ch#24 unused +! 25 !ADC ROC#1 Sl#15 Ch#25 unused +! 26 !ADC ROC#1 Sl#15 Ch#26 unused +! 27 !ADC ROC#1 Sl#15 Ch#27 unused +! 28 !ADC ROC#1 Sl#15 Ch#28 unused +! 29 !ADC ROC#1 Sl#15 Ch#29 unused +! 30 !ADC ROC#1 Sl#15 Ch#30 unused +! 31 !ADC ROC#1 Sl#15 Ch#31 unused + 32, 2, 32, 0 ! Paul Gueye + 33, 2, 33, 0 ! Paul Gueye + 34, 2, 34, 0 ! Paul Gueye + 35, 2, 35, 0 ! Paul Gueye + 36, 2, 36, 0 ! Paul Gueye + 37, 2, 37, 0 ! Paul Gueye + 38, 2, 38, 0 ! Paul Gueye + 39, 2, 39, 0 ! Paul Gueye + 40, 2, 40, 0 ! Paul Gueye + 41, 2, 41, 0 ! Paul Gueye + 42, 2, 42, 0 ! Paul Gueye + 43, 2, 43, 0 ! Paul Gueye + 44, 2, 44, 0 ! Paul Gueye + 45, 2, 45, 0 ! Paul Gueye + 46, 2, 46, 0 ! Paul Gueye + 47, 2, 47, 0 ! Paul Gueye +! 32 !ADC ROC#1 Sl#15 Ch#32 unused +! 33 !ADC ROC#1 Sl#15 Ch#33 unused +! 34 !ADC ROC#1 Sl#15 Ch#34 unused +! 35 !ADC ROC#1 Sl#15 Ch#35 unused +! 36 !ADC ROC#1 Sl#15 Ch#36 unused +! 37 !ADC ROC#1 Sl#15 Ch#37 unused +! 38 !ADC ROC#1 Sl#15 Ch#38 unused +! 39 !ADC ROC#1 Sl#15 Ch#39 unused +! 40 !ADC ROC#1 Sl#15 Ch#40 unused +! 41 !ADC ROC#1 Sl#15 Ch#41 unused +! 42 !ADC ROC#1 Sl#15 Ch#42 unused +! 43 !ADC ROC#1 Sl#15 Ch#43 unused +! 44 !ADC ROC#1 Sl#15 Ch#44 unused +! 45 !ADC ROC#1 Sl#15 Ch#45 unused +! 46 !ADC ROC#1 Sl#15 Ch#46 unused +! 47 !ADC ROC#1 Sl#15 Ch#47 unused +! 48 !ADC ROC#1 Sl#15 Ch#48 unused +! 49 !ADC ROC#1 Sl#15 Ch#49 unused +! 50 !ADC ROC#1 Sl#15 Ch#50 unused +! 51 !ADC ROC#1 Sl#15 Ch#51 unused +! 52 !ADC ROC#1 Sl#15 Ch#52 unused +! 53 !ADC ROC#1 Sl#15 Ch#53 unused +! 54 !ADC ROC#1 Sl#15 Ch#54 unused +! 55 !ADC ROC#1 Sl#15 Ch#55 unused +! 56 !ADC ROC#1 Sl#15 Ch#56 unused +! 57 !ADC ROC#1 Sl#15 Ch#57 unused +! 58 !ADC ROC#1 Sl#15 Ch#58 unused +! 59 !ADC ROC#1 Sl#15 Ch#59 unused +! 60 !ADC ROC#1 Sl#15 Ch#60 unused +! 61 !ADC ROC#1 Sl#15 Ch#61 unused +! 62 !ADC ROC#1 Sl#15 Ch#62 unused +! 63 !ADC ROC#1 Sl#15 Ch#63 unused +! +!--------------------------------------------------------------------- +!=============================== SOS MAP ============================= +!............ This part copy from replay99 (Hamlet,19 Dec'02)............ +! +! REAL map for SOS Drift Chambers (SDC); J.R.Arrington 20-Mar-1995 +! + ROC= 4 !ReadOutController (crate) for SOS (fbsos) +! + Nsubadd= 96 !assume 96 channel modules + MASK= FFFFx !hex mask - assume LeCroy masking (lowest 13 bits) + BSUB= 17 !begin channel info with bit#17 +! + detector= 11 !SDC +! + slot= 1 !SDC TDC +! +! SDC plane (1) + 0, 1, 1 !chamber 1, U plane, 48 wires. + 1, 1, 2 + 2, 1, 3 + 3, 1, 4 + 4, 1, 5 + 5, 1, 6 + 6, 1, 7 + 7, 1, 8 + 8, 1, 9 + 9, 1, 10 + 10, 1, 11 + 11, 1, 12 + 12, 1, 13 + 13, 1, 14 + 14, 1, 15 + 15, 1, 16 + 16, 1, 17 + 17, 1, 18 + 18, 1, 19 + 19, 1, 20 + 20, 1, 21 + 21, 1, 22 + 22, 1, 23 + 23, 1, 24 + 24, 1, 25 + 25, 1, 26 + 26, 1, 27 + 27, 1, 28 + 28, 1, 29 + 29, 1, 30 + 30, 1, 31 + 31, 1, 32 + 32, 1, 33 + 33, 1, 34 + 34, 1, 35 + 35, 1, 36 + 36, 1, 37 + 37, 1, 38 + 38, 1, 39 + 39, 1, 40 + 40, 1, 41 + 41, 1, 42 + 42, 1, 43 + 43, 1, 44 + 44, 1, 45 + 45, 1, 46 + 46, 1, 47 + 47, 1, 48 + 48, 2, 1 !chamber 1, U' plane, 48 wires. + 49, 2, 2 + 50, 2, 3 + 51, 2, 4 + 52, 2, 5 + 53, 2, 6 + 54, 2, 7 + 55, 2, 8 + 56, 2, 9 + 57, 2, 10 + 58, 2, 11 + 59, 2, 12 + 60, 2, 13 + 61, 2, 14 + 62, 2, 15 + 63, 2, 16 + 64, 2, 17 + 65, 2, 18 + 66, 2, 19 + 67, 2, 20 + 68, 2, 21 + 69, 2, 22 + 70, 2, 23 + 71, 2, 24 + 72, 2, 25 + 73, 2, 26 + 74, 2, 27 + 75, 2, 28 + 76, 2, 29 + 77, 2, 30 + 78, 2, 31 + 79, 2, 32 + 80, 2, 33 + 81, 2, 34 + 82, 2, 35 + 83, 2, 36 + 84, 2, 37 + 85, 2, 38 + 86, 2, 39 + 87, 2, 40 + 88, 2, 41 + 89, 2, 42 + 90, 2, 43 + 91, 2, 44 + 92, 2, 45 + 93, 2, 46 + 94, 2, 47 + 95, 2, 48 +! + slot= 2 !SDC TDC +! +! SDC plane (2) + 0, 5, 1 !chamber 1, V plane, 48 wires. + 1, 5, 2 + 2, 5, 3 + 3, 5, 4 + 4, 5, 5 + 5, 5, 6 + 6, 5, 7 + 7, 5, 8 + 8, 5, 9 + 9, 5, 10 + 10, 5, 11 + 11, 5, 12 + 12, 5, 13 + 13, 5, 14 + 14, 5, 15 + 15, 5, 16 + 16, 5, 17 + 17, 5, 18 + 18, 5, 19 + 19, 5, 20 + 20, 5, 21 + 21, 5, 22 + 22, 5, 23 + 23, 5, 24 + 24, 5, 25 + 25, 5, 26 + 26, 5, 27 + 27, 5, 28 + 28, 5, 29 + 29, 5, 30 + 30, 5, 31 + 31, 5, 32 + 32, 5, 33 + 33, 5, 34 + 34, 5, 35 + 35, 5, 36 + 36, 5, 37 + 37, 5, 38 + 38, 5, 39 + 39, 5, 40 + 40, 5, 41 + 41, 5, 42 + 42, 5, 43 + 43, 5, 44 + 44, 5, 45 + 45, 5, 46 + 46, 5, 47 + 47, 5, 48 + 48, 6, 1 !chamber 1, V' plane, 48 wires. + 49, 6, 2 + 50, 6, 3 + 51, 6, 4 + 52, 6, 5 + 53, 6, 6 + 54, 6, 7 + 55, 6, 8 + 56, 6, 9 + 57, 6, 10 + 58, 6, 11 + 59, 6, 12 + 60, 6, 13 + 61, 6, 14 + 62, 6, 15 + 63, 6, 16 + 64, 6, 17 + 65, 6, 18 + 66, 6, 19 + 67, 6, 20 + 68, 6, 21 + 69, 6, 22 + 70, 6, 23 + 71, 6, 24 + 72, 6, 25 + 73, 6, 26 + 74, 6, 27 + 75, 6, 28 + 76, 6, 29 + 77, 6, 30 + 78, 6, 31 + 79, 6, 32 + 80, 6, 33 + 81, 6, 34 + 82, 6, 35 + 83, 6, 36 + 84, 6, 37 + 85, 6, 38 + 86, 6, 39 + 87, 6, 40 + 88, 6, 41 + 89, 6, 42 + 90, 6, 43 + 91, 6, 44 + 92, 6, 45 + 93, 6, 46 + 94, 6, 47 + 95, 6, 48 +! + slot= 4 !SDC TDC +! +! SDC plane (3) + 0, 3, 1 !chamber 1, X plane, 64 wires. + 1, 3, 2 + 2, 3, 3 + 3, 3, 4 + 4, 3, 5 + 5, 3, 6 + 6, 3, 7 + 7, 3, 8 + 8, 3, 9 + 9, 3, 10 + 10, 3, 11 + 11, 3, 12 + 12, 3, 13 + 13, 3, 14 + 14, 3, 15 + 15, 3, 16 + 16, 3, 17 + 17, 3, 18 + 18, 3, 19 + 19, 3, 20 + 20, 3, 21 + 21, 3, 22 + 22, 3, 23 + 23, 3, 24 + 24, 3, 25 + 25, 3, 26 + 26, 3, 27 + 27, 3, 28 + 28, 3, 29 + 29, 3, 30 + 30, 3, 31 + 31, 3, 32 + 32, 3, 33 + 33, 3, 34 + 34, 3, 35 + 35, 3, 36 + 36, 3, 37 + 37, 3, 38 + 38, 3, 39 + 39, 3, 40 + 40, 3, 41 + 41, 3, 42 + 42, 3, 43 + 43, 3, 44 + 44, 3, 45 + 45, 3, 46 + 46, 3, 47 + 47, 3, 48 + 48, 3, 49 + 49, 3, 50 + 50, 3, 51 + 51, 3, 52 + 52, 3, 53 + 53, 3, 54 + 54, 3, 55 + 55, 3, 56 + 56, 3, 57 + 57, 3, 58 + 58, 3, 59 + 59, 3, 60 + 60, 3, 61 + 61, 3, 62 + 62, 3, 63 + 63, 3, 64 +! + slot= 5 !SDC TDC +! +! SDC plane (4) + 0, 4, 1 !chamber 1, X' plane, 64 wires. + 1, 4, 2 + 2, 4, 3 + 3, 4, 4 + 4, 4, 5 + 5, 4, 6 + 6, 4, 7 + 7, 4, 8 + 8, 4, 9 + 9, 4, 10 + 10, 4, 11 + 11, 4, 12 + 12, 4, 13 + 13, 4, 14 + 14, 4, 15 + 15, 4, 16 + 16, 4, 17 + 17, 4, 18 + 18, 4, 19 + 19, 4, 20 + 20, 4, 21 + 21, 4, 22 + 22, 4, 23 + 23, 4, 24 + 24, 4, 25 + 25, 4, 26 + 26, 4, 27 + 27, 4, 28 + 28, 4, 29 + 29, 4, 30 + 30, 4, 31 + 31, 4, 32 + 32, 4, 33 + 33, 4, 34 + 34, 4, 35 + 35, 4, 36 + 36, 4, 37 + 37, 4, 38 + 38, 4, 39 + 39, 4, 40 + 40, 4, 41 + 41, 4, 42 + 42, 4, 43 + 43, 4, 44 + 44, 4, 45 + 45, 4, 46 + 46, 4, 47 + 47, 4, 48 + 48, 4, 49 + 49, 4, 50 + 50, 4, 51 + 51, 4, 52 + 52, 4, 53 + 53, 4, 54 + 54, 4, 55 + 55, 4, 56 + 56, 4, 57 + 57, 4, 58 + 58, 4, 59 + 59, 4, 60 + 60, 4, 61 + 61, 4, 62 + 62, 4, 63 + 63, 4, 64 +! + slot= 8 !SDC TDC +! +! SDC plane (1) + 0, 7, 1 !chamber 2, U plane, 48 wires. + 1, 7, 2 + 2, 7, 3 + 3, 7, 4 + 4, 7, 5 + 5, 7, 6 + 6, 7, 7 + 7, 7, 8 + 8, 7, 9 + 9, 7, 10 + 10, 7, 11 + 11, 7, 12 + 12, 7, 13 + 13, 7, 14 + 14, 7, 15 + 15, 7, 16 + 16, 7, 17 + 17, 7, 18 + 18, 7, 19 + 19, 7, 20 + 20, 7, 21 + 21, 7, 22 + 22, 7, 23 + 23, 7, 24 + 24, 7, 25 + 25, 7, 26 + 26, 7, 27 + 27, 7, 28 + 28, 7, 29 + 29, 7, 30 + 30, 7, 31 + 31, 7, 32 + 32, 7, 33 + 33, 7, 34 + 34, 7, 35 + 35, 7, 36 + 36, 7, 37 + 37, 7, 38 + 38, 7, 39 + 39, 7, 40 + 40, 7, 41 + 41, 7, 42 + 42, 7, 43 + 43, 7, 44 + 44, 7, 45 + 45, 7, 46 + 46, 7, 47 + 47, 7, 48 + 48, 8, 1 !chamber 2, U' plane, 48 wires. + 49, 8, 2 + 50, 8, 3 + 51, 8, 4 + 52, 8, 5 + 53, 8, 6 + 54, 8, 7 + 55, 8, 8 + 56, 8, 9 + 57, 8, 10 + 58, 8, 11 + 59, 8, 12 + 60, 8, 13 + 61, 8, 14 + 62, 8, 15 + 63, 8, 16 + 64, 8, 17 + 65, 8, 18 + 66, 8, 19 + 67, 8, 20 + 68, 8, 21 + 69, 8, 22 + 70, 8, 23 + 71, 8, 24 + 72, 8, 25 + 73, 8, 26 + 74, 8, 27 + 75, 8, 28 + 76, 8, 29 + 77, 8, 30 + 78, 8, 31 + 79, 8, 32 + 80, 8, 33 + 81, 8, 34 + 82, 8, 35 + 83, 8, 36 + 84, 8, 37 + 85, 8, 38 + 86, 8, 39 + 87, 8, 40 + 88, 8, 41 + 89, 8, 42 + 90, 8, 43 + 91, 8, 44 + 92, 8, 45 + 93, 8, 46 + 94, 8, 47 + 95, 8, 48 +! + slot= 9 !SDC TDC +! +! SDC plane (2) + 0, 11, 1 !chamber 2, V plane, 48 wires. + 1, 11, 2 + 2, 11, 3 + 3, 11, 4 + 4, 11, 5 + 5, 11, 6 + 6, 11, 7 + 7, 11, 8 + 8, 11, 9 + 9, 11, 10 + 10, 11, 11 + 11, 11, 12 + 12, 11, 13 + 13, 11, 14 + 14, 11, 15 + 15, 11, 16 + 16, 11, 17 + 17, 11, 18 + 18, 11, 19 + 19, 11, 20 + 20, 11, 21 + 21, 11, 22 + 22, 11, 23 + 23, 11, 24 + 24, 11, 25 + 25, 11, 26 + 26, 11, 27 + 27, 11, 28 + 28, 11, 29 + 29, 11, 30 + 30, 11, 31 + 31, 11, 32 + 32, 11, 33 + 33, 11, 34 + 34, 11, 35 + 35, 11, 36 + 36, 11, 37 + 37, 11, 38 + 38, 11, 39 + 39, 11, 40 + 40, 11, 41 + 41, 11, 42 + 42, 11, 43 + 43, 11, 44 + 44, 11, 45 + 45, 11, 46 + 46, 11, 47 + 47, 11, 48 + 48, 12, 1 !chamber 2, V' plane, 48 wires. + 49, 12, 2 + 50, 12, 3 + 51, 12, 4 + 52, 12, 5 + 53, 12, 6 + 54, 12, 7 + 55, 12, 8 + 56, 12, 9 + 57, 12, 10 + 58, 12, 11 + 59, 12, 12 + 60, 12, 13 + 61, 12, 14 + 62, 12, 15 + 63, 12, 16 + 64, 12, 17 + 65, 12, 18 + 66, 12, 19 + 67, 12, 20 + 68, 12, 21 + 69, 12, 22 + 70, 12, 23 + 71, 12, 24 + 72, 12, 25 + 73, 12, 26 + 74, 12, 27 + 75, 12, 28 + 76, 12, 29 + 77, 12, 30 + 78, 12, 31 + 79, 12, 32 + 80, 12, 33 + 81, 12, 34 + 82, 12, 35 + 83, 12, 36 + 84, 12, 37 + 85, 12, 38 + 86, 12, 39 + 87, 12, 40 + 88, 12, 41 + 89, 12, 42 + 90, 12, 43 + 91, 12, 44 + 92, 12, 45 + 93, 12, 46 + 94, 12, 47 + 95, 12, 48 +! + slot= 11 !SDC TDC +! +! SDC plane (3) + 0, 9, 1 !chamber 2, X plane, 64 wires. + 1, 9, 2 + 2, 9, 3 + 3, 9, 4 + 4, 9, 5 + 5, 9, 6 + 6, 9, 7 + 7, 9, 8 + 8, 9, 9 + 9, 9, 10 + 10, 9, 11 + 11, 9, 12 + 12, 9, 13 + 13, 9, 14 + 14, 9, 15 + 15, 9, 16 + 16, 9, 17 + 17, 9, 18 + 18, 9, 19 + 19, 9, 20 + 20, 9, 21 + 21, 9, 22 + 22, 9, 23 + 23, 9, 24 + 24, 9, 25 + 25, 9, 26 + 26, 9, 27 + 27, 9, 28 + 28, 9, 29 + 29, 9, 30 + 30, 9, 31 + 31, 9, 32 + 32, 9, 33 + 33, 9, 34 + 34, 9, 35 + 35, 9, 36 + 36, 9, 37 + 37, 9, 38 + 38, 9, 39 + 39, 9, 40 + 40, 9, 41 + 41, 9, 42 + 42, 9, 43 + 43, 9, 44 + 44, 9, 45 + 45, 9, 46 + 46, 9, 47 + 47, 9, 48 + 48, 9, 49 + 49, 9, 50 + 50, 9, 51 + 51, 9, 52 + 52, 9, 53 + 53, 9, 54 + 54, 9, 55 + 55, 9, 56 + 56, 9, 57 + 57, 9, 58 + 58, 9, 59 + 59, 9, 60 + 60, 9, 61 + 61, 9, 62 + 62, 9, 63 + 63, 9, 64 +! + slot= 12 !SDC TDC +! +! SDC plane (4) + 0, 10, 1 !chamber 2, X' plane, 64 wires. + 1, 10, 2 + 2, 10, 3 + 3, 10, 4 + 4, 10, 5 + 5, 10, 6 + 6, 10, 7 + 7, 10, 8 + 8, 10, 9 + 9, 10, 10 + 10, 10, 11 + 11, 10, 12 + 12, 10, 13 + 13, 10, 14 + 14, 10, 15 + 15, 10, 16 + 16, 10, 17 + 17, 10, 18 + 18, 10, 19 + 19, 10, 20 + 20, 10, 21 + 21, 10, 22 + 22, 10, 23 + 23, 10, 24 + 24, 10, 25 + 25, 10, 26 + 26, 10, 27 + 27, 10, 28 + 28, 10, 29 + 29, 10, 30 + 30, 10, 31 + 31, 10, 32 + 32, 10, 33 + 33, 10, 34 + 34, 10, 35 + 35, 10, 36 + 36, 10, 37 + 37, 10, 38 + 38, 10, 39 + 39, 10, 40 + 40, 10, 41 + 41, 10, 42 + 42, 10, 43 + 43, 10, 44 + 44, 10, 45 + 45, 10, 46 + 46, 10, 47 + 47, 10, 48 + 48, 10, 49 + 49, 10, 50 + 50, 10, 51 + 51, 10, 52 + 52, 10, 53 + 53, 10, 54 + 54, 10, 55 + 55, 10, 56 + 56, 10, 57 + 57, 10, 58 + 58, 10, 59 + 59, 10, 60 + 60, 10, 61 + 61, 10, 62 + 62, 10, 63 + 63, 10, 64 +! +! SOS upstairs (SSCIN+SCAL+SCER) map K.B.Beard 13-Jun-1994 +! + ROC= 3 !upstairs SOS crate (fbch2) +! + detector= 12 !SSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 22 ! TDC + 0, 1, 3, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#3 [TDC+] + 1, 1, 5, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#5 [TDC+] + 2, 1, 7, 2 !TDC ROC#3 Sl#23 Ch#2 SSCIN pl#1 [X1] id sig#7 [TDC+] + 3, 1, 9, 2 !TDC ROC#3 Sl#23 Ch#3 SSCIN pl#1 [X1] id sig#9 [TDC+] + 4, 1, 2, 2 !TDC ROC#3 Sl#23 Ch#4 SSCIN pl#1 [X1] id sig#2 [TDC+] + 5, 1, 4, 2 !TDC ROC#3 Sl#23 Ch#5 SSCIN pl#1 [X1] id sig#4 [TDC+] + 6, 1, 6, 2 !TDC ROC#3 Sl#23 Ch#6 SSCIN pl#1 [X1] id sig#6 [TDC+] + 7, 1, 8, 2 !TDC ROC#3 Sl#23 Ch#7 SSCIN pl#1 [X1] id sig#8 [TDC+] + 8, 1, 3, 3 !TDC ROC#3 Sl#23 Ch#8 SSCIN pl#1 [X1] id sig#3 [TDC-] + 9, 1, 5, 3 !TDC ROC#3 Sl#23 Ch#9 SSCIN pl#1 [X1] id sig#5 [TDC-] + 10, 1, 7, 3 !TDC ROC#3 Sl#23 Ch#10 SSCIN pl#1 [X1] id sig#7 [TDC-] + 11, 1, 9, 3 !TDC ROC#3 Sl#23 Ch#11 SSCIN pl#1 [X1] id sig#9 [TDC-] + 12, 1, 2, 3 !TDC ROC#3 Sl#23 Ch#12 SSCIN pl#1 [X1] id sig#2 [TDC-] + 13, 1, 4, 3 !TDC ROC#3 Sl#23 Ch#13 SSCIN pl#1 [X1] id sig#4 [TDC-] + 14, 1, 6, 3 !TDC ROC#3 Sl#23 Ch#14 SSCIN pl#1 [X1] id sig#6 [TDC-] + 15, 1, 8, 3 !TDC ROC#3 Sl#23 Ch#15 SSCIN pl#1 [X1] id sig#8 [TDC-] + 16, 2, 3, 2 !TDC ROC#3 Sl#23 Ch#16 SSCIN pl#2 [Y1] id sig#3 [TDC+] + 17, 2, 5, 2 !TDC ROC#3 Sl#23 Ch#17 SSCIN pl#2 [Y1] id sig#5 [TDC+] + 18, 2, 7, 2 !TDC ROC#3 Sl#23 Ch#18 SSCIN pl#2 [Y1] id sig#7 [TDC+] + 19, 2, 9, 2 !TDC ROC#3 Sl#23 Ch#19 SSCIN pl#2 [Y1] id sig#9 [TDC+] + 20, 2, 2, 2 !TDC ROC#3 Sl#23 Ch#20 SSCIN pl#2 [Y1] id sig#2 [TDC+] + 21, 2, 4, 2 !TDC ROC#3 Sl#23 Ch#21 SSCIN pl#2 [Y1] id sig#4 [TDC+] + 22, 2, 6, 2 !TDC ROC#3 Sl#23 Ch#22 SSCIN pl#2 [Y1] id sig#6 [TDC+] + 23, 2, 8, 2 !TDC ROC#3 Sl#23 Ch#23 SSCIN pl#2 [Y1] id sig#8 [TDC+] + 24, 2, 3, 3 !TDC ROC#3 Sl#23 Ch#24 SSCIN pl#2 [Y1] id sig#3 [TDC-] + 25, 2, 5, 3 !TDC ROC#3 Sl#23 Ch#25 SSCIN pl#2 [Y1] id sig#5 [TDC-] + 26, 2, 7, 3 !TDC ROC#3 Sl#23 Ch#26 SSCIN pl#2 [Y1] id sig#7 [TDC-] + 27, 2, 9, 3 !TDC ROC#3 Sl#23 Ch#27 SSCIN pl#2 [Y1] id sig#9 [TDC-] + 28, 2, 2, 3 !TDC ROC#3 Sl#23 Ch#28 SSCIN pl#2 [Y1] id sig#2 [TDC-] + 29, 2, 4, 3 !TDC ROC#3 Sl#23 Ch#29 SSCIN pl#2 [Y1] id sig#4 [TDC-] + 30, 2, 6, 3 !TDC ROC#3 Sl#23 Ch#30 SSCIN pl#2 [Y1] id sig#6 [TDC-] + 31, 2, 8, 3 !TDC ROC#3 Sl#23 Ch#31 SSCIN pl#2 [Y1] id sig#8 [TDC-] + 32, 4, 3, 2 !TDC ROC#3 Sl#23 Ch#32 SSCIN pl#4 [Y2] id sig#3 [TDC+] + 33, 4, 5, 2 !TDC ROC#3 Sl#23 Ch#33 SSCIN pl#4 [Y2] id sig#5 [TDC+] + 34, 4, 7, 2 !TDC ROC#3 Sl#23 Ch#34 SSCIN pl#4 [Y2] id sig#7 [TDC+] + 35, 4, 9, 2 !TDC ROC#3 Sl#23 Ch#35 SSCIN pl#4 [Y2] id sig#9 [TDC+] + 36, 4, 2, 2 !TDC ROC#3 Sl#23 Ch#36 SSCIN pl#4 [Y2] id sig#2 [TDC+] + 37, 4, 4, 2 !TDC ROC#3 Sl#23 Ch#37 SSCIN pl#4 [Y2] id sig#4 [TDC+] + 38, 4, 6, 2 !TDC ROC#3 Sl#23 Ch#38 SSCIN pl#4 [Y2] id sig#6 [TDC+] + 39, 4, 8, 2 !TDC ROC#3 Sl#23 Ch#39 SSCIN pl#4 [Y2] id sig#8 [TDC+] + 40, 4, 3, 3 !TDC ROC#3 Sl#23 Ch#40 SSCIN pl#4 [Y2] id sig#3 [TDC-] + 41, 4, 5, 3 !TDC ROC#3 Sl#23 Ch#41 SSCIN pl#4 [Y2] id sig#5 [TDC-] + 42, 4, 7, 3 !TDC ROC#3 Sl#23 Ch#42 SSCIN pl#4 [Y2] id sig#7 [TDC-] + 43, 4, 9, 3 !TDC ROC#3 Sl#23 Ch#43 SSCIN pl#4 [Y2] id sig#9 [TDC-] + 44, 4, 2, 3 !TDC ROC#3 Sl#23 Ch#44 SSCIN pl#4 [Y2] id sig#2 [TDC-] + 45, 4, 4, 3 !TDC ROC#3 Sl#23 Ch#45 SSCIN pl#4 [Y2] id sig#4 [TDC-] + 46, 4, 6, 3 !TDC ROC#3 Sl#23 Ch#46 SSCIN pl#4 [Y2] id sig#6 [TDC-] + 47, 4, 8, 3 !TDC ROC#3 Sl#23 Ch#47 SSCIN pl#4 [Y2] id sig#8 [TDC-] + 48, 1, 1, 2 !TDC ROC#3 Sl#23 Ch#48 SSCIN pl#1 [X1] id sig#1 [TDC+] + 49, 1, 1, 3 !TDC ROC#3 Sl#23 Ch#49 SSCIN pl#1 [X1] id sig#1 [TDC-] + 50, 2, 1, 2 !TDC ROC#3 Sl#23 Ch#50 SSCIN pl#2 [Y1] id sig#1 [TDC+] + 51, 2, 1, 3 !TDC ROC#3 Sl#23 Ch#51 SSCIN pl#2 [Y1] id sig#1 [TDC-] + 52, 4, 1, 2 !TDC ROC#3 Sl#23 Ch#52 SSCIN pl#4 [Y2] id sig#1 [TDC+] + 53, 4, 1, 3 !TDC ROC#3 Sl#23 Ch#53 SSCIN pl#4 [Y2] id sig#1 [TDC-] +! 54 !TDC ROC#3 Sl#23 Ch#54 unused +! 55 !TDC ROC#3 Sl#23 Ch#55 unused +! 56 !TDC ROC#3 Sl#23 Ch#56 unused +! 57 !TDC ROC#3 Sl#23 Ch#57 unused +! 58 !TDC ROC#3 Sl#23 Ch#58 unused +! 59 !TDC ROC#3 Sl#23 Ch#59 unused +! 60 !TDC ROC#3 Sl#23 Ch#60 unused +! 61 !TDC ROC#3 Sl#23 Ch#61 unused +! 62 !TDC ROC#3 Sl#23 Ch#62 unused +! 63 !TDC ROC#3 Sl#23 Ch#63 unused +! +!for run 8023, swapped HMS and SOS TDC so that TDC with first 8 +!channels dead would be here. Moved connectors 1 and 2 to position +!3 and 4. Moved 3 singles channels (in connector3) to connector 2. + + Slot= 20 ! TDC + 32, 3, 1, 2 !TDC ROC#3 Sl#21 Ch#0 SSCIN pl#3 [X2] id sig#1 [TDC+] + 33, 3, 3, 2 !TDC ROC#3 Sl#21 Ch#1 SSCIN pl#3 [X2] id sig#3 [TDC+] + 34, 3, 5, 2 !TDC ROC#3 Sl#21 Ch#2 SSCIN pl#3 [X2] id sig#5 [TDC+] + 35, 3, 7, 2 !TDC ROC#3 Sl#21 Ch#3 SSCIN pl#3 [X2] id sig#7 [TDC+] + 36, 3, 9, 2 !TDC ROC#3 Sl#21 Ch#4 SSCIN pl#3 [X2] id sig#9 [TDC+] + 37, 3, 11, 2 !TDC ROC#3 Sl#21 Ch#5 SSCIN pl#3 [X2] id sig#11 [TDC+] + 38, 3, 13, 2 !TDC ROC#3 Sl#21 Ch#6 SSCIN pl#3 [X2] id sig#13 [TDC+] + 39, 3, 15, 2 !TDC ROC#3 Sl#21 Ch#7 SSCIN pl#3 [X2] id sig#15 [TDC+] + 40, 3, 2, 2 !TDC ROC#3 Sl#21 Ch#8 SSCIN pl#3 [X2] id sig#2 [TDC+] + 41, 3, 4, 2 !TDC ROC#3 Sl#21 Ch#9 SSCIN pl#3 [X2] id sig#4 [TDC+] + 42, 3, 6, 2 !TDC ROC#3 Sl#21 Ch#10 SSCIN pl#3 [X2] id sig#6 [TDC+] + 43, 3, 8, 2 !TDC ROC#3 Sl#21 Ch#11 SSCIN pl#3 [X2] id sig#8 [TDC+] + 44, 3, 10, 2 !TDC ROC#3 Sl#21 Ch#12 SSCIN pl#3 [X2] id sig#10 [TDC+] + 45, 3, 12, 2 !TDC ROC#3 Sl#21 Ch#13 SSCIN pl#3 [X2] id sig#12 [TDC+] + 46, 3, 14, 2 !TDC ROC#3 Sl#21 Ch#14 SSCIN pl#3 [X2] id sig#14 [TDC+] + 47, 3, 16, 2 !TDC ROC#3 Sl#21 Ch#15 SSCIN pl#3 [X2] id sig#16 [TDC+] + 48, 3, 1, 3 !TDC ROC#3 Sl#21 Ch#16 SSCIN pl#3 [X2] id sig#1 [TDC-] + 49, 3, 3, 3 !TDC ROC#3 Sl#21 Ch#17 SSCIN pl#3 [X2] id sig#3 [TDC-] + 50, 3, 5, 3 !TDC ROC#3 Sl#21 Ch#18 SSCIN pl#3 [X2] id sig#5 [TDC-] + 51, 3, 7, 3 !TDC ROC#3 Sl#21 Ch#19 SSCIN pl#3 [X2] id sig#7 [TDC-] + 52, 3, 9, 3 !TDC ROC#3 Sl#21 Ch#20 SSCIN pl#3 [X2] id sig#9 [TDC-] + 53, 3, 11, 3 !TDC ROC#3 Sl#21 Ch#21 SSCIN pl#3 [X2] id sig#11 [TDC-] + 54, 3, 13, 3 !TDC ROC#3 Sl#21 Ch#22 SSCIN pl#3 [X2] id sig#13 [TDC-] + 55, 3, 15, 3 !TDC ROC#3 Sl#21 Ch#23 SSCIN pl#3 [X2] id sig#15 [TDC-] + 56, 3, 2, 3 !TDC ROC#3 Sl#21 Ch#24 SSCIN pl#3 [X2] id sig#2 [TDC-] + 57, 3, 4, 3 !TDC ROC#3 Sl#21 Ch#25 SSCIN pl#3 [X2] id sig#4 [TDC-] + 58, 3, 6, 3 !TDC ROC#3 Sl#21 Ch#26 SSCIN pl#3 [X2] id sig#6 [TDC-] + 59, 3, 8, 3 !TDC ROC#3 Sl#21 Ch#27 SSCIN pl#3 [X2] id sig#8 [TDC-] + 60, 3, 10, 3 !TDC ROC#3 Sl#21 Ch#28 SSCIN pl#3 [X2] id sig#10 [TDC-] + 61, 3, 12, 3 !TDC ROC#3 Sl#21 Ch#29 SSCIN pl#3 [X2] id sig#12 [TDC-] + 62, 3, 14, 3 !TDC ROC#3 Sl#21 Ch#30 SSCIN pl#3 [X2] id sig#14 [TDC-] + 63, 3, 16, 3 !TDC ROC#3 Sl#21 Ch#31 SSCIN pl#3 [X2] id sig#16 [TDC-] +! + detector= 15 !SMISC +! + 16, 1, 65, 0 ! 0 !TDC ROC#3 Sl#21 Ch#32 RF TDC. +! + detector= 15 !SMISC +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 18 ! TDC +0, 1, 1, 0 ! 0 !TDC ROC#3 Sl#20 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#3 Sl#20 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#3 Sl#20 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#3 Sl#20 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#3 Sl#20 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#3 Sl#20 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#3 Sl#20 Ch#6 unused {MuonL} +7, 1, 8, 0 ! 7 !TDC ROC#3 Sl#20 Ch#7 unused {MuonR} +8, 1, 9, 0 ! 8 !TDC ROC#3 Sl#20 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#3 Sl#20 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#3 Sl#20 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#3 Sl#20 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#3 Sl#20 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#3 Sl#20 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#3 Sl#20 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#3 Sl#20 Ch#15 signal {PEDTRG} + + Slot= 18! TDC +16, 1, 17, 0 ! 16 !TDC ROC#3 Sl#18 Ch#16 signal {sS1} +17, 1, 18, 0 ! 17 !TDC ROC#3 Sl#18 Ch#17 signal {sPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#3 Sl#18 Ch#18 signal {sS2X} +19, 1, 20, 0 ! 19 !TDC ROC#3 Sl#18 Ch#19 signal {sPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#3 Sl#18 Ch#20 signal {sS1X} +21, 1, 22, 0 ! 21 !TDC ROC#3 Sl#18 Ch#21 signal {sS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#3 Sl#18 Ch#22 signal {sPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#3 Sl#18 Ch#23 signal {sS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#3 Sl#18 Ch#24 signal {sS2} +25, 1, 26, 0 ! 25 !TDC ROC#3 Sl#18 Ch#25 signal {sPRE200} +26, 1, 27, 0 ! 26 !TDC ROC#3 Sl#18 Ch#26 signal {sSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#3 Sl#18 Ch#27 signal {sSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#3 Sl#18 Ch#28 signal {sELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#3 Sl#18 Ch#29 signal {sPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#3 Sl#18 Ch#30 signal {sELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#3 Sl#18 Ch#31 signal {sPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#3 Sl#18 Ch#32 signal {BCM1} +33, 1, 34, 0 ! 33 !TDC ROC#3 Sl#18 Ch#33 signal {BCM2} +34, 1, 35, 0 ! 34 !TDC ROC#3 Sl#18 Ch#34 signal {BCM3} +35, 1, 36, 0 ! 35 !TDC ROC#3 Sl#18 Ch#35 signal {UNSER} +36, 1, 37, 0 ! 36 !TDC ROC#3 Sl#18 Ch#36 signal {CLOCK} +37, 1, 38, 0 ! 37 !TDC ROC#3 Sl#18 Ch#37 signal {1 MHz * 36??} +38, 1, 39, 0 ! 38 !TDC ROC#3 Sl#18 Ch#38 signal {sPICLEAN} +39, 1, 40, 0 ! 39 !TDC ROC#3 Sl#18 Ch#39 signal {sELCLEAN} +40, 1, 41, 0 ! 40 !TDC ROC#3 Sl#18 Ch#40 signal {sPION} +41, 1, 42, 0 ! 41 !TDC ROC#3 Sl#18 Ch#41 signal {sCER} +42, 1, 43, 0 ! 42 !TDC ROC#3 Sl#18 Ch#42 signal {sELHI} +43, 1, 44, 0 ! 43 !TDC ROC#3 Sl#18 Ch#43 signal {sELLO} +44, 1, 45, 0 ! 44 !TDC ROC#3 Sl#18 Ch#44 signal {sPRHI} +45, 1, 46, 0 ! 45 !TDC ROC#3 Sl#18 Ch#45 signal {sPRLO} +46, 1, 47, 0 ! 46 !TDC ROC#3 Sl#18 Ch#46 signal {sSHLO} +47, 1, 48, 0 ! 47 !TDC ROC#3 Sl#18 Ch#47 signal {PEDS+TRIGS?} +! +! ADC module LeCroy 1881M + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + detector= 12 !SSCIN + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#3 Sl#9 Ch#0 SSCIN pl#1 [X1] id sig#1 [ADC+] + 1, 1, 3, 0 !ADC ROC#3 Sl#9 Ch#1 SSCIN pl#1 [X1] id sig#3 [ADC+] + 2, 1, 5, 0 !ADC ROC#3 Sl#9 Ch#2 SSCIN pl#1 [X1] id sig#5 [ADC+] + 3, 1, 7, 0 !ADC ROC#3 Sl#9 Ch#3 SSCIN pl#1 [X1] id sig#7 [ADC+] + 4, 1, 9, 0 !ADC ROC#3 Sl#9 Ch#4 SSCIN pl#1 [X1] id sig#9 [ADC+] +! 5 !ADC ROC#3 Sl#9 Ch#5 unused +! 6 !ADC ROC#3 Sl#9 Ch#6 unused +! 7 !ADC ROC#3 Sl#9 Ch#7 unused + 8, 1, 2, 0 !ADC ROC#3 Sl#9 Ch#8 SSCIN pl#1 [X1] id sig#2 [ADC+] + 9, 1, 4, 0 !ADC ROC#3 Sl#9 Ch#9 SSCIN pl#1 [X1] id sig#4 [ADC+] + 10, 1, 6, 0 !ADC ROC#3 Sl#9 Ch#10 SSCIN pl#1 [X1] id sig#6 [ADC+] + 11, 1, 8, 0 !ADC ROC#3 Sl#9 Ch#11 SSCIN pl#1 [X1] id sig#8 [ADC+] +! 12 !ADC ROC#3 Sl#9 Ch#12 unused +! 13 !ADC ROC#3 Sl#9 Ch#13 unused +! 14 !ADC ROC#3 Sl#9 Ch#14 unused +! 15 !ADC ROC#3 Sl#9 Ch#15 unused + 16, 1, 1, 1 !ADC ROC#3 Sl#9 Ch#16 SSCIN pl#1 [X1] id sig#1 [ADC-] + 17, 1, 3, 1 !ADC ROC#3 Sl#9 Ch#17 SSCIN pl#1 [X1] id sig#3 [ADC-] + 18, 1, 5, 1 !ADC ROC#3 Sl#9 Ch#18 SSCIN pl#1 [X1] id sig#5 [ADC-] + 19, 1, 7, 1 !ADC ROC#3 Sl#9 Ch#19 SSCIN pl#1 [X1] id sig#7 [ADC-] + 20, 1, 9, 1 !ADC ROC#3 Sl#9 Ch#20 SSCIN pl#1 [X1] id sig#9 [ADC-] +! 21 !ADC ROC#3 Sl#9 Ch#21 unused +! 22 !ADC ROC#3 Sl#9 Ch#22 unused +! 23 !ADC ROC#3 Sl#9 Ch#23 unused + 24, 1, 2, 1 !ADC ROC#3 Sl#9 Ch#24 SSCIN pl#1 [X1] id sig#2 [ADC-] + 25, 1, 4, 1 !ADC ROC#3 Sl#9 Ch#25 SSCIN pl#1 [X1] id sig#4 [ADC-] + 26, 1, 6, 1 !ADC ROC#3 Sl#9 Ch#26 SSCIN pl#1 [X1] id sig#6 [ADC-] + 27, 1, 8, 1 !ADC ROC#3 Sl#9 Ch#27 SSCIN pl#1 [X1] id sig#8 [ADC-] +! 28 !ADC ROC#3 Sl#9 Ch#28 unused +! 29 !ADC ROC#3 Sl#9 Ch#29 unused +! 30 !ADC ROC#3 Sl#9 Ch#30 unused +! 31 !ADC ROC#3 Sl#9 Ch#31 unused + 32, 2, 1, 0 !ADC ROC#3 Sl#9 Ch#32 SSCIN pl#2 [Y1] id sig#1 [ADC+] + 33, 2, 3, 0 !ADC ROC#3 Sl#9 Ch#33 SSCIN pl#2 [Y1] id sig#3 [ADC+] + 34, 2, 5, 0 !ADC ROC#3 Sl#9 Ch#34 SSCIN pl#2 [Y1] id sig#5 [ADC+] + 35, 2, 7, 0 !ADC ROC#3 Sl#9 Ch#35 SSCIN pl#2 [Y1] id sig#7 [ADC+] + 36, 2, 9, 0 !ADC ROC#3 Sl#9 Ch#36 SSCIN pl#2 [Y1] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#9 Ch#37 unused +! 38 !ADC ROC#3 Sl#9 Ch#38 unused +! 39 !ADC ROC#3 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#3 Sl#9 Ch#40 SSCIN pl#2 [Y1] id sig#2 [ADC+] + 41, 2, 4, 0 !ADC ROC#3 Sl#9 Ch#41 SSCIN pl#2 [Y1] id sig#4 [ADC+] + 42, 2, 6, 0 !ADC ROC#3 Sl#9 Ch#42 SSCIN pl#2 [Y1] id sig#6 [ADC+] + 43, 2, 8, 0 !ADC ROC#3 Sl#9 Ch#43 SSCIN pl#2 [Y1] id sig#8 [ADC+] +! 44 !ADC ROC#3 Sl#9 Ch#44 unused +! 45 !ADC ROC#3 Sl#9 Ch#45 unused +! 46 !ADC ROC#3 Sl#9 Ch#46 unused +! 47 !ADC ROC#3 Sl#9 Ch#47 unused + 48, 2, 1, 1 !ADC ROC#3 Sl#9 Ch#48 SSCIN pl#2 [Y1] id sig#1 [ADC-] + 49, 2, 3, 1 !ADC ROC#3 Sl#9 Ch#49 SSCIN pl#2 [Y1] id sig#3 [ADC-] + 50, 2, 5, 1 !ADC ROC#3 Sl#9 Ch#50 SSCIN pl#2 [Y1] id sig#5 [ADC-] + 51, 2, 7, 1 !ADC ROC#3 Sl#9 Ch#51 SSCIN pl#2 [Y1] id sig#7 [ADC-] + 52, 2, 9, 1 !ADC ROC#3 Sl#9 Ch#52 SSCIN pl#2 [Y1] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#9 Ch#53 unused +! 54 !ADC ROC#3 Sl#9 Ch#54 unused +! 55 !ADC ROC#3 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#3 Sl#9 Ch#56 SSCIN pl#2 [Y1] id sig#2 [ADC-] + 57, 2, 4, 1 !ADC ROC#3 Sl#9 Ch#57 SSCIN pl#2 [Y1] id sig#4 [ADC-] + 58, 2, 6, 1 !ADC ROC#3 Sl#9 Ch#58 SSCIN pl#2 [Y1] id sig#6 [ADC-] + 59, 2, 8, 1 !ADC ROC#3 Sl#9 Ch#59 SSCIN pl#2 [Y1] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#9 Ch#60 unused +! 61 !ADC ROC#3 Sl#9 Ch#61 unused +! 62 !ADC ROC#3 Sl#9 Ch#62 unused +! 63 !ADC ROC#3 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#3 Sl#7 Ch#0 SSCIN pl#3 [X2] id sig#1 [ADC+] + 1, 3, 3, 0 !ADC ROC#3 Sl#7 Ch#1 SSCIN pl#3 [X2] id sig#3 [ADC+] + 2, 3, 5, 0 !ADC ROC#3 Sl#7 Ch#2 SSCIN pl#3 [X2] id sig#5 [ADC+] + 3, 3, 7, 0 !ADC ROC#3 Sl#7 Ch#3 SSCIN pl#3 [X2] id sig#7 [ADC+] + 4, 3, 9, 0 !ADC ROC#3 Sl#7 Ch#4 SSCIN pl#3 [X2] id sig#9 [ADC+] + 5, 3, 11, 0 !ADC ROC#3 Sl#7 Ch#5 SSCIN pl#3 [X2] id sig#11 [ADC+] + 6, 3, 13, 0 !ADC ROC#3 Sl#7 Ch#6 SSCIN pl#3 [X2] id sig#13 [ADC+] + 7, 3, 15, 0 !ADC ROC#3 Sl#7 Ch#7 SSCIN pl#3 [X2] id sig#15 [ADC+] + 8, 3, 2, 0 !ADC ROC#3 Sl#7 Ch#8 SSCIN pl#3 [X2] id sig#2 [ADC+] + 9, 3, 4, 0 !ADC ROC#3 Sl#7 Ch#9 SSCIN pl#3 [X2] id sig#4 [ADC+] + 10, 3, 6, 0 !ADC ROC#3 Sl#7 Ch#10 SSCIN pl#3 [X2] id sig#6 [ADC+] + 11, 3, 8, 0 !ADC ROC#3 Sl#7 Ch#11 SSCIN pl#3 [X2] id sig#8 [ADC+] + 12, 3, 10, 0 !ADC ROC#3 Sl#7 Ch#12 SSCIN pl#3 [X2] id sig#10 [ADC+] + 13, 3, 12, 0 !ADC ROC#3 Sl#7 Ch#13 SSCIN pl#3 [X2] id sig#12 [ADC+] + 14, 3, 14, 0 !ADC ROC#3 Sl#7 Ch#14 SSCIN pl#3 [X2] id sig#14 [ADC+] + 15, 3, 16, 0 !ADC ROC#3 Sl#7 Ch#15 SSCIN pl#3 [X2] id sig#16 [ADC+] + 16, 3, 1, 1 !ADC ROC#3 Sl#7 Ch#16 SSCIN pl#3 [X2] id sig#1 [ADC-] + 17, 3, 3, 1 !ADC ROC#3 Sl#7 Ch#17 SSCIN pl#3 [X2] id sig#3 [ADC-] + 18, 3, 5, 1 !ADC ROC#3 Sl#7 Ch#18 SSCIN pl#3 [X2] id sig#5 [ADC-] + 19, 3, 7, 1 !ADC ROC#3 Sl#7 Ch#19 SSCIN pl#3 [X2] id sig#7 [ADC-] + 20, 3, 9, 1 !ADC ROC#3 Sl#7 Ch#20 SSCIN pl#3 [X2] id sig#9 [ADC-] + 21, 3, 11, 1 !ADC ROC#3 Sl#7 Ch#21 SSCIN pl#3 [X2] id sig#11 [ADC-] + 22, 3, 13, 1 !ADC ROC#3 Sl#7 Ch#22 SSCIN pl#3 [X2] id sig#13 [ADC-] + 23, 3, 15, 1 !ADC ROC#3 Sl#7 Ch#23 SSCIN pl#3 [X2] id sig#15 [ADC-] + 24, 3, 2, 1 !ADC ROC#3 Sl#7 Ch#24 SSCIN pl#3 [X2] id sig#2 [ADC-] + 25, 3, 4, 1 !ADC ROC#3 Sl#7 Ch#25 SSCIN pl#3 [X2] id sig#4 [ADC-] + 26, 3, 6, 1 !ADC ROC#3 Sl#7 Ch#26 SSCIN pl#3 [X2] id sig#6 [ADC-] + 27, 3, 8, 1 !ADC ROC#3 Sl#7 Ch#27 SSCIN pl#3 [X2] id sig#8 [ADC-] + 28, 3, 10, 1 !ADC ROC#3 Sl#7 Ch#28 SSCIN pl#3 [X2] id sig#10 [ADC-] + 29, 3, 12, 1 !ADC ROC#3 Sl#7 Ch#29 SSCIN pl#3 [X2] id sig#12 [ADC-] + 30, 3, 14, 1 !ADC ROC#3 Sl#7 Ch#30 SSCIN pl#3 [X2] id sig#14 [ADC-] + 31, 3, 16, 1 !ADC ROC#3 Sl#7 Ch#31 SSCIN pl#3 [X2] id sig#16 [ADC-] + 32, 4, 1, 0 !ADC ROC#3 Sl#7 Ch#32 SSCIN pl#4 [Y2] id sig#1 [ADC+] + 33, 4, 3, 0 !ADC ROC#3 Sl#7 Ch#33 SSCIN pl#4 [Y2] id sig#3 [ADC+] + 34, 4, 5, 0 !ADC ROC#3 Sl#7 Ch#34 SSCIN pl#4 [Y2] id sig#5 [ADC+] + 35, 4, 7, 0 !ADC ROC#3 Sl#7 Ch#35 SSCIN pl#4 [Y2] id sig#7 [ADC+] + 36, 4, 9, 0 !ADC ROC#3 Sl#7 Ch#36 SSCIN pl#4 [Y2] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#7 Ch#37 unused +! 38 !ADC ROC#3 Sl#7 Ch#38 unused +! 39 !ADC ROC#3 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#3 Sl#7 Ch#40 SSCIN pl#4 [Y2] id sig#2 [ADC+] + 41, 4, 4, 0 !ADC ROC#3 Sl#7 Ch#41 SSCIN pl#4 [Y2] id sig#4 [ADC+] + 42, 4, 6, 0 !ADC ROC#3 Sl#7 Ch#42 SSCIN pl#4 [Y2] id sig#6 [ADC+] +! 43, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] DEAD CH! +! 44 !ADC ROC#3 Sl#7 Ch#44 unused +! 45 !ADC ROC#3 Sl#7 Ch#45 unused +! 46 !ADC ROC#3 Sl#7 Ch#46 unused + 47, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] + 48, 4, 1, 1 !ADC ROC#3 Sl#7 Ch#48 SSCIN pl#4 [Y2] id sig#1 [ADC-] + 49, 4, 3, 1 !ADC ROC#3 Sl#7 Ch#49 SSCIN pl#4 [Y2] id sig#3 [ADC-] + 50, 4, 5, 1 !ADC ROC#3 Sl#7 Ch#50 SSCIN pl#4 [Y2] id sig#5 [ADC-] + 51, 4, 7, 1 !ADC ROC#3 Sl#7 Ch#51 SSCIN pl#4 [Y2] id sig#7 [ADC-] + 52, 4, 9, 1 !ADC ROC#3 Sl#7 Ch#52 SSCIN pl#4 [Y2] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#7 Ch#53 unused +! 54 !ADC ROC#3 Sl#7 Ch#54 unused +! 55 !ADC ROC#3 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#3 Sl#7 Ch#56 SSCIN pl#4 [Y2] id sig#2 [ADC-] + 57, 4, 4, 1 !ADC ROC#3 Sl#7 Ch#57 SSCIN pl#4 [Y2] id sig#4 [ADC-] + 58, 4, 6, 1 !ADC ROC#3 Sl#7 Ch#58 SSCIN pl#4 [Y2] id sig#6 [ADC-] + 59, 4, 8, 1 !ADC ROC#3 Sl#7 Ch#59 SSCIN pl#4 [Y2] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#7 Ch#60 unused +! 61 !ADC ROC#3 Sl#7 Ch#61 unused +! 62 !ADC ROC#3 Sl#7 Ch#62 unused +! 63 !ADC ROC#3 Sl#7 Ch#63 unused +! + detector= 14 !SCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#1 Ch#0 SCAL column#1 row#1 + 1, 1, 2 !ADC ROC#3 Sl#1 Ch#1 SCAL column#1 row#2 + 2, 1, 3 !ADC ROC#3 Sl#1 Ch#2 SCAL column#1 row#3 + 3, 1, 4 !ADC ROC#3 Sl#1 Ch#3 SCAL column#1 row#4 + 4, 1, 5 !ADC ROC#3 Sl#1 Ch#4 SCAL column#1 row#5 + 5, 1, 6 !ADC ROC#3 Sl#1 Ch#5 SCAL column#1 row#6 + 6, 1, 7 !ADC ROC#3 Sl#1 Ch#6 SCAL column#1 row#7 + 7, 1, 8 !ADC ROC#3 Sl#1 Ch#7 SCAL column#1 row#8 + 8, 1, 9 !ADC ROC#3 Sl#1 Ch#8 SCAL column#1 row#9 + 9, 1, 10 !ADC ROC#3 Sl#1 Ch#9 SCAL column#1 row#10 + 10, 1, 11 !ADC ROC#3 Sl#1 Ch#10 SCAL column#1 row#11 +! 11 !ADC ROC#3 Sl#1 Ch#11 unused +! 12 !ADC ROC#3 Sl#1 Ch#12 unused +! 13 !ADC ROC#3 Sl#1 Ch#13 unused +! 14 !ADC ROC#3 Sl#1 Ch#14 unused +! 15 !ADC ROC#3 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#3 Sl#1 Ch#16 SCAL column#2 row#1 + 17, 2, 2 !ADC ROC#3 Sl#1 Ch#17 SCAL column#2 row#2 + 18, 2, 3 !ADC ROC#3 Sl#1 Ch#18 SCAL column#2 row#3 + 19, 2, 4 !ADC ROC#3 Sl#1 Ch#19 SCAL column#2 row#4 + 20, 2, 5 !ADC ROC#3 Sl#1 Ch#20 SCAL column#2 row#5 + 21, 2, 6 !ADC ROC#3 Sl#1 Ch#21 SCAL column#2 row#6 + 22, 2, 7 !ADC ROC#3 Sl#1 Ch#22 SCAL column#2 row#7 + 23, 2, 8 !ADC ROC#3 Sl#1 Ch#23 SCAL column#2 row#8 + 24, 2, 9 !ADC ROC#3 Sl#1 Ch#24 SCAL column#2 row#9 + 25, 2, 10 !ADC ROC#3 Sl#1 Ch#25 SCAL column#2 row#10 + 26, 2, 11 !ADC ROC#3 Sl#1 Ch#26 SCAL column#2 row#11 +! 27 !ADC ROC#3 Sl#1 Ch#27 unused +! 28 !ADC ROC#3 Sl#1 Ch#28 unused +! 29 !ADC ROC#3 Sl#1 Ch#29 unused +! 30 !ADC ROC#3 Sl#1 Ch#30 unused +! 31 !ADC ROC#3 Sl#1 Ch#31 unused +! 32, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 44, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 33, 3, 2 !ADC ROC#3 Sl#1 Ch#33 SCAL column#3 row#2 + 34, 3, 3 !ADC ROC#3 Sl#1 Ch#34 SCAL column#3 row#3 + 35, 3, 4 !ADC ROC#3 Sl#1 Ch#35 SCAL column#3 row#4 + 36, 3, 5 !ADC ROC#3 Sl#1 Ch#36 SCAL column#3 row#5 + 37, 3, 6 !ADC ROC#3 Sl#1 Ch#37 SCAL column#3 row#6 + 38, 3, 7 !ADC ROC#3 Sl#1 Ch#38 SCAL column#3 row#7 + 39, 3, 8 !ADC ROC#3 Sl#1 Ch#39 SCAL column#3 row#8 + 40, 3, 9 !ADC ROC#3 Sl#1 Ch#40 SCAL column#3 row#9 + 41, 3, 10 !ADC ROC#3 Sl#1 Ch#41 SCAL column#3 row#10 + 42, 3, 11 !ADC ROC#3 Sl#1 Ch#42 SCAL column#3 row#11 +! 43 !ADC ROC#3 Sl#1 Ch#43 unused +! 44 !ADC ROC#3 Sl#1 Ch#44 unused +! 45 !ADC ROC#3 Sl#1 Ch#45 unused +! 46 !ADC ROC#3 Sl#1 Ch#46 unused +! 47 !ADC ROC#3 Sl#1 Ch#47 unused + +!sD1 was being lost in the ADC delay lines. Move to channel #15. +! 48, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! + 49, 4, 2 !ADC ROC#3 Sl#1 Ch#49 SCAL column#4 row#2 + 50, 4, 3 !ADC ROC#3 Sl#1 Ch#50 SCAL column#4 row#3 + 51, 4, 4 !ADC ROC#3 Sl#1 Ch#51 SCAL column#4 row#4 + 52, 4, 5 !ADC ROC#3 Sl#1 Ch#52 SCAL column#4 row#5 + 53, 4, 6 !ADC ROC#3 Sl#1 Ch#53 SCAL column#4 row#6 + 54, 4, 7 !ADC ROC#3 Sl#1 Ch#54 SCAL column#4 row#7 + 55, 4, 8 !ADC ROC#3 Sl#1 Ch#55 SCAL column#4 row#8 + 56, 4, 9 !ADC ROC#3 Sl#1 Ch#56 SCAL column#4 row#9 + 57, 4, 10 !ADC ROC#3 Sl#1 Ch#57 SCAL column#4 row#10 + 58, 4, 11 !ADC ROC#3 Sl#1 Ch#58 SCAL column#4 row#11 +! 59 !ADC ROC#3 Sl#1 Ch#59 unused +! 60 !ADC ROC#3 Sl#1 Ch#60 unused +! 61 !ADC ROC#3 Sl#1 Ch#61 unused +! 62 !ADC ROC#3 Sl#1 Ch#62 unused + 62, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! 63 !ADC ROC#3 Sl#1 Ch#63 unused + detector= 15 !smisc - photodiode for laser gain calibration system. + 63, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). +! +detector= 14 !SCAL +Slot= 5 ! ADC Second set of tubes on first two layers +! 0, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 12, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#3 Sl#5 Ch#1 SCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#3 Sl#5 Ch#2 SCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#3 Sl#5 Ch#3 SCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#3 Sl#5 Ch#4 SCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#3 Sl#5 Ch#5 SCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#3 Sl#5 Ch#6 SCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#3 Sl#5 Ch#7 SCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#3 Sl#5 Ch#8 SCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#3 Sl#5 Ch#9 SCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#3 Sl#5 Ch#10 SCAL col#1 row#11 (10 An-11) +! 11 !ADC ROC#3 Sl#5 Ch#11 unused +! 12 !ADC ROC#3 Sl#5 Ch#12 unused +! 13 !ADC ROC#3 Sl#5 Ch#13 unused +! 14 !ADC ROC#3 Sl#5 Ch#14 unused +! 15 !ADC ROC#3 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#3 Sl#5 Ch#16 SCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#3 Sl#5 Ch#17 SCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#3 Sl#5 Ch#18 SCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#3 Sl#5 Ch#19 SCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#3 Sl#5 Ch#20 SCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#3 Sl#5 Ch#21 SCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#3 Sl#5 Ch#22 SCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#3 Sl#5 Ch#23 SCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#3 Sl#5 Ch#24 SCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#3 Sl#5 Ch#25 SCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#3 Sl#5 Ch#26 SCAL col#2 row#11 (26 Bn-11) +! 27 !ADC ROC#3 Sl#5 Ch#27 unused +! 28 !ADC ROC#3 Sl#5 Ch#28 unused +! 29 !ADC ROC#3 Sl#5 Ch#29 unused +! 30 !ADC ROC#3 Sl#5 Ch#30 unused +! 31 !ADC ROC#3 Sl#5 Ch#31 unused +! + detector= 13 !SCER +! + Slot= 3 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#3 Ch#0 SCER tube#1 + 1, 1, 2 !ADC ROC#3 Sl#3 Ch#1 SCER tube#2 + 2, 1, 3 !ADC ROC#3 Sl#3 Ch#2 SCER tube#3 + 3, 1, 4 !ADC ROC#3 Sl#3 Ch#3 SCER tube#4 +detector=15 ! SMISC helicity stuff mkj 5/15/03 +! ! muon det added 6/17/03 + 4, 2, 5,0 ! 4 !ADC ROC#3 Sl#3 Ch#4 unused + 5, 2, 6,0 ! 5 !ADC ROC#3 Sl#3 Ch#5 unused +! 6 !ADC ROC#3 Sl#3 Ch#6 unused +! 7 !ADC ROC#3 Sl#3 Ch#7 unused +! 8 !ADC ROC#3 Sl#3 Ch#8 unused +8,2,2,0 ! mps clock +! 9 !ADC ROC#3 Sl#3 Ch#9 unused +! 10 !ADC ROC#3 Sl#3 Ch#10 unused +! 11 !ADC ROC#3 Sl#3 Ch#11 unused +! 12 !ADC ROC#3 Sl#3 Ch#12 unused +12,2,3,0 ! H+ signal +15,2,4,0 ! H- signal +! 13 !ADC ROC#3 Sl#3 Ch#13 unused +! 14 !ADC ROC#3 Sl#3 Ch#14 unused +! 15 !ADC ROC#3 Sl#3 Ch#15 unused + ! 16 !ADC ROC#3 Sl#3 Ch#16 signal {A01} + ! 17 !ADC ROC#3 Sl#3 Ch#17 signal {A02} + ! 18 !ADC ROC#3 Sl#3 Ch#18 signal {A03} + ! 19 !ADC ROC#3 Sl#3 Ch#19 signal {A04} + ! 20 !ADC ROC#3 Sl#3 Ch#20 signal {A05} + ! 21 !ADC ROC#3 Sl#3 Ch#21 signal {A06} + ! 22 !ADC ROC#3 Sl#3 Ch#22 signal {A07} + ! 23 !ADC ROC#3 Sl#3 Ch#23 signal {A08} + ! 24 !ADC ROC#3 Sl#3 Ch#24 signal {A09} + ! 25 !ADC ROC#3 Sl#3 Ch#25 signal {A10} + ! 26 !ADC ROC#3 Sl#3 Ch#26 signal {A11} + ! 27 !ADC ROC#3 Sl#3 Ch#27 signal {A12} + ! 28 !ADC ROC#3 Sl#3 Ch#28 signal {A13} + ! 29 !ADC ROC#3 Sl#3 Ch#29 signal {A14} + ! 30 !ADC ROC#3 Sl#3 Ch#30 signal {A15} + ! 31 !ADC ROC#3 Sl#3 Ch#31 signal {A16} +! +!........................................................ +! SAER took out from SOS detector hut (Hamlet, 21 Dec'02) +! +! detector= 16 !SAER +! +! 32 !ADC ROC#3 Sl#3 Ch#32 DEAD!!!! +! 33 !ADC ROC#3 Sl#3 Ch#33 unused spare +! 34, 1, 1, 0 !ADC ROC#3 Sl#3 Ch#34 signal pos 1 +! 35, 1, 2, 0 !ADC ROC#3 Sl#3 Ch#35 signal pos 2 +! 36, 1, 3, 0 !ADC ROC#3 Sl#3 Ch#36 signal pos 3 +! 37, 1, 4, 0 !ADC ROC#3 Sl#3 Ch#37 signal pos 4 +! 38, 1, 5, 0 !ADC ROC#3 Sl#3 Ch#38 signal pos 5 +! 39, 1, 6, 0 !ADC ROC#3 Sl#3 Ch#39 signal pos 6 +! 40, 1, 7, 0 !ADC ROC#3 Sl#3 Ch#40 signal pos 7 +! 41, 1, 1, 1 !ADC ROC#3 Sl#3 Ch#41 signal neg 1 +! 42, 1, 2, 1 !ADC ROC#3 Sl#3 Ch#42 signal neg 2 +! 43, 1, 3, 1 !ADC ROC#3 Sl#3 Ch#43 signal neg 3 +! 44, 1, 4, 1 !ADC ROC#3 Sl#3 Ch#44 signal neg 4 +! 45, 1, 5, 1 !ADC ROC#3 Sl#3 Ch#45 signal neg 5 +! 46, 1, 6, 1 !ADC ROC#3 Sl#3 Ch#46 signal neg 6 +! 47, 1, 7, 1 !ADC ROC#3 Sl#3 Ch#47 signal neg 7 +! 48, 1, 8, 0 !ADC ROC#3 Sl#3 Ch#48 amplified signal pos 1 +! 49, 1, 9, 0 !ADC ROC#3 Sl#3 Ch#49 amplified signal pos 2 +! 50, 1, 10, 0 !ADC ROC#3 Sl#3 Ch#50 amplified signal pos 3 +! 51, 1, 11, 0 !ADC ROC#3 Sl#3 Ch#51 amplified signal pos 4 +! 52, 1, 12, 0 !ADC ROC#3 Sl#3 Ch#52 amplified signal pos 5 +! 53, 1, 13, 0 !ADC ROC#3 Sl#3 Ch#53 amplified signal pos 6 +! 54, 1, 14, 0 !ADC ROC#3 Sl#3 Ch#54 amplified signal pos 7 +! 55, 1, 15, 0 !ADC ROC#3 Sl#3 Ch#62 amplified signal sum 1-7 +! 56, 1, 8, 1 !ADC ROC#3 Sl#3 Ch#55 amplified signal neg 1 +! 57, 1, 9, 1 !ADC ROC#3 Sl#3 Ch#56 amplified signal neg 2 +! 58, 1, 10, 1 !ADC ROC#3 Sl#3 Ch#57 amplified signal neg 3 +! 59, 1, 11, 1 !ADC ROC#3 Sl#3 Ch#58 amplified signal neg 4 +! 60, 1, 12, 1 !ADC ROC#3 Sl#3 Ch#59 amplified signal neg 5 +! 61, 1, 13, 1 !ADC ROC#3 Sl#3 Ch#60 amplified signal neg 6 +! 62, 1, 14, 1 !ADC ROC#3 Sl#3 Ch#61 amplified signal neg 7 +! 63, 1, 15, 1 !ADC ROC#3 Sl#3 Ch#63 amplified signal sum 8-14 +! + + + + + + + + diff --git a/examples/MAPS/jun04.map b/examples/MAPS/jun04.map new file mode 100644 index 0000000000000000000000000000000000000000..94d46e41ab07ffecd6de0b3303a9ca7587860fcc --- /dev/null +++ b/examples/MAPS/jun04.map @@ -0,0 +1,3240 @@ +! Updated to reflect new TDC for HMS aerogel and proper mapping of misc +! trigger signals in SOS. Dave G (5/5/2003) +! +! + help !lists available keywords + NOecho !copies input lines to tty output + NOdebug !turn on input debugging + override !skip over errors +! +! hall C encode/decode configuration file +! giving the FASTBUS geographical to standard +! hall C COMMONs location as described by +! "gen_data_structures.cmn" K.B.Beard 13jun94 +! 10/19/94 (jra) Change ch1 roc to 8 (from 1), hms roc to 7 (from 2). +! +! 6/24/94 (SAW) Turn on lines for miscleaneous TDC's +! Change ch1 roc to 1 (from 0), hms roc to 2 (from 1). +! Disable last 16 channels of miscleaneous TDC +! +! standard id numbers +! signals +!HMS: +! HDC_ID= 1 TDC +! HSCIN_ID= 2 ADC+,ADC-,TDC+,TDC- +! HCER_ID= 3 ADC +! HCAL_ID= 4 ADC +! HMISC_ID= 5 TDC,(ADC) +!GEN: +! GMISC_ID= 6 (TDC),ADC +! HAERO_ID= 7 (TDC),ADC +!SOS: +! SDC_ID= 11 TDC +! SSCIN_ID= 12 ADC+,ADC-,TDC+,TDC- +! SCER_ID= 13 ADC +! SCAL_ID= 14 ADC +! SMISC_ID= 15 TDC,(ADC) +! SAER_ID= 16 ADC +! SLUC_ID=17 ADC +! +! +! consider subadd equiv. to channel +! +! specify: subadd, plane, element, signal +! a, p, e, s +! 0- 1- 1- 0-3 +![if there is only signal 0 (DC,CER,CAL) it may be ommitted] +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS upstairs and downstairs map K.B.Beard 13-Jun-1994 +! for Jun94 run +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS downstairs (HDC) map K.B.Beard & S.Avery 13-Jun-1994 +! revised by A. Johnson 4-Feb-1999 +! +! vvvvvvvvvvvvvvvvvvvvvv Wire chambers start here vvvvvvvvvvvvvvvvvvvvvvvvv + ROC= 2 !ReadOutController (crate) for HMS wire chambers +! +! +! TDC modules are Lecroy 1877 + Nsubadd= 96 + MASK= FFFFx !hex mask + BSUB= 17 !start channel in bit#17 +! + detector= 1 !HDC +! +! 1st HDC chamber - (2nd in position) - planes7-12 +Slot= 2 +0, 8, 1 !TDC ROC#2 Sl#2 Ch#0 HDC pl#8 [Y1] wire#1 +1, 8, 2 !TDC ROC#2 Sl#2 Ch#1 HDC pl#8 [Y1] wire#2 +2, 8, 3 !TDC ROC#2 Sl#2 Ch#2 HDC pl#8 [Y1] wire#3 +3, 8, 4 !TDC ROC#2 Sl#2 Ch#3 HDC pl#8 [Y1] wire#4 +4, 8, 5 !TDC ROC#2 Sl#2 Ch#4 HDC pl#8 [Y1] wire#5 +5, 8, 6 !TDC ROC#2 Sl#2 Ch#5 HDC pl#8 [Y1] wire#6 +6, 8, 7 !TDC ROC#2 Sl#2 Ch#6 HDC pl#8 [Y1] wire#7 +7, 8, 8 !TDC ROC#2 Sl#2 Ch#7 HDC pl#8 [Y1] wire#8 +8, 8, 9 !TDC ROC#2 Sl#2 Ch#8 HDC pl#8 [Y1] wire#9 +9, 8, 10 !TDC ROC#2 Sl#2 Ch#9 HDC pl#8 [Y1] wire#10 +10, 8, 11 !TDC ROC#2 Sl#2 Ch#10 HDC pl#8 [Y1] wire#11 +11, 8, 12 !TDC ROC#2 Sl#2 Ch#11 HDC pl#8 [Y1] wire#12 +12, 8, 13 !TDC ROC#2 Sl#2 Ch#12 HDC pl#8 [Y1] wire#13 +!13 !TDC ROC#2 Sl#2 Ch#13 unused +!14 !TDC ROC#2 Sl#2 Ch#14 unused +!15 !TDC ROC#2 Sl#2 Ch#15 unused +16, 11, 40 !TDC ROC#2 Sl#2 Ch#16 HDC pl#11 [Y2] wire#40 +17, 11, 41 !TDC ROC#2 Sl#2 Ch#17 HDC pl#11 [Y2] wire#41 +18, 11, 42 !TDC ROC#2 Sl#2 Ch#18 HDC pl#11 [Y2] wire#42 +19, 11, 43 !TDC ROC#2 Sl#2 Ch#19 HDC pl#11 [Y2] wire#43 +20, 11, 44 !TDC ROC#2 Sl#2 Ch#20 HDC pl#11 [Y2] wire#44 +21, 11, 45 !TDC ROC#2 Sl#2 Ch#21 HDC pl#11 [Y2] wire#45 +22, 11, 46 !TDC ROC#2 Sl#2 Ch#22 HDC pl#11 [Y2] wire#46 +23, 11, 47 !TDC ROC#2 Sl#2 Ch#23 HDC pl#11 [Y2] wire#47 +24, 11, 48 !TDC ROC#2 Sl#2 Ch#24 HDC pl#11 [Y2] wire#48 +25, 11, 49 !TDC ROC#2 Sl#2 Ch#25 HDC pl#11 [Y2] wire#49 +26, 11, 50 !TDC ROC#2 Sl#2 Ch#26 HDC pl#11 [Y2] wire#50 +27, 11, 51 !TDC ROC#2 Sl#2 Ch#27 HDC pl#11 [Y2] wire#51 +28, 11, 52 !TDC ROC#2 Sl#2 Ch#28 HDC pl#11 [Y2] wire#52 +!29 !TDC ROC#2 Sl#2 Ch#29 unused +!30 !TDC ROC#2 Sl#2 Ch#30 unused +!31 !TDC ROC#2 Sl#2 Ch#31 unused +32, 8, 14 !TDC ROC#2 Sl#2 Ch#32 HDC pl#8 [Y1] wire#14 +33, 8, 15 !TDC ROC#2 Sl#2 Ch#33 HDC pl#8 [Y1] wire#15 +34, 8, 16 !TDC ROC#2 Sl#2 Ch#34 HDC pl#8 [Y1] wire#16 +35, 8, 17 !TDC ROC#2 Sl#2 Ch#35 HDC pl#8 [Y1] wire#17 +36, 8, 18 !TDC ROC#2 Sl#2 Ch#36 HDC pl#8 [Y1] wire#18 +37, 8, 19 !TDC ROC#2 Sl#2 Ch#37 HDC pl#8 [Y1] wire#19 +38, 8, 20 !TDC ROC#2 Sl#2 Ch#38 HDC pl#8 [Y1] wire#20 +39, 8, 21 !TDC ROC#2 Sl#2 Ch#39 HDC pl#8 [Y1] wire#21 +40, 8, 22 !TDC ROC#2 Sl#2 Ch#40 HDC pl#8 [Y1] wire#22 +41, 8, 23 !TDC ROC#2 Sl#2 Ch#41 HDC pl#8 [Y1] wire#23 +42, 8, 24 !TDC ROC#2 Sl#2 Ch#42 HDC pl#8 [Y1] wire#24 +43, 8, 25 !TDC ROC#2 Sl#2 Ch#43 HDC pl#8 [Y1] wire#25 +44, 8, 26 !TDC ROC#2 Sl#2 Ch#44 HDC pl#8 [Y1] wire#26 +!45 !TDC ROC#2 Sl#2 Ch#45 unused +!46 !TDC ROC#2 Sl#2 Ch#46 unused +!47 !TDC ROC#2 Sl#2 Ch#47 unused +48, 11, 27 !TDC ROC#2 Sl#2 Ch#48 HDC pl#11 [Y2] wire#27 +49, 11, 28 !TDC ROC#2 Sl#2 Ch#49 HDC pl#11 [Y2] wire#28 +50, 11, 29 !TDC ROC#2 Sl#2 Ch#50 HDC pl#11 [Y2] wire#29 +51, 11, 30 !TDC ROC#2 Sl#2 Ch#51 HDC pl#11 [Y2] wire#30 +52, 11, 31 !TDC ROC#2 Sl#2 Ch#52 HDC pl#11 [Y2] wire#31 +53, 11, 32 !TDC ROC#2 Sl#2 Ch#53 HDC pl#11 [Y2] wire#32 +54, 11, 33 !TDC ROC#2 Sl#2 Ch#54 HDC pl#11 [Y2] wire#33 +55, 11, 34 !TDC ROC#2 Sl#2 Ch#55 HDC pl#11 [Y2] wire#34 +56, 11, 35 !TDC ROC#2 Sl#2 Ch#56 HDC pl#11 [Y2] wire#35 +57, 11, 36 !TDC ROC#2 Sl#2 Ch#57 HDC pl#11 [Y2] wire#36 +58, 11, 37 !TDC ROC#2 Sl#2 Ch#58 HDC pl#11 [Y2] wire#37 +59, 11, 38 !TDC ROC#2 Sl#2 Ch#59 HDC pl#11 [Y2] wire#38 +60, 11, 39 !TDC ROC#2 Sl#2 Ch#60 HDC pl#11 [Y2] wire#39 +!61 !TDC ROC#2 Sl#2 Ch#61 unused +!62 !TDC ROC#2 Sl#2 Ch#62 unused +!63 !TDC ROC#2 Sl#2 Ch#63 unused +64, 8, 27 !TDC ROC#2 Sl#2 Ch#64 HDC pl#8 [Y1] wire#27 +65, 8, 28 !TDC ROC#2 Sl#2 Ch#65 HDC pl#8 [Y1] wire#28 +66, 8, 29 !TDC ROC#2 Sl#2 Ch#66 HDC pl#8 [Y1] wire#29 +67, 8, 30 !TDC ROC#2 Sl#2 Ch#67 HDC pl#8 [Y1] wire#30 +68, 8, 31 !TDC ROC#2 Sl#2 Ch#68 HDC pl#8 [Y1] wire#31 +69, 8, 32 !TDC ROC#2 Sl#2 Ch#69 HDC pl#8 [Y1] wire#32 +70, 8, 33 !TDC ROC#2 Sl#2 Ch#70 HDC pl#8 [Y1] wire#33 +71, 8, 34 !TDC ROC#2 Sl#2 Ch#71 HDC pl#8 [Y1] wire#34 +72, 8, 35 !TDC ROC#2 Sl#2 Ch#72 HDC pl#8 [Y1] wire#35 +73, 8, 36 !TDC ROC#2 Sl#2 Ch#73 HDC pl#8 [Y1] wire#36 +74, 8, 37 !TDC ROC#2 Sl#2 Ch#74 HDC pl#8 [Y1] wire#37 +75, 8, 38 !TDC ROC#2 Sl#2 Ch#75 HDC pl#8 [Y1] wire#38 +76, 8, 39 !TDC ROC#2 Sl#2 Ch#76 HDC pl#8 [Y1] wire#39 +!77 !TDC ROC#2 Sl#2 Ch#77 unused +!78 !TDC ROC#2 Sl#2 Ch#78 unused +!79 !TDC ROC#2 Sl#2 Ch#79 unused +80, 11, 14 !TDC ROC#2 Sl#2 Ch#80 HDC pl#11 [Y2] wire#14 +81, 11, 15 !TDC ROC#2 Sl#2 Ch#81 HDC pl#11 [Y2] wire#15 +82, 11, 16 !TDC ROC#2 Sl#2 Ch#82 HDC pl#11 [Y2] wire#16 +83, 11, 17 !TDC ROC#2 Sl#2 Ch#83 HDC pl#11 [Y2] wire#17 +84, 11, 18 !TDC ROC#2 Sl#2 Ch#84 HDC pl#11 [Y2] wire#18 +85, 11, 19 !TDC ROC#2 Sl#2 Ch#85 HDC pl#11 [Y2] wire#19 +86, 11, 20 !TDC ROC#2 Sl#2 Ch#86 HDC pl#11 [Y2] wire#20 +87, 11, 21 !TDC ROC#2 Sl#2 Ch#87 HDC pl#11 [Y2] wire#21 +88, 11, 22 !TDC ROC#2 Sl#2 Ch#88 HDC pl#11 [Y2] wire#22 +89, 11, 23 !TDC ROC#2 Sl#2 Ch#89 HDC pl#11 [Y2] wire#23 +90, 11, 24 !TDC ROC#2 Sl#2 Ch#90 HDC pl#11 [Y2] wire#24 +91, 11, 25 !TDC ROC#2 Sl#2 Ch#91 HDC pl#11 [Y2] wire#25 +92, 11, 26 !TDC ROC#2 Sl#2 Ch#92 HDC pl#11 [Y2] wire#26 +!93 !TDC ROC#2 Sl#2 Ch#93 unused +!94 !TDC ROC#2 Sl#2 Ch#94 unused +!95 !TDC ROC#2 Sl#2 Ch#95 unused + +Slot= 3 +0, 8, 40 !TDC ROC#2 Sl#3 Ch#0 HDC pl#8 [Y1] wire#40 +1, 8, 41 !TDC ROC#2 Sl#3 Ch#1 HDC pl#8 [Y1] wire#41 +2, 8, 42 !TDC ROC#2 Sl#3 Ch#2 HDC pl#8 [Y1] wire#42 +3, 8, 43 !TDC ROC#2 Sl#3 Ch#3 HDC pl#8 [Y1] wire#43 +4, 8, 44 !TDC ROC#2 Sl#3 Ch#4 HDC pl#8 [Y1] wire#44 +5, 8, 45 !TDC ROC#2 Sl#3 Ch#5 HDC pl#8 [Y1] wire#45 +6, 8, 46 !TDC ROC#2 Sl#3 Ch#6 HDC pl#8 [Y1] wire#46 +7, 8, 47 !TDC ROC#2 Sl#3 Ch#7 HDC pl#8 [Y1] wire#47 +8, 8, 48 !TDC ROC#2 Sl#3 Ch#8 HDC pl#8 [Y1] wire#48 +9, 8, 49 !TDC ROC#2 Sl#3 Ch#9 HDC pl#8 [Y1] wire#49 +10, 8, 50 !TDC ROC#2 Sl#3 Ch#10 HDC pl#8 [Y1] wire#50 +11, 8, 51 !TDC ROC#2 Sl#3 Ch#11 HDC pl#8 [Y1] wire#51 +12, 8, 52 !TDC ROC#2 Sl#3 Ch#12 HDC pl#8 [Y1] wire#52 +!13 !TDC ROC#2 Sl#3 Ch#13 +!14 !TDC ROC#2 Sl#3 Ch#14 +!15 !TDC ROC#2 Sl#3 Ch#15 +16, 11, 1 !TDC ROC#2 Sl#3 Ch#16 HDC pl#11 [Y2] wire#1 +17, 11, 2 !TDC ROC#2 Sl#3 Ch#17 HDC pl#11 [Y2] wire#2 +18, 11, 3 !TDC ROC#2 Sl#3 Ch#18 HDC pl#11 [Y2] wire#3 +19, 11, 4 !TDC ROC#2 Sl#3 Ch#19 HDC pl#11 [Y2] wire#4 +20, 11, 5 !TDC ROC#2 Sl#3 Ch#20 HDC pl#11 [Y2] wire#5 +21, 11, 6 !TDC ROC#2 Sl#3 Ch#21 HDC pl#11 [Y2] wire#6 +22, 11, 7 !TDC ROC#2 Sl#3 Ch#22 HDC pl#11 [Y2] wire#7 +23, 11, 8 !TDC ROC#2 Sl#3 Ch#23 HDC pl#11 [Y2] wire#8 +24, 11, 9 !TDC ROC#2 Sl#3 Ch#24 HDC pl#11 [Y2] wire#9 +25, 11, 10 !TDC ROC#2 Sl#3 Ch#25 HDC pl#11 [Y2] wire#10 +26, 11, 11 !TDC ROC#2 Sl#3 Ch#26 HDC pl#11 [Y2] wire#11 +27, 11, 12 !TDC ROC#2 Sl#3 Ch#27 HDC pl#11 [Y2] wire#12 +28, 11, 13 !TDC ROC#2 Sl#3 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#3 Ch#29 unused +! 30 !TDC ROC#2 Sl#3 Ch#30 unused +! 31 !TDC ROC#2 Sl#3 Ch#31 unused +32, 10, 92 !TDC ROC#2 Sl#3 Ch#32 HDC pl#10 [V] wire#92 +33, 10, 93 !TDC ROC#2 Sl#3 Ch#33 HDC pl#10 [V] wire#93 +34, 10, 94 !TDC ROC#2 Sl#3 Ch#34 HDC pl#10 [V] wire#94 +35, 10, 95 !TDC ROC#2 Sl#3 Ch#35 HDC pl#10 [V] wire#95 +36, 10, 96 !TDC ROC#2 Sl#3 Ch#36 HDC pl#10 [V] wire#96 +37, 10, 97 !TDC ROC#2 Sl#3 Ch#37 HDC pl#10 [V] wire#97 +38, 10, 98 !TDC ROC#2 Sl#3 Ch#38 HDC pl#10 [V] wire#98 +39, 10, 99 !TDC ROC#2 Sl#3 Ch#39 HDC pl#10 [V] wire#99 +40, 10, 100 !TDC ROC#2 Sl#3 Ch#40 HDC pl#10 [V] wire#100 +41, 10, 101 !TDC ROC#2 Sl#3 Ch#41 HDC pl#10 [V] wire#101 +42, 10, 102 !TDC ROC#2 Sl#3 Ch#42 HDC pl#10 [V] wire#102 +43, 10, 103 !TDC ROC#2 Sl#3 Ch#43 HDC pl#10 [V] wire#103 +44, 10, 104 !TDC ROC#2 Sl#3 Ch#44 HDC pl#10 [V] wire#104 +45, 10, 105 !TDC ROC#2 Sl#3 Ch#45 HDC pl#10 [V] wire#105 +46, 10, 106 !TDC ROC#2 Sl#3 Ch#46 HDC pl#10 [V] wire#106 +47, 10, 107 !TDC ROC#2 Sl#3 Ch#47 HDC pl#10 [V] wire#107 +48, 7, 97 !TDC ROC#2 Sl#3 Ch#48 HDC pl#7 [X1] wire#97 +49, 7, 98 !TDC ROC#2 Sl#3 Ch#49 HDC pl#7 [X1] wire#98 +50, 7, 99 !TDC ROC#2 Sl#3 Ch#50 HDC pl#7 [X1] wire#99 +51, 7, 100 !TDC ROC#2 Sl#3 Ch#51 HDC pl#7 [X1] wire#100 +52, 7, 101 !TDC ROC#2 Sl#3 Ch#52 HDC pl#7 [X1] wire#101 +53, 7, 102 !TDC ROC#2 Sl#3 Ch#53 HDC pl#7 [X1] wire#102 +54, 7, 103 !TDC ROC#2 Sl#3 Ch#54 HDC pl#7 [X1] wire#103 +55, 7, 104 !TDC ROC#2 Sl#3 Ch#55 HDC pl#7 [X1] wire#104 +56, 7, 105 !TDC ROC#2 Sl#3 Ch#56 HDC pl#7 [X1] wire#105 +57, 7, 106 !TDC ROC#2 Sl#3 Ch#57 HDC pl#7 [X1] wire#106 +58, 7, 107 !TDC ROC#2 Sl#3 Ch#58 HDC pl#7 [X1] wire#107 +59, 7, 108 !TDC ROC#2 Sl#3 Ch#59 HDC pl#7 [X1] wire#108 +60, 7, 109 !TDC ROC#2 Sl#3 Ch#60 HDC pl#7 [X1] wire#109 +61, 7, 110 !TDC ROC#2 Sl#3 Ch#61 HDC pl#7 [X1] wire#110 +62, 7, 111 !TDC ROC#2 Sl#3 Ch#62 HDC pl#7 [X1] wire#111 +63, 7, 112 !TDC ROC#2 Sl#3 Ch#63 HDC pl#7 [X1] wire#112 +64, 12, 1 !TDC ROC#2 Sl#3 Ch#64 HDC pl#12 [X2] wire#1 +65, 12, 2 !TDC ROC#2 Sl#3 Ch#65 HDC pl#12 [X2] wire#2 +66, 12, 3 !TDC ROC#2 Sl#3 Ch#66 HDC pl#12 [X2] wire#3 +67, 12, 4 !TDC ROC#2 Sl#3 Ch#67 HDC pl#12 [X2] wire#4 +68, 12, 5 !TDC ROC#2 Sl#3 Ch#68 HDC pl#12 [X2] wire#5 +69, 12, 6 !TDC ROC#2 Sl#3 Ch#69 HDC pl#12 [X2] wire#6 +70, 12, 7 !TDC ROC#2 Sl#3 Ch#70 HDC pl#12 [X2] wire#7 +71, 12, 8 !TDC ROC#2 Sl#3 Ch#71 HDC pl#12 [X2] wire#8 +72, 12, 9 !TDC ROC#2 Sl#3 Ch#72 HDC pl#12 [X2] wire#9 +73, 12, 10 !TDC ROC#2 Sl#3 Ch#73 HDC pl#12 [X2] wire#10 +74, 12, 11 !TDC ROC#2 Sl#3 Ch#74 HDC pl#12 [X2] wire#11 +75, 12, 12 !TDC ROC#2 Sl#3 Ch#75 HDC pl#12 [X2] wire#12 +76, 12, 13 !TDC ROC#2 Sl#3 Ch#76 HDC pl#12 [X2] wire#13 +77, 12, 14 !TDC ROC#2 Sl#3 Ch#77 HDC pl#12 [X2] wire#14 +78, 12, 15 !TDC ROC#2 Sl#3 Ch#78 HDC pl#12 [X2] wire#15 +79, 12, 16 !TDC ROC#2 Sl#3 Ch#79 HDC pl#12 [X2] wire#16 +80, 7, 113 !TDC ROC#2 Sl#3 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#3 Ch#81 unused +82, 9, 1 !TDC ROC#2 Sl#3 Ch#82 HDC pl#9 [U] wire#1 +83, 9, 2 !TDC ROC#2 Sl#3 Ch#83 HDC pl#9 [U] wire#2 +84, 9, 3 !TDC ROC#2 Sl#3 Ch#84 HDC pl#9 [U] wire#3 +85, 9, 4 !TDC ROC#2 Sl#3 Ch#85 HDC pl#9 [U] wire#4 +86, 9, 5 !TDC ROC#2 Sl#3 Ch#86 HDC pl#9 [U] wire#5 +87, 9, 6 !TDC ROC#2 Sl#3 Ch#87 HDC pl#9 [U] wire#6 +88, 9, 7 !TDC ROC#2 Sl#3 Ch#88 HDC pl#9 [U] wire#7 +89, 9, 8 !TDC ROC#2 Sl#3 Ch#89 HDC pl#9 [U] wire#8 +90, 9, 9 !TDC ROC#2 Sl#3 Ch#90 HDC pl#9 [U] wire#9 +91, 9, 10 !TDC ROC#2 Sl#3 Ch#91 HDC pl#9 [U] wire#10 +92, 9, 11 !TDC ROC#2 Sl#3 Ch#92 HDC pl#9 [U] wire#11 +93, 9, 12 !TDC ROC#2 Sl#3 Ch#93 HDC pl#9 [U] wire#12 +94, 9, 13 !TDC ROC#2 Sl#3 Ch#94 HDC pl#9 [U] wire#13 +95, 9, 14 !TDC ROC#2 Sl#3 Ch#95 HDC pl#9 [U] wire#14 +Slot= 5 +0, 10, 77 !TDC ROC#2 Sl#5 Ch#0 HDC pl#10 [V] wire#77 +1, 10, 78 !TDC ROC#2 Sl#5 Ch#1 HDC pl#10 [V] wire#78 +2, 10, 79 !TDC ROC#2 Sl#5 Ch#2 HDC pl#10 [V] wire#79 +3, 10, 80 !TDC ROC#2 Sl#5 Ch#3 HDC pl#10 [V] wire#80 +4, 10, 81 !TDC ROC#2 Sl#5 Ch#4 HDC pl#10 [V] wire#81 +5, 10, 82 !TDC ROC#2 Sl#5 Ch#5 HDC pl#10 [V] wire#82 +6, 10, 83 !TDC ROC#2 Sl#5 Ch#6 HDC pl#10 [V] wire#83 +7, 10, 84 !TDC ROC#2 Sl#5 Ch#7 HDC pl#10 [V] wire#84 +8, 10, 85 !TDC ROC#2 Sl#5 Ch#8 HDC pl#10 [V] wire#85 +9, 10, 86 !TDC ROC#2 Sl#5 Ch#9 HDC pl#10 [V] wire#86 +10, 10, 87 !TDC ROC#2 Sl#5 Ch#10 HDC pl#10 [V] wire#87 +11, 10, 88 !TDC ROC#2 Sl#5 Ch#11 HDC pl#10 [V] wire#88 +12, 10, 89 !TDC ROC#2 Sl#5 Ch#12 HDC pl#10 [V] wire#89 +13, 10, 90 !TDC ROC#2 Sl#5 Ch#13 HDC pl#10 [V] wire#90 +14, 10, 91 !TDC ROC#2 Sl#5 Ch#14 HDC pl#10 [V] wire#91 +! 15 !TDC ROC#2 Sl#5 Ch#15 unused +16, 7, 81 !TDC ROC#2 Sl#5 Ch#16 HDC pl#7 [X1] wire#81 +17, 7, 82 !TDC ROC#2 Sl#5 Ch#17 HDC pl#7 [X1] wire#82 +18, 7, 83 !TDC ROC#2 Sl#5 Ch#18 HDC pl#7 [X1] wire#83 +19, 7, 84 !TDC ROC#2 Sl#5 Ch#19 HDC pl#7 [X1] wire#84 +20, 7, 85 !TDC ROC#2 Sl#5 Ch#20 HDC pl#7 [X1] wire#85 +21, 7, 86 !TDC ROC#2 Sl#5 Ch#21 HDC pl#7 [X1] wire#86 +22, 7, 87 !TDC ROC#2 Sl#5 Ch#22 HDC pl#7 [X1] wire#87 +23, 7, 88 !TDC ROC#2 Sl#5 Ch#23 HDC pl#7 [X1] wire#88 +24, 7, 89 !TDC ROC#2 Sl#5 Ch#24 HDC pl#7 [X1] wire#89 +25, 7, 90 !TDC ROC#2 Sl#5 Ch#25 HDC pl#7 [X1] wire#90 +26, 7, 91 !TDC ROC#2 Sl#5 Ch#26 HDC pl#7 [X1] wire#91 +27, 7, 92 !TDC ROC#2 Sl#5 Ch#27 HDC pl#7 [X1] wire#92 +28, 7, 93 !TDC ROC#2 Sl#5 Ch#28 HDC pl#7 [X1] wire#93 +29, 7, 94 !TDC ROC#2 Sl#5 Ch#29 HDC pl#7 [X1] wire#94 +30, 7, 95 !TDC ROC#2 Sl#5 Ch#30 HDC pl#7 [X1] wire#95 +31, 7, 96 !TDC ROC#2 Sl#5 Ch#31 HDC pl#7 [X1] wire#96 +32, 12, 17 !TDC ROC#2 Sl#5 Ch#32 HDC pl#12 [X2] wire#17 +33, 12, 18 !TDC ROC#2 Sl#5 Ch#33 HDC pl#12 [X2] wire#18 +34, 12, 19 !TDC ROC#2 Sl#5 Ch#34 HDC pl#12 [X2] wire#19 +35, 12, 20 !TDC ROC#2 Sl#5 Ch#35 HDC pl#12 [X2] wire#20 +36, 12, 21 !TDC ROC#2 Sl#5 Ch#36 HDC pl#12 [X2] wire#21 +37, 12, 22 !TDC ROC#2 Sl#5 Ch#37 HDC pl#12 [X2] wire#22 +38, 12, 23 !TDC ROC#2 Sl#5 Ch#38 HDC pl#12 [X2] wire#23 +39, 12, 24 !TDC ROC#2 Sl#5 Ch#39 HDC pl#12 [X2] wire#24 +40, 12, 25 !TDC ROC#2 Sl#5 Ch#40 HDC pl#12 [X2] wire#25 +41, 12, 26 !TDC ROC#2 Sl#5 Ch#41 HDC pl#12 [X2] wire#26 +42, 12, 27 !TDC ROC#2 Sl#5 Ch#42 HDC pl#12 [X2] wire#27 +43, 12, 28 !TDC ROC#2 Sl#5 Ch#43 HDC pl#12 [X2] wire#28 +44, 12, 29 !TDC ROC#2 Sl#5 Ch#44 HDC pl#12 [X2] wire#29 +45, 12, 30 !TDC ROC#2 Sl#5 Ch#45 HDC pl#12 [X2] wire#30 +46, 12, 31 !TDC ROC#2 Sl#5 Ch#46 HDC pl#12 [X2] wire#31 +47, 12, 32 !TDC ROC#2 Sl#5 Ch#47 HDC pl#12 [X2] wire#32 +48, 9, 15 !TDC ROC#2 Sl#5 Ch#48 HDC pl#9 [U] wire#15 +49, 9, 16 !TDC ROC#2 Sl#5 Ch#49 HDC pl#9 [U] wire#16 +50, 9, 17 !TDC ROC#2 Sl#5 Ch#50 HDC pl#9 [U] wire#17 +51, 9, 18 !TDC ROC#2 Sl#5 Ch#51 HDC pl#9 [U] wire#18 +52, 9, 19 !TDC ROC#2 Sl#5 Ch#52 HDC pl#9 [U] wire#19 +53, 9, 20 !TDC ROC#2 Sl#5 Ch#53 HDC pl#9 [U] wire#20 +54, 9, 21 !TDC ROC#2 Sl#5 Ch#54 HDC pl#9 [U] wire#21 +55, 9, 22 !TDC ROC#2 Sl#5 Ch#55 HDC pl#9 [U] wire#22 +56, 9, 23 !TDC ROC#2 Sl#5 Ch#56 HDC pl#9 [U] wire#23 +57, 9, 24 !TDC ROC#2 Sl#5 Ch#57 HDC pl#9 [U] wire#24 +58, 9, 25 !TDC ROC#2 Sl#5 Ch#58 HDC pl#9 [U] wire#25 +59, 9, 26 !TDC ROC#2 Sl#5 Ch#59 HDC pl#9 [U] wire#26 +60, 9, 27 !TDC ROC#2 Sl#5 Ch#60 HDC pl#9 [U] wire#27 +61, 9, 28 !TDC ROC#2 Sl#5 Ch#61 HDC pl#9 [U] wire#28 +62, 9, 29 !TDC ROC#2 Sl#5 Ch#62 HDC pl#9 [U] wire#29 +!63 !TDC ROC#2 Sl#5 Ch#63 unused +64, 10, 61 !TDC ROC#2 Sl#5 Ch#64 HDC pl#10 [V] wire#61 +65, 10, 62 !TDC ROC#2 Sl#5 Ch#65 HDC pl#10 [V] wire#62 +66, 10, 63 !TDC ROC#2 Sl#5 Ch#66 HDC pl#10 [V] wire#63 +67, 10, 64 !TDC ROC#2 Sl#5 Ch#67 HDC pl#10 [V] wire#64 +68, 10, 65 !TDC ROC#2 Sl#5 Ch#68 HDC pl#10 [V] wire#65 +69, 10, 66 !TDC ROC#2 Sl#5 Ch#69 HDC pl#10 [V] wire#66 +70, 10, 67 !TDC ROC#2 Sl#5 Ch#70 HDC pl#10 [V] wire#67 +71, 10, 68 !TDC ROC#2 Sl#5 Ch#71 HDC pl#10 [V] wire#68 +72, 10, 69 !TDC ROC#2 Sl#5 Ch#72 HDC pl#10 [V] wire#69 +73, 10, 70 !TDC ROC#2 Sl#5 Ch#73 HDC pl#10 [V] wire#70 +74, 10, 71 !TDC ROC#2 Sl#5 Ch#74 HDC pl#10 [V] wire#71 +75, 10, 72 !TDC ROC#2 Sl#5 Ch#75 HDC pl#10 [V] wire#72 +76, 10, 73 !TDC ROC#2 Sl#5 Ch#76 HDC pl#10 [V] wire#73 +77, 10, 74 !TDC ROC#2 Sl#5 Ch#77 HDC pl#10 [V] wire#74 +78, 10, 75 !TDC ROC#2 Sl#5 Ch#78 HDC pl#10 [V] wire#75 +79, 10, 76 !TDC ROC#2 Sl#5 Ch#79 HDC pl#10 [V] wire#76 +80, 7, 65 !TDC ROC#2 Sl#5 Ch#80 HDC pl#7 [X1] wire#65 +81, 7, 66 !TDC ROC#2 Sl#5 Ch#81 HDC pl#7 [X1] wire#66 +82, 7, 67 !TDC ROC#2 Sl#5 Ch#82 HDC pl#7 [X1] wire#67 +83, 7, 68 !TDC ROC#2 Sl#5 Ch#83 HDC pl#7 [X1] wire#68 +84, 7, 69 !TDC ROC#2 Sl#5 Ch#84 HDC pl#7 [X1] wire#69 +85, 7, 70 !TDC ROC#2 Sl#5 Ch#85 HDC pl#7 [X1] wire#70 +86, 7, 71 !TDC ROC#2 Sl#5 Ch#86 HDC pl#7 [X1] wire#71 +87, 7, 72 !TDC ROC#2 Sl#5 Ch#87 HDC pl#7 [X1] wire#72 +88, 7, 73 !TDC ROC#2 Sl#5 Ch#88 HDC pl#7 [X1] wire#73 +89, 7, 74 !TDC ROC#2 Sl#5 Ch#89 HDC pl#7 [X1] wire#74 +90, 7, 75 !TDC ROC#2 Sl#5 Ch#90 HDC pl#7 [X1] wire#75 +91, 7, 76 !TDC ROC#2 Sl#5 Ch#91 HDC pl#7 [X1] wire#76 +92, 7, 77 !TDC ROC#2 Sl#5 Ch#92 HDC pl#7 [X1] wire#77 +93, 7, 78 !TDC ROC#2 Sl#5 Ch#93 HDC pl#7 [X1] wire#78 +94, 7, 79 !TDC ROC#2 Sl#5 Ch#94 HDC pl#7 [X1] wire#79 +95, 7, 80 !TDC ROC#2 Sl#5 Ch#95 HDC pl#7 [X1] wire#80 +Slot= 6 +0, 12, 33 !TDC ROC#2 Sl#6 Ch#0 HDC pl#12 [X2] wire#33 +1, 12, 34 !TDC ROC#2 Sl#6 Ch#1 HDC pl#12 [X2] wire#34 +2, 12, 35 !TDC ROC#2 Sl#6 Ch#2 HDC pl#12 [X2] wire#35 +3, 12, 36 !TDC ROC#2 Sl#6 Ch#3 HDC pl#12 [X2] wire#36 +4, 12, 37 !TDC ROC#2 Sl#6 Ch#4 HDC pl#12 [X2] wire#37 +5, 12, 38 !TDC ROC#2 Sl#6 Ch#5 HDC pl#12 [X2] wire#38 +6, 12, 39 !TDC ROC#2 Sl#6 Ch#6 HDC pl#12 [X2] wire#39 +7, 12, 40 !TDC ROC#2 Sl#6 Ch#7 HDC pl#12 [X2] wire#40 +8, 12, 41 !TDC ROC#2 Sl#6 Ch#8 HDC pl#12 [X2] wire#41 +9, 12, 42 !TDC ROC#2 Sl#6 Ch#9 HDC pl#12 [X2] wire#42 +10, 12, 43 !TDC ROC#2 Sl#6 Ch#10 HDC pl#12 [X2] wire#43 +11, 12, 44 !TDC ROC#2 Sl#6 Ch#11 HDC pl#12 [X2] wire#44 +12, 12, 45 !TDC ROC#2 Sl#6 Ch#12 HDC pl#12 [X2] wire#45 +13, 12, 46 !TDC ROC#2 Sl#6 Ch#13 HDC pl#12 [X2] wire#46 +14, 12, 47 !TDC ROC#2 Sl#6 Ch#14 HDC pl#12 [X2] wire#47 +15, 12, 48 !TDC ROC#2 Sl#6 Ch#15 HDC pl#12 [X2] wire#48 +16, 9, 30 !TDC ROC#2 Sl#6 Ch#16 HDC pl#9 [U] wire#30 +17, 9, 31 !TDC ROC#2 Sl#6 Ch#17 HDC pl#9 [U] wire#31 +18, 9, 32 !TDC ROC#2 Sl#6 Ch#18 HDC pl#9 [U] wire#32 +19, 9, 33 !TDC ROC#2 Sl#6 Ch#19 HDC pl#9 [U] wire#33 +20, 9, 34 !TDC ROC#2 Sl#6 Ch#20 HDC pl#9 [U] wire#34 +21, 9, 35 !TDC ROC#2 Sl#6 Ch#21 HDC pl#9 [U] wire#35 +22, 9, 36 !TDC ROC#2 Sl#6 Ch#22 HDC pl#9 [U] wire#36 +23, 9, 37 !TDC ROC#2 Sl#6 Ch#23 HDC pl#9 [U] wire#37 +24, 9, 38 !TDC ROC#2 Sl#6 Ch#24 HDC pl#9 [U] wire#38 +25, 9, 39 !TDC ROC#2 Sl#6 Ch#25 HDC pl#9 [U] wire#39 +26, 9, 40 !TDC ROC#2 Sl#6 Ch#26 HDC pl#9 [U] wire#40 +27, 9, 41 !TDC ROC#2 Sl#6 Ch#27 HDC pl#9 [U] wire#41 +28, 9, 42 !TDC ROC#2 Sl#6 Ch#28 HDC pl#9 [U] wire#42 +29, 9, 43 !TDC ROC#2 Sl#6 Ch#29 HDC pl#9 [U] wire#43 +30, 9, 44 !TDC ROC#2 Sl#6 Ch#30 HDC pl#9 [U] wire#44 +31, 9, 45 !TDC ROC#2 Sl#6 Ch#31 HDC pl#9 [U] wire#45 +32, 10, 46 !TDC ROC#2 Sl#6 Ch#32 HDC pl#10 [V] wire#46 +33, 10, 47 !TDC ROC#2 Sl#6 Ch#33 HDC pl#10 [V] wire#47 +34, 10, 48 !TDC ROC#2 Sl#6 Ch#34 HDC pl#10 [V] wire#48 +35, 10, 49 !TDC ROC#2 Sl#6 Ch#35 HDC pl#10 [V] wire#49 +36, 10, 50 !TDC ROC#2 Sl#6 Ch#36 HDC pl#10 [V] wire#50 +37, 10, 51 !TDC ROC#2 Sl#6 Ch#37 HDC pl#10 [V] wire#51 +38, 10, 52 !TDC ROC#2 Sl#6 Ch#38 HDC pl#10 [V] wire#52 +39, 10, 53 !TDC ROC#2 Sl#6 Ch#39 HDC pl#10 [V] wire#53 +40, 10, 54 !TDC ROC#2 Sl#6 Ch#40 HDC pl#10 [V] wire#54 +41, 10, 55 !TDC ROC#2 Sl#6 Ch#41 HDC pl#10 [V] wire#55 +42, 10, 56 !TDC ROC#2 Sl#6 Ch#42 HDC pl#10 [V] wire#56 +43, 10, 57 !TDC ROC#2 Sl#6 Ch#43 HDC pl#10 [V] wire#57 +44, 10, 58 !TDC ROC#2 Sl#6 Ch#44 HDC pl#10 [V] wire#58 +45, 10, 59 !TDC ROC#2 Sl#6 Ch#45 HDC pl#10 [V] wire#59 +46, 10, 60 !TDC ROC#2 Sl#6 Ch#46 HDC pl#10 [V] wire#60 +!47 !TDC ROC#2 Sl#6 Ch#47 HDC unused +48, 7, 49 !TDC ROC#2 Sl#6 Ch#48 HDC pl#7 [X1] wire#49 +49, 7, 50 !TDC ROC#2 Sl#6 Ch#49 HDC pl#7 [X1] wire#50 +50, 7, 51 !TDC ROC#2 Sl#6 Ch#50 HDC pl#7 [X1] wire#51 +51, 7, 52 !TDC ROC#2 Sl#6 Ch#51 HDC pl#7 [X1] wire#52 +52, 7, 53 !TDC ROC#2 Sl#6 Ch#52 HDC pl#7 [X1] wire#53 +53, 7, 54 !TDC ROC#2 Sl#6 Ch#53 HDC pl#7 [X1] wire#54 +54, 7, 55 !TDC ROC#2 Sl#6 Ch#54 HDC pl#7 [X1] wire#55 +55, 7, 56 !TDC ROC#2 Sl#6 Ch#55 HDC pl#7 [X1] wire#56 +56, 7, 57 !TDC ROC#2 Sl#6 Ch#56 HDC pl#7 [X1] wire#57 +57, 7, 58 !TDC ROC#2 Sl#6 Ch#57 HDC pl#7 [X1] wire#58 +58, 7, 59 !TDC ROC#2 Sl#6 Ch#58 HDC pl#7 [X1] wire#59 +59, 7, 60 !TDC ROC#2 Sl#6 Ch#59 HDC pl#7 [X1] wire#60 +60, 7, 61 !TDC ROC#2 Sl#6 Ch#60 HDC pl#7 [X1] wire#61 +61, 7, 62 !TDC ROC#2 Sl#6 Ch#61 HDC pl#7 [X1] wire#62 +62, 7, 63 !TDC ROC#2 Sl#6 Ch#62 HDC pl#7 [X1] wire#63 +63, 7, 64 !TDC ROC#2 Sl#6 Ch#63 HDC pl#7 [X1] wire#64 +64, 12, 49 !TDC ROC#2 Sl#6 Ch#64 HDC pl#12 [X2] wire#49 +65, 12, 50 !TDC ROC#2 Sl#6 Ch#65 HDC pl#12 [X2] wire#50 +66, 12, 51 !TDC ROC#2 Sl#6 Ch#66 HDC pl#12 [X2] wire#51 +67, 12, 52 !TDC ROC#2 Sl#6 Ch#67 HDC pl#12 [X2] wire#52 +68, 12, 53 !TDC ROC#2 Sl#6 Ch#68 HDC pl#12 [X2] wire#53 +69, 12, 54 !TDC ROC#2 Sl#6 Ch#69 HDC pl#12 [X2] wire#54 +70, 12, 55 !TDC ROC#2 Sl#6 Ch#70 HDC pl#12 [X2] wire#55 +71, 12, 56 !TDC ROC#2 Sl#6 Ch#71 HDC pl#12 [X2] wire#56 +72, 12, 57 !TDC ROC#2 Sl#6 Ch#72 HDC pl#12 [X2] wire#57 +73, 12, 58 !TDC ROC#2 Sl#6 Ch#73 HDC pl#12 [X2] wire#58 +74, 12, 59 !TDC ROC#2 Sl#6 Ch#74 HDC pl#12 [X2] wire#59 +75, 12, 60 !TDC ROC#2 Sl#6 Ch#75 HDC pl#12 [X2] wire#60 +76, 12, 61 !TDC ROC#2 Sl#6 Ch#76 HDC pl#12 [X2] wire#61 +77, 12, 62 !TDC ROC#2 Sl#6 Ch#77 HDC pl#12 [X2] wire#62 +78, 12, 63 !TDC ROC#2 Sl#6 Ch#78 HDC pl#12 [X2] wire#63 +79, 12, 64 !TDC ROC#2 Sl#6 Ch#79 HDC pl#12 [X2] wire#64 +80, 10, 30 !TDC ROC#2 Sl#6 Ch#80 HDC pl#10 [V] wire#30 +81, 10, 31 !TDC ROC#2 Sl#6 Ch#81 HDC pl#10 [V] wire#31 +82, 10, 32 !TDC ROC#2 Sl#6 Ch#82 HDC pl#10 [V] wire#32 +83, 10, 33 !TDC ROC#2 Sl#6 Ch#83 HDC pl#10 [V] wire#33 +84, 10, 34 !TDC ROC#2 Sl#6 Ch#84 HDC pl#10 [V] wire#34 +85, 10, 35 !TDC ROC#2 Sl#6 Ch#85 HDC pl#10 [V] wire#35 +86, 10, 36 !TDC ROC#2 Sl#6 Ch#86 HDC pl#10 [V] wire#36 +87, 10, 37 !TDC ROC#2 Sl#6 Ch#87 HDC pl#10 [V] wire#37 +88, 10, 38 !TDC ROC#2 Sl#6 Ch#88 HDC pl#10 [V] wire#38 +89, 10, 39 !TDC ROC#2 Sl#6 Ch#89 HDC pl#10 [V] wire#39 +90, 10, 40 !TDC ROC#2 Sl#6 Ch#90 HDC pl#10 [V] wire#40 +91, 10, 41 !TDC ROC#2 Sl#6 Ch#91 HDC pl#10 [V] wire#41 +92, 10, 42 !TDC ROC#2 Sl#6 Ch#92 HDC pl#10 [V] wire#42 +93, 10, 43 !TDC ROC#2 Sl#6 Ch#93 HDC pl#10 [V] wire#43 +94, 10, 44 !TDC ROC#2 Sl#6 Ch#94 HDC pl#10 [V] wire#44 +95, 10, 45 !TDC ROC#2 Sl#6 Ch#95 HDC pl#10 [V] wire#45 +Slot= 8 +0, 9, 46 !TDC ROC#2 Sl#8 Ch#0 HDC pl#9 [U] wire#46 +1, 9, 47 !TDC ROC#2 Sl#8 Ch#1 HDC pl#9 [U] wire#47 +2, 9, 48 !TDC ROC#2 Sl#8 Ch#2 HDC pl#9 [U] wire#48 +3, 9, 49 !TDC ROC#2 Sl#8 Ch#3 HDC pl#9 [U] wire#49 +4, 9, 50 !TDC ROC#2 Sl#8 Ch#4 HDC pl#9 [U] wire#50 +5, 9, 51 !TDC ROC#2 Sl#8 Ch#5 HDC pl#9 [U] wire#51 +6, 9, 52 !TDC ROC#2 Sl#8 Ch#6 HDC pl#9 [U] wire#52 +7, 9, 53 !TDC ROC#2 Sl#8 Ch#7 HDC pl#9 [U] wire#53 +8, 9, 54 !TDC ROC#2 Sl#8 Ch#8 HDC pl#9 [U] wire#54 +9, 9, 55 !TDC ROC#2 Sl#8 Ch#9 HDC pl#9 [U] wire#55 +10, 9, 56 !TDC ROC#2 Sl#8 Ch#10 HDC pl#9 [U] wire#56 +11, 9, 57 !TDC ROC#2 Sl#8 Ch#11 HDC pl#9 [U] wire#57 +12, 9, 58 !TDC ROC#2 Sl#8 Ch#12 HDC pl#9 [U] wire#58 +13, 9, 59 !TDC ROC#2 Sl#8 Ch#13 HDC pl#9 [U] wire#59 +14, 9, 60 !TDC ROC#2 Sl#8 Ch#14 HDC pl#9 [U] wire#60 +!15 !TDC ROC#2 Sl#8 Ch#15 unused +16, 7, 33 !TDC ROC#2 Sl#8 Ch#16 HDC pl#7 [X1] wire#33 +17, 7, 34 !TDC ROC#2 Sl#8 Ch#17 HDC pl#7 [X1] wire#34 +18, 7, 35 !TDC ROC#2 Sl#8 Ch#18 HDC pl#7 [X1] wire#35 +19, 7, 36 !TDC ROC#2 Sl#8 Ch#19 HDC pl#7 [X1] wire#36 +20, 7, 37 !TDC ROC#2 Sl#8 Ch#20 HDC pl#7 [X1] wire#37 +21, 7, 38 !TDC ROC#2 Sl#8 Ch#21 HDC pl#7 [X1] wire#38 +22, 7, 39 !TDC ROC#2 Sl#8 Ch#22 HDC pl#7 [X1] wire#39 +23, 7, 40 !TDC ROC#2 Sl#8 Ch#23 HDC pl#7 [X1] wire#40 +24, 7, 41 !TDC ROC#2 Sl#8 Ch#24 HDC pl#7 [X1] wire#41 +25, 7, 42 !TDC ROC#2 Sl#8 Ch#25 HDC pl#7 [X1] wire#42 +26, 7, 43 !TDC ROC#2 Sl#8 Ch#26 HDC pl#7 [X1] wire#43 +27, 7, 44 !TDC ROC#2 Sl#8 Ch#27 HDC pl#7 [X1] wire#44 +28, 7, 45 !TDC ROC#2 Sl#8 Ch#28 HDC pl#7 [X1] wire#45 +29, 7, 46 !TDC ROC#2 Sl#8 Ch#29 HDC pl#7 [X1] wire#46 +30, 7, 47 !TDC ROC#2 Sl#8 Ch#30 HDC pl#7 [X1] wire#47 +31, 7, 48 !TDC ROC#2 Sl#8 Ch#31 HDC pl#7 [X1] wire#48 +32, 12, 65 !TDC ROC#2 Sl#8 Ch#32 HDC pl#12 [X2] wire#65 +33, 12, 66 !TDC ROC#2 Sl#8 Ch#33 HDC pl#12 [X2] wire#66 +34, 12, 67 !TDC ROC#2 Sl#8 Ch#34 HDC pl#12 [X2] wire#67 +35, 12, 68 !TDC ROC#2 Sl#8 Ch#35 HDC pl#12 [X2] wire#68 +36, 12, 69 !TDC ROC#2 Sl#8 Ch#36 HDC pl#12 [X2] wire#69 +37, 12, 70 !TDC ROC#2 Sl#8 Ch#37 HDC pl#12 [X2] wire#70 +38, 12, 71 !TDC ROC#2 Sl#8 Ch#38 HDC pl#12 [X2] wire#71 +39, 12, 72 !TDC ROC#2 Sl#8 Ch#39 HDC pl#12 [X2] wire#72 +40, 12, 73 !TDC ROC#2 Sl#8 Ch#40 HDC pl#12 [X2] wire#73 +41, 12, 74 !TDC ROC#2 Sl#8 Ch#41 HDC pl#12 [X2] wire#74 +42, 12, 75 !TDC ROC#2 Sl#8 Ch#42 HDC pl#12 [X2] wire#75 +43, 12, 76 !TDC ROC#2 Sl#8 Ch#43 HDC pl#12 [X2] wire#76 +44, 12, 77 !TDC ROC#2 Sl#8 Ch#44 HDC pl#12 [X2] wire#77 +45, 12, 78 !TDC ROC#2 Sl#8 Ch#45 HDC pl#12 [X2] wire#78 +46, 12, 79 !TDC ROC#2 Sl#8 Ch#46 HDC pl#12 [X2] wire#79 +47, 12, 80 !TDC ROC#2 Sl#8 Ch#47 HDC pl#12 [X2] wire#80 +48, 9, 61 !TDC ROC#2 Sl#8 Ch#48 HDC pl#9 [U] wire#61 +49, 9, 62 !TDC ROC#2 Sl#8 Ch#49 HDC pl#9 [U] wire#62 +50, 9, 63 !TDC ROC#2 Sl#8 Ch#50 HDC pl#9 [U] wire#63 +51, 9, 64 !TDC ROC#2 Sl#8 Ch#51 HDC pl#9 [U] wire#64 +52, 9, 65 !TDC ROC#2 Sl#8 Ch#52 HDC pl#9 [U] wire#65 +53, 9, 66 !TDC ROC#2 Sl#8 Ch#53 HDC pl#9 [U] wire#66 +54, 9, 67 !TDC ROC#2 Sl#8 Ch#54 HDC pl#9 [U] wire#67 +55, 9, 68 !TDC ROC#2 Sl#8 Ch#55 HDC pl#9 [U] wire#68 +56, 9, 69 !TDC ROC#2 Sl#8 Ch#56 HDC pl#9 [U] wire#69 +57, 9, 70 !TDC ROC#2 Sl#8 Ch#57 HDC pl#9 [U] wire#70 +58, 9, 71 !TDC ROC#2 Sl#8 Ch#58 HDC pl#9 [U] wire#71 +59, 9, 72 !TDC ROC#2 Sl#8 Ch#59 HDC pl#9 [U] wire#72 +60, 9, 73 !TDC ROC#2 Sl#8 Ch#60 HDC pl#9 [U] wire#73 +61, 9, 74 !TDC ROC#2 Sl#8 Ch#61 HDC pl#9 [U] wire#74 +62, 9, 75 !TDC ROC#2 Sl#8 Ch#62 HDC pl#9 [U] wire#75 +63, 9, 76 !TDC ROC#2 Sl#8 Ch#63 HDC pl#9 [U] wire#76 +64, 10, 15 !TDC ROC#2 Sl#8 Ch#64 HDC pl#10 [V] wire#15 +65, 10, 16 !TDC ROC#2 Sl#8 Ch#65 HDC pl#10 [V] wire#16 +66, 10, 17 !TDC ROC#2 Sl#8 Ch#66 HDC pl#10 [V] wire#17 +67, 10, 18 !TDC ROC#2 Sl#8 Ch#67 HDC pl#10 [V] wire#18 +68, 10, 19 !TDC ROC#2 Sl#8 Ch#68 HDC pl#10 [V] wire#19 +69, 10, 20 !TDC ROC#2 Sl#8 Ch#69 HDC pl#10 [V] wire#20 +70, 10, 21 !TDC ROC#2 Sl#8 Ch#70 HDC pl#10 [V] wire#21 +71, 10, 22 !TDC ROC#2 Sl#8 Ch#71 HDC pl#10 [V] wire#22 +72, 10, 23 !TDC ROC#2 Sl#8 Ch#72 HDC pl#10 [V] wire#23 +73, 10, 24 !TDC ROC#2 Sl#8 Ch#73 HDC pl#10 [V] wire#24 +74, 10, 25 !TDC ROC#2 Sl#8 Ch#74 HDC pl#10 [V] wire#25 +75, 10, 26 !TDC ROC#2 Sl#8 Ch#75 HDC pl#10 [V] wire#26 +76, 10, 27 !TDC ROC#2 Sl#8 Ch#76 HDC pl#10 [V] wire#27 +77, 10, 28 !TDC ROC#2 Sl#8 Ch#77 HDC pl#10 [V] wire#28 +78, 10, 29 !TDC ROC#2 Sl#8 Ch#78 HDC pl#10 [V] wire#29 +! 79 !TDC ROC#2 Sl#8 Ch#79 unused +80, 7, 17 !TDC ROC#2 Sl#8 Ch#80 HDC pl#7 [X1] wire#17 +81, 7, 18 !TDC ROC#2 Sl#8 Ch#81 HDC pl#7 [X1] wire#18 +82, 7, 19 !TDC ROC#2 Sl#8 Ch#82 HDC pl#7 [X1] wire#19 +83, 7, 20 !TDC ROC#2 Sl#8 Ch#83 HDC pl#7 [X1] wire#20 +84, 7, 21 !TDC ROC#2 Sl#8 Ch#84 HDC pl#7 [X1] wire#21 +85, 7, 22 !TDC ROC#2 Sl#8 Ch#85 HDC pl#7 [X1] wire#22 +86, 7, 23 !TDC ROC#2 Sl#8 Ch#86 HDC pl#7 [X1] wire#23 +87, 7, 24 !TDC ROC#2 Sl#8 Ch#87 HDC pl#7 [X1] wire#24 +88, 7, 25 !TDC ROC#2 Sl#8 Ch#88 HDC pl#7 [X1] wire#25 +89, 7, 26 !TDC ROC#2 Sl#8 Ch#89 HDC pl#7 [X1] wire#26 +90, 7, 27 !TDC ROC#2 Sl#8 Ch#90 HDC pl#7 [X1] wire#27 +91, 7, 28 !TDC ROC#2 Sl#8 Ch#91 HDC pl#7 [X1] wire#28 +92, 7, 29 !TDC ROC#2 Sl#8 Ch#92 HDC pl#7 [X1] wire#29 +93, 7, 30 !TDC ROC#2 Sl#8 Ch#93 HDC pl#7 [X1] wire#30 +94, 7, 31 !TDC ROC#2 Sl#8 Ch#94 HDC pl#7 [X1] wire#31 +95, 7, 32 !TDC ROC#2 Sl#8 Ch#95 HDC pl#7 [X1] wire#32 +Slot= 9 +0, 12, 81 !TDC ROC#2 Sl#9 Ch#0 HDC pl#12 [X2] wire#81 +1, 12, 82 !TDC ROC#2 Sl#9 Ch#1 HDC pl#12 [X2] wire#82 +2, 12, 83 !TDC ROC#2 Sl#9 Ch#2 HDC pl#12 [X2] wire#83 +3, 12, 84 !TDC ROC#2 Sl#9 Ch#3 HDC pl#12 [X2] wire#84 +4, 12, 85 !TDC ROC#2 Sl#9 Ch#4 HDC pl#12 [X2] wire#85 +5, 12, 86 !TDC ROC#2 Sl#9 Ch#5 HDC pl#12 [X2] wire#86 +6, 12, 87 !TDC ROC#2 Sl#9 Ch#6 HDC pl#12 [X2] wire#87 +7, 12, 88 !TDC ROC#2 Sl#9 Ch#7 HDC pl#12 [X2] wire#88 +8, 12, 89 !TDC ROC#2 Sl#9 Ch#8 HDC pl#12 [X2] wire#89 +9, 12, 90 !TDC ROC#2 Sl#9 Ch#9 HDC pl#12 [X2] wire#90 +10, 12, 91 !TDC ROC#2 Sl#9 Ch#10 HDC pl#12 [X2] wire#91 +11, 12, 92 !TDC ROC#2 Sl#9 Ch#11 HDC pl#12 [X2] wire#92 +12, 12, 93 !TDC ROC#2 Sl#9 Ch#12 HDC pl#12 [X2] wire#93 +13, 12, 94 !TDC ROC#2 Sl#9 Ch#13 HDC pl#12 [X2] wire#94 +14, 12, 95 !TDC ROC#2 Sl#9 Ch#14 HDC pl#12 [X2] wire#95 +15, 12, 96 !TDC ROC#2 Sl#9 Ch#15 HDC pl#12 [X2] wire#96 +16, 9, 77 !TDC ROC#2 Sl#9 Ch#16 HDC pl#9 [U] wire#77 +17, 9, 78 !TDC ROC#2 Sl#9 Ch#17 HDC pl#9 [U] wire#78 +18, 9, 79 !TDC ROC#2 Sl#9 Ch#18 HDC pl#9 [U] wire#79 +19, 9, 80 !TDC ROC#2 Sl#9 Ch#19 HDC pl#9 [U] wire#80 +20, 9, 81 !TDC ROC#2 Sl#9 Ch#20 HDC pl#9 [U] wire#81 +21, 9, 82 !TDC ROC#2 Sl#9 Ch#21 HDC pl#9 [U] wire#82 +22, 9, 83 !TDC ROC#2 Sl#9 Ch#22 HDC pl#9 [U] wire#83 +23, 9, 84 !TDC ROC#2 Sl#9 Ch#23 HDC pl#9 [U] wire#84 +24, 9, 85 !TDC ROC#2 Sl#9 Ch#24 HDC pl#9 [U] wire#85 +25, 9, 86 !TDC ROC#2 Sl#9 Ch#25 HDC pl#9 [U] wire#86 +26, 9, 87 !TDC ROC#2 Sl#9 Ch#26 HDC pl#9 [U] wire#87 +27, 9, 88 !TDC ROC#2 Sl#9 Ch#27 HDC pl#9 [U] wire#88 +28, 9, 89 !TDC ROC#2 Sl#9 Ch#28 HDC pl#9 [U] wire#89 +29, 9, 90 !TDC ROC#2 Sl#9 Ch#29 HDC pl#9 [U] wire#90 +30, 9, 91 !TDC ROC#2 Sl#9 Ch#30 HDC pl#9 [U] wire#91 +!31 !TDC ROC#2 Sl#9 Ch#31 unused +32, 12, 113 !TDC ROC#2 Sl#9 Ch#32 HDC pl#12 [X2] wire#113 +!33 !TDC ROC#2 Sl#9 Ch#33 unused +34, 10, 1 !TDC ROC#2 Sl#9 Ch#34 HDC pl#10 [V] wire#1 +35, 10, 2 !TDC ROC#2 Sl#9 Ch#35 HDC pl#10 [V] wire#2 +36, 10, 3 !TDC ROC#2 Sl#9 Ch#36 HDC pl#10 [V] wire#3 +37, 10, 4 !TDC ROC#2 Sl#9 Ch#37 HDC pl#10 [V] wire#4 +38, 10, 5 !TDC ROC#2 Sl#9 Ch#38 HDC pl#10 [V] wire#5 +39, 10, 6 !TDC ROC#2 Sl#9 Ch#39 HDC pl#10 [V] wire#6 +40, 10, 7 !TDC ROC#2 Sl#9 Ch#40 HDC pl#10 [V] wire#7 +41, 10, 8 !TDC ROC#2 Sl#9 Ch#41 HDC pl#10 [V] wire#8 +42, 10, 9 !TDC ROC#2 Sl#9 Ch#42 HDC pl#10 [V] wire#9 +43, 10, 10 !TDC ROC#2 Sl#9 Ch#43 HDC pl#10 [V] wire#10 +44, 10, 11 !TDC ROC#2 Sl#9 Ch#44 HDC pl#10 [V] wire#11 +45, 10, 12 !TDC ROC#2 Sl#9 Ch#45 HDC pl#10 [V] wire#12 +46, 10, 13 !TDC ROC#2 Sl#9 Ch#46 HDC pl#10 [V] wire#13 +47, 10, 14 !TDC ROC#2 Sl#9 Ch#47 HDC pl#10 [V] wire#14 +48, 7, 1 !TDC ROC#2 Sl#9 Ch#48 HDC pl#7 [X1] wire#1 +49, 7, 2 !TDC ROC#2 Sl#9 Ch#49 HDC pl#7 [X1] wire#2 +50, 7, 3 !TDC ROC#2 Sl#9 Ch#50 HDC pl#7 [X1] wire#3 +51, 7, 4 !TDC ROC#2 Sl#9 Ch#51 HDC pl#7 [X1] wire#4 +52, 7, 5 !TDC ROC#2 Sl#9 Ch#52 HDC pl#7 [X1] wire#5 +53, 7, 6 !TDC ROC#2 Sl#9 Ch#53 HDC pl#7 [X1] wire#6 +54, 7, 7 !TDC ROC#2 Sl#9 Ch#54 HDC pl#7 [X1] wire#7 +55, 7, 8 !TDC ROC#2 Sl#9 Ch#55 HDC pl#7 [X1] wire#8 +56, 7, 9 !TDC ROC#2 Sl#9 Ch#56 HDC pl#7 [X1] wire#9 +57, 7, 10 !TDC ROC#2 Sl#9 Ch#57 HDC pl#7 [X1] wire#10 +58, 7, 11 !TDC ROC#2 Sl#9 Ch#58 HDC pl#7 [X1] wire#11 +59, 7, 12 !TDC ROC#2 Sl#9 Ch#59 HDC pl#7 [X1] wire#12 +60, 7, 13 !TDC ROC#2 Sl#9 Ch#60 HDC pl#7 [X1] wire#13 +61, 7, 14 !TDC ROC#2 Sl#9 Ch#61 HDC pl#7 [X1] wire#14 +62, 7, 15 !TDC ROC#2 Sl#9 Ch#62 HDC pl#7 [X1] wire#15 +63, 7, 16 !TDC ROC#2 Sl#9 Ch#63 HDC pl#7 [X1] wire#16 +64, 12, 97 !TDC ROC#2 Sl#9 Ch#64 HDC pl#12 [X2] wire#97 +65, 12, 98 !TDC ROC#2 Sl#9 Ch#65 HDC pl#12 [X2] wire#98 +66, 12, 99 !TDC ROC#2 Sl#9 Ch#66 HDC pl#12 [X2] wire#99 +67, 12, 100 !TDC ROC#2 Sl#9 Ch#67 HDC pl#12 [X2] wire#100 +68, 12, 101 !TDC ROC#2 Sl#9 Ch#68 HDC pl#12 [X2] wire#101 +69, 12, 102 !TDC ROC#2 Sl#9 Ch#69 HDC pl#12 [X2] wire#102 +70, 12, 103 !TDC ROC#2 Sl#9 Ch#70 HDC pl#12 [X2] wire#103 +71, 12, 104 !TDC ROC#2 Sl#9 Ch#71 HDC pl#12 [X2] wire#104 +72, 12, 105 !TDC ROC#2 Sl#9 Ch#72 HDC pl#12 [X2] wire#105 +73, 12, 106 !TDC ROC#2 Sl#9 Ch#73 HDC pl#12 [X2] wire#106 +74, 12, 107 !TDC ROC#2 Sl#9 Ch#74 HDC pl#12 [X2] wire#107 +75, 12, 108 !TDC ROC#2 Sl#9 Ch#75 HDC pl#12 [X2] wire#108 +76, 12, 109 !TDC ROC#2 Sl#9 Ch#76 HDC pl#12 [X2] wire#109 +77, 12, 110 !TDC ROC#2 Sl#9 Ch#77 HDC pl#12 [X2] wire#110 +78, 12, 111 !TDC ROC#2 Sl#9 Ch#78 HDC pl#12 [X2] wire#111 +79, 12, 112 !TDC ROC#2 Sl#9 Ch#79 HDC pl#12 [X2] wire#112 +80, 9, 92 !TDC ROC#2 Sl#9 Ch#80 HDC pl#9 [U] wire#92 +81, 9, 93 !TDC ROC#2 Sl#9 Ch#81 HDC pl#9 [U] wire#93 +82, 9, 94 !TDC ROC#2 Sl#9 Ch#82 HDC pl#9 [U] wire#94 +83, 9, 95 !TDC ROC#2 Sl#9 Ch#83 HDC pl#9 [U] wire#95 +84, 9, 96 !TDC ROC#2 Sl#9 Ch#84 HDC pl#9 [U] wire#96 +85, 9, 97 !TDC ROC#2 Sl#9 Ch#85 HDC pl#9 [U] wire#97 +86, 9, 98 !TDC ROC#2 Sl#9 Ch#86 HDC pl#9 [U] wire#98 +87, 9, 99 !TDC ROC#2 Sl#9 Ch#87 HDC pl#9 [U] wire#99 +88, 9, 100 !TDC ROC#2 Sl#9 Ch#88 HDC pl#9 [U] wire#100 +89, 9, 101 !TDC ROC#2 Sl#9 Ch#89 HDC pl#9 [U] wire#101 +90, 9, 102 !TDC ROC#2 Sl#9 Ch#90 HDC pl#9 [U] wire#102 +91, 9, 103 !TDC ROC#2 Sl#9 Ch#91 HDC pl#9 [U] wire#103 +92, 9, 104 !TDC ROC#2 Sl#9 Ch#92 HDC pl#9 [U] wire#104 +93, 9, 105 !TDC ROC#2 Sl#9 Ch#93 HDC pl#9 [U] wire#105 +94, 9, 106 !TDC ROC#2 Sl#9 Ch#94 HDC pl#9 [U] wire#106 +95, 9, 107 !TDC ROC#2 Sl#9 Ch#95 HDC pl#9 [U] wire#107 +! +! +! 2nd HDC chamber planes1-6 +Slot= 15 +0, 1, 1 !TDC ROC#2 Sl#11 Ch#0 HDC pl#7 [X1] wire#1 +1, 1, 2 !TDC ROC#2 Sl#11 Ch#1 HDC pl#7 [X1] wire#2 +2, 1, 3 !TDC ROC#2 Sl#11 Ch#2 HDC pl#7 [X1] wire#3 +3, 1, 4 !TDC ROC#2 Sl#11 Ch#3 HDC pl#7 [X1] wire#4 +4, 1, 5 !TDC ROC#2 Sl#11 Ch#4 HDC pl#7 [X1] wire#5 +5, 1, 6 !TDC ROC#2 Sl#11 Ch#5 HDC pl#7 [X1] wire#6 +6, 1, 7 !TDC ROC#2 Sl#11 Ch#6 HDC pl#7 [X1] wire#7 +7, 1, 8 !TDC ROC#2 Sl#11 Ch#7 HDC pl#7 [X1] wire#8 +8, 1, 9 !TDC ROC#2 Sl#11 Ch#8 HDC pl#7 [X1] wire#9 +9, 1, 10 !TDC ROC#2 Sl#11 Ch#9 HDC pl#7 [X1] wire#10 +10, 1, 11 !TDC ROC#2 Sl#11 Ch#10 HDC pl#7 [X1] wire#11 +11, 1, 12 !TDC ROC#2 Sl#11 Ch#11 HDC pl#7 [X1] wire#12 +12, 1, 13 !TDC ROC#2 Sl#11 Ch#12 HDC pl#7 [X1] wire#13 +13, 1, 14 !TDC ROC#2 Sl#11 Ch#13 HDC pl#7 [X1] wire#14 +14, 1, 15 !TDC ROC#2 Sl#11 Ch#14 HDC pl#7 [X1] wire#15 +15, 1, 16 !TDC ROC#2 Sl#11 Ch#15 HDC pl#7 [X1] wire#16 +16, 1, 17 !TDC ROC#2 Sl#11 Ch#16 HDC pl#7 [X1] wire#17 +17, 1, 18 !TDC ROC#2 Sl#11 Ch#17 HDC pl#7 [X1] wire#18 +18, 1, 19 !TDC ROC#2 Sl#11 Ch#18 HDC pl#7 [X1] wire#19 +19, 1, 20 !TDC ROC#2 Sl#11 Ch#19 HDC pl#7 [X1] wire#20 +20, 1, 21 !TDC ROC#2 Sl#11 Ch#20 HDC pl#7 [X1] wire#21 +21, 1, 22 !TDC ROC#2 Sl#11 Ch#21 HDC pl#7 [X1] wire#22 +22, 1, 23 !TDC ROC#2 Sl#11 Ch#22 HDC pl#7 [X1] wire#23 +23, 1, 24 !TDC ROC#2 Sl#11 Ch#23 HDC pl#7 [X1] wire#24 +24, 1, 25 !TDC ROC#2 Sl#11 Ch#24 HDC pl#7 [X1] wire#25 +25, 1, 26 !TDC ROC#2 Sl#11 Ch#25 HDC pl#7 [X1] wire#26 +26, 1, 27 !TDC ROC#2 Sl#11 Ch#26 HDC pl#7 [X1] wire#27 +27, 1, 28 !TDC ROC#2 Sl#11 Ch#27 HDC pl#7 [X1] wire#28 +28, 1, 29 !TDC ROC#2 Sl#11 Ch#28 HDC pl#7 [X1] wire#29 +29, 1, 30 !TDC ROC#2 Sl#11 Ch#29 HDC pl#7 [X1] wire#30 +30, 1, 31 !TDC ROC#2 Sl#11 Ch#30 HDC pl#7 [X1] wire#31 +31, 1, 32 !TDC ROC#2 Sl#11 Ch#31 HDC pl#7 [X1] wire#32 +32, 1, 33 !TDC ROC#2 Sl#11 Ch#32 HDC pl#7 [X1] wire#33 +33, 1, 34 !TDC ROC#2 Sl#11 Ch#33 HDC pl#7 [X1] wire#34 +34, 1, 35 !TDC ROC#2 Sl#11 Ch#34 HDC pl#7 [X1] wire#35 +35, 1, 36 !TDC ROC#2 Sl#11 Ch#35 HDC pl#7 [X1] wire#36 +36, 1, 37 !TDC ROC#2 Sl#11 Ch#36 HDC pl#7 [X1] wire#37 +37, 1, 38 !TDC ROC#2 Sl#11 Ch#37 HDC pl#7 [X1] wire#38 +38, 1, 39 !TDC ROC#2 Sl#11 Ch#38 HDC pl#7 [X1] wire#39 +39, 1, 40 !TDC ROC#2 Sl#11 Ch#39 HDC pl#7 [X1] wire#40 +40, 1, 41 !TDC ROC#2 Sl#11 Ch#40 HDC pl#7 [X1] wire#41 +41, 1, 42 !TDC ROC#2 Sl#11 Ch#41 HDC pl#7 [X1] wire#42 +42, 1, 43 !TDC ROC#2 Sl#11 Ch#42 HDC pl#7 [X1] wire#43 +43, 1, 44 !TDC ROC#2 Sl#11 Ch#43 HDC pl#7 [X1] wire#44 +44, 1, 45 !TDC ROC#2 Sl#11 Ch#44 HDC pl#7 [X1] wire#45 +45, 1, 46 !TDC ROC#2 Sl#11 Ch#45 HDC pl#7 [X1] wire#46 +46, 1, 47 !TDC ROC#2 Sl#11 Ch#46 HDC pl#7 [X1] wire#47 +47, 1, 48 !TDC ROC#2 Sl#11 Ch#47 HDC pl#7 [X1] wire#48 +48, 1, 49 !TDC ROC#2 Sl#11 Ch#48 HDC pl#7 [X1] wire#49 +49, 1, 50 !TDC ROC#2 Sl#11 Ch#49 HDC pl#7 [X1] wire#50 +50, 1, 51 !TDC ROC#2 Sl#11 Ch#50 HDC pl#7 [X1] wire#51 +51, 1, 52 !TDC ROC#2 Sl#11 Ch#51 HDC pl#7 [X1] wire#52 +52, 1, 53 !TDC ROC#2 Sl#11 Ch#52 HDC pl#7 [X1] wire#53 +53, 1, 54 !TDC ROC#2 Sl#11 Ch#53 HDC pl#7 [X1] wire#54 +54, 1, 55 !TDC ROC#2 Sl#11 Ch#54 HDC pl#7 [X1] wire#55 +55, 1, 56 !TDC ROC#2 Sl#11 Ch#55 HDC pl#7 [X1] wire#56 +56, 1, 57 !TDC ROC#2 Sl#11 Ch#56 HDC pl#7 [X1] wire#57 +57, 1, 58 !TDC ROC#2 Sl#11 Ch#57 HDC pl#7 [X1] wire#58 +58, 1, 59 !TDC ROC#2 Sl#11 Ch#58 HDC pl#7 [X1] wire#59 +59, 1, 60 !TDC ROC#2 Sl#11 Ch#59 HDC pl#7 [X1] wire#60 +60, 1, 61 !TDC ROC#2 Sl#11 Ch#60 HDC pl#7 [X1] wire#61 +61, 1, 62 !TDC ROC#2 Sl#11 Ch#61 HDC pl#7 [X1] wire#62 +62, 1, 63 !TDC ROC#2 Sl#11 Ch#62 HDC pl#7 [X1] wire#63 +63, 1, 64 !TDC ROC#2 Sl#11 Ch#63 HDC pl#7 [X1] wire#64 +64, 1, 65 !TDC ROC#2 Sl#11 Ch#64 HDC pl#7 [X1] wire#65 +65, 1, 66 !TDC ROC#2 Sl#11 Ch#65 HDC pl#7 [X1] wire#66 +66, 1, 67 !TDC ROC#2 Sl#11 Ch#66 HDC pl#7 [X1] wire#67 +67, 1, 68 !TDC ROC#2 Sl#11 Ch#67 HDC pl#7 [X1] wire#68 +68, 1, 69 !TDC ROC#2 Sl#11 Ch#68 HDC pl#7 [X1] wire#69 +69, 1, 70 !TDC ROC#2 Sl#11 Ch#69 HDC pl#7 [X1] wire#70 +70, 1, 71 !TDC ROC#2 Sl#11 Ch#70 HDC pl#7 [X1] wire#71 +71, 1, 72 !TDC ROC#2 Sl#11 Ch#71 HDC pl#7 [X1] wire#72 +72, 1, 73 !TDC ROC#2 Sl#11 Ch#72 HDC pl#7 [X1] wire#73 +73, 1, 74 !TDC ROC#2 Sl#11 Ch#73 HDC pl#7 [X1] wire#74 +74, 1, 75 !TDC ROC#2 Sl#11 Ch#74 HDC pl#7 [X1] wire#75 +75, 1, 76 !TDC ROC#2 Sl#11 Ch#75 HDC pl#7 [X1] wire#76 +76, 1, 77 !TDC ROC#2 Sl#11 Ch#76 HDC pl#7 [X1] wire#77 +77, 1, 78 !TDC ROC#2 Sl#11 Ch#77 HDC pl#7 [X1] wire#78 +78, 1, 79 !TDC ROC#2 Sl#11 Ch#78 HDC pl#7 [X1] wire#79 +79, 1, 80 !TDC ROC#2 Sl#11 Ch#79 HDC pl#7 [X1] wire#80 +80, 1, 81 !TDC ROC#2 Sl#11 Ch#80 HDC pl#7 [X1] wire#81 +81, 1, 82 !TDC ROC#2 Sl#11 Ch#81 HDC pl#7 [X1] wire#82 +82, 1, 83 !TDC ROC#2 Sl#11 Ch#82 HDC pl#7 [X1] wire#83 +83, 1, 84 !TDC ROC#2 Sl#11 Ch#83 HDC pl#7 [X1] wire#84 +84, 1, 85 !TDC ROC#2 Sl#11 Ch#84 HDC pl#7 [X1] wire#85 +85, 1, 86 !TDC ROC#2 Sl#11 Ch#85 HDC pl#7 [X1] wire#86 +86, 1, 87 !TDC ROC#2 Sl#11 Ch#86 HDC pl#7 [X1] wire#87 +87, 1, 88 !TDC ROC#2 Sl#11 Ch#87 HDC pl#7 [X1] wire#88 +88, 1, 89 !TDC ROC#2 Sl#11 Ch#88 HDC pl#7 [X1] wire#89 +89, 1, 90 !TDC ROC#2 Sl#11 Ch#89 HDC pl#7 [X1] wire#90 +90, 1, 91 !TDC ROC#2 Sl#11 Ch#90 HDC pl#7 [X1] wire#91 +91, 1, 92 !TDC ROC#2 Sl#11 Ch#91 HDC pl#7 [X1] wire#92 +92, 1, 93 !TDC ROC#2 Sl#11 Ch#92 HDC pl#7 [X1] wire#93 +93, 1, 94 !TDC ROC#2 Sl#11 Ch#93 HDC pl#7 [X1] wire#94 +94, 1, 95 !TDC ROC#2 Sl#11 Ch#94 HDC pl#7 [X1] wire#95 +95, 1, 96 !TDC ROC#2 Sl#11 Ch#95 HDC pl#7 [X1] wire#96 +Slot= 16 +0, 1, 97 !TDC ROC#2 Sl#12 Ch#0 HDC pl#7 [X1] wire#97 +1, 1, 98 !TDC ROC#2 Sl#12 Ch#1 HDC pl#7 [X1] wire#98 +2, 1, 99 !TDC ROC#2 Sl#12 Ch#2 HDC pl#7 [X1] wire#99 +3, 1, 100 !TDC ROC#2 Sl#12 Ch#3 HDC pl#7 [X1] wire#100 +4, 1, 101 !TDC ROC#2 Sl#12 Ch#4 HDC pl#7 [X1] wire#101 +5, 1, 102 !TDC ROC#2 Sl#12 Ch#5 HDC pl#7 [X1] wire#102 +6, 1, 103 !TDC ROC#2 Sl#12 Ch#6 HDC pl#7 [X1] wire#103 +7, 1, 104 !TDC ROC#2 Sl#12 Ch#7 HDC pl#7 [X1] wire#104 +8, 1, 105 !TDC ROC#2 Sl#12 Ch#8 HDC pl#7 [X1] wire#105 +9, 1, 106 !TDC ROC#2 Sl#12 Ch#9 HDC pl#7 [X1] wire#106 +10, 1, 107 !TDC ROC#2 Sl#12 Ch#10 HDC pl#7 [X1] wire#107 +11, 1, 108 !TDC ROC#2 Sl#12 Ch#11 HDC pl#7 [X1] wire#108 +12, 1, 109 !TDC ROC#2 Sl#12 Ch#12 HDC pl#7 [X1] wire#109 +13, 1, 110 !TDC ROC#2 Sl#12 Ch#13 HDC pl#7 [X1] wire#110 +14, 1, 111 !TDC ROC#2 Sl#12 Ch#14 HDC pl#7 [X1] wire#111 +15, 1, 112 !TDC ROC#2 Sl#12 Ch#15 HDC pl#7 [X1] wire#112 +16, 2, 1 !TDC ROC#2 Sl#12 Ch#16 HDC pl#8 [Y1] wire#1 +17, 2, 2 !TDC ROC#2 Sl#12 Ch#17 HDC pl#8 [Y1] wire#2 +18, 2, 3 !TDC ROC#2 Sl#12 Ch#18 HDC pl#8 [Y1] wire#3 +19, 2, 4 !TDC ROC#2 Sl#12 Ch#19 HDC pl#8 [Y1] wire#4 +20, 2, 5 !TDC ROC#2 Sl#12 Ch#20 HDC pl#8 [Y1] wire#5 +21, 2, 6 !TDC ROC#2 Sl#12 Ch#21 HDC pl#8 [Y1] wire#6 +22, 2, 7 !TDC ROC#2 Sl#12 Ch#22 HDC pl#8 [Y1] wire#7 +23, 2, 8 !TDC ROC#2 Sl#12 Ch#23 HDC pl#8 [Y1] wire#8 +24, 2, 9 !TDC ROC#2 Sl#12 Ch#24 HDC pl#8 [Y1] wire#9 +25, 2, 10 !TDC ROC#2 Sl#12 Ch#25 HDC pl#8 [Y1] wire#10 +26, 2, 11 !TDC ROC#2 Sl#12 Ch#26 HDC pl#8 [Y1] wire#11 +27, 2, 12 !TDC ROC#2 Sl#12 Ch#27 HDC pl#8 [Y1] wire#12 +28, 2, 13 !TDC ROC#2 Sl#12 Ch#28 HDC pl#8 [Y1] wire#13 +! 29 !TDC ROC#2 Sl#12 Ch#29 unused +! 30 !TDC ROC#2 Sl#12 Ch#30 unused +! 31 !TDC ROC#2 Sl#12 Ch#31 unused +32, 2, 14 !TDC ROC#2 Sl#12 Ch#32 HDC pl#8 [Y1] wire#14 +33, 2, 15 !TDC ROC#2 Sl#12 Ch#33 HDC pl#8 [Y1] wire#15 +34, 2, 16 !TDC ROC#2 Sl#12 Ch#34 HDC pl#8 [Y1] wire#16 +35, 2, 17 !TDC ROC#2 Sl#12 Ch#35 HDC pl#8 [Y1] wire#17 +36, 2, 18 !TDC ROC#2 Sl#12 Ch#36 HDC pl#8 [Y1] wire#18 +37, 2, 19 !TDC ROC#2 Sl#12 Ch#37 HDC pl#8 [Y1] wire#19 +38, 2, 20 !TDC ROC#2 Sl#12 Ch#38 HDC pl#8 [Y1] wire#20 +39, 2, 21 !TDC ROC#2 Sl#12 Ch#39 HDC pl#8 [Y1] wire#21 +40, 2, 22 !TDC ROC#2 Sl#12 Ch#40 HDC pl#8 [Y1] wire#22 +41, 2, 23 !TDC ROC#2 Sl#12 Ch#41 HDC pl#8 [Y1] wire#23 +42, 2, 24 !TDC ROC#2 Sl#12 Ch#42 HDC pl#8 [Y1] wire#24 +43, 2, 25 !TDC ROC#2 Sl#12 Ch#43 HDC pl#8 [Y1] wire#25 +44, 2, 26 !TDC ROC#2 Sl#12 Ch#44 HDC pl#8 [Y1] wire#26 +! 45 !TDC ROC#2 Sl#12 Ch#45 unused +! 46 !TDC ROC#2 Sl#12 Ch#46 unused +! 47 !TDC ROC#2 Sl#12 Ch#47 unused +48, 2, 27 !TDC ROC#2 Sl#12 Ch#48 HDC pl#8 [Y1] wire#27 +49, 2, 28 !TDC ROC#2 Sl#12 Ch#49 HDC pl#8 [Y1] wire#28 +50, 2, 29 !TDC ROC#2 Sl#12 Ch#50 HDC pl#8 [Y1] wire#29 +51, 2, 30 !TDC ROC#2 Sl#12 Ch#51 HDC pl#8 [Y1] wire#30 +52, 2, 31 !TDC ROC#2 Sl#12 Ch#52 HDC pl#8 [Y1] wire#31 +53, 2, 32 !TDC ROC#2 Sl#12 Ch#53 HDC pl#8 [Y1] wire#32 +54, 2, 33 !TDC ROC#2 Sl#12 Ch#54 HDC pl#8 [Y1] wire#33 +55, 2, 34 !TDC ROC#2 Sl#12 Ch#55 HDC pl#8 [Y1] wire#34 +56, 2, 35 !TDC ROC#2 Sl#12 Ch#56 HDC pl#8 [Y1] wire#35 +57, 2, 36 !TDC ROC#2 Sl#12 Ch#57 HDC pl#8 [Y1] wire#36 +58, 2, 37 !TDC ROC#2 Sl#12 Ch#58 HDC pl#8 [Y1] wire#37 +59, 2, 38 !TDC ROC#2 Sl#12 Ch#59 HDC pl#8 [Y1] wire#38 +60, 2, 39 !TDC ROC#2 Sl#12 Ch#60 HDC pl#8 [Y1] wire#39 +! 61 !TDC ROC#2 Sl#12 Ch#61 unused +! 62 !TDC ROC#2 Sl#12 Ch#62 unused +! 63 !TDC ROC#2 Sl#12 Ch#63 unused +64, 2, 40 !TDC ROC#2 Sl#12 Ch#64 HDC pl#8 [Y1] wire#40 +65, 2, 41 !TDC ROC#2 Sl#12 Ch#65 HDC pl#8 [Y1] wire#41 +66, 2, 42 !TDC ROC#2 Sl#12 Ch#66 HDC pl#8 [Y1] wire#42 +67, 2, 43 !TDC ROC#2 Sl#12 Ch#67 HDC pl#8 [Y1] wire#43 +68, 2, 44 !TDC ROC#2 Sl#12 Ch#68 HDC pl#8 [Y1] wire#44 +69, 2, 45 !TDC ROC#2 Sl#12 Ch#69 HDC pl#8 [Y1] wire#45 +70, 2, 46 !TDC ROC#2 Sl#12 Ch#70 HDC pl#8 [Y1] wire#46 +71, 2, 47 !TDC ROC#2 Sl#12 Ch#71 HDC pl#8 [Y1] wire#47 +72, 2, 48 !TDC ROC#2 Sl#12 Ch#72 HDC pl#8 [Y1] wire#48 +73, 2, 49 !TDC ROC#2 Sl#12 Ch#73 HDC pl#8 [Y1] wire#49 +74, 2, 50 !TDC ROC#2 Sl#12 Ch#74 HDC pl#8 [Y1] wire#50 +75, 2, 51 !TDC ROC#2 Sl#12 Ch#75 HDC pl#8 [Y1] wire#51 +76, 2, 52 !TDC ROC#2 Sl#12 Ch#76 HDC pl#8 [Y1] wire#52 +! 77 !TDC ROC#2 Sl#12 Ch#77 unused +! 78 !TDC ROC#2 Sl#12 Ch#78 unused +! 79 !TDC ROC#2 Sl#12 Ch#79 unused +80, 1, 113 !TDC ROC#2 Sl#12 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#12 Ch#81 unused +82, 3, 1 !TDC ROC#2 Sl#12 Ch#82 HDC pl#9 [U] wire#1 +83, 3, 2 !TDC ROC#2 Sl#12 Ch#83 HDC pl#9 [U] wire#2 +84, 3, 3 !TDC ROC#2 Sl#12 Ch#84 HDC pl#9 [U] wire#3 +85, 3, 4 !TDC ROC#2 Sl#12 Ch#85 HDC pl#9 [U] wire#4 +86, 3, 5 !TDC ROC#2 Sl#12 Ch#86 HDC pl#9 [U] wire#5 +87, 3, 6 !TDC ROC#2 Sl#12 Ch#87 HDC pl#9 [U] wire#6 +88, 3, 7 !TDC ROC#2 Sl#12 Ch#88 HDC pl#9 [U] wire#7 +89, 3, 8 !TDC ROC#2 Sl#12 Ch#89 HDC pl#9 [U] wire#8 +90, 3, 9 !TDC ROC#2 Sl#12 Ch#90 HDC pl#9 [U] wire#9 +91, 3, 10 !TDC ROC#2 Sl#12 Ch#91 HDC pl#9 [U] wire#10 +92, 3, 11 !TDC ROC#2 Sl#12 Ch#92 HDC pl#9 [U] wire#11 +93, 3, 12 !TDC ROC#2 Sl#12 Ch#93 HDC pl#9 [U] wire#12 +94, 3, 13 !TDC ROC#2 Sl#12 Ch#94 HDC pl#9 [U] wire#13 +95, 3, 14 !TDC ROC#2 Sl#12 Ch#95 HDC pl#9 [U] wire#14 +Slot= 18 +0, 3, 15 !TDC ROC#2 Sl#14 Ch#0 HDC pl#9 [U] wire#15 +1, 3, 16 !TDC ROC#2 Sl#14 Ch#1 HDC pl#9 [U] wire#16 +2, 3, 17 !TDC ROC#2 Sl#14 Ch#2 HDC pl#9 [U] wire#17 +3, 3, 18 !TDC ROC#2 Sl#14 Ch#3 HDC pl#9 [U] wire#18 +4, 3, 19 !TDC ROC#2 Sl#14 Ch#4 HDC pl#9 [U] wire#19 +5, 3, 20 !TDC ROC#2 Sl#14 Ch#5 HDC pl#9 [U] wire#20 +6, 3, 21 !TDC ROC#2 Sl#14 Ch#6 HDC pl#9 [U] wire#21 +7, 3, 22 !TDC ROC#2 Sl#14 Ch#7 HDC pl#9 [U] wire#22 +8, 3, 23 !TDC ROC#2 Sl#14 Ch#8 HDC pl#9 [U] wire#23 +9, 3, 24 !TDC ROC#2 Sl#14 Ch#9 HDC pl#9 [U] wire#24 +10, 3, 25 !TDC ROC#2 Sl#14 Ch#10 HDC pl#9 [U] wire#25 +11, 3, 26 !TDC ROC#2 Sl#14 Ch#11 HDC pl#9 [U] wire#26 +12, 3, 27 !TDC ROC#2 Sl#14 Ch#12 HDC pl#9 [U] wire#27 +13, 3, 28 !TDC ROC#2 Sl#14 Ch#13 HDC pl#9 [U] wire#28 +14, 3, 29 !TDC ROC#2 Sl#14 Ch#14 HDC pl#9 [U] wire#29 +! 15 !TDC ROC#2 Sl#14 Ch#15 unused +16, 3, 30 !TDC ROC#2 Sl#14 Ch#16 HDC pl#9 [U] wire#30 +17, 3, 31 !TDC ROC#2 Sl#14 Ch#17 HDC pl#9 [U] wire#31 +18, 3, 32 !TDC ROC#2 Sl#14 Ch#18 HDC pl#9 [U] wire#32 +19, 3, 33 !TDC ROC#2 Sl#14 Ch#19 HDC pl#9 [U] wire#33 +20, 3, 34 !TDC ROC#2 Sl#14 Ch#20 HDC pl#9 [U] wire#34 +21, 3, 35 !TDC ROC#2 Sl#14 Ch#21 HDC pl#9 [U] wire#35 +22, 3, 36 !TDC ROC#2 Sl#14 Ch#22 HDC pl#9 [U] wire#36 +23, 3, 37 !TDC ROC#2 Sl#14 Ch#23 HDC pl#9 [U] wire#37 +24, 3, 38 !TDC ROC#2 Sl#14 Ch#24 HDC pl#9 [U] wire#38 +25, 3, 39 !TDC ROC#2 Sl#14 Ch#25 HDC pl#9 [U] wire#39 +26, 3, 40 !TDC ROC#2 Sl#14 Ch#26 HDC pl#9 [U] wire#40 +27, 3, 41 !TDC ROC#2 Sl#14 Ch#27 HDC pl#9 [U] wire#41 +28, 3, 42 !TDC ROC#2 Sl#14 Ch#28 HDC pl#9 [U] wire#42 +29, 3, 43 !TDC ROC#2 Sl#14 Ch#29 HDC pl#9 [U] wire#43 +30, 3, 44 !TDC ROC#2 Sl#14 Ch#30 HDC pl#9 [U] wire#44 +31, 3, 45 !TDC ROC#2 Sl#14 Ch#31 HDC pl#9 [U] wire#45 +32, 3, 46 !TDC ROC#2 Sl#14 Ch#32 HDC pl#9 [U] wire#46 +33, 3, 47 !TDC ROC#2 Sl#14 Ch#33 HDC pl#9 [U] wire#47 +34, 3, 48 !TDC ROC#2 Sl#14 Ch#34 HDC pl#9 [U] wire#48 +35, 3, 49 !TDC ROC#2 Sl#14 Ch#35 HDC pl#9 [U] wire#49 +36, 3, 50 !TDC ROC#2 Sl#14 Ch#36 HDC pl#9 [U] wire#50 +37, 3, 51 !TDC ROC#2 Sl#14 Ch#37 HDC pl#9 [U] wire#51 +38, 3, 52 !TDC ROC#2 Sl#14 Ch#38 HDC pl#9 [U] wire#52 +39, 3, 53 !TDC ROC#2 Sl#14 Ch#39 HDC pl#9 [U] wire#53 +40, 3, 54 !TDC ROC#2 Sl#14 Ch#40 HDC pl#9 [U] wire#54 +41, 3, 55 !TDC ROC#2 Sl#14 Ch#41 HDC pl#9 [U] wire#55 +42, 3, 56 !TDC ROC#2 Sl#14 Ch#42 HDC pl#9 [U] wire#56 +43, 3, 57 !TDC ROC#2 Sl#14 Ch#43 HDC pl#9 [U] wire#57 +44, 3, 58 !TDC ROC#2 Sl#14 Ch#44 HDC pl#9 [U] wire#58 +45, 3, 59 !TDC ROC#2 Sl#14 Ch#45 HDC pl#9 [U] wire#59 +46, 3, 60 !TDC ROC#2 Sl#14 Ch#46 HDC pl#9 [U] wire#60 +! 47 !TDC ROC#2 Sl#14 Ch#47 unused +48, 3, 61 !TDC ROC#2 Sl#14 Ch#48 HDC pl#9 [U] wire#61 +49, 3, 62 !TDC ROC#2 Sl#14 Ch#49 HDC pl#9 [U] wire#62 +50, 3, 63 !TDC ROC#2 Sl#14 Ch#50 HDC pl#9 [U] wire#63 +51, 3, 64 !TDC ROC#2 Sl#14 Ch#51 HDC pl#9 [U] wire#64 +52, 3, 65 !TDC ROC#2 Sl#14 Ch#52 HDC pl#9 [U] wire#65 +53, 3, 66 !TDC ROC#2 Sl#14 Ch#53 HDC pl#9 [U] wire#66 +54, 3, 67 !TDC ROC#2 Sl#14 Ch#54 HDC pl#9 [U] wire#67 +55, 3, 68 !TDC ROC#2 Sl#14 Ch#55 HDC pl#9 [U] wire#68 +56, 3, 69 !TDC ROC#2 Sl#14 Ch#56 HDC pl#9 [U] wire#69 +57, 3, 70 !TDC ROC#2 Sl#14 Ch#57 HDC pl#9 [U] wire#70 +58, 3, 71 !TDC ROC#2 Sl#14 Ch#58 HDC pl#9 [U] wire#71 +59, 3, 72 !TDC ROC#2 Sl#14 Ch#59 HDC pl#9 [U] wire#72 +60, 3, 73 !TDC ROC#2 Sl#14 Ch#60 HDC pl#9 [U] wire#73 +61, 3, 74 !TDC ROC#2 Sl#14 Ch#61 HDC pl#9 [U] wire#74 +62, 3, 75 !TDC ROC#2 Sl#14 Ch#62 HDC pl#9 [U] wire#75 +63, 3, 76 !TDC ROC#2 Sl#14 Ch#63 HDC pl#9 [U] wire#76 +64, 3, 77 !TDC ROC#2 Sl#14 Ch#64 HDC pl#9 [U] wire#77 +65, 3, 78 !TDC ROC#2 Sl#14 Ch#65 HDC pl#9 [U] wire#78 +66, 3, 79 !TDC ROC#2 Sl#14 Ch#66 HDC pl#9 [U] wire#79 +67, 3, 80 !TDC ROC#2 Sl#14 Ch#67 HDC pl#9 [U] wire#80 +68, 3, 81 !TDC ROC#2 Sl#14 Ch#68 HDC pl#9 [U] wire#81 +69, 3, 82 !TDC ROC#2 Sl#14 Ch#69 HDC pl#9 [U] wire#82 +70, 3, 83 !TDC ROC#2 Sl#14 Ch#70 HDC pl#9 [U] wire#83 +71, 3, 84 !TDC ROC#2 Sl#14 Ch#71 HDC pl#9 [U] wire#84 +72, 3, 85 !TDC ROC#2 Sl#14 Ch#72 HDC pl#9 [U] wire#85 +73, 3, 86 !TDC ROC#2 Sl#14 Ch#73 HDC pl#9 [U] wire#86 +74, 3, 87 !TDC ROC#2 Sl#14 Ch#74 HDC pl#9 [U] wire#87 +75, 3, 88 !TDC ROC#2 Sl#14 Ch#75 HDC pl#9 [U] wire#88 +76, 3, 89 !TDC ROC#2 Sl#14 Ch#76 HDC pl#9 [U] wire#89 +77, 3, 90 !TDC ROC#2 Sl#14 Ch#77 HDC pl#9 [U] wire#90 +78, 3, 91 !TDC ROC#2 Sl#14 Ch#78 HDC pl#9 [U] wire#91 +!79, !unused +80, 3, 92 !TDC ROC#2 Sl#14 Ch#80 HDC pl#9 [U] wire#92 +81, 3, 93 !TDC ROC#2 Sl#14 Ch#81 HDC pl#9 [U] wire#93 +82, 3, 94 !TDC ROC#2 Sl#14 Ch#82 HDC pl#9 [U] wire#94 +83, 3, 95 !TDC ROC#2 Sl#14 Ch#83 HDC pl#9 [U] wire#95 +84, 3, 96 !TDC ROC#2 Sl#14 Ch#84 HDC pl#9 [U] wire#96 +85, 3, 97 !TDC ROC#2 Sl#14 Ch#85 HDC pl#9 [U] wire#97 +86, 3, 98 !TDC ROC#2 Sl#14 Ch#86 HDC pl#9 [U] wire#98 +87, 3, 99 !TDC ROC#2 Sl#14 Ch#87 HDC pl#9 [U] wire#99 +88, 3, 100 !TDC ROC#2 Sl#14 Ch#88 HDC pl#9 [U] wire#100 +89, 3, 101 !TDC ROC#2 Sl#14 Ch#89 HDC pl#9 [U] wire#101 +90, 3, 102 !TDC ROC#2 Sl#14 Ch#90 HDC pl#9 [U] wire#102 +91, 3, 103 !TDC ROC#2 Sl#14 Ch#91 HDC pl#9 [U] wire#103 +92, 3, 104 !TDC ROC#2 Sl#14 Ch#92 HDC pl#9 [U] wire#104 +93, 3, 105 !TDC ROC#2 Sl#14 Ch#93 HDC pl#9 [U] wire#105 +94, 3, 106 !TDC ROC#2 Sl#14 Ch#94 HDC pl#9 [U] wire#106 +95, 3, 107 !TDC ROC#2 Sl#14 Ch#95 HDC pl#9 [U] wire#107 +Slot= 19 +0, 6, 113 !TDC ROC#2 Sl#15 Ch#0 HDC pl#12 [X2] wire#113 +!1, !unused +2, 4, 1 !TDC ROC#2 Sl#15 Ch#2 HDC pl#10 [V] wire#1 +3, 4, 2 !TDC ROC#2 Sl#15 Ch#3 HDC pl#10 [V] wire#2 +4, 4, 3 !TDC ROC#2 Sl#15 Ch#4 HDC pl#10 [V] wire#3 +5, 4, 4 !TDC ROC#2 Sl#15 Ch#5 HDC pl#10 [V] wire#4 +6, 4, 5 !TDC ROC#2 Sl#15 Ch#6 HDC pl#10 [V] wire#5 +7, 4, 6 !TDC ROC#2 Sl#15 Ch#7 HDC pl#10 [V] wire#6 +8, 4, 7 !TDC ROC#2 Sl#15 Ch#8 HDC pl#10 [V] wire#7 +9, 4, 8 !TDC ROC#2 Sl#15 Ch#9 HDC pl#10 [V] wire#8 +10, 4, 9 !TDC ROC#2 Sl#15 Ch#10 HDC pl#10 [V] wire#9 +11, 4, 10 !TDC ROC#2 Sl#15 Ch#11 HDC pl#10 [V] wire#10 +12, 4, 11 !TDC ROC#2 Sl#15 Ch#12 HDC pl#10 [V] wire#11 +13, 4, 12 !TDC ROC#2 Sl#15 Ch#13 HDC pl#10 [V] wire#12 +14, 4, 13 !TDC ROC#2 Sl#15 Ch#14 HDC pl#10 [V] wire#13 +15, 4, 14 !TDC ROC#2 Sl#15 Ch#15 HDC pl#10 [V] wire#14 +16, 4, 15 !TDC ROC#2 Sl#15 Ch#16 HDC pl#10 [V] wire#15 +17, 4, 16 !TDC ROC#2 Sl#15 Ch#17 HDC pl#10 [V] wire#16 +18, 4, 17 !TDC ROC#2 Sl#15 Ch#18 HDC pl#10 [V] wire#17 +19, 4, 18 !TDC ROC#2 Sl#15 Ch#19 HDC pl#10 [V] wire#18 +20, 4, 19 !TDC ROC#2 Sl#15 Ch#20 HDC pl#10 [V] wire#19 +21, 4, 20 !TDC ROC#2 Sl#15 Ch#21 HDC pl#10 [V] wire#20 +22, 4, 21 !TDC ROC#2 Sl#15 Ch#22 HDC pl#10 [V] wire#21 +23, 4, 22 !TDC ROC#2 Sl#15 Ch#23 HDC pl#10 [V] wire#22 +24, 4, 23 !TDC ROC#2 Sl#15 Ch#24 HDC pl#10 [V] wire#23 +25, 4, 24 !TDC ROC#2 Sl#15 Ch#25 HDC pl#10 [V] wire#24 +26, 4, 25 !TDC ROC#2 Sl#15 Ch#26 HDC pl#10 [V] wire#25 +27, 4, 26 !TDC ROC#2 Sl#15 Ch#27 HDC pl#10 [V] wire#26 +28, 4, 27 !TDC ROC#2 Sl#15 Ch#28 HDC pl#10 [V] wire#27 +29, 4, 28 !TDC ROC#2 Sl#15 Ch#29 HDC pl#10 [V] wire#28 +30, 4, 29 !TDC ROC#2 Sl#15 Ch#30 HDC pl#10 [V] wire#29 +! 31 !TDC ROC#2 Sl#15 Ch#31 unused +32, 4, 30 !TDC ROC#2 Sl#15 Ch#32 HDC pl#10 [V] wire#30 +33, 4, 31 !TDC ROC#2 Sl#15 Ch#33 HDC pl#10 [V] wire#31 +34, 4, 32 !TDC ROC#2 Sl#15 Ch#34 HDC pl#10 [V] wire#32 +35, 4, 33 !TDC ROC#2 Sl#15 Ch#35 HDC pl#10 [V] wire#33 +36, 4, 34 !TDC ROC#2 Sl#15 Ch#36 HDC pl#10 [V] wire#34 +37, 4, 35 !TDC ROC#2 Sl#15 Ch#37 HDC pl#10 [V] wire#35 +38, 4, 36 !TDC ROC#2 Sl#15 Ch#38 HDC pl#10 [V] wire#36 +39, 4, 37 !TDC ROC#2 Sl#15 Ch#39 HDC pl#10 [V] wire#37 +40, 4, 38 !TDC ROC#2 Sl#15 Ch#40 HDC pl#10 [V] wire#38 +41, 4, 39 !TDC ROC#2 Sl#15 Ch#41 HDC pl#10 [V] wire#39 +42, 4, 40 !TDC ROC#2 Sl#15 Ch#42 HDC pl#10 [V] wire#40 +43, 4, 41 !TDC ROC#2 Sl#15 Ch#43 HDC pl#10 [V] wire#41 +44, 4, 42 !TDC ROC#2 Sl#15 Ch#44 HDC pl#10 [V] wire#42 +45, 4, 43 !TDC ROC#2 Sl#15 Ch#45 HDC pl#10 [V] wire#43 +46, 4, 44 !TDC ROC#2 Sl#15 Ch#46 HDC pl#10 [V] wire#44 +47, 4, 45 !TDC ROC#2 Sl#15 Ch#47 HDC pl#10 [V] wire#45 +48, 4, 46 !TDC ROC#2 Sl#15 Ch#48 HDC pl#10 [V] wire#46 +49, 4, 47 !TDC ROC#2 Sl#15 Ch#49 HDC pl#10 [V] wire#47 +50, 4, 48 !TDC ROC#2 Sl#15 Ch#50 HDC pl#10 [V] wire#48 +51, 4, 49 !TDC ROC#2 Sl#15 Ch#51 HDC pl#10 [V] wire#49 +52, 4, 50 !TDC ROC#2 Sl#15 Ch#52 HDC pl#10 [V] wire#50 +53, 4, 51 !TDC ROC#2 Sl#15 Ch#53 HDC pl#10 [V] wire#51 +54, 4, 52 !TDC ROC#2 Sl#15 Ch#54 HDC pl#10 [V] wire#52 +55, 4, 53 !TDC ROC#2 Sl#15 Ch#55 HDC pl#10 [V] wire#53 +56, 4, 54 !TDC ROC#2 Sl#15 Ch#56 HDC pl#10 [V] wire#54 +57, 4, 55 !TDC ROC#2 Sl#15 Ch#57 HDC pl#10 [V] wire#55 +58, 4, 56 !TDC ROC#2 Sl#15 Ch#58 HDC pl#10 [V] wire#56 +59, 4, 57 !TDC ROC#2 Sl#15 Ch#59 HDC pl#10 [V] wire#57 +60, 4, 58 !TDC ROC#2 Sl#15 Ch#60 HDC pl#10 [V] wire#58 +61, 4, 59 !TDC ROC#2 Sl#15 Ch#61 HDC pl#10 [V] wire#59 +62, 4, 60 !TDC ROC#2 Sl#15 Ch#62 HDC pl#10 [V] wire#60 +! 63 !TDC ROC#2 Sl#15 Ch#63 unused +64, 4, 61 !TDC ROC#2 Sl#15 Ch#64 HDC pl#10 [V] wire#61 +65, 4, 62 !TDC ROC#2 Sl#15 Ch#65 HDC pl#10 [V] wire#62 +66, 4, 63 !TDC ROC#2 Sl#15 Ch#66 HDC pl#10 [V] wire#63 +67, 4, 64 !TDC ROC#2 Sl#15 Ch#67 HDC pl#10 [V] wire#64 +68, 4, 65 !TDC ROC#2 Sl#15 Ch#68 HDC pl#10 [V] wire#65 +69, 4, 66 !TDC ROC#2 Sl#15 Ch#69 HDC pl#10 [V] wire#66 +70, 4, 67 !TDC ROC#2 Sl#15 Ch#70 HDC pl#10 [V] wire#67 +71, 4, 68 !TDC ROC#2 Sl#15 Ch#71 HDC pl#10 [V] wire#68 +72, 4, 69 !TDC ROC#2 Sl#15 Ch#72 HDC pl#10 [V] wire#69 +73, 4, 70 !TDC ROC#2 Sl#15 Ch#73 HDC pl#10 [V] wire#70 +74, 4, 71 !TDC ROC#2 Sl#15 Ch#74 HDC pl#10 [V] wire#71 +75, 4, 72 !TDC ROC#2 Sl#15 Ch#75 HDC pl#10 [V] wire#72 +76, 4, 73 !TDC ROC#2 Sl#15 Ch#76 HDC pl#10 [V] wire#73 +77, 4, 74 !TDC ROC#2 Sl#15 Ch#77 HDC pl#10 [V] wire#74 +78, 4, 75 !TDC ROC#2 Sl#15 Ch#78 HDC pl#10 [V] wire#75 +79, 4, 76 !TDC ROC#2 Sl#15 Ch#79 HDC pl#10 [V] wire#76 +80, 4, 77 !TDC ROC#2 Sl#15 Ch#80 HDC pl#10 [V] wire#77 +81, 4, 78 !TDC ROC#2 Sl#15 Ch#81 HDC pl#10 [V] wire#78 +82, 4, 79 !TDC ROC#2 Sl#15 Ch#82 HDC pl#10 [V] wire#79 +83, 4, 80 !TDC ROC#2 Sl#15 Ch#83 HDC pl#10 [V] wire#80 +84, 4, 81 !TDC ROC#2 Sl#15 Ch#84 HDC pl#10 [V] wire#81 +85, 4, 82 !TDC ROC#2 Sl#15 Ch#85 HDC pl#10 [V] wire#82 +86, 4, 83 !TDC ROC#2 Sl#15 Ch#86 HDC pl#10 [V] wire#83 +87, 4, 84 !TDC ROC#2 Sl#15 Ch#87 HDC pl#10 [V] wire#84 +88, 4, 85 !TDC ROC#2 Sl#15 Ch#88 HDC pl#10 [V] wire#85 +89, 4, 86 !TDC ROC#2 Sl#15 Ch#89 HDC pl#10 [V] wire#86 +90, 4, 87 !TDC ROC#2 Sl#15 Ch#90 HDC pl#10 [V] wire#87 +91, 4, 88 !TDC ROC#2 Sl#15 Ch#91 HDC pl#10 [V] wire#88 +92, 4, 89 !TDC ROC#2 Sl#15 Ch#92 HDC pl#10 [V] wire#89 +93, 4, 90 !TDC ROC#2 Sl#15 Ch#93 HDC pl#10 [V] wire#90 +94, 4, 91 !TDC ROC#2 Sl#15 Ch#94 HDC pl#10 [V] wire#91 +! 95 !TDC ROC#2 Sl#15 Ch#95 unused +Slot= 21 +0, 4, 92 !TDC ROC#2 Sl#17 Ch#0 HDC pl#10 [V] wire#92 +1, 4, 93 !TDC ROC#2 Sl#17 Ch#1 HDC pl#10 [V] wire#93 +2, 4, 94 !TDC ROC#2 Sl#17 Ch#2 HDC pl#10 [V] wire#94 +3, 4, 95 !TDC ROC#2 Sl#17 Ch#3 HDC pl#10 [V] wire#95 +4, 4, 96 !TDC ROC#2 Sl#17 Ch#4 HDC pl#10 [V] wire#96 +5, 4, 97 !TDC ROC#2 Sl#17 Ch#5 HDC pl#10 [V] wire#97 +6, 4, 98 !TDC ROC#2 Sl#17 Ch#6 HDC pl#10 [V] wire#98 +7, 4, 99 !TDC ROC#2 Sl#17 Ch#7 HDC pl#10 [V] wire#99 +8, 4, 100 !TDC ROC#2 Sl#17 Ch#8 HDC pl#10 [V] wire#100 +9, 4, 101 !TDC ROC#2 Sl#17 Ch#9 HDC pl#10 [V] wire#101 +10, 4, 102 !TDC ROC#2 Sl#17 Ch#10 HDC pl#10 [V] wire#102 +11, 4, 103 !TDC ROC#2 Sl#17 Ch#11 HDC pl#10 [V] wire#103 +12, 4, 104 !TDC ROC#2 Sl#17 Ch#12 HDC pl#10 [V] wire#104 +13, 4, 105 !TDC ROC#2 Sl#17 Ch#13 HDC pl#10 [V] wire#105 +14, 4, 106 !TDC ROC#2 Sl#17 Ch#14 HDC pl#10 [V] wire#106 +15, 4, 107 !TDC ROC#2 Sl#17 Ch#15 HDC pl#10 [V] wire#107 +16, 5, 1 !TDC ROC#2 Sl#17 Ch#16 HDC pl#11 [Y2] wire#1 +17, 5, 2 !TDC ROC#2 Sl#17 Ch#17 HDC pl#11 [Y2] wire#2 +18, 5, 3 !TDC ROC#2 Sl#17 Ch#18 HDC pl#11 [Y2] wire#3 +19, 5, 4 !TDC ROC#2 Sl#17 Ch#19 HDC pl#11 [Y2] wire#4 +20, 5, 5 !TDC ROC#2 Sl#17 Ch#20 HDC pl#11 [Y2] wire#5 +21, 5, 6 !TDC ROC#2 Sl#17 Ch#21 HDC pl#11 [Y2] wire#6 +22, 5, 7 !TDC ROC#2 Sl#17 Ch#22 HDC pl#11 [Y2] wire#7 +23, 5, 8 !TDC ROC#2 Sl#17 Ch#23 HDC pl#11 [Y2] wire#8 +24, 5, 9 !TDC ROC#2 Sl#17 Ch#24 HDC pl#11 [Y2] wire#9 +25, 5, 10 !TDC ROC#2 Sl#17 Ch#25 HDC pl#11 [Y2] wire#10 +26, 5, 11 !TDC ROC#2 Sl#17 Ch#26 HDC pl#11 [Y2] wire#11 +27, 5, 12 !TDC ROC#2 Sl#17 Ch#27 HDC pl#11 [Y2] wire#12 +28, 5, 13 !TDC ROC#2 Sl#17 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#17 Ch#29 unused +! 30 !TDC ROC#2 Sl#17 Ch#30 unused +! 31 !TDC ROC#2 Sl#17 Ch#31 unused +32, 5, 14 !TDC ROC#2 Sl#17 Ch#32 HDC pl#11 [Y2] wire#14 +33, 5, 15 !TDC ROC#2 Sl#17 Ch#33 HDC pl#11 [Y2] wire#15 +34, 5, 16 !TDC ROC#2 Sl#17 Ch#34 HDC pl#11 [Y2] wire#16 +35, 5, 17 !TDC ROC#2 Sl#17 Ch#35 HDC pl#11 [Y2] wire#17 +36, 5, 18 !TDC ROC#2 Sl#17 Ch#36 HDC pl#11 [Y2] wire#18 +37, 5, 19 !TDC ROC#2 Sl#17 Ch#37 HDC pl#11 [Y2] wire#19 +38, 5, 20 !TDC ROC#2 Sl#17 Ch#38 HDC pl#11 [Y2] wire#20 +39, 5, 21 !TDC ROC#2 Sl#17 Ch#39 HDC pl#11 [Y2] wire#21 +40, 5, 22 !TDC ROC#2 Sl#17 Ch#40 HDC pl#11 [Y2] wire#22 +41, 5, 23 !TDC ROC#2 Sl#17 Ch#41 HDC pl#11 [Y2] wire#23 +42, 5, 24 !TDC ROC#2 Sl#17 Ch#42 HDC pl#11 [Y2] wire#24 +43, 5, 25 !TDC ROC#2 Sl#17 Ch#43 HDC pl#11 [Y2] wire#25 +44, 5, 26 !TDC ROC#2 Sl#17 Ch#44 HDC pl#11 [Y2] wire#26 +! 45 !TDC ROC#2 Sl#17 Ch#45 unused +! 46 !TDC ROC#2 Sl#17 Ch#46 unused +! 47 !TDC ROC#2 Sl#17 Ch#47 unused +48, 5, 27 !TDC ROC#2 Sl#17 Ch#48 HDC pl#11 [Y2] wire#27 +49, 5, 28 !TDC ROC#2 Sl#17 Ch#49 HDC pl#11 [Y2] wire#28 +50, 5, 29 !TDC ROC#2 Sl#17 Ch#50 HDC pl#11 [Y2] wire#29 +51, 5, 30 !TDC ROC#2 Sl#17 Ch#51 HDC pl#11 [Y2] wire#30 +52, 5, 31 !TDC ROC#2 Sl#17 Ch#52 HDC pl#11 [Y2] wire#31 +53, 5, 32 !TDC ROC#2 Sl#17 Ch#53 HDC pl#11 [Y2] wire#32 +54, 5, 33 !TDC ROC#2 Sl#17 Ch#54 HDC pl#11 [Y2] wire#33 +55, 5, 34 !TDC ROC#2 Sl#17 Ch#55 HDC pl#11 [Y2] wire#34 +56, 5, 35 !TDC ROC#2 Sl#17 Ch#56 HDC pl#11 [Y2] wire#35 +57, 5, 36 !TDC ROC#2 Sl#17 Ch#57 HDC pl#11 [Y2] wire#36 +58, 5, 37 !TDC ROC#2 Sl#17 Ch#58 HDC pl#11 [Y2] wire#37 +59, 5, 38 !TDC ROC#2 Sl#17 Ch#59 HDC pl#11 [Y2] wire#38 +60, 5, 39 !TDC ROC#2 Sl#17 Ch#60 HDC pl#11 [Y2] wire#39 +! 61 !TDC ROC#2 Sl#17 Ch#61 unused +! 62 !TDC ROC#2 Sl#17 Ch#62 unused +! 63 !TDC ROC#2 Sl#17 Ch#63 unused +! 64 !TDC ROC#2 Sl#17 Ch#64 unused????? JV 11/11/97 +65, 5, 40 !TDC ROC#2 Sl#17 Ch#64 HDC pl#11 [Y2] wire#40 +66, 5, 41 !TDC ROC#2 Sl#17 Ch#65 HDC pl#11 [Y2] wire#41 +67, 5, 42 !TDC ROC#2 Sl#17 Ch#66 HDC pl#11 [Y2] wire#42 +68, 5, 43 !TDC ROC#2 Sl#17 Ch#67 HDC pl#11 [Y2] wire#43 +69, 5, 44 !TDC ROC#2 Sl#17 Ch#68 HDC pl#11 [Y2] wire#44 +70, 5, 45 !TDC ROC#2 Sl#17 Ch#69 HDC pl#11 [Y2] wire#45 +71, 5, 46 !TDC ROC#2 Sl#17 Ch#70 HDC pl#11 [Y2] wire#46 +72, 5, 47 !TDC ROC#2 Sl#17 Ch#71 HDC pl#11 [Y2] wire#47 +73, 5, 48 !TDC ROC#2 Sl#17 Ch#72 HDC pl#11 [Y2] wire#48 +74, 5, 49 !TDC ROC#2 Sl#17 Ch#73 HDC pl#11 [Y2] wire#49 +75, 5, 50 !TDC ROC#2 Sl#17 Ch#74 HDC pl#11 [Y2] wire#50 +76, 5, 51 !TDC ROC#2 Sl#17 Ch#75 HDC pl#11 [Y2] wire#51 +77, 5, 52 !TDC ROC#2 Sl#17 Ch#76 HDC pl#11 [Y2] wire#52 +! 77 !TDC ROC#2 Sl#17 Ch#77 unused +! 78 !TDC ROC#2 Sl#17 Ch#78 unused +! 79 !TDC ROC#2 Sl#17 Ch#79 unused +80, 6, 1 !TDC ROC#2 Sl#17 Ch#80 HDC pl#12 [X2] wire#1 +81, 6, 2 !TDC ROC#2 Sl#17 Ch#81 HDC pl#12 [X2] wire#2 +82, 6, 3 !TDC ROC#2 Sl#17 Ch#82 HDC pl#12 [X2] wire#3 +83, 6, 4 !TDC ROC#2 Sl#17 Ch#83 HDC pl#12 [X2] wire#4 +84, 6, 5 !TDC ROC#2 Sl#17 Ch#84 HDC pl#12 [X2] wire#5 +85, 6, 6 !TDC ROC#2 Sl#17 Ch#85 HDC pl#12 [X2] wire#6 +86, 6, 7 !TDC ROC#2 Sl#17 Ch#86 HDC pl#12 [X2] wire#7 +87, 6, 8 !TDC ROC#2 Sl#17 Ch#87 HDC pl#12 [X2] wire#8 +88, 6, 9 !TDC ROC#2 Sl#17 Ch#88 HDC pl#12 [X2] wire#9 +89, 6, 10 !TDC ROC#2 Sl#17 Ch#89 HDC pl#12 [X2] wire#10 +90, 6, 11 !TDC ROC#2 Sl#17 Ch#90 HDC pl#12 [X2] wire#11 +91, 6, 12 !TDC ROC#2 Sl#17 Ch#91 HDC pl#12 [X2] wire#12 +92, 6, 13 !TDC ROC#2 Sl#17 Ch#92 HDC pl#12 [X2] wire#13 +93, 6, 14 !TDC ROC#2 Sl#17 Ch#93 HDC pl#12 [X2] wire#14 +94, 6, 15 !TDC ROC#2 Sl#17 Ch#94 HDC pl#12 [X2] wire#15 +95, 6, 16 !TDC ROC#2 Sl#17 Ch#95 HDC pl#12 [X2] wire#16 +Slot= 22 +0, 6, 17 !TDC ROC#2 Sl#18 Ch#0 HDC pl#12 [X2] wire#17 +1, 6, 18 !TDC ROC#2 Sl#18 Ch#1 HDC pl#12 [X2] wire#18 +2, 6, 19 !TDC ROC#2 Sl#18 Ch#2 HDC pl#12 [X2] wire#19 +3, 6, 20 !TDC ROC#2 Sl#18 Ch#3 HDC pl#12 [X2] wire#20 +4, 6, 21 !TDC ROC#2 Sl#18 Ch#4 HDC pl#12 [X2] wire#21 +5, 6, 22 !TDC ROC#2 Sl#18 Ch#5 HDC pl#12 [X2] wire#22 +6, 6, 23 !TDC ROC#2 Sl#18 Ch#6 HDC pl#12 [X2] wire#23 +7, 6, 24 !TDC ROC#2 Sl#18 Ch#7 HDC pl#12 [X2] wire#24 +8, 6, 25 !TDC ROC#2 Sl#18 Ch#8 HDC pl#12 [X2] wire#25 +9, 6, 26 !TDC ROC#2 Sl#18 Ch#9 HDC pl#12 [X2] wire#26 +10, 6, 27 !TDC ROC#2 Sl#18 Ch#10 HDC pl#12 [X2] wire#27 +11, 6, 28 !TDC ROC#2 Sl#18 Ch#11 HDC pl#12 [X2] wire#28 +12, 6, 29 !TDC ROC#2 Sl#18 Ch#12 HDC pl#12 [X2] wire#29 +13, 6, 30 !TDC ROC#2 Sl#18 Ch#13 HDC pl#12 [X2] wire#30 +14, 6, 31 !TDC ROC#2 Sl#18 Ch#14 HDC pl#12 [X2] wire#31 +15, 6, 32 !TDC ROC#2 Sl#18 Ch#15 HDC pl#12 [X2] wire#32 +16, 6, 33 !TDC ROC#2 Sl#18 Ch#16 HDC pl#12 [X2] wire#33 +17, 6, 34 !TDC ROC#2 Sl#18 Ch#17 HDC pl#12 [X2] wire#34 +18, 6, 35 !TDC ROC#2 Sl#18 Ch#18 HDC pl#12 [X2] wire#35 +19, 6, 36 !TDC ROC#2 Sl#18 Ch#19 HDC pl#12 [X2] wire#36 +20, 6, 37 !TDC ROC#2 Sl#18 Ch#20 HDC pl#12 [X2] wire#37 +21, 6, 38 !TDC ROC#2 Sl#18 Ch#21 HDC pl#12 [X2] wire#38 +22, 6, 39 !TDC ROC#2 Sl#18 Ch#22 HDC pl#12 [X2] wire#39 +23, 6, 40 !TDC ROC#2 Sl#18 Ch#23 HDC pl#12 [X2] wire#40 +24, 6, 41 !TDC ROC#2 Sl#18 Ch#24 HDC pl#12 [X2] wire#41 +25, 6, 42 !TDC ROC#2 Sl#18 Ch#25 HDC pl#12 [X2] wire#42 +26, 6, 43 !TDC ROC#2 Sl#18 Ch#26 HDC pl#12 [X2] wire#43 +27, 6, 44 !TDC ROC#2 Sl#18 Ch#27 HDC pl#12 [X2] wire#44 +28, 6, 45 !TDC ROC#2 Sl#18 Ch#28 HDC pl#12 [X2] wire#45 +29, 6, 46 !TDC ROC#2 Sl#18 Ch#29 HDC pl#12 [X2] wire#46 +30, 6, 47 !TDC ROC#2 Sl#18 Ch#30 HDC pl#12 [X2] wire#47 +31, 6, 48 !TDC ROC#2 Sl#18 Ch#31 HDC pl#12 [X2] wire#48 +32, 6, 49 !TDC ROC#2 Sl#18 Ch#32 HDC pl#12 [X2] wire#49 +33, 6, 50 !TDC ROC#2 Sl#18 Ch#33 HDC pl#12 [X2] wire#50 +34, 6, 51 !TDC ROC#2 Sl#18 Ch#34 HDC pl#12 [X2] wire#51 +35, 6, 52 !TDC ROC#2 Sl#18 Ch#35 HDC pl#12 [X2] wire#52 +36, 6, 53 !TDC ROC#2 Sl#18 Ch#36 HDC pl#12 [X2] wire#53 +37, 6, 54 !TDC ROC#2 Sl#18 Ch#37 HDC pl#12 [X2] wire#54 +38, 6, 55 !TDC ROC#2 Sl#18 Ch#38 HDC pl#12 [X2] wire#55 +39, 6, 56 !TDC ROC#2 Sl#18 Ch#39 HDC pl#12 [X2] wire#56 +40, 6, 57 !TDC ROC#2 Sl#18 Ch#40 HDC pl#12 [X2] wire#57 +41, 6, 58 !TDC ROC#2 Sl#18 Ch#41 HDC pl#12 [X2] wire#58 +42, 6, 59 !TDC ROC#2 Sl#18 Ch#42 HDC pl#12 [X2] wire#59 +43, 6, 60 !TDC ROC#2 Sl#18 Ch#43 HDC pl#12 [X2] wire#60 +44, 6, 61 !TDC ROC#2 Sl#18 Ch#44 HDC pl#12 [X2] wire#61 +45, 6, 62 !TDC ROC#2 Sl#18 Ch#45 HDC pl#12 [X2] wire#62 +46, 6, 63 !TDC ROC#2 Sl#18 Ch#46 HDC pl#12 [X2] wire#63 +47, 6, 64 !TDC ROC#2 Sl#18 Ch#47 HDC pl#12 [X2] wire#64 +48, 6, 65 !TDC ROC#2 Sl#18 Ch#48 HDC pl#12 [X2] wire#65 +49, 6, 66 !TDC ROC#2 Sl#18 Ch#49 HDC pl#12 [X2] wire#66 +50, 6, 67 !TDC ROC#2 Sl#18 Ch#50 HDC pl#12 [X2] wire#67 +51, 6, 68 !TDC ROC#2 Sl#18 Ch#51 HDC pl#12 [X2] wire#68 +52, 6, 69 !TDC ROC#2 Sl#18 Ch#52 HDC pl#12 [X2] wire#69 +53, 6, 70 !TDC ROC#2 Sl#18 Ch#53 HDC pl#12 [X2] wire#70 +54, 6, 71 !TDC ROC#2 Sl#18 Ch#54 HDC pl#12 [X2] wire#71 +55, 6, 72 !TDC ROC#2 Sl#18 Ch#55 HDC pl#12 [X2] wire#72 +56, 6, 73 !TDC ROC#2 Sl#18 Ch#56 HDC pl#12 [X2] wire#73 +57, 6, 74 !TDC ROC#2 Sl#18 Ch#57 HDC pl#12 [X2] wire#74 +58, 6, 75 !TDC ROC#2 Sl#18 Ch#58 HDC pl#12 [X2] wire#75 +59, 6, 76 !TDC ROC#2 Sl#18 Ch#59 HDC pl#12 [X2] wire#76 +60, 6, 77 !TDC ROC#2 Sl#18 Ch#60 HDC pl#12 [X2] wire#77 +61, 6, 78 !TDC ROC#2 Sl#18 Ch#61 HDC pl#12 [X2] wire#78 +62, 6, 79 !TDC ROC#2 Sl#18 Ch#62 HDC pl#12 [X2] wire#79 +63, 6, 80 !TDC ROC#2 Sl#18 Ch#63 HDC pl#12 [X2] wire#80 +64, 6, 81 !TDC ROC#2 Sl#18 Ch#64 HDC pl#12 [X2] wire#81 +65, 6, 82 !TDC ROC#2 Sl#18 Ch#65 HDC pl#12 [X2] wire#82 +66, 6, 83 !TDC ROC#2 Sl#18 Ch#66 HDC pl#12 [X2] wire#83 +67, 6, 84 !TDC ROC#2 Sl#18 Ch#67 HDC pl#12 [X2] wire#84 +68, 6, 85 !TDC ROC#2 Sl#18 Ch#68 HDC pl#12 [X2] wire#85 +69, 6, 86 !TDC ROC#2 Sl#18 Ch#69 HDC pl#12 [X2] wire#86 +70, 6, 87 !TDC ROC#2 Sl#18 Ch#70 HDC pl#12 [X2] wire#87 +71, 6, 88 !TDC ROC#2 Sl#18 Ch#71 HDC pl#12 [X2] wire#88 +72, 6, 89 !TDC ROC#2 Sl#18 Ch#72 HDC pl#12 [X2] wire#89 +73, 6, 90 !TDC ROC#2 Sl#18 Ch#73 HDC pl#12 [X2] wire#90 +74, 6, 91 !TDC ROC#2 Sl#18 Ch#74 HDC pl#12 [X2] wire#91 +75, 6, 92 !TDC ROC#2 Sl#18 Ch#75 HDC pl#12 [X2] wire#92 +76, 6, 93 !TDC ROC#2 Sl#18 Ch#76 HDC pl#12 [X2] wire#93 +77, 6, 94 !TDC ROC#2 Sl#18 Ch#77 HDC pl#12 [X2] wire#94 +78, 6, 95 !TDC ROC#2 Sl#18 Ch#78 HDC pl#12 [X2] wire#95 +79, 6, 96 !TDC ROC#2 Sl#18 Ch#79 HDC pl#12 [X2] wire#96 +80, 6, 97 !TDC ROC#2 Sl#18 Ch#80 HDC pl#12 [X2] wire#97 +81, 6, 98 !TDC ROC#2 Sl#18 Ch#81 HDC pl#12 [X2] wire#98 +82, 6, 99 !TDC ROC#2 Sl#18 Ch#82 HDC pl#12 [X2] wire#99 +83, 6, 100 !TDC ROC#2 Sl#18 Ch#83 HDC pl#12 [X2] wire#100 +84, 6, 101 !TDC ROC#2 Sl#18 Ch#84 HDC pl#12 [X2] wire#101 +85, 6, 102 !TDC ROC#2 Sl#18 Ch#85 HDC pl#12 [X2] wire#102 +86, 6, 103 !TDC ROC#2 Sl#18 Ch#86 HDC pl#12 [X2] wire#103 +87, 6, 104 !TDC ROC#2 Sl#18 Ch#87 HDC pl#12 [X2] wire#104 +88, 6, 105 !TDC ROC#2 Sl#18 Ch#88 HDC pl#12 [X2] wire#105 +89, 6, 106 !TDC ROC#2 Sl#18 Ch#89 HDC pl#12 [X2] wire#106 +90, 6, 107 !TDC ROC#2 Sl#18 Ch#90 HDC pl#12 [X2] wire#107 +91, 6, 108 !TDC ROC#2 Sl#18 Ch#91 HDC pl#12 [X2] wire#108 +92, 6, 109 !TDC ROC#2 Sl#18 Ch#92 HDC pl#12 [X2] wire#109 +93, 6, 110 !TDC ROC#2 Sl#18 Ch#93 HDC pl#12 [X2] wire#110 +94, 6, 111 !TDC ROC#2 Sl#18 Ch#94 HDC pl#12 [X2] wire#111 +95, 6, 112 !TDC ROC#2 Sl#18 Ch#95 HDC pl#12 [X2] wire#112 +! +! +! HMS upstairs (HSCIN+HCAL+HCER) map K.B.Beard 13-Jun-1994 +! + +! ^^^^^^^^^^^^^^^^^^^^^ Wire chambers end here ^^^^^^^^^^^^^^^^^^^^^^ +!============================================================================= + ROC= 1 !upstairs HMS crate +! + detector= 2 !HSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 23 ! TDC + 0, 1, 1, 2 !TDC ROC#1 Sl#23 Ch#0 HSCIN pl#1 [X1] id#1 sig#2 [TDC+] (0 X1P-01) + 1, 1, 3, 2 !TDC ROC#1 Sl#23 Ch#1 HSCIN pl#1 [X1] id#3 sig#2 [TDC+] (1 X1P-03) + 2, 1, 5, 2 !TDC ROC#1 Sl#23 Ch#2 HSCIN pl#1 [X1] id#5 sig#2 [TDC+] (2 X1P-05) + 3, 1, 7, 2 !TDC ROC#1 Sl#23 Ch#3 HSCIN pl#1 [X1] id#7 sig#2 [TDC+] (3 X1P-07) + 4, 1, 9, 2 !TDC ROC#1 Sl#23 Ch#4 HSCIN pl#1 [X1] id#9 sig#2 [TDC+] (4 X1P-09) + 5, 1, 11, 2 !TDC ROC#1 Sl#23 Ch#5 HSCIN pl#1 [X1] id#11 sig#2 [TDC+] (5 X1P-11) + 6, 1, 13, 2 !TDC ROC#1 Sl#23 Ch#6 HSCIN pl#1 [X1] id#13 sig#2 [TDC+] (6 X1P-13) + 7, 1, 15, 2 !TDC ROC#1 Sl#23 Ch#7 HSCIN pl#1 [X1] id#15 sig#2 [TDC+] (7 X1P-15) + 8, 1, 2, 2 !TDC ROC#1 Sl#23 Ch#8 HSCIN pl#1 [X1] id#2 sig#2 [TDC+] (8 X1P-02) + 9, 1, 4, 2 !TDC ROC#1 Sl#23 Ch#9 HSCIN pl#1 [X1] id#4 sig#2 [TDC+] (9 X1P-04) + 10, 1, 6, 2 !TDC ROC#1 Sl#23 Ch#10 HSCIN pl#1 [X1] id#6 sig#2 [TDC+] (10 X1P-06) + 11, 1, 8, 2 !TDC ROC#1 Sl#23 Ch#11 HSCIN pl#1 [X1] id#8 sig#2 [TDC+] (11 X1P-08) + 12, 1, 10, 2 !TDC ROC#1 Sl#23 Ch#12 HSCIN pl#1 [X1] id#10 sig#2 [TDC+] (12 X1P-10) + 13, 1, 12, 2 !TDC ROC#1 Sl#23 Ch#13 HSCIN pl#1 [X1] id#12 sig#2 [TDC+] (13 X1P-12) + 14, 1, 14, 2 !TDC ROC#1 Sl#23 Ch#14 HSCIN pl#1 [X1] id#14 sig#2 [TDC+] (14 X1P-14) + 15, 1, 16, 2 !TDC ROC#1 Sl#23 Ch#15 HSCIN pl#1 [X1] id#16 sig#2 [TDC+] (15 X1P-16) + 16, 1, 1, 3 !TDC ROC#1 Sl#23 Ch#16 HSCIN pl#1 [X1] id#1 sig#3 [TDC-] (16 X1N-01) + 17, 1, 3, 3 !TDC ROC#1 Sl#23 Ch#17 HSCIN pl#1 [X1] id#3 sig#3 [TDC-] (17 X1N-03) + 18, 1, 5, 3 !TDC ROC#1 Sl#23 Ch#18 HSCIN pl#1 [X1] id#5 sig#3 [TDC-] (18 X1N-05) + 19, 1, 7, 3 !TDC ROC#1 Sl#23 Ch#19 HSCIN pl#1 [X1] id#7 sig#3 [TDC-] (19 X1N-07) + 20, 1, 9, 3 !TDC ROC#1 Sl#23 Ch#20 HSCIN pl#1 [X1] id#9 sig#3 [TDC-] (20 X1N-09) + 21, 1, 11, 3 !TDC ROC#1 Sl#23 Ch#21 HSCIN pl#1 [X1] id#11 sig#3 [TDC-] (21 X1N-11) + 22, 1, 13, 3 !TDC ROC#1 Sl#23 Ch#22 HSCIN pl#1 [X1] id#13 sig#3 [TDC-] (22 X1N-13) + 23, 1, 15, 3 !TDC ROC#1 Sl#23 Ch#23 HSCIN pl#1 [X1] id#15 sig#3 [TDC-] (23 X1N-15) + 24, 1, 2, 3 !TDC ROC#1 Sl#23 Ch#24 HSCIN pl#1 [X1] id#2 sig#3 [TDC-] (24 X1N-02) + 25, 1, 4, 3 !TDC ROC#1 Sl#23 Ch#25 HSCIN pl#1 [X1] id#4 sig#3 [TDC-] (25 X1N-04) + 26, 1, 6, 3 !TDC ROC#1 Sl#23 Ch#26 HSCIN pl#1 [X1] id#6 sig#3 [TDC-] (26 X1N-06) + 27, 1, 8, 3 !TDC ROC#1 Sl#23 Ch#27 HSCIN pl#1 [X1] id#8 sig#3 [TDC-] (27 X1N-08) + 28, 1, 10, 3 !TDC ROC#1 Sl#23 Ch#28 HSCIN pl#1 [X1] id#10 sig#3 [TDC-] (28 X1N-10) + 29, 1, 12, 3 !TDC ROC#1 Sl#23 Ch#29 HSCIN pl#1 [X1] id#12 sig#3 [TDC-] (29 X1N-12) + 30, 1, 14, 3 !TDC ROC#1 Sl#23 Ch#30 HSCIN pl#1 [X1] id#14 sig#3 [TDC-] (30 X1N-14) + 31, 1, 16, 3 !TDC ROC#1 Sl#23 Ch#31 HSCIN pl#1 [X1] id#16 sig#3 [TDC-] (31 X1N-16) + 32, 2, 1, 2 !TDC ROC#1 Sl#23 Ch#32 HSCIN pl#2 [Y1] id#1 sig#2 [TDC+] (32 Y1P-01) + 33, 2, 3, 2 !TDC ROC#1 Sl#23 Ch#33 HSCIN pl#2 [Y1] id#3 sig#2 [TDC+] (33 Y1P-03) + 34, 2, 5, 2 !TDC ROC#1 Sl#23 Ch#34 HSCIN pl#2 [Y1] id#5 sig#2 [TDC+] (34 Y1P-05) + 35, 2, 7, 2 !TDC ROC#1 Sl#23 Ch#35 HSCIN pl#2 [Y1] id#7 sig#2 [TDC+] (35 Y1P-07) + 36, 2, 9, 2 !TDC ROC#1 Sl#23 Ch#36 HSCIN pl#2 [Y1] id#9 sig#2 [TDC+] (36 Y1P-09) +! 37 !TDC ROC#1 Sl#23 Ch#37 unused +! 38 !TDC ROC#1 Sl#23 Ch#38 unused +! 39 !TDC ROC#1 Sl#23 Ch#39 unused +!!! 40, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) + 41, 2, 4, 2 !TDC ROC#1 Sl#23 Ch#41 HSCIN pl#2 [Y1] id#4 sig#2 [TDC+] (41 Y1P-04) + 42, 2, 6, 2 !TDC ROC#1 Sl#23 Ch#42 HSCIN pl#2 [Y1] id#6 sig#2 [TDC+] (42 Y1P-06) + 43, 2, 8, 2 !TDC ROC#1 Sl#23 Ch#43 HSCIN pl#2 [Y1] id#8 sig#2 [TDC+] (43 Y1P-08) + 44, 2, 10, 2 !TDC ROC#1 Sl#23 Ch#44 HSCIN pl#2 [Y1] id#10 sig#2 [TDC+] (44 Y1P-10) + 45, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#45 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (45 Y1P-02) +! h1y2+ was moved from channel 47 to 45 on 1/29/1999 +! 46 !TDC ROC#1 Sl#23 Ch#46 unused +! 47, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) +! h1y2+ was moved from channel 40 to 47 at run 6168 + 48, 2, 1, 3 !TDC ROC#1 Sl#23 Ch#48 HSCIN pl#2 [Y1] id#1 sig#3 [TDC-] (48 Y1N-01) + 49, 2, 3, 3 !TDC ROC#1 Sl#23 Ch#49 HSCIN pl#2 [Y1] id#3 sig#3 [TDC-] (49 Y1N-03) + 50, 2, 5, 3 !TDC ROC#1 Sl#23 Ch#50 HSCIN pl#2 [Y1] id#5 sig#3 [TDC-] (50 Y1N-05) + 51, 2, 7, 3 !TDC ROC#1 Sl#23 Ch#51 HSCIN pl#2 [Y1] id#7 sig#3 [TDC-] (51 Y1N-07) + 52, 2, 9, 3 !TDC ROC#1 Sl#23 Ch#52 HSCIN pl#2 [Y1] id#9 sig#3 [TDC-] (52 Y1N-09) +! 53 !TDC ROC#1 Sl#23 Ch#53 unused +! 54 !TDC ROC#1 Sl#23 Ch#54 unused +! 55 !TDC ROC#1 Sl#23 Ch#55 unused + 56, 2, 2, 3 !TDC ROC#1 Sl#23 Ch#56 HSCIN pl#2 [Y1] id#2 sig#3 [TDC-] (56 Y1N-02) + 57, 2, 4, 3 !TDC ROC#1 Sl#23 Ch#57 HSCIN pl#2 [Y1] id#4 sig#3 [TDC-] (57 Y1N-04) + 58, 2, 6, 3 !TDC ROC#1 Sl#23 Ch#58 HSCIN pl#2 [Y1] id#6 sig#3 [TDC-] (58 Y1N-06) + 59, 2, 8, 3 !TDC ROC#1 Sl#23 Ch#59 HSCIN pl#2 [Y1] id#8 sig#3 [TDC-] (59 Y1N-08) +! 60, 2, 10, 3 !TDC ROC#1 Sl#23 Ch#60 HSCIN pl#2 [Y1] id#10 sig#3 [TDC-] (60 Y1N-10) + 61 , 2, 10, 3 !TDC ROC#1 Sl#23 Ch#61 swap location for h1y10- +! 62 !TDC ROC#1 Sl#23 Ch#62 unused +! 63 !TDC ROC#1 Sl#23 Ch#63 unused +! + Slot= 21 ! TDC +! + 0, 3, 1, 2 !TDC ROC#1 Sl#21 Ch#0 HSCIN pl#3 [X2] id#1 sig#2 [TDC+] (0 X2P-01) + 1, 3, 3, 2 !TDC ROC#1 Sl#21 Ch#1 HSCIN pl#3 [X2] id#3 sig#2 [TDC+] (1 X2P-03) + 2, 3, 5, 2 !TDC ROC#1 Sl#21 Ch#2 HSCIN pl#3 [X2] id#5 sig#2 [TDC+] (2 X2P-05) + 3, 3, 7, 2 !TDC ROC#1 Sl#21 Ch#3 HSCIN pl#3 [X2] id#7 sig#2 [TDC+] (3 X2P-07) + 4, 3, 9, 2 !TDC ROC#1 Sl#21 Ch#4 HSCIN pl#3 [X2] id#9 sig#2 [TDC+] (4 X2P-09) + 5, 3, 11, 2 !TDC ROC#1 Sl#21 Ch#5 HSCIN pl#3 [X2] id#11 sig#2 [TDC+] (5 X2P-11) + 6, 3, 13, 2 !TDC ROC#1 Sl#21 Ch#6 HSCIN pl#3 [X2] id#13 sig#2 [TDC+] (6 X2P-13) + 7, 3, 15, 2 !TDC ROC#1 Sl#21 Ch#7 HSCIN pl#3 [X2] id#15 sig#2 [TDC+] (7 X2P-15) +! + 8, 3, 2, 2 !TDC ROC#1 Sl#21 Ch#8 HSCIN pl#3 [X2] id#2 sig#2 [TDC+] (8 X2P-02) + 9, 3, 4, 2 !TDC ROC#1 Sl#21 Ch#9 HSCIN pl#3 [X2] id#4 sig#2 [TDC+] (9 X2P-04) + 10, 3, 6, 2 !TDC ROC#1 Sl#21 Ch#10 HSCIN pl#3 [X2] id#6 sig#2 [TDC+] (10 X2P-06) + 11, 3, 8, 2 !TDC ROC#1 Sl#21 Ch#11 HSCIN pl#3 [X2] id#8 sig#2 [TDC+] (11 X2P-08) + 12, 3, 10, 2 !TDC ROC#1 Sl#21 Ch#12 HSCIN pl#3 [X2] id#10 sig#2 [TDC+] (12 X2P-10) + 13, 3, 12, 2 !TDC ROC#1 Sl#21 Ch#13 HSCIN pl#3 [X2] id#12 sig#2 [TDC+] (13 X2P-12) + 14, 3, 14, 2 !TDC ROC#1 Sl#21 Ch#14 HSCIN pl#3 [X2] id#14 sig#2 [TDC+] (14 X2P-14) + 15, 3, 16, 2 !TDC ROC#1 Sl#21 Ch#15 HSCIN pl#3 [X2] id#16 sig#2 [TDC+] (15 X2P-16) +! +! swapped s2x- with s2y+ +! + 16, 4, 1, 2 !TDC ROC#1 Sl#21 Ch#32 HSCIN pl#4 [Y2] id#1 sig#2 [TDC+] (32 Y2P-01) + 17, 4, 3, 2 !TDC ROC#1 Sl#21 Ch#33 HSCIN pl#4 [Y2] id#3 sig#2 [TDC+] (33 Y2P-03) + 18, 4, 5, 2 !TDC ROC#1 Sl#21 Ch#34 HSCIN pl#4 [Y2] id#5 sig#2 [TDC+] (34 Y2P-05) + 19, 4, 7, 2 !TDC ROC#1 Sl#21 Ch#35 HSCIN pl#4 [Y2] id#7 sig#2 [TDC+] (35 Y2P-07) + 20, 4, 9, 2 !TDC ROC#1 Sl#21 Ch#36 HSCIN pl#4 [Y2] id#9 sig#2 [TDC+] (36 Y2P-09) +! 21 !TDC ROC#1 Sl#21 Ch#37 unused +! 22 !TDC ROC#1 Sl#21 Ch#38 unused +! 23 !TDC ROC#1 Sl#21 Ch#39 unused + 24, 4, 2, 2 !TDC ROC#1 Sl#21 Ch#40 HSCIN pl#4 [Y2] id#2 sig#2 [TDC+] (40 Y2P-02) + 25, 4, 4, 2 !TDC ROC#1 Sl#21 Ch#41 HSCIN pl#4 [Y2] id#4 sig#2 [TDC+] (41 Y2P-04) + 26, 4, 6, 2 !TDC ROC#1 Sl#21 Ch#42 HSCIN pl#4 [Y2] id#6 sig#2 [TDC+] (42 Y2P-06) + 27, 4, 8, 2 !TDC ROC#1 Sl#21 Ch#43 HSCIN pl#4 [Y2] id#8 sig#2 [TDC+] (43 Y2P-08) + 28, 4, 10, 2 !TDC ROC#1 Sl#21 Ch#44 HSCIN pl#4 [Y2] id#10 sig#2 [TDC+] (44 Y2P-10) +! 29 !TDC ROC#1 Sl#21 Ch#45 unused +! 30 !TDC ROC#1 Sl#21 Ch#46 unused +! 31 !TDC ROC#1 Sl#21 Ch#47 unused +! + 32, 3, 1, 3 !TDC ROC#1 Sl#21 Ch#16 HSCIN pl#3 [X2] id#1 sig#3 [TDC-] (16 X2N-01) + 33, 3, 3, 3 !TDC ROC#1 Sl#21 Ch#17 HSCIN pl#3 [X2] id#3 sig#3 [TDC-] (17 X2N-03) + 34, 3, 5, 3 !TDC ROC#1 Sl#21 Ch#18 HSCIN pl#3 [X2] id#5 sig#3 [TDC-] (18 X2N-05) + 35, 3, 7, 3 !TDC ROC#1 Sl#21 Ch#19 HSCIN pl#3 [X2] id#7 sig#3 [TDC-] (19 X2N-07) + 36, 3, 9, 3 !TDC ROC#1 Sl#21 Ch#20 HSCIN pl#3 [X2] id#9 sig#3 [TDC-] (20 X2N-09) + 37, 3, 11, 3 !TDC ROC#1 Sl#21 Ch#21 HSCIN pl#3 [X2] id#11 sig#3 [TDC-] (21 X2N-11) + 38, 3, 13, 3 !TDC ROC#1 Sl#21 Ch#22 HSCIN pl#3 [X2] id#13 sig#3 [TDC-] (22 X2N-13) + 39, 3, 15, 3 !TDC ROC#1 Sl#21 Ch#23 HSCIN pl#3 [X2] id#15 sig#3 [TDC-] (23 X2N-15) +! + 40, 3, 2, 3 !TDC ROC#1 Sl#21 Ch#24 HSCIN pl#3 [X2] id#2 sig#3 [TDC-] (24 X2N-02) + 41, 3, 4, 3 !TDC ROC#1 Sl#21 Ch#25 HSCIN pl#3 [X2] id#4 sig#3 [TDC-] (25 X2N-04) + 42, 3, 6, 3 !TDC ROC#1 Sl#21 Ch#26 HSCIN pl#3 [X2] id#6 sig#3 [TDC-] (26 X2N-06) + 43, 3, 8, 3 !TDC ROC#1 Sl#21 Ch#27 HSCIN pl#3 [X2] id#8 sig#3 [TDC-] (27 X2N-08) + 44, 3, 10, 3 !TDC ROC#1 Sl#21 Ch#28 HSCIN pl#3 [X2] id#10 sig#3 [TDC-] (28 X2N-10) + 45, 3, 12, 3 !TDC ROC#1 Sl#21 Ch#29 HSCIN pl#3 [X2] id#12 sig#3 [TDC-] (29 X2N-12) + 46, 3, 14, 3 !TDC ROC#1 Sl#21 Ch#30 HSCIN pl#3 [X2] id#14 sig#3 [TDC-] (30 X2N-14) + 47, 3, 16, 3 !TDC ROC#1 Sl#21 Ch#31 HSCIN pl#3 [X2] id#16 sig#3 [TDC-] (31 X2N-16) +! + 48, 4, 1, 3 !TDC ROC#1 Sl#21 Ch#48 HSCIN pl#4 [Y2] id#1 sig#3 [TDC-] (48 Y2N-01) + 49, 4, 3, 3 !TDC ROC#1 Sl#21 Ch#49 HSCIN pl#4 [Y2] id#3 sig#3 [TDC-] (49 Y2N-03) + 50, 4, 5, 3 !TDC ROC#1 Sl#21 Ch#50 HSCIN pl#4 [Y2] id#5 sig#3 [TDC-] (50 Y2N-05) + 51, 4, 7, 3 !TDC ROC#1 Sl#21 Ch#51 HSCIN pl#4 [Y2] id#7 sig#3 [TDC-] (51 Y2N-07) + 52, 4, 9, 3 !TDC ROC#1 Sl#21 Ch#52 HSCIN pl#4 [Y2] id#9 sig#3 [TDC-] (52 Y2N-09) +! 53 !TDC ROC#1 Sl#21 Ch#53 unused +! 54 !TDC ROC#1 Sl#21 Ch#54 unused +! 55 !TDC ROC#1 Sl#21 Ch#55 unused + 56, 4, 2, 3 !TDC ROC#1 Sl#21 Ch#56 HSCIN pl#4 [Y2] id#2 sig#3 [TDC-] (56 Y2N-02) + 57, 4, 4, 3 !TDC ROC#1 Sl#21 Ch#57 HSCIN pl#4 [Y2] id#4 sig#3 [TDC-] (57 Y2N-04) + 58, 4, 6, 3 !TDC ROC#1 Sl#21 Ch#58 HSCIN pl#4 [Y2] id#6 sig#3 [TDC-] (58 Y2N-06) + 59, 4, 8, 3 !TDC ROC#1 Sl#21 Ch#59 HSCIN pl#4 [Y2] id#8 sig#3 [TDC-] (59 Y2N-08) + 60, 4, 10, 3 !TDC ROC#1 Sl#21 Ch#60 HSCIN pl#4 [Y2] id#10 sig#3 [TDC-] (60 Y2N-10) +! 61 !TDC ROC#1 Sl#21 Ch#61 unused +! 62 !TDC ROC#1 Sl#21 Ch#62 unused +! 63 !TDC ROC#1 Sl#21 Ch#63 unused +! +!!!====================================================================== + detector= 5 !HMISC + +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 19 ! TDC + +0, 1, 1, 0 ! 0 !TDC ROC#1 Sl#19 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#1 Sl#19 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#1 Sl#19 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#1 Sl#19 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#1 Sl#19 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#1 Sl#19 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#1 Sl#19 Ch#6 empty +7, 1, 8, 0 ! 7 !TDC ROC#1 Sl#19 Ch#7 unused +8, 1, 9, 0 ! 8 !TDC ROC#1 Sl#19 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#1 Sl#19 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#1 Sl#19 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#1 Sl#19 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#1 Sl#19 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#1 Sl#19 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#1 Sl#19 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#1 Sl#19 Ch#15 signal {PEDTRG} +16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 signal {hS1} +17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 signal {hPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 signal {hS2X} +19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 signal {hPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 signal {hS1X} +21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 signal {hS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 signal {hPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 signal {hS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 signal {hS2} +25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 signal {hPRE200} +26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 signal {hSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 signal {hSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 signal {hELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 signal {hPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 signal {hELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 signal {hPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 signal {PION} +33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 signal {CER} +34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 signal {hPIONHI} +35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 signal {hCERHI} +36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 signal {??} +37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 signal {UNSER} +38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 signal {BCM1} +39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 signal {BCM2} +40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 signal {hELHI} +41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 signal {hELLO} +42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 signal {hPRHI} +43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 signal {hPRLO} +44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 signal {hSHLO} +45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 signal {CLOCK} +46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 signal {BEAMGATES} +47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 signal {hADCGATES ? PEDS and TRIGS} +48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 RF no delay +49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 RF + 10 ns +53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +! +!============================================================================= +! AEROGEL TDC +!.............................................................................. +! For aerogel: 0-->ADC_POS +! 1-->ADC_NEG +! 2-->TDC_POS ! Check one more time (Hamlet, 2002/10/01) +! 3-->TDC_NEG + + detector= 7 ! Temporary for HAERO + +! TDC module LeCroy 1872a + + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +!! +! S. Wood have problem to read additional TDC in Slot =18 (2002/10/18, Hamlet) +! +! For now I will use some other tdc channels for Aerogel +!.......................> +! + Slot= 18 ! TDC channels for HMS Aero +! Changed May 5, 2003 DJG +! +! +! Slot= 18 !TDC +! +! TDC chan for aerogel (Hamlet, 2002/10/17) +! +0, 1, 1, 2 !TDC ROC#1 Sl#18 Ch#0 signal pos 1 +1, 1, 2, 2 !TDC ROC#1 Sl#18 Ch#1 signal pos 2 +2, 1, 3, 2 !TDC ROC#1 Sl#18 Ch#2 signal pos 3 +3, 1, 4, 2 !TDC ROC#1 Sl#18 Ch#3 signal pos 4 +4, 1, 5, 2 !TDC ROC#1 Sl#18 Ch#4 signal pos 5 +5, 1, 6, 2 !TDC ROC#1 Sl#18 Ch#5 signal pos 6 +6, 1, 7, 2 !TDC ROC#1 Sl#18 Ch#6 signal pos 7 +7, 1, 8, 2 !TDC ROC#1 Sl#18 Ch#7 signal pos 8 +8, 1, 1, 3 !TDC ROC#1 Sl#18 Ch#8 signal neg 1 +9, 1, 2, 3 !TDC ROC#1 Sl#18 Ch#9 signal neg 2 +10, 1, 3, 3 !TDC ROC#1 Sl#18 Ch#10 signal neg 3 +11, 1, 4, 3 !TDC ROC#1 Sl#18 Ch#11 signal neg 4 +12, 1, 5, 3 !TDC ROC#1 Sl#18 Ch#12 signal neg 5 +13, 1, 6, 3 !TDC ROC#1 Sl#18 Ch#13 signal neg 6 +14, 1, 7, 3 !TDC ROC#1 Sl#18 Ch#14 signal neg 7 +15, 1, 8, 3 !TDC ROC#1 Sl#18 Ch#15 signal neg 8 +!! +!16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 unused +!17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 unused +!18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 unused +!19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 unused +!20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 unused +!21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 unused +!22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 unused +!23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 unused +!24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 unused +!25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 unused +!26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 unused +!27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 unused +!28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 unused +!29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 unused +!30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 unused +!31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 unused +!32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 unused +!33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 unused +!34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 unused +!35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 unused +!36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 unused +!37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 unused +!38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 unused +!39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 unused +!40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 unused +!41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 unused +!42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 unused +!43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 unused +!44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 unused +!45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 unused +!46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 unused +!47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 unused +!48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 unused +!49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +!50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +!51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +!52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 unused +!53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +!54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +!55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +!56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +!57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +!58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +!59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +!60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +!61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +!62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +!63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +!============================================================================= +! ADC module LeCroy 1881M + detector = 2 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#1 Sl#9 Ch#0 HSCIN pl#1 [X1] id#1 sig#0 [ADC+] (0 X1P-01) + 1, 1, 3, 0 !ADC ROC#1 Sl#9 Ch#1 HSCIN pl#1 [X1] id#3 sig#0 [ADC+] (1 X1P-03) + 2, 1, 5, 0 !ADC ROC#1 Sl#9 Ch#2 HSCIN pl#1 [X1] id#5 sig#0 [ADC+] (2 X1P-05) + 3, 1, 7, 0 !ADC ROC#1 Sl#9 Ch#3 HSCIN pl#1 [X1] id#7 sig#0 [ADC+] (3 X1P-07) + 4, 1, 9, 0 !ADC ROC#1 Sl#9 Ch#4 HSCIN pl#1 [X1] id#9 sig#0 [ADC+] (4 X1P-09) + 5, 1, 11, 0 !ADC ROC#1 Sl#9 Ch#5 HSCIN pl#1 [X1] id#11 sig#0 [ADC+] (5 X1P-11) + 6, 1, 13, 0 !ADC ROC#1 Sl#9 Ch#6 HSCIN pl#1 [X1] id#13 sig#0 [ADC+] (6 X1P-13) + 7, 1, 15, 0 !ADC ROC#1 Sl#9 Ch#7 HSCIN pl#1 [X1] id#15 sig#0 [ADC+] (7 X1P-15) + 8, 1, 2, 0 !ADC ROC#1 Sl#9 Ch#8 HSCIN pl#1 [X1] id#2 sig#0 [ADC+] (8 X1P-02) + 9, 1, 4, 0 !ADC ROC#1 Sl#9 Ch#9 HSCIN pl#1 [X1] id#4 sig#0 [ADC+] (9 X1P-04) + 10, 1, 6, 0 !ADC ROC#1 Sl#9 Ch#10 HSCIN pl#1 [X1] id#6 sig#0 [ADC+] (10 X1P-06) + 11, 1, 8, 0 !ADC ROC#1 Sl#9 Ch#11 HSCIN pl#1 [X1] id#8 sig#0 [ADC+] (11 X1P-08) + 12, 1, 10, 0 !ADC ROC#1 Sl#9 Ch#12 HSCIN pl#1 [X1] id#10 sig#0 [ADC+] (12 X1P-10) + 13, 1, 12, 0 !ADC ROC#1 Sl#9 Ch#13 HSCIN pl#1 [X1] id#12 sig#0 [ADC+] (13 X1P-12) + 14, 1, 14, 0 !ADC ROC#1 Sl#9 Ch#14 HSCIN pl#1 [X1] id#14 sig#0 [ADC+] (14 X1P-14) + 15, 1, 16, 0 !ADC ROC#1 Sl#9 Ch#15 HSCIN pl#1 [X1] id#16 sig#0 [ADC+] (15 X1P-16) +! + 16, 1, 1, 1 !ADC ROC#1 Sl#9 Ch#16 HSCIN pl#1 [X1] id#1 sig#1 [ADC-] (16 X1N-01) + 17, 1, 3, 1 !ADC ROC#1 Sl#9 Ch#17 HSCIN pl#1 [X1] id#3 sig#1 [ADC-] (17 X1N-03) + 18, 1, 5, 1 !ADC ROC#1 Sl#9 Ch#18 HSCIN pl#1 [X1] id#5 sig#1 [ADC-] (18 X1N-05) + 19, 1, 7, 1 !ADC ROC#1 Sl#9 Ch#19 HSCIN pl#1 [X1] id#7 sig#1 [ADC-] (19 X1N-07) + 20, 1, 9, 1 !ADC ROC#1 Sl#9 Ch#20 HSCIN pl#1 [X1] id#9 sig#1 [ADC-] (20 X1N-09) + 21, 1, 11, 1 !ADC ROC#1 Sl#9 Ch#21 HSCIN pl#1 [X1] id#11 sig#1 [ADC-] (21 X1N-11) + 22, 1, 13, 1 !ADC ROC#1 Sl#9 Ch#22 HSCIN pl#1 [X1] id#13 sig#1 [ADC-] (22 X1N-13) + 23, 1, 15, 1 !ADC ROC#1 Sl#9 Ch#23 HSCIN pl#1 [X1] id#15 sig#1 [ADC-] (23 X1N-15) + 24, 1, 2, 1 !ADC ROC#1 Sl#9 Ch#24 HSCIN pl#1 [X1] id#2 sig#1 [ADC-] (24 X1N-02) + 25, 1, 4, 1 !ADC ROC#1 Sl#9 Ch#25 HSCIN pl#1 [X1] id#4 sig#1 [ADC-] (25 X1N-04) + 26, 1, 6, 1 !ADC ROC#1 Sl#9 Ch#26 HSCIN pl#1 [X1] id#6 sig#1 [ADC-] (26 X1N-06) + 27, 1, 8, 1 !ADC ROC#1 Sl#9 Ch#27 HSCIN pl#1 [X1] id#8 sig#1 [ADC-] (27 X1N-08) + 28, 1, 10, 1 !ADC ROC#1 Sl#9 Ch#28 HSCIN pl#1 [X1] id#10 sig#1 [ADC-] (28 X1N-10) + 29, 1, 12, 1 !ADC ROC#1 Sl#9 Ch#29 HSCIN pl#1 [X1] id#12 sig#1 [ADC-] (29 X1N-12) + 30, 1, 14, 1 !ADC ROC#1 Sl#9 Ch#30 HSCIN pl#1 [X1] id#14 sig#1 [ADC-] (30 X1N-14) + 31, 1, 16, 1 !ADC ROC#1 Sl#9 Ch#31 HSCIN pl#1 [X1] id#16 sig#1 [ADC-] (31 X1N-16) +! + 32, 2, 1, 0 !ADC ROC#1 Sl#9 Ch#32 HSCIN pl#2 [Y1] id#1 sig#0 [ADC+] (32 Y1P-01) + 33, 2, 3, 0 !ADC ROC#1 Sl#9 Ch#33 HSCIN pl#2 [Y1] id#3 sig#0 [ADC+] (33 Y1P-03) + 34, 2, 5, 0 !ADC ROC#1 Sl#9 Ch#34 HSCIN pl#2 [Y1] id#5 sig#0 [ADC+] (34 Y1P-05) + 35, 2, 7, 0 !ADC ROC#1 Sl#9 Ch#35 HSCIN pl#2 [Y1] id#7 sig#0 [ADC+] (35 Y1P-07) + 36, 2, 9, 0 !ADC ROC#1 Sl#9 Ch#36 HSCIN pl#2 [Y1] id#9 sig#0 [ADC+] (36 Y1P-09) +! 37 !ADC ROC#1 Sl#9 Ch#37 unused +! 38 !ADC ROC#1 Sl#9 Ch#38 unused +! 39 !ADC ROC#1 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#1 Sl#9 Ch#40 HSCIN pl#2 [Y1] id#2 sig#0 [ADC+] (40 Y1P-02) + 41, 2, 4, 0 !ADC ROC#1 Sl#9 Ch#41 HSCIN pl#2 [Y1] id#4 sig#0 [ADC+] (41 Y1P-04) + 42, 2, 6, 0 !ADC ROC#1 Sl#9 Ch#42 HSCIN pl#2 [Y1] id#6 sig#0 [ADC+] (42 Y1P-06) + 43, 2, 8, 0 !ADC ROC#1 Sl#9 Ch#43 HSCIN pl#2 [Y1] id#8 sig#0 [ADC+] (43 Y1P-08) + 44, 2, 10, 0 !ADC ROC#1 Sl#9 Ch#44 HSCIN pl#2 [Y1] id#10 sig#0 [ADC+] (44 Y1P-10) +! 45 !ADC ROC#1 Sl#9 Ch#45 unused +! 46 !ADC ROC#1 Sl#9 Ch#46 unused +! 47 !ADC ROC#1 Sl#9 Ch#47 unused +! + 48, 2, 1, 1 !ADC ROC#1 Sl#9 Ch#48 HSCIN pl#2 [Y1] id#1 sig#1 [ADC-] (48 Y1N-01) + 49, 2, 3, 1 !ADC ROC#1 Sl#9 Ch#49 HSCIN pl#2 [Y1] id#3 sig#1 [ADC-] (49 Y1N-03) + 50, 2, 5, 1 !ADC ROC#1 Sl#9 Ch#50 HSCIN pl#2 [Y1] id#5 sig#1 [ADC-] (50 Y1N-05) + 51, 2, 7, 1 !ADC ROC#1 Sl#9 Ch#51 HSCIN pl#2 [Y1] id#7 sig#1 [ADC-] (51 Y1N-07) + 52, 2, 9, 1 !ADC ROC#1 Sl#9 Ch#52 HSCIN pl#2 [Y1] id#9 sig#1 [ADC-] (52 Y1N-09) +! 53 !ADC ROC#1 Sl#9 Ch#53 unused +! 54 !ADC ROC#1 Sl#9 Ch#54 unused +! 55 !ADC ROC#1 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#1 Sl#9 Ch#56 HSCIN pl#2 [Y1] id#2 sig#1 [ADC-] (56 Y1N-02) + 57, 2, 4, 1 !ADC ROC#1 Sl#9 Ch#57 HSCIN pl#2 [Y1] id#4 sig#1 [ADC-] (57 Y1N-04) + 58, 2, 6, 1 !ADC ROC#1 Sl#9 Ch#58 HSCIN pl#2 [Y1] id#6 sig#1 [ADC-] (58 Y1N-06) + 59, 2, 8, 1 !ADC ROC#1 Sl#9 Ch#59 HSCIN pl#2 [Y1] id#8 sig#1 [ADC-] (59 Y1N-08) + 60, 2, 10, 1 !ADC ROC#1 Sl#9 Ch#60 HSCIN pl#2 [Y1] id#10 sig#1 [ADC-] (60 Y1N-10) +! 61 !ADC ROC#1 Sl#9 Ch#62 unused +! 62 !ADC ROC#1 Sl#9 Ch#62 unused +! 63 !ADC ROC#1 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#1 Sl#7 Ch#0 HSCIN pl#3 [X2] id#1 sig#0 [ADC+] (0 X2P-01) + 1, 3, 3, 0 !ADC ROC#1 Sl#7 Ch#1 HSCIN pl#3 [X2] id#3 sig#0 [ADC+] (1 X2P-03) + 2, 3, 5, 0 !ADC ROC#1 Sl#7 Ch#2 HSCIN pl#3 [X2] id#5 sig#0 [ADC+] (2 X2P-05) + 3, 3, 7, 0 !ADC ROC#1 Sl#7 Ch#3 HSCIN pl#3 [X2] id#7 sig#0 [ADC+] (3 X2P-07) + 4, 3, 9, 0 !ADC ROC#1 Sl#7 Ch#4 HSCIN pl#3 [X2] id#9 sig#0 [ADC+] (4 X2P-09) + 5, 3, 11, 0 !ADC ROC#1 Sl#7 Ch#5 HSCIN pl#3 [X2] id#11 sig#0 [ADC+] (5 X2P-11) + 6, 3, 13, 0 !ADC ROC#1 Sl#7 Ch#6 HSCIN pl#3 [X2] id#13 sig#0 [ADC+] (6 X2P-13) + 7, 3, 15, 0 !ADC ROC#1 Sl#7 Ch#7 HSCIN pl#3 [X2] id#15 sig#0 [ADC+] (7 X2P-15) + 8, 3, 2, 0 !ADC ROC#1 Sl#7 Ch#8 HSCIN pl#3 [X2] id#2 sig#0 [ADC+] (8 X2P-02) + 9, 3, 4, 0 !ADC ROC#1 Sl#7 Ch#9 HSCIN pl#3 [X2] id#4 sig#0 [ADC+] (9 X2P-04) + 10, 3, 6, 0 !ADC ROC#1 Sl#7 Ch#10 HSCIN pl#3 [X2] id#6 sig#0 [ADC+] (10 X2P-06) + 11, 3, 8, 0 !ADC ROC#1 Sl#7 Ch#11 HSCIN pl#3 [X2] id#8 sig#0 [ADC+] (11 X2P-08) + 12, 3, 10, 0 !ADC ROC#1 Sl#7 Ch#12 HSCIN pl#3 [X2] id#10 sig#0 [ADC+] (12 X2P-10) + 13, 3, 12, 0 !ADC ROC#1 Sl#7 Ch#13 HSCIN pl#3 [X2] id#12 sig#0 [ADC+] (13 X2P-12) + 14, 3, 14, 0 !ADC ROC#1 Sl#7 Ch#14 HSCIN pl#3 [X2] id#14 sig#0 [ADC+] (14 X2P-14) + 15, 3, 16, 0 !ADC ROC#1 Sl#7 Ch#15 HSCIN pl#3 [X2] id#16 sig#0 [ADC+] (15 X2P-16) +! + 16, 3, 1, 1 !ADC ROC#1 Sl#7 Ch#16 HSCIN pl#3 [X2] id#1 sig#1 [ADC-] (16 X2N-01) + 17, 3, 3, 1 !ADC ROC#1 Sl#7 Ch#17 HSCIN pl#3 [X2] id#3 sig#1 [ADC-] (17 X2N-03) + 18, 3, 5, 1 !ADC ROC#1 Sl#7 Ch#18 HSCIN pl#3 [X2] id#5 sig#1 [ADC-] (18 X2N-05) + 19, 3, 7, 1 !ADC ROC#1 Sl#7 Ch#19 HSCIN pl#3 [X2] id#7 sig#1 [ADC-] (19 X2N-07) + 20, 3, 9, 1 !ADC ROC#1 Sl#7 Ch#20 HSCIN pl#3 [X2] id#9 sig#1 [ADC-] (20 X2N-09) + 21, 3, 11, 1 !ADC ROC#1 Sl#7 Ch#21 HSCIN pl#3 [X2] id#11 sig#1 [ADC-] (21 X2N-11) + 22, 3, 13, 1 !ADC ROC#1 Sl#7 Ch#22 HSCIN pl#3 [X2] id#13 sig#1 [ADC-] (22 X2N-13) + 23, 3, 15, 1 !ADC ROC#1 Sl#7 Ch#23 HSCIN pl#3 [X2] id#15 sig#1 [ADC-] (23 X2N-15) +! + 24, 3, 2, 1 !ADC ROC#1 Sl#7 Ch#24 HSCIN pl#3 [X2] id#2 sig#1 [ADC-] (24 X2N-02) + 25, 3, 4, 1 !ADC ROC#1 Sl#7 Ch#25 HSCIN pl#3 [X2] id#4 sig#1 [ADC-] (25 X2N-04) + 26, 3, 6, 1 !ADC ROC#1 Sl#7 Ch#26 HSCIN pl#3 [X2] id#6 sig#1 [ADC-] (26 X2N-06) + 27, 3, 8, 1 !ADC ROC#1 Sl#7 Ch#27 HSCIN pl#3 [X2] id#8 sig#1 [ADC-] (27 X2N-08) + 28, 3, 10, 1 !ADC ROC#1 Sl#7 Ch#28 HSCIN pl#3 [X2] id#10 sig#1 [ADC-] (28 X2N-10) + 29, 3, 12, 1 !ADC ROC#1 Sl#7 Ch#29 HSCIN pl#3 [X2] id#12 sig#1 [ADC-] (29 X2N-12) + 30, 3, 14, 1 !ADC ROC#1 Sl#7 Ch#30 HSCIN pl#3 [X2] id#14 sig#1 [ADC-] (30 X2N-14) + 31, 3, 16, 1 !ADC ROC#1 Sl#7 Ch#31 HSCIN pl#3 [X2] id#16 sig#1 [ADC-] (31 X2N-16) + 32, 4, 1, 0 !ADC ROC#1 Sl#7 Ch#32 HSCIN pl#4 [Y2] id#1 sig#0 [ADC+] (32 Y2P-01) + 33, 4, 3, 0 !ADC ROC#1 Sl#7 Ch#33 HSCIN pl#4 [Y2] id#3 sig#0 [ADC+] (33 Y2P-03) + 34, 4, 5, 0 !ADC ROC#1 Sl#7 Ch#34 HSCIN pl#4 [Y2] id#5 sig#0 [ADC+] (34 Y2P-05) + 35, 4, 7, 0 !ADC ROC#1 Sl#7 Ch#35 HSCIN pl#4 [Y2] id#7 sig#0 [ADC+] (35 Y2P-07) + 36, 4, 9, 0 !ADC ROC#1 Sl#7 Ch#36 HSCIN pl#4 [Y2] id#9 sig#0 [ADC+] (36 Y2P-09) +! 37 !ADC ROC#1 Sl#7 Ch#37 unused +! 38 !ADC ROC#1 Sl#7 Ch#38 unused +! 39 !ADC ROC#1 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#1 Sl#7 Ch#40 HSCIN pl#4 [Y2] id#2 sig#0 [ADC+] (40 Y2P-02) + 41, 4, 4, 0 !ADC ROC#1 Sl#7 Ch#41 HSCIN pl#4 [Y2] id#4 sig#0 [ADC+] (41 Y2P-04) + 42, 4, 6, 0 !ADC ROC#1 Sl#7 Ch#42 HSCIN pl#4 [Y2] id#6 sig#0 [ADC+] (42 Y2P-06) + 43, 4, 8, 0 !ADC ROC#1 Sl#7 Ch#43 HSCIN pl#4 [Y2] id#8 sig#0 [ADC+] (43 Y2P-08) + 44, 4, 10, 0 !ADC ROC#1 Sl#7 Ch#44 HSCIN pl#4 [Y2] id#10 sig#0 [ADC+] (44 Y2P-10) +! 45 !ADC ROC#1 Sl#7 Ch#45 unused +! 46 !ADC ROC#1 Sl#7 Ch#46 unused +! 47 !ADC ROC#1 Sl#7 Ch#47 unused + 48, 4, 1, 1 !ADC ROC#1 Sl#7 Ch#48 HSCIN pl#4 [Y2] id#1 sig#1 [ADC-] (48 Y2N-01) + 49, 4, 3, 1 !ADC ROC#1 Sl#7 Ch#49 HSCIN pl#4 [Y2] id#3 sig#1 [ADC-] (49 Y2N-03) + 50, 4, 5, 1 !ADC ROC#1 Sl#7 Ch#50 HSCIN pl#4 [Y2] id#5 sig#1 [ADC-] (50 Y2N-05) + 51, 4, 7, 1 !ADC ROC#1 Sl#7 Ch#51 HSCIN pl#4 [Y2] id#7 sig#1 [ADC-] (51 Y2N-07) + 52, 4, 9, 1 !ADC ROC#1 Sl#7 Ch#52 HSCIN pl#4 [Y2] id#9 sig#1 [ADC-] (52 Y2N-09) +! 53 !ADC ROC#1 Sl#7 Ch#53 unused +! 54 !ADC ROC#1 Sl#7 Ch#54 unused +! 55 !ADC ROC#1 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#1 Sl#7 Ch#56 HSCIN pl#4 [Y2] id#2 sig#1 [ADC-] (56 Y2N-02) + 57, 4, 4, 1 !ADC ROC#1 Sl#7 Ch#57 HSCIN pl#4 [Y2] id#4 sig#1 [ADC-] (57 Y2N-04) + 58, 4, 6, 1 !ADC ROC#1 Sl#7 Ch#58 HSCIN pl#4 [Y2] id#6 sig#1 [ADC-] (58 Y2N-06) + 59, 4, 8, 1 !ADC ROC#1 Sl#7 Ch#59 HSCIN pl#4 [Y2] id#8 sig#1 [ADC-] (59 Y2N-08) + 60, 4, 10, 1 !ADC ROC#1 Sl#7 Ch#60 HSCIN pl#4 [Y2] id#10 sig#1 [ADC-] (60 Y2N-10) +! 61 !ADC ROC#1 Sl#7 Ch#61 unused +! 62 !ADC ROC#1 Sl#7 Ch#62 unused +! 63 !ADC ROC#1 Sl#7 Ch#63 unused +! +!--------------------------------------------------------------------------------- + detector= 4 !HCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#1 Sl#1 Ch#0 HCAL col#1 row#1 (0 A-01) + 1, 1, 2 !ADC ROC#1 Sl#1 Ch#1 HCAL col#1 row#2 (1 A-02) + 2, 1, 3 !ADC ROC#1 Sl#1 Ch#2 HCAL col#1 row#3 (2 A-03) + 3, 1, 4 !ADC ROC#1 Sl#1 Ch#3 HCAL col#1 row#4 (3 A-04) + 4, 1, 5 !ADC ROC#1 Sl#1 Ch#4 HCAL col#1 row#5 (4 A-05) + 5, 1, 6 !ADC ROC#1 Sl#1 Ch#5 HCAL col#1 row#6 (5 A-06) + 6, 1, 7 !ADC ROC#1 Sl#1 Ch#6 HCAL col#1 row#7 (6 A-07) + 7, 1, 8 !ADC ROC#1 Sl#1 Ch#7 HCAL col#1 row#8 (7 A-08) + 8, 1, 9 !ADC ROC#1 Sl#1 Ch#8 HCAL col#1 row#9 (8 A-09) + 9, 1, 10 !ADC ROC#1 Sl#1 Ch#9 HCAL col#1 row#10 (9 A-10) + 10, 1, 11 !ADC ROC#1 Sl#1 Ch#10 HCAL col#1 row#11 (10 A-11) + 11, 1, 12 !ADC ROC#1 Sl#1 Ch#11 HCAL col#1 row#12 (11 A-12) + 12, 1, 13 !ADC ROC#1 Sl#1 Ch#12 HCAL col#1 row#13 (12 A-13) +! 13 !ADC ROC#1 Sl#1 Ch#13 unused +! 14 !ADC ROC#1 Sl#1 Ch#14 unused +! 15 !ADC ROC#1 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#1 Sl#1 Ch#16 HCAL col#2 row#1 (16 B-01) + 17, 2, 2 !ADC ROC#1 Sl#1 Ch#17 HCAL col#2 row#2 (17 B-02) + 18, 2, 3 !ADC ROC#1 Sl#1 Ch#18 HCAL col#2 row#3 (18 B-03) + 19, 2, 4 !ADC ROC#1 Sl#1 Ch#19 HCAL col#2 row#4 (19 B-04) + 20, 2, 5 !ADC ROC#1 Sl#1 Ch#20 HCAL col#2 row#5 (20 B-05) + 21, 2, 6 !ADC ROC#1 Sl#1 Ch#21 HCAL col#2 row#6 (21 B-06) + 22, 2, 7 !ADC ROC#1 Sl#1 Ch#22 HCAL col#2 row#7 (22 B-07) + 23, 2, 8 !ADC ROC#1 Sl#1 Ch#23 HCAL col#2 row#8 (23 B-08) + 24, 2, 9 !ADC ROC#1 Sl#1 Ch#24 HCAL col#2 row#9 (24 B-09) + 25, 2, 10 !ADC ROC#1 Sl#1 Ch#25 HCAL col#2 row#10 (25 B-10) + 26, 2, 11 !ADC ROC#1 Sl#1 Ch#26 HCAL col#2 row#11 (26 B-11) + 27, 2, 12 !ADC ROC#1 Sl#1 Ch#27 HCAL col#2 row#12 (27 B-12) + 28, 2, 13 !ADC ROC#1 Sl#1 Ch#28 HCAL col#2 row#13 (28 B-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused + 32, 3, 1 !ADC ROC#1 Sl#1 Ch#32 HCAL col#3 row#1 (32 C-01) + 33, 3, 2 !ADC ROC#1 Sl#1 Ch#33 HCAL col#3 row#2 (33 C-02) + 34, 3, 3 !ADC ROC#1 Sl#1 Ch#34 HCAL col#3 row#3 (34 C-03) + 35, 3, 4 !ADC ROC#1 Sl#1 Ch#35 HCAL col#3 row#4 (35 C-04) + 36, 3, 5 !ADC ROC#1 Sl#1 Ch#36 HCAL col#3 row#5 (36 C-05) + 37, 3, 6 !ADC ROC#1 Sl#1 Ch#37 HCAL col#3 row#6 (37 C-06) + 38, 3, 7 !ADC ROC#1 Sl#1 Ch#38 HCAL col#3 row#7 (38 C-07) + 39, 3, 8 !ADC ROC#1 Sl#1 Ch#39 HCAL col#3 row#8 (39 C-08) + 40, 3, 9 !ADC ROC#1 Sl#1 Ch#40 HCAL col#3 row#9 (40 C-09) + 41, 3, 10 !ADC ROC#1 Sl#1 Ch#41 HCAL col#3 row#10 (41 C-10) + 42, 3, 11 !ADC ROC#1 Sl#1 Ch#42 HCAL col#3 row#11 (42 C-11) + 43, 3, 12 !ADC ROC#1 Sl#1 Ch#43 HCAL col#3 row#12 (43 C-12) + 44, 3, 13 !ADC ROC#1 Sl#1 Ch#44 HCAL col#3 row#13 (44 C-13) +! 45 !ADC ROC#1 Sl#1 Ch#45 unused +! 46 !ADC ROC#1 Sl#1 Ch#46 unused +! 47 !ADC ROC#1 Sl#1 Ch#47 unused + 48, 4, 1 !ADC ROC#1 Sl#1 Ch#48 HCAL col#4 row#1 (48 D-01) + 49, 4, 2 !ADC ROC#1 Sl#1 Ch#49 HCAL col#4 row#2 (49 D-02) + 50, 4, 3 !ADC ROC#1 Sl#1 Ch#50 HCAL col#4 row#3 (50 D-03) + 51, 4, 4 !ADC ROC#1 Sl#1 Ch#51 HCAL col#4 row#4 (51 D-04) + 52, 4, 5 !ADC ROC#1 Sl#1 Ch#52 HCAL col#4 row#5 (52 D-05) + 53, 4, 6 !ADC ROC#1 Sl#1 Ch#53 HCAL col#4 row#6 (53 D-06) + 54, 4, 7 !ADC ROC#1 Sl#1 Ch#54 HCAL col#4 row#7 (54 D-07) + 55, 4, 8 !ADC ROC#1 Sl#1 Ch#55 HCAL col#4 row#8 (55 D-08) + 56, 4, 9 !ADC ROC#1 Sl#1 Ch#56 HCAL col#4 row#9 (56 D-09) + 57, 4, 10 !ADC ROC#1 Sl#1 Ch#57 HCAL col#4 row#10 (57 D-10) + 58, 4, 11 !ADC ROC#1 Sl#1 Ch#58 HCAL col#4 row#11 (58 D-11) + 59, 4, 12 !ADC ROC#1 Sl#1 Ch#59 HCAL col#4 row#12 (59 D-12) + 60, 4, 13 !ADC ROC#1 Sl#1 Ch#60 HCAL col#4 row#13 (60 D-13) +! +! 61 !ADC ROC#1 Sl#1 Ch#61 unused + + detector= 5 !HMISC - scintillator (ADCs) - behind calorimeter + 62, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). + 63, 2, 2, 0 ! +! +detector= 4 !HCAL +Slot= 5 ! ADC Second set of tubes on first two layers + 0, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#0 HCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#1 HCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#2 HCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#3 HCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#4 HCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#5 HCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#6 HCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#7 HCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#1 Sl#5 Ch#8 HCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#1 Sl#5 Ch#9 HCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#1 Sl#5 Ch#10 HCAL col#1 row#11 (10 An-11) + 11, 1, 12, 1 !ADC ROC#1 Sl#5 Ch#11 HCAL col#1 row#12 (11 An-112) + 12, 1, 13, 1 !ADC ROC#1 Sl#5 Ch#12 HCAL col#1 row#13 (12 An-13) +! 13 !ADC ROC#1 Sl#5 Ch#13 unused +! 14 !ADC ROC#1 Sl#5 Ch#14 unused +! 15 !ADC ROC#1 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#1 Sl#5 Ch#16 HCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#1 Sl#5 Ch#17 HCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#1 Sl#5 Ch#18 HCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#1 Sl#5 Ch#19 HCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#1 Sl#5 Ch#20 HCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#1 Sl#5 Ch#21 HCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#1 Sl#5 Ch#22 HCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#1 Sl#5 Ch#23 HCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#1 Sl#5 Ch#24 HCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#1 Sl#5 Ch#25 HCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#1 Sl#5 Ch#26 HCAL col#2 row#11 (26 Bn-11) + 27, 2, 12, 1 !ADC ROC#1 Sl#5 Ch#27 HCAL col#2 row#12 (27 Bn-12) + 28, 2, 13, 1 !ADC ROC#1 Sl#5 Ch#28 HCAL col#2 row#13 (28 Bn-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused +! +!================================================================== +!!!!!!!!!!!!!!!!!!!!!!! AEROGEL ADC !!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! + detector = 7 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! +!Slot= 5 ! ADC +! May be will use spare channels HCAL ADC for aerogel (Hamlet, 2002/10/16) +!48, 1, 1, 0 !ADC ROC#1 Sl#5 Ch#48 signal pos 1 +!49, 1, 2, 0 !ADC ROC#1 Sl#5 Ch#48signal pos 2 +!50, 1, 3, 0 !ADC ROC#1 Sl#5 Ch#50 signal pos 3 +!51, 1, 4, 0 !ADC ROC#1 Sl#5 Ch#51 signal pos 4 +!52, 1, 5, 0 !ADC ROC#1 Sl#5 Ch#52 signal pos 5 +!53, 1, 6, 0 !ADC ROC#1 Sl#5 Ch#53 signal pos 6 +!54, 1, 7, 0 !ADC ROC#1 Sl#5 Ch#54 signal pos 7 +!55, 1, 8, 0 !ADC ROC#1 Sl#5 Ch#55 signal pos 8 +!56, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#56 signal neg 1 +!57, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#57 signal neg 2 +!58, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#58 signal neg 3 +!59, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#59 signal neg 4 +!60, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#60 signal neg 5 +!61, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#61 signal neg 6 +!62, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#62 signal neg 7 +!63, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#63 signal neg 8 +! +! detector = 7 +! Nsubadd= 64 +! MASK= 3FFFx +! BSUB= 17 + + Slot= 11 ! ADC +! Additional new ADC for aerogel (Hamlet, 2002/10/17) + 0, 1, 1, 0 !ADC ROC#1 Sl#11 Ch#0 signal pos 1 + 1, 1, 2, 0 !ADC ROC#1 Sl#11 Ch#1 signal pos 2 + 2, 1, 3, 0 !ADC ROC#1 Sl#11 Ch#2 signal pos 3 + 3, 1, 4, 0 !ADC ROC#1 Sl#11 Ch#3 signal pos 4 + 4, 1, 5, 0 !ADC ROC#1 Sl#11 Ch#4 signal pos 5 + 5, 1, 6, 0 !ADC ROC#1 Sl#11 Ch#5 signal pos 6 + 6, 1, 7, 0 !ADC ROC#1 Sl#11 Ch#6 signal pos 7 + 7, 1, 8, 0 !ADC ROC#1 Sl#11 Ch#7 signal pos 8 + 8, 1, 1, 1 !ADC ROC#1 Sl#11 Ch#8 signal neg 1 + 9, 1, 2, 1 !ADC ROC#1 Sl#11 Ch#9 signal neg 2 + 10, 1, 3, 1 !ADC ROC#1 Sl#11 Ch#10 signal neg 3 + 11, 1, 4, 1 !ADC ROC#1 Sl#11 Ch#11 signal neg 4 + 12, 1, 5, 1 !ADC ROC#1 Sl#11 Ch#12 signal neg 5 + 13, 1, 6, 1 !ADC ROC#1 Sl#11 Ch#13 signal neg 6 + 14, 1, 7, 1 !ADC ROC#1 Sl#11 Ch#14 signal neg 7 + 15, 1, 8, 1 !ADC ROC#1 Sl#11 Ch#15 signal neg 8 +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!----------------------------------------------------------------- + detector= 3 !HCER +! + Slot= 3 + 0, 1, 1 !ADC ROC#1 Sl#3 Ch#0 HCER tube#1 (C1) + 1, 1, 2 !ADC ROC#1 Sl#3 Ch#1 HCER tube#2 (C2) +! 2 !ADC ROC#1 Sl#3 Ch#2 unused +! 3 !ADC ROC#1 Sl#3 Ch#3 unused +! 4 !ADC ROC#1 Sl#3 Ch#4 unused +! 5 !ADC ROC#1 Sl#3 Ch#5 unused +! 6 !ADC ROC#1 Sl#3 Ch#6 unused +! 7 !ADC ROC#1 Sl#3 Ch#7 unused +! 8 !ADC ROC#1 Sl#3 Ch#8 unused +! 9 !ADC ROC#1 Sl#3 Ch#9 unused +! 10 !ADC ROC#1 Sl#3 Ch#10 unused +! 11 !ADC ROC#1 Sl#3 Ch#11 unused +! 12 !ADC ROC#1 Sl#3 Ch#12 unused +! 13 !ADC ROC#1 Sl#3 Ch#13 unused +! 14 !ADC ROC#1 Sl#3 Ch#14 unused +! 15 !ADC ROC#1 Sl#3 Ch#15 unused +! 16 !ADC ROC#1 Sl#3 Ch#16 unused +! 17 !ADC ROC#1 Sl#3 Ch#17 unused +! 18 !ADC ROC#1 Sl#3 Ch#18 unused +! 19 !ADC ROC#1 Sl#3 Ch#19 unused +! 20 !ADC ROC#1 Sl#3 Ch#20 unused +! 21 !ADC ROC#1 Sl#3 Ch#21 unused +! 22 !ADC ROC#1 Sl#3 Ch#22 unused +! 23 !ADC ROC#1 Sl#3 Ch#23 unused +! 24 !ADC ROC#1 Sl#3 Ch#24 unused +! 25 !ADC ROC#1 Sl#3 Ch#25 unused +! 26 !ADC ROC#1 Sl#3 Ch#26 unused +! 27 !ADC ROC#1 Sl#3 Ch#27 unused +! 28 !ADC ROC#1 Sl#3 Ch#28 unused +! 29 !ADC ROC#1 Sl#3 Ch#29 unused +! 30 !ADC ROC#1 Sl#3 Ch#30 unused +! 31 !ADC ROC#1 Sl#3 Ch#31 unused +! 32 !ADC ROC#1 Sl#3 Ch#32 unused +! 33 !ADC ROC#1 Sl#3 Ch#33 unused +! 34 !ADC ROC#1 Sl#3 Ch#34 unused +! 35 !ADC ROC#1 Sl#3 Ch#35 unused +! 36 !ADC ROC#1 Sl#3 Ch#36 unused +! 37 !ADC ROC#1 Sl#3 Ch#37 unused +! 38 !ADC ROC#1 Sl#3 Ch#38 unused +! 39 !ADC ROC#1 Sl#3 Ch#39 unused +! 40 !ADC ROC#1 Sl#3 Ch#40 unused +! 41 !ADC ROC#1 Sl#3 Ch#41 unused +! 42 !ADC ROC#1 Sl#3 Ch#42 unused +! 43 !ADC ROC#1 Sl#3 Ch#43 unused +! 44 !ADC ROC#1 Sl#3 Ch#44 unused +! 45 !ADC ROC#1 Sl#3 Ch#45 unused +! 46 !ADC ROC#1 Sl#3 Ch#46 unused +! 47 !ADC ROC#1 Sl#3 Ch#47 unused +!detector= 6 ! GMISC +!!! Use "plane" 2 for the PMT's on the floor (BLM's) +!48, 2, 1, 0 ! Special PMT signal ch #1 +!49, 2, 2, 0 ! Special PMT signal ch #1 +!50, 2, 3, 0 ! Special PMT signal ch #1 +!51, 2, 4, 0 ! Special PMT signal ch #1 +!52, 2, 5, 0 ! Special PMT signal ch #1 +!53, 2, 6, 0 ! Special PMT signal ch #1 +!54, 2, 7, 0 ! Special PMT signal ch #1 +!55, 2, 8, 0 ! Special PMT signal ch #1 +! 48 !ADC ROC#1 Sl#3 Ch#48 unused +! 49 !ADC ROC#1 Sl#3 Ch#49 unused +! 50 !ADC ROC#1 Sl#3 Ch#50 unused +! 51 !ADC ROC#1 Sl#3 Ch#51 unused +! 52 !ADC ROC#1 Sl#3 Ch#52 unused +! 53 !ADC ROC#1 Sl#3 Ch#53 unused +! 54 !ADC ROC#1 Sl#3 Ch#54 unused +! 55 !ADC ROC#1 Sl#3 Ch#55 unused +! 56 !ADC ROC#1 Sl#3 Ch#56 unused +! 57 !ADC ROC#1 Sl#3 Ch#57 unused +! 58 !ADC ROC#1 Sl#3 Ch#58 unused +! 59 !ADC ROC#1 Sl#3 Ch#59 unused +! 60 !ADC ROC#1 Sl#3 Ch#60 unused +! 61 !ADC ROC#1 Sl#3 Ch#61 unused +! 62 !ADC ROC#1 Sl#3 Ch#62 unused +! 63 !ADC ROC#1 Sl#3 Ch#63 unused +! +! + detector= 6 ! GMISC +! + Slot= 13 +! +! 0, 2, 1, 0 !ADC ROC#1 Sl#15 Ch#0 +! 1, 2, 2, 0 !ADC ROC#1 Sl#15 Ch#1 +! 2, 2, 3, 0 !ADC ROC#1 Sl#15 Ch#2 +! 3, 2, 4, 0 !ADC ROC#1 Sl#15 Ch#3 + 4, 2, 5, 0 !ADC ROC#1 Sl#15 Ch#4 H00A X+ + 5, 2, 6, 0 !ADC ROC#1 Sl#15 Ch#5 H00A X- + 6, 2, 7, 0 !ADC ROC#1 Sl#15 Ch#6 H00A Y+ + 7, 2, 8, 0 !ADC ROC#1 Sl#15 Ch#7 H00A Y- + 8, 2, 9, 0 !ADC ROC#1 Sl#15 Ch#8 H00B X+ + 9, 2, 10, 0 !ADC ROC#1 Sl#15 Ch#9 H00B X- + 10, 2, 11, 0 !ADC ROC#1 Sl#15 Ch#10 H00B Y+ + 11, 2, 12, 0 !ADC ROC#1 Sl#15 Ch#11 H00B Y- +! 12, 2, 13, 0 !ADC ROC#1 Sl#15 Ch#12 Fast Raster X-sync +! 13, 2, 14, 0 !ADC ROC#1 Sl#15 Ch#13 Fast Raster X-signal +! 14, 2, 15, 0 !ADC ROC#1 Sl#15 Ch#14 Fast Raster Y-sync +! 15, 2, 16, 0 !ADC ROC#1 Sl#15 Ch#15 Fast Raster Y-signal +! mkj switch x and y Apr 9,2003 + 14, 2, 13, 0 !ADC ROC#1 Sl#15 Ch#14 Fast Raster X-sync + 15, 2, 14, 0 !ADC ROC#1 Sl#15 Ch#15 Fast Raster X-signal + 12, 2, 15, 0 !ADC ROC#1 Sl#15 Ch#12 Fast Raster Y-sync + 13, 2, 16, 0 !ADC ROC#1 Sl#15 Ch#13 Fast Raster Y-signal + 16, 2, 17, 0 !ADC ROC#1 Sl#15 Ch#16 H00C X+ + 17, 2, 18, 0 !ADC ROC#1 Sl#15 Ch#17 H00C X- + 18, 2, 19, 0 !ADC ROC#1 Sl#15 Ch#18 H00C Y+ + 19, 2, 20, 0 !ADC ROC#1 Sl#15 Ch#19 H00C Y- +! 20 !ADC ROC#1 Sl#15 Ch#20 unused +! 21 !ADC ROC#1 Sl#15 Ch#21 unused + 22, 2, 23, 0 !ADC ROC#1 Sl#15 Ch#22 Raster gate +! 23 !ADC ROC#1 Sl#15 Ch#23 unused +! 24 !ADC ROC#1 Sl#15 Ch#24 unused +! 25 !ADC ROC#1 Sl#15 Ch#25 unused +! 26 !ADC ROC#1 Sl#15 Ch#26 unused +! 27 !ADC ROC#1 Sl#15 Ch#27 unused +! 28 !ADC ROC#1 Sl#15 Ch#28 unused +! 29 !ADC ROC#1 Sl#15 Ch#29 unused +! 30 !ADC ROC#1 Sl#15 Ch#30 unused +! 31 !ADC ROC#1 Sl#15 Ch#31 unused + 32, 2, 32, 0 ! Paul Gueye + 33, 2, 33, 0 ! Paul Gueye + 34, 2, 34, 0 ! Paul Gueye + 35, 2, 35, 0 ! Paul Gueye + 36, 2, 36, 0 ! Paul Gueye + 37, 2, 37, 0 ! Paul Gueye + 38, 2, 38, 0 ! Paul Gueye + 39, 2, 39, 0 ! Paul Gueye + 40, 2, 40, 0 ! Paul Gueye + 41, 2, 41, 0 ! Paul Gueye + 42, 2, 42, 0 ! Paul Gueye + 43, 2, 43, 0 ! Paul Gueye + 44, 2, 44, 0 ! Paul Gueye + 45, 2, 45, 0 ! Paul Gueye + 46, 2, 46, 0 ! Paul Gueye + 47, 2, 47, 0 ! Paul Gueye +! 32 !ADC ROC#1 Sl#15 Ch#32 unused +! 33 !ADC ROC#1 Sl#15 Ch#33 unused +! 34 !ADC ROC#1 Sl#15 Ch#34 unused +! 35 !ADC ROC#1 Sl#15 Ch#35 unused +! 36 !ADC ROC#1 Sl#15 Ch#36 unused +! 37 !ADC ROC#1 Sl#15 Ch#37 unused +! 38 !ADC ROC#1 Sl#15 Ch#38 unused +! 39 !ADC ROC#1 Sl#15 Ch#39 unused +! 40 !ADC ROC#1 Sl#15 Ch#40 unused +! 41 !ADC ROC#1 Sl#15 Ch#41 unused +! 42 !ADC ROC#1 Sl#15 Ch#42 unused +! 43 !ADC ROC#1 Sl#15 Ch#43 unused +! 44 !ADC ROC#1 Sl#15 Ch#44 unused +! 45 !ADC ROC#1 Sl#15 Ch#45 unused +! 46 !ADC ROC#1 Sl#15 Ch#46 unused +! 47 !ADC ROC#1 Sl#15 Ch#47 unused +! 48 !ADC ROC#1 Sl#15 Ch#48 unused +! 49 !ADC ROC#1 Sl#15 Ch#49 unused +! 50 !ADC ROC#1 Sl#15 Ch#50 unused +! 51 !ADC ROC#1 Sl#15 Ch#51 unused +! 52 !ADC ROC#1 Sl#15 Ch#52 unused +! 53 !ADC ROC#1 Sl#15 Ch#53 unused +! 54 !ADC ROC#1 Sl#15 Ch#54 unused +! 55 !ADC ROC#1 Sl#15 Ch#55 unused +! 56 !ADC ROC#1 Sl#15 Ch#56 unused +! 57 !ADC ROC#1 Sl#15 Ch#57 unused +! 58 !ADC ROC#1 Sl#15 Ch#58 unused +! 59 !ADC ROC#1 Sl#15 Ch#59 unused +! 60 !ADC ROC#1 Sl#15 Ch#60 unused +! 61 !ADC ROC#1 Sl#15 Ch#61 unused +! 62 !ADC ROC#1 Sl#15 Ch#62 unused +! 63 !ADC ROC#1 Sl#15 Ch#63 unused +! +!--------------------------------------------------------------------- +!=============================== SOS MAP ============================= +!............ This part copy from replay99 (Hamlet,19 Dec'02)............ +! +! REAL map for SOS Drift Chambers (SDC); J.R.Arrington 20-Mar-1995 +! + ROC= 4 !ReadOutController (crate) for SOS (fbsos) +! + Nsubadd= 96 !assume 96 channel modules + MASK= FFFFx !hex mask - assume LeCroy masking (lowest 13 bits) + BSUB= 17 !begin channel info with bit#17 +! + detector= 11 !SDC +! + slot= 1 !SDC TDC +! +! SDC plane (1) + 0, 1, 1 !chamber 1, U plane, 48 wires. + 1, 1, 2 + 2, 1, 3 + 3, 1, 4 + 4, 1, 5 + 5, 1, 6 + 6, 1, 7 + 7, 1, 8 + 8, 1, 9 + 9, 1, 10 + 10, 1, 11 + 11, 1, 12 + 12, 1, 13 + 13, 1, 14 + 14, 1, 15 + 15, 1, 16 + 16, 1, 17 + 17, 1, 18 + 18, 1, 19 + 19, 1, 20 + 20, 1, 21 + 21, 1, 22 + 22, 1, 23 + 23, 1, 24 + 24, 1, 25 + 25, 1, 26 + 26, 1, 27 + 27, 1, 28 + 28, 1, 29 + 29, 1, 30 + 30, 1, 31 + 31, 1, 32 + 32, 1, 33 + 33, 1, 34 + 34, 1, 35 + 35, 1, 36 + 36, 1, 37 + 37, 1, 38 + 38, 1, 39 + 39, 1, 40 + 40, 1, 41 + 41, 1, 42 + 42, 1, 43 + 43, 1, 44 + 44, 1, 45 + 45, 1, 46 + 46, 1, 47 + 47, 1, 48 + 48, 2, 1 !chamber 1, U' plane, 48 wires. + 49, 2, 2 + 50, 2, 3 + 51, 2, 4 + 52, 2, 5 + 53, 2, 6 + 54, 2, 7 + 55, 2, 8 + 56, 2, 9 + 57, 2, 10 + 58, 2, 11 + 59, 2, 12 + 60, 2, 13 + 61, 2, 14 + 62, 2, 15 + 63, 2, 16 + 64, 2, 17 + 65, 2, 18 + 66, 2, 19 + 67, 2, 20 + 68, 2, 21 + 69, 2, 22 + 70, 2, 23 + 71, 2, 24 + 72, 2, 25 + 73, 2, 26 + 74, 2, 27 + 75, 2, 28 + 76, 2, 29 + 77, 2, 30 + 78, 2, 31 + 79, 2, 32 + 80, 2, 33 + 81, 2, 34 + 82, 2, 35 + 83, 2, 36 + 84, 2, 37 + 85, 2, 38 + 86, 2, 39 + 87, 2, 40 + 88, 2, 41 + 89, 2, 42 + 90, 2, 43 + 91, 2, 44 + 92, 2, 45 + 93, 2, 46 + 94, 2, 47 + 95, 2, 48 +! + slot= 2 !SDC TDC +! +! SDC plane (2) + 0, 5, 1 !chamber 1, V plane, 48 wires. + 1, 5, 2 + 2, 5, 3 + 3, 5, 4 + 4, 5, 5 + 5, 5, 6 + 6, 5, 7 + 7, 5, 8 + 8, 5, 9 + 9, 5, 10 + 10, 5, 11 + 11, 5, 12 + 12, 5, 13 + 13, 5, 14 + 14, 5, 15 + 15, 5, 16 + 16, 5, 17 + 17, 5, 18 + 18, 5, 19 + 19, 5, 20 + 20, 5, 21 + 21, 5, 22 + 22, 5, 23 + 23, 5, 24 + 24, 5, 25 + 25, 5, 26 + 26, 5, 27 + 27, 5, 28 + 28, 5, 29 + 29, 5, 30 + 30, 5, 31 + 31, 5, 32 + 32, 5, 33 + 33, 5, 34 + 34, 5, 35 + 35, 5, 36 + 36, 5, 37 + 37, 5, 38 + 38, 5, 39 + 39, 5, 40 + 40, 5, 41 + 41, 5, 42 + 42, 5, 43 + 43, 5, 44 + 44, 5, 45 + 45, 5, 46 + 46, 5, 47 + 47, 5, 48 + 48, 6, 1 !chamber 1, V' plane, 48 wires. + 49, 6, 2 + 50, 6, 3 + 51, 6, 4 + 52, 6, 5 + 53, 6, 6 + 54, 6, 7 + 55, 6, 8 + 56, 6, 9 + 57, 6, 10 + 58, 6, 11 + 59, 6, 12 + 60, 6, 13 + 61, 6, 14 + 62, 6, 15 + 63, 6, 16 + 64, 6, 17 + 65, 6, 18 + 66, 6, 19 + 67, 6, 20 + 68, 6, 21 + 69, 6, 22 + 70, 6, 23 + 71, 6, 24 + 72, 6, 25 + 73, 6, 26 + 74, 6, 27 + 75, 6, 28 + 76, 6, 29 + 77, 6, 30 + 78, 6, 31 + 79, 6, 32 + 80, 6, 33 + 81, 6, 34 + 82, 6, 35 + 83, 6, 36 + 84, 6, 37 + 85, 6, 38 + 86, 6, 39 + 87, 6, 40 + 88, 6, 41 + 89, 6, 42 + 90, 6, 43 + 91, 6, 44 + 92, 6, 45 + 93, 6, 46 + 94, 6, 47 + 95, 6, 48 +! + slot= 4 !SDC TDC +! +! SDC plane (3) + 0, 3, 1 !chamber 1, X plane, 64 wires. + 1, 3, 2 + 2, 3, 3 + 3, 3, 4 + 4, 3, 5 + 5, 3, 6 + 6, 3, 7 + 7, 3, 8 + 8, 3, 9 + 9, 3, 10 + 10, 3, 11 + 11, 3, 12 + 12, 3, 13 + 13, 3, 14 + 14, 3, 15 + 15, 3, 16 + 16, 3, 17 + 17, 3, 18 + 18, 3, 19 + 19, 3, 20 + 20, 3, 21 + 21, 3, 22 + 22, 3, 23 + 23, 3, 24 + 24, 3, 25 + 25, 3, 26 + 26, 3, 27 + 27, 3, 28 + 28, 3, 29 + 29, 3, 30 + 30, 3, 31 + 31, 3, 32 + 32, 3, 33 + 33, 3, 34 + 34, 3, 35 + 35, 3, 36 + 36, 3, 37 + 37, 3, 38 + 38, 3, 39 + 39, 3, 40 + 40, 3, 41 + 41, 3, 42 + 42, 3, 43 + 43, 3, 44 + 44, 3, 45 + 45, 3, 46 + 46, 3, 47 + 47, 3, 48 + 48, 3, 49 + 49, 3, 50 + 50, 3, 51 + 51, 3, 52 + 52, 3, 53 + 53, 3, 54 + 54, 3, 55 + 55, 3, 56 + 56, 3, 57 + 57, 3, 58 + 58, 3, 59 + 59, 3, 60 + 60, 3, 61 + 61, 3, 62 + 62, 3, 63 + 63, 3, 64 +! + slot= 5 !SDC TDC +! +! SDC plane (4) + 0, 4, 1 !chamber 1, X' plane, 64 wires. + 1, 4, 2 + 2, 4, 3 + 3, 4, 4 + 4, 4, 5 + 5, 4, 6 + 6, 4, 7 + 7, 4, 8 + 8, 4, 9 + 9, 4, 10 + 10, 4, 11 + 11, 4, 12 + 12, 4, 13 + 13, 4, 14 + 14, 4, 15 + 15, 4, 16 + 16, 4, 17 + 17, 4, 18 + 18, 4, 19 + 19, 4, 20 + 20, 4, 21 + 21, 4, 22 + 22, 4, 23 + 23, 4, 24 + 24, 4, 25 + 25, 4, 26 + 26, 4, 27 + 27, 4, 28 + 28, 4, 29 + 29, 4, 30 + 30, 4, 31 + 31, 4, 32 + 32, 4, 33 + 33, 4, 34 + 34, 4, 35 + 35, 4, 36 + 36, 4, 37 + 37, 4, 38 + 38, 4, 39 + 39, 4, 40 + 40, 4, 41 + 41, 4, 42 + 42, 4, 43 + 43, 4, 44 + 44, 4, 45 + 45, 4, 46 + 46, 4, 47 + 47, 4, 48 + 48, 4, 49 + 49, 4, 50 + 50, 4, 51 + 51, 4, 52 + 52, 4, 53 + 53, 4, 54 + 54, 4, 55 + 55, 4, 56 + 56, 4, 57 + 57, 4, 58 + 58, 4, 59 + 59, 4, 60 + 60, 4, 61 + 61, 4, 62 + 62, 4, 63 + 63, 4, 64 +! + slot= 8 !SDC TDC +! +! SDC plane (1) + 0, 7, 1 !chamber 2, U plane, 48 wires. + 1, 7, 2 + 2, 7, 3 + 3, 7, 4 + 4, 7, 5 + 5, 7, 6 + 6, 7, 7 + 7, 7, 8 + 8, 7, 9 + 9, 7, 10 + 10, 7, 11 + 11, 7, 12 + 12, 7, 13 + 13, 7, 14 + 14, 7, 15 + 15, 7, 16 + 16, 7, 17 + 17, 7, 18 + 18, 7, 19 + 19, 7, 20 + 20, 7, 21 + 21, 7, 22 + 22, 7, 23 + 23, 7, 24 + 24, 7, 25 + 25, 7, 26 + 26, 7, 27 + 27, 7, 28 + 28, 7, 29 + 29, 7, 30 + 30, 7, 31 + 31, 7, 32 + 32, 7, 33 + 33, 7, 34 + 34, 7, 35 + 35, 7, 36 + 36, 7, 37 + 37, 7, 38 + 38, 7, 39 + 39, 7, 40 + 40, 7, 41 + 41, 7, 42 + 42, 7, 43 + 43, 7, 44 + 44, 7, 45 + 45, 7, 46 + 46, 7, 47 + 47, 7, 48 + 48, 8, 1 !chamber 2, U' plane, 48 wires. + 49, 8, 2 + 50, 8, 3 + 51, 8, 4 + 52, 8, 5 + 53, 8, 6 + 54, 8, 7 + 55, 8, 8 + 56, 8, 9 + 57, 8, 10 + 58, 8, 11 + 59, 8, 12 + 60, 8, 13 + 61, 8, 14 + 62, 8, 15 + 63, 8, 16 + 64, 8, 17 + 65, 8, 18 + 66, 8, 19 + 67, 8, 20 + 68, 8, 21 + 69, 8, 22 + 70, 8, 23 + 71, 8, 24 + 72, 8, 25 + 73, 8, 26 + 74, 8, 27 + 75, 8, 28 + 76, 8, 29 + 77, 8, 30 + 78, 8, 31 + 79, 8, 32 + 80, 8, 33 + 81, 8, 34 + 82, 8, 35 + 83, 8, 36 + 84, 8, 37 + 85, 8, 38 + 86, 8, 39 + 87, 8, 40 + 88, 8, 41 + 89, 8, 42 + 90, 8, 43 + 91, 8, 44 + 92, 8, 45 + 93, 8, 46 + 94, 8, 47 + 95, 8, 48 +! + slot= 9 !SDC TDC +! +! SDC plane (2) + 0, 11, 1 !chamber 2, V plane, 48 wires. + 1, 11, 2 + 2, 11, 3 + 3, 11, 4 + 4, 11, 5 + 5, 11, 6 + 6, 11, 7 + 7, 11, 8 + 8, 11, 9 + 9, 11, 10 + 10, 11, 11 + 11, 11, 12 + 12, 11, 13 + 13, 11, 14 + 14, 11, 15 + 15, 11, 16 + 16, 11, 17 + 17, 11, 18 + 18, 11, 19 + 19, 11, 20 + 20, 11, 21 + 21, 11, 22 + 22, 11, 23 + 23, 11, 24 + 24, 11, 25 + 25, 11, 26 + 26, 11, 27 + 27, 11, 28 + 28, 11, 29 + 29, 11, 30 + 30, 11, 31 + 31, 11, 32 + 32, 11, 33 + 33, 11, 34 + 34, 11, 35 + 35, 11, 36 + 36, 11, 37 + 37, 11, 38 + 38, 11, 39 + 39, 11, 40 + 40, 11, 41 + 41, 11, 42 + 42, 11, 43 + 43, 11, 44 + 44, 11, 45 + 45, 11, 46 + 46, 11, 47 + 47, 11, 48 + 48, 12, 1 !chamber 2, V' plane, 48 wires. + 49, 12, 2 + 50, 12, 3 + 51, 12, 4 + 52, 12, 5 + 53, 12, 6 + 54, 12, 7 + 55, 12, 8 + 56, 12, 9 + 57, 12, 10 + 58, 12, 11 + 59, 12, 12 + 60, 12, 13 + 61, 12, 14 + 62, 12, 15 + 63, 12, 16 + 64, 12, 17 + 65, 12, 18 + 66, 12, 19 + 67, 12, 20 + 68, 12, 21 + 69, 12, 22 + 70, 12, 23 + 71, 12, 24 + 72, 12, 25 + 73, 12, 26 + 74, 12, 27 + 75, 12, 28 + 76, 12, 29 + 77, 12, 30 + 78, 12, 31 + 79, 12, 32 + 80, 12, 33 + 81, 12, 34 + 82, 12, 35 + 83, 12, 36 + 84, 12, 37 + 85, 12, 38 + 86, 12, 39 + 87, 12, 40 + 88, 12, 41 + 89, 12, 42 + 90, 12, 43 + 91, 12, 44 + 92, 12, 45 + 93, 12, 46 + 94, 12, 47 + 95, 12, 48 +! + slot= 11 !SDC TDC +! +! SDC plane (3) + 0, 9, 1 !chamber 2, X plane, 64 wires. + 1, 9, 2 + 2, 9, 3 + 3, 9, 4 + 4, 9, 5 + 5, 9, 6 + 6, 9, 7 + 7, 9, 8 + 8, 9, 9 + 9, 9, 10 + 10, 9, 11 + 11, 9, 12 + 12, 9, 13 + 13, 9, 14 + 14, 9, 15 + 15, 9, 16 + 16, 9, 17 + 17, 9, 18 + 18, 9, 19 + 19, 9, 20 + 20, 9, 21 + 21, 9, 22 + 22, 9, 23 + 23, 9, 24 + 24, 9, 25 + 25, 9, 26 + 26, 9, 27 + 27, 9, 28 + 28, 9, 29 + 29, 9, 30 + 30, 9, 31 + 31, 9, 32 + 32, 9, 33 + 33, 9, 34 + 34, 9, 35 + 35, 9, 36 + 36, 9, 37 + 37, 9, 38 + 38, 9, 39 + 39, 9, 40 + 40, 9, 41 + 41, 9, 42 + 42, 9, 43 + 43, 9, 44 + 44, 9, 45 + 45, 9, 46 + 46, 9, 47 + 47, 9, 48 + 48, 9, 49 + 49, 9, 50 + 50, 9, 51 + 51, 9, 52 + 52, 9, 53 + 53, 9, 54 + 54, 9, 55 + 55, 9, 56 + 56, 9, 57 + 57, 9, 58 + 58, 9, 59 + 59, 9, 60 + 60, 9, 61 + 61, 9, 62 + 62, 9, 63 + 63, 9, 64 +! + slot= 12 !SDC TDC +! +! SDC plane (4) + 0, 10, 1 !chamber 2, X' plane, 64 wires. + 1, 10, 2 + 2, 10, 3 + 3, 10, 4 + 4, 10, 5 + 5, 10, 6 + 6, 10, 7 + 7, 10, 8 + 8, 10, 9 + 9, 10, 10 + 10, 10, 11 + 11, 10, 12 + 12, 10, 13 + 13, 10, 14 + 14, 10, 15 + 15, 10, 16 + 16, 10, 17 + 17, 10, 18 + 18, 10, 19 + 19, 10, 20 + 20, 10, 21 + 21, 10, 22 + 22, 10, 23 + 23, 10, 24 + 24, 10, 25 + 25, 10, 26 + 26, 10, 27 + 27, 10, 28 + 28, 10, 29 + 29, 10, 30 + 30, 10, 31 + 31, 10, 32 + 32, 10, 33 + 33, 10, 34 + 34, 10, 35 + 35, 10, 36 + 36, 10, 37 + 37, 10, 38 + 38, 10, 39 + 39, 10, 40 + 40, 10, 41 + 41, 10, 42 + 42, 10, 43 + 43, 10, 44 + 44, 10, 45 + 45, 10, 46 + 46, 10, 47 + 47, 10, 48 + 48, 10, 49 + 49, 10, 50 + 50, 10, 51 + 51, 10, 52 + 52, 10, 53 + 53, 10, 54 + 54, 10, 55 + 55, 10, 56 + 56, 10, 57 + 57, 10, 58 + 58, 10, 59 + 59, 10, 60 + 60, 10, 61 + 61, 10, 62 + 62, 10, 63 + 63, 10, 64 +! +! SOS upstairs (SSCIN+SCAL+SCER) map K.B.Beard 13-Jun-1994 +! + ROC= 3 !upstairs SOS crate (fbch2) +! + detector= 12 !SSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 22 ! TDC + 0, 1, 3, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#3 [TDC+] + 1, 1, 5, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#5 [TDC+] + 2, 1, 7, 2 !TDC ROC#3 Sl#23 Ch#2 SSCIN pl#1 [X1] id sig#7 [TDC+] + 3, 1, 9, 2 !TDC ROC#3 Sl#23 Ch#3 SSCIN pl#1 [X1] id sig#9 [TDC+] + 4, 1, 2, 2 !TDC ROC#3 Sl#23 Ch#4 SSCIN pl#1 [X1] id sig#2 [TDC+] + 5, 1, 4, 2 !TDC ROC#3 Sl#23 Ch#5 SSCIN pl#1 [X1] id sig#4 [TDC+] + 6, 1, 6, 2 !TDC ROC#3 Sl#23 Ch#6 SSCIN pl#1 [X1] id sig#6 [TDC+] + 7, 1, 8, 2 !TDC ROC#3 Sl#23 Ch#7 SSCIN pl#1 [X1] id sig#8 [TDC+] + 8, 1, 3, 3 !TDC ROC#3 Sl#23 Ch#8 SSCIN pl#1 [X1] id sig#3 [TDC-] + 9, 1, 5, 3 !TDC ROC#3 Sl#23 Ch#9 SSCIN pl#1 [X1] id sig#5 [TDC-] + 10, 1, 7, 3 !TDC ROC#3 Sl#23 Ch#10 SSCIN pl#1 [X1] id sig#7 [TDC-] + 11, 1, 9, 3 !TDC ROC#3 Sl#23 Ch#11 SSCIN pl#1 [X1] id sig#9 [TDC-] + 12, 1, 2, 3 !TDC ROC#3 Sl#23 Ch#12 SSCIN pl#1 [X1] id sig#2 [TDC-] + 13, 1, 4, 3 !TDC ROC#3 Sl#23 Ch#13 SSCIN pl#1 [X1] id sig#4 [TDC-] + 14, 1, 6, 3 !TDC ROC#3 Sl#23 Ch#14 SSCIN pl#1 [X1] id sig#6 [TDC-] + 15, 1, 8, 3 !TDC ROC#3 Sl#23 Ch#15 SSCIN pl#1 [X1] id sig#8 [TDC-] + 16, 2, 3, 2 !TDC ROC#3 Sl#23 Ch#16 SSCIN pl#2 [Y1] id sig#3 [TDC+] + 17, 2, 5, 2 !TDC ROC#3 Sl#23 Ch#17 SSCIN pl#2 [Y1] id sig#5 [TDC+] + 18, 2, 7, 2 !TDC ROC#3 Sl#23 Ch#18 SSCIN pl#2 [Y1] id sig#7 [TDC+] + 19, 2, 9, 2 !TDC ROC#3 Sl#23 Ch#19 SSCIN pl#2 [Y1] id sig#9 [TDC+] + 20, 2, 2, 2 !TDC ROC#3 Sl#23 Ch#20 SSCIN pl#2 [Y1] id sig#2 [TDC+] + 21, 2, 4, 2 !TDC ROC#3 Sl#23 Ch#21 SSCIN pl#2 [Y1] id sig#4 [TDC+] + 22, 2, 6, 2 !TDC ROC#3 Sl#23 Ch#22 SSCIN pl#2 [Y1] id sig#6 [TDC+] + 23, 2, 8, 2 !TDC ROC#3 Sl#23 Ch#23 SSCIN pl#2 [Y1] id sig#8 [TDC+] + 24, 2, 3, 3 !TDC ROC#3 Sl#23 Ch#24 SSCIN pl#2 [Y1] id sig#3 [TDC-] + 25, 2, 5, 3 !TDC ROC#3 Sl#23 Ch#25 SSCIN pl#2 [Y1] id sig#5 [TDC-] + 26, 2, 7, 3 !TDC ROC#3 Sl#23 Ch#26 SSCIN pl#2 [Y1] id sig#7 [TDC-] + 27, 2, 9, 3 !TDC ROC#3 Sl#23 Ch#27 SSCIN pl#2 [Y1] id sig#9 [TDC-] + 28, 2, 2, 3 !TDC ROC#3 Sl#23 Ch#28 SSCIN pl#2 [Y1] id sig#2 [TDC-] + 29, 2, 4, 3 !TDC ROC#3 Sl#23 Ch#29 SSCIN pl#2 [Y1] id sig#4 [TDC-] + 30, 2, 6, 3 !TDC ROC#3 Sl#23 Ch#30 SSCIN pl#2 [Y1] id sig#6 [TDC-] + 31, 2, 8, 3 !TDC ROC#3 Sl#23 Ch#31 SSCIN pl#2 [Y1] id sig#8 [TDC-] + 32, 4, 3, 2 !TDC ROC#3 Sl#23 Ch#32 SSCIN pl#4 [Y2] id sig#3 [TDC+] + 33, 4, 5, 2 !TDC ROC#3 Sl#23 Ch#33 SSCIN pl#4 [Y2] id sig#5 [TDC+] + 34, 4, 7, 2 !TDC ROC#3 Sl#23 Ch#34 SSCIN pl#4 [Y2] id sig#7 [TDC+] + 35, 4, 9, 2 !TDC ROC#3 Sl#23 Ch#35 SSCIN pl#4 [Y2] id sig#9 [TDC+] + 36, 4, 2, 2 !TDC ROC#3 Sl#23 Ch#36 SSCIN pl#4 [Y2] id sig#2 [TDC+] + 37, 4, 4, 2 !TDC ROC#3 Sl#23 Ch#37 SSCIN pl#4 [Y2] id sig#4 [TDC+] + 38, 4, 6, 2 !TDC ROC#3 Sl#23 Ch#38 SSCIN pl#4 [Y2] id sig#6 [TDC+] + 39, 4, 8, 2 !TDC ROC#3 Sl#23 Ch#39 SSCIN pl#4 [Y2] id sig#8 [TDC+] + 40, 4, 3, 3 !TDC ROC#3 Sl#23 Ch#40 SSCIN pl#4 [Y2] id sig#3 [TDC-] + 41, 4, 5, 3 !TDC ROC#3 Sl#23 Ch#41 SSCIN pl#4 [Y2] id sig#5 [TDC-] + 42, 4, 7, 3 !TDC ROC#3 Sl#23 Ch#42 SSCIN pl#4 [Y2] id sig#7 [TDC-] + 43, 4, 9, 3 !TDC ROC#3 Sl#23 Ch#43 SSCIN pl#4 [Y2] id sig#9 [TDC-] + 44, 4, 2, 3 !TDC ROC#3 Sl#23 Ch#44 SSCIN pl#4 [Y2] id sig#2 [TDC-] + 45, 4, 4, 3 !TDC ROC#3 Sl#23 Ch#45 SSCIN pl#4 [Y2] id sig#4 [TDC-] + 46, 4, 6, 3 !TDC ROC#3 Sl#23 Ch#46 SSCIN pl#4 [Y2] id sig#6 [TDC-] + 47, 4, 8, 3 !TDC ROC#3 Sl#23 Ch#47 SSCIN pl#4 [Y2] id sig#8 [TDC-] + 48, 1, 1, 2 !TDC ROC#3 Sl#23 Ch#48 SSCIN pl#1 [X1] id sig#1 [TDC+] + 49, 1, 1, 3 !TDC ROC#3 Sl#23 Ch#49 SSCIN pl#1 [X1] id sig#1 [TDC-] + 50, 2, 1, 2 !TDC ROC#3 Sl#23 Ch#50 SSCIN pl#2 [Y1] id sig#1 [TDC+] + 51, 2, 1, 3 !TDC ROC#3 Sl#23 Ch#51 SSCIN pl#2 [Y1] id sig#1 [TDC-] + 52, 4, 1, 2 !TDC ROC#3 Sl#23 Ch#52 SSCIN pl#4 [Y2] id sig#1 [TDC+] + 53, 4, 1, 3 !TDC ROC#3 Sl#23 Ch#53 SSCIN pl#4 [Y2] id sig#1 [TDC-] +! 54 !TDC ROC#3 Sl#23 Ch#54 unused +! 55 !TDC ROC#3 Sl#23 Ch#55 unused +! 56 !TDC ROC#3 Sl#23 Ch#56 unused +! 57 !TDC ROC#3 Sl#23 Ch#57 unused +! 58 !TDC ROC#3 Sl#23 Ch#58 unused +! 59 !TDC ROC#3 Sl#23 Ch#59 unused +! 60 !TDC ROC#3 Sl#23 Ch#60 unused +! 61 !TDC ROC#3 Sl#23 Ch#61 unused +! 62 !TDC ROC#3 Sl#23 Ch#62 unused +! 63 !TDC ROC#3 Sl#23 Ch#63 unused +! +!for run 8023, swapped HMS and SOS TDC so that TDC with first 8 +!channels dead would be here. Moved connectors 1 and 2 to position +!3 and 4. Moved 3 singles channels (in connector3) to connector 2. + + Slot= 20 ! TDC + 32, 3, 1, 2 !TDC ROC#3 Sl#21 Ch#0 SSCIN pl#3 [X2] id sig#1 [TDC+] + 33, 3, 3, 2 !TDC ROC#3 Sl#21 Ch#1 SSCIN pl#3 [X2] id sig#3 [TDC+] + 34, 3, 5, 2 !TDC ROC#3 Sl#21 Ch#2 SSCIN pl#3 [X2] id sig#5 [TDC+] + 35, 3, 7, 2 !TDC ROC#3 Sl#21 Ch#3 SSCIN pl#3 [X2] id sig#7 [TDC+] + 36, 3, 9, 2 !TDC ROC#3 Sl#21 Ch#4 SSCIN pl#3 [X2] id sig#9 [TDC+] + 37, 3, 11, 2 !TDC ROC#3 Sl#21 Ch#5 SSCIN pl#3 [X2] id sig#11 [TDC+] + 38, 3, 13, 2 !TDC ROC#3 Sl#21 Ch#6 SSCIN pl#3 [X2] id sig#13 [TDC+] + 39, 3, 15, 2 !TDC ROC#3 Sl#21 Ch#7 SSCIN pl#3 [X2] id sig#15 [TDC+] + 40, 3, 2, 2 !TDC ROC#3 Sl#21 Ch#8 SSCIN pl#3 [X2] id sig#2 [TDC+] + 41, 3, 4, 2 !TDC ROC#3 Sl#21 Ch#9 SSCIN pl#3 [X2] id sig#4 [TDC+] + 42, 3, 6, 2 !TDC ROC#3 Sl#21 Ch#10 SSCIN pl#3 [X2] id sig#6 [TDC+] + 43, 3, 8, 2 !TDC ROC#3 Sl#21 Ch#11 SSCIN pl#3 [X2] id sig#8 [TDC+] + 44, 3, 10, 2 !TDC ROC#3 Sl#21 Ch#12 SSCIN pl#3 [X2] id sig#10 [TDC+] + 45, 3, 12, 2 !TDC ROC#3 Sl#21 Ch#13 SSCIN pl#3 [X2] id sig#12 [TDC+] + 46, 3, 14, 2 !TDC ROC#3 Sl#21 Ch#14 SSCIN pl#3 [X2] id sig#14 [TDC+] + 47, 3, 16, 2 !TDC ROC#3 Sl#21 Ch#15 SSCIN pl#3 [X2] id sig#16 [TDC+] + 48, 3, 1, 3 !TDC ROC#3 Sl#21 Ch#16 SSCIN pl#3 [X2] id sig#1 [TDC-] + 49, 3, 3, 3 !TDC ROC#3 Sl#21 Ch#17 SSCIN pl#3 [X2] id sig#3 [TDC-] + 50, 3, 5, 3 !TDC ROC#3 Sl#21 Ch#18 SSCIN pl#3 [X2] id sig#5 [TDC-] + 51, 3, 7, 3 !TDC ROC#3 Sl#21 Ch#19 SSCIN pl#3 [X2] id sig#7 [TDC-] + 52, 3, 9, 3 !TDC ROC#3 Sl#21 Ch#20 SSCIN pl#3 [X2] id sig#9 [TDC-] + 53, 3, 11, 3 !TDC ROC#3 Sl#21 Ch#21 SSCIN pl#3 [X2] id sig#11 [TDC-] + 54, 3, 13, 3 !TDC ROC#3 Sl#21 Ch#22 SSCIN pl#3 [X2] id sig#13 [TDC-] + 55, 3, 15, 3 !TDC ROC#3 Sl#21 Ch#23 SSCIN pl#3 [X2] id sig#15 [TDC-] + 56, 3, 2, 3 !TDC ROC#3 Sl#21 Ch#24 SSCIN pl#3 [X2] id sig#2 [TDC-] + 57, 3, 4, 3 !TDC ROC#3 Sl#21 Ch#25 SSCIN pl#3 [X2] id sig#4 [TDC-] + 58, 3, 6, 3 !TDC ROC#3 Sl#21 Ch#26 SSCIN pl#3 [X2] id sig#6 [TDC-] + 59, 3, 8, 3 !TDC ROC#3 Sl#21 Ch#27 SSCIN pl#3 [X2] id sig#8 [TDC-] + 60, 3, 10, 3 !TDC ROC#3 Sl#21 Ch#28 SSCIN pl#3 [X2] id sig#10 [TDC-] + 61, 3, 12, 3 !TDC ROC#3 Sl#21 Ch#29 SSCIN pl#3 [X2] id sig#12 [TDC-] + 62, 3, 14, 3 !TDC ROC#3 Sl#21 Ch#30 SSCIN pl#3 [X2] id sig#14 [TDC-] + 63, 3, 16, 3 !TDC ROC#3 Sl#21 Ch#31 SSCIN pl#3 [X2] id sig#16 [TDC-] +! + detector= 15 !SMISC +! + 18, 1, 65, 0 ! 0 !TDC ROC#3 Sl#20 Ch#32 RF TDC. +! + detector= 15 !SMISC +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 18 ! TDC +0, 1, 1, 0 ! 0 !TDC ROC#3 Sl#20 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#3 Sl#20 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#3 Sl#20 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#3 Sl#20 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#3 Sl#20 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#3 Sl#20 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#3 Sl#20 Ch#6 unused {MuonL} +7, 1, 8, 0 ! 7 !TDC ROC#3 Sl#20 Ch#7 unused {MuonR} +8, 1, 9, 0 ! 8 !TDC ROC#3 Sl#20 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#3 Sl#20 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#3 Sl#20 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#3 Sl#20 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#3 Sl#20 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#3 Sl#20 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#3 Sl#20 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#3 Sl#20 Ch#15 signal {PEDTRG} + + Slot= 18! TDC +16, 1, 17, 0 ! 16 !TDC ROC#3 Sl#18 Ch#16 signal {sS1} +17, 1, 18, 0 ! 17 !TDC ROC#3 Sl#18 Ch#17 signal {sPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#3 Sl#18 Ch#18 signal {sS2X} +19, 1, 20, 0 ! 19 !TDC ROC#3 Sl#18 Ch#19 signal {sPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#3 Sl#18 Ch#20 signal {sS1X} +21, 1, 22, 0 ! 21 !TDC ROC#3 Sl#18 Ch#21 signal {sS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#3 Sl#18 Ch#22 signal {sPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#3 Sl#18 Ch#23 signal {sS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#3 Sl#18 Ch#24 signal {sS2} +25, 1, 26, 0 ! 25 !TDC ROC#3 Sl#18 Ch#25 signal {sPRE200} +26, 1, 27, 0 ! 26 !TDC ROC#3 Sl#18 Ch#26 signal {sSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#3 Sl#18 Ch#27 signal {sSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#3 Sl#18 Ch#28 signal {sELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#3 Sl#18 Ch#29 signal {sPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#3 Sl#18 Ch#30 signal {sELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#3 Sl#18 Ch#31 signal {sPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#3 Sl#18 Ch#32 signal {BCM1} +33, 1, 34, 0 ! 33 !TDC ROC#3 Sl#18 Ch#33 signal {BCM2} +34, 1, 35, 0 ! 34 !TDC ROC#3 Sl#18 Ch#34 signal {BCM3} +35, 1, 36, 0 ! 35 !TDC ROC#3 Sl#18 Ch#35 signal {UNSER} +36, 1, 37, 0 ! 36 !TDC ROC#3 Sl#18 Ch#36 signal {CLOCK} +37, 1, 38, 0 ! 37 !TDC ROC#3 Sl#18 Ch#37 signal {1 MHz * 36??} +38, 1, 39, 0 ! 38 !TDC ROC#3 Sl#18 Ch#38 signal {sPICLEAN} +39, 1, 40, 0 ! 39 !TDC ROC#3 Sl#18 Ch#39 signal {sELCLEAN} +40, 1, 41, 0 ! 40 !TDC ROC#3 Sl#18 Ch#40 signal {sPION} +41, 1, 42, 0 ! 41 !TDC ROC#3 Sl#18 Ch#41 signal {sCER} +42, 1, 43, 0 ! 42 !TDC ROC#3 Sl#18 Ch#42 signal {sELHI} +43, 1, 44, 0 ! 43 !TDC ROC#3 Sl#18 Ch#43 signal {sELLO} +44, 1, 45, 0 ! 44 !TDC ROC#3 Sl#18 Ch#44 signal {sPRHI} +45, 1, 46, 0 ! 45 !TDC ROC#3 Sl#18 Ch#45 signal {sPRLO} +46, 1, 47, 0 ! 46 !TDC ROC#3 Sl#18 Ch#46 signal {sSHLO} +47, 1, 48, 0 ! 47 !TDC ROC#3 Sl#18 Ch#47 signal {PEDS+TRIGS?} +! +! ADC module LeCroy 1881M + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + detector= 12 !SSCIN + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#3 Sl#9 Ch#0 SSCIN pl#1 [X1] id sig#1 [ADC+] + 1, 1, 3, 0 !ADC ROC#3 Sl#9 Ch#1 SSCIN pl#1 [X1] id sig#3 [ADC+] + 2, 1, 5, 0 !ADC ROC#3 Sl#9 Ch#2 SSCIN pl#1 [X1] id sig#5 [ADC+] + 3, 1, 7, 0 !ADC ROC#3 Sl#9 Ch#3 SSCIN pl#1 [X1] id sig#7 [ADC+] + 4, 1, 9, 0 !ADC ROC#3 Sl#9 Ch#4 SSCIN pl#1 [X1] id sig#9 [ADC+] +! 5 !ADC ROC#3 Sl#9 Ch#5 unused +! 6 !ADC ROC#3 Sl#9 Ch#6 unused +! 7 !ADC ROC#3 Sl#9 Ch#7 unused + 8, 1, 2, 0 !ADC ROC#3 Sl#9 Ch#8 SSCIN pl#1 [X1] id sig#2 [ADC+] + 9, 1, 4, 0 !ADC ROC#3 Sl#9 Ch#9 SSCIN pl#1 [X1] id sig#4 [ADC+] + 10, 1, 6, 0 !ADC ROC#3 Sl#9 Ch#10 SSCIN pl#1 [X1] id sig#6 [ADC+] + 11, 1, 8, 0 !ADC ROC#3 Sl#9 Ch#11 SSCIN pl#1 [X1] id sig#8 [ADC+] +! 12 !ADC ROC#3 Sl#9 Ch#12 unused +! 13 !ADC ROC#3 Sl#9 Ch#13 unused +! 14 !ADC ROC#3 Sl#9 Ch#14 unused +! 15 !ADC ROC#3 Sl#9 Ch#15 unused + 16, 1, 1, 1 !ADC ROC#3 Sl#9 Ch#16 SSCIN pl#1 [X1] id sig#1 [ADC-] + 17, 1, 3, 1 !ADC ROC#3 Sl#9 Ch#17 SSCIN pl#1 [X1] id sig#3 [ADC-] + 18, 1, 5, 1 !ADC ROC#3 Sl#9 Ch#18 SSCIN pl#1 [X1] id sig#5 [ADC-] + 19, 1, 7, 1 !ADC ROC#3 Sl#9 Ch#19 SSCIN pl#1 [X1] id sig#7 [ADC-] + 20, 1, 9, 1 !ADC ROC#3 Sl#9 Ch#20 SSCIN pl#1 [X1] id sig#9 [ADC-] +! 21 !ADC ROC#3 Sl#9 Ch#21 unused +! 22 !ADC ROC#3 Sl#9 Ch#22 unused +! 23 !ADC ROC#3 Sl#9 Ch#23 unused + 24, 1, 2, 1 !ADC ROC#3 Sl#9 Ch#24 SSCIN pl#1 [X1] id sig#2 [ADC-] + 25, 1, 4, 1 !ADC ROC#3 Sl#9 Ch#25 SSCIN pl#1 [X1] id sig#4 [ADC-] + 26, 1, 6, 1 !ADC ROC#3 Sl#9 Ch#26 SSCIN pl#1 [X1] id sig#6 [ADC-] + 27, 1, 8, 1 !ADC ROC#3 Sl#9 Ch#27 SSCIN pl#1 [X1] id sig#8 [ADC-] +! 28 !ADC ROC#3 Sl#9 Ch#28 unused +! 29 !ADC ROC#3 Sl#9 Ch#29 unused +! 30 !ADC ROC#3 Sl#9 Ch#30 unused +! 31 !ADC ROC#3 Sl#9 Ch#31 unused + 32, 2, 1, 0 !ADC ROC#3 Sl#9 Ch#32 SSCIN pl#2 [Y1] id sig#1 [ADC+] + 33, 2, 3, 0 !ADC ROC#3 Sl#9 Ch#33 SSCIN pl#2 [Y1] id sig#3 [ADC+] + 34, 2, 5, 0 !ADC ROC#3 Sl#9 Ch#34 SSCIN pl#2 [Y1] id sig#5 [ADC+] + 35, 2, 7, 0 !ADC ROC#3 Sl#9 Ch#35 SSCIN pl#2 [Y1] id sig#7 [ADC+] + 36, 2, 9, 0 !ADC ROC#3 Sl#9 Ch#36 SSCIN pl#2 [Y1] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#9 Ch#37 unused +! 38 !ADC ROC#3 Sl#9 Ch#38 unused +! 39 !ADC ROC#3 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#3 Sl#9 Ch#40 SSCIN pl#2 [Y1] id sig#2 [ADC+] + 41, 2, 4, 0 !ADC ROC#3 Sl#9 Ch#41 SSCIN pl#2 [Y1] id sig#4 [ADC+] + 42, 2, 6, 0 !ADC ROC#3 Sl#9 Ch#42 SSCIN pl#2 [Y1] id sig#6 [ADC+] + 43, 2, 8, 0 !ADC ROC#3 Sl#9 Ch#43 SSCIN pl#2 [Y1] id sig#8 [ADC+] +! 44 !ADC ROC#3 Sl#9 Ch#44 unused +! 45 !ADC ROC#3 Sl#9 Ch#45 unused +! 46 !ADC ROC#3 Sl#9 Ch#46 unused +! 47 !ADC ROC#3 Sl#9 Ch#47 unused + 48, 2, 1, 1 !ADC ROC#3 Sl#9 Ch#48 SSCIN pl#2 [Y1] id sig#1 [ADC-] + 49, 2, 3, 1 !ADC ROC#3 Sl#9 Ch#49 SSCIN pl#2 [Y1] id sig#3 [ADC-] + 50, 2, 5, 1 !ADC ROC#3 Sl#9 Ch#50 SSCIN pl#2 [Y1] id sig#5 [ADC-] + 51, 2, 7, 1 !ADC ROC#3 Sl#9 Ch#51 SSCIN pl#2 [Y1] id sig#7 [ADC-] + 52, 2, 9, 1 !ADC ROC#3 Sl#9 Ch#52 SSCIN pl#2 [Y1] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#9 Ch#53 unused +! 54 !ADC ROC#3 Sl#9 Ch#54 unused +! 55 !ADC ROC#3 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#3 Sl#9 Ch#56 SSCIN pl#2 [Y1] id sig#2 [ADC-] + 57, 2, 4, 1 !ADC ROC#3 Sl#9 Ch#57 SSCIN pl#2 [Y1] id sig#4 [ADC-] + 58, 2, 6, 1 !ADC ROC#3 Sl#9 Ch#58 SSCIN pl#2 [Y1] id sig#6 [ADC-] + 59, 2, 8, 1 !ADC ROC#3 Sl#9 Ch#59 SSCIN pl#2 [Y1] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#9 Ch#60 unused +! 61 !ADC ROC#3 Sl#9 Ch#61 unused +! 62 !ADC ROC#3 Sl#9 Ch#62 unused +! 63 !ADC ROC#3 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#3 Sl#7 Ch#0 SSCIN pl#3 [X2] id sig#1 [ADC+] + 1, 3, 3, 0 !ADC ROC#3 Sl#7 Ch#1 SSCIN pl#3 [X2] id sig#3 [ADC+] + 2, 3, 5, 0 !ADC ROC#3 Sl#7 Ch#2 SSCIN pl#3 [X2] id sig#5 [ADC+] + 3, 3, 7, 0 !ADC ROC#3 Sl#7 Ch#3 SSCIN pl#3 [X2] id sig#7 [ADC+] + 4, 3, 9, 0 !ADC ROC#3 Sl#7 Ch#4 SSCIN pl#3 [X2] id sig#9 [ADC+] + 5, 3, 11, 0 !ADC ROC#3 Sl#7 Ch#5 SSCIN pl#3 [X2] id sig#11 [ADC+] + 6, 3, 13, 0 !ADC ROC#3 Sl#7 Ch#6 SSCIN pl#3 [X2] id sig#13 [ADC+] + 7, 3, 15, 0 !ADC ROC#3 Sl#7 Ch#7 SSCIN pl#3 [X2] id sig#15 [ADC+] + 8, 3, 2, 0 !ADC ROC#3 Sl#7 Ch#8 SSCIN pl#3 [X2] id sig#2 [ADC+] + 9, 3, 4, 0 !ADC ROC#3 Sl#7 Ch#9 SSCIN pl#3 [X2] id sig#4 [ADC+] + 10, 3, 6, 0 !ADC ROC#3 Sl#7 Ch#10 SSCIN pl#3 [X2] id sig#6 [ADC+] + 11, 3, 8, 0 !ADC ROC#3 Sl#7 Ch#11 SSCIN pl#3 [X2] id sig#8 [ADC+] + 12, 3, 10, 0 !ADC ROC#3 Sl#7 Ch#12 SSCIN pl#3 [X2] id sig#10 [ADC+] + 13, 3, 12, 0 !ADC ROC#3 Sl#7 Ch#13 SSCIN pl#3 [X2] id sig#12 [ADC+] + 14, 3, 14, 0 !ADC ROC#3 Sl#7 Ch#14 SSCIN pl#3 [X2] id sig#14 [ADC+] + 15, 3, 16, 0 !ADC ROC#3 Sl#7 Ch#15 SSCIN pl#3 [X2] id sig#16 [ADC+] + 16, 3, 1, 1 !ADC ROC#3 Sl#7 Ch#16 SSCIN pl#3 [X2] id sig#1 [ADC-] + 17, 3, 3, 1 !ADC ROC#3 Sl#7 Ch#17 SSCIN pl#3 [X2] id sig#3 [ADC-] + 18, 3, 5, 1 !ADC ROC#3 Sl#7 Ch#18 SSCIN pl#3 [X2] id sig#5 [ADC-] + 19, 3, 7, 1 !ADC ROC#3 Sl#7 Ch#19 SSCIN pl#3 [X2] id sig#7 [ADC-] + 20, 3, 9, 1 !ADC ROC#3 Sl#7 Ch#20 SSCIN pl#3 [X2] id sig#9 [ADC-] + 21, 3, 11, 1 !ADC ROC#3 Sl#7 Ch#21 SSCIN pl#3 [X2] id sig#11 [ADC-] + 22, 3, 13, 1 !ADC ROC#3 Sl#7 Ch#22 SSCIN pl#3 [X2] id sig#13 [ADC-] + 23, 3, 15, 1 !ADC ROC#3 Sl#7 Ch#23 SSCIN pl#3 [X2] id sig#15 [ADC-] + 24, 3, 2, 1 !ADC ROC#3 Sl#7 Ch#24 SSCIN pl#3 [X2] id sig#2 [ADC-] + 25, 3, 4, 1 !ADC ROC#3 Sl#7 Ch#25 SSCIN pl#3 [X2] id sig#4 [ADC-] + 26, 3, 6, 1 !ADC ROC#3 Sl#7 Ch#26 SSCIN pl#3 [X2] id sig#6 [ADC-] + 27, 3, 8, 1 !ADC ROC#3 Sl#7 Ch#27 SSCIN pl#3 [X2] id sig#8 [ADC-] + 28, 3, 10, 1 !ADC ROC#3 Sl#7 Ch#28 SSCIN pl#3 [X2] id sig#10 [ADC-] + 29, 3, 12, 1 !ADC ROC#3 Sl#7 Ch#29 SSCIN pl#3 [X2] id sig#12 [ADC-] + 30, 3, 14, 1 !ADC ROC#3 Sl#7 Ch#30 SSCIN pl#3 [X2] id sig#14 [ADC-] + 31, 3, 16, 1 !ADC ROC#3 Sl#7 Ch#31 SSCIN pl#3 [X2] id sig#16 [ADC-] + 32, 4, 1, 0 !ADC ROC#3 Sl#7 Ch#32 SSCIN pl#4 [Y2] id sig#1 [ADC+] + 33, 4, 3, 0 !ADC ROC#3 Sl#7 Ch#33 SSCIN pl#4 [Y2] id sig#3 [ADC+] + 34, 4, 5, 0 !ADC ROC#3 Sl#7 Ch#34 SSCIN pl#4 [Y2] id sig#5 [ADC+] + 35, 4, 7, 0 !ADC ROC#3 Sl#7 Ch#35 SSCIN pl#4 [Y2] id sig#7 [ADC+] + 36, 4, 9, 0 !ADC ROC#3 Sl#7 Ch#36 SSCIN pl#4 [Y2] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#7 Ch#37 unused +! 38 !ADC ROC#3 Sl#7 Ch#38 unused +! 39 !ADC ROC#3 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#3 Sl#7 Ch#40 SSCIN pl#4 [Y2] id sig#2 [ADC+] + 41, 4, 4, 0 !ADC ROC#3 Sl#7 Ch#41 SSCIN pl#4 [Y2] id sig#4 [ADC+] + 42, 4, 6, 0 !ADC ROC#3 Sl#7 Ch#42 SSCIN pl#4 [Y2] id sig#6 [ADC+] +! 43, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] DEAD CH! +! 44 !ADC ROC#3 Sl#7 Ch#44 unused +! 45 !ADC ROC#3 Sl#7 Ch#45 unused +! 46 !ADC ROC#3 Sl#7 Ch#46 unused + 47, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] + 48, 4, 1, 1 !ADC ROC#3 Sl#7 Ch#48 SSCIN pl#4 [Y2] id sig#1 [ADC-] + 49, 4, 3, 1 !ADC ROC#3 Sl#7 Ch#49 SSCIN pl#4 [Y2] id sig#3 [ADC-] + 50, 4, 5, 1 !ADC ROC#3 Sl#7 Ch#50 SSCIN pl#4 [Y2] id sig#5 [ADC-] + 51, 4, 7, 1 !ADC ROC#3 Sl#7 Ch#51 SSCIN pl#4 [Y2] id sig#7 [ADC-] + 52, 4, 9, 1 !ADC ROC#3 Sl#7 Ch#52 SSCIN pl#4 [Y2] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#7 Ch#53 unused +! 54 !ADC ROC#3 Sl#7 Ch#54 unused +! 55 !ADC ROC#3 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#3 Sl#7 Ch#56 SSCIN pl#4 [Y2] id sig#2 [ADC-] + 57, 4, 4, 1 !ADC ROC#3 Sl#7 Ch#57 SSCIN pl#4 [Y2] id sig#4 [ADC-] + 58, 4, 6, 1 !ADC ROC#3 Sl#7 Ch#58 SSCIN pl#4 [Y2] id sig#6 [ADC-] + 59, 4, 8, 1 !ADC ROC#3 Sl#7 Ch#59 SSCIN pl#4 [Y2] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#7 Ch#60 unused +! 61 !ADC ROC#3 Sl#7 Ch#61 unused +! 62 !ADC ROC#3 Sl#7 Ch#62 unused +! 63 !ADC ROC#3 Sl#7 Ch#63 unused +! + detector= 14 !SCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#1 Ch#0 SCAL column#1 row#1 + 1, 1, 2 !ADC ROC#3 Sl#1 Ch#1 SCAL column#1 row#2 + 2, 1, 3 !ADC ROC#3 Sl#1 Ch#2 SCAL column#1 row#3 + 3, 1, 4 !ADC ROC#3 Sl#1 Ch#3 SCAL column#1 row#4 + 4, 1, 5 !ADC ROC#3 Sl#1 Ch#4 SCAL column#1 row#5 + 5, 1, 6 !ADC ROC#3 Sl#1 Ch#5 SCAL column#1 row#6 + 6, 1, 7 !ADC ROC#3 Sl#1 Ch#6 SCAL column#1 row#7 + 7, 1, 8 !ADC ROC#3 Sl#1 Ch#7 SCAL column#1 row#8 + 8, 1, 9 !ADC ROC#3 Sl#1 Ch#8 SCAL column#1 row#9 + 9, 1, 10 !ADC ROC#3 Sl#1 Ch#9 SCAL column#1 row#10 + 10, 1, 11 !ADC ROC#3 Sl#1 Ch#10 SCAL column#1 row#11 +! 11 !ADC ROC#3 Sl#1 Ch#11 unused +! 12 !ADC ROC#3 Sl#1 Ch#12 unused +! 13 !ADC ROC#3 Sl#1 Ch#13 unused +! 14 !ADC ROC#3 Sl#1 Ch#14 unused +! 15 !ADC ROC#3 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#3 Sl#1 Ch#16 SCAL column#2 row#1 + 17, 2, 2 !ADC ROC#3 Sl#1 Ch#17 SCAL column#2 row#2 + 18, 2, 3 !ADC ROC#3 Sl#1 Ch#18 SCAL column#2 row#3 + 19, 2, 4 !ADC ROC#3 Sl#1 Ch#19 SCAL column#2 row#4 + 20, 2, 5 !ADC ROC#3 Sl#1 Ch#20 SCAL column#2 row#5 + 21, 2, 6 !ADC ROC#3 Sl#1 Ch#21 SCAL column#2 row#6 + 22, 2, 7 !ADC ROC#3 Sl#1 Ch#22 SCAL column#2 row#7 + 23, 2, 8 !ADC ROC#3 Sl#1 Ch#23 SCAL column#2 row#8 + 24, 2, 9 !ADC ROC#3 Sl#1 Ch#24 SCAL column#2 row#9 + 25, 2, 10 !ADC ROC#3 Sl#1 Ch#25 SCAL column#2 row#10 + 26, 2, 11 !ADC ROC#3 Sl#1 Ch#26 SCAL column#2 row#11 +! 27 !ADC ROC#3 Sl#1 Ch#27 unused +! 28 !ADC ROC#3 Sl#1 Ch#28 unused +! 29 !ADC ROC#3 Sl#1 Ch#29 unused +! 30 !ADC ROC#3 Sl#1 Ch#30 unused +! 31 !ADC ROC#3 Sl#1 Ch#31 unused +! 32, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 44, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 33, 3, 2 !ADC ROC#3 Sl#1 Ch#33 SCAL column#3 row#2 + 34, 3, 3 !ADC ROC#3 Sl#1 Ch#34 SCAL column#3 row#3 + 35, 3, 4 !ADC ROC#3 Sl#1 Ch#35 SCAL column#3 row#4 + 36, 3, 5 !ADC ROC#3 Sl#1 Ch#36 SCAL column#3 row#5 + 37, 3, 6 !ADC ROC#3 Sl#1 Ch#37 SCAL column#3 row#6 + 38, 3, 7 !ADC ROC#3 Sl#1 Ch#38 SCAL column#3 row#7 + 39, 3, 8 !ADC ROC#3 Sl#1 Ch#39 SCAL column#3 row#8 + 40, 3, 9 !ADC ROC#3 Sl#1 Ch#40 SCAL column#3 row#9 + 41, 3, 10 !ADC ROC#3 Sl#1 Ch#41 SCAL column#3 row#10 + 42, 3, 11 !ADC ROC#3 Sl#1 Ch#42 SCAL column#3 row#11 +! 43 !ADC ROC#3 Sl#1 Ch#43 unused +! 44 !ADC ROC#3 Sl#1 Ch#44 unused +! 45 !ADC ROC#3 Sl#1 Ch#45 unused +! 46 !ADC ROC#3 Sl#1 Ch#46 unused +! 47 !ADC ROC#3 Sl#1 Ch#47 unused + +!sD1 was being lost in the ADC delay lines. Move to channel #15. +! 48, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! + 49, 4, 2 !ADC ROC#3 Sl#1 Ch#49 SCAL column#4 row#2 + 50, 4, 3 !ADC ROC#3 Sl#1 Ch#50 SCAL column#4 row#3 + 51, 4, 4 !ADC ROC#3 Sl#1 Ch#51 SCAL column#4 row#4 + 52, 4, 5 !ADC ROC#3 Sl#1 Ch#52 SCAL column#4 row#5 + 53, 4, 6 !ADC ROC#3 Sl#1 Ch#53 SCAL column#4 row#6 + 54, 4, 7 !ADC ROC#3 Sl#1 Ch#54 SCAL column#4 row#7 + 55, 4, 8 !ADC ROC#3 Sl#1 Ch#55 SCAL column#4 row#8 + 56, 4, 9 !ADC ROC#3 Sl#1 Ch#56 SCAL column#4 row#9 + 57, 4, 10 !ADC ROC#3 Sl#1 Ch#57 SCAL column#4 row#10 + 58, 4, 11 !ADC ROC#3 Sl#1 Ch#58 SCAL column#4 row#11 +! 59 !ADC ROC#3 Sl#1 Ch#59 unused +! 60 !ADC ROC#3 Sl#1 Ch#60 unused +! 61 !ADC ROC#3 Sl#1 Ch#61 unused +! 62 !ADC ROC#3 Sl#1 Ch#62 unused + 62, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! 63 !ADC ROC#3 Sl#1 Ch#63 unused + detector= 15 !smisc - photodiode for laser gain calibration system. + 63, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). +! +detector= 14 !SCAL +Slot= 5 ! ADC Second set of tubes on first two layers +! 0, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 12, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#3 Sl#5 Ch#1 SCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#3 Sl#5 Ch#2 SCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#3 Sl#5 Ch#3 SCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#3 Sl#5 Ch#4 SCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#3 Sl#5 Ch#5 SCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#3 Sl#5 Ch#6 SCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#3 Sl#5 Ch#7 SCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#3 Sl#5 Ch#8 SCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#3 Sl#5 Ch#9 SCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#3 Sl#5 Ch#10 SCAL col#1 row#11 (10 An-11) +! 11 !ADC ROC#3 Sl#5 Ch#11 unused +! 12 !ADC ROC#3 Sl#5 Ch#12 unused +! 13 !ADC ROC#3 Sl#5 Ch#13 unused +! 14 !ADC ROC#3 Sl#5 Ch#14 unused +! 15 !ADC ROC#3 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#3 Sl#5 Ch#16 SCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#3 Sl#5 Ch#17 SCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#3 Sl#5 Ch#18 SCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#3 Sl#5 Ch#19 SCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#3 Sl#5 Ch#20 SCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#3 Sl#5 Ch#21 SCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#3 Sl#5 Ch#22 SCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#3 Sl#5 Ch#23 SCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#3 Sl#5 Ch#24 SCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#3 Sl#5 Ch#25 SCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#3 Sl#5 Ch#26 SCAL col#2 row#11 (26 Bn-11) +! 27 !ADC ROC#3 Sl#5 Ch#27 unused +! 28 !ADC ROC#3 Sl#5 Ch#28 unused +! 29 !ADC ROC#3 Sl#5 Ch#29 unused +! 30 !ADC ROC#3 Sl#5 Ch#30 unused +! 31 !ADC ROC#3 Sl#5 Ch#31 unused +! + detector= 13 !SCER +! + Slot= 3 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#3 Ch#0 SCER tube#1 + 1, 1, 2 !ADC ROC#3 Sl#3 Ch#1 SCER tube#2 + 2, 1, 3 !ADC ROC#3 Sl#3 Ch#2 SCER tube#3 + 3, 1, 4 !ADC ROC#3 Sl#3 Ch#3 SCER tube#4 +detector=15 ! SMISC helicity stuff mkj 5/15/03 +! ! muon det added 6/17/03 + 4, 2, 5,0 ! 4 !ADC ROC#3 Sl#3 Ch#4 unused + 5, 2, 6,0 ! 5 !ADC ROC#3 Sl#3 Ch#5 unused +! 6 !ADC ROC#3 Sl#3 Ch#6 unused +! 7 !ADC ROC#3 Sl#3 Ch#7 unused +! 8 !ADC ROC#3 Sl#3 Ch#8 unused +8,2,2,0 ! mps clock +! 9 !ADC ROC#3 Sl#3 Ch#9 unused +! 10 !ADC ROC#3 Sl#3 Ch#10 unused +! 11 !ADC ROC#3 Sl#3 Ch#11 unused +! 12 !ADC ROC#3 Sl#3 Ch#12 unused +12,2,3,0 ! H+ signal +15,2,4,0 ! H- signal +! 13 !ADC ROC#3 Sl#3 Ch#13 unused +! 14 !ADC ROC#3 Sl#3 Ch#14 unused +! 15 !ADC ROC#3 Sl#3 Ch#15 unused + ! 16 !ADC ROC#3 Sl#3 Ch#16 signal {A01} + ! 17 !ADC ROC#3 Sl#3 Ch#17 signal {A02} + ! 18 !ADC ROC#3 Sl#3 Ch#18 signal {A03} + ! 19 !ADC ROC#3 Sl#3 Ch#19 signal {A04} + ! 20 !ADC ROC#3 Sl#3 Ch#20 signal {A05} + ! 21 !ADC ROC#3 Sl#3 Ch#21 signal {A06} + ! 22 !ADC ROC#3 Sl#3 Ch#22 signal {A07} + ! 23 !ADC ROC#3 Sl#3 Ch#23 signal {A08} + ! 24 !ADC ROC#3 Sl#3 Ch#24 signal {A09} + ! 25 !ADC ROC#3 Sl#3 Ch#25 signal {A10} + ! 26 !ADC ROC#3 Sl#3 Ch#26 signal {A11} + ! 27 !ADC ROC#3 Sl#3 Ch#27 signal {A12} + ! 28 !ADC ROC#3 Sl#3 Ch#28 signal {A13} + ! 29 !ADC ROC#3 Sl#3 Ch#29 signal {A14} + ! 30 !ADC ROC#3 Sl#3 Ch#30 signal {A15} + ! 31 !ADC ROC#3 Sl#3 Ch#31 signal {A16} +! +!........................................................ +! SAER took out from SOS detector hut (Hamlet, 21 Dec'02) +! +! detector= 16 !SAER +! +! 32 !ADC ROC#3 Sl#3 Ch#32 DEAD!!!! +! 33 !ADC ROC#3 Sl#3 Ch#33 unused spare +! 34, 1, 1, 0 !ADC ROC#3 Sl#3 Ch#34 signal pos 1 +! 35, 1, 2, 0 !ADC ROC#3 Sl#3 Ch#35 signal pos 2 +! 36, 1, 3, 0 !ADC ROC#3 Sl#3 Ch#36 signal pos 3 +! 37, 1, 4, 0 !ADC ROC#3 Sl#3 Ch#37 signal pos 4 +! 38, 1, 5, 0 !ADC ROC#3 Sl#3 Ch#38 signal pos 5 +! 39, 1, 6, 0 !ADC ROC#3 Sl#3 Ch#39 signal pos 6 +! 40, 1, 7, 0 !ADC ROC#3 Sl#3 Ch#40 signal pos 7 +! 41, 1, 1, 1 !ADC ROC#3 Sl#3 Ch#41 signal neg 1 +! 42, 1, 2, 1 !ADC ROC#3 Sl#3 Ch#42 signal neg 2 +! 43, 1, 3, 1 !ADC ROC#3 Sl#3 Ch#43 signal neg 3 +! 44, 1, 4, 1 !ADC ROC#3 Sl#3 Ch#44 signal neg 4 +! 45, 1, 5, 1 !ADC ROC#3 Sl#3 Ch#45 signal neg 5 +! 46, 1, 6, 1 !ADC ROC#3 Sl#3 Ch#46 signal neg 6 +! 47, 1, 7, 1 !ADC ROC#3 Sl#3 Ch#47 signal neg 7 +! 48, 1, 8, 0 !ADC ROC#3 Sl#3 Ch#48 amplified signal pos 1 +! 49, 1, 9, 0 !ADC ROC#3 Sl#3 Ch#49 amplified signal pos 2 +! 50, 1, 10, 0 !ADC ROC#3 Sl#3 Ch#50 amplified signal pos 3 +! 51, 1, 11, 0 !ADC ROC#3 Sl#3 Ch#51 amplified signal pos 4 +! 52, 1, 12, 0 !ADC ROC#3 Sl#3 Ch#52 amplified signal pos 5 +! 53, 1, 13, 0 !ADC ROC#3 Sl#3 Ch#53 amplified signal pos 6 +! 54, 1, 14, 0 !ADC ROC#3 Sl#3 Ch#54 amplified signal pos 7 +! 55, 1, 15, 0 !ADC ROC#3 Sl#3 Ch#62 amplified signal sum 1-7 +! 56, 1, 8, 1 !ADC ROC#3 Sl#3 Ch#55 amplified signal neg 1 +! 57, 1, 9, 1 !ADC ROC#3 Sl#3 Ch#56 amplified signal neg 2 +! 58, 1, 10, 1 !ADC ROC#3 Sl#3 Ch#57 amplified signal neg 3 +! 59, 1, 11, 1 !ADC ROC#3 Sl#3 Ch#58 amplified signal neg 4 +! 60, 1, 12, 1 !ADC ROC#3 Sl#3 Ch#59 amplified signal neg 5 +! 61, 1, 13, 1 !ADC ROC#3 Sl#3 Ch#60 amplified signal neg 6 +! 62, 1, 14, 1 !ADC ROC#3 Sl#3 Ch#61 amplified signal neg 7 +! 63, 1, 15, 1 !ADC ROC#3 Sl#3 Ch#63 amplified signal sum 8-14 +! + + + + + + + + diff --git a/examples/MAPS/raster_july04.map b/examples/MAPS/raster_july04.map new file mode 100644 index 0000000000000000000000000000000000000000..4109dd4af8029b2944015d1d6edb598fe433d660 --- /dev/null +++ b/examples/MAPS/raster_july04.map @@ -0,0 +1,3261 @@ +! Updated to reflect new TDC for HMS aerogel and proper mapping of misc +! trigger signals in SOS. Dave G (5/5/2003) +! +! + help !lists available keywords + NOecho !copies input lines to tty output + NOdebug !turn on input debugging + override !skip over errors +! +! hall C encode/decode configuration file +! giving the FASTBUS geographical to standard +! hall C COMMONs location as described by +! "gen_data_structures.cmn" K.B.Beard 13jun94 +! 10/19/94 (jra) Change ch1 roc to 8 (from 1), hms roc to 7 (from 2). +! +! 6/24/94 (SAW) Turn on lines for miscleaneous TDC's +! Change ch1 roc to 1 (from 0), hms roc to 2 (from 1). +! Disable last 16 channels of miscleaneous TDC +! +! 1/23/2014 (buddhini) Added a new IDs for raster and BPMs. +! Added the detector ID = 18 before raster channel information. +! Changed the raster plane, counter and signal columns to enable hit readout via the C++ anakysis +! hit handling method. Under this, the raster has plane NO 1, counter numbers 13 to 15 and signals +! 1 - X sync, 2- X-sig, 3- Y-sync, 4-Y-sig +! +! standard id numbers +! signals +!HMS: +! HDC_ID= 1 TDC +! HSCIN_ID= 2 ADC+,ADC-,TDC+,TDC- +! HCER_ID= 3 ADC +! HCAL_ID= 4 ADC +! HMISC_ID= 5 TDC,(ADC) +!GEN: +! GMISC_ID= 6 (TDC),ADC +! HAERO_ID= 7 (TDC),ADC +!SOS: +! SDC_ID= 11 TDC +! SSCIN_ID= 12 ADC+,ADC-,TDC+,TDC- +! SCER_ID= 13 ADC +! SCAL_ID= 14 ADC +! SMISC_ID= 15 TDC,(ADC) +! SAER_ID= 16 ADC +! SLUC_ID=17 ADC +!BEAM: +! RASTER_ID= 18 ADC +! BPM_ID= 19 ADC +! +! +! consider subadd equiv. to channel +! +! specify: subadd, plane, element, signal +! a, p, e, s +! 0- 1- 1- 0-3 +![if there is only signal 0 (DC,CER,CAL) it may be ommitted] +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS upstairs and downstairs map K.B.Beard 13-Jun-1994 +! for Jun94 run +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS downstairs (HDC) map K.B.Beard & S.Avery 13-Jun-1994 +! revised by A. Johnson 4-Feb-1999 +! +! vvvvvvvvvvvvvvvvvvvvvv Wire chambers start here vvvvvvvvvvvvvvvvvvvvvvvvv + ROC= 2 !ReadOutController (crate) for HMS wire chambers +! +! +! TDC modules are Lecroy 1877 + Nsubadd= 96 + MASK= FFFFx !hex mask + BSUB= 17 !start channel in bit#17 +! + detector= 1 !HDC +! +! 1st HDC chamber - (2nd in position) - planes7-12 +Slot= 2 +0, 8, 1 !TDC ROC#2 Sl#2 Ch#0 HDC pl#8 [Y1] wire#1 +1, 8, 2 !TDC ROC#2 Sl#2 Ch#1 HDC pl#8 [Y1] wire#2 +2, 8, 3 !TDC ROC#2 Sl#2 Ch#2 HDC pl#8 [Y1] wire#3 +3, 8, 4 !TDC ROC#2 Sl#2 Ch#3 HDC pl#8 [Y1] wire#4 +4, 8, 5 !TDC ROC#2 Sl#2 Ch#4 HDC pl#8 [Y1] wire#5 +5, 8, 6 !TDC ROC#2 Sl#2 Ch#5 HDC pl#8 [Y1] wire#6 +6, 8, 7 !TDC ROC#2 Sl#2 Ch#6 HDC pl#8 [Y1] wire#7 +7, 8, 8 !TDC ROC#2 Sl#2 Ch#7 HDC pl#8 [Y1] wire#8 +8, 8, 9 !TDC ROC#2 Sl#2 Ch#8 HDC pl#8 [Y1] wire#9 +9, 8, 10 !TDC ROC#2 Sl#2 Ch#9 HDC pl#8 [Y1] wire#10 +10, 8, 11 !TDC ROC#2 Sl#2 Ch#10 HDC pl#8 [Y1] wire#11 +11, 8, 12 !TDC ROC#2 Sl#2 Ch#11 HDC pl#8 [Y1] wire#12 +12, 8, 13 !TDC ROC#2 Sl#2 Ch#12 HDC pl#8 [Y1] wire#13 +!13 !TDC ROC#2 Sl#2 Ch#13 unused +!14 !TDC ROC#2 Sl#2 Ch#14 unused +!15 !TDC ROC#2 Sl#2 Ch#15 unused +16, 11, 40 !TDC ROC#2 Sl#2 Ch#16 HDC pl#11 [Y2] wire#40 +17, 11, 41 !TDC ROC#2 Sl#2 Ch#17 HDC pl#11 [Y2] wire#41 +18, 11, 42 !TDC ROC#2 Sl#2 Ch#18 HDC pl#11 [Y2] wire#42 +19, 11, 43 !TDC ROC#2 Sl#2 Ch#19 HDC pl#11 [Y2] wire#43 +20, 11, 44 !TDC ROC#2 Sl#2 Ch#20 HDC pl#11 [Y2] wire#44 +21, 11, 45 !TDC ROC#2 Sl#2 Ch#21 HDC pl#11 [Y2] wire#45 +22, 11, 46 !TDC ROC#2 Sl#2 Ch#22 HDC pl#11 [Y2] wire#46 +23, 11, 47 !TDC ROC#2 Sl#2 Ch#23 HDC pl#11 [Y2] wire#47 +24, 11, 48 !TDC ROC#2 Sl#2 Ch#24 HDC pl#11 [Y2] wire#48 +25, 11, 49 !TDC ROC#2 Sl#2 Ch#25 HDC pl#11 [Y2] wire#49 +26, 11, 50 !TDC ROC#2 Sl#2 Ch#26 HDC pl#11 [Y2] wire#50 +27, 11, 51 !TDC ROC#2 Sl#2 Ch#27 HDC pl#11 [Y2] wire#51 +28, 11, 52 !TDC ROC#2 Sl#2 Ch#28 HDC pl#11 [Y2] wire#52 +!29 !TDC ROC#2 Sl#2 Ch#29 unused +!30 !TDC ROC#2 Sl#2 Ch#30 unused +!31 !TDC ROC#2 Sl#2 Ch#31 unused +32, 8, 14 !TDC ROC#2 Sl#2 Ch#32 HDC pl#8 [Y1] wire#14 +33, 8, 15 !TDC ROC#2 Sl#2 Ch#33 HDC pl#8 [Y1] wire#15 +34, 8, 16 !TDC ROC#2 Sl#2 Ch#34 HDC pl#8 [Y1] wire#16 +35, 8, 17 !TDC ROC#2 Sl#2 Ch#35 HDC pl#8 [Y1] wire#17 +36, 8, 18 !TDC ROC#2 Sl#2 Ch#36 HDC pl#8 [Y1] wire#18 +37, 8, 19 !TDC ROC#2 Sl#2 Ch#37 HDC pl#8 [Y1] wire#19 +38, 8, 20 !TDC ROC#2 Sl#2 Ch#38 HDC pl#8 [Y1] wire#20 +39, 8, 21 !TDC ROC#2 Sl#2 Ch#39 HDC pl#8 [Y1] wire#21 +40, 8, 22 !TDC ROC#2 Sl#2 Ch#40 HDC pl#8 [Y1] wire#22 +41, 8, 23 !TDC ROC#2 Sl#2 Ch#41 HDC pl#8 [Y1] wire#23 +42, 8, 24 !TDC ROC#2 Sl#2 Ch#42 HDC pl#8 [Y1] wire#24 +43, 8, 25 !TDC ROC#2 Sl#2 Ch#43 HDC pl#8 [Y1] wire#25 +44, 8, 26 !TDC ROC#2 Sl#2 Ch#44 HDC pl#8 [Y1] wire#26 +!45 !TDC ROC#2 Sl#2 Ch#45 unused +!46 !TDC ROC#2 Sl#2 Ch#46 unused +!47 !TDC ROC#2 Sl#2 Ch#47 unused +48, 11, 27 !TDC ROC#2 Sl#2 Ch#48 HDC pl#11 [Y2] wire#27 +49, 11, 28 !TDC ROC#2 Sl#2 Ch#49 HDC pl#11 [Y2] wire#28 +50, 11, 29 !TDC ROC#2 Sl#2 Ch#50 HDC pl#11 [Y2] wire#29 +51, 11, 30 !TDC ROC#2 Sl#2 Ch#51 HDC pl#11 [Y2] wire#30 +52, 11, 31 !TDC ROC#2 Sl#2 Ch#52 HDC pl#11 [Y2] wire#31 +53, 11, 32 !TDC ROC#2 Sl#2 Ch#53 HDC pl#11 [Y2] wire#32 +54, 11, 33 !TDC ROC#2 Sl#2 Ch#54 HDC pl#11 [Y2] wire#33 +55, 11, 34 !TDC ROC#2 Sl#2 Ch#55 HDC pl#11 [Y2] wire#34 +56, 11, 35 !TDC ROC#2 Sl#2 Ch#56 HDC pl#11 [Y2] wire#35 +57, 11, 36 !TDC ROC#2 Sl#2 Ch#57 HDC pl#11 [Y2] wire#36 +58, 11, 37 !TDC ROC#2 Sl#2 Ch#58 HDC pl#11 [Y2] wire#37 +59, 11, 38 !TDC ROC#2 Sl#2 Ch#59 HDC pl#11 [Y2] wire#38 +60, 11, 39 !TDC ROC#2 Sl#2 Ch#60 HDC pl#11 [Y2] wire#39 +!61 !TDC ROC#2 Sl#2 Ch#61 unused +!62 !TDC ROC#2 Sl#2 Ch#62 unused +!63 !TDC ROC#2 Sl#2 Ch#63 unused +64, 8, 27 !TDC ROC#2 Sl#2 Ch#64 HDC pl#8 [Y1] wire#27 +65, 8, 28 !TDC ROC#2 Sl#2 Ch#65 HDC pl#8 [Y1] wire#28 +66, 8, 29 !TDC ROC#2 Sl#2 Ch#66 HDC pl#8 [Y1] wire#29 +67, 8, 30 !TDC ROC#2 Sl#2 Ch#67 HDC pl#8 [Y1] wire#30 +68, 8, 31 !TDC ROC#2 Sl#2 Ch#68 HDC pl#8 [Y1] wire#31 +69, 8, 32 !TDC ROC#2 Sl#2 Ch#69 HDC pl#8 [Y1] wire#32 +70, 8, 33 !TDC ROC#2 Sl#2 Ch#70 HDC pl#8 [Y1] wire#33 +71, 8, 34 !TDC ROC#2 Sl#2 Ch#71 HDC pl#8 [Y1] wire#34 +72, 8, 35 !TDC ROC#2 Sl#2 Ch#72 HDC pl#8 [Y1] wire#35 +73, 8, 36 !TDC ROC#2 Sl#2 Ch#73 HDC pl#8 [Y1] wire#36 +74, 8, 37 !TDC ROC#2 Sl#2 Ch#74 HDC pl#8 [Y1] wire#37 +75, 8, 38 !TDC ROC#2 Sl#2 Ch#75 HDC pl#8 [Y1] wire#38 +76, 8, 39 !TDC ROC#2 Sl#2 Ch#76 HDC pl#8 [Y1] wire#39 +!77 !TDC ROC#2 Sl#2 Ch#77 unused +!78 !TDC ROC#2 Sl#2 Ch#78 unused +!79 !TDC ROC#2 Sl#2 Ch#79 unused +80, 11, 14 !TDC ROC#2 Sl#2 Ch#80 HDC pl#11 [Y2] wire#14 +81, 11, 15 !TDC ROC#2 Sl#2 Ch#81 HDC pl#11 [Y2] wire#15 +82, 11, 16 !TDC ROC#2 Sl#2 Ch#82 HDC pl#11 [Y2] wire#16 +83, 11, 17 !TDC ROC#2 Sl#2 Ch#83 HDC pl#11 [Y2] wire#17 +84, 11, 18 !TDC ROC#2 Sl#2 Ch#84 HDC pl#11 [Y2] wire#18 +85, 11, 19 !TDC ROC#2 Sl#2 Ch#85 HDC pl#11 [Y2] wire#19 +86, 11, 20 !TDC ROC#2 Sl#2 Ch#86 HDC pl#11 [Y2] wire#20 +87, 11, 21 !TDC ROC#2 Sl#2 Ch#87 HDC pl#11 [Y2] wire#21 +88, 11, 22 !TDC ROC#2 Sl#2 Ch#88 HDC pl#11 [Y2] wire#22 +89, 11, 23 !TDC ROC#2 Sl#2 Ch#89 HDC pl#11 [Y2] wire#23 +90, 11, 24 !TDC ROC#2 Sl#2 Ch#90 HDC pl#11 [Y2] wire#24 +91, 11, 25 !TDC ROC#2 Sl#2 Ch#91 HDC pl#11 [Y2] wire#25 +92, 11, 26 !TDC ROC#2 Sl#2 Ch#92 HDC pl#11 [Y2] wire#26 +!93 !TDC ROC#2 Sl#2 Ch#93 unused +!94 !TDC ROC#2 Sl#2 Ch#94 unused +!95 !TDC ROC#2 Sl#2 Ch#95 unused + +Slot= 3 +0, 8, 40 !TDC ROC#2 Sl#3 Ch#0 HDC pl#8 [Y1] wire#40 +1, 8, 41 !TDC ROC#2 Sl#3 Ch#1 HDC pl#8 [Y1] wire#41 +2, 8, 42 !TDC ROC#2 Sl#3 Ch#2 HDC pl#8 [Y1] wire#42 +3, 8, 43 !TDC ROC#2 Sl#3 Ch#3 HDC pl#8 [Y1] wire#43 +4, 8, 44 !TDC ROC#2 Sl#3 Ch#4 HDC pl#8 [Y1] wire#44 +5, 8, 45 !TDC ROC#2 Sl#3 Ch#5 HDC pl#8 [Y1] wire#45 +6, 8, 46 !TDC ROC#2 Sl#3 Ch#6 HDC pl#8 [Y1] wire#46 +7, 8, 47 !TDC ROC#2 Sl#3 Ch#7 HDC pl#8 [Y1] wire#47 +8, 8, 48 !TDC ROC#2 Sl#3 Ch#8 HDC pl#8 [Y1] wire#48 +9, 8, 49 !TDC ROC#2 Sl#3 Ch#9 HDC pl#8 [Y1] wire#49 +10, 8, 50 !TDC ROC#2 Sl#3 Ch#10 HDC pl#8 [Y1] wire#50 +11, 8, 51 !TDC ROC#2 Sl#3 Ch#11 HDC pl#8 [Y1] wire#51 +12, 8, 52 !TDC ROC#2 Sl#3 Ch#12 HDC pl#8 [Y1] wire#52 +!13 !TDC ROC#2 Sl#3 Ch#13 +!14 !TDC ROC#2 Sl#3 Ch#14 +!15 !TDC ROC#2 Sl#3 Ch#15 +16, 11, 1 !TDC ROC#2 Sl#3 Ch#16 HDC pl#11 [Y2] wire#1 +17, 11, 2 !TDC ROC#2 Sl#3 Ch#17 HDC pl#11 [Y2] wire#2 +18, 11, 3 !TDC ROC#2 Sl#3 Ch#18 HDC pl#11 [Y2] wire#3 +19, 11, 4 !TDC ROC#2 Sl#3 Ch#19 HDC pl#11 [Y2] wire#4 +20, 11, 5 !TDC ROC#2 Sl#3 Ch#20 HDC pl#11 [Y2] wire#5 +21, 11, 6 !TDC ROC#2 Sl#3 Ch#21 HDC pl#11 [Y2] wire#6 +22, 11, 7 !TDC ROC#2 Sl#3 Ch#22 HDC pl#11 [Y2] wire#7 +23, 11, 8 !TDC ROC#2 Sl#3 Ch#23 HDC pl#11 [Y2] wire#8 +24, 11, 9 !TDC ROC#2 Sl#3 Ch#24 HDC pl#11 [Y2] wire#9 +25, 11, 10 !TDC ROC#2 Sl#3 Ch#25 HDC pl#11 [Y2] wire#10 +26, 11, 11 !TDC ROC#2 Sl#3 Ch#26 HDC pl#11 [Y2] wire#11 +27, 11, 12 !TDC ROC#2 Sl#3 Ch#27 HDC pl#11 [Y2] wire#12 +28, 11, 13 !TDC ROC#2 Sl#3 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#3 Ch#29 unused +! 30 !TDC ROC#2 Sl#3 Ch#30 unused +! 31 !TDC ROC#2 Sl#3 Ch#31 unused +32, 10, 92 !TDC ROC#2 Sl#3 Ch#32 HDC pl#10 [V] wire#92 +33, 10, 93 !TDC ROC#2 Sl#3 Ch#33 HDC pl#10 [V] wire#93 +34, 10, 94 !TDC ROC#2 Sl#3 Ch#34 HDC pl#10 [V] wire#94 +35, 10, 95 !TDC ROC#2 Sl#3 Ch#35 HDC pl#10 [V] wire#95 +36, 10, 96 !TDC ROC#2 Sl#3 Ch#36 HDC pl#10 [V] wire#96 +37, 10, 97 !TDC ROC#2 Sl#3 Ch#37 HDC pl#10 [V] wire#97 +38, 10, 98 !TDC ROC#2 Sl#3 Ch#38 HDC pl#10 [V] wire#98 +39, 10, 99 !TDC ROC#2 Sl#3 Ch#39 HDC pl#10 [V] wire#99 +40, 10, 100 !TDC ROC#2 Sl#3 Ch#40 HDC pl#10 [V] wire#100 +41, 10, 101 !TDC ROC#2 Sl#3 Ch#41 HDC pl#10 [V] wire#101 +42, 10, 102 !TDC ROC#2 Sl#3 Ch#42 HDC pl#10 [V] wire#102 +43, 10, 103 !TDC ROC#2 Sl#3 Ch#43 HDC pl#10 [V] wire#103 +44, 10, 104 !TDC ROC#2 Sl#3 Ch#44 HDC pl#10 [V] wire#104 +45, 10, 105 !TDC ROC#2 Sl#3 Ch#45 HDC pl#10 [V] wire#105 +46, 10, 106 !TDC ROC#2 Sl#3 Ch#46 HDC pl#10 [V] wire#106 +47, 10, 107 !TDC ROC#2 Sl#3 Ch#47 HDC pl#10 [V] wire#107 +48, 7, 97 !TDC ROC#2 Sl#3 Ch#48 HDC pl#7 [X1] wire#97 +49, 7, 98 !TDC ROC#2 Sl#3 Ch#49 HDC pl#7 [X1] wire#98 +50, 7, 99 !TDC ROC#2 Sl#3 Ch#50 HDC pl#7 [X1] wire#99 +51, 7, 100 !TDC ROC#2 Sl#3 Ch#51 HDC pl#7 [X1] wire#100 +52, 7, 101 !TDC ROC#2 Sl#3 Ch#52 HDC pl#7 [X1] wire#101 +53, 7, 102 !TDC ROC#2 Sl#3 Ch#53 HDC pl#7 [X1] wire#102 +54, 7, 103 !TDC ROC#2 Sl#3 Ch#54 HDC pl#7 [X1] wire#103 +55, 7, 104 !TDC ROC#2 Sl#3 Ch#55 HDC pl#7 [X1] wire#104 +56, 7, 105 !TDC ROC#2 Sl#3 Ch#56 HDC pl#7 [X1] wire#105 +57, 7, 106 !TDC ROC#2 Sl#3 Ch#57 HDC pl#7 [X1] wire#106 +58, 7, 107 !TDC ROC#2 Sl#3 Ch#58 HDC pl#7 [X1] wire#107 +59, 7, 108 !TDC ROC#2 Sl#3 Ch#59 HDC pl#7 [X1] wire#108 +60, 7, 109 !TDC ROC#2 Sl#3 Ch#60 HDC pl#7 [X1] wire#109 +61, 7, 110 !TDC ROC#2 Sl#3 Ch#61 HDC pl#7 [X1] wire#110 +62, 7, 111 !TDC ROC#2 Sl#3 Ch#62 HDC pl#7 [X1] wire#111 +63, 7, 112 !TDC ROC#2 Sl#3 Ch#63 HDC pl#7 [X1] wire#112 +64, 12, 1 !TDC ROC#2 Sl#3 Ch#64 HDC pl#12 [X2] wire#1 +65, 12, 2 !TDC ROC#2 Sl#3 Ch#65 HDC pl#12 [X2] wire#2 +66, 12, 3 !TDC ROC#2 Sl#3 Ch#66 HDC pl#12 [X2] wire#3 +67, 12, 4 !TDC ROC#2 Sl#3 Ch#67 HDC pl#12 [X2] wire#4 +68, 12, 5 !TDC ROC#2 Sl#3 Ch#68 HDC pl#12 [X2] wire#5 +69, 12, 6 !TDC ROC#2 Sl#3 Ch#69 HDC pl#12 [X2] wire#6 +70, 12, 7 !TDC ROC#2 Sl#3 Ch#70 HDC pl#12 [X2] wire#7 +71, 12, 8 !TDC ROC#2 Sl#3 Ch#71 HDC pl#12 [X2] wire#8 +72, 12, 9 !TDC ROC#2 Sl#3 Ch#72 HDC pl#12 [X2] wire#9 +73, 12, 10 !TDC ROC#2 Sl#3 Ch#73 HDC pl#12 [X2] wire#10 +74, 12, 11 !TDC ROC#2 Sl#3 Ch#74 HDC pl#12 [X2] wire#11 +75, 12, 12 !TDC ROC#2 Sl#3 Ch#75 HDC pl#12 [X2] wire#12 +76, 12, 13 !TDC ROC#2 Sl#3 Ch#76 HDC pl#12 [X2] wire#13 +77, 12, 14 !TDC ROC#2 Sl#3 Ch#77 HDC pl#12 [X2] wire#14 +78, 12, 15 !TDC ROC#2 Sl#3 Ch#78 HDC pl#12 [X2] wire#15 +79, 12, 16 !TDC ROC#2 Sl#3 Ch#79 HDC pl#12 [X2] wire#16 +80, 7, 113 !TDC ROC#2 Sl#3 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#3 Ch#81 unused +82, 9, 1 !TDC ROC#2 Sl#3 Ch#82 HDC pl#9 [U] wire#1 +83, 9, 2 !TDC ROC#2 Sl#3 Ch#83 HDC pl#9 [U] wire#2 +84, 9, 3 !TDC ROC#2 Sl#3 Ch#84 HDC pl#9 [U] wire#3 +85, 9, 4 !TDC ROC#2 Sl#3 Ch#85 HDC pl#9 [U] wire#4 +86, 9, 5 !TDC ROC#2 Sl#3 Ch#86 HDC pl#9 [U] wire#5 +87, 9, 6 !TDC ROC#2 Sl#3 Ch#87 HDC pl#9 [U] wire#6 +88, 9, 7 !TDC ROC#2 Sl#3 Ch#88 HDC pl#9 [U] wire#7 +89, 9, 8 !TDC ROC#2 Sl#3 Ch#89 HDC pl#9 [U] wire#8 +90, 9, 9 !TDC ROC#2 Sl#3 Ch#90 HDC pl#9 [U] wire#9 +91, 9, 10 !TDC ROC#2 Sl#3 Ch#91 HDC pl#9 [U] wire#10 +92, 9, 11 !TDC ROC#2 Sl#3 Ch#92 HDC pl#9 [U] wire#11 +93, 9, 12 !TDC ROC#2 Sl#3 Ch#93 HDC pl#9 [U] wire#12 +94, 9, 13 !TDC ROC#2 Sl#3 Ch#94 HDC pl#9 [U] wire#13 +95, 9, 14 !TDC ROC#2 Sl#3 Ch#95 HDC pl#9 [U] wire#14 +Slot= 5 +0, 10, 77 !TDC ROC#2 Sl#5 Ch#0 HDC pl#10 [V] wire#77 +1, 10, 78 !TDC ROC#2 Sl#5 Ch#1 HDC pl#10 [V] wire#78 +2, 10, 79 !TDC ROC#2 Sl#5 Ch#2 HDC pl#10 [V] wire#79 +3, 10, 80 !TDC ROC#2 Sl#5 Ch#3 HDC pl#10 [V] wire#80 +4, 10, 81 !TDC ROC#2 Sl#5 Ch#4 HDC pl#10 [V] wire#81 +5, 10, 82 !TDC ROC#2 Sl#5 Ch#5 HDC pl#10 [V] wire#82 +6, 10, 83 !TDC ROC#2 Sl#5 Ch#6 HDC pl#10 [V] wire#83 +7, 10, 84 !TDC ROC#2 Sl#5 Ch#7 HDC pl#10 [V] wire#84 +8, 10, 85 !TDC ROC#2 Sl#5 Ch#8 HDC pl#10 [V] wire#85 +9, 10, 86 !TDC ROC#2 Sl#5 Ch#9 HDC pl#10 [V] wire#86 +10, 10, 87 !TDC ROC#2 Sl#5 Ch#10 HDC pl#10 [V] wire#87 +11, 10, 88 !TDC ROC#2 Sl#5 Ch#11 HDC pl#10 [V] wire#88 +12, 10, 89 !TDC ROC#2 Sl#5 Ch#12 HDC pl#10 [V] wire#89 +13, 10, 90 !TDC ROC#2 Sl#5 Ch#13 HDC pl#10 [V] wire#90 +14, 10, 91 !TDC ROC#2 Sl#5 Ch#14 HDC pl#10 [V] wire#91 +! 15 !TDC ROC#2 Sl#5 Ch#15 unused +16, 7, 81 !TDC ROC#2 Sl#5 Ch#16 HDC pl#7 [X1] wire#81 +17, 7, 82 !TDC ROC#2 Sl#5 Ch#17 HDC pl#7 [X1] wire#82 +18, 7, 83 !TDC ROC#2 Sl#5 Ch#18 HDC pl#7 [X1] wire#83 +19, 7, 84 !TDC ROC#2 Sl#5 Ch#19 HDC pl#7 [X1] wire#84 +20, 7, 85 !TDC ROC#2 Sl#5 Ch#20 HDC pl#7 [X1] wire#85 +21, 7, 86 !TDC ROC#2 Sl#5 Ch#21 HDC pl#7 [X1] wire#86 +22, 7, 87 !TDC ROC#2 Sl#5 Ch#22 HDC pl#7 [X1] wire#87 +23, 7, 88 !TDC ROC#2 Sl#5 Ch#23 HDC pl#7 [X1] wire#88 +24, 7, 89 !TDC ROC#2 Sl#5 Ch#24 HDC pl#7 [X1] wire#89 +25, 7, 90 !TDC ROC#2 Sl#5 Ch#25 HDC pl#7 [X1] wire#90 +26, 7, 91 !TDC ROC#2 Sl#5 Ch#26 HDC pl#7 [X1] wire#91 +27, 7, 92 !TDC ROC#2 Sl#5 Ch#27 HDC pl#7 [X1] wire#92 +28, 7, 93 !TDC ROC#2 Sl#5 Ch#28 HDC pl#7 [X1] wire#93 +29, 7, 94 !TDC ROC#2 Sl#5 Ch#29 HDC pl#7 [X1] wire#94 +30, 7, 95 !TDC ROC#2 Sl#5 Ch#30 HDC pl#7 [X1] wire#95 +31, 7, 96 !TDC ROC#2 Sl#5 Ch#31 HDC pl#7 [X1] wire#96 +32, 12, 17 !TDC ROC#2 Sl#5 Ch#32 HDC pl#12 [X2] wire#17 +33, 12, 18 !TDC ROC#2 Sl#5 Ch#33 HDC pl#12 [X2] wire#18 +34, 12, 19 !TDC ROC#2 Sl#5 Ch#34 HDC pl#12 [X2] wire#19 +35, 12, 20 !TDC ROC#2 Sl#5 Ch#35 HDC pl#12 [X2] wire#20 +36, 12, 21 !TDC ROC#2 Sl#5 Ch#36 HDC pl#12 [X2] wire#21 +37, 12, 22 !TDC ROC#2 Sl#5 Ch#37 HDC pl#12 [X2] wire#22 +38, 12, 23 !TDC ROC#2 Sl#5 Ch#38 HDC pl#12 [X2] wire#23 +39, 12, 24 !TDC ROC#2 Sl#5 Ch#39 HDC pl#12 [X2] wire#24 +40, 12, 25 !TDC ROC#2 Sl#5 Ch#40 HDC pl#12 [X2] wire#25 +41, 12, 26 !TDC ROC#2 Sl#5 Ch#41 HDC pl#12 [X2] wire#26 +42, 12, 27 !TDC ROC#2 Sl#5 Ch#42 HDC pl#12 [X2] wire#27 +43, 12, 28 !TDC ROC#2 Sl#5 Ch#43 HDC pl#12 [X2] wire#28 +44, 12, 29 !TDC ROC#2 Sl#5 Ch#44 HDC pl#12 [X2] wire#29 +45, 12, 30 !TDC ROC#2 Sl#5 Ch#45 HDC pl#12 [X2] wire#30 +46, 12, 31 !TDC ROC#2 Sl#5 Ch#46 HDC pl#12 [X2] wire#31 +47, 12, 32 !TDC ROC#2 Sl#5 Ch#47 HDC pl#12 [X2] wire#32 +48, 9, 15 !TDC ROC#2 Sl#5 Ch#48 HDC pl#9 [U] wire#15 +49, 9, 16 !TDC ROC#2 Sl#5 Ch#49 HDC pl#9 [U] wire#16 +50, 9, 17 !TDC ROC#2 Sl#5 Ch#50 HDC pl#9 [U] wire#17 +51, 9, 18 !TDC ROC#2 Sl#5 Ch#51 HDC pl#9 [U] wire#18 +52, 9, 19 !TDC ROC#2 Sl#5 Ch#52 HDC pl#9 [U] wire#19 +53, 9, 20 !TDC ROC#2 Sl#5 Ch#53 HDC pl#9 [U] wire#20 +54, 9, 21 !TDC ROC#2 Sl#5 Ch#54 HDC pl#9 [U] wire#21 +55, 9, 22 !TDC ROC#2 Sl#5 Ch#55 HDC pl#9 [U] wire#22 +56, 9, 23 !TDC ROC#2 Sl#5 Ch#56 HDC pl#9 [U] wire#23 +57, 9, 24 !TDC ROC#2 Sl#5 Ch#57 HDC pl#9 [U] wire#24 +58, 9, 25 !TDC ROC#2 Sl#5 Ch#58 HDC pl#9 [U] wire#25 +59, 9, 26 !TDC ROC#2 Sl#5 Ch#59 HDC pl#9 [U] wire#26 +60, 9, 27 !TDC ROC#2 Sl#5 Ch#60 HDC pl#9 [U] wire#27 +61, 9, 28 !TDC ROC#2 Sl#5 Ch#61 HDC pl#9 [U] wire#28 +62, 9, 29 !TDC ROC#2 Sl#5 Ch#62 HDC pl#9 [U] wire#29 +!63 !TDC ROC#2 Sl#5 Ch#63 unused +64, 10, 61 !TDC ROC#2 Sl#5 Ch#64 HDC pl#10 [V] wire#61 +65, 10, 62 !TDC ROC#2 Sl#5 Ch#65 HDC pl#10 [V] wire#62 +66, 10, 63 !TDC ROC#2 Sl#5 Ch#66 HDC pl#10 [V] wire#63 +67, 10, 64 !TDC ROC#2 Sl#5 Ch#67 HDC pl#10 [V] wire#64 +68, 10, 65 !TDC ROC#2 Sl#5 Ch#68 HDC pl#10 [V] wire#65 +69, 10, 66 !TDC ROC#2 Sl#5 Ch#69 HDC pl#10 [V] wire#66 +70, 10, 67 !TDC ROC#2 Sl#5 Ch#70 HDC pl#10 [V] wire#67 +71, 10, 68 !TDC ROC#2 Sl#5 Ch#71 HDC pl#10 [V] wire#68 +72, 10, 69 !TDC ROC#2 Sl#5 Ch#72 HDC pl#10 [V] wire#69 +73, 10, 70 !TDC ROC#2 Sl#5 Ch#73 HDC pl#10 [V] wire#70 +74, 10, 71 !TDC ROC#2 Sl#5 Ch#74 HDC pl#10 [V] wire#71 +75, 10, 72 !TDC ROC#2 Sl#5 Ch#75 HDC pl#10 [V] wire#72 +76, 10, 73 !TDC ROC#2 Sl#5 Ch#76 HDC pl#10 [V] wire#73 +77, 10, 74 !TDC ROC#2 Sl#5 Ch#77 HDC pl#10 [V] wire#74 +78, 10, 75 !TDC ROC#2 Sl#5 Ch#78 HDC pl#10 [V] wire#75 +79, 10, 76 !TDC ROC#2 Sl#5 Ch#79 HDC pl#10 [V] wire#76 +80, 7, 65 !TDC ROC#2 Sl#5 Ch#80 HDC pl#7 [X1] wire#65 +81, 7, 66 !TDC ROC#2 Sl#5 Ch#81 HDC pl#7 [X1] wire#66 +82, 7, 67 !TDC ROC#2 Sl#5 Ch#82 HDC pl#7 [X1] wire#67 +83, 7, 68 !TDC ROC#2 Sl#5 Ch#83 HDC pl#7 [X1] wire#68 +84, 7, 69 !TDC ROC#2 Sl#5 Ch#84 HDC pl#7 [X1] wire#69 +85, 7, 70 !TDC ROC#2 Sl#5 Ch#85 HDC pl#7 [X1] wire#70 +86, 7, 71 !TDC ROC#2 Sl#5 Ch#86 HDC pl#7 [X1] wire#71 +87, 7, 72 !TDC ROC#2 Sl#5 Ch#87 HDC pl#7 [X1] wire#72 +88, 7, 73 !TDC ROC#2 Sl#5 Ch#88 HDC pl#7 [X1] wire#73 +89, 7, 74 !TDC ROC#2 Sl#5 Ch#89 HDC pl#7 [X1] wire#74 +90, 7, 75 !TDC ROC#2 Sl#5 Ch#90 HDC pl#7 [X1] wire#75 +91, 7, 76 !TDC ROC#2 Sl#5 Ch#91 HDC pl#7 [X1] wire#76 +92, 7, 77 !TDC ROC#2 Sl#5 Ch#92 HDC pl#7 [X1] wire#77 +93, 7, 78 !TDC ROC#2 Sl#5 Ch#93 HDC pl#7 [X1] wire#78 +94, 7, 79 !TDC ROC#2 Sl#5 Ch#94 HDC pl#7 [X1] wire#79 +95, 7, 80 !TDC ROC#2 Sl#5 Ch#95 HDC pl#7 [X1] wire#80 +Slot= 6 +0, 12, 33 !TDC ROC#2 Sl#6 Ch#0 HDC pl#12 [X2] wire#33 +1, 12, 34 !TDC ROC#2 Sl#6 Ch#1 HDC pl#12 [X2] wire#34 +2, 12, 35 !TDC ROC#2 Sl#6 Ch#2 HDC pl#12 [X2] wire#35 +3, 12, 36 !TDC ROC#2 Sl#6 Ch#3 HDC pl#12 [X2] wire#36 +4, 12, 37 !TDC ROC#2 Sl#6 Ch#4 HDC pl#12 [X2] wire#37 +5, 12, 38 !TDC ROC#2 Sl#6 Ch#5 HDC pl#12 [X2] wire#38 +6, 12, 39 !TDC ROC#2 Sl#6 Ch#6 HDC pl#12 [X2] wire#39 +7, 12, 40 !TDC ROC#2 Sl#6 Ch#7 HDC pl#12 [X2] wire#40 +8, 12, 41 !TDC ROC#2 Sl#6 Ch#8 HDC pl#12 [X2] wire#41 +9, 12, 42 !TDC ROC#2 Sl#6 Ch#9 HDC pl#12 [X2] wire#42 +10, 12, 43 !TDC ROC#2 Sl#6 Ch#10 HDC pl#12 [X2] wire#43 +11, 12, 44 !TDC ROC#2 Sl#6 Ch#11 HDC pl#12 [X2] wire#44 +12, 12, 45 !TDC ROC#2 Sl#6 Ch#12 HDC pl#12 [X2] wire#45 +13, 12, 46 !TDC ROC#2 Sl#6 Ch#13 HDC pl#12 [X2] wire#46 +14, 12, 47 !TDC ROC#2 Sl#6 Ch#14 HDC pl#12 [X2] wire#47 +15, 12, 48 !TDC ROC#2 Sl#6 Ch#15 HDC pl#12 [X2] wire#48 +16, 9, 30 !TDC ROC#2 Sl#6 Ch#16 HDC pl#9 [U] wire#30 +17, 9, 31 !TDC ROC#2 Sl#6 Ch#17 HDC pl#9 [U] wire#31 +18, 9, 32 !TDC ROC#2 Sl#6 Ch#18 HDC pl#9 [U] wire#32 +19, 9, 33 !TDC ROC#2 Sl#6 Ch#19 HDC pl#9 [U] wire#33 +20, 9, 34 !TDC ROC#2 Sl#6 Ch#20 HDC pl#9 [U] wire#34 +21, 9, 35 !TDC ROC#2 Sl#6 Ch#21 HDC pl#9 [U] wire#35 +22, 9, 36 !TDC ROC#2 Sl#6 Ch#22 HDC pl#9 [U] wire#36 +23, 9, 37 !TDC ROC#2 Sl#6 Ch#23 HDC pl#9 [U] wire#37 +24, 9, 38 !TDC ROC#2 Sl#6 Ch#24 HDC pl#9 [U] wire#38 +25, 9, 39 !TDC ROC#2 Sl#6 Ch#25 HDC pl#9 [U] wire#39 +26, 9, 40 !TDC ROC#2 Sl#6 Ch#26 HDC pl#9 [U] wire#40 +27, 9, 41 !TDC ROC#2 Sl#6 Ch#27 HDC pl#9 [U] wire#41 +28, 9, 42 !TDC ROC#2 Sl#6 Ch#28 HDC pl#9 [U] wire#42 +29, 9, 43 !TDC ROC#2 Sl#6 Ch#29 HDC pl#9 [U] wire#43 +30, 9, 44 !TDC ROC#2 Sl#6 Ch#30 HDC pl#9 [U] wire#44 +31, 9, 45 !TDC ROC#2 Sl#6 Ch#31 HDC pl#9 [U] wire#45 +32, 10, 46 !TDC ROC#2 Sl#6 Ch#32 HDC pl#10 [V] wire#46 +33, 10, 47 !TDC ROC#2 Sl#6 Ch#33 HDC pl#10 [V] wire#47 +34, 10, 48 !TDC ROC#2 Sl#6 Ch#34 HDC pl#10 [V] wire#48 +35, 10, 49 !TDC ROC#2 Sl#6 Ch#35 HDC pl#10 [V] wire#49 +36, 10, 50 !TDC ROC#2 Sl#6 Ch#36 HDC pl#10 [V] wire#50 +37, 10, 51 !TDC ROC#2 Sl#6 Ch#37 HDC pl#10 [V] wire#51 +38, 10, 52 !TDC ROC#2 Sl#6 Ch#38 HDC pl#10 [V] wire#52 +39, 10, 53 !TDC ROC#2 Sl#6 Ch#39 HDC pl#10 [V] wire#53 +40, 10, 54 !TDC ROC#2 Sl#6 Ch#40 HDC pl#10 [V] wire#54 +41, 10, 55 !TDC ROC#2 Sl#6 Ch#41 HDC pl#10 [V] wire#55 +42, 10, 56 !TDC ROC#2 Sl#6 Ch#42 HDC pl#10 [V] wire#56 +43, 10, 57 !TDC ROC#2 Sl#6 Ch#43 HDC pl#10 [V] wire#57 +44, 10, 58 !TDC ROC#2 Sl#6 Ch#44 HDC pl#10 [V] wire#58 +45, 10, 59 !TDC ROC#2 Sl#6 Ch#45 HDC pl#10 [V] wire#59 +46, 10, 60 !TDC ROC#2 Sl#6 Ch#46 HDC pl#10 [V] wire#60 +!47 !TDC ROC#2 Sl#6 Ch#47 HDC unused +48, 7, 49 !TDC ROC#2 Sl#6 Ch#48 HDC pl#7 [X1] wire#49 +49, 7, 50 !TDC ROC#2 Sl#6 Ch#49 HDC pl#7 [X1] wire#50 +50, 7, 51 !TDC ROC#2 Sl#6 Ch#50 HDC pl#7 [X1] wire#51 +51, 7, 52 !TDC ROC#2 Sl#6 Ch#51 HDC pl#7 [X1] wire#52 +52, 7, 53 !TDC ROC#2 Sl#6 Ch#52 HDC pl#7 [X1] wire#53 +53, 7, 54 !TDC ROC#2 Sl#6 Ch#53 HDC pl#7 [X1] wire#54 +54, 7, 55 !TDC ROC#2 Sl#6 Ch#54 HDC pl#7 [X1] wire#55 +55, 7, 56 !TDC ROC#2 Sl#6 Ch#55 HDC pl#7 [X1] wire#56 +56, 7, 57 !TDC ROC#2 Sl#6 Ch#56 HDC pl#7 [X1] wire#57 +57, 7, 58 !TDC ROC#2 Sl#6 Ch#57 HDC pl#7 [X1] wire#58 +58, 7, 59 !TDC ROC#2 Sl#6 Ch#58 HDC pl#7 [X1] wire#59 +59, 7, 60 !TDC ROC#2 Sl#6 Ch#59 HDC pl#7 [X1] wire#60 +60, 7, 61 !TDC ROC#2 Sl#6 Ch#60 HDC pl#7 [X1] wire#61 +61, 7, 62 !TDC ROC#2 Sl#6 Ch#61 HDC pl#7 [X1] wire#62 +62, 7, 63 !TDC ROC#2 Sl#6 Ch#62 HDC pl#7 [X1] wire#63 +63, 7, 64 !TDC ROC#2 Sl#6 Ch#63 HDC pl#7 [X1] wire#64 +64, 12, 49 !TDC ROC#2 Sl#6 Ch#64 HDC pl#12 [X2] wire#49 +65, 12, 50 !TDC ROC#2 Sl#6 Ch#65 HDC pl#12 [X2] wire#50 +66, 12, 51 !TDC ROC#2 Sl#6 Ch#66 HDC pl#12 [X2] wire#51 +67, 12, 52 !TDC ROC#2 Sl#6 Ch#67 HDC pl#12 [X2] wire#52 +68, 12, 53 !TDC ROC#2 Sl#6 Ch#68 HDC pl#12 [X2] wire#53 +69, 12, 54 !TDC ROC#2 Sl#6 Ch#69 HDC pl#12 [X2] wire#54 +70, 12, 55 !TDC ROC#2 Sl#6 Ch#70 HDC pl#12 [X2] wire#55 +71, 12, 56 !TDC ROC#2 Sl#6 Ch#71 HDC pl#12 [X2] wire#56 +72, 12, 57 !TDC ROC#2 Sl#6 Ch#72 HDC pl#12 [X2] wire#57 +73, 12, 58 !TDC ROC#2 Sl#6 Ch#73 HDC pl#12 [X2] wire#58 +74, 12, 59 !TDC ROC#2 Sl#6 Ch#74 HDC pl#12 [X2] wire#59 +75, 12, 60 !TDC ROC#2 Sl#6 Ch#75 HDC pl#12 [X2] wire#60 +76, 12, 61 !TDC ROC#2 Sl#6 Ch#76 HDC pl#12 [X2] wire#61 +77, 12, 62 !TDC ROC#2 Sl#6 Ch#77 HDC pl#12 [X2] wire#62 +78, 12, 63 !TDC ROC#2 Sl#6 Ch#78 HDC pl#12 [X2] wire#63 +79, 12, 64 !TDC ROC#2 Sl#6 Ch#79 HDC pl#12 [X2] wire#64 +80, 10, 30 !TDC ROC#2 Sl#6 Ch#80 HDC pl#10 [V] wire#30 +81, 10, 31 !TDC ROC#2 Sl#6 Ch#81 HDC pl#10 [V] wire#31 +82, 10, 32 !TDC ROC#2 Sl#6 Ch#82 HDC pl#10 [V] wire#32 +83, 10, 33 !TDC ROC#2 Sl#6 Ch#83 HDC pl#10 [V] wire#33 +84, 10, 34 !TDC ROC#2 Sl#6 Ch#84 HDC pl#10 [V] wire#34 +85, 10, 35 !TDC ROC#2 Sl#6 Ch#85 HDC pl#10 [V] wire#35 +86, 10, 36 !TDC ROC#2 Sl#6 Ch#86 HDC pl#10 [V] wire#36 +87, 10, 37 !TDC ROC#2 Sl#6 Ch#87 HDC pl#10 [V] wire#37 +88, 10, 38 !TDC ROC#2 Sl#6 Ch#88 HDC pl#10 [V] wire#38 +89, 10, 39 !TDC ROC#2 Sl#6 Ch#89 HDC pl#10 [V] wire#39 +90, 10, 40 !TDC ROC#2 Sl#6 Ch#90 HDC pl#10 [V] wire#40 +91, 10, 41 !TDC ROC#2 Sl#6 Ch#91 HDC pl#10 [V] wire#41 +92, 10, 42 !TDC ROC#2 Sl#6 Ch#92 HDC pl#10 [V] wire#42 +93, 10, 43 !TDC ROC#2 Sl#6 Ch#93 HDC pl#10 [V] wire#43 +94, 10, 44 !TDC ROC#2 Sl#6 Ch#94 HDC pl#10 [V] wire#44 +95, 10, 45 !TDC ROC#2 Sl#6 Ch#95 HDC pl#10 [V] wire#45 +Slot= 8 +0, 9, 46 !TDC ROC#2 Sl#8 Ch#0 HDC pl#9 [U] wire#46 +1, 9, 47 !TDC ROC#2 Sl#8 Ch#1 HDC pl#9 [U] wire#47 +2, 9, 48 !TDC ROC#2 Sl#8 Ch#2 HDC pl#9 [U] wire#48 +3, 9, 49 !TDC ROC#2 Sl#8 Ch#3 HDC pl#9 [U] wire#49 +4, 9, 50 !TDC ROC#2 Sl#8 Ch#4 HDC pl#9 [U] wire#50 +5, 9, 51 !TDC ROC#2 Sl#8 Ch#5 HDC pl#9 [U] wire#51 +6, 9, 52 !TDC ROC#2 Sl#8 Ch#6 HDC pl#9 [U] wire#52 +7, 9, 53 !TDC ROC#2 Sl#8 Ch#7 HDC pl#9 [U] wire#53 +8, 9, 54 !TDC ROC#2 Sl#8 Ch#8 HDC pl#9 [U] wire#54 +9, 9, 55 !TDC ROC#2 Sl#8 Ch#9 HDC pl#9 [U] wire#55 +10, 9, 56 !TDC ROC#2 Sl#8 Ch#10 HDC pl#9 [U] wire#56 +11, 9, 57 !TDC ROC#2 Sl#8 Ch#11 HDC pl#9 [U] wire#57 +12, 9, 58 !TDC ROC#2 Sl#8 Ch#12 HDC pl#9 [U] wire#58 +13, 9, 59 !TDC ROC#2 Sl#8 Ch#13 HDC pl#9 [U] wire#59 +14, 9, 60 !TDC ROC#2 Sl#8 Ch#14 HDC pl#9 [U] wire#60 +!15 !TDC ROC#2 Sl#8 Ch#15 unused +16, 7, 33 !TDC ROC#2 Sl#8 Ch#16 HDC pl#7 [X1] wire#33 +17, 7, 34 !TDC ROC#2 Sl#8 Ch#17 HDC pl#7 [X1] wire#34 +18, 7, 35 !TDC ROC#2 Sl#8 Ch#18 HDC pl#7 [X1] wire#35 +19, 7, 36 !TDC ROC#2 Sl#8 Ch#19 HDC pl#7 [X1] wire#36 +20, 7, 37 !TDC ROC#2 Sl#8 Ch#20 HDC pl#7 [X1] wire#37 +21, 7, 38 !TDC ROC#2 Sl#8 Ch#21 HDC pl#7 [X1] wire#38 +22, 7, 39 !TDC ROC#2 Sl#8 Ch#22 HDC pl#7 [X1] wire#39 +23, 7, 40 !TDC ROC#2 Sl#8 Ch#23 HDC pl#7 [X1] wire#40 +24, 7, 41 !TDC ROC#2 Sl#8 Ch#24 HDC pl#7 [X1] wire#41 +25, 7, 42 !TDC ROC#2 Sl#8 Ch#25 HDC pl#7 [X1] wire#42 +26, 7, 43 !TDC ROC#2 Sl#8 Ch#26 HDC pl#7 [X1] wire#43 +27, 7, 44 !TDC ROC#2 Sl#8 Ch#27 HDC pl#7 [X1] wire#44 +28, 7, 45 !TDC ROC#2 Sl#8 Ch#28 HDC pl#7 [X1] wire#45 +29, 7, 46 !TDC ROC#2 Sl#8 Ch#29 HDC pl#7 [X1] wire#46 +30, 7, 47 !TDC ROC#2 Sl#8 Ch#30 HDC pl#7 [X1] wire#47 +31, 7, 48 !TDC ROC#2 Sl#8 Ch#31 HDC pl#7 [X1] wire#48 +32, 12, 65 !TDC ROC#2 Sl#8 Ch#32 HDC pl#12 [X2] wire#65 +33, 12, 66 !TDC ROC#2 Sl#8 Ch#33 HDC pl#12 [X2] wire#66 +34, 12, 67 !TDC ROC#2 Sl#8 Ch#34 HDC pl#12 [X2] wire#67 +35, 12, 68 !TDC ROC#2 Sl#8 Ch#35 HDC pl#12 [X2] wire#68 +36, 12, 69 !TDC ROC#2 Sl#8 Ch#36 HDC pl#12 [X2] wire#69 +37, 12, 70 !TDC ROC#2 Sl#8 Ch#37 HDC pl#12 [X2] wire#70 +38, 12, 71 !TDC ROC#2 Sl#8 Ch#38 HDC pl#12 [X2] wire#71 +39, 12, 72 !TDC ROC#2 Sl#8 Ch#39 HDC pl#12 [X2] wire#72 +40, 12, 73 !TDC ROC#2 Sl#8 Ch#40 HDC pl#12 [X2] wire#73 +41, 12, 74 !TDC ROC#2 Sl#8 Ch#41 HDC pl#12 [X2] wire#74 +42, 12, 75 !TDC ROC#2 Sl#8 Ch#42 HDC pl#12 [X2] wire#75 +43, 12, 76 !TDC ROC#2 Sl#8 Ch#43 HDC pl#12 [X2] wire#76 +44, 12, 77 !TDC ROC#2 Sl#8 Ch#44 HDC pl#12 [X2] wire#77 +45, 12, 78 !TDC ROC#2 Sl#8 Ch#45 HDC pl#12 [X2] wire#78 +46, 12, 79 !TDC ROC#2 Sl#8 Ch#46 HDC pl#12 [X2] wire#79 +47, 12, 80 !TDC ROC#2 Sl#8 Ch#47 HDC pl#12 [X2] wire#80 +48, 9, 61 !TDC ROC#2 Sl#8 Ch#48 HDC pl#9 [U] wire#61 +49, 9, 62 !TDC ROC#2 Sl#8 Ch#49 HDC pl#9 [U] wire#62 +50, 9, 63 !TDC ROC#2 Sl#8 Ch#50 HDC pl#9 [U] wire#63 +51, 9, 64 !TDC ROC#2 Sl#8 Ch#51 HDC pl#9 [U] wire#64 +52, 9, 65 !TDC ROC#2 Sl#8 Ch#52 HDC pl#9 [U] wire#65 +53, 9, 66 !TDC ROC#2 Sl#8 Ch#53 HDC pl#9 [U] wire#66 +54, 9, 67 !TDC ROC#2 Sl#8 Ch#54 HDC pl#9 [U] wire#67 +55, 9, 68 !TDC ROC#2 Sl#8 Ch#55 HDC pl#9 [U] wire#68 +56, 9, 69 !TDC ROC#2 Sl#8 Ch#56 HDC pl#9 [U] wire#69 +57, 9, 70 !TDC ROC#2 Sl#8 Ch#57 HDC pl#9 [U] wire#70 +58, 9, 71 !TDC ROC#2 Sl#8 Ch#58 HDC pl#9 [U] wire#71 +59, 9, 72 !TDC ROC#2 Sl#8 Ch#59 HDC pl#9 [U] wire#72 +60, 9, 73 !TDC ROC#2 Sl#8 Ch#60 HDC pl#9 [U] wire#73 +61, 9, 74 !TDC ROC#2 Sl#8 Ch#61 HDC pl#9 [U] wire#74 +62, 9, 75 !TDC ROC#2 Sl#8 Ch#62 HDC pl#9 [U] wire#75 +63, 9, 76 !TDC ROC#2 Sl#8 Ch#63 HDC pl#9 [U] wire#76 +64, 10, 15 !TDC ROC#2 Sl#8 Ch#64 HDC pl#10 [V] wire#15 +65, 10, 16 !TDC ROC#2 Sl#8 Ch#65 HDC pl#10 [V] wire#16 +66, 10, 17 !TDC ROC#2 Sl#8 Ch#66 HDC pl#10 [V] wire#17 +67, 10, 18 !TDC ROC#2 Sl#8 Ch#67 HDC pl#10 [V] wire#18 +68, 10, 19 !TDC ROC#2 Sl#8 Ch#68 HDC pl#10 [V] wire#19 +69, 10, 20 !TDC ROC#2 Sl#8 Ch#69 HDC pl#10 [V] wire#20 +70, 10, 21 !TDC ROC#2 Sl#8 Ch#70 HDC pl#10 [V] wire#21 +71, 10, 22 !TDC ROC#2 Sl#8 Ch#71 HDC pl#10 [V] wire#22 +72, 10, 23 !TDC ROC#2 Sl#8 Ch#72 HDC pl#10 [V] wire#23 +73, 10, 24 !TDC ROC#2 Sl#8 Ch#73 HDC pl#10 [V] wire#24 +74, 10, 25 !TDC ROC#2 Sl#8 Ch#74 HDC pl#10 [V] wire#25 +75, 10, 26 !TDC ROC#2 Sl#8 Ch#75 HDC pl#10 [V] wire#26 +76, 10, 27 !TDC ROC#2 Sl#8 Ch#76 HDC pl#10 [V] wire#27 +77, 10, 28 !TDC ROC#2 Sl#8 Ch#77 HDC pl#10 [V] wire#28 +78, 10, 29 !TDC ROC#2 Sl#8 Ch#78 HDC pl#10 [V] wire#29 +! 79 !TDC ROC#2 Sl#8 Ch#79 unused +80, 7, 17 !TDC ROC#2 Sl#8 Ch#80 HDC pl#7 [X1] wire#17 +81, 7, 18 !TDC ROC#2 Sl#8 Ch#81 HDC pl#7 [X1] wire#18 +82, 7, 19 !TDC ROC#2 Sl#8 Ch#82 HDC pl#7 [X1] wire#19 +83, 7, 20 !TDC ROC#2 Sl#8 Ch#83 HDC pl#7 [X1] wire#20 +84, 7, 21 !TDC ROC#2 Sl#8 Ch#84 HDC pl#7 [X1] wire#21 +85, 7, 22 !TDC ROC#2 Sl#8 Ch#85 HDC pl#7 [X1] wire#22 +86, 7, 23 !TDC ROC#2 Sl#8 Ch#86 HDC pl#7 [X1] wire#23 +87, 7, 24 !TDC ROC#2 Sl#8 Ch#87 HDC pl#7 [X1] wire#24 +88, 7, 25 !TDC ROC#2 Sl#8 Ch#88 HDC pl#7 [X1] wire#25 +89, 7, 26 !TDC ROC#2 Sl#8 Ch#89 HDC pl#7 [X1] wire#26 +90, 7, 27 !TDC ROC#2 Sl#8 Ch#90 HDC pl#7 [X1] wire#27 +91, 7, 28 !TDC ROC#2 Sl#8 Ch#91 HDC pl#7 [X1] wire#28 +92, 7, 29 !TDC ROC#2 Sl#8 Ch#92 HDC pl#7 [X1] wire#29 +93, 7, 30 !TDC ROC#2 Sl#8 Ch#93 HDC pl#7 [X1] wire#30 +94, 7, 31 !TDC ROC#2 Sl#8 Ch#94 HDC pl#7 [X1] wire#31 +95, 7, 32 !TDC ROC#2 Sl#8 Ch#95 HDC pl#7 [X1] wire#32 +Slot= 9 +0, 12, 81 !TDC ROC#2 Sl#9 Ch#0 HDC pl#12 [X2] wire#81 +1, 12, 82 !TDC ROC#2 Sl#9 Ch#1 HDC pl#12 [X2] wire#82 +2, 12, 83 !TDC ROC#2 Sl#9 Ch#2 HDC pl#12 [X2] wire#83 +3, 12, 84 !TDC ROC#2 Sl#9 Ch#3 HDC pl#12 [X2] wire#84 +4, 12, 85 !TDC ROC#2 Sl#9 Ch#4 HDC pl#12 [X2] wire#85 +5, 12, 86 !TDC ROC#2 Sl#9 Ch#5 HDC pl#12 [X2] wire#86 +6, 12, 87 !TDC ROC#2 Sl#9 Ch#6 HDC pl#12 [X2] wire#87 +7, 12, 88 !TDC ROC#2 Sl#9 Ch#7 HDC pl#12 [X2] wire#88 +8, 12, 89 !TDC ROC#2 Sl#9 Ch#8 HDC pl#12 [X2] wire#89 +9, 12, 90 !TDC ROC#2 Sl#9 Ch#9 HDC pl#12 [X2] wire#90 +10, 12, 91 !TDC ROC#2 Sl#9 Ch#10 HDC pl#12 [X2] wire#91 +11, 12, 92 !TDC ROC#2 Sl#9 Ch#11 HDC pl#12 [X2] wire#92 +12, 12, 93 !TDC ROC#2 Sl#9 Ch#12 HDC pl#12 [X2] wire#93 +13, 12, 94 !TDC ROC#2 Sl#9 Ch#13 HDC pl#12 [X2] wire#94 +14, 12, 95 !TDC ROC#2 Sl#9 Ch#14 HDC pl#12 [X2] wire#95 +15, 12, 96 !TDC ROC#2 Sl#9 Ch#15 HDC pl#12 [X2] wire#96 +16, 9, 77 !TDC ROC#2 Sl#9 Ch#16 HDC pl#9 [U] wire#77 +17, 9, 78 !TDC ROC#2 Sl#9 Ch#17 HDC pl#9 [U] wire#78 +18, 9, 79 !TDC ROC#2 Sl#9 Ch#18 HDC pl#9 [U] wire#79 +19, 9, 80 !TDC ROC#2 Sl#9 Ch#19 HDC pl#9 [U] wire#80 +20, 9, 81 !TDC ROC#2 Sl#9 Ch#20 HDC pl#9 [U] wire#81 +21, 9, 82 !TDC ROC#2 Sl#9 Ch#21 HDC pl#9 [U] wire#82 +22, 9, 83 !TDC ROC#2 Sl#9 Ch#22 HDC pl#9 [U] wire#83 +23, 9, 84 !TDC ROC#2 Sl#9 Ch#23 HDC pl#9 [U] wire#84 +24, 9, 85 !TDC ROC#2 Sl#9 Ch#24 HDC pl#9 [U] wire#85 +25, 9, 86 !TDC ROC#2 Sl#9 Ch#25 HDC pl#9 [U] wire#86 +26, 9, 87 !TDC ROC#2 Sl#9 Ch#26 HDC pl#9 [U] wire#87 +27, 9, 88 !TDC ROC#2 Sl#9 Ch#27 HDC pl#9 [U] wire#88 +28, 9, 89 !TDC ROC#2 Sl#9 Ch#28 HDC pl#9 [U] wire#89 +29, 9, 90 !TDC ROC#2 Sl#9 Ch#29 HDC pl#9 [U] wire#90 +30, 9, 91 !TDC ROC#2 Sl#9 Ch#30 HDC pl#9 [U] wire#91 +!31 !TDC ROC#2 Sl#9 Ch#31 unused +32, 12, 113 !TDC ROC#2 Sl#9 Ch#32 HDC pl#12 [X2] wire#113 +!33 !TDC ROC#2 Sl#9 Ch#33 unused +34, 10, 1 !TDC ROC#2 Sl#9 Ch#34 HDC pl#10 [V] wire#1 +35, 10, 2 !TDC ROC#2 Sl#9 Ch#35 HDC pl#10 [V] wire#2 +36, 10, 3 !TDC ROC#2 Sl#9 Ch#36 HDC pl#10 [V] wire#3 +37, 10, 4 !TDC ROC#2 Sl#9 Ch#37 HDC pl#10 [V] wire#4 +38, 10, 5 !TDC ROC#2 Sl#9 Ch#38 HDC pl#10 [V] wire#5 +39, 10, 6 !TDC ROC#2 Sl#9 Ch#39 HDC pl#10 [V] wire#6 +40, 10, 7 !TDC ROC#2 Sl#9 Ch#40 HDC pl#10 [V] wire#7 +41, 10, 8 !TDC ROC#2 Sl#9 Ch#41 HDC pl#10 [V] wire#8 +42, 10, 9 !TDC ROC#2 Sl#9 Ch#42 HDC pl#10 [V] wire#9 +43, 10, 10 !TDC ROC#2 Sl#9 Ch#43 HDC pl#10 [V] wire#10 +44, 10, 11 !TDC ROC#2 Sl#9 Ch#44 HDC pl#10 [V] wire#11 +45, 10, 12 !TDC ROC#2 Sl#9 Ch#45 HDC pl#10 [V] wire#12 +46, 10, 13 !TDC ROC#2 Sl#9 Ch#46 HDC pl#10 [V] wire#13 +47, 10, 14 !TDC ROC#2 Sl#9 Ch#47 HDC pl#10 [V] wire#14 +48, 7, 1 !TDC ROC#2 Sl#9 Ch#48 HDC pl#7 [X1] wire#1 +49, 7, 2 !TDC ROC#2 Sl#9 Ch#49 HDC pl#7 [X1] wire#2 +50, 7, 3 !TDC ROC#2 Sl#9 Ch#50 HDC pl#7 [X1] wire#3 +51, 7, 4 !TDC ROC#2 Sl#9 Ch#51 HDC pl#7 [X1] wire#4 +52, 7, 5 !TDC ROC#2 Sl#9 Ch#52 HDC pl#7 [X1] wire#5 +53, 7, 6 !TDC ROC#2 Sl#9 Ch#53 HDC pl#7 [X1] wire#6 +54, 7, 7 !TDC ROC#2 Sl#9 Ch#54 HDC pl#7 [X1] wire#7 +55, 7, 8 !TDC ROC#2 Sl#9 Ch#55 HDC pl#7 [X1] wire#8 +56, 7, 9 !TDC ROC#2 Sl#9 Ch#56 HDC pl#7 [X1] wire#9 +57, 7, 10 !TDC ROC#2 Sl#9 Ch#57 HDC pl#7 [X1] wire#10 +58, 7, 11 !TDC ROC#2 Sl#9 Ch#58 HDC pl#7 [X1] wire#11 +59, 7, 12 !TDC ROC#2 Sl#9 Ch#59 HDC pl#7 [X1] wire#12 +60, 7, 13 !TDC ROC#2 Sl#9 Ch#60 HDC pl#7 [X1] wire#13 +61, 7, 14 !TDC ROC#2 Sl#9 Ch#61 HDC pl#7 [X1] wire#14 +62, 7, 15 !TDC ROC#2 Sl#9 Ch#62 HDC pl#7 [X1] wire#15 +63, 7, 16 !TDC ROC#2 Sl#9 Ch#63 HDC pl#7 [X1] wire#16 +64, 12, 97 !TDC ROC#2 Sl#9 Ch#64 HDC pl#12 [X2] wire#97 +65, 12, 98 !TDC ROC#2 Sl#9 Ch#65 HDC pl#12 [X2] wire#98 +66, 12, 99 !TDC ROC#2 Sl#9 Ch#66 HDC pl#12 [X2] wire#99 +67, 12, 100 !TDC ROC#2 Sl#9 Ch#67 HDC pl#12 [X2] wire#100 +68, 12, 101 !TDC ROC#2 Sl#9 Ch#68 HDC pl#12 [X2] wire#101 +69, 12, 102 !TDC ROC#2 Sl#9 Ch#69 HDC pl#12 [X2] wire#102 +70, 12, 103 !TDC ROC#2 Sl#9 Ch#70 HDC pl#12 [X2] wire#103 +71, 12, 104 !TDC ROC#2 Sl#9 Ch#71 HDC pl#12 [X2] wire#104 +72, 12, 105 !TDC ROC#2 Sl#9 Ch#72 HDC pl#12 [X2] wire#105 +73, 12, 106 !TDC ROC#2 Sl#9 Ch#73 HDC pl#12 [X2] wire#106 +74, 12, 107 !TDC ROC#2 Sl#9 Ch#74 HDC pl#12 [X2] wire#107 +75, 12, 108 !TDC ROC#2 Sl#9 Ch#75 HDC pl#12 [X2] wire#108 +76, 12, 109 !TDC ROC#2 Sl#9 Ch#76 HDC pl#12 [X2] wire#109 +77, 12, 110 !TDC ROC#2 Sl#9 Ch#77 HDC pl#12 [X2] wire#110 +78, 12, 111 !TDC ROC#2 Sl#9 Ch#78 HDC pl#12 [X2] wire#111 +79, 12, 112 !TDC ROC#2 Sl#9 Ch#79 HDC pl#12 [X2] wire#112 +80, 9, 92 !TDC ROC#2 Sl#9 Ch#80 HDC pl#9 [U] wire#92 +81, 9, 93 !TDC ROC#2 Sl#9 Ch#81 HDC pl#9 [U] wire#93 +82, 9, 94 !TDC ROC#2 Sl#9 Ch#82 HDC pl#9 [U] wire#94 +83, 9, 95 !TDC ROC#2 Sl#9 Ch#83 HDC pl#9 [U] wire#95 +84, 9, 96 !TDC ROC#2 Sl#9 Ch#84 HDC pl#9 [U] wire#96 +85, 9, 97 !TDC ROC#2 Sl#9 Ch#85 HDC pl#9 [U] wire#97 +86, 9, 98 !TDC ROC#2 Sl#9 Ch#86 HDC pl#9 [U] wire#98 +87, 9, 99 !TDC ROC#2 Sl#9 Ch#87 HDC pl#9 [U] wire#99 +88, 9, 100 !TDC ROC#2 Sl#9 Ch#88 HDC pl#9 [U] wire#100 +89, 9, 101 !TDC ROC#2 Sl#9 Ch#89 HDC pl#9 [U] wire#101 +90, 9, 102 !TDC ROC#2 Sl#9 Ch#90 HDC pl#9 [U] wire#102 +91, 9, 103 !TDC ROC#2 Sl#9 Ch#91 HDC pl#9 [U] wire#103 +92, 9, 104 !TDC ROC#2 Sl#9 Ch#92 HDC pl#9 [U] wire#104 +93, 9, 105 !TDC ROC#2 Sl#9 Ch#93 HDC pl#9 [U] wire#105 +94, 9, 106 !TDC ROC#2 Sl#9 Ch#94 HDC pl#9 [U] wire#106 +95, 9, 107 !TDC ROC#2 Sl#9 Ch#95 HDC pl#9 [U] wire#107 +! +! +! 2nd HDC chamber planes1-6 +Slot= 15 +0, 1, 1 !TDC ROC#2 Sl#11 Ch#0 HDC pl#7 [X1] wire#1 +1, 1, 2 !TDC ROC#2 Sl#11 Ch#1 HDC pl#7 [X1] wire#2 +2, 1, 3 !TDC ROC#2 Sl#11 Ch#2 HDC pl#7 [X1] wire#3 +3, 1, 4 !TDC ROC#2 Sl#11 Ch#3 HDC pl#7 [X1] wire#4 +4, 1, 5 !TDC ROC#2 Sl#11 Ch#4 HDC pl#7 [X1] wire#5 +5, 1, 6 !TDC ROC#2 Sl#11 Ch#5 HDC pl#7 [X1] wire#6 +6, 1, 7 !TDC ROC#2 Sl#11 Ch#6 HDC pl#7 [X1] wire#7 +7, 1, 8 !TDC ROC#2 Sl#11 Ch#7 HDC pl#7 [X1] wire#8 +8, 1, 9 !TDC ROC#2 Sl#11 Ch#8 HDC pl#7 [X1] wire#9 +9, 1, 10 !TDC ROC#2 Sl#11 Ch#9 HDC pl#7 [X1] wire#10 +10, 1, 11 !TDC ROC#2 Sl#11 Ch#10 HDC pl#7 [X1] wire#11 +11, 1, 12 !TDC ROC#2 Sl#11 Ch#11 HDC pl#7 [X1] wire#12 +12, 1, 13 !TDC ROC#2 Sl#11 Ch#12 HDC pl#7 [X1] wire#13 +13, 1, 14 !TDC ROC#2 Sl#11 Ch#13 HDC pl#7 [X1] wire#14 +14, 1, 15 !TDC ROC#2 Sl#11 Ch#14 HDC pl#7 [X1] wire#15 +15, 1, 16 !TDC ROC#2 Sl#11 Ch#15 HDC pl#7 [X1] wire#16 +16, 1, 17 !TDC ROC#2 Sl#11 Ch#16 HDC pl#7 [X1] wire#17 +17, 1, 18 !TDC ROC#2 Sl#11 Ch#17 HDC pl#7 [X1] wire#18 +18, 1, 19 !TDC ROC#2 Sl#11 Ch#18 HDC pl#7 [X1] wire#19 +19, 1, 20 !TDC ROC#2 Sl#11 Ch#19 HDC pl#7 [X1] wire#20 +20, 1, 21 !TDC ROC#2 Sl#11 Ch#20 HDC pl#7 [X1] wire#21 +21, 1, 22 !TDC ROC#2 Sl#11 Ch#21 HDC pl#7 [X1] wire#22 +22, 1, 23 !TDC ROC#2 Sl#11 Ch#22 HDC pl#7 [X1] wire#23 +23, 1, 24 !TDC ROC#2 Sl#11 Ch#23 HDC pl#7 [X1] wire#24 +24, 1, 25 !TDC ROC#2 Sl#11 Ch#24 HDC pl#7 [X1] wire#25 +25, 1, 26 !TDC ROC#2 Sl#11 Ch#25 HDC pl#7 [X1] wire#26 +26, 1, 27 !TDC ROC#2 Sl#11 Ch#26 HDC pl#7 [X1] wire#27 +27, 1, 28 !TDC ROC#2 Sl#11 Ch#27 HDC pl#7 [X1] wire#28 +28, 1, 29 !TDC ROC#2 Sl#11 Ch#28 HDC pl#7 [X1] wire#29 +29, 1, 30 !TDC ROC#2 Sl#11 Ch#29 HDC pl#7 [X1] wire#30 +30, 1, 31 !TDC ROC#2 Sl#11 Ch#30 HDC pl#7 [X1] wire#31 +31, 1, 32 !TDC ROC#2 Sl#11 Ch#31 HDC pl#7 [X1] wire#32 +32, 1, 33 !TDC ROC#2 Sl#11 Ch#32 HDC pl#7 [X1] wire#33 +33, 1, 34 !TDC ROC#2 Sl#11 Ch#33 HDC pl#7 [X1] wire#34 +34, 1, 35 !TDC ROC#2 Sl#11 Ch#34 HDC pl#7 [X1] wire#35 +35, 1, 36 !TDC ROC#2 Sl#11 Ch#35 HDC pl#7 [X1] wire#36 +36, 1, 37 !TDC ROC#2 Sl#11 Ch#36 HDC pl#7 [X1] wire#37 +37, 1, 38 !TDC ROC#2 Sl#11 Ch#37 HDC pl#7 [X1] wire#38 +38, 1, 39 !TDC ROC#2 Sl#11 Ch#38 HDC pl#7 [X1] wire#39 +39, 1, 40 !TDC ROC#2 Sl#11 Ch#39 HDC pl#7 [X1] wire#40 +40, 1, 41 !TDC ROC#2 Sl#11 Ch#40 HDC pl#7 [X1] wire#41 +41, 1, 42 !TDC ROC#2 Sl#11 Ch#41 HDC pl#7 [X1] wire#42 +42, 1, 43 !TDC ROC#2 Sl#11 Ch#42 HDC pl#7 [X1] wire#43 +43, 1, 44 !TDC ROC#2 Sl#11 Ch#43 HDC pl#7 [X1] wire#44 +44, 1, 45 !TDC ROC#2 Sl#11 Ch#44 HDC pl#7 [X1] wire#45 +45, 1, 46 !TDC ROC#2 Sl#11 Ch#45 HDC pl#7 [X1] wire#46 +46, 1, 47 !TDC ROC#2 Sl#11 Ch#46 HDC pl#7 [X1] wire#47 +47, 1, 48 !TDC ROC#2 Sl#11 Ch#47 HDC pl#7 [X1] wire#48 +48, 1, 49 !TDC ROC#2 Sl#11 Ch#48 HDC pl#7 [X1] wire#49 +49, 1, 50 !TDC ROC#2 Sl#11 Ch#49 HDC pl#7 [X1] wire#50 +50, 1, 51 !TDC ROC#2 Sl#11 Ch#50 HDC pl#7 [X1] wire#51 +51, 1, 52 !TDC ROC#2 Sl#11 Ch#51 HDC pl#7 [X1] wire#52 +52, 1, 53 !TDC ROC#2 Sl#11 Ch#52 HDC pl#7 [X1] wire#53 +53, 1, 54 !TDC ROC#2 Sl#11 Ch#53 HDC pl#7 [X1] wire#54 +54, 1, 55 !TDC ROC#2 Sl#11 Ch#54 HDC pl#7 [X1] wire#55 +55, 1, 56 !TDC ROC#2 Sl#11 Ch#55 HDC pl#7 [X1] wire#56 +56, 1, 57 !TDC ROC#2 Sl#11 Ch#56 HDC pl#7 [X1] wire#57 +57, 1, 58 !TDC ROC#2 Sl#11 Ch#57 HDC pl#7 [X1] wire#58 +58, 1, 59 !TDC ROC#2 Sl#11 Ch#58 HDC pl#7 [X1] wire#59 +59, 1, 60 !TDC ROC#2 Sl#11 Ch#59 HDC pl#7 [X1] wire#60 +60, 1, 61 !TDC ROC#2 Sl#11 Ch#60 HDC pl#7 [X1] wire#61 +61, 1, 62 !TDC ROC#2 Sl#11 Ch#61 HDC pl#7 [X1] wire#62 +62, 1, 63 !TDC ROC#2 Sl#11 Ch#62 HDC pl#7 [X1] wire#63 +63, 1, 64 !TDC ROC#2 Sl#11 Ch#63 HDC pl#7 [X1] wire#64 +64, 1, 65 !TDC ROC#2 Sl#11 Ch#64 HDC pl#7 [X1] wire#65 +65, 1, 66 !TDC ROC#2 Sl#11 Ch#65 HDC pl#7 [X1] wire#66 +66, 1, 67 !TDC ROC#2 Sl#11 Ch#66 HDC pl#7 [X1] wire#67 +67, 1, 68 !TDC ROC#2 Sl#11 Ch#67 HDC pl#7 [X1] wire#68 +68, 1, 69 !TDC ROC#2 Sl#11 Ch#68 HDC pl#7 [X1] wire#69 +69, 1, 70 !TDC ROC#2 Sl#11 Ch#69 HDC pl#7 [X1] wire#70 +70, 1, 71 !TDC ROC#2 Sl#11 Ch#70 HDC pl#7 [X1] wire#71 +71, 1, 72 !TDC ROC#2 Sl#11 Ch#71 HDC pl#7 [X1] wire#72 +72, 1, 73 !TDC ROC#2 Sl#11 Ch#72 HDC pl#7 [X1] wire#73 +73, 1, 74 !TDC ROC#2 Sl#11 Ch#73 HDC pl#7 [X1] wire#74 +74, 1, 75 !TDC ROC#2 Sl#11 Ch#74 HDC pl#7 [X1] wire#75 +75, 1, 76 !TDC ROC#2 Sl#11 Ch#75 HDC pl#7 [X1] wire#76 +76, 1, 77 !TDC ROC#2 Sl#11 Ch#76 HDC pl#7 [X1] wire#77 +77, 1, 78 !TDC ROC#2 Sl#11 Ch#77 HDC pl#7 [X1] wire#78 +78, 1, 79 !TDC ROC#2 Sl#11 Ch#78 HDC pl#7 [X1] wire#79 +79, 1, 80 !TDC ROC#2 Sl#11 Ch#79 HDC pl#7 [X1] wire#80 +80, 1, 81 !TDC ROC#2 Sl#11 Ch#80 HDC pl#7 [X1] wire#81 +81, 1, 82 !TDC ROC#2 Sl#11 Ch#81 HDC pl#7 [X1] wire#82 +82, 1, 83 !TDC ROC#2 Sl#11 Ch#82 HDC pl#7 [X1] wire#83 +83, 1, 84 !TDC ROC#2 Sl#11 Ch#83 HDC pl#7 [X1] wire#84 +84, 1, 85 !TDC ROC#2 Sl#11 Ch#84 HDC pl#7 [X1] wire#85 +85, 1, 86 !TDC ROC#2 Sl#11 Ch#85 HDC pl#7 [X1] wire#86 +86, 1, 87 !TDC ROC#2 Sl#11 Ch#86 HDC pl#7 [X1] wire#87 +87, 1, 88 !TDC ROC#2 Sl#11 Ch#87 HDC pl#7 [X1] wire#88 +88, 1, 89 !TDC ROC#2 Sl#11 Ch#88 HDC pl#7 [X1] wire#89 +89, 1, 90 !TDC ROC#2 Sl#11 Ch#89 HDC pl#7 [X1] wire#90 +90, 1, 91 !TDC ROC#2 Sl#11 Ch#90 HDC pl#7 [X1] wire#91 +91, 1, 92 !TDC ROC#2 Sl#11 Ch#91 HDC pl#7 [X1] wire#92 +92, 1, 93 !TDC ROC#2 Sl#11 Ch#92 HDC pl#7 [X1] wire#93 +93, 1, 94 !TDC ROC#2 Sl#11 Ch#93 HDC pl#7 [X1] wire#94 +94, 1, 95 !TDC ROC#2 Sl#11 Ch#94 HDC pl#7 [X1] wire#95 +95, 1, 96 !TDC ROC#2 Sl#11 Ch#95 HDC pl#7 [X1] wire#96 +Slot= 16 +0, 1, 97 !TDC ROC#2 Sl#12 Ch#0 HDC pl#7 [X1] wire#97 +1, 1, 98 !TDC ROC#2 Sl#12 Ch#1 HDC pl#7 [X1] wire#98 +2, 1, 99 !TDC ROC#2 Sl#12 Ch#2 HDC pl#7 [X1] wire#99 +3, 1, 100 !TDC ROC#2 Sl#12 Ch#3 HDC pl#7 [X1] wire#100 +4, 1, 101 !TDC ROC#2 Sl#12 Ch#4 HDC pl#7 [X1] wire#101 +5, 1, 102 !TDC ROC#2 Sl#12 Ch#5 HDC pl#7 [X1] wire#102 +6, 1, 103 !TDC ROC#2 Sl#12 Ch#6 HDC pl#7 [X1] wire#103 +7, 1, 104 !TDC ROC#2 Sl#12 Ch#7 HDC pl#7 [X1] wire#104 +8, 1, 105 !TDC ROC#2 Sl#12 Ch#8 HDC pl#7 [X1] wire#105 +9, 1, 106 !TDC ROC#2 Sl#12 Ch#9 HDC pl#7 [X1] wire#106 +10, 1, 107 !TDC ROC#2 Sl#12 Ch#10 HDC pl#7 [X1] wire#107 +11, 1, 108 !TDC ROC#2 Sl#12 Ch#11 HDC pl#7 [X1] wire#108 +12, 1, 109 !TDC ROC#2 Sl#12 Ch#12 HDC pl#7 [X1] wire#109 +13, 1, 110 !TDC ROC#2 Sl#12 Ch#13 HDC pl#7 [X1] wire#110 +14, 1, 111 !TDC ROC#2 Sl#12 Ch#14 HDC pl#7 [X1] wire#111 +15, 1, 112 !TDC ROC#2 Sl#12 Ch#15 HDC pl#7 [X1] wire#112 +16, 2, 1 !TDC ROC#2 Sl#12 Ch#16 HDC pl#8 [Y1] wire#1 +17, 2, 2 !TDC ROC#2 Sl#12 Ch#17 HDC pl#8 [Y1] wire#2 +18, 2, 3 !TDC ROC#2 Sl#12 Ch#18 HDC pl#8 [Y1] wire#3 +19, 2, 4 !TDC ROC#2 Sl#12 Ch#19 HDC pl#8 [Y1] wire#4 +20, 2, 5 !TDC ROC#2 Sl#12 Ch#20 HDC pl#8 [Y1] wire#5 +21, 2, 6 !TDC ROC#2 Sl#12 Ch#21 HDC pl#8 [Y1] wire#6 +22, 2, 7 !TDC ROC#2 Sl#12 Ch#22 HDC pl#8 [Y1] wire#7 +23, 2, 8 !TDC ROC#2 Sl#12 Ch#23 HDC pl#8 [Y1] wire#8 +24, 2, 9 !TDC ROC#2 Sl#12 Ch#24 HDC pl#8 [Y1] wire#9 +25, 2, 10 !TDC ROC#2 Sl#12 Ch#25 HDC pl#8 [Y1] wire#10 +26, 2, 11 !TDC ROC#2 Sl#12 Ch#26 HDC pl#8 [Y1] wire#11 +27, 2, 12 !TDC ROC#2 Sl#12 Ch#27 HDC pl#8 [Y1] wire#12 +28, 2, 13 !TDC ROC#2 Sl#12 Ch#28 HDC pl#8 [Y1] wire#13 +! 29 !TDC ROC#2 Sl#12 Ch#29 unused +! 30 !TDC ROC#2 Sl#12 Ch#30 unused +! 31 !TDC ROC#2 Sl#12 Ch#31 unused +32, 2, 14 !TDC ROC#2 Sl#12 Ch#32 HDC pl#8 [Y1] wire#14 +33, 2, 15 !TDC ROC#2 Sl#12 Ch#33 HDC pl#8 [Y1] wire#15 +34, 2, 16 !TDC ROC#2 Sl#12 Ch#34 HDC pl#8 [Y1] wire#16 +35, 2, 17 !TDC ROC#2 Sl#12 Ch#35 HDC pl#8 [Y1] wire#17 +36, 2, 18 !TDC ROC#2 Sl#12 Ch#36 HDC pl#8 [Y1] wire#18 +37, 2, 19 !TDC ROC#2 Sl#12 Ch#37 HDC pl#8 [Y1] wire#19 +38, 2, 20 !TDC ROC#2 Sl#12 Ch#38 HDC pl#8 [Y1] wire#20 +39, 2, 21 !TDC ROC#2 Sl#12 Ch#39 HDC pl#8 [Y1] wire#21 +40, 2, 22 !TDC ROC#2 Sl#12 Ch#40 HDC pl#8 [Y1] wire#22 +41, 2, 23 !TDC ROC#2 Sl#12 Ch#41 HDC pl#8 [Y1] wire#23 +42, 2, 24 !TDC ROC#2 Sl#12 Ch#42 HDC pl#8 [Y1] wire#24 +43, 2, 25 !TDC ROC#2 Sl#12 Ch#43 HDC pl#8 [Y1] wire#25 +44, 2, 26 !TDC ROC#2 Sl#12 Ch#44 HDC pl#8 [Y1] wire#26 +! 45 !TDC ROC#2 Sl#12 Ch#45 unused +! 46 !TDC ROC#2 Sl#12 Ch#46 unused +! 47 !TDC ROC#2 Sl#12 Ch#47 unused +48, 2, 27 !TDC ROC#2 Sl#12 Ch#48 HDC pl#8 [Y1] wire#27 +49, 2, 28 !TDC ROC#2 Sl#12 Ch#49 HDC pl#8 [Y1] wire#28 +50, 2, 29 !TDC ROC#2 Sl#12 Ch#50 HDC pl#8 [Y1] wire#29 +51, 2, 30 !TDC ROC#2 Sl#12 Ch#51 HDC pl#8 [Y1] wire#30 +52, 2, 31 !TDC ROC#2 Sl#12 Ch#52 HDC pl#8 [Y1] wire#31 +53, 2, 32 !TDC ROC#2 Sl#12 Ch#53 HDC pl#8 [Y1] wire#32 +54, 2, 33 !TDC ROC#2 Sl#12 Ch#54 HDC pl#8 [Y1] wire#33 +55, 2, 34 !TDC ROC#2 Sl#12 Ch#55 HDC pl#8 [Y1] wire#34 +56, 2, 35 !TDC ROC#2 Sl#12 Ch#56 HDC pl#8 [Y1] wire#35 +57, 2, 36 !TDC ROC#2 Sl#12 Ch#57 HDC pl#8 [Y1] wire#36 +58, 2, 37 !TDC ROC#2 Sl#12 Ch#58 HDC pl#8 [Y1] wire#37 +59, 2, 38 !TDC ROC#2 Sl#12 Ch#59 HDC pl#8 [Y1] wire#38 +60, 2, 39 !TDC ROC#2 Sl#12 Ch#60 HDC pl#8 [Y1] wire#39 +! 61 !TDC ROC#2 Sl#12 Ch#61 unused +! 62 !TDC ROC#2 Sl#12 Ch#62 unused +! 63 !TDC ROC#2 Sl#12 Ch#63 unused +64, 2, 40 !TDC ROC#2 Sl#12 Ch#64 HDC pl#8 [Y1] wire#40 +65, 2, 41 !TDC ROC#2 Sl#12 Ch#65 HDC pl#8 [Y1] wire#41 +66, 2, 42 !TDC ROC#2 Sl#12 Ch#66 HDC pl#8 [Y1] wire#42 +67, 2, 43 !TDC ROC#2 Sl#12 Ch#67 HDC pl#8 [Y1] wire#43 +68, 2, 44 !TDC ROC#2 Sl#12 Ch#68 HDC pl#8 [Y1] wire#44 +69, 2, 45 !TDC ROC#2 Sl#12 Ch#69 HDC pl#8 [Y1] wire#45 +70, 2, 46 !TDC ROC#2 Sl#12 Ch#70 HDC pl#8 [Y1] wire#46 +71, 2, 47 !TDC ROC#2 Sl#12 Ch#71 HDC pl#8 [Y1] wire#47 +72, 2, 48 !TDC ROC#2 Sl#12 Ch#72 HDC pl#8 [Y1] wire#48 +73, 2, 49 !TDC ROC#2 Sl#12 Ch#73 HDC pl#8 [Y1] wire#49 +74, 2, 50 !TDC ROC#2 Sl#12 Ch#74 HDC pl#8 [Y1] wire#50 +75, 2, 51 !TDC ROC#2 Sl#12 Ch#75 HDC pl#8 [Y1] wire#51 +76, 2, 52 !TDC ROC#2 Sl#12 Ch#76 HDC pl#8 [Y1] wire#52 +! 77 !TDC ROC#2 Sl#12 Ch#77 unused +! 78 !TDC ROC#2 Sl#12 Ch#78 unused +! 79 !TDC ROC#2 Sl#12 Ch#79 unused +80, 1, 113 !TDC ROC#2 Sl#12 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#12 Ch#81 unused +82, 3, 1 !TDC ROC#2 Sl#12 Ch#82 HDC pl#9 [U] wire#1 +83, 3, 2 !TDC ROC#2 Sl#12 Ch#83 HDC pl#9 [U] wire#2 +84, 3, 3 !TDC ROC#2 Sl#12 Ch#84 HDC pl#9 [U] wire#3 +85, 3, 4 !TDC ROC#2 Sl#12 Ch#85 HDC pl#9 [U] wire#4 +86, 3, 5 !TDC ROC#2 Sl#12 Ch#86 HDC pl#9 [U] wire#5 +87, 3, 6 !TDC ROC#2 Sl#12 Ch#87 HDC pl#9 [U] wire#6 +88, 3, 7 !TDC ROC#2 Sl#12 Ch#88 HDC pl#9 [U] wire#7 +89, 3, 8 !TDC ROC#2 Sl#12 Ch#89 HDC pl#9 [U] wire#8 +90, 3, 9 !TDC ROC#2 Sl#12 Ch#90 HDC pl#9 [U] wire#9 +91, 3, 10 !TDC ROC#2 Sl#12 Ch#91 HDC pl#9 [U] wire#10 +92, 3, 11 !TDC ROC#2 Sl#12 Ch#92 HDC pl#9 [U] wire#11 +93, 3, 12 !TDC ROC#2 Sl#12 Ch#93 HDC pl#9 [U] wire#12 +94, 3, 13 !TDC ROC#2 Sl#12 Ch#94 HDC pl#9 [U] wire#13 +95, 3, 14 !TDC ROC#2 Sl#12 Ch#95 HDC pl#9 [U] wire#14 +Slot= 18 +0, 3, 15 !TDC ROC#2 Sl#14 Ch#0 HDC pl#9 [U] wire#15 +1, 3, 16 !TDC ROC#2 Sl#14 Ch#1 HDC pl#9 [U] wire#16 +2, 3, 17 !TDC ROC#2 Sl#14 Ch#2 HDC pl#9 [U] wire#17 +3, 3, 18 !TDC ROC#2 Sl#14 Ch#3 HDC pl#9 [U] wire#18 +4, 3, 19 !TDC ROC#2 Sl#14 Ch#4 HDC pl#9 [U] wire#19 +5, 3, 20 !TDC ROC#2 Sl#14 Ch#5 HDC pl#9 [U] wire#20 +6, 3, 21 !TDC ROC#2 Sl#14 Ch#6 HDC pl#9 [U] wire#21 +7, 3, 22 !TDC ROC#2 Sl#14 Ch#7 HDC pl#9 [U] wire#22 +8, 3, 23 !TDC ROC#2 Sl#14 Ch#8 HDC pl#9 [U] wire#23 +9, 3, 24 !TDC ROC#2 Sl#14 Ch#9 HDC pl#9 [U] wire#24 +10, 3, 25 !TDC ROC#2 Sl#14 Ch#10 HDC pl#9 [U] wire#25 +11, 3, 26 !TDC ROC#2 Sl#14 Ch#11 HDC pl#9 [U] wire#26 +12, 3, 27 !TDC ROC#2 Sl#14 Ch#12 HDC pl#9 [U] wire#27 +13, 3, 28 !TDC ROC#2 Sl#14 Ch#13 HDC pl#9 [U] wire#28 +14, 3, 29 !TDC ROC#2 Sl#14 Ch#14 HDC pl#9 [U] wire#29 +! 15 !TDC ROC#2 Sl#14 Ch#15 unused +16, 3, 30 !TDC ROC#2 Sl#14 Ch#16 HDC pl#9 [U] wire#30 +17, 3, 31 !TDC ROC#2 Sl#14 Ch#17 HDC pl#9 [U] wire#31 +18, 3, 32 !TDC ROC#2 Sl#14 Ch#18 HDC pl#9 [U] wire#32 +19, 3, 33 !TDC ROC#2 Sl#14 Ch#19 HDC pl#9 [U] wire#33 +20, 3, 34 !TDC ROC#2 Sl#14 Ch#20 HDC pl#9 [U] wire#34 +21, 3, 35 !TDC ROC#2 Sl#14 Ch#21 HDC pl#9 [U] wire#35 +22, 3, 36 !TDC ROC#2 Sl#14 Ch#22 HDC pl#9 [U] wire#36 +23, 3, 37 !TDC ROC#2 Sl#14 Ch#23 HDC pl#9 [U] wire#37 +24, 3, 38 !TDC ROC#2 Sl#14 Ch#24 HDC pl#9 [U] wire#38 +25, 3, 39 !TDC ROC#2 Sl#14 Ch#25 HDC pl#9 [U] wire#39 +26, 3, 40 !TDC ROC#2 Sl#14 Ch#26 HDC pl#9 [U] wire#40 +27, 3, 41 !TDC ROC#2 Sl#14 Ch#27 HDC pl#9 [U] wire#41 +28, 3, 42 !TDC ROC#2 Sl#14 Ch#28 HDC pl#9 [U] wire#42 +29, 3, 43 !TDC ROC#2 Sl#14 Ch#29 HDC pl#9 [U] wire#43 +30, 3, 44 !TDC ROC#2 Sl#14 Ch#30 HDC pl#9 [U] wire#44 +31, 3, 45 !TDC ROC#2 Sl#14 Ch#31 HDC pl#9 [U] wire#45 +32, 3, 46 !TDC ROC#2 Sl#14 Ch#32 HDC pl#9 [U] wire#46 +33, 3, 47 !TDC ROC#2 Sl#14 Ch#33 HDC pl#9 [U] wire#47 +34, 3, 48 !TDC ROC#2 Sl#14 Ch#34 HDC pl#9 [U] wire#48 +35, 3, 49 !TDC ROC#2 Sl#14 Ch#35 HDC pl#9 [U] wire#49 +36, 3, 50 !TDC ROC#2 Sl#14 Ch#36 HDC pl#9 [U] wire#50 +37, 3, 51 !TDC ROC#2 Sl#14 Ch#37 HDC pl#9 [U] wire#51 +38, 3, 52 !TDC ROC#2 Sl#14 Ch#38 HDC pl#9 [U] wire#52 +39, 3, 53 !TDC ROC#2 Sl#14 Ch#39 HDC pl#9 [U] wire#53 +40, 3, 54 !TDC ROC#2 Sl#14 Ch#40 HDC pl#9 [U] wire#54 +41, 3, 55 !TDC ROC#2 Sl#14 Ch#41 HDC pl#9 [U] wire#55 +42, 3, 56 !TDC ROC#2 Sl#14 Ch#42 HDC pl#9 [U] wire#56 +43, 3, 57 !TDC ROC#2 Sl#14 Ch#43 HDC pl#9 [U] wire#57 +44, 3, 58 !TDC ROC#2 Sl#14 Ch#44 HDC pl#9 [U] wire#58 +45, 3, 59 !TDC ROC#2 Sl#14 Ch#45 HDC pl#9 [U] wire#59 +46, 3, 60 !TDC ROC#2 Sl#14 Ch#46 HDC pl#9 [U] wire#60 +! 47 !TDC ROC#2 Sl#14 Ch#47 unused +48, 3, 61 !TDC ROC#2 Sl#14 Ch#48 HDC pl#9 [U] wire#61 +49, 3, 62 !TDC ROC#2 Sl#14 Ch#49 HDC pl#9 [U] wire#62 +50, 3, 63 !TDC ROC#2 Sl#14 Ch#50 HDC pl#9 [U] wire#63 +51, 3, 64 !TDC ROC#2 Sl#14 Ch#51 HDC pl#9 [U] wire#64 +52, 3, 65 !TDC ROC#2 Sl#14 Ch#52 HDC pl#9 [U] wire#65 +53, 3, 66 !TDC ROC#2 Sl#14 Ch#53 HDC pl#9 [U] wire#66 +54, 3, 67 !TDC ROC#2 Sl#14 Ch#54 HDC pl#9 [U] wire#67 +55, 3, 68 !TDC ROC#2 Sl#14 Ch#55 HDC pl#9 [U] wire#68 +56, 3, 69 !TDC ROC#2 Sl#14 Ch#56 HDC pl#9 [U] wire#69 +57, 3, 70 !TDC ROC#2 Sl#14 Ch#57 HDC pl#9 [U] wire#70 +58, 3, 71 !TDC ROC#2 Sl#14 Ch#58 HDC pl#9 [U] wire#71 +59, 3, 72 !TDC ROC#2 Sl#14 Ch#59 HDC pl#9 [U] wire#72 +60, 3, 73 !TDC ROC#2 Sl#14 Ch#60 HDC pl#9 [U] wire#73 +61, 3, 74 !TDC ROC#2 Sl#14 Ch#61 HDC pl#9 [U] wire#74 +62, 3, 75 !TDC ROC#2 Sl#14 Ch#62 HDC pl#9 [U] wire#75 +63, 3, 76 !TDC ROC#2 Sl#14 Ch#63 HDC pl#9 [U] wire#76 +64, 3, 77 !TDC ROC#2 Sl#14 Ch#64 HDC pl#9 [U] wire#77 +65, 3, 78 !TDC ROC#2 Sl#14 Ch#65 HDC pl#9 [U] wire#78 +66, 3, 79 !TDC ROC#2 Sl#14 Ch#66 HDC pl#9 [U] wire#79 +67, 3, 80 !TDC ROC#2 Sl#14 Ch#67 HDC pl#9 [U] wire#80 +68, 3, 81 !TDC ROC#2 Sl#14 Ch#68 HDC pl#9 [U] wire#81 +69, 3, 82 !TDC ROC#2 Sl#14 Ch#69 HDC pl#9 [U] wire#82 +70, 3, 83 !TDC ROC#2 Sl#14 Ch#70 HDC pl#9 [U] wire#83 +71, 3, 84 !TDC ROC#2 Sl#14 Ch#71 HDC pl#9 [U] wire#84 +72, 3, 85 !TDC ROC#2 Sl#14 Ch#72 HDC pl#9 [U] wire#85 +73, 3, 86 !TDC ROC#2 Sl#14 Ch#73 HDC pl#9 [U] wire#86 +74, 3, 87 !TDC ROC#2 Sl#14 Ch#74 HDC pl#9 [U] wire#87 +75, 3, 88 !TDC ROC#2 Sl#14 Ch#75 HDC pl#9 [U] wire#88 +76, 3, 89 !TDC ROC#2 Sl#14 Ch#76 HDC pl#9 [U] wire#89 +77, 3, 90 !TDC ROC#2 Sl#14 Ch#77 HDC pl#9 [U] wire#90 +78, 3, 91 !TDC ROC#2 Sl#14 Ch#78 HDC pl#9 [U] wire#91 +!79, !unused +80, 3, 92 !TDC ROC#2 Sl#14 Ch#80 HDC pl#9 [U] wire#92 +81, 3, 93 !TDC ROC#2 Sl#14 Ch#81 HDC pl#9 [U] wire#93 +82, 3, 94 !TDC ROC#2 Sl#14 Ch#82 HDC pl#9 [U] wire#94 +83, 3, 95 !TDC ROC#2 Sl#14 Ch#83 HDC pl#9 [U] wire#95 +84, 3, 96 !TDC ROC#2 Sl#14 Ch#84 HDC pl#9 [U] wire#96 +85, 3, 97 !TDC ROC#2 Sl#14 Ch#85 HDC pl#9 [U] wire#97 +86, 3, 98 !TDC ROC#2 Sl#14 Ch#86 HDC pl#9 [U] wire#98 +87, 3, 99 !TDC ROC#2 Sl#14 Ch#87 HDC pl#9 [U] wire#99 +88, 3, 100 !TDC ROC#2 Sl#14 Ch#88 HDC pl#9 [U] wire#100 +89, 3, 101 !TDC ROC#2 Sl#14 Ch#89 HDC pl#9 [U] wire#101 +90, 3, 102 !TDC ROC#2 Sl#14 Ch#90 HDC pl#9 [U] wire#102 +91, 3, 103 !TDC ROC#2 Sl#14 Ch#91 HDC pl#9 [U] wire#103 +92, 3, 104 !TDC ROC#2 Sl#14 Ch#92 HDC pl#9 [U] wire#104 +93, 3, 105 !TDC ROC#2 Sl#14 Ch#93 HDC pl#9 [U] wire#105 +94, 3, 106 !TDC ROC#2 Sl#14 Ch#94 HDC pl#9 [U] wire#106 +95, 3, 107 !TDC ROC#2 Sl#14 Ch#95 HDC pl#9 [U] wire#107 +Slot= 19 +0, 6, 113 !TDC ROC#2 Sl#15 Ch#0 HDC pl#12 [X2] wire#113 +!1, !unused +2, 4, 1 !TDC ROC#2 Sl#15 Ch#2 HDC pl#10 [V] wire#1 +3, 4, 2 !TDC ROC#2 Sl#15 Ch#3 HDC pl#10 [V] wire#2 +4, 4, 3 !TDC ROC#2 Sl#15 Ch#4 HDC pl#10 [V] wire#3 +5, 4, 4 !TDC ROC#2 Sl#15 Ch#5 HDC pl#10 [V] wire#4 +6, 4, 5 !TDC ROC#2 Sl#15 Ch#6 HDC pl#10 [V] wire#5 +7, 4, 6 !TDC ROC#2 Sl#15 Ch#7 HDC pl#10 [V] wire#6 +8, 4, 7 !TDC ROC#2 Sl#15 Ch#8 HDC pl#10 [V] wire#7 +9, 4, 8 !TDC ROC#2 Sl#15 Ch#9 HDC pl#10 [V] wire#8 +10, 4, 9 !TDC ROC#2 Sl#15 Ch#10 HDC pl#10 [V] wire#9 +11, 4, 10 !TDC ROC#2 Sl#15 Ch#11 HDC pl#10 [V] wire#10 +12, 4, 11 !TDC ROC#2 Sl#15 Ch#12 HDC pl#10 [V] wire#11 +13, 4, 12 !TDC ROC#2 Sl#15 Ch#13 HDC pl#10 [V] wire#12 +14, 4, 13 !TDC ROC#2 Sl#15 Ch#14 HDC pl#10 [V] wire#13 +15, 4, 14 !TDC ROC#2 Sl#15 Ch#15 HDC pl#10 [V] wire#14 +16, 4, 15 !TDC ROC#2 Sl#15 Ch#16 HDC pl#10 [V] wire#15 +17, 4, 16 !TDC ROC#2 Sl#15 Ch#17 HDC pl#10 [V] wire#16 +18, 4, 17 !TDC ROC#2 Sl#15 Ch#18 HDC pl#10 [V] wire#17 +19, 4, 18 !TDC ROC#2 Sl#15 Ch#19 HDC pl#10 [V] wire#18 +20, 4, 19 !TDC ROC#2 Sl#15 Ch#20 HDC pl#10 [V] wire#19 +21, 4, 20 !TDC ROC#2 Sl#15 Ch#21 HDC pl#10 [V] wire#20 +22, 4, 21 !TDC ROC#2 Sl#15 Ch#22 HDC pl#10 [V] wire#21 +23, 4, 22 !TDC ROC#2 Sl#15 Ch#23 HDC pl#10 [V] wire#22 +24, 4, 23 !TDC ROC#2 Sl#15 Ch#24 HDC pl#10 [V] wire#23 +25, 4, 24 !TDC ROC#2 Sl#15 Ch#25 HDC pl#10 [V] wire#24 +26, 4, 25 !TDC ROC#2 Sl#15 Ch#26 HDC pl#10 [V] wire#25 +27, 4, 26 !TDC ROC#2 Sl#15 Ch#27 HDC pl#10 [V] wire#26 +28, 4, 27 !TDC ROC#2 Sl#15 Ch#28 HDC pl#10 [V] wire#27 +29, 4, 28 !TDC ROC#2 Sl#15 Ch#29 HDC pl#10 [V] wire#28 +30, 4, 29 !TDC ROC#2 Sl#15 Ch#30 HDC pl#10 [V] wire#29 +! 31 !TDC ROC#2 Sl#15 Ch#31 unused +32, 4, 30 !TDC ROC#2 Sl#15 Ch#32 HDC pl#10 [V] wire#30 +33, 4, 31 !TDC ROC#2 Sl#15 Ch#33 HDC pl#10 [V] wire#31 +34, 4, 32 !TDC ROC#2 Sl#15 Ch#34 HDC pl#10 [V] wire#32 +35, 4, 33 !TDC ROC#2 Sl#15 Ch#35 HDC pl#10 [V] wire#33 +36, 4, 34 !TDC ROC#2 Sl#15 Ch#36 HDC pl#10 [V] wire#34 +37, 4, 35 !TDC ROC#2 Sl#15 Ch#37 HDC pl#10 [V] wire#35 +38, 4, 36 !TDC ROC#2 Sl#15 Ch#38 HDC pl#10 [V] wire#36 +39, 4, 37 !TDC ROC#2 Sl#15 Ch#39 HDC pl#10 [V] wire#37 +40, 4, 38 !TDC ROC#2 Sl#15 Ch#40 HDC pl#10 [V] wire#38 +41, 4, 39 !TDC ROC#2 Sl#15 Ch#41 HDC pl#10 [V] wire#39 +42, 4, 40 !TDC ROC#2 Sl#15 Ch#42 HDC pl#10 [V] wire#40 +43, 4, 41 !TDC ROC#2 Sl#15 Ch#43 HDC pl#10 [V] wire#41 +44, 4, 42 !TDC ROC#2 Sl#15 Ch#44 HDC pl#10 [V] wire#42 +45, 4, 43 !TDC ROC#2 Sl#15 Ch#45 HDC pl#10 [V] wire#43 +46, 4, 44 !TDC ROC#2 Sl#15 Ch#46 HDC pl#10 [V] wire#44 +47, 4, 45 !TDC ROC#2 Sl#15 Ch#47 HDC pl#10 [V] wire#45 +48, 4, 46 !TDC ROC#2 Sl#15 Ch#48 HDC pl#10 [V] wire#46 +49, 4, 47 !TDC ROC#2 Sl#15 Ch#49 HDC pl#10 [V] wire#47 +50, 4, 48 !TDC ROC#2 Sl#15 Ch#50 HDC pl#10 [V] wire#48 +51, 4, 49 !TDC ROC#2 Sl#15 Ch#51 HDC pl#10 [V] wire#49 +52, 4, 50 !TDC ROC#2 Sl#15 Ch#52 HDC pl#10 [V] wire#50 +53, 4, 51 !TDC ROC#2 Sl#15 Ch#53 HDC pl#10 [V] wire#51 +54, 4, 52 !TDC ROC#2 Sl#15 Ch#54 HDC pl#10 [V] wire#52 +55, 4, 53 !TDC ROC#2 Sl#15 Ch#55 HDC pl#10 [V] wire#53 +56, 4, 54 !TDC ROC#2 Sl#15 Ch#56 HDC pl#10 [V] wire#54 +57, 4, 55 !TDC ROC#2 Sl#15 Ch#57 HDC pl#10 [V] wire#55 +58, 4, 56 !TDC ROC#2 Sl#15 Ch#58 HDC pl#10 [V] wire#56 +59, 4, 57 !TDC ROC#2 Sl#15 Ch#59 HDC pl#10 [V] wire#57 +60, 4, 58 !TDC ROC#2 Sl#15 Ch#60 HDC pl#10 [V] wire#58 +61, 4, 59 !TDC ROC#2 Sl#15 Ch#61 HDC pl#10 [V] wire#59 +62, 4, 60 !TDC ROC#2 Sl#15 Ch#62 HDC pl#10 [V] wire#60 +! 63 !TDC ROC#2 Sl#15 Ch#63 unused +64, 4, 61 !TDC ROC#2 Sl#15 Ch#64 HDC pl#10 [V] wire#61 +65, 4, 62 !TDC ROC#2 Sl#15 Ch#65 HDC pl#10 [V] wire#62 +66, 4, 63 !TDC ROC#2 Sl#15 Ch#66 HDC pl#10 [V] wire#63 +67, 4, 64 !TDC ROC#2 Sl#15 Ch#67 HDC pl#10 [V] wire#64 +68, 4, 65 !TDC ROC#2 Sl#15 Ch#68 HDC pl#10 [V] wire#65 +69, 4, 66 !TDC ROC#2 Sl#15 Ch#69 HDC pl#10 [V] wire#66 +70, 4, 67 !TDC ROC#2 Sl#15 Ch#70 HDC pl#10 [V] wire#67 +71, 4, 68 !TDC ROC#2 Sl#15 Ch#71 HDC pl#10 [V] wire#68 +72, 4, 69 !TDC ROC#2 Sl#15 Ch#72 HDC pl#10 [V] wire#69 +73, 4, 70 !TDC ROC#2 Sl#15 Ch#73 HDC pl#10 [V] wire#70 +74, 4, 71 !TDC ROC#2 Sl#15 Ch#74 HDC pl#10 [V] wire#71 +75, 4, 72 !TDC ROC#2 Sl#15 Ch#75 HDC pl#10 [V] wire#72 +76, 4, 73 !TDC ROC#2 Sl#15 Ch#76 HDC pl#10 [V] wire#73 +77, 4, 74 !TDC ROC#2 Sl#15 Ch#77 HDC pl#10 [V] wire#74 +78, 4, 75 !TDC ROC#2 Sl#15 Ch#78 HDC pl#10 [V] wire#75 +79, 4, 76 !TDC ROC#2 Sl#15 Ch#79 HDC pl#10 [V] wire#76 +80, 4, 77 !TDC ROC#2 Sl#15 Ch#80 HDC pl#10 [V] wire#77 +81, 4, 78 !TDC ROC#2 Sl#15 Ch#81 HDC pl#10 [V] wire#78 +82, 4, 79 !TDC ROC#2 Sl#15 Ch#82 HDC pl#10 [V] wire#79 +83, 4, 80 !TDC ROC#2 Sl#15 Ch#83 HDC pl#10 [V] wire#80 +84, 4, 81 !TDC ROC#2 Sl#15 Ch#84 HDC pl#10 [V] wire#81 +85, 4, 82 !TDC ROC#2 Sl#15 Ch#85 HDC pl#10 [V] wire#82 +86, 4, 83 !TDC ROC#2 Sl#15 Ch#86 HDC pl#10 [V] wire#83 +87, 4, 84 !TDC ROC#2 Sl#15 Ch#87 HDC pl#10 [V] wire#84 +88, 4, 85 !TDC ROC#2 Sl#15 Ch#88 HDC pl#10 [V] wire#85 +89, 4, 86 !TDC ROC#2 Sl#15 Ch#89 HDC pl#10 [V] wire#86 +90, 4, 87 !TDC ROC#2 Sl#15 Ch#90 HDC pl#10 [V] wire#87 +91, 4, 88 !TDC ROC#2 Sl#15 Ch#91 HDC pl#10 [V] wire#88 +92, 4, 89 !TDC ROC#2 Sl#15 Ch#92 HDC pl#10 [V] wire#89 +93, 4, 90 !TDC ROC#2 Sl#15 Ch#93 HDC pl#10 [V] wire#90 +94, 4, 91 !TDC ROC#2 Sl#15 Ch#94 HDC pl#10 [V] wire#91 +! 95 !TDC ROC#2 Sl#15 Ch#95 unused +Slot= 21 +0, 4, 92 !TDC ROC#2 Sl#17 Ch#0 HDC pl#10 [V] wire#92 +1, 4, 93 !TDC ROC#2 Sl#17 Ch#1 HDC pl#10 [V] wire#93 +2, 4, 94 !TDC ROC#2 Sl#17 Ch#2 HDC pl#10 [V] wire#94 +3, 4, 95 !TDC ROC#2 Sl#17 Ch#3 HDC pl#10 [V] wire#95 +4, 4, 96 !TDC ROC#2 Sl#17 Ch#4 HDC pl#10 [V] wire#96 +5, 4, 97 !TDC ROC#2 Sl#17 Ch#5 HDC pl#10 [V] wire#97 +6, 4, 98 !TDC ROC#2 Sl#17 Ch#6 HDC pl#10 [V] wire#98 +7, 4, 99 !TDC ROC#2 Sl#17 Ch#7 HDC pl#10 [V] wire#99 +8, 4, 100 !TDC ROC#2 Sl#17 Ch#8 HDC pl#10 [V] wire#100 +9, 4, 101 !TDC ROC#2 Sl#17 Ch#9 HDC pl#10 [V] wire#101 +10, 4, 102 !TDC ROC#2 Sl#17 Ch#10 HDC pl#10 [V] wire#102 +11, 4, 103 !TDC ROC#2 Sl#17 Ch#11 HDC pl#10 [V] wire#103 +12, 4, 104 !TDC ROC#2 Sl#17 Ch#12 HDC pl#10 [V] wire#104 +13, 4, 105 !TDC ROC#2 Sl#17 Ch#13 HDC pl#10 [V] wire#105 +14, 4, 106 !TDC ROC#2 Sl#17 Ch#14 HDC pl#10 [V] wire#106 +15, 4, 107 !TDC ROC#2 Sl#17 Ch#15 HDC pl#10 [V] wire#107 +16, 5, 1 !TDC ROC#2 Sl#17 Ch#16 HDC pl#11 [Y2] wire#1 +17, 5, 2 !TDC ROC#2 Sl#17 Ch#17 HDC pl#11 [Y2] wire#2 +18, 5, 3 !TDC ROC#2 Sl#17 Ch#18 HDC pl#11 [Y2] wire#3 +19, 5, 4 !TDC ROC#2 Sl#17 Ch#19 HDC pl#11 [Y2] wire#4 +20, 5, 5 !TDC ROC#2 Sl#17 Ch#20 HDC pl#11 [Y2] wire#5 +21, 5, 6 !TDC ROC#2 Sl#17 Ch#21 HDC pl#11 [Y2] wire#6 +22, 5, 7 !TDC ROC#2 Sl#17 Ch#22 HDC pl#11 [Y2] wire#7 +23, 5, 8 !TDC ROC#2 Sl#17 Ch#23 HDC pl#11 [Y2] wire#8 +24, 5, 9 !TDC ROC#2 Sl#17 Ch#24 HDC pl#11 [Y2] wire#9 +25, 5, 10 !TDC ROC#2 Sl#17 Ch#25 HDC pl#11 [Y2] wire#10 +26, 5, 11 !TDC ROC#2 Sl#17 Ch#26 HDC pl#11 [Y2] wire#11 +27, 5, 12 !TDC ROC#2 Sl#17 Ch#27 HDC pl#11 [Y2] wire#12 +28, 5, 13 !TDC ROC#2 Sl#17 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#17 Ch#29 unused +! 30 !TDC ROC#2 Sl#17 Ch#30 unused +! 31 !TDC ROC#2 Sl#17 Ch#31 unused +32, 5, 14 !TDC ROC#2 Sl#17 Ch#32 HDC pl#11 [Y2] wire#14 +33, 5, 15 !TDC ROC#2 Sl#17 Ch#33 HDC pl#11 [Y2] wire#15 +34, 5, 16 !TDC ROC#2 Sl#17 Ch#34 HDC pl#11 [Y2] wire#16 +35, 5, 17 !TDC ROC#2 Sl#17 Ch#35 HDC pl#11 [Y2] wire#17 +36, 5, 18 !TDC ROC#2 Sl#17 Ch#36 HDC pl#11 [Y2] wire#18 +37, 5, 19 !TDC ROC#2 Sl#17 Ch#37 HDC pl#11 [Y2] wire#19 +38, 5, 20 !TDC ROC#2 Sl#17 Ch#38 HDC pl#11 [Y2] wire#20 +39, 5, 21 !TDC ROC#2 Sl#17 Ch#39 HDC pl#11 [Y2] wire#21 +40, 5, 22 !TDC ROC#2 Sl#17 Ch#40 HDC pl#11 [Y2] wire#22 +41, 5, 23 !TDC ROC#2 Sl#17 Ch#41 HDC pl#11 [Y2] wire#23 +42, 5, 24 !TDC ROC#2 Sl#17 Ch#42 HDC pl#11 [Y2] wire#24 +43, 5, 25 !TDC ROC#2 Sl#17 Ch#43 HDC pl#11 [Y2] wire#25 +44, 5, 26 !TDC ROC#2 Sl#17 Ch#44 HDC pl#11 [Y2] wire#26 +! 45 !TDC ROC#2 Sl#17 Ch#45 unused +! 46 !TDC ROC#2 Sl#17 Ch#46 unused +! 47 !TDC ROC#2 Sl#17 Ch#47 unused +48, 5, 27 !TDC ROC#2 Sl#17 Ch#48 HDC pl#11 [Y2] wire#27 +49, 5, 28 !TDC ROC#2 Sl#17 Ch#49 HDC pl#11 [Y2] wire#28 +50, 5, 29 !TDC ROC#2 Sl#17 Ch#50 HDC pl#11 [Y2] wire#29 +51, 5, 30 !TDC ROC#2 Sl#17 Ch#51 HDC pl#11 [Y2] wire#30 +52, 5, 31 !TDC ROC#2 Sl#17 Ch#52 HDC pl#11 [Y2] wire#31 +53, 5, 32 !TDC ROC#2 Sl#17 Ch#53 HDC pl#11 [Y2] wire#32 +54, 5, 33 !TDC ROC#2 Sl#17 Ch#54 HDC pl#11 [Y2] wire#33 +55, 5, 34 !TDC ROC#2 Sl#17 Ch#55 HDC pl#11 [Y2] wire#34 +56, 5, 35 !TDC ROC#2 Sl#17 Ch#56 HDC pl#11 [Y2] wire#35 +57, 5, 36 !TDC ROC#2 Sl#17 Ch#57 HDC pl#11 [Y2] wire#36 +58, 5, 37 !TDC ROC#2 Sl#17 Ch#58 HDC pl#11 [Y2] wire#37 +59, 5, 38 !TDC ROC#2 Sl#17 Ch#59 HDC pl#11 [Y2] wire#38 +60, 5, 39 !TDC ROC#2 Sl#17 Ch#60 HDC pl#11 [Y2] wire#39 +! 61 !TDC ROC#2 Sl#17 Ch#61 unused +! 62 !TDC ROC#2 Sl#17 Ch#62 unused +! 63 !TDC ROC#2 Sl#17 Ch#63 unused +! 64 !TDC ROC#2 Sl#17 Ch#64 unused????? JV 11/11/97 +65, 5, 40 !TDC ROC#2 Sl#17 Ch#64 HDC pl#11 [Y2] wire#40 +66, 5, 41 !TDC ROC#2 Sl#17 Ch#65 HDC pl#11 [Y2] wire#41 +67, 5, 42 !TDC ROC#2 Sl#17 Ch#66 HDC pl#11 [Y2] wire#42 +68, 5, 43 !TDC ROC#2 Sl#17 Ch#67 HDC pl#11 [Y2] wire#43 +69, 5, 44 !TDC ROC#2 Sl#17 Ch#68 HDC pl#11 [Y2] wire#44 +70, 5, 45 !TDC ROC#2 Sl#17 Ch#69 HDC pl#11 [Y2] wire#45 +71, 5, 46 !TDC ROC#2 Sl#17 Ch#70 HDC pl#11 [Y2] wire#46 +72, 5, 47 !TDC ROC#2 Sl#17 Ch#71 HDC pl#11 [Y2] wire#47 +73, 5, 48 !TDC ROC#2 Sl#17 Ch#72 HDC pl#11 [Y2] wire#48 +74, 5, 49 !TDC ROC#2 Sl#17 Ch#73 HDC pl#11 [Y2] wire#49 +75, 5, 50 !TDC ROC#2 Sl#17 Ch#74 HDC pl#11 [Y2] wire#50 +76, 5, 51 !TDC ROC#2 Sl#17 Ch#75 HDC pl#11 [Y2] wire#51 +77, 5, 52 !TDC ROC#2 Sl#17 Ch#76 HDC pl#11 [Y2] wire#52 +! 77 !TDC ROC#2 Sl#17 Ch#77 unused +! 78 !TDC ROC#2 Sl#17 Ch#78 unused +! 79 !TDC ROC#2 Sl#17 Ch#79 unused +80, 6, 1 !TDC ROC#2 Sl#17 Ch#80 HDC pl#12 [X2] wire#1 +81, 6, 2 !TDC ROC#2 Sl#17 Ch#81 HDC pl#12 [X2] wire#2 +82, 6, 3 !TDC ROC#2 Sl#17 Ch#82 HDC pl#12 [X2] wire#3 +83, 6, 4 !TDC ROC#2 Sl#17 Ch#83 HDC pl#12 [X2] wire#4 +84, 6, 5 !TDC ROC#2 Sl#17 Ch#84 HDC pl#12 [X2] wire#5 +85, 6, 6 !TDC ROC#2 Sl#17 Ch#85 HDC pl#12 [X2] wire#6 +86, 6, 7 !TDC ROC#2 Sl#17 Ch#86 HDC pl#12 [X2] wire#7 +87, 6, 8 !TDC ROC#2 Sl#17 Ch#87 HDC pl#12 [X2] wire#8 +88, 6, 9 !TDC ROC#2 Sl#17 Ch#88 HDC pl#12 [X2] wire#9 +89, 6, 10 !TDC ROC#2 Sl#17 Ch#89 HDC pl#12 [X2] wire#10 +90, 6, 11 !TDC ROC#2 Sl#17 Ch#90 HDC pl#12 [X2] wire#11 +91, 6, 12 !TDC ROC#2 Sl#17 Ch#91 HDC pl#12 [X2] wire#12 +92, 6, 13 !TDC ROC#2 Sl#17 Ch#92 HDC pl#12 [X2] wire#13 +93, 6, 14 !TDC ROC#2 Sl#17 Ch#93 HDC pl#12 [X2] wire#14 +94, 6, 15 !TDC ROC#2 Sl#17 Ch#94 HDC pl#12 [X2] wire#15 +95, 6, 16 !TDC ROC#2 Sl#17 Ch#95 HDC pl#12 [X2] wire#16 +Slot= 22 +0, 6, 17 !TDC ROC#2 Sl#18 Ch#0 HDC pl#12 [X2] wire#17 +1, 6, 18 !TDC ROC#2 Sl#18 Ch#1 HDC pl#12 [X2] wire#18 +2, 6, 19 !TDC ROC#2 Sl#18 Ch#2 HDC pl#12 [X2] wire#19 +3, 6, 20 !TDC ROC#2 Sl#18 Ch#3 HDC pl#12 [X2] wire#20 +4, 6, 21 !TDC ROC#2 Sl#18 Ch#4 HDC pl#12 [X2] wire#21 +5, 6, 22 !TDC ROC#2 Sl#18 Ch#5 HDC pl#12 [X2] wire#22 +6, 6, 23 !TDC ROC#2 Sl#18 Ch#6 HDC pl#12 [X2] wire#23 +7, 6, 24 !TDC ROC#2 Sl#18 Ch#7 HDC pl#12 [X2] wire#24 +8, 6, 25 !TDC ROC#2 Sl#18 Ch#8 HDC pl#12 [X2] wire#25 +9, 6, 26 !TDC ROC#2 Sl#18 Ch#9 HDC pl#12 [X2] wire#26 +10, 6, 27 !TDC ROC#2 Sl#18 Ch#10 HDC pl#12 [X2] wire#27 +11, 6, 28 !TDC ROC#2 Sl#18 Ch#11 HDC pl#12 [X2] wire#28 +12, 6, 29 !TDC ROC#2 Sl#18 Ch#12 HDC pl#12 [X2] wire#29 +13, 6, 30 !TDC ROC#2 Sl#18 Ch#13 HDC pl#12 [X2] wire#30 +14, 6, 31 !TDC ROC#2 Sl#18 Ch#14 HDC pl#12 [X2] wire#31 +15, 6, 32 !TDC ROC#2 Sl#18 Ch#15 HDC pl#12 [X2] wire#32 +16, 6, 33 !TDC ROC#2 Sl#18 Ch#16 HDC pl#12 [X2] wire#33 +17, 6, 34 !TDC ROC#2 Sl#18 Ch#17 HDC pl#12 [X2] wire#34 +18, 6, 35 !TDC ROC#2 Sl#18 Ch#18 HDC pl#12 [X2] wire#35 +19, 6, 36 !TDC ROC#2 Sl#18 Ch#19 HDC pl#12 [X2] wire#36 +20, 6, 37 !TDC ROC#2 Sl#18 Ch#20 HDC pl#12 [X2] wire#37 +21, 6, 38 !TDC ROC#2 Sl#18 Ch#21 HDC pl#12 [X2] wire#38 +22, 6, 39 !TDC ROC#2 Sl#18 Ch#22 HDC pl#12 [X2] wire#39 +23, 6, 40 !TDC ROC#2 Sl#18 Ch#23 HDC pl#12 [X2] wire#40 +24, 6, 41 !TDC ROC#2 Sl#18 Ch#24 HDC pl#12 [X2] wire#41 +25, 6, 42 !TDC ROC#2 Sl#18 Ch#25 HDC pl#12 [X2] wire#42 +26, 6, 43 !TDC ROC#2 Sl#18 Ch#26 HDC pl#12 [X2] wire#43 +27, 6, 44 !TDC ROC#2 Sl#18 Ch#27 HDC pl#12 [X2] wire#44 +28, 6, 45 !TDC ROC#2 Sl#18 Ch#28 HDC pl#12 [X2] wire#45 +29, 6, 46 !TDC ROC#2 Sl#18 Ch#29 HDC pl#12 [X2] wire#46 +30, 6, 47 !TDC ROC#2 Sl#18 Ch#30 HDC pl#12 [X2] wire#47 +31, 6, 48 !TDC ROC#2 Sl#18 Ch#31 HDC pl#12 [X2] wire#48 +32, 6, 49 !TDC ROC#2 Sl#18 Ch#32 HDC pl#12 [X2] wire#49 +33, 6, 50 !TDC ROC#2 Sl#18 Ch#33 HDC pl#12 [X2] wire#50 +34, 6, 51 !TDC ROC#2 Sl#18 Ch#34 HDC pl#12 [X2] wire#51 +35, 6, 52 !TDC ROC#2 Sl#18 Ch#35 HDC pl#12 [X2] wire#52 +36, 6, 53 !TDC ROC#2 Sl#18 Ch#36 HDC pl#12 [X2] wire#53 +37, 6, 54 !TDC ROC#2 Sl#18 Ch#37 HDC pl#12 [X2] wire#54 +38, 6, 55 !TDC ROC#2 Sl#18 Ch#38 HDC pl#12 [X2] wire#55 +39, 6, 56 !TDC ROC#2 Sl#18 Ch#39 HDC pl#12 [X2] wire#56 +40, 6, 57 !TDC ROC#2 Sl#18 Ch#40 HDC pl#12 [X2] wire#57 +41, 6, 58 !TDC ROC#2 Sl#18 Ch#41 HDC pl#12 [X2] wire#58 +42, 6, 59 !TDC ROC#2 Sl#18 Ch#42 HDC pl#12 [X2] wire#59 +43, 6, 60 !TDC ROC#2 Sl#18 Ch#43 HDC pl#12 [X2] wire#60 +44, 6, 61 !TDC ROC#2 Sl#18 Ch#44 HDC pl#12 [X2] wire#61 +45, 6, 62 !TDC ROC#2 Sl#18 Ch#45 HDC pl#12 [X2] wire#62 +46, 6, 63 !TDC ROC#2 Sl#18 Ch#46 HDC pl#12 [X2] wire#63 +47, 6, 64 !TDC ROC#2 Sl#18 Ch#47 HDC pl#12 [X2] wire#64 +48, 6, 65 !TDC ROC#2 Sl#18 Ch#48 HDC pl#12 [X2] wire#65 +49, 6, 66 !TDC ROC#2 Sl#18 Ch#49 HDC pl#12 [X2] wire#66 +50, 6, 67 !TDC ROC#2 Sl#18 Ch#50 HDC pl#12 [X2] wire#67 +51, 6, 68 !TDC ROC#2 Sl#18 Ch#51 HDC pl#12 [X2] wire#68 +52, 6, 69 !TDC ROC#2 Sl#18 Ch#52 HDC pl#12 [X2] wire#69 +53, 6, 70 !TDC ROC#2 Sl#18 Ch#53 HDC pl#12 [X2] wire#70 +54, 6, 71 !TDC ROC#2 Sl#18 Ch#54 HDC pl#12 [X2] wire#71 +55, 6, 72 !TDC ROC#2 Sl#18 Ch#55 HDC pl#12 [X2] wire#72 +56, 6, 73 !TDC ROC#2 Sl#18 Ch#56 HDC pl#12 [X2] wire#73 +57, 6, 74 !TDC ROC#2 Sl#18 Ch#57 HDC pl#12 [X2] wire#74 +58, 6, 75 !TDC ROC#2 Sl#18 Ch#58 HDC pl#12 [X2] wire#75 +59, 6, 76 !TDC ROC#2 Sl#18 Ch#59 HDC pl#12 [X2] wire#76 +60, 6, 77 !TDC ROC#2 Sl#18 Ch#60 HDC pl#12 [X2] wire#77 +61, 6, 78 !TDC ROC#2 Sl#18 Ch#61 HDC pl#12 [X2] wire#78 +62, 6, 79 !TDC ROC#2 Sl#18 Ch#62 HDC pl#12 [X2] wire#79 +63, 6, 80 !TDC ROC#2 Sl#18 Ch#63 HDC pl#12 [X2] wire#80 +64, 6, 81 !TDC ROC#2 Sl#18 Ch#64 HDC pl#12 [X2] wire#81 +65, 6, 82 !TDC ROC#2 Sl#18 Ch#65 HDC pl#12 [X2] wire#82 +66, 6, 83 !TDC ROC#2 Sl#18 Ch#66 HDC pl#12 [X2] wire#83 +67, 6, 84 !TDC ROC#2 Sl#18 Ch#67 HDC pl#12 [X2] wire#84 +68, 6, 85 !TDC ROC#2 Sl#18 Ch#68 HDC pl#12 [X2] wire#85 +69, 6, 86 !TDC ROC#2 Sl#18 Ch#69 HDC pl#12 [X2] wire#86 +70, 6, 87 !TDC ROC#2 Sl#18 Ch#70 HDC pl#12 [X2] wire#87 +71, 6, 88 !TDC ROC#2 Sl#18 Ch#71 HDC pl#12 [X2] wire#88 +72, 6, 89 !TDC ROC#2 Sl#18 Ch#72 HDC pl#12 [X2] wire#89 +73, 6, 90 !TDC ROC#2 Sl#18 Ch#73 HDC pl#12 [X2] wire#90 +74, 6, 91 !TDC ROC#2 Sl#18 Ch#74 HDC pl#12 [X2] wire#91 +75, 6, 92 !TDC ROC#2 Sl#18 Ch#75 HDC pl#12 [X2] wire#92 +76, 6, 93 !TDC ROC#2 Sl#18 Ch#76 HDC pl#12 [X2] wire#93 +77, 6, 94 !TDC ROC#2 Sl#18 Ch#77 HDC pl#12 [X2] wire#94 +78, 6, 95 !TDC ROC#2 Sl#18 Ch#78 HDC pl#12 [X2] wire#95 +79, 6, 96 !TDC ROC#2 Sl#18 Ch#79 HDC pl#12 [X2] wire#96 +80, 6, 97 !TDC ROC#2 Sl#18 Ch#80 HDC pl#12 [X2] wire#97 +81, 6, 98 !TDC ROC#2 Sl#18 Ch#81 HDC pl#12 [X2] wire#98 +82, 6, 99 !TDC ROC#2 Sl#18 Ch#82 HDC pl#12 [X2] wire#99 +83, 6, 100 !TDC ROC#2 Sl#18 Ch#83 HDC pl#12 [X2] wire#100 +84, 6, 101 !TDC ROC#2 Sl#18 Ch#84 HDC pl#12 [X2] wire#101 +85, 6, 102 !TDC ROC#2 Sl#18 Ch#85 HDC pl#12 [X2] wire#102 +86, 6, 103 !TDC ROC#2 Sl#18 Ch#86 HDC pl#12 [X2] wire#103 +87, 6, 104 !TDC ROC#2 Sl#18 Ch#87 HDC pl#12 [X2] wire#104 +88, 6, 105 !TDC ROC#2 Sl#18 Ch#88 HDC pl#12 [X2] wire#105 +89, 6, 106 !TDC ROC#2 Sl#18 Ch#89 HDC pl#12 [X2] wire#106 +90, 6, 107 !TDC ROC#2 Sl#18 Ch#90 HDC pl#12 [X2] wire#107 +91, 6, 108 !TDC ROC#2 Sl#18 Ch#91 HDC pl#12 [X2] wire#108 +92, 6, 109 !TDC ROC#2 Sl#18 Ch#92 HDC pl#12 [X2] wire#109 +93, 6, 110 !TDC ROC#2 Sl#18 Ch#93 HDC pl#12 [X2] wire#110 +94, 6, 111 !TDC ROC#2 Sl#18 Ch#94 HDC pl#12 [X2] wire#111 +95, 6, 112 !TDC ROC#2 Sl#18 Ch#95 HDC pl#12 [X2] wire#112 +! +! +! HMS upstairs (HSCIN+HCAL+HCER) map K.B.Beard 13-Jun-1994 +! + +! ^^^^^^^^^^^^^^^^^^^^^ Wire chambers end here ^^^^^^^^^^^^^^^^^^^^^^ +!============================================================================= + ROC= 1 !upstairs HMS crate +! + detector= 2 !HSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 23 ! TDC + 0, 1, 1, 2 !TDC ROC#1 Sl#23 Ch#0 HSCIN pl#1 [X1] id#1 sig#2 [TDC+] (0 X1P-01) + 1, 1, 3, 2 !TDC ROC#1 Sl#23 Ch#1 HSCIN pl#1 [X1] id#3 sig#2 [TDC+] (1 X1P-03) + 2, 1, 5, 2 !TDC ROC#1 Sl#23 Ch#2 HSCIN pl#1 [X1] id#5 sig#2 [TDC+] (2 X1P-05) + 3, 1, 7, 2 !TDC ROC#1 Sl#23 Ch#3 HSCIN pl#1 [X1] id#7 sig#2 [TDC+] (3 X1P-07) + 4, 1, 9, 2 !TDC ROC#1 Sl#23 Ch#4 HSCIN pl#1 [X1] id#9 sig#2 [TDC+] (4 X1P-09) + 5, 1, 11, 2 !TDC ROC#1 Sl#23 Ch#5 HSCIN pl#1 [X1] id#11 sig#2 [TDC+] (5 X1P-11) + 6, 1, 13, 2 !TDC ROC#1 Sl#23 Ch#6 HSCIN pl#1 [X1] id#13 sig#2 [TDC+] (6 X1P-13) + 7, 1, 15, 2 !TDC ROC#1 Sl#23 Ch#7 HSCIN pl#1 [X1] id#15 sig#2 [TDC+] (7 X1P-15) + 8, 1, 2, 2 !TDC ROC#1 Sl#23 Ch#8 HSCIN pl#1 [X1] id#2 sig#2 [TDC+] (8 X1P-02) + 9, 1, 4, 2 !TDC ROC#1 Sl#23 Ch#9 HSCIN pl#1 [X1] id#4 sig#2 [TDC+] (9 X1P-04) + 10, 1, 6, 2 !TDC ROC#1 Sl#23 Ch#10 HSCIN pl#1 [X1] id#6 sig#2 [TDC+] (10 X1P-06) + 11, 1, 8, 2 !TDC ROC#1 Sl#23 Ch#11 HSCIN pl#1 [X1] id#8 sig#2 [TDC+] (11 X1P-08) + 12, 1, 10, 2 !TDC ROC#1 Sl#23 Ch#12 HSCIN pl#1 [X1] id#10 sig#2 [TDC+] (12 X1P-10) + 13, 1, 12, 2 !TDC ROC#1 Sl#23 Ch#13 HSCIN pl#1 [X1] id#12 sig#2 [TDC+] (13 X1P-12) + 14, 1, 14, 2 !TDC ROC#1 Sl#23 Ch#14 HSCIN pl#1 [X1] id#14 sig#2 [TDC+] (14 X1P-14) + 15, 1, 16, 2 !TDC ROC#1 Sl#23 Ch#15 HSCIN pl#1 [X1] id#16 sig#2 [TDC+] (15 X1P-16) + 16, 1, 1, 3 !TDC ROC#1 Sl#23 Ch#16 HSCIN pl#1 [X1] id#1 sig#3 [TDC-] (16 X1N-01) + 17, 1, 3, 3 !TDC ROC#1 Sl#23 Ch#17 HSCIN pl#1 [X1] id#3 sig#3 [TDC-] (17 X1N-03) + 18, 1, 5, 3 !TDC ROC#1 Sl#23 Ch#18 HSCIN pl#1 [X1] id#5 sig#3 [TDC-] (18 X1N-05) + 19, 1, 7, 3 !TDC ROC#1 Sl#23 Ch#19 HSCIN pl#1 [X1] id#7 sig#3 [TDC-] (19 X1N-07) + 20, 1, 9, 3 !TDC ROC#1 Sl#23 Ch#20 HSCIN pl#1 [X1] id#9 sig#3 [TDC-] (20 X1N-09) + 21, 1, 11, 3 !TDC ROC#1 Sl#23 Ch#21 HSCIN pl#1 [X1] id#11 sig#3 [TDC-] (21 X1N-11) + 22, 1, 13, 3 !TDC ROC#1 Sl#23 Ch#22 HSCIN pl#1 [X1] id#13 sig#3 [TDC-] (22 X1N-13) + 23, 1, 15, 3 !TDC ROC#1 Sl#23 Ch#23 HSCIN pl#1 [X1] id#15 sig#3 [TDC-] (23 X1N-15) + 24, 1, 2, 3 !TDC ROC#1 Sl#23 Ch#24 HSCIN pl#1 [X1] id#2 sig#3 [TDC-] (24 X1N-02) + 25, 1, 4, 3 !TDC ROC#1 Sl#23 Ch#25 HSCIN pl#1 [X1] id#4 sig#3 [TDC-] (25 X1N-04) + 26, 1, 6, 3 !TDC ROC#1 Sl#23 Ch#26 HSCIN pl#1 [X1] id#6 sig#3 [TDC-] (26 X1N-06) + 27, 1, 8, 3 !TDC ROC#1 Sl#23 Ch#27 HSCIN pl#1 [X1] id#8 sig#3 [TDC-] (27 X1N-08) + 28, 1, 10, 3 !TDC ROC#1 Sl#23 Ch#28 HSCIN pl#1 [X1] id#10 sig#3 [TDC-] (28 X1N-10) + 29, 1, 12, 3 !TDC ROC#1 Sl#23 Ch#29 HSCIN pl#1 [X1] id#12 sig#3 [TDC-] (29 X1N-12) + 30, 1, 14, 3 !TDC ROC#1 Sl#23 Ch#30 HSCIN pl#1 [X1] id#14 sig#3 [TDC-] (30 X1N-14) + 31, 1, 16, 3 !TDC ROC#1 Sl#23 Ch#31 HSCIN pl#1 [X1] id#16 sig#3 [TDC-] (31 X1N-16) + 32, 2, 1, 2 !TDC ROC#1 Sl#23 Ch#32 HSCIN pl#2 [Y1] id#1 sig#2 [TDC+] (32 Y1P-01) + 33, 2, 3, 2 !TDC ROC#1 Sl#23 Ch#33 HSCIN pl#2 [Y1] id#3 sig#2 [TDC+] (33 Y1P-03) + 34, 2, 5, 2 !TDC ROC#1 Sl#23 Ch#34 HSCIN pl#2 [Y1] id#5 sig#2 [TDC+] (34 Y1P-05) + 35, 2, 7, 2 !TDC ROC#1 Sl#23 Ch#35 HSCIN pl#2 [Y1] id#7 sig#2 [TDC+] (35 Y1P-07) + 36, 2, 9, 2 !TDC ROC#1 Sl#23 Ch#36 HSCIN pl#2 [Y1] id#9 sig#2 [TDC+] (36 Y1P-09) +! 37 !TDC ROC#1 Sl#23 Ch#37 unused +! 38 !TDC ROC#1 Sl#23 Ch#38 unused +! 39 !TDC ROC#1 Sl#23 Ch#39 unused +!!! 40, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) + 41, 2, 4, 2 !TDC ROC#1 Sl#23 Ch#41 HSCIN pl#2 [Y1] id#4 sig#2 [TDC+] (41 Y1P-04) + 42, 2, 6, 2 !TDC ROC#1 Sl#23 Ch#42 HSCIN pl#2 [Y1] id#6 sig#2 [TDC+] (42 Y1P-06) + 43, 2, 8, 2 !TDC ROC#1 Sl#23 Ch#43 HSCIN pl#2 [Y1] id#8 sig#2 [TDC+] (43 Y1P-08) + 44, 2, 10, 2 !TDC ROC#1 Sl#23 Ch#44 HSCIN pl#2 [Y1] id#10 sig#2 [TDC+] (44 Y1P-10) + 45, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#45 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (45 Y1P-02) +! h1y2+ was moved from channel 47 to 45 on 1/29/1999 +! 46 !TDC ROC#1 Sl#23 Ch#46 unused +! 47, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) +! h1y2+ was moved from channel 40 to 47 at run 6168 + 48, 2, 1, 3 !TDC ROC#1 Sl#23 Ch#48 HSCIN pl#2 [Y1] id#1 sig#3 [TDC-] (48 Y1N-01) + 49, 2, 3, 3 !TDC ROC#1 Sl#23 Ch#49 HSCIN pl#2 [Y1] id#3 sig#3 [TDC-] (49 Y1N-03) + 50, 2, 5, 3 !TDC ROC#1 Sl#23 Ch#50 HSCIN pl#2 [Y1] id#5 sig#3 [TDC-] (50 Y1N-05) + 51, 2, 7, 3 !TDC ROC#1 Sl#23 Ch#51 HSCIN pl#2 [Y1] id#7 sig#3 [TDC-] (51 Y1N-07) + 52, 2, 9, 3 !TDC ROC#1 Sl#23 Ch#52 HSCIN pl#2 [Y1] id#9 sig#3 [TDC-] (52 Y1N-09) +! 53 !TDC ROC#1 Sl#23 Ch#53 unused +! 54 !TDC ROC#1 Sl#23 Ch#54 unused +! 55 !TDC ROC#1 Sl#23 Ch#55 unused + 56, 2, 2, 3 !TDC ROC#1 Sl#23 Ch#56 HSCIN pl#2 [Y1] id#2 sig#3 [TDC-] (56 Y1N-02) + 57, 2, 4, 3 !TDC ROC#1 Sl#23 Ch#57 HSCIN pl#2 [Y1] id#4 sig#3 [TDC-] (57 Y1N-04) + 58, 2, 6, 3 !TDC ROC#1 Sl#23 Ch#58 HSCIN pl#2 [Y1] id#6 sig#3 [TDC-] (58 Y1N-06) + 59, 2, 8, 3 !TDC ROC#1 Sl#23 Ch#59 HSCIN pl#2 [Y1] id#8 sig#3 [TDC-] (59 Y1N-08) +! 60, 2, 10, 3 !TDC ROC#1 Sl#23 Ch#60 HSCIN pl#2 [Y1] id#10 sig#3 [TDC-] (60 Y1N-10) + 61 , 2, 10, 3 !TDC ROC#1 Sl#23 Ch#61 swap location for h1y10- +! 62 !TDC ROC#1 Sl#23 Ch#62 unused +! 63 !TDC ROC#1 Sl#23 Ch#63 unused +! + Slot= 21 ! TDC +! + 0, 3, 1, 2 !TDC ROC#1 Sl#21 Ch#0 HSCIN pl#3 [X2] id#1 sig#2 [TDC+] (0 X2P-01) + 1, 3, 3, 2 !TDC ROC#1 Sl#21 Ch#1 HSCIN pl#3 [X2] id#3 sig#2 [TDC+] (1 X2P-03) + 2, 3, 5, 2 !TDC ROC#1 Sl#21 Ch#2 HSCIN pl#3 [X2] id#5 sig#2 [TDC+] (2 X2P-05) + 3, 3, 7, 2 !TDC ROC#1 Sl#21 Ch#3 HSCIN pl#3 [X2] id#7 sig#2 [TDC+] (3 X2P-07) + 4, 3, 9, 2 !TDC ROC#1 Sl#21 Ch#4 HSCIN pl#3 [X2] id#9 sig#2 [TDC+] (4 X2P-09) + 5, 3, 11, 2 !TDC ROC#1 Sl#21 Ch#5 HSCIN pl#3 [X2] id#11 sig#2 [TDC+] (5 X2P-11) + 6, 3, 13, 2 !TDC ROC#1 Sl#21 Ch#6 HSCIN pl#3 [X2] id#13 sig#2 [TDC+] (6 X2P-13) + 7, 3, 15, 2 !TDC ROC#1 Sl#21 Ch#7 HSCIN pl#3 [X2] id#15 sig#2 [TDC+] (7 X2P-15) +! + 8, 3, 2, 2 !TDC ROC#1 Sl#21 Ch#8 HSCIN pl#3 [X2] id#2 sig#2 [TDC+] (8 X2P-02) + 9, 3, 4, 2 !TDC ROC#1 Sl#21 Ch#9 HSCIN pl#3 [X2] id#4 sig#2 [TDC+] (9 X2P-04) + 10, 3, 6, 2 !TDC ROC#1 Sl#21 Ch#10 HSCIN pl#3 [X2] id#6 sig#2 [TDC+] (10 X2P-06) + 11, 3, 8, 2 !TDC ROC#1 Sl#21 Ch#11 HSCIN pl#3 [X2] id#8 sig#2 [TDC+] (11 X2P-08) + 12, 3, 10, 2 !TDC ROC#1 Sl#21 Ch#12 HSCIN pl#3 [X2] id#10 sig#2 [TDC+] (12 X2P-10) + 13, 3, 12, 2 !TDC ROC#1 Sl#21 Ch#13 HSCIN pl#3 [X2] id#12 sig#2 [TDC+] (13 X2P-12) + 14, 3, 14, 2 !TDC ROC#1 Sl#21 Ch#14 HSCIN pl#3 [X2] id#14 sig#2 [TDC+] (14 X2P-14) + 15, 3, 16, 2 !TDC ROC#1 Sl#21 Ch#15 HSCIN pl#3 [X2] id#16 sig#2 [TDC+] (15 X2P-16) +! +! swapped s2x- with s2y+ +! + 16, 4, 1, 2 !TDC ROC#1 Sl#21 Ch#32 HSCIN pl#4 [Y2] id#1 sig#2 [TDC+] (32 Y2P-01) + 17, 4, 3, 2 !TDC ROC#1 Sl#21 Ch#33 HSCIN pl#4 [Y2] id#3 sig#2 [TDC+] (33 Y2P-03) + 18, 4, 5, 2 !TDC ROC#1 Sl#21 Ch#34 HSCIN pl#4 [Y2] id#5 sig#2 [TDC+] (34 Y2P-05) + 19, 4, 7, 2 !TDC ROC#1 Sl#21 Ch#35 HSCIN pl#4 [Y2] id#7 sig#2 [TDC+] (35 Y2P-07) + 20, 4, 9, 2 !TDC ROC#1 Sl#21 Ch#36 HSCIN pl#4 [Y2] id#9 sig#2 [TDC+] (36 Y2P-09) +! 21 !TDC ROC#1 Sl#21 Ch#37 unused +! 22 !TDC ROC#1 Sl#21 Ch#38 unused +! 23 !TDC ROC#1 Sl#21 Ch#39 unused + 24, 4, 2, 2 !TDC ROC#1 Sl#21 Ch#40 HSCIN pl#4 [Y2] id#2 sig#2 [TDC+] (40 Y2P-02) + 25, 4, 4, 2 !TDC ROC#1 Sl#21 Ch#41 HSCIN pl#4 [Y2] id#4 sig#2 [TDC+] (41 Y2P-04) + 26, 4, 6, 2 !TDC ROC#1 Sl#21 Ch#42 HSCIN pl#4 [Y2] id#6 sig#2 [TDC+] (42 Y2P-06) + 27, 4, 8, 2 !TDC ROC#1 Sl#21 Ch#43 HSCIN pl#4 [Y2] id#8 sig#2 [TDC+] (43 Y2P-08) + 28, 4, 10, 2 !TDC ROC#1 Sl#21 Ch#44 HSCIN pl#4 [Y2] id#10 sig#2 [TDC+] (44 Y2P-10) +! 29 !TDC ROC#1 Sl#21 Ch#45 unused +! 30 !TDC ROC#1 Sl#21 Ch#46 unused +! 31 !TDC ROC#1 Sl#21 Ch#47 unused +! + 32, 3, 1, 3 !TDC ROC#1 Sl#21 Ch#16 HSCIN pl#3 [X2] id#1 sig#3 [TDC-] (16 X2N-01) + 33, 3, 3, 3 !TDC ROC#1 Sl#21 Ch#17 HSCIN pl#3 [X2] id#3 sig#3 [TDC-] (17 X2N-03) + 34, 3, 5, 3 !TDC ROC#1 Sl#21 Ch#18 HSCIN pl#3 [X2] id#5 sig#3 [TDC-] (18 X2N-05) + 35, 3, 7, 3 !TDC ROC#1 Sl#21 Ch#19 HSCIN pl#3 [X2] id#7 sig#3 [TDC-] (19 X2N-07) + 36, 3, 9, 3 !TDC ROC#1 Sl#21 Ch#20 HSCIN pl#3 [X2] id#9 sig#3 [TDC-] (20 X2N-09) + 37, 3, 11, 3 !TDC ROC#1 Sl#21 Ch#21 HSCIN pl#3 [X2] id#11 sig#3 [TDC-] (21 X2N-11) + 38, 3, 13, 3 !TDC ROC#1 Sl#21 Ch#22 HSCIN pl#3 [X2] id#13 sig#3 [TDC-] (22 X2N-13) + 39, 3, 15, 3 !TDC ROC#1 Sl#21 Ch#23 HSCIN pl#3 [X2] id#15 sig#3 [TDC-] (23 X2N-15) +! + 40, 3, 2, 3 !TDC ROC#1 Sl#21 Ch#24 HSCIN pl#3 [X2] id#2 sig#3 [TDC-] (24 X2N-02) + 41, 3, 4, 3 !TDC ROC#1 Sl#21 Ch#25 HSCIN pl#3 [X2] id#4 sig#3 [TDC-] (25 X2N-04) + 42, 3, 6, 3 !TDC ROC#1 Sl#21 Ch#26 HSCIN pl#3 [X2] id#6 sig#3 [TDC-] (26 X2N-06) + 43, 3, 8, 3 !TDC ROC#1 Sl#21 Ch#27 HSCIN pl#3 [X2] id#8 sig#3 [TDC-] (27 X2N-08) + 44, 3, 10, 3 !TDC ROC#1 Sl#21 Ch#28 HSCIN pl#3 [X2] id#10 sig#3 [TDC-] (28 X2N-10) + 45, 3, 12, 3 !TDC ROC#1 Sl#21 Ch#29 HSCIN pl#3 [X2] id#12 sig#3 [TDC-] (29 X2N-12) + 46, 3, 14, 3 !TDC ROC#1 Sl#21 Ch#30 HSCIN pl#3 [X2] id#14 sig#3 [TDC-] (30 X2N-14) + 47, 3, 16, 3 !TDC ROC#1 Sl#21 Ch#31 HSCIN pl#3 [X2] id#16 sig#3 [TDC-] (31 X2N-16) +! + 48, 4, 1, 3 !TDC ROC#1 Sl#21 Ch#48 HSCIN pl#4 [Y2] id#1 sig#3 [TDC-] (48 Y2N-01) + 49, 4, 3, 3 !TDC ROC#1 Sl#21 Ch#49 HSCIN pl#4 [Y2] id#3 sig#3 [TDC-] (49 Y2N-03) + 50, 4, 5, 3 !TDC ROC#1 Sl#21 Ch#50 HSCIN pl#4 [Y2] id#5 sig#3 [TDC-] (50 Y2N-05) + 51, 4, 7, 3 !TDC ROC#1 Sl#21 Ch#51 HSCIN pl#4 [Y2] id#7 sig#3 [TDC-] (51 Y2N-07) + 52, 4, 9, 3 !TDC ROC#1 Sl#21 Ch#52 HSCIN pl#4 [Y2] id#9 sig#3 [TDC-] (52 Y2N-09) +! 53 !TDC ROC#1 Sl#21 Ch#53 unused +! 54 !TDC ROC#1 Sl#21 Ch#54 unused +! 55 !TDC ROC#1 Sl#21 Ch#55 unused + 56, 4, 2, 3 !TDC ROC#1 Sl#21 Ch#56 HSCIN pl#4 [Y2] id#2 sig#3 [TDC-] (56 Y2N-02) + 57, 4, 4, 3 !TDC ROC#1 Sl#21 Ch#57 HSCIN pl#4 [Y2] id#4 sig#3 [TDC-] (57 Y2N-04) + 58, 4, 6, 3 !TDC ROC#1 Sl#21 Ch#58 HSCIN pl#4 [Y2] id#6 sig#3 [TDC-] (58 Y2N-06) + 59, 4, 8, 3 !TDC ROC#1 Sl#21 Ch#59 HSCIN pl#4 [Y2] id#8 sig#3 [TDC-] (59 Y2N-08) + 60, 4, 10, 3 !TDC ROC#1 Sl#21 Ch#60 HSCIN pl#4 [Y2] id#10 sig#3 [TDC-] (60 Y2N-10) +! 61 !TDC ROC#1 Sl#21 Ch#61 unused +! 62 !TDC ROC#1 Sl#21 Ch#62 unused +! 63 !TDC ROC#1 Sl#21 Ch#63 unused +! +!!!====================================================================== + detector= 5 !HMISC + +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 19 ! TDC + +0, 1, 1, 0 ! 0 !TDC ROC#1 Sl#19 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#1 Sl#19 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#1 Sl#19 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#1 Sl#19 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#1 Sl#19 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#1 Sl#19 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#1 Sl#19 Ch#6 empty +7, 1, 8, 0 ! 7 !TDC ROC#1 Sl#19 Ch#7 unused +8, 1, 9, 0 ! 8 !TDC ROC#1 Sl#19 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#1 Sl#19 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#1 Sl#19 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#1 Sl#19 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#1 Sl#19 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#1 Sl#19 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#1 Sl#19 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#1 Sl#19 Ch#15 signal {PEDTRG} +16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 signal {hS1} +17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 signal {hPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 signal {hS2X} +19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 signal {hPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 signal {hS1X} +21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 signal {hS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 signal {hPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 signal {hS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 signal {hS2} +25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 signal {hCERHI} +26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 signal {hSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 signal {hSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 signal {hELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 signal {hPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 signal {hELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 signal {hPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 signal {PION} +33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 signal {CER} +34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 signal {hPIONHI} +35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 signal {hPRE200} +36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 signal {??} +37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 signal {UNSER} +38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 signal {BCM1} +39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 signal {BCM2} +40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 signal {hELHI} +41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 signal {hELLO} +42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 signal {hPRHI} +43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 signal {hPRLO} +44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 signal {hSHLO} +45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 signal {CLOCK} +46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 signal {BEAMGATES} +47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 signal {hADCGATES ? PEDS and TRIGS} +48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 RF no delay +49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 RF + 10 ns +53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +! +!============================================================================= +! AEROGEL TDC +!.............................................................................. +! For aerogel: 0-->ADC_POS +! 1-->ADC_NEG +! 2-->TDC_POS ! Check one more time (Hamlet, 2002/10/01) +! 3-->TDC_NEG + + detector= 7 ! Temporary for HAERO + +! TDC module LeCroy 1872a + + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +!! +! S. Wood have problem to read additional TDC in Slot =18 (2002/10/18, Hamlet) +! +! For now I will use some other tdc channels for Aerogel +!.......................> +! + Slot= 18 ! TDC channels for HMS Aero +! Changed May 5, 2003 DJG +! +! +! Slot= 18 !TDC +! +! TDC chan for aerogel (Hamlet, 2002/10/17) +! +0, 1, 1, 2 !TDC ROC#1 Sl#18 Ch#0 signal pos 1 +1, 1, 2, 2 !TDC ROC#1 Sl#18 Ch#1 signal pos 2 +2, 1, 3, 2 !TDC ROC#1 Sl#18 Ch#2 signal pos 3 +3, 1, 4, 2 !TDC ROC#1 Sl#18 Ch#3 signal pos 4 +4, 1, 5, 2 !TDC ROC#1 Sl#18 Ch#4 signal pos 5 +5, 1, 6, 2 !TDC ROC#1 Sl#18 Ch#5 signal pos 6 +6, 1, 7, 2 !TDC ROC#1 Sl#18 Ch#6 signal pos 7 +7, 1, 8, 2 !TDC ROC#1 Sl#18 Ch#7 signal pos 8 +8, 1, 1, 3 !TDC ROC#1 Sl#18 Ch#8 signal neg 1 +9, 1, 2, 3 !TDC ROC#1 Sl#18 Ch#9 signal neg 2 +10, 1, 3, 3 !TDC ROC#1 Sl#18 Ch#10 signal neg 3 +11, 1, 4, 3 !TDC ROC#1 Sl#18 Ch#11 signal neg 4 +12, 1, 5, 3 !TDC ROC#1 Sl#18 Ch#12 signal neg 5 +13, 1, 6, 3 !TDC ROC#1 Sl#18 Ch#13 signal neg 6 +14, 1, 7, 3 !TDC ROC#1 Sl#18 Ch#14 signal neg 7 +15, 1, 8, 3 !TDC ROC#1 Sl#18 Ch#15 signal neg 8 +!! +!16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 unused +!17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 unused +!18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 unused +!19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 unused +!20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 unused +!21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 unused +!22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 unused +!23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 unused +!24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 unused +!25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 unused +!26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 unused +!27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 unused +!28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 unused +!29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 unused +!30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 unused +!31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 unused +!32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 unused +!33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 unused +!34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 unused +!35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 unused +!36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 unused +!37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 unused +!38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 unused +!39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 unused +!40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 unused +!41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 unused +!42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 unused +!43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 unused +!44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 unused +!45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 unused +!46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 unused +!47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 unused +!48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 unused +!49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +!50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +!51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +!52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 unused +!53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +!54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +!55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +!56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +!57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +!58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +!59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +!60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +!61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +!62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +!63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +!============================================================================= +! ADC module LeCroy 1881M + detector = 2 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#1 Sl#9 Ch#0 HSCIN pl#1 [X1] id#1 sig#0 [ADC+] (0 X1P-01) + 1, 1, 3, 0 !ADC ROC#1 Sl#9 Ch#1 HSCIN pl#1 [X1] id#3 sig#0 [ADC+] (1 X1P-03) + 2, 1, 5, 0 !ADC ROC#1 Sl#9 Ch#2 HSCIN pl#1 [X1] id#5 sig#0 [ADC+] (2 X1P-05) + 3, 1, 7, 0 !ADC ROC#1 Sl#9 Ch#3 HSCIN pl#1 [X1] id#7 sig#0 [ADC+] (3 X1P-07) + 4, 1, 9, 0 !ADC ROC#1 Sl#9 Ch#4 HSCIN pl#1 [X1] id#9 sig#0 [ADC+] (4 X1P-09) + 5, 1, 11, 0 !ADC ROC#1 Sl#9 Ch#5 HSCIN pl#1 [X1] id#11 sig#0 [ADC+] (5 X1P-11) + 6, 1, 13, 0 !ADC ROC#1 Sl#9 Ch#6 HSCIN pl#1 [X1] id#13 sig#0 [ADC+] (6 X1P-13) + 7, 1, 15, 0 !ADC ROC#1 Sl#9 Ch#7 HSCIN pl#1 [X1] id#15 sig#0 [ADC+] (7 X1P-15) + 8, 1, 2, 0 !ADC ROC#1 Sl#9 Ch#8 HSCIN pl#1 [X1] id#2 sig#0 [ADC+] (8 X1P-02) + 9, 1, 4, 0 !ADC ROC#1 Sl#9 Ch#9 HSCIN pl#1 [X1] id#4 sig#0 [ADC+] (9 X1P-04) + 10, 1, 6, 0 !ADC ROC#1 Sl#9 Ch#10 HSCIN pl#1 [X1] id#6 sig#0 [ADC+] (10 X1P-06) + 11, 1, 8, 0 !ADC ROC#1 Sl#9 Ch#11 HSCIN pl#1 [X1] id#8 sig#0 [ADC+] (11 X1P-08) + 12, 1, 10, 0 !ADC ROC#1 Sl#9 Ch#12 HSCIN pl#1 [X1] id#10 sig#0 [ADC+] (12 X1P-10) + 13, 1, 12, 0 !ADC ROC#1 Sl#9 Ch#13 HSCIN pl#1 [X1] id#12 sig#0 [ADC+] (13 X1P-12) + 14, 1, 14, 0 !ADC ROC#1 Sl#9 Ch#14 HSCIN pl#1 [X1] id#14 sig#0 [ADC+] (14 X1P-14) + 15, 1, 16, 0 !ADC ROC#1 Sl#9 Ch#15 HSCIN pl#1 [X1] id#16 sig#0 [ADC+] (15 X1P-16) +! + 16, 1, 1, 1 !ADC ROC#1 Sl#9 Ch#16 HSCIN pl#1 [X1] id#1 sig#1 [ADC-] (16 X1N-01) + 17, 1, 3, 1 !ADC ROC#1 Sl#9 Ch#17 HSCIN pl#1 [X1] id#3 sig#1 [ADC-] (17 X1N-03) + 18, 1, 5, 1 !ADC ROC#1 Sl#9 Ch#18 HSCIN pl#1 [X1] id#5 sig#1 [ADC-] (18 X1N-05) + 19, 1, 7, 1 !ADC ROC#1 Sl#9 Ch#19 HSCIN pl#1 [X1] id#7 sig#1 [ADC-] (19 X1N-07) + 20, 1, 9, 1 !ADC ROC#1 Sl#9 Ch#20 HSCIN pl#1 [X1] id#9 sig#1 [ADC-] (20 X1N-09) + 21, 1, 11, 1 !ADC ROC#1 Sl#9 Ch#21 HSCIN pl#1 [X1] id#11 sig#1 [ADC-] (21 X1N-11) + 22, 1, 13, 1 !ADC ROC#1 Sl#9 Ch#22 HSCIN pl#1 [X1] id#13 sig#1 [ADC-] (22 X1N-13) + 23, 1, 15, 1 !ADC ROC#1 Sl#9 Ch#23 HSCIN pl#1 [X1] id#15 sig#1 [ADC-] (23 X1N-15) + 24, 1, 2, 1 !ADC ROC#1 Sl#9 Ch#24 HSCIN pl#1 [X1] id#2 sig#1 [ADC-] (24 X1N-02) + 25, 1, 4, 1 !ADC ROC#1 Sl#9 Ch#25 HSCIN pl#1 [X1] id#4 sig#1 [ADC-] (25 X1N-04) + 26, 1, 6, 1 !ADC ROC#1 Sl#9 Ch#26 HSCIN pl#1 [X1] id#6 sig#1 [ADC-] (26 X1N-06) + 27, 1, 8, 1 !ADC ROC#1 Sl#9 Ch#27 HSCIN pl#1 [X1] id#8 sig#1 [ADC-] (27 X1N-08) + 28, 1, 10, 1 !ADC ROC#1 Sl#9 Ch#28 HSCIN pl#1 [X1] id#10 sig#1 [ADC-] (28 X1N-10) + 29, 1, 12, 1 !ADC ROC#1 Sl#9 Ch#29 HSCIN pl#1 [X1] id#12 sig#1 [ADC-] (29 X1N-12) + 30, 1, 14, 1 !ADC ROC#1 Sl#9 Ch#30 HSCIN pl#1 [X1] id#14 sig#1 [ADC-] (30 X1N-14) + 31, 1, 16, 1 !ADC ROC#1 Sl#9 Ch#31 HSCIN pl#1 [X1] id#16 sig#1 [ADC-] (31 X1N-16) +! + 32, 2, 1, 0 !ADC ROC#1 Sl#9 Ch#32 HSCIN pl#2 [Y1] id#1 sig#0 [ADC+] (32 Y1P-01) + 33, 2, 3, 0 !ADC ROC#1 Sl#9 Ch#33 HSCIN pl#2 [Y1] id#3 sig#0 [ADC+] (33 Y1P-03) + 34, 2, 5, 0 !ADC ROC#1 Sl#9 Ch#34 HSCIN pl#2 [Y1] id#5 sig#0 [ADC+] (34 Y1P-05) + 35, 2, 7, 0 !ADC ROC#1 Sl#9 Ch#35 HSCIN pl#2 [Y1] id#7 sig#0 [ADC+] (35 Y1P-07) + 36, 2, 9, 0 !ADC ROC#1 Sl#9 Ch#36 HSCIN pl#2 [Y1] id#9 sig#0 [ADC+] (36 Y1P-09) +! 37 !ADC ROC#1 Sl#9 Ch#37 unused +! 38 !ADC ROC#1 Sl#9 Ch#38 unused +! 39 !ADC ROC#1 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#1 Sl#9 Ch#40 HSCIN pl#2 [Y1] id#2 sig#0 [ADC+] (40 Y1P-02) + 41, 2, 4, 0 !ADC ROC#1 Sl#9 Ch#41 HSCIN pl#2 [Y1] id#4 sig#0 [ADC+] (41 Y1P-04) + 42, 2, 6, 0 !ADC ROC#1 Sl#9 Ch#42 HSCIN pl#2 [Y1] id#6 sig#0 [ADC+] (42 Y1P-06) + 43, 2, 8, 0 !ADC ROC#1 Sl#9 Ch#43 HSCIN pl#2 [Y1] id#8 sig#0 [ADC+] (43 Y1P-08) + 44, 2, 10, 0 !ADC ROC#1 Sl#9 Ch#44 HSCIN pl#2 [Y1] id#10 sig#0 [ADC+] (44 Y1P-10) +! 45 !ADC ROC#1 Sl#9 Ch#45 unused +! 46 !ADC ROC#1 Sl#9 Ch#46 unused +! 47 !ADC ROC#1 Sl#9 Ch#47 unused +! + 48, 2, 1, 1 !ADC ROC#1 Sl#9 Ch#48 HSCIN pl#2 [Y1] id#1 sig#1 [ADC-] (48 Y1N-01) + 49, 2, 3, 1 !ADC ROC#1 Sl#9 Ch#49 HSCIN pl#2 [Y1] id#3 sig#1 [ADC-] (49 Y1N-03) + 50, 2, 5, 1 !ADC ROC#1 Sl#9 Ch#50 HSCIN pl#2 [Y1] id#5 sig#1 [ADC-] (50 Y1N-05) + 51, 2, 7, 1 !ADC ROC#1 Sl#9 Ch#51 HSCIN pl#2 [Y1] id#7 sig#1 [ADC-] (51 Y1N-07) + 52, 2, 9, 1 !ADC ROC#1 Sl#9 Ch#52 HSCIN pl#2 [Y1] id#9 sig#1 [ADC-] (52 Y1N-09) +! 53 !ADC ROC#1 Sl#9 Ch#53 unused +! 54 !ADC ROC#1 Sl#9 Ch#54 unused +! 55 !ADC ROC#1 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#1 Sl#9 Ch#56 HSCIN pl#2 [Y1] id#2 sig#1 [ADC-] (56 Y1N-02) + 57, 2, 4, 1 !ADC ROC#1 Sl#9 Ch#57 HSCIN pl#2 [Y1] id#4 sig#1 [ADC-] (57 Y1N-04) + 58, 2, 6, 1 !ADC ROC#1 Sl#9 Ch#58 HSCIN pl#2 [Y1] id#6 sig#1 [ADC-] (58 Y1N-06) + 59, 2, 8, 1 !ADC ROC#1 Sl#9 Ch#59 HSCIN pl#2 [Y1] id#8 sig#1 [ADC-] (59 Y1N-08) + 60, 2, 10, 1 !ADC ROC#1 Sl#9 Ch#60 HSCIN pl#2 [Y1] id#10 sig#1 [ADC-] (60 Y1N-10) +! 61 !ADC ROC#1 Sl#9 Ch#62 unused +! 62 !ADC ROC#1 Sl#9 Ch#62 unused +! 63 !ADC ROC#1 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#1 Sl#7 Ch#0 HSCIN pl#3 [X2] id#1 sig#0 [ADC+] (0 X2P-01) + 1, 3, 3, 0 !ADC ROC#1 Sl#7 Ch#1 HSCIN pl#3 [X2] id#3 sig#0 [ADC+] (1 X2P-03) + 2, 3, 5, 0 !ADC ROC#1 Sl#7 Ch#2 HSCIN pl#3 [X2] id#5 sig#0 [ADC+] (2 X2P-05) + 3, 3, 7, 0 !ADC ROC#1 Sl#7 Ch#3 HSCIN pl#3 [X2] id#7 sig#0 [ADC+] (3 X2P-07) + 4, 3, 9, 0 !ADC ROC#1 Sl#7 Ch#4 HSCIN pl#3 [X2] id#9 sig#0 [ADC+] (4 X2P-09) + 5, 3, 11, 0 !ADC ROC#1 Sl#7 Ch#5 HSCIN pl#3 [X2] id#11 sig#0 [ADC+] (5 X2P-11) + 6, 3, 13, 0 !ADC ROC#1 Sl#7 Ch#6 HSCIN pl#3 [X2] id#13 sig#0 [ADC+] (6 X2P-13) + 7, 3, 15, 0 !ADC ROC#1 Sl#7 Ch#7 HSCIN pl#3 [X2] id#15 sig#0 [ADC+] (7 X2P-15) + 8, 3, 2, 0 !ADC ROC#1 Sl#7 Ch#8 HSCIN pl#3 [X2] id#2 sig#0 [ADC+] (8 X2P-02) + 9, 3, 4, 0 !ADC ROC#1 Sl#7 Ch#9 HSCIN pl#3 [X2] id#4 sig#0 [ADC+] (9 X2P-04) + 10, 3, 6, 0 !ADC ROC#1 Sl#7 Ch#10 HSCIN pl#3 [X2] id#6 sig#0 [ADC+] (10 X2P-06) + 11, 3, 8, 0 !ADC ROC#1 Sl#7 Ch#11 HSCIN pl#3 [X2] id#8 sig#0 [ADC+] (11 X2P-08) + 12, 3, 10, 0 !ADC ROC#1 Sl#7 Ch#12 HSCIN pl#3 [X2] id#10 sig#0 [ADC+] (12 X2P-10) + 13, 3, 12, 0 !ADC ROC#1 Sl#7 Ch#13 HSCIN pl#3 [X2] id#12 sig#0 [ADC+] (13 X2P-12) + 14, 3, 14, 0 !ADC ROC#1 Sl#7 Ch#14 HSCIN pl#3 [X2] id#14 sig#0 [ADC+] (14 X2P-14) + 15, 3, 16, 0 !ADC ROC#1 Sl#7 Ch#15 HSCIN pl#3 [X2] id#16 sig#0 [ADC+] (15 X2P-16) +! + 16, 3, 1, 1 !ADC ROC#1 Sl#7 Ch#16 HSCIN pl#3 [X2] id#1 sig#1 [ADC-] (16 X2N-01) + 17, 3, 3, 1 !ADC ROC#1 Sl#7 Ch#17 HSCIN pl#3 [X2] id#3 sig#1 [ADC-] (17 X2N-03) + 18, 3, 5, 1 !ADC ROC#1 Sl#7 Ch#18 HSCIN pl#3 [X2] id#5 sig#1 [ADC-] (18 X2N-05) + 19, 3, 7, 1 !ADC ROC#1 Sl#7 Ch#19 HSCIN pl#3 [X2] id#7 sig#1 [ADC-] (19 X2N-07) + 20, 3, 9, 1 !ADC ROC#1 Sl#7 Ch#20 HSCIN pl#3 [X2] id#9 sig#1 [ADC-] (20 X2N-09) + 21, 3, 11, 1 !ADC ROC#1 Sl#7 Ch#21 HSCIN pl#3 [X2] id#11 sig#1 [ADC-] (21 X2N-11) + 22, 3, 13, 1 !ADC ROC#1 Sl#7 Ch#22 HSCIN pl#3 [X2] id#13 sig#1 [ADC-] (22 X2N-13) + 23, 3, 15, 1 !ADC ROC#1 Sl#7 Ch#23 HSCIN pl#3 [X2] id#15 sig#1 [ADC-] (23 X2N-15) +! + 24, 3, 2, 1 !ADC ROC#1 Sl#7 Ch#24 HSCIN pl#3 [X2] id#2 sig#1 [ADC-] (24 X2N-02) + 25, 3, 4, 1 !ADC ROC#1 Sl#7 Ch#25 HSCIN pl#3 [X2] id#4 sig#1 [ADC-] (25 X2N-04) + 26, 3, 6, 1 !ADC ROC#1 Sl#7 Ch#26 HSCIN pl#3 [X2] id#6 sig#1 [ADC-] (26 X2N-06) + 27, 3, 8, 1 !ADC ROC#1 Sl#7 Ch#27 HSCIN pl#3 [X2] id#8 sig#1 [ADC-] (27 X2N-08) + 28, 3, 10, 1 !ADC ROC#1 Sl#7 Ch#28 HSCIN pl#3 [X2] id#10 sig#1 [ADC-] (28 X2N-10) + 29, 3, 12, 1 !ADC ROC#1 Sl#7 Ch#29 HSCIN pl#3 [X2] id#12 sig#1 [ADC-] (29 X2N-12) + 30, 3, 14, 1 !ADC ROC#1 Sl#7 Ch#30 HSCIN pl#3 [X2] id#14 sig#1 [ADC-] (30 X2N-14) + 31, 3, 16, 1 !ADC ROC#1 Sl#7 Ch#31 HSCIN pl#3 [X2] id#16 sig#1 [ADC-] (31 X2N-16) + 32, 4, 1, 0 !ADC ROC#1 Sl#7 Ch#32 HSCIN pl#4 [Y2] id#1 sig#0 [ADC+] (32 Y2P-01) + 33, 4, 3, 0 !ADC ROC#1 Sl#7 Ch#33 HSCIN pl#4 [Y2] id#3 sig#0 [ADC+] (33 Y2P-03) + 34, 4, 5, 0 !ADC ROC#1 Sl#7 Ch#34 HSCIN pl#4 [Y2] id#5 sig#0 [ADC+] (34 Y2P-05) + 35, 4, 7, 0 !ADC ROC#1 Sl#7 Ch#35 HSCIN pl#4 [Y2] id#7 sig#0 [ADC+] (35 Y2P-07) + 36, 4, 9, 0 !ADC ROC#1 Sl#7 Ch#36 HSCIN pl#4 [Y2] id#9 sig#0 [ADC+] (36 Y2P-09) +! 37 !ADC ROC#1 Sl#7 Ch#37 unused +! 38 !ADC ROC#1 Sl#7 Ch#38 unused +! 39 !ADC ROC#1 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#1 Sl#7 Ch#40 HSCIN pl#4 [Y2] id#2 sig#0 [ADC+] (40 Y2P-02) + 41, 4, 4, 0 !ADC ROC#1 Sl#7 Ch#41 HSCIN pl#4 [Y2] id#4 sig#0 [ADC+] (41 Y2P-04) + 42, 4, 6, 0 !ADC ROC#1 Sl#7 Ch#42 HSCIN pl#4 [Y2] id#6 sig#0 [ADC+] (42 Y2P-06) + 43, 4, 8, 0 !ADC ROC#1 Sl#7 Ch#43 HSCIN pl#4 [Y2] id#8 sig#0 [ADC+] (43 Y2P-08) + 44, 4, 10, 0 !ADC ROC#1 Sl#7 Ch#44 HSCIN pl#4 [Y2] id#10 sig#0 [ADC+] (44 Y2P-10) +! 45 !ADC ROC#1 Sl#7 Ch#45 unused +! 46 !ADC ROC#1 Sl#7 Ch#46 unused +! 47 !ADC ROC#1 Sl#7 Ch#47 unused + 48, 4, 1, 1 !ADC ROC#1 Sl#7 Ch#48 HSCIN pl#4 [Y2] id#1 sig#1 [ADC-] (48 Y2N-01) + 49, 4, 3, 1 !ADC ROC#1 Sl#7 Ch#49 HSCIN pl#4 [Y2] id#3 sig#1 [ADC-] (49 Y2N-03) + 50, 4, 5, 1 !ADC ROC#1 Sl#7 Ch#50 HSCIN pl#4 [Y2] id#5 sig#1 [ADC-] (50 Y2N-05) + 51, 4, 7, 1 !ADC ROC#1 Sl#7 Ch#51 HSCIN pl#4 [Y2] id#7 sig#1 [ADC-] (51 Y2N-07) + 52, 4, 9, 1 !ADC ROC#1 Sl#7 Ch#52 HSCIN pl#4 [Y2] id#9 sig#1 [ADC-] (52 Y2N-09) +! 53 !ADC ROC#1 Sl#7 Ch#53 unused +! 54 !ADC ROC#1 Sl#7 Ch#54 unused +! 55 !ADC ROC#1 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#1 Sl#7 Ch#56 HSCIN pl#4 [Y2] id#2 sig#1 [ADC-] (56 Y2N-02) + 57, 4, 4, 1 !ADC ROC#1 Sl#7 Ch#57 HSCIN pl#4 [Y2] id#4 sig#1 [ADC-] (57 Y2N-04) + 58, 4, 6, 1 !ADC ROC#1 Sl#7 Ch#58 HSCIN pl#4 [Y2] id#6 sig#1 [ADC-] (58 Y2N-06) + 59, 4, 8, 1 !ADC ROC#1 Sl#7 Ch#59 HSCIN pl#4 [Y2] id#8 sig#1 [ADC-] (59 Y2N-08) + 60, 4, 10, 1 !ADC ROC#1 Sl#7 Ch#60 HSCIN pl#4 [Y2] id#10 sig#1 [ADC-] (60 Y2N-10) +! 61 !ADC ROC#1 Sl#7 Ch#61 unused +! 62 !ADC ROC#1 Sl#7 Ch#62 unused +! 63 !ADC ROC#1 Sl#7 Ch#63 unused +! +!--------------------------------------------------------------------------------- + detector= 4 !HCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#1 Sl#1 Ch#0 HCAL col#1 row#1 (0 A-01) + 1, 1, 2 !ADC ROC#1 Sl#1 Ch#1 HCAL col#1 row#2 (1 A-02) + 2, 1, 3 !ADC ROC#1 Sl#1 Ch#2 HCAL col#1 row#3 (2 A-03) + 3, 1, 4 !ADC ROC#1 Sl#1 Ch#3 HCAL col#1 row#4 (3 A-04) + 4, 1, 5 !ADC ROC#1 Sl#1 Ch#4 HCAL col#1 row#5 (4 A-05) + 5, 1, 6 !ADC ROC#1 Sl#1 Ch#5 HCAL col#1 row#6 (5 A-06) + 6, 1, 7 !ADC ROC#1 Sl#1 Ch#6 HCAL col#1 row#7 (6 A-07) + 7, 1, 8 !ADC ROC#1 Sl#1 Ch#7 HCAL col#1 row#8 (7 A-08) + 8, 1, 9 !ADC ROC#1 Sl#1 Ch#8 HCAL col#1 row#9 (8 A-09) + 9, 1, 10 !ADC ROC#1 Sl#1 Ch#9 HCAL col#1 row#10 (9 A-10) + 10, 1, 11 !ADC ROC#1 Sl#1 Ch#10 HCAL col#1 row#11 (10 A-11) + 11, 1, 12 !ADC ROC#1 Sl#1 Ch#11 HCAL col#1 row#12 (11 A-12) + 12, 1, 13 !ADC ROC#1 Sl#1 Ch#12 HCAL col#1 row#13 (12 A-13) +! 13 !ADC ROC#1 Sl#1 Ch#13 unused +! 14 !ADC ROC#1 Sl#1 Ch#14 unused +! 15 !ADC ROC#1 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#1 Sl#1 Ch#16 HCAL col#2 row#1 (16 B-01) + 17, 2, 2 !ADC ROC#1 Sl#1 Ch#17 HCAL col#2 row#2 (17 B-02) + 18, 2, 3 !ADC ROC#1 Sl#1 Ch#18 HCAL col#2 row#3 (18 B-03) + 19, 2, 4 !ADC ROC#1 Sl#1 Ch#19 HCAL col#2 row#4 (19 B-04) + 20, 2, 5 !ADC ROC#1 Sl#1 Ch#20 HCAL col#2 row#5 (20 B-05) + 21, 2, 6 !ADC ROC#1 Sl#1 Ch#21 HCAL col#2 row#6 (21 B-06) + 22, 2, 7 !ADC ROC#1 Sl#1 Ch#22 HCAL col#2 row#7 (22 B-07) + 23, 2, 8 !ADC ROC#1 Sl#1 Ch#23 HCAL col#2 row#8 (23 B-08) + 24, 2, 9 !ADC ROC#1 Sl#1 Ch#24 HCAL col#2 row#9 (24 B-09) + 25, 2, 10 !ADC ROC#1 Sl#1 Ch#25 HCAL col#2 row#10 (25 B-10) + 26, 2, 11 !ADC ROC#1 Sl#1 Ch#26 HCAL col#2 row#11 (26 B-11) + 27, 2, 12 !ADC ROC#1 Sl#1 Ch#27 HCAL col#2 row#12 (27 B-12) + 28, 2, 13 !ADC ROC#1 Sl#1 Ch#28 HCAL col#2 row#13 (28 B-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused + 32, 3, 1 !ADC ROC#1 Sl#1 Ch#32 HCAL col#3 row#1 (32 C-01) + 33, 3, 2 !ADC ROC#1 Sl#1 Ch#33 HCAL col#3 row#2 (33 C-02) + 34, 3, 3 !ADC ROC#1 Sl#1 Ch#34 HCAL col#3 row#3 (34 C-03) + 35, 3, 4 !ADC ROC#1 Sl#1 Ch#35 HCAL col#3 row#4 (35 C-04) + 36, 3, 5 !ADC ROC#1 Sl#1 Ch#36 HCAL col#3 row#5 (36 C-05) + 37, 3, 6 !ADC ROC#1 Sl#1 Ch#37 HCAL col#3 row#6 (37 C-06) + 38, 3, 7 !ADC ROC#1 Sl#1 Ch#38 HCAL col#3 row#7 (38 C-07) + 39, 3, 8 !ADC ROC#1 Sl#1 Ch#39 HCAL col#3 row#8 (39 C-08) + 40, 3, 9 !ADC ROC#1 Sl#1 Ch#40 HCAL col#3 row#9 (40 C-09) + 41, 3, 10 !ADC ROC#1 Sl#1 Ch#41 HCAL col#3 row#10 (41 C-10) + 42, 3, 11 !ADC ROC#1 Sl#1 Ch#42 HCAL col#3 row#11 (42 C-11) + 43, 3, 12 !ADC ROC#1 Sl#1 Ch#43 HCAL col#3 row#12 (43 C-12) + 44, 3, 13 !ADC ROC#1 Sl#1 Ch#44 HCAL col#3 row#13 (44 C-13) +! 45 !ADC ROC#1 Sl#1 Ch#45 unused +! 46 !ADC ROC#1 Sl#1 Ch#46 unused +! 47 !ADC ROC#1 Sl#1 Ch#47 unused + 48, 4, 1 !ADC ROC#1 Sl#1 Ch#48 HCAL col#4 row#1 (48 D-01) + 49, 4, 2 !ADC ROC#1 Sl#1 Ch#49 HCAL col#4 row#2 (49 D-02) + 50, 4, 3 !ADC ROC#1 Sl#1 Ch#50 HCAL col#4 row#3 (50 D-03) + 51, 4, 4 !ADC ROC#1 Sl#1 Ch#51 HCAL col#4 row#4 (51 D-04) + 52, 4, 5 !ADC ROC#1 Sl#1 Ch#52 HCAL col#4 row#5 (52 D-05) + 53, 4, 6 !ADC ROC#1 Sl#1 Ch#53 HCAL col#4 row#6 (53 D-06) + 54, 4, 7 !ADC ROC#1 Sl#1 Ch#54 HCAL col#4 row#7 (54 D-07) + 55, 4, 8 !ADC ROC#1 Sl#1 Ch#55 HCAL col#4 row#8 (55 D-08) + 56, 4, 9 !ADC ROC#1 Sl#1 Ch#56 HCAL col#4 row#9 (56 D-09) + 57, 4, 10 !ADC ROC#1 Sl#1 Ch#57 HCAL col#4 row#10 (57 D-10) + 58, 4, 11 !ADC ROC#1 Sl#1 Ch#58 HCAL col#4 row#11 (58 D-11) + 59, 4, 12 !ADC ROC#1 Sl#1 Ch#59 HCAL col#4 row#12 (59 D-12) + 60, 4, 13 !ADC ROC#1 Sl#1 Ch#60 HCAL col#4 row#13 (60 D-13) +! +! 61 !ADC ROC#1 Sl#1 Ch#61 unused + + detector= 5 !HMISC - scintillator (ADCs) - behind calorimeter + 62, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). + 63, 2, 2, 0 ! +! +detector= 4 !HCAL +Slot= 5 ! ADC Second set of tubes on first two layers + 0, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#0 HCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#1 HCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#2 HCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#3 HCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#4 HCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#5 HCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#6 HCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#7 HCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#1 Sl#5 Ch#8 HCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#1 Sl#5 Ch#9 HCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#1 Sl#5 Ch#10 HCAL col#1 row#11 (10 An-11) + 11, 1, 12, 1 !ADC ROC#1 Sl#5 Ch#11 HCAL col#1 row#12 (11 An-112) + 12, 1, 13, 1 !ADC ROC#1 Sl#5 Ch#12 HCAL col#1 row#13 (12 An-13) +! 13 !ADC ROC#1 Sl#5 Ch#13 unused +! 14 !ADC ROC#1 Sl#5 Ch#14 unused +! 15 !ADC ROC#1 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#1 Sl#5 Ch#16 HCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#1 Sl#5 Ch#17 HCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#1 Sl#5 Ch#18 HCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#1 Sl#5 Ch#19 HCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#1 Sl#5 Ch#20 HCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#1 Sl#5 Ch#21 HCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#1 Sl#5 Ch#22 HCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#1 Sl#5 Ch#23 HCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#1 Sl#5 Ch#24 HCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#1 Sl#5 Ch#25 HCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#1 Sl#5 Ch#26 HCAL col#2 row#11 (26 Bn-11) + 27, 2, 12, 1 !ADC ROC#1 Sl#5 Ch#27 HCAL col#2 row#12 (27 Bn-12) + 28, 2, 13, 1 !ADC ROC#1 Sl#5 Ch#28 HCAL col#2 row#13 (28 Bn-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused +! +!================================================================== +!!!!!!!!!!!!!!!!!!!!!!! AEROGEL ADC !!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! + detector = 7 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! +!Slot= 5 ! ADC +! May be will use spare channels HCAL ADC for aerogel (Hamlet, 2002/10/16) +!48, 1, 1, 0 !ADC ROC#1 Sl#5 Ch#48 signal pos 1 +!49, 1, 2, 0 !ADC ROC#1 Sl#5 Ch#48signal pos 2 +!50, 1, 3, 0 !ADC ROC#1 Sl#5 Ch#50 signal pos 3 +!51, 1, 4, 0 !ADC ROC#1 Sl#5 Ch#51 signal pos 4 +!52, 1, 5, 0 !ADC ROC#1 Sl#5 Ch#52 signal pos 5 +!53, 1, 6, 0 !ADC ROC#1 Sl#5 Ch#53 signal pos 6 +!54, 1, 7, 0 !ADC ROC#1 Sl#5 Ch#54 signal pos 7 +!55, 1, 8, 0 !ADC ROC#1 Sl#5 Ch#55 signal pos 8 +!56, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#56 signal neg 1 +!57, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#57 signal neg 2 +!58, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#58 signal neg 3 +!59, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#59 signal neg 4 +!60, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#60 signal neg 5 +!61, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#61 signal neg 6 +!62, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#62 signal neg 7 +!63, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#63 signal neg 8 +! +! detector = 7 +! Nsubadd= 64 +! MASK= 3FFFx +! BSUB= 17 + + Slot= 11 ! ADC +! Additional new ADC for aerogel (Hamlet, 2002/10/17) + 0, 1, 1, 0 !ADC ROC#1 Sl#11 Ch#0 signal pos 1 + 1, 1, 2, 0 !ADC ROC#1 Sl#11 Ch#1 signal pos 2 + 2, 1, 3, 0 !ADC ROC#1 Sl#11 Ch#2 signal pos 3 + 3, 1, 4, 0 !ADC ROC#1 Sl#11 Ch#3 signal pos 4 + 4, 1, 5, 0 !ADC ROC#1 Sl#11 Ch#4 signal pos 5 + 5, 1, 6, 0 !ADC ROC#1 Sl#11 Ch#5 signal pos 6 + 6, 1, 7, 0 !ADC ROC#1 Sl#11 Ch#6 signal pos 7 + 7, 1, 8, 0 !ADC ROC#1 Sl#11 Ch#7 signal pos 8 + 8, 1, 1, 1 !ADC ROC#1 Sl#11 Ch#8 signal neg 1 + 9, 1, 2, 1 !ADC ROC#1 Sl#11 Ch#9 signal neg 2 + 10, 1, 3, 1 !ADC ROC#1 Sl#11 Ch#10 signal neg 3 + 11, 1, 4, 1 !ADC ROC#1 Sl#11 Ch#11 signal neg 4 + 12, 1, 5, 1 !ADC ROC#1 Sl#11 Ch#12 signal neg 5 + 13, 1, 6, 1 !ADC ROC#1 Sl#11 Ch#13 signal neg 6 + 14, 1, 7, 1 !ADC ROC#1 Sl#11 Ch#14 signal neg 7 + 15, 1, 8, 1 !ADC ROC#1 Sl#11 Ch#15 signal neg 8 +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!----------------------------------------------------------------- + detector= 3 !HCER +! + Slot= 3 + 0, 1, 1 !ADC ROC#1 Sl#3 Ch#0 HCER tube#1 (C1) + 1, 1, 2 !ADC ROC#1 Sl#3 Ch#1 HCER tube#2 (C2) +! 2 !ADC ROC#1 Sl#3 Ch#2 unused +! 3 !ADC ROC#1 Sl#3 Ch#3 unused +! 4 !ADC ROC#1 Sl#3 Ch#4 unused +! 5 !ADC ROC#1 Sl#3 Ch#5 unused +! 6 !ADC ROC#1 Sl#3 Ch#6 unused +! 7 !ADC ROC#1 Sl#3 Ch#7 unused +! 8 !ADC ROC#1 Sl#3 Ch#8 unused +! 9 !ADC ROC#1 Sl#3 Ch#9 unused +! 10 !ADC ROC#1 Sl#3 Ch#10 unused +! 11 !ADC ROC#1 Sl#3 Ch#11 unused +! 12 !ADC ROC#1 Sl#3 Ch#12 unused +! 13 !ADC ROC#1 Sl#3 Ch#13 unused +! 14 !ADC ROC#1 Sl#3 Ch#14 unused +! 15 !ADC ROC#1 Sl#3 Ch#15 unused +! 16 !ADC ROC#1 Sl#3 Ch#16 unused +! 17 !ADC ROC#1 Sl#3 Ch#17 unused +! 18 !ADC ROC#1 Sl#3 Ch#18 unused +! 19 !ADC ROC#1 Sl#3 Ch#19 unused +! 20 !ADC ROC#1 Sl#3 Ch#20 unused +! 21 !ADC ROC#1 Sl#3 Ch#21 unused +! 22 !ADC ROC#1 Sl#3 Ch#22 unused +! 23 !ADC ROC#1 Sl#3 Ch#23 unused +! 24 !ADC ROC#1 Sl#3 Ch#24 unused +! 25 !ADC ROC#1 Sl#3 Ch#25 unused +! 26 !ADC ROC#1 Sl#3 Ch#26 unused +! 27 !ADC ROC#1 Sl#3 Ch#27 unused +! 28 !ADC ROC#1 Sl#3 Ch#28 unused +! 29 !ADC ROC#1 Sl#3 Ch#29 unused +! 30 !ADC ROC#1 Sl#3 Ch#30 unused +! 31 !ADC ROC#1 Sl#3 Ch#31 unused +! 32 !ADC ROC#1 Sl#3 Ch#32 unused +! 33 !ADC ROC#1 Sl#3 Ch#33 unused +! 34 !ADC ROC#1 Sl#3 Ch#34 unused +! 35 !ADC ROC#1 Sl#3 Ch#35 unused +! 36 !ADC ROC#1 Sl#3 Ch#36 unused +! 37 !ADC ROC#1 Sl#3 Ch#37 unused +! 38 !ADC ROC#1 Sl#3 Ch#38 unused +! 39 !ADC ROC#1 Sl#3 Ch#39 unused +! 40 !ADC ROC#1 Sl#3 Ch#40 unused +! 41 !ADC ROC#1 Sl#3 Ch#41 unused +! 42 !ADC ROC#1 Sl#3 Ch#42 unused +! 43 !ADC ROC#1 Sl#3 Ch#43 unused +! 44 !ADC ROC#1 Sl#3 Ch#44 unused +! 45 !ADC ROC#1 Sl#3 Ch#45 unused +! 46 !ADC ROC#1 Sl#3 Ch#46 unused +! 47 !ADC ROC#1 Sl#3 Ch#47 unused +!detector= 6 ! GMISC +!!! Use "plane" 2 for the PMT's on the floor (BLM's) +!48, 2, 1, 0 ! Special PMT signal ch #1 +!49, 2, 2, 0 ! Special PMT signal ch #1 +!50, 2, 3, 0 ! Special PMT signal ch #1 +!51, 2, 4, 0 ! Special PMT signal ch #1 +!52, 2, 5, 0 ! Special PMT signal ch #1 +!53, 2, 6, 0 ! Special PMT signal ch #1 +!54, 2, 7, 0 ! Special PMT signal ch #1 +!55, 2, 8, 0 ! Special PMT signal ch #1 +! 48 !ADC ROC#1 Sl#3 Ch#48 unused +! 49 !ADC ROC#1 Sl#3 Ch#49 unused +! 50 !ADC ROC#1 Sl#3 Ch#50 unused +! 51 !ADC ROC#1 Sl#3 Ch#51 unused +! 52 !ADC ROC#1 Sl#3 Ch#52 unused +! 53 !ADC ROC#1 Sl#3 Ch#53 unused +! 54 !ADC ROC#1 Sl#3 Ch#54 unused +! 55 !ADC ROC#1 Sl#3 Ch#55 unused +! 56 !ADC ROC#1 Sl#3 Ch#56 unused +! 57 !ADC ROC#1 Sl#3 Ch#57 unused +! 58 !ADC ROC#1 Sl#3 Ch#58 unused +! 59 !ADC ROC#1 Sl#3 Ch#59 unused +! 60 !ADC ROC#1 Sl#3 Ch#60 unused +! 61 !ADC ROC#1 Sl#3 Ch#61 unused +! 62 !ADC ROC#1 Sl#3 Ch#62 unused +! 63 !ADC ROC#1 Sl#3 Ch#63 unused +! +! + detector= 6 ! GMISC +! + Slot= 13 +! +! 0, 2, 1, 0 !ADC ROC#1 Sl#15 Ch#0 +! 1, 2, 2, 0 !ADC ROC#1 Sl#15 Ch#1 +! 2, 2, 3, 0 !ADC ROC#1 Sl#15 Ch#2 +! 3, 2, 4, 0 !ADC ROC#1 Sl#15 Ch#3 + 4, 2, 5, 0 !ADC ROC#1 Sl#15 Ch#4 H00A X+ + 5, 2, 6, 0 !ADC ROC#1 Sl#15 Ch#5 H00A X- + 6, 2, 7, 0 !ADC ROC#1 Sl#15 Ch#6 H00A Y+ + 7, 2, 8, 0 !ADC ROC#1 Sl#15 Ch#7 H00A Y- + 8, 2, 9, 0 !ADC ROC#1 Sl#15 Ch#8 H00B X+ + 9, 2, 10, 0 !ADC ROC#1 Sl#15 Ch#9 H00B X- + 10, 2, 11, 0 !ADC ROC#1 Sl#15 Ch#10 H00B Y+ + 11, 2, 12, 0 !ADC ROC#1 Sl#15 Ch#11 H00B Y- +! 12, 2, 13, 0 !ADC ROC#1 Sl#15 Ch#12 Fast Raster X-sync +! 13, 2, 14, 0 !ADC ROC#1 Sl#15 Ch#13 Fast Raster X-signal +! 14, 2, 15, 0 !ADC ROC#1 Sl#15 Ch#14 Fast Raster Y-sync +! 15, 2, 16, 0 !ADC ROC#1 Sl#15 Ch#15 Fast Raster Y-signal +! bpw added the new ID for raster 01-23-2014 +! + detector= 18 ! RASTER +! +! buddhini-w :To make things easier and consistent between detectors, we now use the plane and signal to identify the different raster signals 02-12-2014 +!.............................................................................. +! For raster : 0-->ADC X-sync +! 1-->ADC Y-signal +! 2-->ADC Y-sync +! 3-->ADC Y-signal + + 14, 1, 1, 0 !ADC ROC#1 Sl#13 Ch#12 Fast Raster X-sync + 15, 1, 1, 1 !ADC ROC#1 Sl#13 Ch#13 Fast Raster X-signal + 12, 1, 1, 2 !ADC ROC#1 Sl#13 Ch#14 Fast Raster Y-sync + 13, 1, 1, 3 !ADC ROC#1 Sl#13 Ch#15 Fast Raster Y-signal +! + detector= 6 ! GMISC +! 16, 2, 17, 0 !ADC ROC#1 Sl#15 Ch#16 H00C X+ + 17, 2, 18, 0 !ADC ROC#1 Sl#15 Ch#17 H00C X- + 18, 2, 19, 0 !ADC ROC#1 Sl#15 Ch#18 H00C Y+ + 19, 2, 20, 0 !ADC ROC#1 Sl#15 Ch#19 H00C Y- +! 20 !ADC ROC#1 Sl#15 Ch#20 unused +! 21 !ADC ROC#1 Sl#15 Ch#21 unused + 22, 2, 23, 0 !ADC ROC#1 Sl#15 Ch#22 Raster gate +! 23 !ADC ROC#1 Sl#15 Ch#23 unused +! 24 !ADC ROC#1 Sl#15 Ch#24 unused +! 25 !ADC ROC#1 Sl#15 Ch#25 unused +! 26 !ADC ROC#1 Sl#15 Ch#26 unused +! 27 !ADC ROC#1 Sl#15 Ch#27 unused +! 28 !ADC ROC#1 Sl#15 Ch#28 unused +! 29 !ADC ROC#1 Sl#15 Ch#29 unused +! 30 !ADC ROC#1 Sl#15 Ch#30 unused +! 31 !ADC ROC#1 Sl#15 Ch#31 unused + 32, 2, 32, 0 ! Paul Gueye + 33, 2, 33, 0 ! Paul Gueye + 34, 2, 34, 0 ! Paul Gueye + 35, 2, 35, 0 ! Paul Gueye + 36, 2, 36, 0 ! Paul Gueye + 37, 2, 37, 0 ! Paul Gueye + 38, 2, 38, 0 ! Paul Gueye + 39, 2, 39, 0 ! Paul Gueye + 40, 2, 40, 0 ! Paul Gueye + 41, 2, 41, 0 ! Paul Gueye + 42, 2, 42, 0 ! Paul Gueye + 43, 2, 43, 0 ! Paul Gueye + 44, 2, 44, 0 ! Paul Gueye + 45, 2, 45, 0 ! Paul Gueye + 46, 2, 46, 0 ! Paul Gueye + 47, 2, 47, 0 ! Paul Gueye +! 32 !ADC ROC#1 Sl#15 Ch#32 unused +! 33 !ADC ROC#1 Sl#15 Ch#33 unused +! 34 !ADC ROC#1 Sl#15 Ch#34 unused +! 35 !ADC ROC#1 Sl#15 Ch#35 unused +! 36 !ADC ROC#1 Sl#15 Ch#36 unused +! 37 !ADC ROC#1 Sl#15 Ch#37 unused +! 38 !ADC ROC#1 Sl#15 Ch#38 unused +! 39 !ADC ROC#1 Sl#15 Ch#39 unused +! 40 !ADC ROC#1 Sl#15 Ch#40 unused +! 41 !ADC ROC#1 Sl#15 Ch#41 unused +! 42 !ADC ROC#1 Sl#15 Ch#42 unused +! 43 !ADC ROC#1 Sl#15 Ch#43 unused +! 44 !ADC ROC#1 Sl#15 Ch#44 unused +! 45 !ADC ROC#1 Sl#15 Ch#45 unused +! 46 !ADC ROC#1 Sl#15 Ch#46 unused +! 47 !ADC ROC#1 Sl#15 Ch#47 unused +! 48 !ADC ROC#1 Sl#15 Ch#48 unused +! 49 !ADC ROC#1 Sl#15 Ch#49 unused +! 50 !ADC ROC#1 Sl#15 Ch#50 unused +! 51 !ADC ROC#1 Sl#15 Ch#51 unused +! 52 !ADC ROC#1 Sl#15 Ch#52 unused +! 53 !ADC ROC#1 Sl#15 Ch#53 unused +! 54 !ADC ROC#1 Sl#15 Ch#54 unused +! 55 !ADC ROC#1 Sl#15 Ch#55 unused +! 56 !ADC ROC#1 Sl#15 Ch#56 unused +! 57 !ADC ROC#1 Sl#15 Ch#57 unused +! 58 !ADC ROC#1 Sl#15 Ch#58 unused +! 59 !ADC ROC#1 Sl#15 Ch#59 unused +! 60 !ADC ROC#1 Sl#15 Ch#60 unused +! 61 !ADC ROC#1 Sl#15 Ch#61 unused +! 62 !ADC ROC#1 Sl#15 Ch#62 unused +! 63 !ADC ROC#1 Sl#15 Ch#63 unused +! +!--------------------------------------------------------------------- +!=============================== SOS MAP ============================= +!............ This part copy from replay99 (Hamlet,19 Dec'02)............ +! +! REAL map for SOS Drift Chambers (SDC); J.R.Arrington 20-Mar-1995 +! + ROC= 4 !ReadOutController (crate) for SOS (fbsos) +! + Nsubadd= 96 !assume 96 channel modules + MASK= FFFFx !hex mask - assume LeCroy masking (lowest 13 bits) + BSUB= 17 !begin channel info with bit#17 +! + detector= 11 !SDC +! + slot= 1 !SDC TDC +! +! SDC plane (1) + 0, 1, 1 !chamber 1, U plane, 48 wires. + 1, 1, 2 + 2, 1, 3 + 3, 1, 4 + 4, 1, 5 + 5, 1, 6 + 6, 1, 7 + 7, 1, 8 + 8, 1, 9 + 9, 1, 10 + 10, 1, 11 + 11, 1, 12 + 12, 1, 13 + 13, 1, 14 + 14, 1, 15 + 15, 1, 16 + 16, 1, 17 + 17, 1, 18 + 18, 1, 19 + 19, 1, 20 + 20, 1, 21 + 21, 1, 22 + 22, 1, 23 + 23, 1, 24 + 24, 1, 25 + 25, 1, 26 + 26, 1, 27 + 27, 1, 28 + 28, 1, 29 + 29, 1, 30 + 30, 1, 31 + 31, 1, 32 + 32, 1, 33 + 33, 1, 34 + 34, 1, 35 + 35, 1, 36 + 36, 1, 37 + 37, 1, 38 + 38, 1, 39 + 39, 1, 40 + 40, 1, 41 + 41, 1, 42 + 42, 1, 43 + 43, 1, 44 + 44, 1, 45 + 45, 1, 46 + 46, 1, 47 + 47, 1, 48 + 48, 2, 1 !chamber 1, U' plane, 48 wires. + 49, 2, 2 + 50, 2, 3 + 51, 2, 4 + 52, 2, 5 + 53, 2, 6 + 54, 2, 7 + 55, 2, 8 + 56, 2, 9 + 57, 2, 10 + 58, 2, 11 + 59, 2, 12 + 60, 2, 13 + 61, 2, 14 + 62, 2, 15 + 63, 2, 16 + 64, 2, 17 + 65, 2, 18 + 66, 2, 19 + 67, 2, 20 + 68, 2, 21 + 69, 2, 22 + 70, 2, 23 + 71, 2, 24 + 72, 2, 25 + 73, 2, 26 + 74, 2, 27 + 75, 2, 28 + 76, 2, 29 + 77, 2, 30 + 78, 2, 31 + 79, 2, 32 + 80, 2, 33 + 81, 2, 34 + 82, 2, 35 + 83, 2, 36 + 84, 2, 37 + 85, 2, 38 + 86, 2, 39 + 87, 2, 40 + 88, 2, 41 + 89, 2, 42 + 90, 2, 43 + 91, 2, 44 + 92, 2, 45 + 93, 2, 46 + 94, 2, 47 + 95, 2, 48 +! + slot= 2 !SDC TDC +! +! SDC plane (2) + 0, 5, 1 !chamber 1, V plane, 48 wires. + 1, 5, 2 + 2, 5, 3 + 3, 5, 4 + 4, 5, 5 + 5, 5, 6 + 6, 5, 7 + 7, 5, 8 + 8, 5, 9 + 9, 5, 10 + 10, 5, 11 + 11, 5, 12 + 12, 5, 13 + 13, 5, 14 + 14, 5, 15 + 15, 5, 16 + 16, 5, 17 + 17, 5, 18 + 18, 5, 19 + 19, 5, 20 + 20, 5, 21 + 21, 5, 22 + 22, 5, 23 + 23, 5, 24 + 24, 5, 25 + 25, 5, 26 + 26, 5, 27 + 27, 5, 28 + 28, 5, 29 + 29, 5, 30 + 30, 5, 31 + 31, 5, 32 + 32, 5, 33 + 33, 5, 34 + 34, 5, 35 + 35, 5, 36 + 36, 5, 37 + 37, 5, 38 + 38, 5, 39 + 39, 5, 40 + 40, 5, 41 + 41, 5, 42 + 42, 5, 43 + 43, 5, 44 + 44, 5, 45 + 45, 5, 46 + 46, 5, 47 + 47, 5, 48 + 48, 6, 1 !chamber 1, V' plane, 48 wires. + 49, 6, 2 + 50, 6, 3 + 51, 6, 4 + 52, 6, 5 + 53, 6, 6 + 54, 6, 7 + 55, 6, 8 + 56, 6, 9 + 57, 6, 10 + 58, 6, 11 + 59, 6, 12 + 60, 6, 13 + 61, 6, 14 + 62, 6, 15 + 63, 6, 16 + 64, 6, 17 + 65, 6, 18 + 66, 6, 19 + 67, 6, 20 + 68, 6, 21 + 69, 6, 22 + 70, 6, 23 + 71, 6, 24 + 72, 6, 25 + 73, 6, 26 + 74, 6, 27 + 75, 6, 28 + 76, 6, 29 + 77, 6, 30 + 78, 6, 31 + 79, 6, 32 + 80, 6, 33 + 81, 6, 34 + 82, 6, 35 + 83, 6, 36 + 84, 6, 37 + 85, 6, 38 + 86, 6, 39 + 87, 6, 40 + 88, 6, 41 + 89, 6, 42 + 90, 6, 43 + 91, 6, 44 + 92, 6, 45 + 93, 6, 46 + 94, 6, 47 + 95, 6, 48 +! + slot= 4 !SDC TDC +! +! SDC plane (3) + 0, 3, 1 !chamber 1, X plane, 64 wires. + 1, 3, 2 + 2, 3, 3 + 3, 3, 4 + 4, 3, 5 + 5, 3, 6 + 6, 3, 7 + 7, 3, 8 + 8, 3, 9 + 9, 3, 10 + 10, 3, 11 + 11, 3, 12 + 12, 3, 13 + 13, 3, 14 + 14, 3, 15 + 15, 3, 16 + 16, 3, 17 + 17, 3, 18 + 18, 3, 19 + 19, 3, 20 + 20, 3, 21 + 21, 3, 22 + 22, 3, 23 + 23, 3, 24 + 24, 3, 25 + 25, 3, 26 + 26, 3, 27 + 27, 3, 28 + 28, 3, 29 + 29, 3, 30 + 30, 3, 31 + 31, 3, 32 + 32, 3, 33 + 33, 3, 34 + 34, 3, 35 + 35, 3, 36 + 36, 3, 37 + 37, 3, 38 + 38, 3, 39 + 39, 3, 40 + 40, 3, 41 + 41, 3, 42 + 42, 3, 43 + 43, 3, 44 + 44, 3, 45 + 45, 3, 46 + 46, 3, 47 + 47, 3, 48 + 48, 3, 49 + 49, 3, 50 + 50, 3, 51 + 51, 3, 52 + 52, 3, 53 + 53, 3, 54 + 54, 3, 55 + 55, 3, 56 + 56, 3, 57 + 57, 3, 58 + 58, 3, 59 + 59, 3, 60 + 60, 3, 61 + 61, 3, 62 + 62, 3, 63 + 63, 3, 64 +! + slot= 5 !SDC TDC +! +! SDC plane (4) + 0, 4, 1 !chamber 1, X' plane, 64 wires. + 1, 4, 2 + 2, 4, 3 + 3, 4, 4 + 4, 4, 5 + 5, 4, 6 + 6, 4, 7 + 7, 4, 8 + 8, 4, 9 + 9, 4, 10 + 10, 4, 11 + 11, 4, 12 + 12, 4, 13 + 13, 4, 14 + 14, 4, 15 + 15, 4, 16 + 16, 4, 17 + 17, 4, 18 + 18, 4, 19 + 19, 4, 20 + 20, 4, 21 + 21, 4, 22 + 22, 4, 23 + 23, 4, 24 + 24, 4, 25 + 25, 4, 26 + 26, 4, 27 + 27, 4, 28 + 28, 4, 29 + 29, 4, 30 + 30, 4, 31 + 31, 4, 32 + 32, 4, 33 + 33, 4, 34 + 34, 4, 35 + 35, 4, 36 + 36, 4, 37 + 37, 4, 38 + 38, 4, 39 + 39, 4, 40 + 40, 4, 41 + 41, 4, 42 + 42, 4, 43 + 43, 4, 44 + 44, 4, 45 + 45, 4, 46 + 46, 4, 47 + 47, 4, 48 + 48, 4, 49 + 49, 4, 50 + 50, 4, 51 + 51, 4, 52 + 52, 4, 53 + 53, 4, 54 + 54, 4, 55 + 55, 4, 56 + 56, 4, 57 + 57, 4, 58 + 58, 4, 59 + 59, 4, 60 + 60, 4, 61 + 61, 4, 62 + 62, 4, 63 + 63, 4, 64 +! + slot= 8 !SDC TDC +! +! SDC plane (1) + 0, 7, 1 !chamber 2, U plane, 48 wires. + 1, 7, 2 + 2, 7, 3 + 3, 7, 4 + 4, 7, 5 + 5, 7, 6 + 6, 7, 7 + 7, 7, 8 + 8, 7, 9 + 9, 7, 10 + 10, 7, 11 + 11, 7, 12 + 12, 7, 13 + 13, 7, 14 + 14, 7, 15 + 15, 7, 16 + 16, 7, 17 + 17, 7, 18 + 18, 7, 19 + 19, 7, 20 + 20, 7, 21 + 21, 7, 22 + 22, 7, 23 + 23, 7, 24 + 24, 7, 25 + 25, 7, 26 + 26, 7, 27 + 27, 7, 28 + 28, 7, 29 + 29, 7, 30 + 30, 7, 31 + 31, 7, 32 + 32, 7, 33 + 33, 7, 34 + 34, 7, 35 + 35, 7, 36 + 36, 7, 37 + 37, 7, 38 + 38, 7, 39 + 39, 7, 40 + 40, 7, 41 + 41, 7, 42 + 42, 7, 43 + 43, 7, 44 + 44, 7, 45 + 45, 7, 46 + 46, 7, 47 + 47, 7, 48 + 48, 8, 1 !chamber 2, U' plane, 48 wires. + 49, 8, 2 + 50, 8, 3 + 51, 8, 4 + 52, 8, 5 + 53, 8, 6 + 54, 8, 7 + 55, 8, 8 + 56, 8, 9 + 57, 8, 10 + 58, 8, 11 + 59, 8, 12 + 60, 8, 13 + 61, 8, 14 + 62, 8, 15 + 63, 8, 16 + 64, 8, 17 + 65, 8, 18 + 66, 8, 19 + 67, 8, 20 + 68, 8, 21 + 69, 8, 22 + 70, 8, 23 + 71, 8, 24 + 72, 8, 25 + 73, 8, 26 + 74, 8, 27 + 75, 8, 28 + 76, 8, 29 + 77, 8, 30 + 78, 8, 31 + 79, 8, 32 + 80, 8, 33 + 81, 8, 34 + 82, 8, 35 + 83, 8, 36 + 84, 8, 37 + 85, 8, 38 + 86, 8, 39 + 87, 8, 40 + 88, 8, 41 + 89, 8, 42 + 90, 8, 43 + 91, 8, 44 + 92, 8, 45 + 93, 8, 46 + 94, 8, 47 + 95, 8, 48 +! + slot= 9 !SDC TDC +! +! SDC plane (2) + 0, 11, 1 !chamber 2, V plane, 48 wires. + 1, 11, 2 + 2, 11, 3 + 3, 11, 4 + 4, 11, 5 + 5, 11, 6 + 6, 11, 7 + 7, 11, 8 + 8, 11, 9 + 9, 11, 10 + 10, 11, 11 + 11, 11, 12 + 12, 11, 13 + 13, 11, 14 + 14, 11, 15 + 15, 11, 16 + 16, 11, 17 + 17, 11, 18 + 18, 11, 19 + 19, 11, 20 + 20, 11, 21 + 21, 11, 22 + 22, 11, 23 + 23, 11, 24 + 24, 11, 25 + 25, 11, 26 + 26, 11, 27 + 27, 11, 28 + 28, 11, 29 + 29, 11, 30 + 30, 11, 31 + 31, 11, 32 + 32, 11, 33 + 33, 11, 34 + 34, 11, 35 + 35, 11, 36 + 36, 11, 37 + 37, 11, 38 + 38, 11, 39 + 39, 11, 40 + 40, 11, 41 + 41, 11, 42 + 42, 11, 43 + 43, 11, 44 + 44, 11, 45 + 45, 11, 46 + 46, 11, 47 + 47, 11, 48 + 48, 12, 1 !chamber 2, V' plane, 48 wires. + 49, 12, 2 + 50, 12, 3 + 51, 12, 4 + 52, 12, 5 + 53, 12, 6 + 54, 12, 7 + 55, 12, 8 + 56, 12, 9 + 57, 12, 10 + 58, 12, 11 + 59, 12, 12 + 60, 12, 13 + 61, 12, 14 + 62, 12, 15 + 63, 12, 16 + 64, 12, 17 + 65, 12, 18 + 66, 12, 19 + 67, 12, 20 + 68, 12, 21 + 69, 12, 22 + 70, 12, 23 + 71, 12, 24 + 72, 12, 25 + 73, 12, 26 + 74, 12, 27 + 75, 12, 28 + 76, 12, 29 + 77, 12, 30 + 78, 12, 31 + 79, 12, 32 + 80, 12, 33 + 81, 12, 34 + 82, 12, 35 + 83, 12, 36 + 84, 12, 37 + 85, 12, 38 + 86, 12, 39 + 87, 12, 40 + 88, 12, 41 + 89, 12, 42 + 90, 12, 43 + 91, 12, 44 + 92, 12, 45 + 93, 12, 46 + 94, 12, 47 + 95, 12, 48 +! + slot= 11 !SDC TDC +! +! SDC plane (3) + 0, 9, 1 !chamber 2, X plane, 64 wires. + 1, 9, 2 + 2, 9, 3 + 3, 9, 4 + 4, 9, 5 + 5, 9, 6 + 6, 9, 7 + 7, 9, 8 + 8, 9, 9 + 9, 9, 10 + 10, 9, 11 + 11, 9, 12 + 12, 9, 13 + 13, 9, 14 + 14, 9, 15 + 15, 9, 16 + 16, 9, 17 + 17, 9, 18 + 18, 9, 19 + 19, 9, 20 + 20, 9, 21 + 21, 9, 22 + 22, 9, 23 + 23, 9, 24 + 24, 9, 25 + 25, 9, 26 + 26, 9, 27 + 27, 9, 28 + 28, 9, 29 + 29, 9, 30 + 30, 9, 31 + 31, 9, 32 + 32, 9, 33 + 33, 9, 34 + 34, 9, 35 + 35, 9, 36 + 36, 9, 37 + 37, 9, 38 + 38, 9, 39 + 39, 9, 40 + 40, 9, 41 + 41, 9, 42 + 42, 9, 43 + 43, 9, 44 + 44, 9, 45 + 45, 9, 46 + 46, 9, 47 + 47, 9, 48 + 48, 9, 49 + 49, 9, 50 + 50, 9, 51 + 51, 9, 52 + 52, 9, 53 + 53, 9, 54 + 54, 9, 55 + 55, 9, 56 + 56, 9, 57 + 57, 9, 58 + 58, 9, 59 + 59, 9, 60 + 60, 9, 61 + 61, 9, 62 + 62, 9, 63 + 63, 9, 64 +! + slot= 12 !SDC TDC +! +! SDC plane (4) + 0, 10, 1 !chamber 2, X' plane, 64 wires. + 1, 10, 2 + 2, 10, 3 + 3, 10, 4 + 4, 10, 5 + 5, 10, 6 + 6, 10, 7 + 7, 10, 8 + 8, 10, 9 + 9, 10, 10 + 10, 10, 11 + 11, 10, 12 + 12, 10, 13 + 13, 10, 14 + 14, 10, 15 + 15, 10, 16 + 16, 10, 17 + 17, 10, 18 + 18, 10, 19 + 19, 10, 20 + 20, 10, 21 + 21, 10, 22 + 22, 10, 23 + 23, 10, 24 + 24, 10, 25 + 25, 10, 26 + 26, 10, 27 + 27, 10, 28 + 28, 10, 29 + 29, 10, 30 + 30, 10, 31 + 31, 10, 32 + 32, 10, 33 + 33, 10, 34 + 34, 10, 35 + 35, 10, 36 + 36, 10, 37 + 37, 10, 38 + 38, 10, 39 + 39, 10, 40 + 40, 10, 41 + 41, 10, 42 + 42, 10, 43 + 43, 10, 44 + 44, 10, 45 + 45, 10, 46 + 46, 10, 47 + 47, 10, 48 + 48, 10, 49 + 49, 10, 50 + 50, 10, 51 + 51, 10, 52 + 52, 10, 53 + 53, 10, 54 + 54, 10, 55 + 55, 10, 56 + 56, 10, 57 + 57, 10, 58 + 58, 10, 59 + 59, 10, 60 + 60, 10, 61 + 61, 10, 62 + 62, 10, 63 + 63, 10, 64 +! +! SOS upstairs (SSCIN+SCAL+SCER) map K.B.Beard 13-Jun-1994 +! + ROC= 3 !upstairs SOS crate (fbch2) +! + detector= 12 !SSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 22 ! TDC + 0, 1, 3, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#3 [TDC+] + 1, 1, 5, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#5 [TDC+] + 2, 1, 7, 2 !TDC ROC#3 Sl#23 Ch#2 SSCIN pl#1 [X1] id sig#7 [TDC+] + 3, 1, 9, 2 !TDC ROC#3 Sl#23 Ch#3 SSCIN pl#1 [X1] id sig#9 [TDC+] + 4, 1, 2, 2 !TDC ROC#3 Sl#23 Ch#4 SSCIN pl#1 [X1] id sig#2 [TDC+] + 5, 1, 4, 2 !TDC ROC#3 Sl#23 Ch#5 SSCIN pl#1 [X1] id sig#4 [TDC+] + 6, 1, 6, 2 !TDC ROC#3 Sl#23 Ch#6 SSCIN pl#1 [X1] id sig#6 [TDC+] + 7, 1, 8, 2 !TDC ROC#3 Sl#23 Ch#7 SSCIN pl#1 [X1] id sig#8 [TDC+] + 8, 1, 3, 3 !TDC ROC#3 Sl#23 Ch#8 SSCIN pl#1 [X1] id sig#3 [TDC-] + 9, 1, 5, 3 !TDC ROC#3 Sl#23 Ch#9 SSCIN pl#1 [X1] id sig#5 [TDC-] + 10, 1, 7, 3 !TDC ROC#3 Sl#23 Ch#10 SSCIN pl#1 [X1] id sig#7 [TDC-] + 11, 1, 9, 3 !TDC ROC#3 Sl#23 Ch#11 SSCIN pl#1 [X1] id sig#9 [TDC-] + 12, 1, 2, 3 !TDC ROC#3 Sl#23 Ch#12 SSCIN pl#1 [X1] id sig#2 [TDC-] + 13, 1, 4, 3 !TDC ROC#3 Sl#23 Ch#13 SSCIN pl#1 [X1] id sig#4 [TDC-] + 14, 1, 6, 3 !TDC ROC#3 Sl#23 Ch#14 SSCIN pl#1 [X1] id sig#6 [TDC-] + 15, 1, 8, 3 !TDC ROC#3 Sl#23 Ch#15 SSCIN pl#1 [X1] id sig#8 [TDC-] + 16, 2, 3, 2 !TDC ROC#3 Sl#23 Ch#16 SSCIN pl#2 [Y1] id sig#3 [TDC+] + 17, 2, 5, 2 !TDC ROC#3 Sl#23 Ch#17 SSCIN pl#2 [Y1] id sig#5 [TDC+] + 18, 2, 7, 2 !TDC ROC#3 Sl#23 Ch#18 SSCIN pl#2 [Y1] id sig#7 [TDC+] + 19, 2, 9, 2 !TDC ROC#3 Sl#23 Ch#19 SSCIN pl#2 [Y1] id sig#9 [TDC+] + 20, 2, 2, 2 !TDC ROC#3 Sl#23 Ch#20 SSCIN pl#2 [Y1] id sig#2 [TDC+] + 21, 2, 4, 2 !TDC ROC#3 Sl#23 Ch#21 SSCIN pl#2 [Y1] id sig#4 [TDC+] + 22, 2, 6, 2 !TDC ROC#3 Sl#23 Ch#22 SSCIN pl#2 [Y1] id sig#6 [TDC+] + 23, 2, 8, 2 !TDC ROC#3 Sl#23 Ch#23 SSCIN pl#2 [Y1] id sig#8 [TDC+] + 24, 2, 3, 3 !TDC ROC#3 Sl#23 Ch#24 SSCIN pl#2 [Y1] id sig#3 [TDC-] + 25, 2, 5, 3 !TDC ROC#3 Sl#23 Ch#25 SSCIN pl#2 [Y1] id sig#5 [TDC-] + 26, 2, 7, 3 !TDC ROC#3 Sl#23 Ch#26 SSCIN pl#2 [Y1] id sig#7 [TDC-] + 27, 2, 9, 3 !TDC ROC#3 Sl#23 Ch#27 SSCIN pl#2 [Y1] id sig#9 [TDC-] + 28, 2, 2, 3 !TDC ROC#3 Sl#23 Ch#28 SSCIN pl#2 [Y1] id sig#2 [TDC-] + 29, 2, 4, 3 !TDC ROC#3 Sl#23 Ch#29 SSCIN pl#2 [Y1] id sig#4 [TDC-] + 30, 2, 6, 3 !TDC ROC#3 Sl#23 Ch#30 SSCIN pl#2 [Y1] id sig#6 [TDC-] + 31, 2, 8, 3 !TDC ROC#3 Sl#23 Ch#31 SSCIN pl#2 [Y1] id sig#8 [TDC-] + 32, 4, 3, 2 !TDC ROC#3 Sl#23 Ch#32 SSCIN pl#4 [Y2] id sig#3 [TDC+] + 33, 4, 5, 2 !TDC ROC#3 Sl#23 Ch#33 SSCIN pl#4 [Y2] id sig#5 [TDC+] + 34, 4, 7, 2 !TDC ROC#3 Sl#23 Ch#34 SSCIN pl#4 [Y2] id sig#7 [TDC+] + 35, 4, 9, 2 !TDC ROC#3 Sl#23 Ch#35 SSCIN pl#4 [Y2] id sig#9 [TDC+] + 36, 4, 2, 2 !TDC ROC#3 Sl#23 Ch#36 SSCIN pl#4 [Y2] id sig#2 [TDC+] + 37, 4, 4, 2 !TDC ROC#3 Sl#23 Ch#37 SSCIN pl#4 [Y2] id sig#4 [TDC+] + 38, 4, 6, 2 !TDC ROC#3 Sl#23 Ch#38 SSCIN pl#4 [Y2] id sig#6 [TDC+] + 39, 4, 8, 2 !TDC ROC#3 Sl#23 Ch#39 SSCIN pl#4 [Y2] id sig#8 [TDC+] + 40, 4, 3, 3 !TDC ROC#3 Sl#23 Ch#40 SSCIN pl#4 [Y2] id sig#3 [TDC-] + 41, 4, 5, 3 !TDC ROC#3 Sl#23 Ch#41 SSCIN pl#4 [Y2] id sig#5 [TDC-] + 42, 4, 7, 3 !TDC ROC#3 Sl#23 Ch#42 SSCIN pl#4 [Y2] id sig#7 [TDC-] + 43, 4, 9, 3 !TDC ROC#3 Sl#23 Ch#43 SSCIN pl#4 [Y2] id sig#9 [TDC-] + 44, 4, 2, 3 !TDC ROC#3 Sl#23 Ch#44 SSCIN pl#4 [Y2] id sig#2 [TDC-] + 45, 4, 4, 3 !TDC ROC#3 Sl#23 Ch#45 SSCIN pl#4 [Y2] id sig#4 [TDC-] + 46, 4, 6, 3 !TDC ROC#3 Sl#23 Ch#46 SSCIN pl#4 [Y2] id sig#6 [TDC-] + 47, 4, 8, 3 !TDC ROC#3 Sl#23 Ch#47 SSCIN pl#4 [Y2] id sig#8 [TDC-] + 48, 1, 1, 2 !TDC ROC#3 Sl#23 Ch#48 SSCIN pl#1 [X1] id sig#1 [TDC+] + 49, 1, 1, 3 !TDC ROC#3 Sl#23 Ch#49 SSCIN pl#1 [X1] id sig#1 [TDC-] + 50, 2, 1, 2 !TDC ROC#3 Sl#23 Ch#50 SSCIN pl#2 [Y1] id sig#1 [TDC+] + 51, 2, 1, 3 !TDC ROC#3 Sl#23 Ch#51 SSCIN pl#2 [Y1] id sig#1 [TDC-] + 52, 4, 1, 2 !TDC ROC#3 Sl#23 Ch#52 SSCIN pl#4 [Y2] id sig#1 [TDC+] + 53, 4, 1, 3 !TDC ROC#3 Sl#23 Ch#53 SSCIN pl#4 [Y2] id sig#1 [TDC-] +! 54 !TDC ROC#3 Sl#23 Ch#54 unused +! 55 !TDC ROC#3 Sl#23 Ch#55 unused +! 56 !TDC ROC#3 Sl#23 Ch#56 unused +! 57 !TDC ROC#3 Sl#23 Ch#57 unused +! 58 !TDC ROC#3 Sl#23 Ch#58 unused +! 59 !TDC ROC#3 Sl#23 Ch#59 unused +! 60 !TDC ROC#3 Sl#23 Ch#60 unused +! 61 !TDC ROC#3 Sl#23 Ch#61 unused +! 62 !TDC ROC#3 Sl#23 Ch#62 unused +! 63 !TDC ROC#3 Sl#23 Ch#63 unused +! +!for run 8023, swapped HMS and SOS TDC so that TDC with first 8 +!channels dead would be here. Moved connectors 1 and 2 to position +!3 and 4. Moved 3 singles channels (in connector3) to connector 2. + + Slot= 20 ! TDC + 32, 3, 1, 2 !TDC ROC#3 Sl#21 Ch#0 SSCIN pl#3 [X2] id sig#1 [TDC+] + 33, 3, 3, 2 !TDC ROC#3 Sl#21 Ch#1 SSCIN pl#3 [X2] id sig#3 [TDC+] + 34, 3, 5, 2 !TDC ROC#3 Sl#21 Ch#2 SSCIN pl#3 [X2] id sig#5 [TDC+] + 35, 3, 7, 2 !TDC ROC#3 Sl#21 Ch#3 SSCIN pl#3 [X2] id sig#7 [TDC+] + 36, 3, 9, 2 !TDC ROC#3 Sl#21 Ch#4 SSCIN pl#3 [X2] id sig#9 [TDC+] + 37, 3, 11, 2 !TDC ROC#3 Sl#21 Ch#5 SSCIN pl#3 [X2] id sig#11 [TDC+] + 38, 3, 13, 2 !TDC ROC#3 Sl#21 Ch#6 SSCIN pl#3 [X2] id sig#13 [TDC+] + 39, 3, 15, 2 !TDC ROC#3 Sl#21 Ch#7 SSCIN pl#3 [X2] id sig#15 [TDC+] + 40, 3, 2, 2 !TDC ROC#3 Sl#21 Ch#8 SSCIN pl#3 [X2] id sig#2 [TDC+] + 41, 3, 4, 2 !TDC ROC#3 Sl#21 Ch#9 SSCIN pl#3 [X2] id sig#4 [TDC+] + 42, 3, 6, 2 !TDC ROC#3 Sl#21 Ch#10 SSCIN pl#3 [X2] id sig#6 [TDC+] + 43, 3, 8, 2 !TDC ROC#3 Sl#21 Ch#11 SSCIN pl#3 [X2] id sig#8 [TDC+] + 44, 3, 10, 2 !TDC ROC#3 Sl#21 Ch#12 SSCIN pl#3 [X2] id sig#10 [TDC+] + 45, 3, 12, 2 !TDC ROC#3 Sl#21 Ch#13 SSCIN pl#3 [X2] id sig#12 [TDC+] + 46, 3, 14, 2 !TDC ROC#3 Sl#21 Ch#14 SSCIN pl#3 [X2] id sig#14 [TDC+] + 47, 3, 16, 2 !TDC ROC#3 Sl#21 Ch#15 SSCIN pl#3 [X2] id sig#16 [TDC+] + 48, 3, 1, 3 !TDC ROC#3 Sl#21 Ch#16 SSCIN pl#3 [X2] id sig#1 [TDC-] + 49, 3, 3, 3 !TDC ROC#3 Sl#21 Ch#17 SSCIN pl#3 [X2] id sig#3 [TDC-] + 50, 3, 5, 3 !TDC ROC#3 Sl#21 Ch#18 SSCIN pl#3 [X2] id sig#5 [TDC-] + 51, 3, 7, 3 !TDC ROC#3 Sl#21 Ch#19 SSCIN pl#3 [X2] id sig#7 [TDC-] + 52, 3, 9, 3 !TDC ROC#3 Sl#21 Ch#20 SSCIN pl#3 [X2] id sig#9 [TDC-] + 53, 3, 11, 3 !TDC ROC#3 Sl#21 Ch#21 SSCIN pl#3 [X2] id sig#11 [TDC-] + 54, 3, 13, 3 !TDC ROC#3 Sl#21 Ch#22 SSCIN pl#3 [X2] id sig#13 [TDC-] + 55, 3, 15, 3 !TDC ROC#3 Sl#21 Ch#23 SSCIN pl#3 [X2] id sig#15 [TDC-] + 56, 3, 2, 3 !TDC ROC#3 Sl#21 Ch#24 SSCIN pl#3 [X2] id sig#2 [TDC-] + 57, 3, 4, 3 !TDC ROC#3 Sl#21 Ch#25 SSCIN pl#3 [X2] id sig#4 [TDC-] + 58, 3, 6, 3 !TDC ROC#3 Sl#21 Ch#26 SSCIN pl#3 [X2] id sig#6 [TDC-] + 59, 3, 8, 3 !TDC ROC#3 Sl#21 Ch#27 SSCIN pl#3 [X2] id sig#8 [TDC-] + 60, 3, 10, 3 !TDC ROC#3 Sl#21 Ch#28 SSCIN pl#3 [X2] id sig#10 [TDC-] + 61, 3, 12, 3 !TDC ROC#3 Sl#21 Ch#29 SSCIN pl#3 [X2] id sig#12 [TDC-] + 62, 3, 14, 3 !TDC ROC#3 Sl#21 Ch#30 SSCIN pl#3 [X2] id sig#14 [TDC-] + 63, 3, 16, 3 !TDC ROC#3 Sl#21 Ch#31 SSCIN pl#3 [X2] id sig#16 [TDC-] +! + detector= 15 !SMISC +! + 16, 1, 65, 0 ! 0 !TDC ROC#3 Sl#21 Ch#32 RF TDC. +! + detector= 15 !SMISC +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 18 ! TDC +0, 1, 1, 0 ! 0 !TDC ROC#3 Sl#20 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#3 Sl#20 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#3 Sl#20 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#3 Sl#20 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#3 Sl#20 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#3 Sl#20 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#3 Sl#20 Ch#6 unused {MuonL} +7, 1, 8, 0 ! 7 !TDC ROC#3 Sl#20 Ch#7 unused {MuonR} +8, 1, 9, 0 ! 8 !TDC ROC#3 Sl#20 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#3 Sl#20 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#3 Sl#20 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#3 Sl#20 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#3 Sl#20 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#3 Sl#20 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#3 Sl#20 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#3 Sl#20 Ch#15 signal {PEDTRG} + + Slot= 18! TDC +16, 1, 17, 0 ! 16 !TDC ROC#3 Sl#18 Ch#16 signal {sS1} +17, 1, 18, 0 ! 17 !TDC ROC#3 Sl#18 Ch#17 signal {sPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#3 Sl#18 Ch#18 signal {sS2X} +19, 1, 20, 0 ! 19 !TDC ROC#3 Sl#18 Ch#19 signal {sPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#3 Sl#18 Ch#20 signal {sS1X} +21, 1, 22, 0 ! 21 !TDC ROC#3 Sl#18 Ch#21 signal {sS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#3 Sl#18 Ch#22 signal {sPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#3 Sl#18 Ch#23 signal {sS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#3 Sl#18 Ch#24 signal {sS2} +25, 1, 26, 0 ! 25 !TDC ROC#3 Sl#18 Ch#25 signal {sPRE200} +26, 1, 27, 0 ! 26 !TDC ROC#3 Sl#18 Ch#26 signal {sSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#3 Sl#18 Ch#27 signal {sSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#3 Sl#18 Ch#28 signal {sELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#3 Sl#18 Ch#29 signal {sPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#3 Sl#18 Ch#30 signal {sELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#3 Sl#18 Ch#31 signal {sPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#3 Sl#18 Ch#32 signal {BCM1} +33, 1, 34, 0 ! 33 !TDC ROC#3 Sl#18 Ch#33 signal {BCM2} +34, 1, 35, 0 ! 34 !TDC ROC#3 Sl#18 Ch#34 signal {BCM3} +35, 1, 36, 0 ! 35 !TDC ROC#3 Sl#18 Ch#35 signal {UNSER} +36, 1, 37, 0 ! 36 !TDC ROC#3 Sl#18 Ch#36 signal {CLOCK} +37, 1, 38, 0 ! 37 !TDC ROC#3 Sl#18 Ch#37 signal {1 MHz * 36??} +38, 1, 39, 0 ! 38 !TDC ROC#3 Sl#18 Ch#38 signal {sPICLEAN} +39, 1, 40, 0 ! 39 !TDC ROC#3 Sl#18 Ch#39 signal {sELCLEAN} +40, 1, 41, 0 ! 40 !TDC ROC#3 Sl#18 Ch#40 signal {sPION} +41, 1, 42, 0 ! 41 !TDC ROC#3 Sl#18 Ch#41 signal {sCER} +42, 1, 43, 0 ! 42 !TDC ROC#3 Sl#18 Ch#42 signal {sELHI} +43, 1, 44, 0 ! 43 !TDC ROC#3 Sl#18 Ch#43 signal {sELLO} +44, 1, 45, 0 ! 44 !TDC ROC#3 Sl#18 Ch#44 signal {sPRHI} +45, 1, 46, 0 ! 45 !TDC ROC#3 Sl#18 Ch#45 signal {sPRLO} +46, 1, 47, 0 ! 46 !TDC ROC#3 Sl#18 Ch#46 signal {sSHLO} +47, 1, 48, 0 ! 47 !TDC ROC#3 Sl#18 Ch#47 signal {PEDS+TRIGS?} +! +! ADC module LeCroy 1881M + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + detector= 12 !SSCIN + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#3 Sl#9 Ch#0 SSCIN pl#1 [X1] id sig#1 [ADC+] + 1, 1, 3, 0 !ADC ROC#3 Sl#9 Ch#1 SSCIN pl#1 [X1] id sig#3 [ADC+] + 2, 1, 5, 0 !ADC ROC#3 Sl#9 Ch#2 SSCIN pl#1 [X1] id sig#5 [ADC+] + 3, 1, 7, 0 !ADC ROC#3 Sl#9 Ch#3 SSCIN pl#1 [X1] id sig#7 [ADC+] + 4, 1, 9, 0 !ADC ROC#3 Sl#9 Ch#4 SSCIN pl#1 [X1] id sig#9 [ADC+] +! 5 !ADC ROC#3 Sl#9 Ch#5 unused +! 6 !ADC ROC#3 Sl#9 Ch#6 unused +! 7 !ADC ROC#3 Sl#9 Ch#7 unused + 8, 1, 2, 0 !ADC ROC#3 Sl#9 Ch#8 SSCIN pl#1 [X1] id sig#2 [ADC+] + 9, 1, 4, 0 !ADC ROC#3 Sl#9 Ch#9 SSCIN pl#1 [X1] id sig#4 [ADC+] + 10, 1, 6, 0 !ADC ROC#3 Sl#9 Ch#10 SSCIN pl#1 [X1] id sig#6 [ADC+] + 11, 1, 8, 0 !ADC ROC#3 Sl#9 Ch#11 SSCIN pl#1 [X1] id sig#8 [ADC+] +! 12 !ADC ROC#3 Sl#9 Ch#12 unused +! 13 !ADC ROC#3 Sl#9 Ch#13 unused +! 14 !ADC ROC#3 Sl#9 Ch#14 unused +! 15 !ADC ROC#3 Sl#9 Ch#15 unused + 16, 1, 1, 1 !ADC ROC#3 Sl#9 Ch#16 SSCIN pl#1 [X1] id sig#1 [ADC-] + 17, 1, 3, 1 !ADC ROC#3 Sl#9 Ch#17 SSCIN pl#1 [X1] id sig#3 [ADC-] + 18, 1, 5, 1 !ADC ROC#3 Sl#9 Ch#18 SSCIN pl#1 [X1] id sig#5 [ADC-] + 19, 1, 7, 1 !ADC ROC#3 Sl#9 Ch#19 SSCIN pl#1 [X1] id sig#7 [ADC-] + 20, 1, 9, 1 !ADC ROC#3 Sl#9 Ch#20 SSCIN pl#1 [X1] id sig#9 [ADC-] +! 21 !ADC ROC#3 Sl#9 Ch#21 unused +! 22 !ADC ROC#3 Sl#9 Ch#22 unused +! 23 !ADC ROC#3 Sl#9 Ch#23 unused + 24, 1, 2, 1 !ADC ROC#3 Sl#9 Ch#24 SSCIN pl#1 [X1] id sig#2 [ADC-] + 25, 1, 4, 1 !ADC ROC#3 Sl#9 Ch#25 SSCIN pl#1 [X1] id sig#4 [ADC-] + 26, 1, 6, 1 !ADC ROC#3 Sl#9 Ch#26 SSCIN pl#1 [X1] id sig#6 [ADC-] + 27, 1, 8, 1 !ADC ROC#3 Sl#9 Ch#27 SSCIN pl#1 [X1] id sig#8 [ADC-] +! 28 !ADC ROC#3 Sl#9 Ch#28 unused +! 29 !ADC ROC#3 Sl#9 Ch#29 unused +! 30 !ADC ROC#3 Sl#9 Ch#30 unused +! 31 !ADC ROC#3 Sl#9 Ch#31 unused + 32, 2, 1, 0 !ADC ROC#3 Sl#9 Ch#32 SSCIN pl#2 [Y1] id sig#1 [ADC+] + 33, 2, 3, 0 !ADC ROC#3 Sl#9 Ch#33 SSCIN pl#2 [Y1] id sig#3 [ADC+] + 34, 2, 5, 0 !ADC ROC#3 Sl#9 Ch#34 SSCIN pl#2 [Y1] id sig#5 [ADC+] + 35, 2, 7, 0 !ADC ROC#3 Sl#9 Ch#35 SSCIN pl#2 [Y1] id sig#7 [ADC+] + 36, 2, 9, 0 !ADC ROC#3 Sl#9 Ch#36 SSCIN pl#2 [Y1] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#9 Ch#37 unused +! 38 !ADC ROC#3 Sl#9 Ch#38 unused +! 39 !ADC ROC#3 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#3 Sl#9 Ch#40 SSCIN pl#2 [Y1] id sig#2 [ADC+] + 41, 2, 4, 0 !ADC ROC#3 Sl#9 Ch#41 SSCIN pl#2 [Y1] id sig#4 [ADC+] + 42, 2, 6, 0 !ADC ROC#3 Sl#9 Ch#42 SSCIN pl#2 [Y1] id sig#6 [ADC+] + 43, 2, 8, 0 !ADC ROC#3 Sl#9 Ch#43 SSCIN pl#2 [Y1] id sig#8 [ADC+] +! 44 !ADC ROC#3 Sl#9 Ch#44 unused +! 45 !ADC ROC#3 Sl#9 Ch#45 unused +! 46 !ADC ROC#3 Sl#9 Ch#46 unused +! 47 !ADC ROC#3 Sl#9 Ch#47 unused + 48, 2, 1, 1 !ADC ROC#3 Sl#9 Ch#48 SSCIN pl#2 [Y1] id sig#1 [ADC-] + 49, 2, 3, 1 !ADC ROC#3 Sl#9 Ch#49 SSCIN pl#2 [Y1] id sig#3 [ADC-] + 50, 2, 5, 1 !ADC ROC#3 Sl#9 Ch#50 SSCIN pl#2 [Y1] id sig#5 [ADC-] + 51, 2, 7, 1 !ADC ROC#3 Sl#9 Ch#51 SSCIN pl#2 [Y1] id sig#7 [ADC-] + 52, 2, 9, 1 !ADC ROC#3 Sl#9 Ch#52 SSCIN pl#2 [Y1] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#9 Ch#53 unused +! 54 !ADC ROC#3 Sl#9 Ch#54 unused +! 55 !ADC ROC#3 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#3 Sl#9 Ch#56 SSCIN pl#2 [Y1] id sig#2 [ADC-] + 57, 2, 4, 1 !ADC ROC#3 Sl#9 Ch#57 SSCIN pl#2 [Y1] id sig#4 [ADC-] + 58, 2, 6, 1 !ADC ROC#3 Sl#9 Ch#58 SSCIN pl#2 [Y1] id sig#6 [ADC-] + 59, 2, 8, 1 !ADC ROC#3 Sl#9 Ch#59 SSCIN pl#2 [Y1] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#9 Ch#60 unused +! 61 !ADC ROC#3 Sl#9 Ch#61 unused +! 62 !ADC ROC#3 Sl#9 Ch#62 unused +! 63 !ADC ROC#3 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#3 Sl#7 Ch#0 SSCIN pl#3 [X2] id sig#1 [ADC+] + 1, 3, 3, 0 !ADC ROC#3 Sl#7 Ch#1 SSCIN pl#3 [X2] id sig#3 [ADC+] + 2, 3, 5, 0 !ADC ROC#3 Sl#7 Ch#2 SSCIN pl#3 [X2] id sig#5 [ADC+] + 3, 3, 7, 0 !ADC ROC#3 Sl#7 Ch#3 SSCIN pl#3 [X2] id sig#7 [ADC+] + 4, 3, 9, 0 !ADC ROC#3 Sl#7 Ch#4 SSCIN pl#3 [X2] id sig#9 [ADC+] + 5, 3, 11, 0 !ADC ROC#3 Sl#7 Ch#5 SSCIN pl#3 [X2] id sig#11 [ADC+] + 6, 3, 13, 0 !ADC ROC#3 Sl#7 Ch#6 SSCIN pl#3 [X2] id sig#13 [ADC+] + 7, 3, 15, 0 !ADC ROC#3 Sl#7 Ch#7 SSCIN pl#3 [X2] id sig#15 [ADC+] + 8, 3, 2, 0 !ADC ROC#3 Sl#7 Ch#8 SSCIN pl#3 [X2] id sig#2 [ADC+] + 9, 3, 4, 0 !ADC ROC#3 Sl#7 Ch#9 SSCIN pl#3 [X2] id sig#4 [ADC+] + 10, 3, 6, 0 !ADC ROC#3 Sl#7 Ch#10 SSCIN pl#3 [X2] id sig#6 [ADC+] + 11, 3, 8, 0 !ADC ROC#3 Sl#7 Ch#11 SSCIN pl#3 [X2] id sig#8 [ADC+] + 12, 3, 10, 0 !ADC ROC#3 Sl#7 Ch#12 SSCIN pl#3 [X2] id sig#10 [ADC+] + 13, 3, 12, 0 !ADC ROC#3 Sl#7 Ch#13 SSCIN pl#3 [X2] id sig#12 [ADC+] + 14, 3, 14, 0 !ADC ROC#3 Sl#7 Ch#14 SSCIN pl#3 [X2] id sig#14 [ADC+] + 15, 3, 16, 0 !ADC ROC#3 Sl#7 Ch#15 SSCIN pl#3 [X2] id sig#16 [ADC+] + 16, 3, 1, 1 !ADC ROC#3 Sl#7 Ch#16 SSCIN pl#3 [X2] id sig#1 [ADC-] + 17, 3, 3, 1 !ADC ROC#3 Sl#7 Ch#17 SSCIN pl#3 [X2] id sig#3 [ADC-] + 18, 3, 5, 1 !ADC ROC#3 Sl#7 Ch#18 SSCIN pl#3 [X2] id sig#5 [ADC-] + 19, 3, 7, 1 !ADC ROC#3 Sl#7 Ch#19 SSCIN pl#3 [X2] id sig#7 [ADC-] + 20, 3, 9, 1 !ADC ROC#3 Sl#7 Ch#20 SSCIN pl#3 [X2] id sig#9 [ADC-] + 21, 3, 11, 1 !ADC ROC#3 Sl#7 Ch#21 SSCIN pl#3 [X2] id sig#11 [ADC-] + 22, 3, 13, 1 !ADC ROC#3 Sl#7 Ch#22 SSCIN pl#3 [X2] id sig#13 [ADC-] + 23, 3, 15, 1 !ADC ROC#3 Sl#7 Ch#23 SSCIN pl#3 [X2] id sig#15 [ADC-] + 24, 3, 2, 1 !ADC ROC#3 Sl#7 Ch#24 SSCIN pl#3 [X2] id sig#2 [ADC-] + 25, 3, 4, 1 !ADC ROC#3 Sl#7 Ch#25 SSCIN pl#3 [X2] id sig#4 [ADC-] + 26, 3, 6, 1 !ADC ROC#3 Sl#7 Ch#26 SSCIN pl#3 [X2] id sig#6 [ADC-] + 27, 3, 8, 1 !ADC ROC#3 Sl#7 Ch#27 SSCIN pl#3 [X2] id sig#8 [ADC-] + 28, 3, 10, 1 !ADC ROC#3 Sl#7 Ch#28 SSCIN pl#3 [X2] id sig#10 [ADC-] + 29, 3, 12, 1 !ADC ROC#3 Sl#7 Ch#29 SSCIN pl#3 [X2] id sig#12 [ADC-] + 30, 3, 14, 1 !ADC ROC#3 Sl#7 Ch#30 SSCIN pl#3 [X2] id sig#14 [ADC-] + 31, 3, 16, 1 !ADC ROC#3 Sl#7 Ch#31 SSCIN pl#3 [X2] id sig#16 [ADC-] + 32, 4, 1, 0 !ADC ROC#3 Sl#7 Ch#32 SSCIN pl#4 [Y2] id sig#1 [ADC+] + 33, 4, 3, 0 !ADC ROC#3 Sl#7 Ch#33 SSCIN pl#4 [Y2] id sig#3 [ADC+] + 34, 4, 5, 0 !ADC ROC#3 Sl#7 Ch#34 SSCIN pl#4 [Y2] id sig#5 [ADC+] + 35, 4, 7, 0 !ADC ROC#3 Sl#7 Ch#35 SSCIN pl#4 [Y2] id sig#7 [ADC+] + 36, 4, 9, 0 !ADC ROC#3 Sl#7 Ch#36 SSCIN pl#4 [Y2] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#7 Ch#37 unused +! 38 !ADC ROC#3 Sl#7 Ch#38 unused +! 39 !ADC ROC#3 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#3 Sl#7 Ch#40 SSCIN pl#4 [Y2] id sig#2 [ADC+] + 41, 4, 4, 0 !ADC ROC#3 Sl#7 Ch#41 SSCIN pl#4 [Y2] id sig#4 [ADC+] + 42, 4, 6, 0 !ADC ROC#3 Sl#7 Ch#42 SSCIN pl#4 [Y2] id sig#6 [ADC+] +! 43, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] DEAD CH! +! 44 !ADC ROC#3 Sl#7 Ch#44 unused +! 45 !ADC ROC#3 Sl#7 Ch#45 unused +! 46 !ADC ROC#3 Sl#7 Ch#46 unused + 47, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] + 48, 4, 1, 1 !ADC ROC#3 Sl#7 Ch#48 SSCIN pl#4 [Y2] id sig#1 [ADC-] + 49, 4, 3, 1 !ADC ROC#3 Sl#7 Ch#49 SSCIN pl#4 [Y2] id sig#3 [ADC-] + 50, 4, 5, 1 !ADC ROC#3 Sl#7 Ch#50 SSCIN pl#4 [Y2] id sig#5 [ADC-] + 51, 4, 7, 1 !ADC ROC#3 Sl#7 Ch#51 SSCIN pl#4 [Y2] id sig#7 [ADC-] + 52, 4, 9, 1 !ADC ROC#3 Sl#7 Ch#52 SSCIN pl#4 [Y2] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#7 Ch#53 unused +! 54 !ADC ROC#3 Sl#7 Ch#54 unused +! 55 !ADC ROC#3 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#3 Sl#7 Ch#56 SSCIN pl#4 [Y2] id sig#2 [ADC-] + 57, 4, 4, 1 !ADC ROC#3 Sl#7 Ch#57 SSCIN pl#4 [Y2] id sig#4 [ADC-] + 58, 4, 6, 1 !ADC ROC#3 Sl#7 Ch#58 SSCIN pl#4 [Y2] id sig#6 [ADC-] + 59, 4, 8, 1 !ADC ROC#3 Sl#7 Ch#59 SSCIN pl#4 [Y2] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#7 Ch#60 unused +! 61 !ADC ROC#3 Sl#7 Ch#61 unused +! 62 !ADC ROC#3 Sl#7 Ch#62 unused +! 63 !ADC ROC#3 Sl#7 Ch#63 unused +! + detector= 14 !SCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#1 Ch#0 SCAL column#1 row#1 + 1, 1, 2 !ADC ROC#3 Sl#1 Ch#1 SCAL column#1 row#2 + 2, 1, 3 !ADC ROC#3 Sl#1 Ch#2 SCAL column#1 row#3 + 3, 1, 4 !ADC ROC#3 Sl#1 Ch#3 SCAL column#1 row#4 + 4, 1, 5 !ADC ROC#3 Sl#1 Ch#4 SCAL column#1 row#5 + 5, 1, 6 !ADC ROC#3 Sl#1 Ch#5 SCAL column#1 row#6 + 6, 1, 7 !ADC ROC#3 Sl#1 Ch#6 SCAL column#1 row#7 + 7, 1, 8 !ADC ROC#3 Sl#1 Ch#7 SCAL column#1 row#8 + 8, 1, 9 !ADC ROC#3 Sl#1 Ch#8 SCAL column#1 row#9 + 9, 1, 10 !ADC ROC#3 Sl#1 Ch#9 SCAL column#1 row#10 + 10, 1, 11 !ADC ROC#3 Sl#1 Ch#10 SCAL column#1 row#11 +! 11 !ADC ROC#3 Sl#1 Ch#11 unused +! 12 !ADC ROC#3 Sl#1 Ch#12 unused +! 13 !ADC ROC#3 Sl#1 Ch#13 unused +! 14 !ADC ROC#3 Sl#1 Ch#14 unused +! 15 !ADC ROC#3 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#3 Sl#1 Ch#16 SCAL column#2 row#1 + 17, 2, 2 !ADC ROC#3 Sl#1 Ch#17 SCAL column#2 row#2 + 18, 2, 3 !ADC ROC#3 Sl#1 Ch#18 SCAL column#2 row#3 + 19, 2, 4 !ADC ROC#3 Sl#1 Ch#19 SCAL column#2 row#4 + 20, 2, 5 !ADC ROC#3 Sl#1 Ch#20 SCAL column#2 row#5 + 21, 2, 6 !ADC ROC#3 Sl#1 Ch#21 SCAL column#2 row#6 + 22, 2, 7 !ADC ROC#3 Sl#1 Ch#22 SCAL column#2 row#7 + 23, 2, 8 !ADC ROC#3 Sl#1 Ch#23 SCAL column#2 row#8 + 24, 2, 9 !ADC ROC#3 Sl#1 Ch#24 SCAL column#2 row#9 + 25, 2, 10 !ADC ROC#3 Sl#1 Ch#25 SCAL column#2 row#10 + 26, 2, 11 !ADC ROC#3 Sl#1 Ch#26 SCAL column#2 row#11 +! 27 !ADC ROC#3 Sl#1 Ch#27 unused +! 28 !ADC ROC#3 Sl#1 Ch#28 unused +! 29 !ADC ROC#3 Sl#1 Ch#29 unused +! 30 !ADC ROC#3 Sl#1 Ch#30 unused +! 31 !ADC ROC#3 Sl#1 Ch#31 unused +! 32, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 44, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 33, 3, 2 !ADC ROC#3 Sl#1 Ch#33 SCAL column#3 row#2 + 34, 3, 3 !ADC ROC#3 Sl#1 Ch#34 SCAL column#3 row#3 + 35, 3, 4 !ADC ROC#3 Sl#1 Ch#35 SCAL column#3 row#4 + 36, 3, 5 !ADC ROC#3 Sl#1 Ch#36 SCAL column#3 row#5 + 37, 3, 6 !ADC ROC#3 Sl#1 Ch#37 SCAL column#3 row#6 + 38, 3, 7 !ADC ROC#3 Sl#1 Ch#38 SCAL column#3 row#7 + 39, 3, 8 !ADC ROC#3 Sl#1 Ch#39 SCAL column#3 row#8 + 40, 3, 9 !ADC ROC#3 Sl#1 Ch#40 SCAL column#3 row#9 + 41, 3, 10 !ADC ROC#3 Sl#1 Ch#41 SCAL column#3 row#10 + 42, 3, 11 !ADC ROC#3 Sl#1 Ch#42 SCAL column#3 row#11 +! 43 !ADC ROC#3 Sl#1 Ch#43 unused +! 44 !ADC ROC#3 Sl#1 Ch#44 unused +! 45 !ADC ROC#3 Sl#1 Ch#45 unused +! 46 !ADC ROC#3 Sl#1 Ch#46 unused +! 47 !ADC ROC#3 Sl#1 Ch#47 unused + +!sD1 was being lost in the ADC delay lines. Move to channel #15. +! 48, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! + 49, 4, 2 !ADC ROC#3 Sl#1 Ch#49 SCAL column#4 row#2 + 50, 4, 3 !ADC ROC#3 Sl#1 Ch#50 SCAL column#4 row#3 + 51, 4, 4 !ADC ROC#3 Sl#1 Ch#51 SCAL column#4 row#4 + 52, 4, 5 !ADC ROC#3 Sl#1 Ch#52 SCAL column#4 row#5 + 53, 4, 6 !ADC ROC#3 Sl#1 Ch#53 SCAL column#4 row#6 + 54, 4, 7 !ADC ROC#3 Sl#1 Ch#54 SCAL column#4 row#7 + 55, 4, 8 !ADC ROC#3 Sl#1 Ch#55 SCAL column#4 row#8 + 56, 4, 9 !ADC ROC#3 Sl#1 Ch#56 SCAL column#4 row#9 + 57, 4, 10 !ADC ROC#3 Sl#1 Ch#57 SCAL column#4 row#10 + 58, 4, 11 !ADC ROC#3 Sl#1 Ch#58 SCAL column#4 row#11 +! 59 !ADC ROC#3 Sl#1 Ch#59 unused +! 60 !ADC ROC#3 Sl#1 Ch#60 unused +! 61 !ADC ROC#3 Sl#1 Ch#61 unused +! 62 !ADC ROC#3 Sl#1 Ch#62 unused + 62, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! 63 !ADC ROC#3 Sl#1 Ch#63 unused + detector= 15 !smisc - photodiode for laser gain calibration system. + 63, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). +! +detector= 14 !SCAL +Slot= 5 ! ADC Second set of tubes on first two layers +! 0, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 12, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#3 Sl#5 Ch#1 SCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#3 Sl#5 Ch#2 SCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#3 Sl#5 Ch#3 SCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#3 Sl#5 Ch#4 SCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#3 Sl#5 Ch#5 SCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#3 Sl#5 Ch#6 SCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#3 Sl#5 Ch#7 SCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#3 Sl#5 Ch#8 SCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#3 Sl#5 Ch#9 SCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#3 Sl#5 Ch#10 SCAL col#1 row#11 (10 An-11) +! 11 !ADC ROC#3 Sl#5 Ch#11 unused +! 12 !ADC ROC#3 Sl#5 Ch#12 unused +! 13 !ADC ROC#3 Sl#5 Ch#13 unused +! 14 !ADC ROC#3 Sl#5 Ch#14 unused +! 15 !ADC ROC#3 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#3 Sl#5 Ch#16 SCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#3 Sl#5 Ch#17 SCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#3 Sl#5 Ch#18 SCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#3 Sl#5 Ch#19 SCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#3 Sl#5 Ch#20 SCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#3 Sl#5 Ch#21 SCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#3 Sl#5 Ch#22 SCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#3 Sl#5 Ch#23 SCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#3 Sl#5 Ch#24 SCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#3 Sl#5 Ch#25 SCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#3 Sl#5 Ch#26 SCAL col#2 row#11 (26 Bn-11) +! 27 !ADC ROC#3 Sl#5 Ch#27 unused +! 28 !ADC ROC#3 Sl#5 Ch#28 unused +! 29 !ADC ROC#3 Sl#5 Ch#29 unused +! 30 !ADC ROC#3 Sl#5 Ch#30 unused +! 31 !ADC ROC#3 Sl#5 Ch#31 unused +! + detector= 13 !SCER +! + Slot= 3 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#3 Ch#0 SCER tube#1 + 1, 1, 2 !ADC ROC#3 Sl#3 Ch#1 SCER tube#2 + 2, 1, 3 !ADC ROC#3 Sl#3 Ch#2 SCER tube#3 + 3, 1, 4 !ADC ROC#3 Sl#3 Ch#3 SCER tube#4 +detector=15 ! SMISC helicity stuff mkj 5/15/03 +! ! muon det added 6/17/03 + 4, 2, 5,0 ! 4 !ADC ROC#3 Sl#3 Ch#4 unused + 5, 2, 6,0 ! 5 !ADC ROC#3 Sl#3 Ch#5 unused +! 6 !ADC ROC#3 Sl#3 Ch#6 unused +! 7 !ADC ROC#3 Sl#3 Ch#7 unused +! 8 !ADC ROC#3 Sl#3 Ch#8 unused +8,2,2,0 ! mps clock +! 9 !ADC ROC#3 Sl#3 Ch#9 unused +! 10 !ADC ROC#3 Sl#3 Ch#10 unused +! 11 !ADC ROC#3 Sl#3 Ch#11 unused +! 12 !ADC ROC#3 Sl#3 Ch#12 unused +12,2,3,0 ! H+ signal +15,2,4,0 ! H- signal +! 13 !ADC ROC#3 Sl#3 Ch#13 unused +! 14 !ADC ROC#3 Sl#3 Ch#14 unused +! 15 !ADC ROC#3 Sl#3 Ch#15 unused + ! 16 !ADC ROC#3 Sl#3 Ch#16 signal {A01} + ! 17 !ADC ROC#3 Sl#3 Ch#17 signal {A02} + ! 18 !ADC ROC#3 Sl#3 Ch#18 signal {A03} + ! 19 !ADC ROC#3 Sl#3 Ch#19 signal {A04} + ! 20 !ADC ROC#3 Sl#3 Ch#20 signal {A05} + ! 21 !ADC ROC#3 Sl#3 Ch#21 signal {A06} + ! 22 !ADC ROC#3 Sl#3 Ch#22 signal {A07} + ! 23 !ADC ROC#3 Sl#3 Ch#23 signal {A08} + ! 24 !ADC ROC#3 Sl#3 Ch#24 signal {A09} + ! 25 !ADC ROC#3 Sl#3 Ch#25 signal {A10} + ! 26 !ADC ROC#3 Sl#3 Ch#26 signal {A11} + ! 27 !ADC ROC#3 Sl#3 Ch#27 signal {A12} + ! 28 !ADC ROC#3 Sl#3 Ch#28 signal {A13} + ! 29 !ADC ROC#3 Sl#3 Ch#29 signal {A14} + ! 30 !ADC ROC#3 Sl#3 Ch#30 signal {A15} + ! 31 !ADC ROC#3 Sl#3 Ch#31 signal {A16} +! +!........................................................ +! SAER took out from SOS detector hut (Hamlet, 21 Dec'02) +! +! detector= 16 !SAER +! +! 32 !ADC ROC#3 Sl#3 Ch#32 DEAD!!!! +! 33 !ADC ROC#3 Sl#3 Ch#33 unused spare +! 34, 1, 1, 0 !ADC ROC#3 Sl#3 Ch#34 signal pos 1 +! 35, 1, 2, 0 !ADC ROC#3 Sl#3 Ch#35 signal pos 2 +! 36, 1, 3, 0 !ADC ROC#3 Sl#3 Ch#36 signal pos 3 +! 37, 1, 4, 0 !ADC ROC#3 Sl#3 Ch#37 signal pos 4 +! 38, 1, 5, 0 !ADC ROC#3 Sl#3 Ch#38 signal pos 5 +! 39, 1, 6, 0 !ADC ROC#3 Sl#3 Ch#39 signal pos 6 +! 40, 1, 7, 0 !ADC ROC#3 Sl#3 Ch#40 signal pos 7 +! 41, 1, 1, 1 !ADC ROC#3 Sl#3 Ch#41 signal neg 1 +! 42, 1, 2, 1 !ADC ROC#3 Sl#3 Ch#42 signal neg 2 +! 43, 1, 3, 1 !ADC ROC#3 Sl#3 Ch#43 signal neg 3 +! 44, 1, 4, 1 !ADC ROC#3 Sl#3 Ch#44 signal neg 4 +! 45, 1, 5, 1 !ADC ROC#3 Sl#3 Ch#45 signal neg 5 +! 46, 1, 6, 1 !ADC ROC#3 Sl#3 Ch#46 signal neg 6 +! 47, 1, 7, 1 !ADC ROC#3 Sl#3 Ch#47 signal neg 7 +! 48, 1, 8, 0 !ADC ROC#3 Sl#3 Ch#48 amplified signal pos 1 +! 49, 1, 9, 0 !ADC ROC#3 Sl#3 Ch#49 amplified signal pos 2 +! 50, 1, 10, 0 !ADC ROC#3 Sl#3 Ch#50 amplified signal pos 3 +! 51, 1, 11, 0 !ADC ROC#3 Sl#3 Ch#51 amplified signal pos 4 +! 52, 1, 12, 0 !ADC ROC#3 Sl#3 Ch#52 amplified signal pos 5 +! 53, 1, 13, 0 !ADC ROC#3 Sl#3 Ch#53 amplified signal pos 6 +! 54, 1, 14, 0 !ADC ROC#3 Sl#3 Ch#54 amplified signal pos 7 +! 55, 1, 15, 0 !ADC ROC#3 Sl#3 Ch#62 amplified signal sum 1-7 +! 56, 1, 8, 1 !ADC ROC#3 Sl#3 Ch#55 amplified signal neg 1 +! 57, 1, 9, 1 !ADC ROC#3 Sl#3 Ch#56 amplified signal neg 2 +! 58, 1, 10, 1 !ADC ROC#3 Sl#3 Ch#57 amplified signal neg 3 +! 59, 1, 11, 1 !ADC ROC#3 Sl#3 Ch#58 amplified signal neg 4 +! 60, 1, 12, 1 !ADC ROC#3 Sl#3 Ch#59 amplified signal neg 5 +! 61, 1, 13, 1 !ADC ROC#3 Sl#3 Ch#60 amplified signal neg 6 +! 62, 1, 14, 1 !ADC ROC#3 Sl#3 Ch#61 amplified signal neg 7 +! 63, 1, 15, 1 !ADC ROC#3 Sl#3 Ch#63 amplified signal sum 8-14 +! + + + + + + + + diff --git a/examples/MAPS/raster_jun04.map b/examples/MAPS/raster_jun04.map new file mode 100644 index 0000000000000000000000000000000000000000..73773271badd70c9b374b63b0a3ddde7ed94448c --- /dev/null +++ b/examples/MAPS/raster_jun04.map @@ -0,0 +1,3262 @@ +! Updated to reflect new TDC for HMS aerogel and proper mapping of misc +! trigger signals in SOS. Dave G (5/5/2003) +! +! + help !lists available keywords + NOecho !copies input lines to tty output + NOdebug !turn on input debugging + override !skip over errors +! +! hall C encode/decode configuration file +! giving the FASTBUS geographical to standard +! hall C COMMONs location as described by +! "gen_data_structures.cmn" K.B.Beard 13jun94 +! 10/19/94 (jra) Change ch1 roc to 8 (from 1), hms roc to 7 (from 2). +! +! 6/24/94 (SAW) Turn on lines for miscleaneous TDC's +! Change ch1 roc to 1 (from 0), hms roc to 2 (from 1). +! Disable last 16 channels of miscleaneous TDC +! +! 1/23/2014 (buddhini) Added a new IDs for raster and BPMs. +! Added the detector ID = 18 before raster channel information. +! Changed the raster plane, counter and signal columns to enable hit readout via the C++ anakysis +! hit handling method. Under this, the raster has plane NO 1, counter numbers 13 to 15 and signals +! 1 - X sync, 2- X-sig, 3- Y-sync, 4-Y-sig +! standard id numbers +! signals +!HMS: +! HDC_ID= 1 TDC +! HSCIN_ID= 2 ADC+,ADC-,TDC+,TDC- +! HCER_ID= 3 ADC +! HCAL_ID= 4 ADC +! HMISC_ID= 5 TDC,(ADC) +!GEN: +! GMISC_ID= 6 (TDC),ADC +! HAERO_ID= 7 (TDC),ADC +!SOS: +! SDC_ID= 11 TDC +! SSCIN_ID= 12 ADC+,ADC-,TDC+,TDC- +! SCER_ID= 13 ADC +! SCAL_ID= 14 ADC +! SMISC_ID= 15 TDC,(ADC) +! SAER_ID= 16 ADC +! SLUC_ID=17 ADC +!BEAM: +! RASTER_ID= 18 ADC +! BPM_ID= 19 ADC +! +! consider subadd equiv. to channel +! +! specify: subadd, plane, element, signal +! a, p, e, s +! 0- 1- 1- 0-3 +![if there is only signal 0 (DC,CER,CAL) it may be ommitted] +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS upstairs and downstairs map K.B.Beard 13-Jun-1994 +! for Jun94 run +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! HMS downstairs (HDC) map K.B.Beard & S.Avery 13-Jun-1994 +! revised by A. Johnson 4-Feb-1999 +! +! vvvvvvvvvvvvvvvvvvvvvv Wire chambers start here vvvvvvvvvvvvvvvvvvvvvvvvv + ROC= 2 !ReadOutController (crate) for HMS wire chambers +! +! +! TDC modules are Lecroy 1877 + Nsubadd= 96 + MASK= FFFFx !hex mask + BSUB= 17 !start channel in bit#17 +! + detector= 1 !HDC +! +! 1st HDC chamber - (2nd in position) - planes7-12 +Slot= 2 +0, 8, 1 !TDC ROC#2 Sl#2 Ch#0 HDC pl#8 [Y1] wire#1 +1, 8, 2 !TDC ROC#2 Sl#2 Ch#1 HDC pl#8 [Y1] wire#2 +2, 8, 3 !TDC ROC#2 Sl#2 Ch#2 HDC pl#8 [Y1] wire#3 +3, 8, 4 !TDC ROC#2 Sl#2 Ch#3 HDC pl#8 [Y1] wire#4 +4, 8, 5 !TDC ROC#2 Sl#2 Ch#4 HDC pl#8 [Y1] wire#5 +5, 8, 6 !TDC ROC#2 Sl#2 Ch#5 HDC pl#8 [Y1] wire#6 +6, 8, 7 !TDC ROC#2 Sl#2 Ch#6 HDC pl#8 [Y1] wire#7 +7, 8, 8 !TDC ROC#2 Sl#2 Ch#7 HDC pl#8 [Y1] wire#8 +8, 8, 9 !TDC ROC#2 Sl#2 Ch#8 HDC pl#8 [Y1] wire#9 +9, 8, 10 !TDC ROC#2 Sl#2 Ch#9 HDC pl#8 [Y1] wire#10 +10, 8, 11 !TDC ROC#2 Sl#2 Ch#10 HDC pl#8 [Y1] wire#11 +11, 8, 12 !TDC ROC#2 Sl#2 Ch#11 HDC pl#8 [Y1] wire#12 +12, 8, 13 !TDC ROC#2 Sl#2 Ch#12 HDC pl#8 [Y1] wire#13 +!13 !TDC ROC#2 Sl#2 Ch#13 unused +!14 !TDC ROC#2 Sl#2 Ch#14 unused +!15 !TDC ROC#2 Sl#2 Ch#15 unused +16, 11, 40 !TDC ROC#2 Sl#2 Ch#16 HDC pl#11 [Y2] wire#40 +17, 11, 41 !TDC ROC#2 Sl#2 Ch#17 HDC pl#11 [Y2] wire#41 +18, 11, 42 !TDC ROC#2 Sl#2 Ch#18 HDC pl#11 [Y2] wire#42 +19, 11, 43 !TDC ROC#2 Sl#2 Ch#19 HDC pl#11 [Y2] wire#43 +20, 11, 44 !TDC ROC#2 Sl#2 Ch#20 HDC pl#11 [Y2] wire#44 +21, 11, 45 !TDC ROC#2 Sl#2 Ch#21 HDC pl#11 [Y2] wire#45 +22, 11, 46 !TDC ROC#2 Sl#2 Ch#22 HDC pl#11 [Y2] wire#46 +23, 11, 47 !TDC ROC#2 Sl#2 Ch#23 HDC pl#11 [Y2] wire#47 +24, 11, 48 !TDC ROC#2 Sl#2 Ch#24 HDC pl#11 [Y2] wire#48 +25, 11, 49 !TDC ROC#2 Sl#2 Ch#25 HDC pl#11 [Y2] wire#49 +26, 11, 50 !TDC ROC#2 Sl#2 Ch#26 HDC pl#11 [Y2] wire#50 +27, 11, 51 !TDC ROC#2 Sl#2 Ch#27 HDC pl#11 [Y2] wire#51 +28, 11, 52 !TDC ROC#2 Sl#2 Ch#28 HDC pl#11 [Y2] wire#52 +!29 !TDC ROC#2 Sl#2 Ch#29 unused +!30 !TDC ROC#2 Sl#2 Ch#30 unused +!31 !TDC ROC#2 Sl#2 Ch#31 unused +32, 8, 14 !TDC ROC#2 Sl#2 Ch#32 HDC pl#8 [Y1] wire#14 +33, 8, 15 !TDC ROC#2 Sl#2 Ch#33 HDC pl#8 [Y1] wire#15 +34, 8, 16 !TDC ROC#2 Sl#2 Ch#34 HDC pl#8 [Y1] wire#16 +35, 8, 17 !TDC ROC#2 Sl#2 Ch#35 HDC pl#8 [Y1] wire#17 +36, 8, 18 !TDC ROC#2 Sl#2 Ch#36 HDC pl#8 [Y1] wire#18 +37, 8, 19 !TDC ROC#2 Sl#2 Ch#37 HDC pl#8 [Y1] wire#19 +38, 8, 20 !TDC ROC#2 Sl#2 Ch#38 HDC pl#8 [Y1] wire#20 +39, 8, 21 !TDC ROC#2 Sl#2 Ch#39 HDC pl#8 [Y1] wire#21 +40, 8, 22 !TDC ROC#2 Sl#2 Ch#40 HDC pl#8 [Y1] wire#22 +41, 8, 23 !TDC ROC#2 Sl#2 Ch#41 HDC pl#8 [Y1] wire#23 +42, 8, 24 !TDC ROC#2 Sl#2 Ch#42 HDC pl#8 [Y1] wire#24 +43, 8, 25 !TDC ROC#2 Sl#2 Ch#43 HDC pl#8 [Y1] wire#25 +44, 8, 26 !TDC ROC#2 Sl#2 Ch#44 HDC pl#8 [Y1] wire#26 +!45 !TDC ROC#2 Sl#2 Ch#45 unused +!46 !TDC ROC#2 Sl#2 Ch#46 unused +!47 !TDC ROC#2 Sl#2 Ch#47 unused +48, 11, 27 !TDC ROC#2 Sl#2 Ch#48 HDC pl#11 [Y2] wire#27 +49, 11, 28 !TDC ROC#2 Sl#2 Ch#49 HDC pl#11 [Y2] wire#28 +50, 11, 29 !TDC ROC#2 Sl#2 Ch#50 HDC pl#11 [Y2] wire#29 +51, 11, 30 !TDC ROC#2 Sl#2 Ch#51 HDC pl#11 [Y2] wire#30 +52, 11, 31 !TDC ROC#2 Sl#2 Ch#52 HDC pl#11 [Y2] wire#31 +53, 11, 32 !TDC ROC#2 Sl#2 Ch#53 HDC pl#11 [Y2] wire#32 +54, 11, 33 !TDC ROC#2 Sl#2 Ch#54 HDC pl#11 [Y2] wire#33 +55, 11, 34 !TDC ROC#2 Sl#2 Ch#55 HDC pl#11 [Y2] wire#34 +56, 11, 35 !TDC ROC#2 Sl#2 Ch#56 HDC pl#11 [Y2] wire#35 +57, 11, 36 !TDC ROC#2 Sl#2 Ch#57 HDC pl#11 [Y2] wire#36 +58, 11, 37 !TDC ROC#2 Sl#2 Ch#58 HDC pl#11 [Y2] wire#37 +59, 11, 38 !TDC ROC#2 Sl#2 Ch#59 HDC pl#11 [Y2] wire#38 +60, 11, 39 !TDC ROC#2 Sl#2 Ch#60 HDC pl#11 [Y2] wire#39 +!61 !TDC ROC#2 Sl#2 Ch#61 unused +!62 !TDC ROC#2 Sl#2 Ch#62 unused +!63 !TDC ROC#2 Sl#2 Ch#63 unused +64, 8, 27 !TDC ROC#2 Sl#2 Ch#64 HDC pl#8 [Y1] wire#27 +65, 8, 28 !TDC ROC#2 Sl#2 Ch#65 HDC pl#8 [Y1] wire#28 +66, 8, 29 !TDC ROC#2 Sl#2 Ch#66 HDC pl#8 [Y1] wire#29 +67, 8, 30 !TDC ROC#2 Sl#2 Ch#67 HDC pl#8 [Y1] wire#30 +68, 8, 31 !TDC ROC#2 Sl#2 Ch#68 HDC pl#8 [Y1] wire#31 +69, 8, 32 !TDC ROC#2 Sl#2 Ch#69 HDC pl#8 [Y1] wire#32 +70, 8, 33 !TDC ROC#2 Sl#2 Ch#70 HDC pl#8 [Y1] wire#33 +71, 8, 34 !TDC ROC#2 Sl#2 Ch#71 HDC pl#8 [Y1] wire#34 +72, 8, 35 !TDC ROC#2 Sl#2 Ch#72 HDC pl#8 [Y1] wire#35 +73, 8, 36 !TDC ROC#2 Sl#2 Ch#73 HDC pl#8 [Y1] wire#36 +74, 8, 37 !TDC ROC#2 Sl#2 Ch#74 HDC pl#8 [Y1] wire#37 +75, 8, 38 !TDC ROC#2 Sl#2 Ch#75 HDC pl#8 [Y1] wire#38 +76, 8, 39 !TDC ROC#2 Sl#2 Ch#76 HDC pl#8 [Y1] wire#39 +!77 !TDC ROC#2 Sl#2 Ch#77 unused +!78 !TDC ROC#2 Sl#2 Ch#78 unused +!79 !TDC ROC#2 Sl#2 Ch#79 unused +80, 11, 14 !TDC ROC#2 Sl#2 Ch#80 HDC pl#11 [Y2] wire#14 +81, 11, 15 !TDC ROC#2 Sl#2 Ch#81 HDC pl#11 [Y2] wire#15 +82, 11, 16 !TDC ROC#2 Sl#2 Ch#82 HDC pl#11 [Y2] wire#16 +83, 11, 17 !TDC ROC#2 Sl#2 Ch#83 HDC pl#11 [Y2] wire#17 +84, 11, 18 !TDC ROC#2 Sl#2 Ch#84 HDC pl#11 [Y2] wire#18 +85, 11, 19 !TDC ROC#2 Sl#2 Ch#85 HDC pl#11 [Y2] wire#19 +86, 11, 20 !TDC ROC#2 Sl#2 Ch#86 HDC pl#11 [Y2] wire#20 +87, 11, 21 !TDC ROC#2 Sl#2 Ch#87 HDC pl#11 [Y2] wire#21 +88, 11, 22 !TDC ROC#2 Sl#2 Ch#88 HDC pl#11 [Y2] wire#22 +89, 11, 23 !TDC ROC#2 Sl#2 Ch#89 HDC pl#11 [Y2] wire#23 +90, 11, 24 !TDC ROC#2 Sl#2 Ch#90 HDC pl#11 [Y2] wire#24 +91, 11, 25 !TDC ROC#2 Sl#2 Ch#91 HDC pl#11 [Y2] wire#25 +92, 11, 26 !TDC ROC#2 Sl#2 Ch#92 HDC pl#11 [Y2] wire#26 +!93 !TDC ROC#2 Sl#2 Ch#93 unused +!94 !TDC ROC#2 Sl#2 Ch#94 unused +!95 !TDC ROC#2 Sl#2 Ch#95 unused + +Slot= 3 +0, 8, 40 !TDC ROC#2 Sl#3 Ch#0 HDC pl#8 [Y1] wire#40 +1, 8, 41 !TDC ROC#2 Sl#3 Ch#1 HDC pl#8 [Y1] wire#41 +2, 8, 42 !TDC ROC#2 Sl#3 Ch#2 HDC pl#8 [Y1] wire#42 +3, 8, 43 !TDC ROC#2 Sl#3 Ch#3 HDC pl#8 [Y1] wire#43 +4, 8, 44 !TDC ROC#2 Sl#3 Ch#4 HDC pl#8 [Y1] wire#44 +5, 8, 45 !TDC ROC#2 Sl#3 Ch#5 HDC pl#8 [Y1] wire#45 +6, 8, 46 !TDC ROC#2 Sl#3 Ch#6 HDC pl#8 [Y1] wire#46 +7, 8, 47 !TDC ROC#2 Sl#3 Ch#7 HDC pl#8 [Y1] wire#47 +8, 8, 48 !TDC ROC#2 Sl#3 Ch#8 HDC pl#8 [Y1] wire#48 +9, 8, 49 !TDC ROC#2 Sl#3 Ch#9 HDC pl#8 [Y1] wire#49 +10, 8, 50 !TDC ROC#2 Sl#3 Ch#10 HDC pl#8 [Y1] wire#50 +11, 8, 51 !TDC ROC#2 Sl#3 Ch#11 HDC pl#8 [Y1] wire#51 +12, 8, 52 !TDC ROC#2 Sl#3 Ch#12 HDC pl#8 [Y1] wire#52 +!13 !TDC ROC#2 Sl#3 Ch#13 +!14 !TDC ROC#2 Sl#3 Ch#14 +!15 !TDC ROC#2 Sl#3 Ch#15 +16, 11, 1 !TDC ROC#2 Sl#3 Ch#16 HDC pl#11 [Y2] wire#1 +17, 11, 2 !TDC ROC#2 Sl#3 Ch#17 HDC pl#11 [Y2] wire#2 +18, 11, 3 !TDC ROC#2 Sl#3 Ch#18 HDC pl#11 [Y2] wire#3 +19, 11, 4 !TDC ROC#2 Sl#3 Ch#19 HDC pl#11 [Y2] wire#4 +20, 11, 5 !TDC ROC#2 Sl#3 Ch#20 HDC pl#11 [Y2] wire#5 +21, 11, 6 !TDC ROC#2 Sl#3 Ch#21 HDC pl#11 [Y2] wire#6 +22, 11, 7 !TDC ROC#2 Sl#3 Ch#22 HDC pl#11 [Y2] wire#7 +23, 11, 8 !TDC ROC#2 Sl#3 Ch#23 HDC pl#11 [Y2] wire#8 +24, 11, 9 !TDC ROC#2 Sl#3 Ch#24 HDC pl#11 [Y2] wire#9 +25, 11, 10 !TDC ROC#2 Sl#3 Ch#25 HDC pl#11 [Y2] wire#10 +26, 11, 11 !TDC ROC#2 Sl#3 Ch#26 HDC pl#11 [Y2] wire#11 +27, 11, 12 !TDC ROC#2 Sl#3 Ch#27 HDC pl#11 [Y2] wire#12 +28, 11, 13 !TDC ROC#2 Sl#3 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#3 Ch#29 unused +! 30 !TDC ROC#2 Sl#3 Ch#30 unused +! 31 !TDC ROC#2 Sl#3 Ch#31 unused +32, 10, 92 !TDC ROC#2 Sl#3 Ch#32 HDC pl#10 [V] wire#92 +33, 10, 93 !TDC ROC#2 Sl#3 Ch#33 HDC pl#10 [V] wire#93 +34, 10, 94 !TDC ROC#2 Sl#3 Ch#34 HDC pl#10 [V] wire#94 +35, 10, 95 !TDC ROC#2 Sl#3 Ch#35 HDC pl#10 [V] wire#95 +36, 10, 96 !TDC ROC#2 Sl#3 Ch#36 HDC pl#10 [V] wire#96 +37, 10, 97 !TDC ROC#2 Sl#3 Ch#37 HDC pl#10 [V] wire#97 +38, 10, 98 !TDC ROC#2 Sl#3 Ch#38 HDC pl#10 [V] wire#98 +39, 10, 99 !TDC ROC#2 Sl#3 Ch#39 HDC pl#10 [V] wire#99 +40, 10, 100 !TDC ROC#2 Sl#3 Ch#40 HDC pl#10 [V] wire#100 +41, 10, 101 !TDC ROC#2 Sl#3 Ch#41 HDC pl#10 [V] wire#101 +42, 10, 102 !TDC ROC#2 Sl#3 Ch#42 HDC pl#10 [V] wire#102 +43, 10, 103 !TDC ROC#2 Sl#3 Ch#43 HDC pl#10 [V] wire#103 +44, 10, 104 !TDC ROC#2 Sl#3 Ch#44 HDC pl#10 [V] wire#104 +45, 10, 105 !TDC ROC#2 Sl#3 Ch#45 HDC pl#10 [V] wire#105 +46, 10, 106 !TDC ROC#2 Sl#3 Ch#46 HDC pl#10 [V] wire#106 +47, 10, 107 !TDC ROC#2 Sl#3 Ch#47 HDC pl#10 [V] wire#107 +48, 7, 97 !TDC ROC#2 Sl#3 Ch#48 HDC pl#7 [X1] wire#97 +49, 7, 98 !TDC ROC#2 Sl#3 Ch#49 HDC pl#7 [X1] wire#98 +50, 7, 99 !TDC ROC#2 Sl#3 Ch#50 HDC pl#7 [X1] wire#99 +51, 7, 100 !TDC ROC#2 Sl#3 Ch#51 HDC pl#7 [X1] wire#100 +52, 7, 101 !TDC ROC#2 Sl#3 Ch#52 HDC pl#7 [X1] wire#101 +53, 7, 102 !TDC ROC#2 Sl#3 Ch#53 HDC pl#7 [X1] wire#102 +54, 7, 103 !TDC ROC#2 Sl#3 Ch#54 HDC pl#7 [X1] wire#103 +55, 7, 104 !TDC ROC#2 Sl#3 Ch#55 HDC pl#7 [X1] wire#104 +56, 7, 105 !TDC ROC#2 Sl#3 Ch#56 HDC pl#7 [X1] wire#105 +57, 7, 106 !TDC ROC#2 Sl#3 Ch#57 HDC pl#7 [X1] wire#106 +58, 7, 107 !TDC ROC#2 Sl#3 Ch#58 HDC pl#7 [X1] wire#107 +59, 7, 108 !TDC ROC#2 Sl#3 Ch#59 HDC pl#7 [X1] wire#108 +60, 7, 109 !TDC ROC#2 Sl#3 Ch#60 HDC pl#7 [X1] wire#109 +61, 7, 110 !TDC ROC#2 Sl#3 Ch#61 HDC pl#7 [X1] wire#110 +62, 7, 111 !TDC ROC#2 Sl#3 Ch#62 HDC pl#7 [X1] wire#111 +63, 7, 112 !TDC ROC#2 Sl#3 Ch#63 HDC pl#7 [X1] wire#112 +64, 12, 1 !TDC ROC#2 Sl#3 Ch#64 HDC pl#12 [X2] wire#1 +65, 12, 2 !TDC ROC#2 Sl#3 Ch#65 HDC pl#12 [X2] wire#2 +66, 12, 3 !TDC ROC#2 Sl#3 Ch#66 HDC pl#12 [X2] wire#3 +67, 12, 4 !TDC ROC#2 Sl#3 Ch#67 HDC pl#12 [X2] wire#4 +68, 12, 5 !TDC ROC#2 Sl#3 Ch#68 HDC pl#12 [X2] wire#5 +69, 12, 6 !TDC ROC#2 Sl#3 Ch#69 HDC pl#12 [X2] wire#6 +70, 12, 7 !TDC ROC#2 Sl#3 Ch#70 HDC pl#12 [X2] wire#7 +71, 12, 8 !TDC ROC#2 Sl#3 Ch#71 HDC pl#12 [X2] wire#8 +72, 12, 9 !TDC ROC#2 Sl#3 Ch#72 HDC pl#12 [X2] wire#9 +73, 12, 10 !TDC ROC#2 Sl#3 Ch#73 HDC pl#12 [X2] wire#10 +74, 12, 11 !TDC ROC#2 Sl#3 Ch#74 HDC pl#12 [X2] wire#11 +75, 12, 12 !TDC ROC#2 Sl#3 Ch#75 HDC pl#12 [X2] wire#12 +76, 12, 13 !TDC ROC#2 Sl#3 Ch#76 HDC pl#12 [X2] wire#13 +77, 12, 14 !TDC ROC#2 Sl#3 Ch#77 HDC pl#12 [X2] wire#14 +78, 12, 15 !TDC ROC#2 Sl#3 Ch#78 HDC pl#12 [X2] wire#15 +79, 12, 16 !TDC ROC#2 Sl#3 Ch#79 HDC pl#12 [X2] wire#16 +80, 7, 113 !TDC ROC#2 Sl#3 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#3 Ch#81 unused +82, 9, 1 !TDC ROC#2 Sl#3 Ch#82 HDC pl#9 [U] wire#1 +83, 9, 2 !TDC ROC#2 Sl#3 Ch#83 HDC pl#9 [U] wire#2 +84, 9, 3 !TDC ROC#2 Sl#3 Ch#84 HDC pl#9 [U] wire#3 +85, 9, 4 !TDC ROC#2 Sl#3 Ch#85 HDC pl#9 [U] wire#4 +86, 9, 5 !TDC ROC#2 Sl#3 Ch#86 HDC pl#9 [U] wire#5 +87, 9, 6 !TDC ROC#2 Sl#3 Ch#87 HDC pl#9 [U] wire#6 +88, 9, 7 !TDC ROC#2 Sl#3 Ch#88 HDC pl#9 [U] wire#7 +89, 9, 8 !TDC ROC#2 Sl#3 Ch#89 HDC pl#9 [U] wire#8 +90, 9, 9 !TDC ROC#2 Sl#3 Ch#90 HDC pl#9 [U] wire#9 +91, 9, 10 !TDC ROC#2 Sl#3 Ch#91 HDC pl#9 [U] wire#10 +92, 9, 11 !TDC ROC#2 Sl#3 Ch#92 HDC pl#9 [U] wire#11 +93, 9, 12 !TDC ROC#2 Sl#3 Ch#93 HDC pl#9 [U] wire#12 +94, 9, 13 !TDC ROC#2 Sl#3 Ch#94 HDC pl#9 [U] wire#13 +95, 9, 14 !TDC ROC#2 Sl#3 Ch#95 HDC pl#9 [U] wire#14 +Slot= 5 +0, 10, 77 !TDC ROC#2 Sl#5 Ch#0 HDC pl#10 [V] wire#77 +1, 10, 78 !TDC ROC#2 Sl#5 Ch#1 HDC pl#10 [V] wire#78 +2, 10, 79 !TDC ROC#2 Sl#5 Ch#2 HDC pl#10 [V] wire#79 +3, 10, 80 !TDC ROC#2 Sl#5 Ch#3 HDC pl#10 [V] wire#80 +4, 10, 81 !TDC ROC#2 Sl#5 Ch#4 HDC pl#10 [V] wire#81 +5, 10, 82 !TDC ROC#2 Sl#5 Ch#5 HDC pl#10 [V] wire#82 +6, 10, 83 !TDC ROC#2 Sl#5 Ch#6 HDC pl#10 [V] wire#83 +7, 10, 84 !TDC ROC#2 Sl#5 Ch#7 HDC pl#10 [V] wire#84 +8, 10, 85 !TDC ROC#2 Sl#5 Ch#8 HDC pl#10 [V] wire#85 +9, 10, 86 !TDC ROC#2 Sl#5 Ch#9 HDC pl#10 [V] wire#86 +10, 10, 87 !TDC ROC#2 Sl#5 Ch#10 HDC pl#10 [V] wire#87 +11, 10, 88 !TDC ROC#2 Sl#5 Ch#11 HDC pl#10 [V] wire#88 +12, 10, 89 !TDC ROC#2 Sl#5 Ch#12 HDC pl#10 [V] wire#89 +13, 10, 90 !TDC ROC#2 Sl#5 Ch#13 HDC pl#10 [V] wire#90 +14, 10, 91 !TDC ROC#2 Sl#5 Ch#14 HDC pl#10 [V] wire#91 +! 15 !TDC ROC#2 Sl#5 Ch#15 unused +16, 7, 81 !TDC ROC#2 Sl#5 Ch#16 HDC pl#7 [X1] wire#81 +17, 7, 82 !TDC ROC#2 Sl#5 Ch#17 HDC pl#7 [X1] wire#82 +18, 7, 83 !TDC ROC#2 Sl#5 Ch#18 HDC pl#7 [X1] wire#83 +19, 7, 84 !TDC ROC#2 Sl#5 Ch#19 HDC pl#7 [X1] wire#84 +20, 7, 85 !TDC ROC#2 Sl#5 Ch#20 HDC pl#7 [X1] wire#85 +21, 7, 86 !TDC ROC#2 Sl#5 Ch#21 HDC pl#7 [X1] wire#86 +22, 7, 87 !TDC ROC#2 Sl#5 Ch#22 HDC pl#7 [X1] wire#87 +23, 7, 88 !TDC ROC#2 Sl#5 Ch#23 HDC pl#7 [X1] wire#88 +24, 7, 89 !TDC ROC#2 Sl#5 Ch#24 HDC pl#7 [X1] wire#89 +25, 7, 90 !TDC ROC#2 Sl#5 Ch#25 HDC pl#7 [X1] wire#90 +26, 7, 91 !TDC ROC#2 Sl#5 Ch#26 HDC pl#7 [X1] wire#91 +27, 7, 92 !TDC ROC#2 Sl#5 Ch#27 HDC pl#7 [X1] wire#92 +28, 7, 93 !TDC ROC#2 Sl#5 Ch#28 HDC pl#7 [X1] wire#93 +29, 7, 94 !TDC ROC#2 Sl#5 Ch#29 HDC pl#7 [X1] wire#94 +30, 7, 95 !TDC ROC#2 Sl#5 Ch#30 HDC pl#7 [X1] wire#95 +31, 7, 96 !TDC ROC#2 Sl#5 Ch#31 HDC pl#7 [X1] wire#96 +32, 12, 17 !TDC ROC#2 Sl#5 Ch#32 HDC pl#12 [X2] wire#17 +33, 12, 18 !TDC ROC#2 Sl#5 Ch#33 HDC pl#12 [X2] wire#18 +34, 12, 19 !TDC ROC#2 Sl#5 Ch#34 HDC pl#12 [X2] wire#19 +35, 12, 20 !TDC ROC#2 Sl#5 Ch#35 HDC pl#12 [X2] wire#20 +36, 12, 21 !TDC ROC#2 Sl#5 Ch#36 HDC pl#12 [X2] wire#21 +37, 12, 22 !TDC ROC#2 Sl#5 Ch#37 HDC pl#12 [X2] wire#22 +38, 12, 23 !TDC ROC#2 Sl#5 Ch#38 HDC pl#12 [X2] wire#23 +39, 12, 24 !TDC ROC#2 Sl#5 Ch#39 HDC pl#12 [X2] wire#24 +40, 12, 25 !TDC ROC#2 Sl#5 Ch#40 HDC pl#12 [X2] wire#25 +41, 12, 26 !TDC ROC#2 Sl#5 Ch#41 HDC pl#12 [X2] wire#26 +42, 12, 27 !TDC ROC#2 Sl#5 Ch#42 HDC pl#12 [X2] wire#27 +43, 12, 28 !TDC ROC#2 Sl#5 Ch#43 HDC pl#12 [X2] wire#28 +44, 12, 29 !TDC ROC#2 Sl#5 Ch#44 HDC pl#12 [X2] wire#29 +45, 12, 30 !TDC ROC#2 Sl#5 Ch#45 HDC pl#12 [X2] wire#30 +46, 12, 31 !TDC ROC#2 Sl#5 Ch#46 HDC pl#12 [X2] wire#31 +47, 12, 32 !TDC ROC#2 Sl#5 Ch#47 HDC pl#12 [X2] wire#32 +48, 9, 15 !TDC ROC#2 Sl#5 Ch#48 HDC pl#9 [U] wire#15 +49, 9, 16 !TDC ROC#2 Sl#5 Ch#49 HDC pl#9 [U] wire#16 +50, 9, 17 !TDC ROC#2 Sl#5 Ch#50 HDC pl#9 [U] wire#17 +51, 9, 18 !TDC ROC#2 Sl#5 Ch#51 HDC pl#9 [U] wire#18 +52, 9, 19 !TDC ROC#2 Sl#5 Ch#52 HDC pl#9 [U] wire#19 +53, 9, 20 !TDC ROC#2 Sl#5 Ch#53 HDC pl#9 [U] wire#20 +54, 9, 21 !TDC ROC#2 Sl#5 Ch#54 HDC pl#9 [U] wire#21 +55, 9, 22 !TDC ROC#2 Sl#5 Ch#55 HDC pl#9 [U] wire#22 +56, 9, 23 !TDC ROC#2 Sl#5 Ch#56 HDC pl#9 [U] wire#23 +57, 9, 24 !TDC ROC#2 Sl#5 Ch#57 HDC pl#9 [U] wire#24 +58, 9, 25 !TDC ROC#2 Sl#5 Ch#58 HDC pl#9 [U] wire#25 +59, 9, 26 !TDC ROC#2 Sl#5 Ch#59 HDC pl#9 [U] wire#26 +60, 9, 27 !TDC ROC#2 Sl#5 Ch#60 HDC pl#9 [U] wire#27 +61, 9, 28 !TDC ROC#2 Sl#5 Ch#61 HDC pl#9 [U] wire#28 +62, 9, 29 !TDC ROC#2 Sl#5 Ch#62 HDC pl#9 [U] wire#29 +!63 !TDC ROC#2 Sl#5 Ch#63 unused +64, 10, 61 !TDC ROC#2 Sl#5 Ch#64 HDC pl#10 [V] wire#61 +65, 10, 62 !TDC ROC#2 Sl#5 Ch#65 HDC pl#10 [V] wire#62 +66, 10, 63 !TDC ROC#2 Sl#5 Ch#66 HDC pl#10 [V] wire#63 +67, 10, 64 !TDC ROC#2 Sl#5 Ch#67 HDC pl#10 [V] wire#64 +68, 10, 65 !TDC ROC#2 Sl#5 Ch#68 HDC pl#10 [V] wire#65 +69, 10, 66 !TDC ROC#2 Sl#5 Ch#69 HDC pl#10 [V] wire#66 +70, 10, 67 !TDC ROC#2 Sl#5 Ch#70 HDC pl#10 [V] wire#67 +71, 10, 68 !TDC ROC#2 Sl#5 Ch#71 HDC pl#10 [V] wire#68 +72, 10, 69 !TDC ROC#2 Sl#5 Ch#72 HDC pl#10 [V] wire#69 +73, 10, 70 !TDC ROC#2 Sl#5 Ch#73 HDC pl#10 [V] wire#70 +74, 10, 71 !TDC ROC#2 Sl#5 Ch#74 HDC pl#10 [V] wire#71 +75, 10, 72 !TDC ROC#2 Sl#5 Ch#75 HDC pl#10 [V] wire#72 +76, 10, 73 !TDC ROC#2 Sl#5 Ch#76 HDC pl#10 [V] wire#73 +77, 10, 74 !TDC ROC#2 Sl#5 Ch#77 HDC pl#10 [V] wire#74 +78, 10, 75 !TDC ROC#2 Sl#5 Ch#78 HDC pl#10 [V] wire#75 +79, 10, 76 !TDC ROC#2 Sl#5 Ch#79 HDC pl#10 [V] wire#76 +80, 7, 65 !TDC ROC#2 Sl#5 Ch#80 HDC pl#7 [X1] wire#65 +81, 7, 66 !TDC ROC#2 Sl#5 Ch#81 HDC pl#7 [X1] wire#66 +82, 7, 67 !TDC ROC#2 Sl#5 Ch#82 HDC pl#7 [X1] wire#67 +83, 7, 68 !TDC ROC#2 Sl#5 Ch#83 HDC pl#7 [X1] wire#68 +84, 7, 69 !TDC ROC#2 Sl#5 Ch#84 HDC pl#7 [X1] wire#69 +85, 7, 70 !TDC ROC#2 Sl#5 Ch#85 HDC pl#7 [X1] wire#70 +86, 7, 71 !TDC ROC#2 Sl#5 Ch#86 HDC pl#7 [X1] wire#71 +87, 7, 72 !TDC ROC#2 Sl#5 Ch#87 HDC pl#7 [X1] wire#72 +88, 7, 73 !TDC ROC#2 Sl#5 Ch#88 HDC pl#7 [X1] wire#73 +89, 7, 74 !TDC ROC#2 Sl#5 Ch#89 HDC pl#7 [X1] wire#74 +90, 7, 75 !TDC ROC#2 Sl#5 Ch#90 HDC pl#7 [X1] wire#75 +91, 7, 76 !TDC ROC#2 Sl#5 Ch#91 HDC pl#7 [X1] wire#76 +92, 7, 77 !TDC ROC#2 Sl#5 Ch#92 HDC pl#7 [X1] wire#77 +93, 7, 78 !TDC ROC#2 Sl#5 Ch#93 HDC pl#7 [X1] wire#78 +94, 7, 79 !TDC ROC#2 Sl#5 Ch#94 HDC pl#7 [X1] wire#79 +95, 7, 80 !TDC ROC#2 Sl#5 Ch#95 HDC pl#7 [X1] wire#80 +Slot= 6 +0, 12, 33 !TDC ROC#2 Sl#6 Ch#0 HDC pl#12 [X2] wire#33 +1, 12, 34 !TDC ROC#2 Sl#6 Ch#1 HDC pl#12 [X2] wire#34 +2, 12, 35 !TDC ROC#2 Sl#6 Ch#2 HDC pl#12 [X2] wire#35 +3, 12, 36 !TDC ROC#2 Sl#6 Ch#3 HDC pl#12 [X2] wire#36 +4, 12, 37 !TDC ROC#2 Sl#6 Ch#4 HDC pl#12 [X2] wire#37 +5, 12, 38 !TDC ROC#2 Sl#6 Ch#5 HDC pl#12 [X2] wire#38 +6, 12, 39 !TDC ROC#2 Sl#6 Ch#6 HDC pl#12 [X2] wire#39 +7, 12, 40 !TDC ROC#2 Sl#6 Ch#7 HDC pl#12 [X2] wire#40 +8, 12, 41 !TDC ROC#2 Sl#6 Ch#8 HDC pl#12 [X2] wire#41 +9, 12, 42 !TDC ROC#2 Sl#6 Ch#9 HDC pl#12 [X2] wire#42 +10, 12, 43 !TDC ROC#2 Sl#6 Ch#10 HDC pl#12 [X2] wire#43 +11, 12, 44 !TDC ROC#2 Sl#6 Ch#11 HDC pl#12 [X2] wire#44 +12, 12, 45 !TDC ROC#2 Sl#6 Ch#12 HDC pl#12 [X2] wire#45 +13, 12, 46 !TDC ROC#2 Sl#6 Ch#13 HDC pl#12 [X2] wire#46 +14, 12, 47 !TDC ROC#2 Sl#6 Ch#14 HDC pl#12 [X2] wire#47 +15, 12, 48 !TDC ROC#2 Sl#6 Ch#15 HDC pl#12 [X2] wire#48 +16, 9, 30 !TDC ROC#2 Sl#6 Ch#16 HDC pl#9 [U] wire#30 +17, 9, 31 !TDC ROC#2 Sl#6 Ch#17 HDC pl#9 [U] wire#31 +18, 9, 32 !TDC ROC#2 Sl#6 Ch#18 HDC pl#9 [U] wire#32 +19, 9, 33 !TDC ROC#2 Sl#6 Ch#19 HDC pl#9 [U] wire#33 +20, 9, 34 !TDC ROC#2 Sl#6 Ch#20 HDC pl#9 [U] wire#34 +21, 9, 35 !TDC ROC#2 Sl#6 Ch#21 HDC pl#9 [U] wire#35 +22, 9, 36 !TDC ROC#2 Sl#6 Ch#22 HDC pl#9 [U] wire#36 +23, 9, 37 !TDC ROC#2 Sl#6 Ch#23 HDC pl#9 [U] wire#37 +24, 9, 38 !TDC ROC#2 Sl#6 Ch#24 HDC pl#9 [U] wire#38 +25, 9, 39 !TDC ROC#2 Sl#6 Ch#25 HDC pl#9 [U] wire#39 +26, 9, 40 !TDC ROC#2 Sl#6 Ch#26 HDC pl#9 [U] wire#40 +27, 9, 41 !TDC ROC#2 Sl#6 Ch#27 HDC pl#9 [U] wire#41 +28, 9, 42 !TDC ROC#2 Sl#6 Ch#28 HDC pl#9 [U] wire#42 +29, 9, 43 !TDC ROC#2 Sl#6 Ch#29 HDC pl#9 [U] wire#43 +30, 9, 44 !TDC ROC#2 Sl#6 Ch#30 HDC pl#9 [U] wire#44 +31, 9, 45 !TDC ROC#2 Sl#6 Ch#31 HDC pl#9 [U] wire#45 +32, 10, 46 !TDC ROC#2 Sl#6 Ch#32 HDC pl#10 [V] wire#46 +33, 10, 47 !TDC ROC#2 Sl#6 Ch#33 HDC pl#10 [V] wire#47 +34, 10, 48 !TDC ROC#2 Sl#6 Ch#34 HDC pl#10 [V] wire#48 +35, 10, 49 !TDC ROC#2 Sl#6 Ch#35 HDC pl#10 [V] wire#49 +36, 10, 50 !TDC ROC#2 Sl#6 Ch#36 HDC pl#10 [V] wire#50 +37, 10, 51 !TDC ROC#2 Sl#6 Ch#37 HDC pl#10 [V] wire#51 +38, 10, 52 !TDC ROC#2 Sl#6 Ch#38 HDC pl#10 [V] wire#52 +39, 10, 53 !TDC ROC#2 Sl#6 Ch#39 HDC pl#10 [V] wire#53 +40, 10, 54 !TDC ROC#2 Sl#6 Ch#40 HDC pl#10 [V] wire#54 +41, 10, 55 !TDC ROC#2 Sl#6 Ch#41 HDC pl#10 [V] wire#55 +42, 10, 56 !TDC ROC#2 Sl#6 Ch#42 HDC pl#10 [V] wire#56 +43, 10, 57 !TDC ROC#2 Sl#6 Ch#43 HDC pl#10 [V] wire#57 +44, 10, 58 !TDC ROC#2 Sl#6 Ch#44 HDC pl#10 [V] wire#58 +45, 10, 59 !TDC ROC#2 Sl#6 Ch#45 HDC pl#10 [V] wire#59 +46, 10, 60 !TDC ROC#2 Sl#6 Ch#46 HDC pl#10 [V] wire#60 +!47 !TDC ROC#2 Sl#6 Ch#47 HDC unused +48, 7, 49 !TDC ROC#2 Sl#6 Ch#48 HDC pl#7 [X1] wire#49 +49, 7, 50 !TDC ROC#2 Sl#6 Ch#49 HDC pl#7 [X1] wire#50 +50, 7, 51 !TDC ROC#2 Sl#6 Ch#50 HDC pl#7 [X1] wire#51 +51, 7, 52 !TDC ROC#2 Sl#6 Ch#51 HDC pl#7 [X1] wire#52 +52, 7, 53 !TDC ROC#2 Sl#6 Ch#52 HDC pl#7 [X1] wire#53 +53, 7, 54 !TDC ROC#2 Sl#6 Ch#53 HDC pl#7 [X1] wire#54 +54, 7, 55 !TDC ROC#2 Sl#6 Ch#54 HDC pl#7 [X1] wire#55 +55, 7, 56 !TDC ROC#2 Sl#6 Ch#55 HDC pl#7 [X1] wire#56 +56, 7, 57 !TDC ROC#2 Sl#6 Ch#56 HDC pl#7 [X1] wire#57 +57, 7, 58 !TDC ROC#2 Sl#6 Ch#57 HDC pl#7 [X1] wire#58 +58, 7, 59 !TDC ROC#2 Sl#6 Ch#58 HDC pl#7 [X1] wire#59 +59, 7, 60 !TDC ROC#2 Sl#6 Ch#59 HDC pl#7 [X1] wire#60 +60, 7, 61 !TDC ROC#2 Sl#6 Ch#60 HDC pl#7 [X1] wire#61 +61, 7, 62 !TDC ROC#2 Sl#6 Ch#61 HDC pl#7 [X1] wire#62 +62, 7, 63 !TDC ROC#2 Sl#6 Ch#62 HDC pl#7 [X1] wire#63 +63, 7, 64 !TDC ROC#2 Sl#6 Ch#63 HDC pl#7 [X1] wire#64 +64, 12, 49 !TDC ROC#2 Sl#6 Ch#64 HDC pl#12 [X2] wire#49 +65, 12, 50 !TDC ROC#2 Sl#6 Ch#65 HDC pl#12 [X2] wire#50 +66, 12, 51 !TDC ROC#2 Sl#6 Ch#66 HDC pl#12 [X2] wire#51 +67, 12, 52 !TDC ROC#2 Sl#6 Ch#67 HDC pl#12 [X2] wire#52 +68, 12, 53 !TDC ROC#2 Sl#6 Ch#68 HDC pl#12 [X2] wire#53 +69, 12, 54 !TDC ROC#2 Sl#6 Ch#69 HDC pl#12 [X2] wire#54 +70, 12, 55 !TDC ROC#2 Sl#6 Ch#70 HDC pl#12 [X2] wire#55 +71, 12, 56 !TDC ROC#2 Sl#6 Ch#71 HDC pl#12 [X2] wire#56 +72, 12, 57 !TDC ROC#2 Sl#6 Ch#72 HDC pl#12 [X2] wire#57 +73, 12, 58 !TDC ROC#2 Sl#6 Ch#73 HDC pl#12 [X2] wire#58 +74, 12, 59 !TDC ROC#2 Sl#6 Ch#74 HDC pl#12 [X2] wire#59 +75, 12, 60 !TDC ROC#2 Sl#6 Ch#75 HDC pl#12 [X2] wire#60 +76, 12, 61 !TDC ROC#2 Sl#6 Ch#76 HDC pl#12 [X2] wire#61 +77, 12, 62 !TDC ROC#2 Sl#6 Ch#77 HDC pl#12 [X2] wire#62 +78, 12, 63 !TDC ROC#2 Sl#6 Ch#78 HDC pl#12 [X2] wire#63 +79, 12, 64 !TDC ROC#2 Sl#6 Ch#79 HDC pl#12 [X2] wire#64 +80, 10, 30 !TDC ROC#2 Sl#6 Ch#80 HDC pl#10 [V] wire#30 +81, 10, 31 !TDC ROC#2 Sl#6 Ch#81 HDC pl#10 [V] wire#31 +82, 10, 32 !TDC ROC#2 Sl#6 Ch#82 HDC pl#10 [V] wire#32 +83, 10, 33 !TDC ROC#2 Sl#6 Ch#83 HDC pl#10 [V] wire#33 +84, 10, 34 !TDC ROC#2 Sl#6 Ch#84 HDC pl#10 [V] wire#34 +85, 10, 35 !TDC ROC#2 Sl#6 Ch#85 HDC pl#10 [V] wire#35 +86, 10, 36 !TDC ROC#2 Sl#6 Ch#86 HDC pl#10 [V] wire#36 +87, 10, 37 !TDC ROC#2 Sl#6 Ch#87 HDC pl#10 [V] wire#37 +88, 10, 38 !TDC ROC#2 Sl#6 Ch#88 HDC pl#10 [V] wire#38 +89, 10, 39 !TDC ROC#2 Sl#6 Ch#89 HDC pl#10 [V] wire#39 +90, 10, 40 !TDC ROC#2 Sl#6 Ch#90 HDC pl#10 [V] wire#40 +91, 10, 41 !TDC ROC#2 Sl#6 Ch#91 HDC pl#10 [V] wire#41 +92, 10, 42 !TDC ROC#2 Sl#6 Ch#92 HDC pl#10 [V] wire#42 +93, 10, 43 !TDC ROC#2 Sl#6 Ch#93 HDC pl#10 [V] wire#43 +94, 10, 44 !TDC ROC#2 Sl#6 Ch#94 HDC pl#10 [V] wire#44 +95, 10, 45 !TDC ROC#2 Sl#6 Ch#95 HDC pl#10 [V] wire#45 +Slot= 8 +0, 9, 46 !TDC ROC#2 Sl#8 Ch#0 HDC pl#9 [U] wire#46 +1, 9, 47 !TDC ROC#2 Sl#8 Ch#1 HDC pl#9 [U] wire#47 +2, 9, 48 !TDC ROC#2 Sl#8 Ch#2 HDC pl#9 [U] wire#48 +3, 9, 49 !TDC ROC#2 Sl#8 Ch#3 HDC pl#9 [U] wire#49 +4, 9, 50 !TDC ROC#2 Sl#8 Ch#4 HDC pl#9 [U] wire#50 +5, 9, 51 !TDC ROC#2 Sl#8 Ch#5 HDC pl#9 [U] wire#51 +6, 9, 52 !TDC ROC#2 Sl#8 Ch#6 HDC pl#9 [U] wire#52 +7, 9, 53 !TDC ROC#2 Sl#8 Ch#7 HDC pl#9 [U] wire#53 +8, 9, 54 !TDC ROC#2 Sl#8 Ch#8 HDC pl#9 [U] wire#54 +9, 9, 55 !TDC ROC#2 Sl#8 Ch#9 HDC pl#9 [U] wire#55 +10, 9, 56 !TDC ROC#2 Sl#8 Ch#10 HDC pl#9 [U] wire#56 +11, 9, 57 !TDC ROC#2 Sl#8 Ch#11 HDC pl#9 [U] wire#57 +12, 9, 58 !TDC ROC#2 Sl#8 Ch#12 HDC pl#9 [U] wire#58 +13, 9, 59 !TDC ROC#2 Sl#8 Ch#13 HDC pl#9 [U] wire#59 +14, 9, 60 !TDC ROC#2 Sl#8 Ch#14 HDC pl#9 [U] wire#60 +!15 !TDC ROC#2 Sl#8 Ch#15 unused +16, 7, 33 !TDC ROC#2 Sl#8 Ch#16 HDC pl#7 [X1] wire#33 +17, 7, 34 !TDC ROC#2 Sl#8 Ch#17 HDC pl#7 [X1] wire#34 +18, 7, 35 !TDC ROC#2 Sl#8 Ch#18 HDC pl#7 [X1] wire#35 +19, 7, 36 !TDC ROC#2 Sl#8 Ch#19 HDC pl#7 [X1] wire#36 +20, 7, 37 !TDC ROC#2 Sl#8 Ch#20 HDC pl#7 [X1] wire#37 +21, 7, 38 !TDC ROC#2 Sl#8 Ch#21 HDC pl#7 [X1] wire#38 +22, 7, 39 !TDC ROC#2 Sl#8 Ch#22 HDC pl#7 [X1] wire#39 +23, 7, 40 !TDC ROC#2 Sl#8 Ch#23 HDC pl#7 [X1] wire#40 +24, 7, 41 !TDC ROC#2 Sl#8 Ch#24 HDC pl#7 [X1] wire#41 +25, 7, 42 !TDC ROC#2 Sl#8 Ch#25 HDC pl#7 [X1] wire#42 +26, 7, 43 !TDC ROC#2 Sl#8 Ch#26 HDC pl#7 [X1] wire#43 +27, 7, 44 !TDC ROC#2 Sl#8 Ch#27 HDC pl#7 [X1] wire#44 +28, 7, 45 !TDC ROC#2 Sl#8 Ch#28 HDC pl#7 [X1] wire#45 +29, 7, 46 !TDC ROC#2 Sl#8 Ch#29 HDC pl#7 [X1] wire#46 +30, 7, 47 !TDC ROC#2 Sl#8 Ch#30 HDC pl#7 [X1] wire#47 +31, 7, 48 !TDC ROC#2 Sl#8 Ch#31 HDC pl#7 [X1] wire#48 +32, 12, 65 !TDC ROC#2 Sl#8 Ch#32 HDC pl#12 [X2] wire#65 +33, 12, 66 !TDC ROC#2 Sl#8 Ch#33 HDC pl#12 [X2] wire#66 +34, 12, 67 !TDC ROC#2 Sl#8 Ch#34 HDC pl#12 [X2] wire#67 +35, 12, 68 !TDC ROC#2 Sl#8 Ch#35 HDC pl#12 [X2] wire#68 +36, 12, 69 !TDC ROC#2 Sl#8 Ch#36 HDC pl#12 [X2] wire#69 +37, 12, 70 !TDC ROC#2 Sl#8 Ch#37 HDC pl#12 [X2] wire#70 +38, 12, 71 !TDC ROC#2 Sl#8 Ch#38 HDC pl#12 [X2] wire#71 +39, 12, 72 !TDC ROC#2 Sl#8 Ch#39 HDC pl#12 [X2] wire#72 +40, 12, 73 !TDC ROC#2 Sl#8 Ch#40 HDC pl#12 [X2] wire#73 +41, 12, 74 !TDC ROC#2 Sl#8 Ch#41 HDC pl#12 [X2] wire#74 +42, 12, 75 !TDC ROC#2 Sl#8 Ch#42 HDC pl#12 [X2] wire#75 +43, 12, 76 !TDC ROC#2 Sl#8 Ch#43 HDC pl#12 [X2] wire#76 +44, 12, 77 !TDC ROC#2 Sl#8 Ch#44 HDC pl#12 [X2] wire#77 +45, 12, 78 !TDC ROC#2 Sl#8 Ch#45 HDC pl#12 [X2] wire#78 +46, 12, 79 !TDC ROC#2 Sl#8 Ch#46 HDC pl#12 [X2] wire#79 +47, 12, 80 !TDC ROC#2 Sl#8 Ch#47 HDC pl#12 [X2] wire#80 +48, 9, 61 !TDC ROC#2 Sl#8 Ch#48 HDC pl#9 [U] wire#61 +49, 9, 62 !TDC ROC#2 Sl#8 Ch#49 HDC pl#9 [U] wire#62 +50, 9, 63 !TDC ROC#2 Sl#8 Ch#50 HDC pl#9 [U] wire#63 +51, 9, 64 !TDC ROC#2 Sl#8 Ch#51 HDC pl#9 [U] wire#64 +52, 9, 65 !TDC ROC#2 Sl#8 Ch#52 HDC pl#9 [U] wire#65 +53, 9, 66 !TDC ROC#2 Sl#8 Ch#53 HDC pl#9 [U] wire#66 +54, 9, 67 !TDC ROC#2 Sl#8 Ch#54 HDC pl#9 [U] wire#67 +55, 9, 68 !TDC ROC#2 Sl#8 Ch#55 HDC pl#9 [U] wire#68 +56, 9, 69 !TDC ROC#2 Sl#8 Ch#56 HDC pl#9 [U] wire#69 +57, 9, 70 !TDC ROC#2 Sl#8 Ch#57 HDC pl#9 [U] wire#70 +58, 9, 71 !TDC ROC#2 Sl#8 Ch#58 HDC pl#9 [U] wire#71 +59, 9, 72 !TDC ROC#2 Sl#8 Ch#59 HDC pl#9 [U] wire#72 +60, 9, 73 !TDC ROC#2 Sl#8 Ch#60 HDC pl#9 [U] wire#73 +61, 9, 74 !TDC ROC#2 Sl#8 Ch#61 HDC pl#9 [U] wire#74 +62, 9, 75 !TDC ROC#2 Sl#8 Ch#62 HDC pl#9 [U] wire#75 +63, 9, 76 !TDC ROC#2 Sl#8 Ch#63 HDC pl#9 [U] wire#76 +64, 10, 15 !TDC ROC#2 Sl#8 Ch#64 HDC pl#10 [V] wire#15 +65, 10, 16 !TDC ROC#2 Sl#8 Ch#65 HDC pl#10 [V] wire#16 +66, 10, 17 !TDC ROC#2 Sl#8 Ch#66 HDC pl#10 [V] wire#17 +67, 10, 18 !TDC ROC#2 Sl#8 Ch#67 HDC pl#10 [V] wire#18 +68, 10, 19 !TDC ROC#2 Sl#8 Ch#68 HDC pl#10 [V] wire#19 +69, 10, 20 !TDC ROC#2 Sl#8 Ch#69 HDC pl#10 [V] wire#20 +70, 10, 21 !TDC ROC#2 Sl#8 Ch#70 HDC pl#10 [V] wire#21 +71, 10, 22 !TDC ROC#2 Sl#8 Ch#71 HDC pl#10 [V] wire#22 +72, 10, 23 !TDC ROC#2 Sl#8 Ch#72 HDC pl#10 [V] wire#23 +73, 10, 24 !TDC ROC#2 Sl#8 Ch#73 HDC pl#10 [V] wire#24 +74, 10, 25 !TDC ROC#2 Sl#8 Ch#74 HDC pl#10 [V] wire#25 +75, 10, 26 !TDC ROC#2 Sl#8 Ch#75 HDC pl#10 [V] wire#26 +76, 10, 27 !TDC ROC#2 Sl#8 Ch#76 HDC pl#10 [V] wire#27 +77, 10, 28 !TDC ROC#2 Sl#8 Ch#77 HDC pl#10 [V] wire#28 +78, 10, 29 !TDC ROC#2 Sl#8 Ch#78 HDC pl#10 [V] wire#29 +! 79 !TDC ROC#2 Sl#8 Ch#79 unused +80, 7, 17 !TDC ROC#2 Sl#8 Ch#80 HDC pl#7 [X1] wire#17 +81, 7, 18 !TDC ROC#2 Sl#8 Ch#81 HDC pl#7 [X1] wire#18 +82, 7, 19 !TDC ROC#2 Sl#8 Ch#82 HDC pl#7 [X1] wire#19 +83, 7, 20 !TDC ROC#2 Sl#8 Ch#83 HDC pl#7 [X1] wire#20 +84, 7, 21 !TDC ROC#2 Sl#8 Ch#84 HDC pl#7 [X1] wire#21 +85, 7, 22 !TDC ROC#2 Sl#8 Ch#85 HDC pl#7 [X1] wire#22 +86, 7, 23 !TDC ROC#2 Sl#8 Ch#86 HDC pl#7 [X1] wire#23 +87, 7, 24 !TDC ROC#2 Sl#8 Ch#87 HDC pl#7 [X1] wire#24 +88, 7, 25 !TDC ROC#2 Sl#8 Ch#88 HDC pl#7 [X1] wire#25 +89, 7, 26 !TDC ROC#2 Sl#8 Ch#89 HDC pl#7 [X1] wire#26 +90, 7, 27 !TDC ROC#2 Sl#8 Ch#90 HDC pl#7 [X1] wire#27 +91, 7, 28 !TDC ROC#2 Sl#8 Ch#91 HDC pl#7 [X1] wire#28 +92, 7, 29 !TDC ROC#2 Sl#8 Ch#92 HDC pl#7 [X1] wire#29 +93, 7, 30 !TDC ROC#2 Sl#8 Ch#93 HDC pl#7 [X1] wire#30 +94, 7, 31 !TDC ROC#2 Sl#8 Ch#94 HDC pl#7 [X1] wire#31 +95, 7, 32 !TDC ROC#2 Sl#8 Ch#95 HDC pl#7 [X1] wire#32 +Slot= 9 +0, 12, 81 !TDC ROC#2 Sl#9 Ch#0 HDC pl#12 [X2] wire#81 +1, 12, 82 !TDC ROC#2 Sl#9 Ch#1 HDC pl#12 [X2] wire#82 +2, 12, 83 !TDC ROC#2 Sl#9 Ch#2 HDC pl#12 [X2] wire#83 +3, 12, 84 !TDC ROC#2 Sl#9 Ch#3 HDC pl#12 [X2] wire#84 +4, 12, 85 !TDC ROC#2 Sl#9 Ch#4 HDC pl#12 [X2] wire#85 +5, 12, 86 !TDC ROC#2 Sl#9 Ch#5 HDC pl#12 [X2] wire#86 +6, 12, 87 !TDC ROC#2 Sl#9 Ch#6 HDC pl#12 [X2] wire#87 +7, 12, 88 !TDC ROC#2 Sl#9 Ch#7 HDC pl#12 [X2] wire#88 +8, 12, 89 !TDC ROC#2 Sl#9 Ch#8 HDC pl#12 [X2] wire#89 +9, 12, 90 !TDC ROC#2 Sl#9 Ch#9 HDC pl#12 [X2] wire#90 +10, 12, 91 !TDC ROC#2 Sl#9 Ch#10 HDC pl#12 [X2] wire#91 +11, 12, 92 !TDC ROC#2 Sl#9 Ch#11 HDC pl#12 [X2] wire#92 +12, 12, 93 !TDC ROC#2 Sl#9 Ch#12 HDC pl#12 [X2] wire#93 +13, 12, 94 !TDC ROC#2 Sl#9 Ch#13 HDC pl#12 [X2] wire#94 +14, 12, 95 !TDC ROC#2 Sl#9 Ch#14 HDC pl#12 [X2] wire#95 +15, 12, 96 !TDC ROC#2 Sl#9 Ch#15 HDC pl#12 [X2] wire#96 +16, 9, 77 !TDC ROC#2 Sl#9 Ch#16 HDC pl#9 [U] wire#77 +17, 9, 78 !TDC ROC#2 Sl#9 Ch#17 HDC pl#9 [U] wire#78 +18, 9, 79 !TDC ROC#2 Sl#9 Ch#18 HDC pl#9 [U] wire#79 +19, 9, 80 !TDC ROC#2 Sl#9 Ch#19 HDC pl#9 [U] wire#80 +20, 9, 81 !TDC ROC#2 Sl#9 Ch#20 HDC pl#9 [U] wire#81 +21, 9, 82 !TDC ROC#2 Sl#9 Ch#21 HDC pl#9 [U] wire#82 +22, 9, 83 !TDC ROC#2 Sl#9 Ch#22 HDC pl#9 [U] wire#83 +23, 9, 84 !TDC ROC#2 Sl#9 Ch#23 HDC pl#9 [U] wire#84 +24, 9, 85 !TDC ROC#2 Sl#9 Ch#24 HDC pl#9 [U] wire#85 +25, 9, 86 !TDC ROC#2 Sl#9 Ch#25 HDC pl#9 [U] wire#86 +26, 9, 87 !TDC ROC#2 Sl#9 Ch#26 HDC pl#9 [U] wire#87 +27, 9, 88 !TDC ROC#2 Sl#9 Ch#27 HDC pl#9 [U] wire#88 +28, 9, 89 !TDC ROC#2 Sl#9 Ch#28 HDC pl#9 [U] wire#89 +29, 9, 90 !TDC ROC#2 Sl#9 Ch#29 HDC pl#9 [U] wire#90 +30, 9, 91 !TDC ROC#2 Sl#9 Ch#30 HDC pl#9 [U] wire#91 +!31 !TDC ROC#2 Sl#9 Ch#31 unused +32, 12, 113 !TDC ROC#2 Sl#9 Ch#32 HDC pl#12 [X2] wire#113 +!33 !TDC ROC#2 Sl#9 Ch#33 unused +34, 10, 1 !TDC ROC#2 Sl#9 Ch#34 HDC pl#10 [V] wire#1 +35, 10, 2 !TDC ROC#2 Sl#9 Ch#35 HDC pl#10 [V] wire#2 +36, 10, 3 !TDC ROC#2 Sl#9 Ch#36 HDC pl#10 [V] wire#3 +37, 10, 4 !TDC ROC#2 Sl#9 Ch#37 HDC pl#10 [V] wire#4 +38, 10, 5 !TDC ROC#2 Sl#9 Ch#38 HDC pl#10 [V] wire#5 +39, 10, 6 !TDC ROC#2 Sl#9 Ch#39 HDC pl#10 [V] wire#6 +40, 10, 7 !TDC ROC#2 Sl#9 Ch#40 HDC pl#10 [V] wire#7 +41, 10, 8 !TDC ROC#2 Sl#9 Ch#41 HDC pl#10 [V] wire#8 +42, 10, 9 !TDC ROC#2 Sl#9 Ch#42 HDC pl#10 [V] wire#9 +43, 10, 10 !TDC ROC#2 Sl#9 Ch#43 HDC pl#10 [V] wire#10 +44, 10, 11 !TDC ROC#2 Sl#9 Ch#44 HDC pl#10 [V] wire#11 +45, 10, 12 !TDC ROC#2 Sl#9 Ch#45 HDC pl#10 [V] wire#12 +46, 10, 13 !TDC ROC#2 Sl#9 Ch#46 HDC pl#10 [V] wire#13 +47, 10, 14 !TDC ROC#2 Sl#9 Ch#47 HDC pl#10 [V] wire#14 +48, 7, 1 !TDC ROC#2 Sl#9 Ch#48 HDC pl#7 [X1] wire#1 +49, 7, 2 !TDC ROC#2 Sl#9 Ch#49 HDC pl#7 [X1] wire#2 +50, 7, 3 !TDC ROC#2 Sl#9 Ch#50 HDC pl#7 [X1] wire#3 +51, 7, 4 !TDC ROC#2 Sl#9 Ch#51 HDC pl#7 [X1] wire#4 +52, 7, 5 !TDC ROC#2 Sl#9 Ch#52 HDC pl#7 [X1] wire#5 +53, 7, 6 !TDC ROC#2 Sl#9 Ch#53 HDC pl#7 [X1] wire#6 +54, 7, 7 !TDC ROC#2 Sl#9 Ch#54 HDC pl#7 [X1] wire#7 +55, 7, 8 !TDC ROC#2 Sl#9 Ch#55 HDC pl#7 [X1] wire#8 +56, 7, 9 !TDC ROC#2 Sl#9 Ch#56 HDC pl#7 [X1] wire#9 +57, 7, 10 !TDC ROC#2 Sl#9 Ch#57 HDC pl#7 [X1] wire#10 +58, 7, 11 !TDC ROC#2 Sl#9 Ch#58 HDC pl#7 [X1] wire#11 +59, 7, 12 !TDC ROC#2 Sl#9 Ch#59 HDC pl#7 [X1] wire#12 +60, 7, 13 !TDC ROC#2 Sl#9 Ch#60 HDC pl#7 [X1] wire#13 +61, 7, 14 !TDC ROC#2 Sl#9 Ch#61 HDC pl#7 [X1] wire#14 +62, 7, 15 !TDC ROC#2 Sl#9 Ch#62 HDC pl#7 [X1] wire#15 +63, 7, 16 !TDC ROC#2 Sl#9 Ch#63 HDC pl#7 [X1] wire#16 +64, 12, 97 !TDC ROC#2 Sl#9 Ch#64 HDC pl#12 [X2] wire#97 +65, 12, 98 !TDC ROC#2 Sl#9 Ch#65 HDC pl#12 [X2] wire#98 +66, 12, 99 !TDC ROC#2 Sl#9 Ch#66 HDC pl#12 [X2] wire#99 +67, 12, 100 !TDC ROC#2 Sl#9 Ch#67 HDC pl#12 [X2] wire#100 +68, 12, 101 !TDC ROC#2 Sl#9 Ch#68 HDC pl#12 [X2] wire#101 +69, 12, 102 !TDC ROC#2 Sl#9 Ch#69 HDC pl#12 [X2] wire#102 +70, 12, 103 !TDC ROC#2 Sl#9 Ch#70 HDC pl#12 [X2] wire#103 +71, 12, 104 !TDC ROC#2 Sl#9 Ch#71 HDC pl#12 [X2] wire#104 +72, 12, 105 !TDC ROC#2 Sl#9 Ch#72 HDC pl#12 [X2] wire#105 +73, 12, 106 !TDC ROC#2 Sl#9 Ch#73 HDC pl#12 [X2] wire#106 +74, 12, 107 !TDC ROC#2 Sl#9 Ch#74 HDC pl#12 [X2] wire#107 +75, 12, 108 !TDC ROC#2 Sl#9 Ch#75 HDC pl#12 [X2] wire#108 +76, 12, 109 !TDC ROC#2 Sl#9 Ch#76 HDC pl#12 [X2] wire#109 +77, 12, 110 !TDC ROC#2 Sl#9 Ch#77 HDC pl#12 [X2] wire#110 +78, 12, 111 !TDC ROC#2 Sl#9 Ch#78 HDC pl#12 [X2] wire#111 +79, 12, 112 !TDC ROC#2 Sl#9 Ch#79 HDC pl#12 [X2] wire#112 +80, 9, 92 !TDC ROC#2 Sl#9 Ch#80 HDC pl#9 [U] wire#92 +81, 9, 93 !TDC ROC#2 Sl#9 Ch#81 HDC pl#9 [U] wire#93 +82, 9, 94 !TDC ROC#2 Sl#9 Ch#82 HDC pl#9 [U] wire#94 +83, 9, 95 !TDC ROC#2 Sl#9 Ch#83 HDC pl#9 [U] wire#95 +84, 9, 96 !TDC ROC#2 Sl#9 Ch#84 HDC pl#9 [U] wire#96 +85, 9, 97 !TDC ROC#2 Sl#9 Ch#85 HDC pl#9 [U] wire#97 +86, 9, 98 !TDC ROC#2 Sl#9 Ch#86 HDC pl#9 [U] wire#98 +87, 9, 99 !TDC ROC#2 Sl#9 Ch#87 HDC pl#9 [U] wire#99 +88, 9, 100 !TDC ROC#2 Sl#9 Ch#88 HDC pl#9 [U] wire#100 +89, 9, 101 !TDC ROC#2 Sl#9 Ch#89 HDC pl#9 [U] wire#101 +90, 9, 102 !TDC ROC#2 Sl#9 Ch#90 HDC pl#9 [U] wire#102 +91, 9, 103 !TDC ROC#2 Sl#9 Ch#91 HDC pl#9 [U] wire#103 +92, 9, 104 !TDC ROC#2 Sl#9 Ch#92 HDC pl#9 [U] wire#104 +93, 9, 105 !TDC ROC#2 Sl#9 Ch#93 HDC pl#9 [U] wire#105 +94, 9, 106 !TDC ROC#2 Sl#9 Ch#94 HDC pl#9 [U] wire#106 +95, 9, 107 !TDC ROC#2 Sl#9 Ch#95 HDC pl#9 [U] wire#107 +! +! +! 2nd HDC chamber planes1-6 +Slot= 15 +0, 1, 1 !TDC ROC#2 Sl#11 Ch#0 HDC pl#7 [X1] wire#1 +1, 1, 2 !TDC ROC#2 Sl#11 Ch#1 HDC pl#7 [X1] wire#2 +2, 1, 3 !TDC ROC#2 Sl#11 Ch#2 HDC pl#7 [X1] wire#3 +3, 1, 4 !TDC ROC#2 Sl#11 Ch#3 HDC pl#7 [X1] wire#4 +4, 1, 5 !TDC ROC#2 Sl#11 Ch#4 HDC pl#7 [X1] wire#5 +5, 1, 6 !TDC ROC#2 Sl#11 Ch#5 HDC pl#7 [X1] wire#6 +6, 1, 7 !TDC ROC#2 Sl#11 Ch#6 HDC pl#7 [X1] wire#7 +7, 1, 8 !TDC ROC#2 Sl#11 Ch#7 HDC pl#7 [X1] wire#8 +8, 1, 9 !TDC ROC#2 Sl#11 Ch#8 HDC pl#7 [X1] wire#9 +9, 1, 10 !TDC ROC#2 Sl#11 Ch#9 HDC pl#7 [X1] wire#10 +10, 1, 11 !TDC ROC#2 Sl#11 Ch#10 HDC pl#7 [X1] wire#11 +11, 1, 12 !TDC ROC#2 Sl#11 Ch#11 HDC pl#7 [X1] wire#12 +12, 1, 13 !TDC ROC#2 Sl#11 Ch#12 HDC pl#7 [X1] wire#13 +13, 1, 14 !TDC ROC#2 Sl#11 Ch#13 HDC pl#7 [X1] wire#14 +14, 1, 15 !TDC ROC#2 Sl#11 Ch#14 HDC pl#7 [X1] wire#15 +15, 1, 16 !TDC ROC#2 Sl#11 Ch#15 HDC pl#7 [X1] wire#16 +16, 1, 17 !TDC ROC#2 Sl#11 Ch#16 HDC pl#7 [X1] wire#17 +17, 1, 18 !TDC ROC#2 Sl#11 Ch#17 HDC pl#7 [X1] wire#18 +18, 1, 19 !TDC ROC#2 Sl#11 Ch#18 HDC pl#7 [X1] wire#19 +19, 1, 20 !TDC ROC#2 Sl#11 Ch#19 HDC pl#7 [X1] wire#20 +20, 1, 21 !TDC ROC#2 Sl#11 Ch#20 HDC pl#7 [X1] wire#21 +21, 1, 22 !TDC ROC#2 Sl#11 Ch#21 HDC pl#7 [X1] wire#22 +22, 1, 23 !TDC ROC#2 Sl#11 Ch#22 HDC pl#7 [X1] wire#23 +23, 1, 24 !TDC ROC#2 Sl#11 Ch#23 HDC pl#7 [X1] wire#24 +24, 1, 25 !TDC ROC#2 Sl#11 Ch#24 HDC pl#7 [X1] wire#25 +25, 1, 26 !TDC ROC#2 Sl#11 Ch#25 HDC pl#7 [X1] wire#26 +26, 1, 27 !TDC ROC#2 Sl#11 Ch#26 HDC pl#7 [X1] wire#27 +27, 1, 28 !TDC ROC#2 Sl#11 Ch#27 HDC pl#7 [X1] wire#28 +28, 1, 29 !TDC ROC#2 Sl#11 Ch#28 HDC pl#7 [X1] wire#29 +29, 1, 30 !TDC ROC#2 Sl#11 Ch#29 HDC pl#7 [X1] wire#30 +30, 1, 31 !TDC ROC#2 Sl#11 Ch#30 HDC pl#7 [X1] wire#31 +31, 1, 32 !TDC ROC#2 Sl#11 Ch#31 HDC pl#7 [X1] wire#32 +32, 1, 33 !TDC ROC#2 Sl#11 Ch#32 HDC pl#7 [X1] wire#33 +33, 1, 34 !TDC ROC#2 Sl#11 Ch#33 HDC pl#7 [X1] wire#34 +34, 1, 35 !TDC ROC#2 Sl#11 Ch#34 HDC pl#7 [X1] wire#35 +35, 1, 36 !TDC ROC#2 Sl#11 Ch#35 HDC pl#7 [X1] wire#36 +36, 1, 37 !TDC ROC#2 Sl#11 Ch#36 HDC pl#7 [X1] wire#37 +37, 1, 38 !TDC ROC#2 Sl#11 Ch#37 HDC pl#7 [X1] wire#38 +38, 1, 39 !TDC ROC#2 Sl#11 Ch#38 HDC pl#7 [X1] wire#39 +39, 1, 40 !TDC ROC#2 Sl#11 Ch#39 HDC pl#7 [X1] wire#40 +40, 1, 41 !TDC ROC#2 Sl#11 Ch#40 HDC pl#7 [X1] wire#41 +41, 1, 42 !TDC ROC#2 Sl#11 Ch#41 HDC pl#7 [X1] wire#42 +42, 1, 43 !TDC ROC#2 Sl#11 Ch#42 HDC pl#7 [X1] wire#43 +43, 1, 44 !TDC ROC#2 Sl#11 Ch#43 HDC pl#7 [X1] wire#44 +44, 1, 45 !TDC ROC#2 Sl#11 Ch#44 HDC pl#7 [X1] wire#45 +45, 1, 46 !TDC ROC#2 Sl#11 Ch#45 HDC pl#7 [X1] wire#46 +46, 1, 47 !TDC ROC#2 Sl#11 Ch#46 HDC pl#7 [X1] wire#47 +47, 1, 48 !TDC ROC#2 Sl#11 Ch#47 HDC pl#7 [X1] wire#48 +48, 1, 49 !TDC ROC#2 Sl#11 Ch#48 HDC pl#7 [X1] wire#49 +49, 1, 50 !TDC ROC#2 Sl#11 Ch#49 HDC pl#7 [X1] wire#50 +50, 1, 51 !TDC ROC#2 Sl#11 Ch#50 HDC pl#7 [X1] wire#51 +51, 1, 52 !TDC ROC#2 Sl#11 Ch#51 HDC pl#7 [X1] wire#52 +52, 1, 53 !TDC ROC#2 Sl#11 Ch#52 HDC pl#7 [X1] wire#53 +53, 1, 54 !TDC ROC#2 Sl#11 Ch#53 HDC pl#7 [X1] wire#54 +54, 1, 55 !TDC ROC#2 Sl#11 Ch#54 HDC pl#7 [X1] wire#55 +55, 1, 56 !TDC ROC#2 Sl#11 Ch#55 HDC pl#7 [X1] wire#56 +56, 1, 57 !TDC ROC#2 Sl#11 Ch#56 HDC pl#7 [X1] wire#57 +57, 1, 58 !TDC ROC#2 Sl#11 Ch#57 HDC pl#7 [X1] wire#58 +58, 1, 59 !TDC ROC#2 Sl#11 Ch#58 HDC pl#7 [X1] wire#59 +59, 1, 60 !TDC ROC#2 Sl#11 Ch#59 HDC pl#7 [X1] wire#60 +60, 1, 61 !TDC ROC#2 Sl#11 Ch#60 HDC pl#7 [X1] wire#61 +61, 1, 62 !TDC ROC#2 Sl#11 Ch#61 HDC pl#7 [X1] wire#62 +62, 1, 63 !TDC ROC#2 Sl#11 Ch#62 HDC pl#7 [X1] wire#63 +63, 1, 64 !TDC ROC#2 Sl#11 Ch#63 HDC pl#7 [X1] wire#64 +64, 1, 65 !TDC ROC#2 Sl#11 Ch#64 HDC pl#7 [X1] wire#65 +65, 1, 66 !TDC ROC#2 Sl#11 Ch#65 HDC pl#7 [X1] wire#66 +66, 1, 67 !TDC ROC#2 Sl#11 Ch#66 HDC pl#7 [X1] wire#67 +67, 1, 68 !TDC ROC#2 Sl#11 Ch#67 HDC pl#7 [X1] wire#68 +68, 1, 69 !TDC ROC#2 Sl#11 Ch#68 HDC pl#7 [X1] wire#69 +69, 1, 70 !TDC ROC#2 Sl#11 Ch#69 HDC pl#7 [X1] wire#70 +70, 1, 71 !TDC ROC#2 Sl#11 Ch#70 HDC pl#7 [X1] wire#71 +71, 1, 72 !TDC ROC#2 Sl#11 Ch#71 HDC pl#7 [X1] wire#72 +72, 1, 73 !TDC ROC#2 Sl#11 Ch#72 HDC pl#7 [X1] wire#73 +73, 1, 74 !TDC ROC#2 Sl#11 Ch#73 HDC pl#7 [X1] wire#74 +74, 1, 75 !TDC ROC#2 Sl#11 Ch#74 HDC pl#7 [X1] wire#75 +75, 1, 76 !TDC ROC#2 Sl#11 Ch#75 HDC pl#7 [X1] wire#76 +76, 1, 77 !TDC ROC#2 Sl#11 Ch#76 HDC pl#7 [X1] wire#77 +77, 1, 78 !TDC ROC#2 Sl#11 Ch#77 HDC pl#7 [X1] wire#78 +78, 1, 79 !TDC ROC#2 Sl#11 Ch#78 HDC pl#7 [X1] wire#79 +79, 1, 80 !TDC ROC#2 Sl#11 Ch#79 HDC pl#7 [X1] wire#80 +80, 1, 81 !TDC ROC#2 Sl#11 Ch#80 HDC pl#7 [X1] wire#81 +81, 1, 82 !TDC ROC#2 Sl#11 Ch#81 HDC pl#7 [X1] wire#82 +82, 1, 83 !TDC ROC#2 Sl#11 Ch#82 HDC pl#7 [X1] wire#83 +83, 1, 84 !TDC ROC#2 Sl#11 Ch#83 HDC pl#7 [X1] wire#84 +84, 1, 85 !TDC ROC#2 Sl#11 Ch#84 HDC pl#7 [X1] wire#85 +85, 1, 86 !TDC ROC#2 Sl#11 Ch#85 HDC pl#7 [X1] wire#86 +86, 1, 87 !TDC ROC#2 Sl#11 Ch#86 HDC pl#7 [X1] wire#87 +87, 1, 88 !TDC ROC#2 Sl#11 Ch#87 HDC pl#7 [X1] wire#88 +88, 1, 89 !TDC ROC#2 Sl#11 Ch#88 HDC pl#7 [X1] wire#89 +89, 1, 90 !TDC ROC#2 Sl#11 Ch#89 HDC pl#7 [X1] wire#90 +90, 1, 91 !TDC ROC#2 Sl#11 Ch#90 HDC pl#7 [X1] wire#91 +91, 1, 92 !TDC ROC#2 Sl#11 Ch#91 HDC pl#7 [X1] wire#92 +92, 1, 93 !TDC ROC#2 Sl#11 Ch#92 HDC pl#7 [X1] wire#93 +93, 1, 94 !TDC ROC#2 Sl#11 Ch#93 HDC pl#7 [X1] wire#94 +94, 1, 95 !TDC ROC#2 Sl#11 Ch#94 HDC pl#7 [X1] wire#95 +95, 1, 96 !TDC ROC#2 Sl#11 Ch#95 HDC pl#7 [X1] wire#96 +Slot= 16 +0, 1, 97 !TDC ROC#2 Sl#12 Ch#0 HDC pl#7 [X1] wire#97 +1, 1, 98 !TDC ROC#2 Sl#12 Ch#1 HDC pl#7 [X1] wire#98 +2, 1, 99 !TDC ROC#2 Sl#12 Ch#2 HDC pl#7 [X1] wire#99 +3, 1, 100 !TDC ROC#2 Sl#12 Ch#3 HDC pl#7 [X1] wire#100 +4, 1, 101 !TDC ROC#2 Sl#12 Ch#4 HDC pl#7 [X1] wire#101 +5, 1, 102 !TDC ROC#2 Sl#12 Ch#5 HDC pl#7 [X1] wire#102 +6, 1, 103 !TDC ROC#2 Sl#12 Ch#6 HDC pl#7 [X1] wire#103 +7, 1, 104 !TDC ROC#2 Sl#12 Ch#7 HDC pl#7 [X1] wire#104 +8, 1, 105 !TDC ROC#2 Sl#12 Ch#8 HDC pl#7 [X1] wire#105 +9, 1, 106 !TDC ROC#2 Sl#12 Ch#9 HDC pl#7 [X1] wire#106 +10, 1, 107 !TDC ROC#2 Sl#12 Ch#10 HDC pl#7 [X1] wire#107 +11, 1, 108 !TDC ROC#2 Sl#12 Ch#11 HDC pl#7 [X1] wire#108 +12, 1, 109 !TDC ROC#2 Sl#12 Ch#12 HDC pl#7 [X1] wire#109 +13, 1, 110 !TDC ROC#2 Sl#12 Ch#13 HDC pl#7 [X1] wire#110 +14, 1, 111 !TDC ROC#2 Sl#12 Ch#14 HDC pl#7 [X1] wire#111 +15, 1, 112 !TDC ROC#2 Sl#12 Ch#15 HDC pl#7 [X1] wire#112 +16, 2, 1 !TDC ROC#2 Sl#12 Ch#16 HDC pl#8 [Y1] wire#1 +17, 2, 2 !TDC ROC#2 Sl#12 Ch#17 HDC pl#8 [Y1] wire#2 +18, 2, 3 !TDC ROC#2 Sl#12 Ch#18 HDC pl#8 [Y1] wire#3 +19, 2, 4 !TDC ROC#2 Sl#12 Ch#19 HDC pl#8 [Y1] wire#4 +20, 2, 5 !TDC ROC#2 Sl#12 Ch#20 HDC pl#8 [Y1] wire#5 +21, 2, 6 !TDC ROC#2 Sl#12 Ch#21 HDC pl#8 [Y1] wire#6 +22, 2, 7 !TDC ROC#2 Sl#12 Ch#22 HDC pl#8 [Y1] wire#7 +23, 2, 8 !TDC ROC#2 Sl#12 Ch#23 HDC pl#8 [Y1] wire#8 +24, 2, 9 !TDC ROC#2 Sl#12 Ch#24 HDC pl#8 [Y1] wire#9 +25, 2, 10 !TDC ROC#2 Sl#12 Ch#25 HDC pl#8 [Y1] wire#10 +26, 2, 11 !TDC ROC#2 Sl#12 Ch#26 HDC pl#8 [Y1] wire#11 +27, 2, 12 !TDC ROC#2 Sl#12 Ch#27 HDC pl#8 [Y1] wire#12 +28, 2, 13 !TDC ROC#2 Sl#12 Ch#28 HDC pl#8 [Y1] wire#13 +! 29 !TDC ROC#2 Sl#12 Ch#29 unused +! 30 !TDC ROC#2 Sl#12 Ch#30 unused +! 31 !TDC ROC#2 Sl#12 Ch#31 unused +32, 2, 14 !TDC ROC#2 Sl#12 Ch#32 HDC pl#8 [Y1] wire#14 +33, 2, 15 !TDC ROC#2 Sl#12 Ch#33 HDC pl#8 [Y1] wire#15 +34, 2, 16 !TDC ROC#2 Sl#12 Ch#34 HDC pl#8 [Y1] wire#16 +35, 2, 17 !TDC ROC#2 Sl#12 Ch#35 HDC pl#8 [Y1] wire#17 +36, 2, 18 !TDC ROC#2 Sl#12 Ch#36 HDC pl#8 [Y1] wire#18 +37, 2, 19 !TDC ROC#2 Sl#12 Ch#37 HDC pl#8 [Y1] wire#19 +38, 2, 20 !TDC ROC#2 Sl#12 Ch#38 HDC pl#8 [Y1] wire#20 +39, 2, 21 !TDC ROC#2 Sl#12 Ch#39 HDC pl#8 [Y1] wire#21 +40, 2, 22 !TDC ROC#2 Sl#12 Ch#40 HDC pl#8 [Y1] wire#22 +41, 2, 23 !TDC ROC#2 Sl#12 Ch#41 HDC pl#8 [Y1] wire#23 +42, 2, 24 !TDC ROC#2 Sl#12 Ch#42 HDC pl#8 [Y1] wire#24 +43, 2, 25 !TDC ROC#2 Sl#12 Ch#43 HDC pl#8 [Y1] wire#25 +44, 2, 26 !TDC ROC#2 Sl#12 Ch#44 HDC pl#8 [Y1] wire#26 +! 45 !TDC ROC#2 Sl#12 Ch#45 unused +! 46 !TDC ROC#2 Sl#12 Ch#46 unused +! 47 !TDC ROC#2 Sl#12 Ch#47 unused +48, 2, 27 !TDC ROC#2 Sl#12 Ch#48 HDC pl#8 [Y1] wire#27 +49, 2, 28 !TDC ROC#2 Sl#12 Ch#49 HDC pl#8 [Y1] wire#28 +50, 2, 29 !TDC ROC#2 Sl#12 Ch#50 HDC pl#8 [Y1] wire#29 +51, 2, 30 !TDC ROC#2 Sl#12 Ch#51 HDC pl#8 [Y1] wire#30 +52, 2, 31 !TDC ROC#2 Sl#12 Ch#52 HDC pl#8 [Y1] wire#31 +53, 2, 32 !TDC ROC#2 Sl#12 Ch#53 HDC pl#8 [Y1] wire#32 +54, 2, 33 !TDC ROC#2 Sl#12 Ch#54 HDC pl#8 [Y1] wire#33 +55, 2, 34 !TDC ROC#2 Sl#12 Ch#55 HDC pl#8 [Y1] wire#34 +56, 2, 35 !TDC ROC#2 Sl#12 Ch#56 HDC pl#8 [Y1] wire#35 +57, 2, 36 !TDC ROC#2 Sl#12 Ch#57 HDC pl#8 [Y1] wire#36 +58, 2, 37 !TDC ROC#2 Sl#12 Ch#58 HDC pl#8 [Y1] wire#37 +59, 2, 38 !TDC ROC#2 Sl#12 Ch#59 HDC pl#8 [Y1] wire#38 +60, 2, 39 !TDC ROC#2 Sl#12 Ch#60 HDC pl#8 [Y1] wire#39 +! 61 !TDC ROC#2 Sl#12 Ch#61 unused +! 62 !TDC ROC#2 Sl#12 Ch#62 unused +! 63 !TDC ROC#2 Sl#12 Ch#63 unused +64, 2, 40 !TDC ROC#2 Sl#12 Ch#64 HDC pl#8 [Y1] wire#40 +65, 2, 41 !TDC ROC#2 Sl#12 Ch#65 HDC pl#8 [Y1] wire#41 +66, 2, 42 !TDC ROC#2 Sl#12 Ch#66 HDC pl#8 [Y1] wire#42 +67, 2, 43 !TDC ROC#2 Sl#12 Ch#67 HDC pl#8 [Y1] wire#43 +68, 2, 44 !TDC ROC#2 Sl#12 Ch#68 HDC pl#8 [Y1] wire#44 +69, 2, 45 !TDC ROC#2 Sl#12 Ch#69 HDC pl#8 [Y1] wire#45 +70, 2, 46 !TDC ROC#2 Sl#12 Ch#70 HDC pl#8 [Y1] wire#46 +71, 2, 47 !TDC ROC#2 Sl#12 Ch#71 HDC pl#8 [Y1] wire#47 +72, 2, 48 !TDC ROC#2 Sl#12 Ch#72 HDC pl#8 [Y1] wire#48 +73, 2, 49 !TDC ROC#2 Sl#12 Ch#73 HDC pl#8 [Y1] wire#49 +74, 2, 50 !TDC ROC#2 Sl#12 Ch#74 HDC pl#8 [Y1] wire#50 +75, 2, 51 !TDC ROC#2 Sl#12 Ch#75 HDC pl#8 [Y1] wire#51 +76, 2, 52 !TDC ROC#2 Sl#12 Ch#76 HDC pl#8 [Y1] wire#52 +! 77 !TDC ROC#2 Sl#12 Ch#77 unused +! 78 !TDC ROC#2 Sl#12 Ch#78 unused +! 79 !TDC ROC#2 Sl#12 Ch#79 unused +80, 1, 113 !TDC ROC#2 Sl#12 Ch#80 HDC pl#7 [X1] wire#113 +! 81 !TDC ROC#2 Sl#12 Ch#81 unused +82, 3, 1 !TDC ROC#2 Sl#12 Ch#82 HDC pl#9 [U] wire#1 +83, 3, 2 !TDC ROC#2 Sl#12 Ch#83 HDC pl#9 [U] wire#2 +84, 3, 3 !TDC ROC#2 Sl#12 Ch#84 HDC pl#9 [U] wire#3 +85, 3, 4 !TDC ROC#2 Sl#12 Ch#85 HDC pl#9 [U] wire#4 +86, 3, 5 !TDC ROC#2 Sl#12 Ch#86 HDC pl#9 [U] wire#5 +87, 3, 6 !TDC ROC#2 Sl#12 Ch#87 HDC pl#9 [U] wire#6 +88, 3, 7 !TDC ROC#2 Sl#12 Ch#88 HDC pl#9 [U] wire#7 +89, 3, 8 !TDC ROC#2 Sl#12 Ch#89 HDC pl#9 [U] wire#8 +90, 3, 9 !TDC ROC#2 Sl#12 Ch#90 HDC pl#9 [U] wire#9 +91, 3, 10 !TDC ROC#2 Sl#12 Ch#91 HDC pl#9 [U] wire#10 +92, 3, 11 !TDC ROC#2 Sl#12 Ch#92 HDC pl#9 [U] wire#11 +93, 3, 12 !TDC ROC#2 Sl#12 Ch#93 HDC pl#9 [U] wire#12 +94, 3, 13 !TDC ROC#2 Sl#12 Ch#94 HDC pl#9 [U] wire#13 +95, 3, 14 !TDC ROC#2 Sl#12 Ch#95 HDC pl#9 [U] wire#14 +Slot= 18 +0, 3, 15 !TDC ROC#2 Sl#14 Ch#0 HDC pl#9 [U] wire#15 +1, 3, 16 !TDC ROC#2 Sl#14 Ch#1 HDC pl#9 [U] wire#16 +2, 3, 17 !TDC ROC#2 Sl#14 Ch#2 HDC pl#9 [U] wire#17 +3, 3, 18 !TDC ROC#2 Sl#14 Ch#3 HDC pl#9 [U] wire#18 +4, 3, 19 !TDC ROC#2 Sl#14 Ch#4 HDC pl#9 [U] wire#19 +5, 3, 20 !TDC ROC#2 Sl#14 Ch#5 HDC pl#9 [U] wire#20 +6, 3, 21 !TDC ROC#2 Sl#14 Ch#6 HDC pl#9 [U] wire#21 +7, 3, 22 !TDC ROC#2 Sl#14 Ch#7 HDC pl#9 [U] wire#22 +8, 3, 23 !TDC ROC#2 Sl#14 Ch#8 HDC pl#9 [U] wire#23 +9, 3, 24 !TDC ROC#2 Sl#14 Ch#9 HDC pl#9 [U] wire#24 +10, 3, 25 !TDC ROC#2 Sl#14 Ch#10 HDC pl#9 [U] wire#25 +11, 3, 26 !TDC ROC#2 Sl#14 Ch#11 HDC pl#9 [U] wire#26 +12, 3, 27 !TDC ROC#2 Sl#14 Ch#12 HDC pl#9 [U] wire#27 +13, 3, 28 !TDC ROC#2 Sl#14 Ch#13 HDC pl#9 [U] wire#28 +14, 3, 29 !TDC ROC#2 Sl#14 Ch#14 HDC pl#9 [U] wire#29 +! 15 !TDC ROC#2 Sl#14 Ch#15 unused +16, 3, 30 !TDC ROC#2 Sl#14 Ch#16 HDC pl#9 [U] wire#30 +17, 3, 31 !TDC ROC#2 Sl#14 Ch#17 HDC pl#9 [U] wire#31 +18, 3, 32 !TDC ROC#2 Sl#14 Ch#18 HDC pl#9 [U] wire#32 +19, 3, 33 !TDC ROC#2 Sl#14 Ch#19 HDC pl#9 [U] wire#33 +20, 3, 34 !TDC ROC#2 Sl#14 Ch#20 HDC pl#9 [U] wire#34 +21, 3, 35 !TDC ROC#2 Sl#14 Ch#21 HDC pl#9 [U] wire#35 +22, 3, 36 !TDC ROC#2 Sl#14 Ch#22 HDC pl#9 [U] wire#36 +23, 3, 37 !TDC ROC#2 Sl#14 Ch#23 HDC pl#9 [U] wire#37 +24, 3, 38 !TDC ROC#2 Sl#14 Ch#24 HDC pl#9 [U] wire#38 +25, 3, 39 !TDC ROC#2 Sl#14 Ch#25 HDC pl#9 [U] wire#39 +26, 3, 40 !TDC ROC#2 Sl#14 Ch#26 HDC pl#9 [U] wire#40 +27, 3, 41 !TDC ROC#2 Sl#14 Ch#27 HDC pl#9 [U] wire#41 +28, 3, 42 !TDC ROC#2 Sl#14 Ch#28 HDC pl#9 [U] wire#42 +29, 3, 43 !TDC ROC#2 Sl#14 Ch#29 HDC pl#9 [U] wire#43 +30, 3, 44 !TDC ROC#2 Sl#14 Ch#30 HDC pl#9 [U] wire#44 +31, 3, 45 !TDC ROC#2 Sl#14 Ch#31 HDC pl#9 [U] wire#45 +32, 3, 46 !TDC ROC#2 Sl#14 Ch#32 HDC pl#9 [U] wire#46 +33, 3, 47 !TDC ROC#2 Sl#14 Ch#33 HDC pl#9 [U] wire#47 +34, 3, 48 !TDC ROC#2 Sl#14 Ch#34 HDC pl#9 [U] wire#48 +35, 3, 49 !TDC ROC#2 Sl#14 Ch#35 HDC pl#9 [U] wire#49 +36, 3, 50 !TDC ROC#2 Sl#14 Ch#36 HDC pl#9 [U] wire#50 +37, 3, 51 !TDC ROC#2 Sl#14 Ch#37 HDC pl#9 [U] wire#51 +38, 3, 52 !TDC ROC#2 Sl#14 Ch#38 HDC pl#9 [U] wire#52 +39, 3, 53 !TDC ROC#2 Sl#14 Ch#39 HDC pl#9 [U] wire#53 +40, 3, 54 !TDC ROC#2 Sl#14 Ch#40 HDC pl#9 [U] wire#54 +41, 3, 55 !TDC ROC#2 Sl#14 Ch#41 HDC pl#9 [U] wire#55 +42, 3, 56 !TDC ROC#2 Sl#14 Ch#42 HDC pl#9 [U] wire#56 +43, 3, 57 !TDC ROC#2 Sl#14 Ch#43 HDC pl#9 [U] wire#57 +44, 3, 58 !TDC ROC#2 Sl#14 Ch#44 HDC pl#9 [U] wire#58 +45, 3, 59 !TDC ROC#2 Sl#14 Ch#45 HDC pl#9 [U] wire#59 +46, 3, 60 !TDC ROC#2 Sl#14 Ch#46 HDC pl#9 [U] wire#60 +! 47 !TDC ROC#2 Sl#14 Ch#47 unused +48, 3, 61 !TDC ROC#2 Sl#14 Ch#48 HDC pl#9 [U] wire#61 +49, 3, 62 !TDC ROC#2 Sl#14 Ch#49 HDC pl#9 [U] wire#62 +50, 3, 63 !TDC ROC#2 Sl#14 Ch#50 HDC pl#9 [U] wire#63 +51, 3, 64 !TDC ROC#2 Sl#14 Ch#51 HDC pl#9 [U] wire#64 +52, 3, 65 !TDC ROC#2 Sl#14 Ch#52 HDC pl#9 [U] wire#65 +53, 3, 66 !TDC ROC#2 Sl#14 Ch#53 HDC pl#9 [U] wire#66 +54, 3, 67 !TDC ROC#2 Sl#14 Ch#54 HDC pl#9 [U] wire#67 +55, 3, 68 !TDC ROC#2 Sl#14 Ch#55 HDC pl#9 [U] wire#68 +56, 3, 69 !TDC ROC#2 Sl#14 Ch#56 HDC pl#9 [U] wire#69 +57, 3, 70 !TDC ROC#2 Sl#14 Ch#57 HDC pl#9 [U] wire#70 +58, 3, 71 !TDC ROC#2 Sl#14 Ch#58 HDC pl#9 [U] wire#71 +59, 3, 72 !TDC ROC#2 Sl#14 Ch#59 HDC pl#9 [U] wire#72 +60, 3, 73 !TDC ROC#2 Sl#14 Ch#60 HDC pl#9 [U] wire#73 +61, 3, 74 !TDC ROC#2 Sl#14 Ch#61 HDC pl#9 [U] wire#74 +62, 3, 75 !TDC ROC#2 Sl#14 Ch#62 HDC pl#9 [U] wire#75 +63, 3, 76 !TDC ROC#2 Sl#14 Ch#63 HDC pl#9 [U] wire#76 +64, 3, 77 !TDC ROC#2 Sl#14 Ch#64 HDC pl#9 [U] wire#77 +65, 3, 78 !TDC ROC#2 Sl#14 Ch#65 HDC pl#9 [U] wire#78 +66, 3, 79 !TDC ROC#2 Sl#14 Ch#66 HDC pl#9 [U] wire#79 +67, 3, 80 !TDC ROC#2 Sl#14 Ch#67 HDC pl#9 [U] wire#80 +68, 3, 81 !TDC ROC#2 Sl#14 Ch#68 HDC pl#9 [U] wire#81 +69, 3, 82 !TDC ROC#2 Sl#14 Ch#69 HDC pl#9 [U] wire#82 +70, 3, 83 !TDC ROC#2 Sl#14 Ch#70 HDC pl#9 [U] wire#83 +71, 3, 84 !TDC ROC#2 Sl#14 Ch#71 HDC pl#9 [U] wire#84 +72, 3, 85 !TDC ROC#2 Sl#14 Ch#72 HDC pl#9 [U] wire#85 +73, 3, 86 !TDC ROC#2 Sl#14 Ch#73 HDC pl#9 [U] wire#86 +74, 3, 87 !TDC ROC#2 Sl#14 Ch#74 HDC pl#9 [U] wire#87 +75, 3, 88 !TDC ROC#2 Sl#14 Ch#75 HDC pl#9 [U] wire#88 +76, 3, 89 !TDC ROC#2 Sl#14 Ch#76 HDC pl#9 [U] wire#89 +77, 3, 90 !TDC ROC#2 Sl#14 Ch#77 HDC pl#9 [U] wire#90 +78, 3, 91 !TDC ROC#2 Sl#14 Ch#78 HDC pl#9 [U] wire#91 +!79, !unused +80, 3, 92 !TDC ROC#2 Sl#14 Ch#80 HDC pl#9 [U] wire#92 +81, 3, 93 !TDC ROC#2 Sl#14 Ch#81 HDC pl#9 [U] wire#93 +82, 3, 94 !TDC ROC#2 Sl#14 Ch#82 HDC pl#9 [U] wire#94 +83, 3, 95 !TDC ROC#2 Sl#14 Ch#83 HDC pl#9 [U] wire#95 +84, 3, 96 !TDC ROC#2 Sl#14 Ch#84 HDC pl#9 [U] wire#96 +85, 3, 97 !TDC ROC#2 Sl#14 Ch#85 HDC pl#9 [U] wire#97 +86, 3, 98 !TDC ROC#2 Sl#14 Ch#86 HDC pl#9 [U] wire#98 +87, 3, 99 !TDC ROC#2 Sl#14 Ch#87 HDC pl#9 [U] wire#99 +88, 3, 100 !TDC ROC#2 Sl#14 Ch#88 HDC pl#9 [U] wire#100 +89, 3, 101 !TDC ROC#2 Sl#14 Ch#89 HDC pl#9 [U] wire#101 +90, 3, 102 !TDC ROC#2 Sl#14 Ch#90 HDC pl#9 [U] wire#102 +91, 3, 103 !TDC ROC#2 Sl#14 Ch#91 HDC pl#9 [U] wire#103 +92, 3, 104 !TDC ROC#2 Sl#14 Ch#92 HDC pl#9 [U] wire#104 +93, 3, 105 !TDC ROC#2 Sl#14 Ch#93 HDC pl#9 [U] wire#105 +94, 3, 106 !TDC ROC#2 Sl#14 Ch#94 HDC pl#9 [U] wire#106 +95, 3, 107 !TDC ROC#2 Sl#14 Ch#95 HDC pl#9 [U] wire#107 +Slot= 19 +0, 6, 113 !TDC ROC#2 Sl#15 Ch#0 HDC pl#12 [X2] wire#113 +!1, !unused +2, 4, 1 !TDC ROC#2 Sl#15 Ch#2 HDC pl#10 [V] wire#1 +3, 4, 2 !TDC ROC#2 Sl#15 Ch#3 HDC pl#10 [V] wire#2 +4, 4, 3 !TDC ROC#2 Sl#15 Ch#4 HDC pl#10 [V] wire#3 +5, 4, 4 !TDC ROC#2 Sl#15 Ch#5 HDC pl#10 [V] wire#4 +6, 4, 5 !TDC ROC#2 Sl#15 Ch#6 HDC pl#10 [V] wire#5 +7, 4, 6 !TDC ROC#2 Sl#15 Ch#7 HDC pl#10 [V] wire#6 +8, 4, 7 !TDC ROC#2 Sl#15 Ch#8 HDC pl#10 [V] wire#7 +9, 4, 8 !TDC ROC#2 Sl#15 Ch#9 HDC pl#10 [V] wire#8 +10, 4, 9 !TDC ROC#2 Sl#15 Ch#10 HDC pl#10 [V] wire#9 +11, 4, 10 !TDC ROC#2 Sl#15 Ch#11 HDC pl#10 [V] wire#10 +12, 4, 11 !TDC ROC#2 Sl#15 Ch#12 HDC pl#10 [V] wire#11 +13, 4, 12 !TDC ROC#2 Sl#15 Ch#13 HDC pl#10 [V] wire#12 +14, 4, 13 !TDC ROC#2 Sl#15 Ch#14 HDC pl#10 [V] wire#13 +15, 4, 14 !TDC ROC#2 Sl#15 Ch#15 HDC pl#10 [V] wire#14 +16, 4, 15 !TDC ROC#2 Sl#15 Ch#16 HDC pl#10 [V] wire#15 +17, 4, 16 !TDC ROC#2 Sl#15 Ch#17 HDC pl#10 [V] wire#16 +18, 4, 17 !TDC ROC#2 Sl#15 Ch#18 HDC pl#10 [V] wire#17 +19, 4, 18 !TDC ROC#2 Sl#15 Ch#19 HDC pl#10 [V] wire#18 +20, 4, 19 !TDC ROC#2 Sl#15 Ch#20 HDC pl#10 [V] wire#19 +21, 4, 20 !TDC ROC#2 Sl#15 Ch#21 HDC pl#10 [V] wire#20 +22, 4, 21 !TDC ROC#2 Sl#15 Ch#22 HDC pl#10 [V] wire#21 +23, 4, 22 !TDC ROC#2 Sl#15 Ch#23 HDC pl#10 [V] wire#22 +24, 4, 23 !TDC ROC#2 Sl#15 Ch#24 HDC pl#10 [V] wire#23 +25, 4, 24 !TDC ROC#2 Sl#15 Ch#25 HDC pl#10 [V] wire#24 +26, 4, 25 !TDC ROC#2 Sl#15 Ch#26 HDC pl#10 [V] wire#25 +27, 4, 26 !TDC ROC#2 Sl#15 Ch#27 HDC pl#10 [V] wire#26 +28, 4, 27 !TDC ROC#2 Sl#15 Ch#28 HDC pl#10 [V] wire#27 +29, 4, 28 !TDC ROC#2 Sl#15 Ch#29 HDC pl#10 [V] wire#28 +30, 4, 29 !TDC ROC#2 Sl#15 Ch#30 HDC pl#10 [V] wire#29 +! 31 !TDC ROC#2 Sl#15 Ch#31 unused +32, 4, 30 !TDC ROC#2 Sl#15 Ch#32 HDC pl#10 [V] wire#30 +33, 4, 31 !TDC ROC#2 Sl#15 Ch#33 HDC pl#10 [V] wire#31 +34, 4, 32 !TDC ROC#2 Sl#15 Ch#34 HDC pl#10 [V] wire#32 +35, 4, 33 !TDC ROC#2 Sl#15 Ch#35 HDC pl#10 [V] wire#33 +36, 4, 34 !TDC ROC#2 Sl#15 Ch#36 HDC pl#10 [V] wire#34 +37, 4, 35 !TDC ROC#2 Sl#15 Ch#37 HDC pl#10 [V] wire#35 +38, 4, 36 !TDC ROC#2 Sl#15 Ch#38 HDC pl#10 [V] wire#36 +39, 4, 37 !TDC ROC#2 Sl#15 Ch#39 HDC pl#10 [V] wire#37 +40, 4, 38 !TDC ROC#2 Sl#15 Ch#40 HDC pl#10 [V] wire#38 +41, 4, 39 !TDC ROC#2 Sl#15 Ch#41 HDC pl#10 [V] wire#39 +42, 4, 40 !TDC ROC#2 Sl#15 Ch#42 HDC pl#10 [V] wire#40 +43, 4, 41 !TDC ROC#2 Sl#15 Ch#43 HDC pl#10 [V] wire#41 +44, 4, 42 !TDC ROC#2 Sl#15 Ch#44 HDC pl#10 [V] wire#42 +45, 4, 43 !TDC ROC#2 Sl#15 Ch#45 HDC pl#10 [V] wire#43 +46, 4, 44 !TDC ROC#2 Sl#15 Ch#46 HDC pl#10 [V] wire#44 +47, 4, 45 !TDC ROC#2 Sl#15 Ch#47 HDC pl#10 [V] wire#45 +48, 4, 46 !TDC ROC#2 Sl#15 Ch#48 HDC pl#10 [V] wire#46 +49, 4, 47 !TDC ROC#2 Sl#15 Ch#49 HDC pl#10 [V] wire#47 +50, 4, 48 !TDC ROC#2 Sl#15 Ch#50 HDC pl#10 [V] wire#48 +51, 4, 49 !TDC ROC#2 Sl#15 Ch#51 HDC pl#10 [V] wire#49 +52, 4, 50 !TDC ROC#2 Sl#15 Ch#52 HDC pl#10 [V] wire#50 +53, 4, 51 !TDC ROC#2 Sl#15 Ch#53 HDC pl#10 [V] wire#51 +54, 4, 52 !TDC ROC#2 Sl#15 Ch#54 HDC pl#10 [V] wire#52 +55, 4, 53 !TDC ROC#2 Sl#15 Ch#55 HDC pl#10 [V] wire#53 +56, 4, 54 !TDC ROC#2 Sl#15 Ch#56 HDC pl#10 [V] wire#54 +57, 4, 55 !TDC ROC#2 Sl#15 Ch#57 HDC pl#10 [V] wire#55 +58, 4, 56 !TDC ROC#2 Sl#15 Ch#58 HDC pl#10 [V] wire#56 +59, 4, 57 !TDC ROC#2 Sl#15 Ch#59 HDC pl#10 [V] wire#57 +60, 4, 58 !TDC ROC#2 Sl#15 Ch#60 HDC pl#10 [V] wire#58 +61, 4, 59 !TDC ROC#2 Sl#15 Ch#61 HDC pl#10 [V] wire#59 +62, 4, 60 !TDC ROC#2 Sl#15 Ch#62 HDC pl#10 [V] wire#60 +! 63 !TDC ROC#2 Sl#15 Ch#63 unused +64, 4, 61 !TDC ROC#2 Sl#15 Ch#64 HDC pl#10 [V] wire#61 +65, 4, 62 !TDC ROC#2 Sl#15 Ch#65 HDC pl#10 [V] wire#62 +66, 4, 63 !TDC ROC#2 Sl#15 Ch#66 HDC pl#10 [V] wire#63 +67, 4, 64 !TDC ROC#2 Sl#15 Ch#67 HDC pl#10 [V] wire#64 +68, 4, 65 !TDC ROC#2 Sl#15 Ch#68 HDC pl#10 [V] wire#65 +69, 4, 66 !TDC ROC#2 Sl#15 Ch#69 HDC pl#10 [V] wire#66 +70, 4, 67 !TDC ROC#2 Sl#15 Ch#70 HDC pl#10 [V] wire#67 +71, 4, 68 !TDC ROC#2 Sl#15 Ch#71 HDC pl#10 [V] wire#68 +72, 4, 69 !TDC ROC#2 Sl#15 Ch#72 HDC pl#10 [V] wire#69 +73, 4, 70 !TDC ROC#2 Sl#15 Ch#73 HDC pl#10 [V] wire#70 +74, 4, 71 !TDC ROC#2 Sl#15 Ch#74 HDC pl#10 [V] wire#71 +75, 4, 72 !TDC ROC#2 Sl#15 Ch#75 HDC pl#10 [V] wire#72 +76, 4, 73 !TDC ROC#2 Sl#15 Ch#76 HDC pl#10 [V] wire#73 +77, 4, 74 !TDC ROC#2 Sl#15 Ch#77 HDC pl#10 [V] wire#74 +78, 4, 75 !TDC ROC#2 Sl#15 Ch#78 HDC pl#10 [V] wire#75 +79, 4, 76 !TDC ROC#2 Sl#15 Ch#79 HDC pl#10 [V] wire#76 +80, 4, 77 !TDC ROC#2 Sl#15 Ch#80 HDC pl#10 [V] wire#77 +81, 4, 78 !TDC ROC#2 Sl#15 Ch#81 HDC pl#10 [V] wire#78 +82, 4, 79 !TDC ROC#2 Sl#15 Ch#82 HDC pl#10 [V] wire#79 +83, 4, 80 !TDC ROC#2 Sl#15 Ch#83 HDC pl#10 [V] wire#80 +84, 4, 81 !TDC ROC#2 Sl#15 Ch#84 HDC pl#10 [V] wire#81 +85, 4, 82 !TDC ROC#2 Sl#15 Ch#85 HDC pl#10 [V] wire#82 +86, 4, 83 !TDC ROC#2 Sl#15 Ch#86 HDC pl#10 [V] wire#83 +87, 4, 84 !TDC ROC#2 Sl#15 Ch#87 HDC pl#10 [V] wire#84 +88, 4, 85 !TDC ROC#2 Sl#15 Ch#88 HDC pl#10 [V] wire#85 +89, 4, 86 !TDC ROC#2 Sl#15 Ch#89 HDC pl#10 [V] wire#86 +90, 4, 87 !TDC ROC#2 Sl#15 Ch#90 HDC pl#10 [V] wire#87 +91, 4, 88 !TDC ROC#2 Sl#15 Ch#91 HDC pl#10 [V] wire#88 +92, 4, 89 !TDC ROC#2 Sl#15 Ch#92 HDC pl#10 [V] wire#89 +93, 4, 90 !TDC ROC#2 Sl#15 Ch#93 HDC pl#10 [V] wire#90 +94, 4, 91 !TDC ROC#2 Sl#15 Ch#94 HDC pl#10 [V] wire#91 +! 95 !TDC ROC#2 Sl#15 Ch#95 unused +Slot= 21 +0, 4, 92 !TDC ROC#2 Sl#17 Ch#0 HDC pl#10 [V] wire#92 +1, 4, 93 !TDC ROC#2 Sl#17 Ch#1 HDC pl#10 [V] wire#93 +2, 4, 94 !TDC ROC#2 Sl#17 Ch#2 HDC pl#10 [V] wire#94 +3, 4, 95 !TDC ROC#2 Sl#17 Ch#3 HDC pl#10 [V] wire#95 +4, 4, 96 !TDC ROC#2 Sl#17 Ch#4 HDC pl#10 [V] wire#96 +5, 4, 97 !TDC ROC#2 Sl#17 Ch#5 HDC pl#10 [V] wire#97 +6, 4, 98 !TDC ROC#2 Sl#17 Ch#6 HDC pl#10 [V] wire#98 +7, 4, 99 !TDC ROC#2 Sl#17 Ch#7 HDC pl#10 [V] wire#99 +8, 4, 100 !TDC ROC#2 Sl#17 Ch#8 HDC pl#10 [V] wire#100 +9, 4, 101 !TDC ROC#2 Sl#17 Ch#9 HDC pl#10 [V] wire#101 +10, 4, 102 !TDC ROC#2 Sl#17 Ch#10 HDC pl#10 [V] wire#102 +11, 4, 103 !TDC ROC#2 Sl#17 Ch#11 HDC pl#10 [V] wire#103 +12, 4, 104 !TDC ROC#2 Sl#17 Ch#12 HDC pl#10 [V] wire#104 +13, 4, 105 !TDC ROC#2 Sl#17 Ch#13 HDC pl#10 [V] wire#105 +14, 4, 106 !TDC ROC#2 Sl#17 Ch#14 HDC pl#10 [V] wire#106 +15, 4, 107 !TDC ROC#2 Sl#17 Ch#15 HDC pl#10 [V] wire#107 +16, 5, 1 !TDC ROC#2 Sl#17 Ch#16 HDC pl#11 [Y2] wire#1 +17, 5, 2 !TDC ROC#2 Sl#17 Ch#17 HDC pl#11 [Y2] wire#2 +18, 5, 3 !TDC ROC#2 Sl#17 Ch#18 HDC pl#11 [Y2] wire#3 +19, 5, 4 !TDC ROC#2 Sl#17 Ch#19 HDC pl#11 [Y2] wire#4 +20, 5, 5 !TDC ROC#2 Sl#17 Ch#20 HDC pl#11 [Y2] wire#5 +21, 5, 6 !TDC ROC#2 Sl#17 Ch#21 HDC pl#11 [Y2] wire#6 +22, 5, 7 !TDC ROC#2 Sl#17 Ch#22 HDC pl#11 [Y2] wire#7 +23, 5, 8 !TDC ROC#2 Sl#17 Ch#23 HDC pl#11 [Y2] wire#8 +24, 5, 9 !TDC ROC#2 Sl#17 Ch#24 HDC pl#11 [Y2] wire#9 +25, 5, 10 !TDC ROC#2 Sl#17 Ch#25 HDC pl#11 [Y2] wire#10 +26, 5, 11 !TDC ROC#2 Sl#17 Ch#26 HDC pl#11 [Y2] wire#11 +27, 5, 12 !TDC ROC#2 Sl#17 Ch#27 HDC pl#11 [Y2] wire#12 +28, 5, 13 !TDC ROC#2 Sl#17 Ch#28 HDC pl#11 [Y2] wire#13 +! 29 !TDC ROC#2 Sl#17 Ch#29 unused +! 30 !TDC ROC#2 Sl#17 Ch#30 unused +! 31 !TDC ROC#2 Sl#17 Ch#31 unused +32, 5, 14 !TDC ROC#2 Sl#17 Ch#32 HDC pl#11 [Y2] wire#14 +33, 5, 15 !TDC ROC#2 Sl#17 Ch#33 HDC pl#11 [Y2] wire#15 +34, 5, 16 !TDC ROC#2 Sl#17 Ch#34 HDC pl#11 [Y2] wire#16 +35, 5, 17 !TDC ROC#2 Sl#17 Ch#35 HDC pl#11 [Y2] wire#17 +36, 5, 18 !TDC ROC#2 Sl#17 Ch#36 HDC pl#11 [Y2] wire#18 +37, 5, 19 !TDC ROC#2 Sl#17 Ch#37 HDC pl#11 [Y2] wire#19 +38, 5, 20 !TDC ROC#2 Sl#17 Ch#38 HDC pl#11 [Y2] wire#20 +39, 5, 21 !TDC ROC#2 Sl#17 Ch#39 HDC pl#11 [Y2] wire#21 +40, 5, 22 !TDC ROC#2 Sl#17 Ch#40 HDC pl#11 [Y2] wire#22 +41, 5, 23 !TDC ROC#2 Sl#17 Ch#41 HDC pl#11 [Y2] wire#23 +42, 5, 24 !TDC ROC#2 Sl#17 Ch#42 HDC pl#11 [Y2] wire#24 +43, 5, 25 !TDC ROC#2 Sl#17 Ch#43 HDC pl#11 [Y2] wire#25 +44, 5, 26 !TDC ROC#2 Sl#17 Ch#44 HDC pl#11 [Y2] wire#26 +! 45 !TDC ROC#2 Sl#17 Ch#45 unused +! 46 !TDC ROC#2 Sl#17 Ch#46 unused +! 47 !TDC ROC#2 Sl#17 Ch#47 unused +48, 5, 27 !TDC ROC#2 Sl#17 Ch#48 HDC pl#11 [Y2] wire#27 +49, 5, 28 !TDC ROC#2 Sl#17 Ch#49 HDC pl#11 [Y2] wire#28 +50, 5, 29 !TDC ROC#2 Sl#17 Ch#50 HDC pl#11 [Y2] wire#29 +51, 5, 30 !TDC ROC#2 Sl#17 Ch#51 HDC pl#11 [Y2] wire#30 +52, 5, 31 !TDC ROC#2 Sl#17 Ch#52 HDC pl#11 [Y2] wire#31 +53, 5, 32 !TDC ROC#2 Sl#17 Ch#53 HDC pl#11 [Y2] wire#32 +54, 5, 33 !TDC ROC#2 Sl#17 Ch#54 HDC pl#11 [Y2] wire#33 +55, 5, 34 !TDC ROC#2 Sl#17 Ch#55 HDC pl#11 [Y2] wire#34 +56, 5, 35 !TDC ROC#2 Sl#17 Ch#56 HDC pl#11 [Y2] wire#35 +57, 5, 36 !TDC ROC#2 Sl#17 Ch#57 HDC pl#11 [Y2] wire#36 +58, 5, 37 !TDC ROC#2 Sl#17 Ch#58 HDC pl#11 [Y2] wire#37 +59, 5, 38 !TDC ROC#2 Sl#17 Ch#59 HDC pl#11 [Y2] wire#38 +60, 5, 39 !TDC ROC#2 Sl#17 Ch#60 HDC pl#11 [Y2] wire#39 +! 61 !TDC ROC#2 Sl#17 Ch#61 unused +! 62 !TDC ROC#2 Sl#17 Ch#62 unused +! 63 !TDC ROC#2 Sl#17 Ch#63 unused +! 64 !TDC ROC#2 Sl#17 Ch#64 unused????? JV 11/11/97 +65, 5, 40 !TDC ROC#2 Sl#17 Ch#64 HDC pl#11 [Y2] wire#40 +66, 5, 41 !TDC ROC#2 Sl#17 Ch#65 HDC pl#11 [Y2] wire#41 +67, 5, 42 !TDC ROC#2 Sl#17 Ch#66 HDC pl#11 [Y2] wire#42 +68, 5, 43 !TDC ROC#2 Sl#17 Ch#67 HDC pl#11 [Y2] wire#43 +69, 5, 44 !TDC ROC#2 Sl#17 Ch#68 HDC pl#11 [Y2] wire#44 +70, 5, 45 !TDC ROC#2 Sl#17 Ch#69 HDC pl#11 [Y2] wire#45 +71, 5, 46 !TDC ROC#2 Sl#17 Ch#70 HDC pl#11 [Y2] wire#46 +72, 5, 47 !TDC ROC#2 Sl#17 Ch#71 HDC pl#11 [Y2] wire#47 +73, 5, 48 !TDC ROC#2 Sl#17 Ch#72 HDC pl#11 [Y2] wire#48 +74, 5, 49 !TDC ROC#2 Sl#17 Ch#73 HDC pl#11 [Y2] wire#49 +75, 5, 50 !TDC ROC#2 Sl#17 Ch#74 HDC pl#11 [Y2] wire#50 +76, 5, 51 !TDC ROC#2 Sl#17 Ch#75 HDC pl#11 [Y2] wire#51 +77, 5, 52 !TDC ROC#2 Sl#17 Ch#76 HDC pl#11 [Y2] wire#52 +! 77 !TDC ROC#2 Sl#17 Ch#77 unused +! 78 !TDC ROC#2 Sl#17 Ch#78 unused +! 79 !TDC ROC#2 Sl#17 Ch#79 unused +80, 6, 1 !TDC ROC#2 Sl#17 Ch#80 HDC pl#12 [X2] wire#1 +81, 6, 2 !TDC ROC#2 Sl#17 Ch#81 HDC pl#12 [X2] wire#2 +82, 6, 3 !TDC ROC#2 Sl#17 Ch#82 HDC pl#12 [X2] wire#3 +83, 6, 4 !TDC ROC#2 Sl#17 Ch#83 HDC pl#12 [X2] wire#4 +84, 6, 5 !TDC ROC#2 Sl#17 Ch#84 HDC pl#12 [X2] wire#5 +85, 6, 6 !TDC ROC#2 Sl#17 Ch#85 HDC pl#12 [X2] wire#6 +86, 6, 7 !TDC ROC#2 Sl#17 Ch#86 HDC pl#12 [X2] wire#7 +87, 6, 8 !TDC ROC#2 Sl#17 Ch#87 HDC pl#12 [X2] wire#8 +88, 6, 9 !TDC ROC#2 Sl#17 Ch#88 HDC pl#12 [X2] wire#9 +89, 6, 10 !TDC ROC#2 Sl#17 Ch#89 HDC pl#12 [X2] wire#10 +90, 6, 11 !TDC ROC#2 Sl#17 Ch#90 HDC pl#12 [X2] wire#11 +91, 6, 12 !TDC ROC#2 Sl#17 Ch#91 HDC pl#12 [X2] wire#12 +92, 6, 13 !TDC ROC#2 Sl#17 Ch#92 HDC pl#12 [X2] wire#13 +93, 6, 14 !TDC ROC#2 Sl#17 Ch#93 HDC pl#12 [X2] wire#14 +94, 6, 15 !TDC ROC#2 Sl#17 Ch#94 HDC pl#12 [X2] wire#15 +95, 6, 16 !TDC ROC#2 Sl#17 Ch#95 HDC pl#12 [X2] wire#16 +Slot= 22 +0, 6, 17 !TDC ROC#2 Sl#18 Ch#0 HDC pl#12 [X2] wire#17 +1, 6, 18 !TDC ROC#2 Sl#18 Ch#1 HDC pl#12 [X2] wire#18 +2, 6, 19 !TDC ROC#2 Sl#18 Ch#2 HDC pl#12 [X2] wire#19 +3, 6, 20 !TDC ROC#2 Sl#18 Ch#3 HDC pl#12 [X2] wire#20 +4, 6, 21 !TDC ROC#2 Sl#18 Ch#4 HDC pl#12 [X2] wire#21 +5, 6, 22 !TDC ROC#2 Sl#18 Ch#5 HDC pl#12 [X2] wire#22 +6, 6, 23 !TDC ROC#2 Sl#18 Ch#6 HDC pl#12 [X2] wire#23 +7, 6, 24 !TDC ROC#2 Sl#18 Ch#7 HDC pl#12 [X2] wire#24 +8, 6, 25 !TDC ROC#2 Sl#18 Ch#8 HDC pl#12 [X2] wire#25 +9, 6, 26 !TDC ROC#2 Sl#18 Ch#9 HDC pl#12 [X2] wire#26 +10, 6, 27 !TDC ROC#2 Sl#18 Ch#10 HDC pl#12 [X2] wire#27 +11, 6, 28 !TDC ROC#2 Sl#18 Ch#11 HDC pl#12 [X2] wire#28 +12, 6, 29 !TDC ROC#2 Sl#18 Ch#12 HDC pl#12 [X2] wire#29 +13, 6, 30 !TDC ROC#2 Sl#18 Ch#13 HDC pl#12 [X2] wire#30 +14, 6, 31 !TDC ROC#2 Sl#18 Ch#14 HDC pl#12 [X2] wire#31 +15, 6, 32 !TDC ROC#2 Sl#18 Ch#15 HDC pl#12 [X2] wire#32 +16, 6, 33 !TDC ROC#2 Sl#18 Ch#16 HDC pl#12 [X2] wire#33 +17, 6, 34 !TDC ROC#2 Sl#18 Ch#17 HDC pl#12 [X2] wire#34 +18, 6, 35 !TDC ROC#2 Sl#18 Ch#18 HDC pl#12 [X2] wire#35 +19, 6, 36 !TDC ROC#2 Sl#18 Ch#19 HDC pl#12 [X2] wire#36 +20, 6, 37 !TDC ROC#2 Sl#18 Ch#20 HDC pl#12 [X2] wire#37 +21, 6, 38 !TDC ROC#2 Sl#18 Ch#21 HDC pl#12 [X2] wire#38 +22, 6, 39 !TDC ROC#2 Sl#18 Ch#22 HDC pl#12 [X2] wire#39 +23, 6, 40 !TDC ROC#2 Sl#18 Ch#23 HDC pl#12 [X2] wire#40 +24, 6, 41 !TDC ROC#2 Sl#18 Ch#24 HDC pl#12 [X2] wire#41 +25, 6, 42 !TDC ROC#2 Sl#18 Ch#25 HDC pl#12 [X2] wire#42 +26, 6, 43 !TDC ROC#2 Sl#18 Ch#26 HDC pl#12 [X2] wire#43 +27, 6, 44 !TDC ROC#2 Sl#18 Ch#27 HDC pl#12 [X2] wire#44 +28, 6, 45 !TDC ROC#2 Sl#18 Ch#28 HDC pl#12 [X2] wire#45 +29, 6, 46 !TDC ROC#2 Sl#18 Ch#29 HDC pl#12 [X2] wire#46 +30, 6, 47 !TDC ROC#2 Sl#18 Ch#30 HDC pl#12 [X2] wire#47 +31, 6, 48 !TDC ROC#2 Sl#18 Ch#31 HDC pl#12 [X2] wire#48 +32, 6, 49 !TDC ROC#2 Sl#18 Ch#32 HDC pl#12 [X2] wire#49 +33, 6, 50 !TDC ROC#2 Sl#18 Ch#33 HDC pl#12 [X2] wire#50 +34, 6, 51 !TDC ROC#2 Sl#18 Ch#34 HDC pl#12 [X2] wire#51 +35, 6, 52 !TDC ROC#2 Sl#18 Ch#35 HDC pl#12 [X2] wire#52 +36, 6, 53 !TDC ROC#2 Sl#18 Ch#36 HDC pl#12 [X2] wire#53 +37, 6, 54 !TDC ROC#2 Sl#18 Ch#37 HDC pl#12 [X2] wire#54 +38, 6, 55 !TDC ROC#2 Sl#18 Ch#38 HDC pl#12 [X2] wire#55 +39, 6, 56 !TDC ROC#2 Sl#18 Ch#39 HDC pl#12 [X2] wire#56 +40, 6, 57 !TDC ROC#2 Sl#18 Ch#40 HDC pl#12 [X2] wire#57 +41, 6, 58 !TDC ROC#2 Sl#18 Ch#41 HDC pl#12 [X2] wire#58 +42, 6, 59 !TDC ROC#2 Sl#18 Ch#42 HDC pl#12 [X2] wire#59 +43, 6, 60 !TDC ROC#2 Sl#18 Ch#43 HDC pl#12 [X2] wire#60 +44, 6, 61 !TDC ROC#2 Sl#18 Ch#44 HDC pl#12 [X2] wire#61 +45, 6, 62 !TDC ROC#2 Sl#18 Ch#45 HDC pl#12 [X2] wire#62 +46, 6, 63 !TDC ROC#2 Sl#18 Ch#46 HDC pl#12 [X2] wire#63 +47, 6, 64 !TDC ROC#2 Sl#18 Ch#47 HDC pl#12 [X2] wire#64 +48, 6, 65 !TDC ROC#2 Sl#18 Ch#48 HDC pl#12 [X2] wire#65 +49, 6, 66 !TDC ROC#2 Sl#18 Ch#49 HDC pl#12 [X2] wire#66 +50, 6, 67 !TDC ROC#2 Sl#18 Ch#50 HDC pl#12 [X2] wire#67 +51, 6, 68 !TDC ROC#2 Sl#18 Ch#51 HDC pl#12 [X2] wire#68 +52, 6, 69 !TDC ROC#2 Sl#18 Ch#52 HDC pl#12 [X2] wire#69 +53, 6, 70 !TDC ROC#2 Sl#18 Ch#53 HDC pl#12 [X2] wire#70 +54, 6, 71 !TDC ROC#2 Sl#18 Ch#54 HDC pl#12 [X2] wire#71 +55, 6, 72 !TDC ROC#2 Sl#18 Ch#55 HDC pl#12 [X2] wire#72 +56, 6, 73 !TDC ROC#2 Sl#18 Ch#56 HDC pl#12 [X2] wire#73 +57, 6, 74 !TDC ROC#2 Sl#18 Ch#57 HDC pl#12 [X2] wire#74 +58, 6, 75 !TDC ROC#2 Sl#18 Ch#58 HDC pl#12 [X2] wire#75 +59, 6, 76 !TDC ROC#2 Sl#18 Ch#59 HDC pl#12 [X2] wire#76 +60, 6, 77 !TDC ROC#2 Sl#18 Ch#60 HDC pl#12 [X2] wire#77 +61, 6, 78 !TDC ROC#2 Sl#18 Ch#61 HDC pl#12 [X2] wire#78 +62, 6, 79 !TDC ROC#2 Sl#18 Ch#62 HDC pl#12 [X2] wire#79 +63, 6, 80 !TDC ROC#2 Sl#18 Ch#63 HDC pl#12 [X2] wire#80 +64, 6, 81 !TDC ROC#2 Sl#18 Ch#64 HDC pl#12 [X2] wire#81 +65, 6, 82 !TDC ROC#2 Sl#18 Ch#65 HDC pl#12 [X2] wire#82 +66, 6, 83 !TDC ROC#2 Sl#18 Ch#66 HDC pl#12 [X2] wire#83 +67, 6, 84 !TDC ROC#2 Sl#18 Ch#67 HDC pl#12 [X2] wire#84 +68, 6, 85 !TDC ROC#2 Sl#18 Ch#68 HDC pl#12 [X2] wire#85 +69, 6, 86 !TDC ROC#2 Sl#18 Ch#69 HDC pl#12 [X2] wire#86 +70, 6, 87 !TDC ROC#2 Sl#18 Ch#70 HDC pl#12 [X2] wire#87 +71, 6, 88 !TDC ROC#2 Sl#18 Ch#71 HDC pl#12 [X2] wire#88 +72, 6, 89 !TDC ROC#2 Sl#18 Ch#72 HDC pl#12 [X2] wire#89 +73, 6, 90 !TDC ROC#2 Sl#18 Ch#73 HDC pl#12 [X2] wire#90 +74, 6, 91 !TDC ROC#2 Sl#18 Ch#74 HDC pl#12 [X2] wire#91 +75, 6, 92 !TDC ROC#2 Sl#18 Ch#75 HDC pl#12 [X2] wire#92 +76, 6, 93 !TDC ROC#2 Sl#18 Ch#76 HDC pl#12 [X2] wire#93 +77, 6, 94 !TDC ROC#2 Sl#18 Ch#77 HDC pl#12 [X2] wire#94 +78, 6, 95 !TDC ROC#2 Sl#18 Ch#78 HDC pl#12 [X2] wire#95 +79, 6, 96 !TDC ROC#2 Sl#18 Ch#79 HDC pl#12 [X2] wire#96 +80, 6, 97 !TDC ROC#2 Sl#18 Ch#80 HDC pl#12 [X2] wire#97 +81, 6, 98 !TDC ROC#2 Sl#18 Ch#81 HDC pl#12 [X2] wire#98 +82, 6, 99 !TDC ROC#2 Sl#18 Ch#82 HDC pl#12 [X2] wire#99 +83, 6, 100 !TDC ROC#2 Sl#18 Ch#83 HDC pl#12 [X2] wire#100 +84, 6, 101 !TDC ROC#2 Sl#18 Ch#84 HDC pl#12 [X2] wire#101 +85, 6, 102 !TDC ROC#2 Sl#18 Ch#85 HDC pl#12 [X2] wire#102 +86, 6, 103 !TDC ROC#2 Sl#18 Ch#86 HDC pl#12 [X2] wire#103 +87, 6, 104 !TDC ROC#2 Sl#18 Ch#87 HDC pl#12 [X2] wire#104 +88, 6, 105 !TDC ROC#2 Sl#18 Ch#88 HDC pl#12 [X2] wire#105 +89, 6, 106 !TDC ROC#2 Sl#18 Ch#89 HDC pl#12 [X2] wire#106 +90, 6, 107 !TDC ROC#2 Sl#18 Ch#90 HDC pl#12 [X2] wire#107 +91, 6, 108 !TDC ROC#2 Sl#18 Ch#91 HDC pl#12 [X2] wire#108 +92, 6, 109 !TDC ROC#2 Sl#18 Ch#92 HDC pl#12 [X2] wire#109 +93, 6, 110 !TDC ROC#2 Sl#18 Ch#93 HDC pl#12 [X2] wire#110 +94, 6, 111 !TDC ROC#2 Sl#18 Ch#94 HDC pl#12 [X2] wire#111 +95, 6, 112 !TDC ROC#2 Sl#18 Ch#95 HDC pl#12 [X2] wire#112 +! +! +! HMS upstairs (HSCIN+HCAL+HCER) map K.B.Beard 13-Jun-1994 +! + +! ^^^^^^^^^^^^^^^^^^^^^ Wire chambers end here ^^^^^^^^^^^^^^^^^^^^^^ +!============================================================================= + ROC= 1 !upstairs HMS crate +! + detector= 2 !HSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 23 ! TDC + 0, 1, 1, 2 !TDC ROC#1 Sl#23 Ch#0 HSCIN pl#1 [X1] id#1 sig#2 [TDC+] (0 X1P-01) + 1, 1, 3, 2 !TDC ROC#1 Sl#23 Ch#1 HSCIN pl#1 [X1] id#3 sig#2 [TDC+] (1 X1P-03) + 2, 1, 5, 2 !TDC ROC#1 Sl#23 Ch#2 HSCIN pl#1 [X1] id#5 sig#2 [TDC+] (2 X1P-05) + 3, 1, 7, 2 !TDC ROC#1 Sl#23 Ch#3 HSCIN pl#1 [X1] id#7 sig#2 [TDC+] (3 X1P-07) + 4, 1, 9, 2 !TDC ROC#1 Sl#23 Ch#4 HSCIN pl#1 [X1] id#9 sig#2 [TDC+] (4 X1P-09) + 5, 1, 11, 2 !TDC ROC#1 Sl#23 Ch#5 HSCIN pl#1 [X1] id#11 sig#2 [TDC+] (5 X1P-11) + 6, 1, 13, 2 !TDC ROC#1 Sl#23 Ch#6 HSCIN pl#1 [X1] id#13 sig#2 [TDC+] (6 X1P-13) + 7, 1, 15, 2 !TDC ROC#1 Sl#23 Ch#7 HSCIN pl#1 [X1] id#15 sig#2 [TDC+] (7 X1P-15) + 8, 1, 2, 2 !TDC ROC#1 Sl#23 Ch#8 HSCIN pl#1 [X1] id#2 sig#2 [TDC+] (8 X1P-02) + 9, 1, 4, 2 !TDC ROC#1 Sl#23 Ch#9 HSCIN pl#1 [X1] id#4 sig#2 [TDC+] (9 X1P-04) + 10, 1, 6, 2 !TDC ROC#1 Sl#23 Ch#10 HSCIN pl#1 [X1] id#6 sig#2 [TDC+] (10 X1P-06) + 11, 1, 8, 2 !TDC ROC#1 Sl#23 Ch#11 HSCIN pl#1 [X1] id#8 sig#2 [TDC+] (11 X1P-08) + 12, 1, 10, 2 !TDC ROC#1 Sl#23 Ch#12 HSCIN pl#1 [X1] id#10 sig#2 [TDC+] (12 X1P-10) + 13, 1, 12, 2 !TDC ROC#1 Sl#23 Ch#13 HSCIN pl#1 [X1] id#12 sig#2 [TDC+] (13 X1P-12) + 14, 1, 14, 2 !TDC ROC#1 Sl#23 Ch#14 HSCIN pl#1 [X1] id#14 sig#2 [TDC+] (14 X1P-14) + 15, 1, 16, 2 !TDC ROC#1 Sl#23 Ch#15 HSCIN pl#1 [X1] id#16 sig#2 [TDC+] (15 X1P-16) + 16, 1, 1, 3 !TDC ROC#1 Sl#23 Ch#16 HSCIN pl#1 [X1] id#1 sig#3 [TDC-] (16 X1N-01) + 17, 1, 3, 3 !TDC ROC#1 Sl#23 Ch#17 HSCIN pl#1 [X1] id#3 sig#3 [TDC-] (17 X1N-03) + 18, 1, 5, 3 !TDC ROC#1 Sl#23 Ch#18 HSCIN pl#1 [X1] id#5 sig#3 [TDC-] (18 X1N-05) + 19, 1, 7, 3 !TDC ROC#1 Sl#23 Ch#19 HSCIN pl#1 [X1] id#7 sig#3 [TDC-] (19 X1N-07) + 20, 1, 9, 3 !TDC ROC#1 Sl#23 Ch#20 HSCIN pl#1 [X1] id#9 sig#3 [TDC-] (20 X1N-09) + 21, 1, 11, 3 !TDC ROC#1 Sl#23 Ch#21 HSCIN pl#1 [X1] id#11 sig#3 [TDC-] (21 X1N-11) + 22, 1, 13, 3 !TDC ROC#1 Sl#23 Ch#22 HSCIN pl#1 [X1] id#13 sig#3 [TDC-] (22 X1N-13) + 23, 1, 15, 3 !TDC ROC#1 Sl#23 Ch#23 HSCIN pl#1 [X1] id#15 sig#3 [TDC-] (23 X1N-15) + 24, 1, 2, 3 !TDC ROC#1 Sl#23 Ch#24 HSCIN pl#1 [X1] id#2 sig#3 [TDC-] (24 X1N-02) + 25, 1, 4, 3 !TDC ROC#1 Sl#23 Ch#25 HSCIN pl#1 [X1] id#4 sig#3 [TDC-] (25 X1N-04) + 26, 1, 6, 3 !TDC ROC#1 Sl#23 Ch#26 HSCIN pl#1 [X1] id#6 sig#3 [TDC-] (26 X1N-06) + 27, 1, 8, 3 !TDC ROC#1 Sl#23 Ch#27 HSCIN pl#1 [X1] id#8 sig#3 [TDC-] (27 X1N-08) + 28, 1, 10, 3 !TDC ROC#1 Sl#23 Ch#28 HSCIN pl#1 [X1] id#10 sig#3 [TDC-] (28 X1N-10) + 29, 1, 12, 3 !TDC ROC#1 Sl#23 Ch#29 HSCIN pl#1 [X1] id#12 sig#3 [TDC-] (29 X1N-12) + 30, 1, 14, 3 !TDC ROC#1 Sl#23 Ch#30 HSCIN pl#1 [X1] id#14 sig#3 [TDC-] (30 X1N-14) + 31, 1, 16, 3 !TDC ROC#1 Sl#23 Ch#31 HSCIN pl#1 [X1] id#16 sig#3 [TDC-] (31 X1N-16) + 32, 2, 1, 2 !TDC ROC#1 Sl#23 Ch#32 HSCIN pl#2 [Y1] id#1 sig#2 [TDC+] (32 Y1P-01) + 33, 2, 3, 2 !TDC ROC#1 Sl#23 Ch#33 HSCIN pl#2 [Y1] id#3 sig#2 [TDC+] (33 Y1P-03) + 34, 2, 5, 2 !TDC ROC#1 Sl#23 Ch#34 HSCIN pl#2 [Y1] id#5 sig#2 [TDC+] (34 Y1P-05) + 35, 2, 7, 2 !TDC ROC#1 Sl#23 Ch#35 HSCIN pl#2 [Y1] id#7 sig#2 [TDC+] (35 Y1P-07) + 36, 2, 9, 2 !TDC ROC#1 Sl#23 Ch#36 HSCIN pl#2 [Y1] id#9 sig#2 [TDC+] (36 Y1P-09) +! 37 !TDC ROC#1 Sl#23 Ch#37 unused +! 38 !TDC ROC#1 Sl#23 Ch#38 unused +! 39 !TDC ROC#1 Sl#23 Ch#39 unused +!!! 40, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) + 41, 2, 4, 2 !TDC ROC#1 Sl#23 Ch#41 HSCIN pl#2 [Y1] id#4 sig#2 [TDC+] (41 Y1P-04) + 42, 2, 6, 2 !TDC ROC#1 Sl#23 Ch#42 HSCIN pl#2 [Y1] id#6 sig#2 [TDC+] (42 Y1P-06) + 43, 2, 8, 2 !TDC ROC#1 Sl#23 Ch#43 HSCIN pl#2 [Y1] id#8 sig#2 [TDC+] (43 Y1P-08) + 44, 2, 10, 2 !TDC ROC#1 Sl#23 Ch#44 HSCIN pl#2 [Y1] id#10 sig#2 [TDC+] (44 Y1P-10) + 45, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#45 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (45 Y1P-02) +! h1y2+ was moved from channel 47 to 45 on 1/29/1999 +! 46 !TDC ROC#1 Sl#23 Ch#46 unused +! 47, 2, 2, 2 !TDC ROC#1 Sl#23 Ch#40 HSCIN pl#2 [Y1] id#2 sig#2 [TDC+] (40 Y1P-02) +! h1y2+ was moved from channel 40 to 47 at run 6168 + 48, 2, 1, 3 !TDC ROC#1 Sl#23 Ch#48 HSCIN pl#2 [Y1] id#1 sig#3 [TDC-] (48 Y1N-01) + 49, 2, 3, 3 !TDC ROC#1 Sl#23 Ch#49 HSCIN pl#2 [Y1] id#3 sig#3 [TDC-] (49 Y1N-03) + 50, 2, 5, 3 !TDC ROC#1 Sl#23 Ch#50 HSCIN pl#2 [Y1] id#5 sig#3 [TDC-] (50 Y1N-05) + 51, 2, 7, 3 !TDC ROC#1 Sl#23 Ch#51 HSCIN pl#2 [Y1] id#7 sig#3 [TDC-] (51 Y1N-07) + 52, 2, 9, 3 !TDC ROC#1 Sl#23 Ch#52 HSCIN pl#2 [Y1] id#9 sig#3 [TDC-] (52 Y1N-09) +! 53 !TDC ROC#1 Sl#23 Ch#53 unused +! 54 !TDC ROC#1 Sl#23 Ch#54 unused +! 55 !TDC ROC#1 Sl#23 Ch#55 unused + 56, 2, 2, 3 !TDC ROC#1 Sl#23 Ch#56 HSCIN pl#2 [Y1] id#2 sig#3 [TDC-] (56 Y1N-02) + 57, 2, 4, 3 !TDC ROC#1 Sl#23 Ch#57 HSCIN pl#2 [Y1] id#4 sig#3 [TDC-] (57 Y1N-04) + 58, 2, 6, 3 !TDC ROC#1 Sl#23 Ch#58 HSCIN pl#2 [Y1] id#6 sig#3 [TDC-] (58 Y1N-06) + 59, 2, 8, 3 !TDC ROC#1 Sl#23 Ch#59 HSCIN pl#2 [Y1] id#8 sig#3 [TDC-] (59 Y1N-08) +! 60, 2, 10, 3 !TDC ROC#1 Sl#23 Ch#60 HSCIN pl#2 [Y1] id#10 sig#3 [TDC-] (60 Y1N-10) + 61 , 2, 10, 3 !TDC ROC#1 Sl#23 Ch#61 swap location for h1y10- +! 62 !TDC ROC#1 Sl#23 Ch#62 unused +! 63 !TDC ROC#1 Sl#23 Ch#63 unused +! + Slot= 21 ! TDC +! + 0, 3, 1, 2 !TDC ROC#1 Sl#21 Ch#0 HSCIN pl#3 [X2] id#1 sig#2 [TDC+] (0 X2P-01) + 1, 3, 3, 2 !TDC ROC#1 Sl#21 Ch#1 HSCIN pl#3 [X2] id#3 sig#2 [TDC+] (1 X2P-03) + 2, 3, 5, 2 !TDC ROC#1 Sl#21 Ch#2 HSCIN pl#3 [X2] id#5 sig#2 [TDC+] (2 X2P-05) + 3, 3, 7, 2 !TDC ROC#1 Sl#21 Ch#3 HSCIN pl#3 [X2] id#7 sig#2 [TDC+] (3 X2P-07) + 4, 3, 9, 2 !TDC ROC#1 Sl#21 Ch#4 HSCIN pl#3 [X2] id#9 sig#2 [TDC+] (4 X2P-09) + 5, 3, 11, 2 !TDC ROC#1 Sl#21 Ch#5 HSCIN pl#3 [X2] id#11 sig#2 [TDC+] (5 X2P-11) + 6, 3, 13, 2 !TDC ROC#1 Sl#21 Ch#6 HSCIN pl#3 [X2] id#13 sig#2 [TDC+] (6 X2P-13) + 7, 3, 15, 2 !TDC ROC#1 Sl#21 Ch#7 HSCIN pl#3 [X2] id#15 sig#2 [TDC+] (7 X2P-15) +! + 8, 3, 2, 2 !TDC ROC#1 Sl#21 Ch#8 HSCIN pl#3 [X2] id#2 sig#2 [TDC+] (8 X2P-02) + 9, 3, 4, 2 !TDC ROC#1 Sl#21 Ch#9 HSCIN pl#3 [X2] id#4 sig#2 [TDC+] (9 X2P-04) + 10, 3, 6, 2 !TDC ROC#1 Sl#21 Ch#10 HSCIN pl#3 [X2] id#6 sig#2 [TDC+] (10 X2P-06) + 11, 3, 8, 2 !TDC ROC#1 Sl#21 Ch#11 HSCIN pl#3 [X2] id#8 sig#2 [TDC+] (11 X2P-08) + 12, 3, 10, 2 !TDC ROC#1 Sl#21 Ch#12 HSCIN pl#3 [X2] id#10 sig#2 [TDC+] (12 X2P-10) + 13, 3, 12, 2 !TDC ROC#1 Sl#21 Ch#13 HSCIN pl#3 [X2] id#12 sig#2 [TDC+] (13 X2P-12) + 14, 3, 14, 2 !TDC ROC#1 Sl#21 Ch#14 HSCIN pl#3 [X2] id#14 sig#2 [TDC+] (14 X2P-14) + 15, 3, 16, 2 !TDC ROC#1 Sl#21 Ch#15 HSCIN pl#3 [X2] id#16 sig#2 [TDC+] (15 X2P-16) +! +! swapped s2x- with s2y+ +! + 16, 4, 1, 2 !TDC ROC#1 Sl#21 Ch#32 HSCIN pl#4 [Y2] id#1 sig#2 [TDC+] (32 Y2P-01) + 17, 4, 3, 2 !TDC ROC#1 Sl#21 Ch#33 HSCIN pl#4 [Y2] id#3 sig#2 [TDC+] (33 Y2P-03) + 18, 4, 5, 2 !TDC ROC#1 Sl#21 Ch#34 HSCIN pl#4 [Y2] id#5 sig#2 [TDC+] (34 Y2P-05) + 19, 4, 7, 2 !TDC ROC#1 Sl#21 Ch#35 HSCIN pl#4 [Y2] id#7 sig#2 [TDC+] (35 Y2P-07) + 20, 4, 9, 2 !TDC ROC#1 Sl#21 Ch#36 HSCIN pl#4 [Y2] id#9 sig#2 [TDC+] (36 Y2P-09) +! 21 !TDC ROC#1 Sl#21 Ch#37 unused +! 22 !TDC ROC#1 Sl#21 Ch#38 unused +! 23 !TDC ROC#1 Sl#21 Ch#39 unused + 24, 4, 2, 2 !TDC ROC#1 Sl#21 Ch#40 HSCIN pl#4 [Y2] id#2 sig#2 [TDC+] (40 Y2P-02) + 25, 4, 4, 2 !TDC ROC#1 Sl#21 Ch#41 HSCIN pl#4 [Y2] id#4 sig#2 [TDC+] (41 Y2P-04) + 26, 4, 6, 2 !TDC ROC#1 Sl#21 Ch#42 HSCIN pl#4 [Y2] id#6 sig#2 [TDC+] (42 Y2P-06) + 27, 4, 8, 2 !TDC ROC#1 Sl#21 Ch#43 HSCIN pl#4 [Y2] id#8 sig#2 [TDC+] (43 Y2P-08) + 28, 4, 10, 2 !TDC ROC#1 Sl#21 Ch#44 HSCIN pl#4 [Y2] id#10 sig#2 [TDC+] (44 Y2P-10) +! 29 !TDC ROC#1 Sl#21 Ch#45 unused +! 30 !TDC ROC#1 Sl#21 Ch#46 unused +! 31 !TDC ROC#1 Sl#21 Ch#47 unused +! + 32, 3, 1, 3 !TDC ROC#1 Sl#21 Ch#16 HSCIN pl#3 [X2] id#1 sig#3 [TDC-] (16 X2N-01) + 33, 3, 3, 3 !TDC ROC#1 Sl#21 Ch#17 HSCIN pl#3 [X2] id#3 sig#3 [TDC-] (17 X2N-03) + 34, 3, 5, 3 !TDC ROC#1 Sl#21 Ch#18 HSCIN pl#3 [X2] id#5 sig#3 [TDC-] (18 X2N-05) + 35, 3, 7, 3 !TDC ROC#1 Sl#21 Ch#19 HSCIN pl#3 [X2] id#7 sig#3 [TDC-] (19 X2N-07) + 36, 3, 9, 3 !TDC ROC#1 Sl#21 Ch#20 HSCIN pl#3 [X2] id#9 sig#3 [TDC-] (20 X2N-09) + 37, 3, 11, 3 !TDC ROC#1 Sl#21 Ch#21 HSCIN pl#3 [X2] id#11 sig#3 [TDC-] (21 X2N-11) + 38, 3, 13, 3 !TDC ROC#1 Sl#21 Ch#22 HSCIN pl#3 [X2] id#13 sig#3 [TDC-] (22 X2N-13) + 39, 3, 15, 3 !TDC ROC#1 Sl#21 Ch#23 HSCIN pl#3 [X2] id#15 sig#3 [TDC-] (23 X2N-15) +! + 40, 3, 2, 3 !TDC ROC#1 Sl#21 Ch#24 HSCIN pl#3 [X2] id#2 sig#3 [TDC-] (24 X2N-02) + 41, 3, 4, 3 !TDC ROC#1 Sl#21 Ch#25 HSCIN pl#3 [X2] id#4 sig#3 [TDC-] (25 X2N-04) + 42, 3, 6, 3 !TDC ROC#1 Sl#21 Ch#26 HSCIN pl#3 [X2] id#6 sig#3 [TDC-] (26 X2N-06) + 43, 3, 8, 3 !TDC ROC#1 Sl#21 Ch#27 HSCIN pl#3 [X2] id#8 sig#3 [TDC-] (27 X2N-08) + 44, 3, 10, 3 !TDC ROC#1 Sl#21 Ch#28 HSCIN pl#3 [X2] id#10 sig#3 [TDC-] (28 X2N-10) + 45, 3, 12, 3 !TDC ROC#1 Sl#21 Ch#29 HSCIN pl#3 [X2] id#12 sig#3 [TDC-] (29 X2N-12) + 46, 3, 14, 3 !TDC ROC#1 Sl#21 Ch#30 HSCIN pl#3 [X2] id#14 sig#3 [TDC-] (30 X2N-14) + 47, 3, 16, 3 !TDC ROC#1 Sl#21 Ch#31 HSCIN pl#3 [X2] id#16 sig#3 [TDC-] (31 X2N-16) +! + 48, 4, 1, 3 !TDC ROC#1 Sl#21 Ch#48 HSCIN pl#4 [Y2] id#1 sig#3 [TDC-] (48 Y2N-01) + 49, 4, 3, 3 !TDC ROC#1 Sl#21 Ch#49 HSCIN pl#4 [Y2] id#3 sig#3 [TDC-] (49 Y2N-03) + 50, 4, 5, 3 !TDC ROC#1 Sl#21 Ch#50 HSCIN pl#4 [Y2] id#5 sig#3 [TDC-] (50 Y2N-05) + 51, 4, 7, 3 !TDC ROC#1 Sl#21 Ch#51 HSCIN pl#4 [Y2] id#7 sig#3 [TDC-] (51 Y2N-07) + 52, 4, 9, 3 !TDC ROC#1 Sl#21 Ch#52 HSCIN pl#4 [Y2] id#9 sig#3 [TDC-] (52 Y2N-09) +! 53 !TDC ROC#1 Sl#21 Ch#53 unused +! 54 !TDC ROC#1 Sl#21 Ch#54 unused +! 55 !TDC ROC#1 Sl#21 Ch#55 unused + 56, 4, 2, 3 !TDC ROC#1 Sl#21 Ch#56 HSCIN pl#4 [Y2] id#2 sig#3 [TDC-] (56 Y2N-02) + 57, 4, 4, 3 !TDC ROC#1 Sl#21 Ch#57 HSCIN pl#4 [Y2] id#4 sig#3 [TDC-] (57 Y2N-04) + 58, 4, 6, 3 !TDC ROC#1 Sl#21 Ch#58 HSCIN pl#4 [Y2] id#6 sig#3 [TDC-] (58 Y2N-06) + 59, 4, 8, 3 !TDC ROC#1 Sl#21 Ch#59 HSCIN pl#4 [Y2] id#8 sig#3 [TDC-] (59 Y2N-08) + 60, 4, 10, 3 !TDC ROC#1 Sl#21 Ch#60 HSCIN pl#4 [Y2] id#10 sig#3 [TDC-] (60 Y2N-10) +! 61 !TDC ROC#1 Sl#21 Ch#61 unused +! 62 !TDC ROC#1 Sl#21 Ch#62 unused +! 63 !TDC ROC#1 Sl#21 Ch#63 unused +! +!!!====================================================================== + detector= 5 !HMISC + +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 19 ! TDC + +0, 1, 1, 0 ! 0 !TDC ROC#1 Sl#19 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#1 Sl#19 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#1 Sl#19 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#1 Sl#19 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#1 Sl#19 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#1 Sl#19 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#1 Sl#19 Ch#6 empty +7, 1, 8, 0 ! 7 !TDC ROC#1 Sl#19 Ch#7 unused +8, 1, 9, 0 ! 8 !TDC ROC#1 Sl#19 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#1 Sl#19 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#1 Sl#19 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#1 Sl#19 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#1 Sl#19 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#1 Sl#19 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#1 Sl#19 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#1 Sl#19 Ch#15 signal {PEDTRG} +16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 signal {hS1} +17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 signal {hPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 signal {hS2X} +19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 signal {hPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 signal {hS1X} +21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 signal {hS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 signal {hPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 signal {hS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 signal {hS2} +25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 signal {hPRE200} +26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 signal {hSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 signal {hSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 signal {hELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 signal {hPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 signal {hELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 signal {hPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 signal {PION} +33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 signal {CER} +34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 signal {hPIONHI} +35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 signal {hCERHI} +36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 signal {??} +37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 signal {UNSER} +38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 signal {BCM1} +39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 signal {BCM2} +40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 signal {hELHI} +41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 signal {hELLO} +42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 signal {hPRHI} +43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 signal {hPRLO} +44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 signal {hSHLO} +45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 signal {CLOCK} +46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 signal {BEAMGATES} +47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 signal {hADCGATES ? PEDS and TRIGS} +48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 RF no delay +49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 RF + 10 ns +53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +! +!============================================================================= +! AEROGEL TDC +!.............................................................................. +! For aerogel: 0-->ADC_POS +! 1-->ADC_NEG +! 2-->TDC_POS ! Check one more time (Hamlet, 2002/10/01) +! 3-->TDC_NEG + + detector= 7 ! Temporary for HAERO + +! TDC module LeCroy 1872a + + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +!! +! S. Wood have problem to read additional TDC in Slot =18 (2002/10/18, Hamlet) +! +! For now I will use some other tdc channels for Aerogel +!.......................> +! + Slot= 18 ! TDC channels for HMS Aero +! Changed May 5, 2003 DJG +! +! +! Slot= 18 !TDC +! +! TDC chan for aerogel (Hamlet, 2002/10/17) +! +0, 1, 1, 2 !TDC ROC#1 Sl#18 Ch#0 signal pos 1 +1, 1, 2, 2 !TDC ROC#1 Sl#18 Ch#1 signal pos 2 +2, 1, 3, 2 !TDC ROC#1 Sl#18 Ch#2 signal pos 3 +3, 1, 4, 2 !TDC ROC#1 Sl#18 Ch#3 signal pos 4 +4, 1, 5, 2 !TDC ROC#1 Sl#18 Ch#4 signal pos 5 +5, 1, 6, 2 !TDC ROC#1 Sl#18 Ch#5 signal pos 6 +6, 1, 7, 2 !TDC ROC#1 Sl#18 Ch#6 signal pos 7 +7, 1, 8, 2 !TDC ROC#1 Sl#18 Ch#7 signal pos 8 +8, 1, 1, 3 !TDC ROC#1 Sl#18 Ch#8 signal neg 1 +9, 1, 2, 3 !TDC ROC#1 Sl#18 Ch#9 signal neg 2 +10, 1, 3, 3 !TDC ROC#1 Sl#18 Ch#10 signal neg 3 +11, 1, 4, 3 !TDC ROC#1 Sl#18 Ch#11 signal neg 4 +12, 1, 5, 3 !TDC ROC#1 Sl#18 Ch#12 signal neg 5 +13, 1, 6, 3 !TDC ROC#1 Sl#18 Ch#13 signal neg 6 +14, 1, 7, 3 !TDC ROC#1 Sl#18 Ch#14 signal neg 7 +15, 1, 8, 3 !TDC ROC#1 Sl#18 Ch#15 signal neg 8 +!! +!16, 1, 17, 0 ! 16 !TDC ROC#1 Sl#19 Ch#16 unused +!17, 1, 18, 0 ! 17 !TDC ROC#1 Sl#19 Ch#17 unused +!18, 1, 19, 0 ! 18 !TDC ROC#1 Sl#19 Ch#18 unused +!19, 1, 20, 0 ! 19 !TDC ROC#1 Sl#19 Ch#19 unused +!20, 1, 21, 0 ! 20 !TDC ROC#1 Sl#19 Ch#20 unused +!21, 1, 22, 0 ! 21 !TDC ROC#1 Sl#19 Ch#21 unused +!22, 1, 23, 0 ! 22 !TDC ROC#1 Sl#19 Ch#22 unused +!23, 1, 24, 0 ! 23 !TDC ROC#1 Sl#19 Ch#23 unused +!24, 1, 25, 0 ! 24 !TDC ROC#1 Sl#19 Ch#24 unused +!25, 1, 26, 0 ! 25 !TDC ROC#1 Sl#19 Ch#25 unused +!26, 1, 27, 0 ! 26 !TDC ROC#1 Sl#19 Ch#26 unused +!27, 1, 28, 0 ! 27 !TDC ROC#1 Sl#19 Ch#27 unused +!28, 1, 29, 0 ! 28 !TDC ROC#1 Sl#19 Ch#28 unused +!29, 1, 30, 0 ! 29 !TDC ROC#1 Sl#19 Ch#29 unused +!30, 1, 31, 0 ! 30 !TDC ROC#1 Sl#19 Ch#30 unused +!31, 1, 32, 0 ! 31 !TDC ROC#1 Sl#19 Ch#31 unused +!32, 1, 33, 0 ! 32 !TDC ROC#1 Sl#19 Ch#32 unused +!33, 1, 34, 0 ! 33 !TDC ROC#1 Sl#19 Ch#33 unused +!34, 1, 35, 0 ! 34 !TDC ROC#1 Sl#19 Ch#34 unused +!35, 1, 36, 0 ! 35 !TDC ROC#1 Sl#19 Ch#35 unused +!36, 1, 37, 0 ! 36 !TDC ROC#1 Sl#19 Ch#36 unused +!37, 1, 38, 0 ! 37 !TDC ROC#1 Sl#19 Ch#37 unused +!38, 1, 39, 0 ! 38 !TDC ROC#1 Sl#19 Ch#38 unused +!39, 1, 40, 0 ! 39 !TDC ROC#1 Sl#19 Ch#39 unused +!40, 1, 41, 0 ! 40 !TDC ROC#1 Sl#19 Ch#40 unused +!41, 1, 42, 0 ! 41 !TDC ROC#1 Sl#19 Ch#41 unused +!42, 1, 43, 0 ! 42 !TDC ROC#1 Sl#19 Ch#42 unused +!43, 1, 44, 0 ! 43 !TDC ROC#1 Sl#19 Ch#43 unused +!44, 1, 45, 0 ! 44 !TDC ROC#1 Sl#19 Ch#44 unused +!45, 1, 46, 0 ! 45 !TDC ROC#1 Sl#19 Ch#45 unused +!46, 1, 47, 0 ! 46 !TDC ROC#1 Sl#19 Ch#46 unused +!47, 1, 48, 0 ! 47 !TDC ROC#1 Sl#19 Ch#47 unused +!48, 1, 49, 0 ! 48 !TDC ROC#1 Sl#19 Ch#48 unused +!49, 1, 50, 0 ! 49 !TDC ROC#1 Sl#19 Ch#49 unused +!50, 1, 51, 0 ! 50 !TDC ROC#1 Sl#19 Ch#50 unused +!51, 1, 52, 0 ! 51 !TDC ROC#1 Sl#19 Ch#51 unused +!52, 1, 53, 0 ! 52 !TDC ROC#1 Sl#19 Ch#52 unused +!53, 1, 54, 0 ! 53 !TDC ROC#1 Sl#19 Ch#53 unused +!54, 1, 55, 0 ! 54 !TDC ROC#1 Sl#19 Ch#54 unused +!55, 1, 56, 0 ! 55 !TDC ROC#1 Sl#19 Ch#55 unused +!56, 1, 57, 0 ! 56 !TDC ROC#1 Sl#19 Ch#56 unused +!57, 1, 58, 0 ! 57 !TDC ROC#1 Sl#19 Ch#57 unused +!58, 1, 59, 0 ! 58 !TDC ROC#1 Sl#19 Ch#58 unused +!59, 1, 60, 0 ! 59 !TDC ROC#1 Sl#19 Ch#59 unused +!60, 1, 61, 0 ! 60 !TDC ROC#1 Sl#19 Ch#60 unused +!61, 1, 62, 0 ! 61 !TDC ROC#1 Sl#19 Ch#61 unused +!62, 1, 63, 0 ! 62 !TDC ROC#1 Sl#19 Ch#62 unused +!63, 1, 64, 0 ! 63 !TDC ROC#1 Sl#19 Ch#63 unused +! +!============================================================================= +! ADC module LeCroy 1881M + detector = 2 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#1 Sl#9 Ch#0 HSCIN pl#1 [X1] id#1 sig#0 [ADC+] (0 X1P-01) + 1, 1, 3, 0 !ADC ROC#1 Sl#9 Ch#1 HSCIN pl#1 [X1] id#3 sig#0 [ADC+] (1 X1P-03) + 2, 1, 5, 0 !ADC ROC#1 Sl#9 Ch#2 HSCIN pl#1 [X1] id#5 sig#0 [ADC+] (2 X1P-05) + 3, 1, 7, 0 !ADC ROC#1 Sl#9 Ch#3 HSCIN pl#1 [X1] id#7 sig#0 [ADC+] (3 X1P-07) + 4, 1, 9, 0 !ADC ROC#1 Sl#9 Ch#4 HSCIN pl#1 [X1] id#9 sig#0 [ADC+] (4 X1P-09) + 5, 1, 11, 0 !ADC ROC#1 Sl#9 Ch#5 HSCIN pl#1 [X1] id#11 sig#0 [ADC+] (5 X1P-11) + 6, 1, 13, 0 !ADC ROC#1 Sl#9 Ch#6 HSCIN pl#1 [X1] id#13 sig#0 [ADC+] (6 X1P-13) + 7, 1, 15, 0 !ADC ROC#1 Sl#9 Ch#7 HSCIN pl#1 [X1] id#15 sig#0 [ADC+] (7 X1P-15) + 8, 1, 2, 0 !ADC ROC#1 Sl#9 Ch#8 HSCIN pl#1 [X1] id#2 sig#0 [ADC+] (8 X1P-02) + 9, 1, 4, 0 !ADC ROC#1 Sl#9 Ch#9 HSCIN pl#1 [X1] id#4 sig#0 [ADC+] (9 X1P-04) + 10, 1, 6, 0 !ADC ROC#1 Sl#9 Ch#10 HSCIN pl#1 [X1] id#6 sig#0 [ADC+] (10 X1P-06) + 11, 1, 8, 0 !ADC ROC#1 Sl#9 Ch#11 HSCIN pl#1 [X1] id#8 sig#0 [ADC+] (11 X1P-08) + 12, 1, 10, 0 !ADC ROC#1 Sl#9 Ch#12 HSCIN pl#1 [X1] id#10 sig#0 [ADC+] (12 X1P-10) + 13, 1, 12, 0 !ADC ROC#1 Sl#9 Ch#13 HSCIN pl#1 [X1] id#12 sig#0 [ADC+] (13 X1P-12) + 14, 1, 14, 0 !ADC ROC#1 Sl#9 Ch#14 HSCIN pl#1 [X1] id#14 sig#0 [ADC+] (14 X1P-14) + 15, 1, 16, 0 !ADC ROC#1 Sl#9 Ch#15 HSCIN pl#1 [X1] id#16 sig#0 [ADC+] (15 X1P-16) +! + 16, 1, 1, 1 !ADC ROC#1 Sl#9 Ch#16 HSCIN pl#1 [X1] id#1 sig#1 [ADC-] (16 X1N-01) + 17, 1, 3, 1 !ADC ROC#1 Sl#9 Ch#17 HSCIN pl#1 [X1] id#3 sig#1 [ADC-] (17 X1N-03) + 18, 1, 5, 1 !ADC ROC#1 Sl#9 Ch#18 HSCIN pl#1 [X1] id#5 sig#1 [ADC-] (18 X1N-05) + 19, 1, 7, 1 !ADC ROC#1 Sl#9 Ch#19 HSCIN pl#1 [X1] id#7 sig#1 [ADC-] (19 X1N-07) + 20, 1, 9, 1 !ADC ROC#1 Sl#9 Ch#20 HSCIN pl#1 [X1] id#9 sig#1 [ADC-] (20 X1N-09) + 21, 1, 11, 1 !ADC ROC#1 Sl#9 Ch#21 HSCIN pl#1 [X1] id#11 sig#1 [ADC-] (21 X1N-11) + 22, 1, 13, 1 !ADC ROC#1 Sl#9 Ch#22 HSCIN pl#1 [X1] id#13 sig#1 [ADC-] (22 X1N-13) + 23, 1, 15, 1 !ADC ROC#1 Sl#9 Ch#23 HSCIN pl#1 [X1] id#15 sig#1 [ADC-] (23 X1N-15) + 24, 1, 2, 1 !ADC ROC#1 Sl#9 Ch#24 HSCIN pl#1 [X1] id#2 sig#1 [ADC-] (24 X1N-02) + 25, 1, 4, 1 !ADC ROC#1 Sl#9 Ch#25 HSCIN pl#1 [X1] id#4 sig#1 [ADC-] (25 X1N-04) + 26, 1, 6, 1 !ADC ROC#1 Sl#9 Ch#26 HSCIN pl#1 [X1] id#6 sig#1 [ADC-] (26 X1N-06) + 27, 1, 8, 1 !ADC ROC#1 Sl#9 Ch#27 HSCIN pl#1 [X1] id#8 sig#1 [ADC-] (27 X1N-08) + 28, 1, 10, 1 !ADC ROC#1 Sl#9 Ch#28 HSCIN pl#1 [X1] id#10 sig#1 [ADC-] (28 X1N-10) + 29, 1, 12, 1 !ADC ROC#1 Sl#9 Ch#29 HSCIN pl#1 [X1] id#12 sig#1 [ADC-] (29 X1N-12) + 30, 1, 14, 1 !ADC ROC#1 Sl#9 Ch#30 HSCIN pl#1 [X1] id#14 sig#1 [ADC-] (30 X1N-14) + 31, 1, 16, 1 !ADC ROC#1 Sl#9 Ch#31 HSCIN pl#1 [X1] id#16 sig#1 [ADC-] (31 X1N-16) +! + 32, 2, 1, 0 !ADC ROC#1 Sl#9 Ch#32 HSCIN pl#2 [Y1] id#1 sig#0 [ADC+] (32 Y1P-01) + 33, 2, 3, 0 !ADC ROC#1 Sl#9 Ch#33 HSCIN pl#2 [Y1] id#3 sig#0 [ADC+] (33 Y1P-03) + 34, 2, 5, 0 !ADC ROC#1 Sl#9 Ch#34 HSCIN pl#2 [Y1] id#5 sig#0 [ADC+] (34 Y1P-05) + 35, 2, 7, 0 !ADC ROC#1 Sl#9 Ch#35 HSCIN pl#2 [Y1] id#7 sig#0 [ADC+] (35 Y1P-07) + 36, 2, 9, 0 !ADC ROC#1 Sl#9 Ch#36 HSCIN pl#2 [Y1] id#9 sig#0 [ADC+] (36 Y1P-09) +! 37 !ADC ROC#1 Sl#9 Ch#37 unused +! 38 !ADC ROC#1 Sl#9 Ch#38 unused +! 39 !ADC ROC#1 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#1 Sl#9 Ch#40 HSCIN pl#2 [Y1] id#2 sig#0 [ADC+] (40 Y1P-02) + 41, 2, 4, 0 !ADC ROC#1 Sl#9 Ch#41 HSCIN pl#2 [Y1] id#4 sig#0 [ADC+] (41 Y1P-04) + 42, 2, 6, 0 !ADC ROC#1 Sl#9 Ch#42 HSCIN pl#2 [Y1] id#6 sig#0 [ADC+] (42 Y1P-06) + 43, 2, 8, 0 !ADC ROC#1 Sl#9 Ch#43 HSCIN pl#2 [Y1] id#8 sig#0 [ADC+] (43 Y1P-08) + 44, 2, 10, 0 !ADC ROC#1 Sl#9 Ch#44 HSCIN pl#2 [Y1] id#10 sig#0 [ADC+] (44 Y1P-10) +! 45 !ADC ROC#1 Sl#9 Ch#45 unused +! 46 !ADC ROC#1 Sl#9 Ch#46 unused +! 47 !ADC ROC#1 Sl#9 Ch#47 unused +! + 48, 2, 1, 1 !ADC ROC#1 Sl#9 Ch#48 HSCIN pl#2 [Y1] id#1 sig#1 [ADC-] (48 Y1N-01) + 49, 2, 3, 1 !ADC ROC#1 Sl#9 Ch#49 HSCIN pl#2 [Y1] id#3 sig#1 [ADC-] (49 Y1N-03) + 50, 2, 5, 1 !ADC ROC#1 Sl#9 Ch#50 HSCIN pl#2 [Y1] id#5 sig#1 [ADC-] (50 Y1N-05) + 51, 2, 7, 1 !ADC ROC#1 Sl#9 Ch#51 HSCIN pl#2 [Y1] id#7 sig#1 [ADC-] (51 Y1N-07) + 52, 2, 9, 1 !ADC ROC#1 Sl#9 Ch#52 HSCIN pl#2 [Y1] id#9 sig#1 [ADC-] (52 Y1N-09) +! 53 !ADC ROC#1 Sl#9 Ch#53 unused +! 54 !ADC ROC#1 Sl#9 Ch#54 unused +! 55 !ADC ROC#1 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#1 Sl#9 Ch#56 HSCIN pl#2 [Y1] id#2 sig#1 [ADC-] (56 Y1N-02) + 57, 2, 4, 1 !ADC ROC#1 Sl#9 Ch#57 HSCIN pl#2 [Y1] id#4 sig#1 [ADC-] (57 Y1N-04) + 58, 2, 6, 1 !ADC ROC#1 Sl#9 Ch#58 HSCIN pl#2 [Y1] id#6 sig#1 [ADC-] (58 Y1N-06) + 59, 2, 8, 1 !ADC ROC#1 Sl#9 Ch#59 HSCIN pl#2 [Y1] id#8 sig#1 [ADC-] (59 Y1N-08) + 60, 2, 10, 1 !ADC ROC#1 Sl#9 Ch#60 HSCIN pl#2 [Y1] id#10 sig#1 [ADC-] (60 Y1N-10) +! 61 !ADC ROC#1 Sl#9 Ch#62 unused +! 62 !ADC ROC#1 Sl#9 Ch#62 unused +! 63 !ADC ROC#1 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#1 Sl#7 Ch#0 HSCIN pl#3 [X2] id#1 sig#0 [ADC+] (0 X2P-01) + 1, 3, 3, 0 !ADC ROC#1 Sl#7 Ch#1 HSCIN pl#3 [X2] id#3 sig#0 [ADC+] (1 X2P-03) + 2, 3, 5, 0 !ADC ROC#1 Sl#7 Ch#2 HSCIN pl#3 [X2] id#5 sig#0 [ADC+] (2 X2P-05) + 3, 3, 7, 0 !ADC ROC#1 Sl#7 Ch#3 HSCIN pl#3 [X2] id#7 sig#0 [ADC+] (3 X2P-07) + 4, 3, 9, 0 !ADC ROC#1 Sl#7 Ch#4 HSCIN pl#3 [X2] id#9 sig#0 [ADC+] (4 X2P-09) + 5, 3, 11, 0 !ADC ROC#1 Sl#7 Ch#5 HSCIN pl#3 [X2] id#11 sig#0 [ADC+] (5 X2P-11) + 6, 3, 13, 0 !ADC ROC#1 Sl#7 Ch#6 HSCIN pl#3 [X2] id#13 sig#0 [ADC+] (6 X2P-13) + 7, 3, 15, 0 !ADC ROC#1 Sl#7 Ch#7 HSCIN pl#3 [X2] id#15 sig#0 [ADC+] (7 X2P-15) + 8, 3, 2, 0 !ADC ROC#1 Sl#7 Ch#8 HSCIN pl#3 [X2] id#2 sig#0 [ADC+] (8 X2P-02) + 9, 3, 4, 0 !ADC ROC#1 Sl#7 Ch#9 HSCIN pl#3 [X2] id#4 sig#0 [ADC+] (9 X2P-04) + 10, 3, 6, 0 !ADC ROC#1 Sl#7 Ch#10 HSCIN pl#3 [X2] id#6 sig#0 [ADC+] (10 X2P-06) + 11, 3, 8, 0 !ADC ROC#1 Sl#7 Ch#11 HSCIN pl#3 [X2] id#8 sig#0 [ADC+] (11 X2P-08) + 12, 3, 10, 0 !ADC ROC#1 Sl#7 Ch#12 HSCIN pl#3 [X2] id#10 sig#0 [ADC+] (12 X2P-10) + 13, 3, 12, 0 !ADC ROC#1 Sl#7 Ch#13 HSCIN pl#3 [X2] id#12 sig#0 [ADC+] (13 X2P-12) + 14, 3, 14, 0 !ADC ROC#1 Sl#7 Ch#14 HSCIN pl#3 [X2] id#14 sig#0 [ADC+] (14 X2P-14) + 15, 3, 16, 0 !ADC ROC#1 Sl#7 Ch#15 HSCIN pl#3 [X2] id#16 sig#0 [ADC+] (15 X2P-16) +! + 16, 3, 1, 1 !ADC ROC#1 Sl#7 Ch#16 HSCIN pl#3 [X2] id#1 sig#1 [ADC-] (16 X2N-01) + 17, 3, 3, 1 !ADC ROC#1 Sl#7 Ch#17 HSCIN pl#3 [X2] id#3 sig#1 [ADC-] (17 X2N-03) + 18, 3, 5, 1 !ADC ROC#1 Sl#7 Ch#18 HSCIN pl#3 [X2] id#5 sig#1 [ADC-] (18 X2N-05) + 19, 3, 7, 1 !ADC ROC#1 Sl#7 Ch#19 HSCIN pl#3 [X2] id#7 sig#1 [ADC-] (19 X2N-07) + 20, 3, 9, 1 !ADC ROC#1 Sl#7 Ch#20 HSCIN pl#3 [X2] id#9 sig#1 [ADC-] (20 X2N-09) + 21, 3, 11, 1 !ADC ROC#1 Sl#7 Ch#21 HSCIN pl#3 [X2] id#11 sig#1 [ADC-] (21 X2N-11) + 22, 3, 13, 1 !ADC ROC#1 Sl#7 Ch#22 HSCIN pl#3 [X2] id#13 sig#1 [ADC-] (22 X2N-13) + 23, 3, 15, 1 !ADC ROC#1 Sl#7 Ch#23 HSCIN pl#3 [X2] id#15 sig#1 [ADC-] (23 X2N-15) +! + 24, 3, 2, 1 !ADC ROC#1 Sl#7 Ch#24 HSCIN pl#3 [X2] id#2 sig#1 [ADC-] (24 X2N-02) + 25, 3, 4, 1 !ADC ROC#1 Sl#7 Ch#25 HSCIN pl#3 [X2] id#4 sig#1 [ADC-] (25 X2N-04) + 26, 3, 6, 1 !ADC ROC#1 Sl#7 Ch#26 HSCIN pl#3 [X2] id#6 sig#1 [ADC-] (26 X2N-06) + 27, 3, 8, 1 !ADC ROC#1 Sl#7 Ch#27 HSCIN pl#3 [X2] id#8 sig#1 [ADC-] (27 X2N-08) + 28, 3, 10, 1 !ADC ROC#1 Sl#7 Ch#28 HSCIN pl#3 [X2] id#10 sig#1 [ADC-] (28 X2N-10) + 29, 3, 12, 1 !ADC ROC#1 Sl#7 Ch#29 HSCIN pl#3 [X2] id#12 sig#1 [ADC-] (29 X2N-12) + 30, 3, 14, 1 !ADC ROC#1 Sl#7 Ch#30 HSCIN pl#3 [X2] id#14 sig#1 [ADC-] (30 X2N-14) + 31, 3, 16, 1 !ADC ROC#1 Sl#7 Ch#31 HSCIN pl#3 [X2] id#16 sig#1 [ADC-] (31 X2N-16) + 32, 4, 1, 0 !ADC ROC#1 Sl#7 Ch#32 HSCIN pl#4 [Y2] id#1 sig#0 [ADC+] (32 Y2P-01) + 33, 4, 3, 0 !ADC ROC#1 Sl#7 Ch#33 HSCIN pl#4 [Y2] id#3 sig#0 [ADC+] (33 Y2P-03) + 34, 4, 5, 0 !ADC ROC#1 Sl#7 Ch#34 HSCIN pl#4 [Y2] id#5 sig#0 [ADC+] (34 Y2P-05) + 35, 4, 7, 0 !ADC ROC#1 Sl#7 Ch#35 HSCIN pl#4 [Y2] id#7 sig#0 [ADC+] (35 Y2P-07) + 36, 4, 9, 0 !ADC ROC#1 Sl#7 Ch#36 HSCIN pl#4 [Y2] id#9 sig#0 [ADC+] (36 Y2P-09) +! 37 !ADC ROC#1 Sl#7 Ch#37 unused +! 38 !ADC ROC#1 Sl#7 Ch#38 unused +! 39 !ADC ROC#1 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#1 Sl#7 Ch#40 HSCIN pl#4 [Y2] id#2 sig#0 [ADC+] (40 Y2P-02) + 41, 4, 4, 0 !ADC ROC#1 Sl#7 Ch#41 HSCIN pl#4 [Y2] id#4 sig#0 [ADC+] (41 Y2P-04) + 42, 4, 6, 0 !ADC ROC#1 Sl#7 Ch#42 HSCIN pl#4 [Y2] id#6 sig#0 [ADC+] (42 Y2P-06) + 43, 4, 8, 0 !ADC ROC#1 Sl#7 Ch#43 HSCIN pl#4 [Y2] id#8 sig#0 [ADC+] (43 Y2P-08) + 44, 4, 10, 0 !ADC ROC#1 Sl#7 Ch#44 HSCIN pl#4 [Y2] id#10 sig#0 [ADC+] (44 Y2P-10) +! 45 !ADC ROC#1 Sl#7 Ch#45 unused +! 46 !ADC ROC#1 Sl#7 Ch#46 unused +! 47 !ADC ROC#1 Sl#7 Ch#47 unused + 48, 4, 1, 1 !ADC ROC#1 Sl#7 Ch#48 HSCIN pl#4 [Y2] id#1 sig#1 [ADC-] (48 Y2N-01) + 49, 4, 3, 1 !ADC ROC#1 Sl#7 Ch#49 HSCIN pl#4 [Y2] id#3 sig#1 [ADC-] (49 Y2N-03) + 50, 4, 5, 1 !ADC ROC#1 Sl#7 Ch#50 HSCIN pl#4 [Y2] id#5 sig#1 [ADC-] (50 Y2N-05) + 51, 4, 7, 1 !ADC ROC#1 Sl#7 Ch#51 HSCIN pl#4 [Y2] id#7 sig#1 [ADC-] (51 Y2N-07) + 52, 4, 9, 1 !ADC ROC#1 Sl#7 Ch#52 HSCIN pl#4 [Y2] id#9 sig#1 [ADC-] (52 Y2N-09) +! 53 !ADC ROC#1 Sl#7 Ch#53 unused +! 54 !ADC ROC#1 Sl#7 Ch#54 unused +! 55 !ADC ROC#1 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#1 Sl#7 Ch#56 HSCIN pl#4 [Y2] id#2 sig#1 [ADC-] (56 Y2N-02) + 57, 4, 4, 1 !ADC ROC#1 Sl#7 Ch#57 HSCIN pl#4 [Y2] id#4 sig#1 [ADC-] (57 Y2N-04) + 58, 4, 6, 1 !ADC ROC#1 Sl#7 Ch#58 HSCIN pl#4 [Y2] id#6 sig#1 [ADC-] (58 Y2N-06) + 59, 4, 8, 1 !ADC ROC#1 Sl#7 Ch#59 HSCIN pl#4 [Y2] id#8 sig#1 [ADC-] (59 Y2N-08) + 60, 4, 10, 1 !ADC ROC#1 Sl#7 Ch#60 HSCIN pl#4 [Y2] id#10 sig#1 [ADC-] (60 Y2N-10) +! 61 !ADC ROC#1 Sl#7 Ch#61 unused +! 62 !ADC ROC#1 Sl#7 Ch#62 unused +! 63 !ADC ROC#1 Sl#7 Ch#63 unused +! +!--------------------------------------------------------------------------------- + detector= 4 !HCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#1 Sl#1 Ch#0 HCAL col#1 row#1 (0 A-01) + 1, 1, 2 !ADC ROC#1 Sl#1 Ch#1 HCAL col#1 row#2 (1 A-02) + 2, 1, 3 !ADC ROC#1 Sl#1 Ch#2 HCAL col#1 row#3 (2 A-03) + 3, 1, 4 !ADC ROC#1 Sl#1 Ch#3 HCAL col#1 row#4 (3 A-04) + 4, 1, 5 !ADC ROC#1 Sl#1 Ch#4 HCAL col#1 row#5 (4 A-05) + 5, 1, 6 !ADC ROC#1 Sl#1 Ch#5 HCAL col#1 row#6 (5 A-06) + 6, 1, 7 !ADC ROC#1 Sl#1 Ch#6 HCAL col#1 row#7 (6 A-07) + 7, 1, 8 !ADC ROC#1 Sl#1 Ch#7 HCAL col#1 row#8 (7 A-08) + 8, 1, 9 !ADC ROC#1 Sl#1 Ch#8 HCAL col#1 row#9 (8 A-09) + 9, 1, 10 !ADC ROC#1 Sl#1 Ch#9 HCAL col#1 row#10 (9 A-10) + 10, 1, 11 !ADC ROC#1 Sl#1 Ch#10 HCAL col#1 row#11 (10 A-11) + 11, 1, 12 !ADC ROC#1 Sl#1 Ch#11 HCAL col#1 row#12 (11 A-12) + 12, 1, 13 !ADC ROC#1 Sl#1 Ch#12 HCAL col#1 row#13 (12 A-13) +! 13 !ADC ROC#1 Sl#1 Ch#13 unused +! 14 !ADC ROC#1 Sl#1 Ch#14 unused +! 15 !ADC ROC#1 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#1 Sl#1 Ch#16 HCAL col#2 row#1 (16 B-01) + 17, 2, 2 !ADC ROC#1 Sl#1 Ch#17 HCAL col#2 row#2 (17 B-02) + 18, 2, 3 !ADC ROC#1 Sl#1 Ch#18 HCAL col#2 row#3 (18 B-03) + 19, 2, 4 !ADC ROC#1 Sl#1 Ch#19 HCAL col#2 row#4 (19 B-04) + 20, 2, 5 !ADC ROC#1 Sl#1 Ch#20 HCAL col#2 row#5 (20 B-05) + 21, 2, 6 !ADC ROC#1 Sl#1 Ch#21 HCAL col#2 row#6 (21 B-06) + 22, 2, 7 !ADC ROC#1 Sl#1 Ch#22 HCAL col#2 row#7 (22 B-07) + 23, 2, 8 !ADC ROC#1 Sl#1 Ch#23 HCAL col#2 row#8 (23 B-08) + 24, 2, 9 !ADC ROC#1 Sl#1 Ch#24 HCAL col#2 row#9 (24 B-09) + 25, 2, 10 !ADC ROC#1 Sl#1 Ch#25 HCAL col#2 row#10 (25 B-10) + 26, 2, 11 !ADC ROC#1 Sl#1 Ch#26 HCAL col#2 row#11 (26 B-11) + 27, 2, 12 !ADC ROC#1 Sl#1 Ch#27 HCAL col#2 row#12 (27 B-12) + 28, 2, 13 !ADC ROC#1 Sl#1 Ch#28 HCAL col#2 row#13 (28 B-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused + 32, 3, 1 !ADC ROC#1 Sl#1 Ch#32 HCAL col#3 row#1 (32 C-01) + 33, 3, 2 !ADC ROC#1 Sl#1 Ch#33 HCAL col#3 row#2 (33 C-02) + 34, 3, 3 !ADC ROC#1 Sl#1 Ch#34 HCAL col#3 row#3 (34 C-03) + 35, 3, 4 !ADC ROC#1 Sl#1 Ch#35 HCAL col#3 row#4 (35 C-04) + 36, 3, 5 !ADC ROC#1 Sl#1 Ch#36 HCAL col#3 row#5 (36 C-05) + 37, 3, 6 !ADC ROC#1 Sl#1 Ch#37 HCAL col#3 row#6 (37 C-06) + 38, 3, 7 !ADC ROC#1 Sl#1 Ch#38 HCAL col#3 row#7 (38 C-07) + 39, 3, 8 !ADC ROC#1 Sl#1 Ch#39 HCAL col#3 row#8 (39 C-08) + 40, 3, 9 !ADC ROC#1 Sl#1 Ch#40 HCAL col#3 row#9 (40 C-09) + 41, 3, 10 !ADC ROC#1 Sl#1 Ch#41 HCAL col#3 row#10 (41 C-10) + 42, 3, 11 !ADC ROC#1 Sl#1 Ch#42 HCAL col#3 row#11 (42 C-11) + 43, 3, 12 !ADC ROC#1 Sl#1 Ch#43 HCAL col#3 row#12 (43 C-12) + 44, 3, 13 !ADC ROC#1 Sl#1 Ch#44 HCAL col#3 row#13 (44 C-13) +! 45 !ADC ROC#1 Sl#1 Ch#45 unused +! 46 !ADC ROC#1 Sl#1 Ch#46 unused +! 47 !ADC ROC#1 Sl#1 Ch#47 unused + 48, 4, 1 !ADC ROC#1 Sl#1 Ch#48 HCAL col#4 row#1 (48 D-01) + 49, 4, 2 !ADC ROC#1 Sl#1 Ch#49 HCAL col#4 row#2 (49 D-02) + 50, 4, 3 !ADC ROC#1 Sl#1 Ch#50 HCAL col#4 row#3 (50 D-03) + 51, 4, 4 !ADC ROC#1 Sl#1 Ch#51 HCAL col#4 row#4 (51 D-04) + 52, 4, 5 !ADC ROC#1 Sl#1 Ch#52 HCAL col#4 row#5 (52 D-05) + 53, 4, 6 !ADC ROC#1 Sl#1 Ch#53 HCAL col#4 row#6 (53 D-06) + 54, 4, 7 !ADC ROC#1 Sl#1 Ch#54 HCAL col#4 row#7 (54 D-07) + 55, 4, 8 !ADC ROC#1 Sl#1 Ch#55 HCAL col#4 row#8 (55 D-08) + 56, 4, 9 !ADC ROC#1 Sl#1 Ch#56 HCAL col#4 row#9 (56 D-09) + 57, 4, 10 !ADC ROC#1 Sl#1 Ch#57 HCAL col#4 row#10 (57 D-10) + 58, 4, 11 !ADC ROC#1 Sl#1 Ch#58 HCAL col#4 row#11 (58 D-11) + 59, 4, 12 !ADC ROC#1 Sl#1 Ch#59 HCAL col#4 row#12 (59 D-12) + 60, 4, 13 !ADC ROC#1 Sl#1 Ch#60 HCAL col#4 row#13 (60 D-13) +! +! 61 !ADC ROC#1 Sl#1 Ch#61 unused + + detector= 5 !HMISC - scintillator (ADCs) - behind calorimeter + 62, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). + 63, 2, 2, 0 ! +! +detector= 4 !HCAL +Slot= 5 ! ADC Second set of tubes on first two layers + 0, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#0 HCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#1 HCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#2 HCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#3 HCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#4 HCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#5 HCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#6 HCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#7 HCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#1 Sl#5 Ch#8 HCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#1 Sl#5 Ch#9 HCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#1 Sl#5 Ch#10 HCAL col#1 row#11 (10 An-11) + 11, 1, 12, 1 !ADC ROC#1 Sl#5 Ch#11 HCAL col#1 row#12 (11 An-112) + 12, 1, 13, 1 !ADC ROC#1 Sl#5 Ch#12 HCAL col#1 row#13 (12 An-13) +! 13 !ADC ROC#1 Sl#5 Ch#13 unused +! 14 !ADC ROC#1 Sl#5 Ch#14 unused +! 15 !ADC ROC#1 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#1 Sl#5 Ch#16 HCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#1 Sl#5 Ch#17 HCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#1 Sl#5 Ch#18 HCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#1 Sl#5 Ch#19 HCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#1 Sl#5 Ch#20 HCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#1 Sl#5 Ch#21 HCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#1 Sl#5 Ch#22 HCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#1 Sl#5 Ch#23 HCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#1 Sl#5 Ch#24 HCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#1 Sl#5 Ch#25 HCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#1 Sl#5 Ch#26 HCAL col#2 row#11 (26 Bn-11) + 27, 2, 12, 1 !ADC ROC#1 Sl#5 Ch#27 HCAL col#2 row#12 (27 Bn-12) + 28, 2, 13, 1 !ADC ROC#1 Sl#5 Ch#28 HCAL col#2 row#13 (28 Bn-13) +! 29 !ADC ROC#1 Sl#1 Ch#29 unused +! 30 !ADC ROC#1 Sl#1 Ch#30 unused +! 31 !ADC ROC#1 Sl#1 Ch#31 unused +! +!================================================================== +!!!!!!!!!!!!!!!!!!!!!!! AEROGEL ADC !!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! + detector = 7 + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! +!Slot= 5 ! ADC +! May be will use spare channels HCAL ADC for aerogel (Hamlet, 2002/10/16) +!48, 1, 1, 0 !ADC ROC#1 Sl#5 Ch#48 signal pos 1 +!49, 1, 2, 0 !ADC ROC#1 Sl#5 Ch#48signal pos 2 +!50, 1, 3, 0 !ADC ROC#1 Sl#5 Ch#50 signal pos 3 +!51, 1, 4, 0 !ADC ROC#1 Sl#5 Ch#51 signal pos 4 +!52, 1, 5, 0 !ADC ROC#1 Sl#5 Ch#52 signal pos 5 +!53, 1, 6, 0 !ADC ROC#1 Sl#5 Ch#53 signal pos 6 +!54, 1, 7, 0 !ADC ROC#1 Sl#5 Ch#54 signal pos 7 +!55, 1, 8, 0 !ADC ROC#1 Sl#5 Ch#55 signal pos 8 +!56, 1, 1, 1 !ADC ROC#1 Sl#5 Ch#56 signal neg 1 +!57, 1, 2, 1 !ADC ROC#1 Sl#5 Ch#57 signal neg 2 +!58, 1, 3, 1 !ADC ROC#1 Sl#5 Ch#58 signal neg 3 +!59, 1, 4, 1 !ADC ROC#1 Sl#5 Ch#59 signal neg 4 +!60, 1, 5, 1 !ADC ROC#1 Sl#5 Ch#60 signal neg 5 +!61, 1, 6, 1 !ADC ROC#1 Sl#5 Ch#61 signal neg 6 +!62, 1, 7, 1 !ADC ROC#1 Sl#5 Ch#62 signal neg 7 +!63, 1, 8, 1 !ADC ROC#1 Sl#5 Ch#63 signal neg 8 +! +! detector = 7 +! Nsubadd= 64 +! MASK= 3FFFx +! BSUB= 17 + + Slot= 11 ! ADC +! Additional new ADC for aerogel (Hamlet, 2002/10/17) + 0, 1, 1, 0 !ADC ROC#1 Sl#11 Ch#0 signal pos 1 + 1, 1, 2, 0 !ADC ROC#1 Sl#11 Ch#1 signal pos 2 + 2, 1, 3, 0 !ADC ROC#1 Sl#11 Ch#2 signal pos 3 + 3, 1, 4, 0 !ADC ROC#1 Sl#11 Ch#3 signal pos 4 + 4, 1, 5, 0 !ADC ROC#1 Sl#11 Ch#4 signal pos 5 + 5, 1, 6, 0 !ADC ROC#1 Sl#11 Ch#5 signal pos 6 + 6, 1, 7, 0 !ADC ROC#1 Sl#11 Ch#6 signal pos 7 + 7, 1, 8, 0 !ADC ROC#1 Sl#11 Ch#7 signal pos 8 + 8, 1, 1, 1 !ADC ROC#1 Sl#11 Ch#8 signal neg 1 + 9, 1, 2, 1 !ADC ROC#1 Sl#11 Ch#9 signal neg 2 + 10, 1, 3, 1 !ADC ROC#1 Sl#11 Ch#10 signal neg 3 + 11, 1, 4, 1 !ADC ROC#1 Sl#11 Ch#11 signal neg 4 + 12, 1, 5, 1 !ADC ROC#1 Sl#11 Ch#12 signal neg 5 + 13, 1, 6, 1 !ADC ROC#1 Sl#11 Ch#13 signal neg 6 + 14, 1, 7, 1 !ADC ROC#1 Sl#11 Ch#14 signal neg 7 + 15, 1, 8, 1 !ADC ROC#1 Sl#11 Ch#15 signal neg 8 +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!----------------------------------------------------------------- + detector= 3 !HCER +! + Slot= 3 + 0, 1, 1 !ADC ROC#1 Sl#3 Ch#0 HCER tube#1 (C1) + 1, 1, 2 !ADC ROC#1 Sl#3 Ch#1 HCER tube#2 (C2) +! 2 !ADC ROC#1 Sl#3 Ch#2 unused +! 3 !ADC ROC#1 Sl#3 Ch#3 unused +! 4 !ADC ROC#1 Sl#3 Ch#4 unused +! 5 !ADC ROC#1 Sl#3 Ch#5 unused +! 6 !ADC ROC#1 Sl#3 Ch#6 unused +! 7 !ADC ROC#1 Sl#3 Ch#7 unused +! 8 !ADC ROC#1 Sl#3 Ch#8 unused +! 9 !ADC ROC#1 Sl#3 Ch#9 unused +! 10 !ADC ROC#1 Sl#3 Ch#10 unused +! 11 !ADC ROC#1 Sl#3 Ch#11 unused +! 12 !ADC ROC#1 Sl#3 Ch#12 unused +! 13 !ADC ROC#1 Sl#3 Ch#13 unused +! 14 !ADC ROC#1 Sl#3 Ch#14 unused +! 15 !ADC ROC#1 Sl#3 Ch#15 unused +! 16 !ADC ROC#1 Sl#3 Ch#16 unused +! 17 !ADC ROC#1 Sl#3 Ch#17 unused +! 18 !ADC ROC#1 Sl#3 Ch#18 unused +! 19 !ADC ROC#1 Sl#3 Ch#19 unused +! 20 !ADC ROC#1 Sl#3 Ch#20 unused +! 21 !ADC ROC#1 Sl#3 Ch#21 unused +! 22 !ADC ROC#1 Sl#3 Ch#22 unused +! 23 !ADC ROC#1 Sl#3 Ch#23 unused +! 24 !ADC ROC#1 Sl#3 Ch#24 unused +! 25 !ADC ROC#1 Sl#3 Ch#25 unused +! 26 !ADC ROC#1 Sl#3 Ch#26 unused +! 27 !ADC ROC#1 Sl#3 Ch#27 unused +! 28 !ADC ROC#1 Sl#3 Ch#28 unused +! 29 !ADC ROC#1 Sl#3 Ch#29 unused +! 30 !ADC ROC#1 Sl#3 Ch#30 unused +! 31 !ADC ROC#1 Sl#3 Ch#31 unused +! 32 !ADC ROC#1 Sl#3 Ch#32 unused +! 33 !ADC ROC#1 Sl#3 Ch#33 unused +! 34 !ADC ROC#1 Sl#3 Ch#34 unused +! 35 !ADC ROC#1 Sl#3 Ch#35 unused +! 36 !ADC ROC#1 Sl#3 Ch#36 unused +! 37 !ADC ROC#1 Sl#3 Ch#37 unused +! 38 !ADC ROC#1 Sl#3 Ch#38 unused +! 39 !ADC ROC#1 Sl#3 Ch#39 unused +! 40 !ADC ROC#1 Sl#3 Ch#40 unused +! 41 !ADC ROC#1 Sl#3 Ch#41 unused +! 42 !ADC ROC#1 Sl#3 Ch#42 unused +! 43 !ADC ROC#1 Sl#3 Ch#43 unused +! 44 !ADC ROC#1 Sl#3 Ch#44 unused +! 45 !ADC ROC#1 Sl#3 Ch#45 unused +! 46 !ADC ROC#1 Sl#3 Ch#46 unused +! 47 !ADC ROC#1 Sl#3 Ch#47 unused +!detector= 6 ! GMISC +!!! Use "plane" 2 for the PMT's on the floor (BLM's) +!48, 2, 1, 0 ! Special PMT signal ch #1 +!49, 2, 2, 0 ! Special PMT signal ch #1 +!50, 2, 3, 0 ! Special PMT signal ch #1 +!51, 2, 4, 0 ! Special PMT signal ch #1 +!52, 2, 5, 0 ! Special PMT signal ch #1 +!53, 2, 6, 0 ! Special PMT signal ch #1 +!54, 2, 7, 0 ! Special PMT signal ch #1 +!55, 2, 8, 0 ! Special PMT signal ch #1 +! 48 !ADC ROC#1 Sl#3 Ch#48 unused +! 49 !ADC ROC#1 Sl#3 Ch#49 unused +! 50 !ADC ROC#1 Sl#3 Ch#50 unused +! 51 !ADC ROC#1 Sl#3 Ch#51 unused +! 52 !ADC ROC#1 Sl#3 Ch#52 unused +! 53 !ADC ROC#1 Sl#3 Ch#53 unused +! 54 !ADC ROC#1 Sl#3 Ch#54 unused +! 55 !ADC ROC#1 Sl#3 Ch#55 unused +! 56 !ADC ROC#1 Sl#3 Ch#56 unused +! 57 !ADC ROC#1 Sl#3 Ch#57 unused +! 58 !ADC ROC#1 Sl#3 Ch#58 unused +! 59 !ADC ROC#1 Sl#3 Ch#59 unused +! 60 !ADC ROC#1 Sl#3 Ch#60 unused +! 61 !ADC ROC#1 Sl#3 Ch#61 unused +! 62 !ADC ROC#1 Sl#3 Ch#62 unused +! 63 !ADC ROC#1 Sl#3 Ch#63 unused +! +! + detector= 6 ! GMISC +! + Slot= 13 +! +! 0, 2, 1, 0 !ADC ROC#1 Sl#15 Ch#0 +! 1, 2, 2, 0 !ADC ROC#1 Sl#15 Ch#1 +! 2, 2, 3, 0 !ADC ROC#1 Sl#15 Ch#2 +! 3, 2, 4, 0 !ADC ROC#1 Sl#15 Ch#3 + 4, 2, 5, 0 !ADC ROC#1 Sl#15 Ch#4 H00A X+ + 5, 2, 6, 0 !ADC ROC#1 Sl#15 Ch#5 H00A X- + 6, 2, 7, 0 !ADC ROC#1 Sl#15 Ch#6 H00A Y+ + 7, 2, 8, 0 !ADC ROC#1 Sl#15 Ch#7 H00A Y- + 8, 2, 9, 0 !ADC ROC#1 Sl#15 Ch#8 H00B X+ + 9, 2, 10, 0 !ADC ROC#1 Sl#15 Ch#9 H00B X- + 10, 2, 11, 0 !ADC ROC#1 Sl#15 Ch#10 H00B Y+ + 11, 2, 12, 0 !ADC ROC#1 Sl#15 Ch#11 H00B Y- +! 12, 2, 13, 0 !ADC ROC#1 Sl#15 Ch#12 Fast Raster X-sync +! 13, 2, 14, 0 !ADC ROC#1 Sl#15 Ch#13 Fast Raster X-signal +! 14, 2, 15, 0 !ADC ROC#1 Sl#15 Ch#14 Fast Raster Y-sync +! 15, 2, 16, 0 !ADC ROC#1 Sl#15 Ch#15 Fast Raster Y-signal +! mkj switch x and y Apr 9,2003 +! bpw added the new ID for raster 01-23-2014 +! + detector= 18 ! RASTER +! +! buddhini-w :To make things easier and consistent between detectors, +! we now use the plane and signal to identify the different raster signals 02-12-2014 +!.............................................................................. +! For raster : 0-->ADC X-sync +! 1-->ADC Y-signal +! 2-->ADC Y-sync +! 3-->ADC Y-signal + + 14, 1, 1, 0 !ADC ROC#1 Sl#13 Ch#12 Fast Raster X-sync + 15, 1, 1, 1 !ADC ROC#1 Sl#13 Ch#13 Fast Raster X-signal + 12, 1, 1, 2 !ADC ROC#1 Sl#13 Ch#14 Fast Raster Y-sync + 13, 1, 1, 3 !ADC ROC#1 Sl#13 Ch#15 Fast Raster Y-signal +! + detector= 6 ! GMISC +! + 16, 2, 17, 0 !ADC ROC#1 Sl#15 Ch#16 H00C X+ + 17, 2, 18, 0 !ADC ROC#1 Sl#15 Ch#17 H00C X- + 18, 2, 19, 0 !ADC ROC#1 Sl#15 Ch#18 H00C Y+ + 19, 2, 20, 0 !ADC ROC#1 Sl#15 Ch#19 H00C Y- +! 20 !ADC ROC#1 Sl#15 Ch#20 unused +! 21 !ADC ROC#1 Sl#15 Ch#21 unused + 22, 2, 23, 0 !ADC ROC#1 Sl#15 Ch#22 Raster gate +! 23 !ADC ROC#1 Sl#15 Ch#23 unused +! 24 !ADC ROC#1 Sl#15 Ch#24 unused +! 25 !ADC ROC#1 Sl#15 Ch#25 unused +! 26 !ADC ROC#1 Sl#15 Ch#26 unused +! 27 !ADC ROC#1 Sl#15 Ch#27 unused +! 28 !ADC ROC#1 Sl#15 Ch#28 unused +! 29 !ADC ROC#1 Sl#15 Ch#29 unused +! 30 !ADC ROC#1 Sl#15 Ch#30 unused +! 31 !ADC ROC#1 Sl#15 Ch#31 unused + 32, 2, 32, 0 ! Paul Gueye + 33, 2, 33, 0 ! Paul Gueye + 34, 2, 34, 0 ! Paul Gueye + 35, 2, 35, 0 ! Paul Gueye + 36, 2, 36, 0 ! Paul Gueye + 37, 2, 37, 0 ! Paul Gueye + 38, 2, 38, 0 ! Paul Gueye + 39, 2, 39, 0 ! Paul Gueye + 40, 2, 40, 0 ! Paul Gueye + 41, 2, 41, 0 ! Paul Gueye + 42, 2, 42, 0 ! Paul Gueye + 43, 2, 43, 0 ! Paul Gueye + 44, 2, 44, 0 ! Paul Gueye + 45, 2, 45, 0 ! Paul Gueye + 46, 2, 46, 0 ! Paul Gueye + 47, 2, 47, 0 ! Paul Gueye +! 32 !ADC ROC#1 Sl#15 Ch#32 unused +! 33 !ADC ROC#1 Sl#15 Ch#33 unused +! 34 !ADC ROC#1 Sl#15 Ch#34 unused +! 35 !ADC ROC#1 Sl#15 Ch#35 unused +! 36 !ADC ROC#1 Sl#15 Ch#36 unused +! 37 !ADC ROC#1 Sl#15 Ch#37 unused +! 38 !ADC ROC#1 Sl#15 Ch#38 unused +! 39 !ADC ROC#1 Sl#15 Ch#39 unused +! 40 !ADC ROC#1 Sl#15 Ch#40 unused +! 41 !ADC ROC#1 Sl#15 Ch#41 unused +! 42 !ADC ROC#1 Sl#15 Ch#42 unused +! 43 !ADC ROC#1 Sl#15 Ch#43 unused +! 44 !ADC ROC#1 Sl#15 Ch#44 unused +! 45 !ADC ROC#1 Sl#15 Ch#45 unused +! 46 !ADC ROC#1 Sl#15 Ch#46 unused +! 47 !ADC ROC#1 Sl#15 Ch#47 unused +! 48 !ADC ROC#1 Sl#15 Ch#48 unused +! 49 !ADC ROC#1 Sl#15 Ch#49 unused +! 50 !ADC ROC#1 Sl#15 Ch#50 unused +! 51 !ADC ROC#1 Sl#15 Ch#51 unused +! 52 !ADC ROC#1 Sl#15 Ch#52 unused +! 53 !ADC ROC#1 Sl#15 Ch#53 unused +! 54 !ADC ROC#1 Sl#15 Ch#54 unused +! 55 !ADC ROC#1 Sl#15 Ch#55 unused +! 56 !ADC ROC#1 Sl#15 Ch#56 unused +! 57 !ADC ROC#1 Sl#15 Ch#57 unused +! 58 !ADC ROC#1 Sl#15 Ch#58 unused +! 59 !ADC ROC#1 Sl#15 Ch#59 unused +! 60 !ADC ROC#1 Sl#15 Ch#60 unused +! 61 !ADC ROC#1 Sl#15 Ch#61 unused +! 62 !ADC ROC#1 Sl#15 Ch#62 unused +! 63 !ADC ROC#1 Sl#15 Ch#63 unused +! +!--------------------------------------------------------------------- +!=============================== SOS MAP ============================= +!............ This part copy from replay99 (Hamlet,19 Dec'02)............ +! +! REAL map for SOS Drift Chambers (SDC); J.R.Arrington 20-Mar-1995 +! + ROC= 4 !ReadOutController (crate) for SOS (fbsos) +! + Nsubadd= 96 !assume 96 channel modules + MASK= FFFFx !hex mask - assume LeCroy masking (lowest 13 bits) + BSUB= 17 !begin channel info with bit#17 +! + detector= 11 !SDC +! + slot= 1 !SDC TDC +! +! SDC plane (1) + 0, 1, 1 !chamber 1, U plane, 48 wires. + 1, 1, 2 + 2, 1, 3 + 3, 1, 4 + 4, 1, 5 + 5, 1, 6 + 6, 1, 7 + 7, 1, 8 + 8, 1, 9 + 9, 1, 10 + 10, 1, 11 + 11, 1, 12 + 12, 1, 13 + 13, 1, 14 + 14, 1, 15 + 15, 1, 16 + 16, 1, 17 + 17, 1, 18 + 18, 1, 19 + 19, 1, 20 + 20, 1, 21 + 21, 1, 22 + 22, 1, 23 + 23, 1, 24 + 24, 1, 25 + 25, 1, 26 + 26, 1, 27 + 27, 1, 28 + 28, 1, 29 + 29, 1, 30 + 30, 1, 31 + 31, 1, 32 + 32, 1, 33 + 33, 1, 34 + 34, 1, 35 + 35, 1, 36 + 36, 1, 37 + 37, 1, 38 + 38, 1, 39 + 39, 1, 40 + 40, 1, 41 + 41, 1, 42 + 42, 1, 43 + 43, 1, 44 + 44, 1, 45 + 45, 1, 46 + 46, 1, 47 + 47, 1, 48 + 48, 2, 1 !chamber 1, U' plane, 48 wires. + 49, 2, 2 + 50, 2, 3 + 51, 2, 4 + 52, 2, 5 + 53, 2, 6 + 54, 2, 7 + 55, 2, 8 + 56, 2, 9 + 57, 2, 10 + 58, 2, 11 + 59, 2, 12 + 60, 2, 13 + 61, 2, 14 + 62, 2, 15 + 63, 2, 16 + 64, 2, 17 + 65, 2, 18 + 66, 2, 19 + 67, 2, 20 + 68, 2, 21 + 69, 2, 22 + 70, 2, 23 + 71, 2, 24 + 72, 2, 25 + 73, 2, 26 + 74, 2, 27 + 75, 2, 28 + 76, 2, 29 + 77, 2, 30 + 78, 2, 31 + 79, 2, 32 + 80, 2, 33 + 81, 2, 34 + 82, 2, 35 + 83, 2, 36 + 84, 2, 37 + 85, 2, 38 + 86, 2, 39 + 87, 2, 40 + 88, 2, 41 + 89, 2, 42 + 90, 2, 43 + 91, 2, 44 + 92, 2, 45 + 93, 2, 46 + 94, 2, 47 + 95, 2, 48 +! + slot= 2 !SDC TDC +! +! SDC plane (2) + 0, 5, 1 !chamber 1, V plane, 48 wires. + 1, 5, 2 + 2, 5, 3 + 3, 5, 4 + 4, 5, 5 + 5, 5, 6 + 6, 5, 7 + 7, 5, 8 + 8, 5, 9 + 9, 5, 10 + 10, 5, 11 + 11, 5, 12 + 12, 5, 13 + 13, 5, 14 + 14, 5, 15 + 15, 5, 16 + 16, 5, 17 + 17, 5, 18 + 18, 5, 19 + 19, 5, 20 + 20, 5, 21 + 21, 5, 22 + 22, 5, 23 + 23, 5, 24 + 24, 5, 25 + 25, 5, 26 + 26, 5, 27 + 27, 5, 28 + 28, 5, 29 + 29, 5, 30 + 30, 5, 31 + 31, 5, 32 + 32, 5, 33 + 33, 5, 34 + 34, 5, 35 + 35, 5, 36 + 36, 5, 37 + 37, 5, 38 + 38, 5, 39 + 39, 5, 40 + 40, 5, 41 + 41, 5, 42 + 42, 5, 43 + 43, 5, 44 + 44, 5, 45 + 45, 5, 46 + 46, 5, 47 + 47, 5, 48 + 48, 6, 1 !chamber 1, V' plane, 48 wires. + 49, 6, 2 + 50, 6, 3 + 51, 6, 4 + 52, 6, 5 + 53, 6, 6 + 54, 6, 7 + 55, 6, 8 + 56, 6, 9 + 57, 6, 10 + 58, 6, 11 + 59, 6, 12 + 60, 6, 13 + 61, 6, 14 + 62, 6, 15 + 63, 6, 16 + 64, 6, 17 + 65, 6, 18 + 66, 6, 19 + 67, 6, 20 + 68, 6, 21 + 69, 6, 22 + 70, 6, 23 + 71, 6, 24 + 72, 6, 25 + 73, 6, 26 + 74, 6, 27 + 75, 6, 28 + 76, 6, 29 + 77, 6, 30 + 78, 6, 31 + 79, 6, 32 + 80, 6, 33 + 81, 6, 34 + 82, 6, 35 + 83, 6, 36 + 84, 6, 37 + 85, 6, 38 + 86, 6, 39 + 87, 6, 40 + 88, 6, 41 + 89, 6, 42 + 90, 6, 43 + 91, 6, 44 + 92, 6, 45 + 93, 6, 46 + 94, 6, 47 + 95, 6, 48 +! + slot= 4 !SDC TDC +! +! SDC plane (3) + 0, 3, 1 !chamber 1, X plane, 64 wires. + 1, 3, 2 + 2, 3, 3 + 3, 3, 4 + 4, 3, 5 + 5, 3, 6 + 6, 3, 7 + 7, 3, 8 + 8, 3, 9 + 9, 3, 10 + 10, 3, 11 + 11, 3, 12 + 12, 3, 13 + 13, 3, 14 + 14, 3, 15 + 15, 3, 16 + 16, 3, 17 + 17, 3, 18 + 18, 3, 19 + 19, 3, 20 + 20, 3, 21 + 21, 3, 22 + 22, 3, 23 + 23, 3, 24 + 24, 3, 25 + 25, 3, 26 + 26, 3, 27 + 27, 3, 28 + 28, 3, 29 + 29, 3, 30 + 30, 3, 31 + 31, 3, 32 + 32, 3, 33 + 33, 3, 34 + 34, 3, 35 + 35, 3, 36 + 36, 3, 37 + 37, 3, 38 + 38, 3, 39 + 39, 3, 40 + 40, 3, 41 + 41, 3, 42 + 42, 3, 43 + 43, 3, 44 + 44, 3, 45 + 45, 3, 46 + 46, 3, 47 + 47, 3, 48 + 48, 3, 49 + 49, 3, 50 + 50, 3, 51 + 51, 3, 52 + 52, 3, 53 + 53, 3, 54 + 54, 3, 55 + 55, 3, 56 + 56, 3, 57 + 57, 3, 58 + 58, 3, 59 + 59, 3, 60 + 60, 3, 61 + 61, 3, 62 + 62, 3, 63 + 63, 3, 64 +! + slot= 5 !SDC TDC +! +! SDC plane (4) + 0, 4, 1 !chamber 1, X' plane, 64 wires. + 1, 4, 2 + 2, 4, 3 + 3, 4, 4 + 4, 4, 5 + 5, 4, 6 + 6, 4, 7 + 7, 4, 8 + 8, 4, 9 + 9, 4, 10 + 10, 4, 11 + 11, 4, 12 + 12, 4, 13 + 13, 4, 14 + 14, 4, 15 + 15, 4, 16 + 16, 4, 17 + 17, 4, 18 + 18, 4, 19 + 19, 4, 20 + 20, 4, 21 + 21, 4, 22 + 22, 4, 23 + 23, 4, 24 + 24, 4, 25 + 25, 4, 26 + 26, 4, 27 + 27, 4, 28 + 28, 4, 29 + 29, 4, 30 + 30, 4, 31 + 31, 4, 32 + 32, 4, 33 + 33, 4, 34 + 34, 4, 35 + 35, 4, 36 + 36, 4, 37 + 37, 4, 38 + 38, 4, 39 + 39, 4, 40 + 40, 4, 41 + 41, 4, 42 + 42, 4, 43 + 43, 4, 44 + 44, 4, 45 + 45, 4, 46 + 46, 4, 47 + 47, 4, 48 + 48, 4, 49 + 49, 4, 50 + 50, 4, 51 + 51, 4, 52 + 52, 4, 53 + 53, 4, 54 + 54, 4, 55 + 55, 4, 56 + 56, 4, 57 + 57, 4, 58 + 58, 4, 59 + 59, 4, 60 + 60, 4, 61 + 61, 4, 62 + 62, 4, 63 + 63, 4, 64 +! + slot= 8 !SDC TDC +! +! SDC plane (1) + 0, 7, 1 !chamber 2, U plane, 48 wires. + 1, 7, 2 + 2, 7, 3 + 3, 7, 4 + 4, 7, 5 + 5, 7, 6 + 6, 7, 7 + 7, 7, 8 + 8, 7, 9 + 9, 7, 10 + 10, 7, 11 + 11, 7, 12 + 12, 7, 13 + 13, 7, 14 + 14, 7, 15 + 15, 7, 16 + 16, 7, 17 + 17, 7, 18 + 18, 7, 19 + 19, 7, 20 + 20, 7, 21 + 21, 7, 22 + 22, 7, 23 + 23, 7, 24 + 24, 7, 25 + 25, 7, 26 + 26, 7, 27 + 27, 7, 28 + 28, 7, 29 + 29, 7, 30 + 30, 7, 31 + 31, 7, 32 + 32, 7, 33 + 33, 7, 34 + 34, 7, 35 + 35, 7, 36 + 36, 7, 37 + 37, 7, 38 + 38, 7, 39 + 39, 7, 40 + 40, 7, 41 + 41, 7, 42 + 42, 7, 43 + 43, 7, 44 + 44, 7, 45 + 45, 7, 46 + 46, 7, 47 + 47, 7, 48 + 48, 8, 1 !chamber 2, U' plane, 48 wires. + 49, 8, 2 + 50, 8, 3 + 51, 8, 4 + 52, 8, 5 + 53, 8, 6 + 54, 8, 7 + 55, 8, 8 + 56, 8, 9 + 57, 8, 10 + 58, 8, 11 + 59, 8, 12 + 60, 8, 13 + 61, 8, 14 + 62, 8, 15 + 63, 8, 16 + 64, 8, 17 + 65, 8, 18 + 66, 8, 19 + 67, 8, 20 + 68, 8, 21 + 69, 8, 22 + 70, 8, 23 + 71, 8, 24 + 72, 8, 25 + 73, 8, 26 + 74, 8, 27 + 75, 8, 28 + 76, 8, 29 + 77, 8, 30 + 78, 8, 31 + 79, 8, 32 + 80, 8, 33 + 81, 8, 34 + 82, 8, 35 + 83, 8, 36 + 84, 8, 37 + 85, 8, 38 + 86, 8, 39 + 87, 8, 40 + 88, 8, 41 + 89, 8, 42 + 90, 8, 43 + 91, 8, 44 + 92, 8, 45 + 93, 8, 46 + 94, 8, 47 + 95, 8, 48 +! + slot= 9 !SDC TDC +! +! SDC plane (2) + 0, 11, 1 !chamber 2, V plane, 48 wires. + 1, 11, 2 + 2, 11, 3 + 3, 11, 4 + 4, 11, 5 + 5, 11, 6 + 6, 11, 7 + 7, 11, 8 + 8, 11, 9 + 9, 11, 10 + 10, 11, 11 + 11, 11, 12 + 12, 11, 13 + 13, 11, 14 + 14, 11, 15 + 15, 11, 16 + 16, 11, 17 + 17, 11, 18 + 18, 11, 19 + 19, 11, 20 + 20, 11, 21 + 21, 11, 22 + 22, 11, 23 + 23, 11, 24 + 24, 11, 25 + 25, 11, 26 + 26, 11, 27 + 27, 11, 28 + 28, 11, 29 + 29, 11, 30 + 30, 11, 31 + 31, 11, 32 + 32, 11, 33 + 33, 11, 34 + 34, 11, 35 + 35, 11, 36 + 36, 11, 37 + 37, 11, 38 + 38, 11, 39 + 39, 11, 40 + 40, 11, 41 + 41, 11, 42 + 42, 11, 43 + 43, 11, 44 + 44, 11, 45 + 45, 11, 46 + 46, 11, 47 + 47, 11, 48 + 48, 12, 1 !chamber 2, V' plane, 48 wires. + 49, 12, 2 + 50, 12, 3 + 51, 12, 4 + 52, 12, 5 + 53, 12, 6 + 54, 12, 7 + 55, 12, 8 + 56, 12, 9 + 57, 12, 10 + 58, 12, 11 + 59, 12, 12 + 60, 12, 13 + 61, 12, 14 + 62, 12, 15 + 63, 12, 16 + 64, 12, 17 + 65, 12, 18 + 66, 12, 19 + 67, 12, 20 + 68, 12, 21 + 69, 12, 22 + 70, 12, 23 + 71, 12, 24 + 72, 12, 25 + 73, 12, 26 + 74, 12, 27 + 75, 12, 28 + 76, 12, 29 + 77, 12, 30 + 78, 12, 31 + 79, 12, 32 + 80, 12, 33 + 81, 12, 34 + 82, 12, 35 + 83, 12, 36 + 84, 12, 37 + 85, 12, 38 + 86, 12, 39 + 87, 12, 40 + 88, 12, 41 + 89, 12, 42 + 90, 12, 43 + 91, 12, 44 + 92, 12, 45 + 93, 12, 46 + 94, 12, 47 + 95, 12, 48 +! + slot= 11 !SDC TDC +! +! SDC plane (3) + 0, 9, 1 !chamber 2, X plane, 64 wires. + 1, 9, 2 + 2, 9, 3 + 3, 9, 4 + 4, 9, 5 + 5, 9, 6 + 6, 9, 7 + 7, 9, 8 + 8, 9, 9 + 9, 9, 10 + 10, 9, 11 + 11, 9, 12 + 12, 9, 13 + 13, 9, 14 + 14, 9, 15 + 15, 9, 16 + 16, 9, 17 + 17, 9, 18 + 18, 9, 19 + 19, 9, 20 + 20, 9, 21 + 21, 9, 22 + 22, 9, 23 + 23, 9, 24 + 24, 9, 25 + 25, 9, 26 + 26, 9, 27 + 27, 9, 28 + 28, 9, 29 + 29, 9, 30 + 30, 9, 31 + 31, 9, 32 + 32, 9, 33 + 33, 9, 34 + 34, 9, 35 + 35, 9, 36 + 36, 9, 37 + 37, 9, 38 + 38, 9, 39 + 39, 9, 40 + 40, 9, 41 + 41, 9, 42 + 42, 9, 43 + 43, 9, 44 + 44, 9, 45 + 45, 9, 46 + 46, 9, 47 + 47, 9, 48 + 48, 9, 49 + 49, 9, 50 + 50, 9, 51 + 51, 9, 52 + 52, 9, 53 + 53, 9, 54 + 54, 9, 55 + 55, 9, 56 + 56, 9, 57 + 57, 9, 58 + 58, 9, 59 + 59, 9, 60 + 60, 9, 61 + 61, 9, 62 + 62, 9, 63 + 63, 9, 64 +! + slot= 12 !SDC TDC +! +! SDC plane (4) + 0, 10, 1 !chamber 2, X' plane, 64 wires. + 1, 10, 2 + 2, 10, 3 + 3, 10, 4 + 4, 10, 5 + 5, 10, 6 + 6, 10, 7 + 7, 10, 8 + 8, 10, 9 + 9, 10, 10 + 10, 10, 11 + 11, 10, 12 + 12, 10, 13 + 13, 10, 14 + 14, 10, 15 + 15, 10, 16 + 16, 10, 17 + 17, 10, 18 + 18, 10, 19 + 19, 10, 20 + 20, 10, 21 + 21, 10, 22 + 22, 10, 23 + 23, 10, 24 + 24, 10, 25 + 25, 10, 26 + 26, 10, 27 + 27, 10, 28 + 28, 10, 29 + 29, 10, 30 + 30, 10, 31 + 31, 10, 32 + 32, 10, 33 + 33, 10, 34 + 34, 10, 35 + 35, 10, 36 + 36, 10, 37 + 37, 10, 38 + 38, 10, 39 + 39, 10, 40 + 40, 10, 41 + 41, 10, 42 + 42, 10, 43 + 43, 10, 44 + 44, 10, 45 + 45, 10, 46 + 46, 10, 47 + 47, 10, 48 + 48, 10, 49 + 49, 10, 50 + 50, 10, 51 + 51, 10, 52 + 52, 10, 53 + 53, 10, 54 + 54, 10, 55 + 55, 10, 56 + 56, 10, 57 + 57, 10, 58 + 58, 10, 59 + 59, 10, 60 + 60, 10, 61 + 61, 10, 62 + 62, 10, 63 + 63, 10, 64 +! +! SOS upstairs (SSCIN+SCAL+SCER) map K.B.Beard 13-Jun-1994 +! + ROC= 3 !upstairs SOS crate (fbch2) +! + detector= 12 !SSCIN +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 +! + Slot= 22 ! TDC + 0, 1, 3, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#3 [TDC+] + 1, 1, 5, 2 !TDC ROC#3 Sl#23 Ch#1 SSCIN pl#1 [X1] id sig#5 [TDC+] + 2, 1, 7, 2 !TDC ROC#3 Sl#23 Ch#2 SSCIN pl#1 [X1] id sig#7 [TDC+] + 3, 1, 9, 2 !TDC ROC#3 Sl#23 Ch#3 SSCIN pl#1 [X1] id sig#9 [TDC+] + 4, 1, 2, 2 !TDC ROC#3 Sl#23 Ch#4 SSCIN pl#1 [X1] id sig#2 [TDC+] + 5, 1, 4, 2 !TDC ROC#3 Sl#23 Ch#5 SSCIN pl#1 [X1] id sig#4 [TDC+] + 6, 1, 6, 2 !TDC ROC#3 Sl#23 Ch#6 SSCIN pl#1 [X1] id sig#6 [TDC+] + 7, 1, 8, 2 !TDC ROC#3 Sl#23 Ch#7 SSCIN pl#1 [X1] id sig#8 [TDC+] + 8, 1, 3, 3 !TDC ROC#3 Sl#23 Ch#8 SSCIN pl#1 [X1] id sig#3 [TDC-] + 9, 1, 5, 3 !TDC ROC#3 Sl#23 Ch#9 SSCIN pl#1 [X1] id sig#5 [TDC-] + 10, 1, 7, 3 !TDC ROC#3 Sl#23 Ch#10 SSCIN pl#1 [X1] id sig#7 [TDC-] + 11, 1, 9, 3 !TDC ROC#3 Sl#23 Ch#11 SSCIN pl#1 [X1] id sig#9 [TDC-] + 12, 1, 2, 3 !TDC ROC#3 Sl#23 Ch#12 SSCIN pl#1 [X1] id sig#2 [TDC-] + 13, 1, 4, 3 !TDC ROC#3 Sl#23 Ch#13 SSCIN pl#1 [X1] id sig#4 [TDC-] + 14, 1, 6, 3 !TDC ROC#3 Sl#23 Ch#14 SSCIN pl#1 [X1] id sig#6 [TDC-] + 15, 1, 8, 3 !TDC ROC#3 Sl#23 Ch#15 SSCIN pl#1 [X1] id sig#8 [TDC-] + 16, 2, 3, 2 !TDC ROC#3 Sl#23 Ch#16 SSCIN pl#2 [Y1] id sig#3 [TDC+] + 17, 2, 5, 2 !TDC ROC#3 Sl#23 Ch#17 SSCIN pl#2 [Y1] id sig#5 [TDC+] + 18, 2, 7, 2 !TDC ROC#3 Sl#23 Ch#18 SSCIN pl#2 [Y1] id sig#7 [TDC+] + 19, 2, 9, 2 !TDC ROC#3 Sl#23 Ch#19 SSCIN pl#2 [Y1] id sig#9 [TDC+] + 20, 2, 2, 2 !TDC ROC#3 Sl#23 Ch#20 SSCIN pl#2 [Y1] id sig#2 [TDC+] + 21, 2, 4, 2 !TDC ROC#3 Sl#23 Ch#21 SSCIN pl#2 [Y1] id sig#4 [TDC+] + 22, 2, 6, 2 !TDC ROC#3 Sl#23 Ch#22 SSCIN pl#2 [Y1] id sig#6 [TDC+] + 23, 2, 8, 2 !TDC ROC#3 Sl#23 Ch#23 SSCIN pl#2 [Y1] id sig#8 [TDC+] + 24, 2, 3, 3 !TDC ROC#3 Sl#23 Ch#24 SSCIN pl#2 [Y1] id sig#3 [TDC-] + 25, 2, 5, 3 !TDC ROC#3 Sl#23 Ch#25 SSCIN pl#2 [Y1] id sig#5 [TDC-] + 26, 2, 7, 3 !TDC ROC#3 Sl#23 Ch#26 SSCIN pl#2 [Y1] id sig#7 [TDC-] + 27, 2, 9, 3 !TDC ROC#3 Sl#23 Ch#27 SSCIN pl#2 [Y1] id sig#9 [TDC-] + 28, 2, 2, 3 !TDC ROC#3 Sl#23 Ch#28 SSCIN pl#2 [Y1] id sig#2 [TDC-] + 29, 2, 4, 3 !TDC ROC#3 Sl#23 Ch#29 SSCIN pl#2 [Y1] id sig#4 [TDC-] + 30, 2, 6, 3 !TDC ROC#3 Sl#23 Ch#30 SSCIN pl#2 [Y1] id sig#6 [TDC-] + 31, 2, 8, 3 !TDC ROC#3 Sl#23 Ch#31 SSCIN pl#2 [Y1] id sig#8 [TDC-] + 32, 4, 3, 2 !TDC ROC#3 Sl#23 Ch#32 SSCIN pl#4 [Y2] id sig#3 [TDC+] + 33, 4, 5, 2 !TDC ROC#3 Sl#23 Ch#33 SSCIN pl#4 [Y2] id sig#5 [TDC+] + 34, 4, 7, 2 !TDC ROC#3 Sl#23 Ch#34 SSCIN pl#4 [Y2] id sig#7 [TDC+] + 35, 4, 9, 2 !TDC ROC#3 Sl#23 Ch#35 SSCIN pl#4 [Y2] id sig#9 [TDC+] + 36, 4, 2, 2 !TDC ROC#3 Sl#23 Ch#36 SSCIN pl#4 [Y2] id sig#2 [TDC+] + 37, 4, 4, 2 !TDC ROC#3 Sl#23 Ch#37 SSCIN pl#4 [Y2] id sig#4 [TDC+] + 38, 4, 6, 2 !TDC ROC#3 Sl#23 Ch#38 SSCIN pl#4 [Y2] id sig#6 [TDC+] + 39, 4, 8, 2 !TDC ROC#3 Sl#23 Ch#39 SSCIN pl#4 [Y2] id sig#8 [TDC+] + 40, 4, 3, 3 !TDC ROC#3 Sl#23 Ch#40 SSCIN pl#4 [Y2] id sig#3 [TDC-] + 41, 4, 5, 3 !TDC ROC#3 Sl#23 Ch#41 SSCIN pl#4 [Y2] id sig#5 [TDC-] + 42, 4, 7, 3 !TDC ROC#3 Sl#23 Ch#42 SSCIN pl#4 [Y2] id sig#7 [TDC-] + 43, 4, 9, 3 !TDC ROC#3 Sl#23 Ch#43 SSCIN pl#4 [Y2] id sig#9 [TDC-] + 44, 4, 2, 3 !TDC ROC#3 Sl#23 Ch#44 SSCIN pl#4 [Y2] id sig#2 [TDC-] + 45, 4, 4, 3 !TDC ROC#3 Sl#23 Ch#45 SSCIN pl#4 [Y2] id sig#4 [TDC-] + 46, 4, 6, 3 !TDC ROC#3 Sl#23 Ch#46 SSCIN pl#4 [Y2] id sig#6 [TDC-] + 47, 4, 8, 3 !TDC ROC#3 Sl#23 Ch#47 SSCIN pl#4 [Y2] id sig#8 [TDC-] + 48, 1, 1, 2 !TDC ROC#3 Sl#23 Ch#48 SSCIN pl#1 [X1] id sig#1 [TDC+] + 49, 1, 1, 3 !TDC ROC#3 Sl#23 Ch#49 SSCIN pl#1 [X1] id sig#1 [TDC-] + 50, 2, 1, 2 !TDC ROC#3 Sl#23 Ch#50 SSCIN pl#2 [Y1] id sig#1 [TDC+] + 51, 2, 1, 3 !TDC ROC#3 Sl#23 Ch#51 SSCIN pl#2 [Y1] id sig#1 [TDC-] + 52, 4, 1, 2 !TDC ROC#3 Sl#23 Ch#52 SSCIN pl#4 [Y2] id sig#1 [TDC+] + 53, 4, 1, 3 !TDC ROC#3 Sl#23 Ch#53 SSCIN pl#4 [Y2] id sig#1 [TDC-] +! 54 !TDC ROC#3 Sl#23 Ch#54 unused +! 55 !TDC ROC#3 Sl#23 Ch#55 unused +! 56 !TDC ROC#3 Sl#23 Ch#56 unused +! 57 !TDC ROC#3 Sl#23 Ch#57 unused +! 58 !TDC ROC#3 Sl#23 Ch#58 unused +! 59 !TDC ROC#3 Sl#23 Ch#59 unused +! 60 !TDC ROC#3 Sl#23 Ch#60 unused +! 61 !TDC ROC#3 Sl#23 Ch#61 unused +! 62 !TDC ROC#3 Sl#23 Ch#62 unused +! 63 !TDC ROC#3 Sl#23 Ch#63 unused +! +!for run 8023, swapped HMS and SOS TDC so that TDC with first 8 +!channels dead would be here. Moved connectors 1 and 2 to position +!3 and 4. Moved 3 singles channels (in connector3) to connector 2. + + Slot= 20 ! TDC + 32, 3, 1, 2 !TDC ROC#3 Sl#21 Ch#0 SSCIN pl#3 [X2] id sig#1 [TDC+] + 33, 3, 3, 2 !TDC ROC#3 Sl#21 Ch#1 SSCIN pl#3 [X2] id sig#3 [TDC+] + 34, 3, 5, 2 !TDC ROC#3 Sl#21 Ch#2 SSCIN pl#3 [X2] id sig#5 [TDC+] + 35, 3, 7, 2 !TDC ROC#3 Sl#21 Ch#3 SSCIN pl#3 [X2] id sig#7 [TDC+] + 36, 3, 9, 2 !TDC ROC#3 Sl#21 Ch#4 SSCIN pl#3 [X2] id sig#9 [TDC+] + 37, 3, 11, 2 !TDC ROC#3 Sl#21 Ch#5 SSCIN pl#3 [X2] id sig#11 [TDC+] + 38, 3, 13, 2 !TDC ROC#3 Sl#21 Ch#6 SSCIN pl#3 [X2] id sig#13 [TDC+] + 39, 3, 15, 2 !TDC ROC#3 Sl#21 Ch#7 SSCIN pl#3 [X2] id sig#15 [TDC+] + 40, 3, 2, 2 !TDC ROC#3 Sl#21 Ch#8 SSCIN pl#3 [X2] id sig#2 [TDC+] + 41, 3, 4, 2 !TDC ROC#3 Sl#21 Ch#9 SSCIN pl#3 [X2] id sig#4 [TDC+] + 42, 3, 6, 2 !TDC ROC#3 Sl#21 Ch#10 SSCIN pl#3 [X2] id sig#6 [TDC+] + 43, 3, 8, 2 !TDC ROC#3 Sl#21 Ch#11 SSCIN pl#3 [X2] id sig#8 [TDC+] + 44, 3, 10, 2 !TDC ROC#3 Sl#21 Ch#12 SSCIN pl#3 [X2] id sig#10 [TDC+] + 45, 3, 12, 2 !TDC ROC#3 Sl#21 Ch#13 SSCIN pl#3 [X2] id sig#12 [TDC+] + 46, 3, 14, 2 !TDC ROC#3 Sl#21 Ch#14 SSCIN pl#3 [X2] id sig#14 [TDC+] + 47, 3, 16, 2 !TDC ROC#3 Sl#21 Ch#15 SSCIN pl#3 [X2] id sig#16 [TDC+] + 48, 3, 1, 3 !TDC ROC#3 Sl#21 Ch#16 SSCIN pl#3 [X2] id sig#1 [TDC-] + 49, 3, 3, 3 !TDC ROC#3 Sl#21 Ch#17 SSCIN pl#3 [X2] id sig#3 [TDC-] + 50, 3, 5, 3 !TDC ROC#3 Sl#21 Ch#18 SSCIN pl#3 [X2] id sig#5 [TDC-] + 51, 3, 7, 3 !TDC ROC#3 Sl#21 Ch#19 SSCIN pl#3 [X2] id sig#7 [TDC-] + 52, 3, 9, 3 !TDC ROC#3 Sl#21 Ch#20 SSCIN pl#3 [X2] id sig#9 [TDC-] + 53, 3, 11, 3 !TDC ROC#3 Sl#21 Ch#21 SSCIN pl#3 [X2] id sig#11 [TDC-] + 54, 3, 13, 3 !TDC ROC#3 Sl#21 Ch#22 SSCIN pl#3 [X2] id sig#13 [TDC-] + 55, 3, 15, 3 !TDC ROC#3 Sl#21 Ch#23 SSCIN pl#3 [X2] id sig#15 [TDC-] + 56, 3, 2, 3 !TDC ROC#3 Sl#21 Ch#24 SSCIN pl#3 [X2] id sig#2 [TDC-] + 57, 3, 4, 3 !TDC ROC#3 Sl#21 Ch#25 SSCIN pl#3 [X2] id sig#4 [TDC-] + 58, 3, 6, 3 !TDC ROC#3 Sl#21 Ch#26 SSCIN pl#3 [X2] id sig#6 [TDC-] + 59, 3, 8, 3 !TDC ROC#3 Sl#21 Ch#27 SSCIN pl#3 [X2] id sig#8 [TDC-] + 60, 3, 10, 3 !TDC ROC#3 Sl#21 Ch#28 SSCIN pl#3 [X2] id sig#10 [TDC-] + 61, 3, 12, 3 !TDC ROC#3 Sl#21 Ch#29 SSCIN pl#3 [X2] id sig#12 [TDC-] + 62, 3, 14, 3 !TDC ROC#3 Sl#21 Ch#30 SSCIN pl#3 [X2] id sig#14 [TDC-] + 63, 3, 16, 3 !TDC ROC#3 Sl#21 Ch#31 SSCIN pl#3 [X2] id sig#16 [TDC-] +! + detector= 15 !SMISC +! + 18, 1, 65, 0 ! 0 !TDC ROC#3 Sl#20 Ch#32 RF TDC. +! + detector= 15 !SMISC +! +! TDC module LeCroy 1872a + Nsubadd= 64 + MASK= FFFx + BSUB= 16 + + Slot= 18 ! TDC +0, 1, 1, 0 ! 0 !TDC ROC#3 Sl#20 Ch#0 signal {S1X} +1, 1, 2, 0 ! 1 !TDC ROC#3 Sl#20 Ch#1 signal {S1Y} +2, 1, 3, 0 ! 2 !TDC ROC#3 Sl#20 Ch#2 signal {S2X} +3, 1, 4, 0 ! 3 !TDC ROC#3 Sl#20 Ch#3 signal {S2Y} +4, 1, 5, 0 ! 4 !TDC ROC#3 Sl#20 Ch#4 signal {S1} +5, 1, 6 ,0 ! 5 !TDC ROC#3 Sl#20 Ch#5 signal {S2} +6, 1, 7, 0 ! 6 !TDC ROC#3 Sl#20 Ch#6 unused {MuonL} +7, 1, 8, 0 ! 7 !TDC ROC#3 Sl#20 Ch#7 unused {MuonR} +8, 1, 9, 0 ! 8 !TDC ROC#3 Sl#20 Ch#8 signal {HMSPRE} +9, 1, 10, 0 ! 9 !TDC ROC#3 Sl#20 Ch#9 signal {SOSPRE} +10, 1, 11, 0 ! 10 !TDC ROC#3 Sl#20 Ch#10 signal {COINPRE} +11, 1, 12, 0 ! 11 !TDC ROC#3 Sl#20 Ch#11 signal {PEDPRE} +12, 1, 13, 0 ! 12 !TDC ROC#3 Sl#20 Ch#12 signal {HMSTRG} +13, 1, 14, 0 ! 13 !TDC ROC#3 Sl#20 Ch#13 signal {SOSTRG} +14, 1, 15, 0 ! 14 !TDC ROC#3 Sl#20 Ch#14 signal {COINTRG} +15, 1, 16, 0 ! 15 !TDC ROC#3 Sl#20 Ch#15 signal {PEDTRG} + + Slot= 18! TDC +16, 1, 17, 0 ! 16 !TDC ROC#3 Sl#18 Ch#16 signal {sS1} +17, 1, 18, 0 ! 17 !TDC ROC#3 Sl#18 Ch#17 signal {sPRE50} +18, 1, 19, 0 ! 18 !TDC ROC#3 Sl#18 Ch#18 signal {sS2X} +19, 1, 20, 0 ! 19 !TDC ROC#3 Sl#18 Ch#19 signal {sPRE150} +20, 1, 21, 0 ! 20 !TDC ROC#3 Sl#18 Ch#20 signal {sS1X} +21, 1, 22, 0 ! 21 !TDC ROC#3 Sl#18 Ch#21 signal {sS2Y} +22, 1, 23, 0 ! 22 !TDC ROC#3 Sl#18 Ch#22 signal {sPRE100} +23, 1, 24, 0 ! 23 !TDC ROC#3 Sl#18 Ch#23 signal {sS1Y} +24, 1, 25, 0 ! 24 !TDC ROC#3 Sl#18 Ch#24 signal {sS2} +25, 1, 26, 0 ! 25 !TDC ROC#3 Sl#18 Ch#25 signal {sPRE200} +26, 1, 27, 0 ! 26 !TDC ROC#3 Sl#18 Ch#26 signal {sSTOF} +27, 1, 28, 0 ! 27 !TDC ROC#3 Sl#18 Ch#27 signal {sSCIN} +28, 1, 29, 0 ! 28 !TDC ROC#3 Sl#18 Ch#28 signal {sELREAL} +29, 1, 30, 0 ! 29 !TDC ROC#3 Sl#18 Ch#29 signal {sPIPRE} +30, 1, 31, 0 ! 30 !TDC ROC#3 Sl#18 Ch#30 signal {sELCLEAN} +31, 1, 32, 0 ! 31 !TDC ROC#3 Sl#18 Ch#31 signal {sPRETRG} +32, 1, 33, 0 ! 32 !TDC ROC#3 Sl#18 Ch#32 signal {BCM1} +33, 1, 34, 0 ! 33 !TDC ROC#3 Sl#18 Ch#33 signal {BCM2} +34, 1, 35, 0 ! 34 !TDC ROC#3 Sl#18 Ch#34 signal {BCM3} +35, 1, 36, 0 ! 35 !TDC ROC#3 Sl#18 Ch#35 signal {UNSER} +36, 1, 37, 0 ! 36 !TDC ROC#3 Sl#18 Ch#36 signal {CLOCK} +37, 1, 38, 0 ! 37 !TDC ROC#3 Sl#18 Ch#37 signal {1 MHz * 36??} +38, 1, 39, 0 ! 38 !TDC ROC#3 Sl#18 Ch#38 signal {sPICLEAN} +39, 1, 40, 0 ! 39 !TDC ROC#3 Sl#18 Ch#39 signal {sELCLEAN} +40, 1, 41, 0 ! 40 !TDC ROC#3 Sl#18 Ch#40 signal {sPION} +41, 1, 42, 0 ! 41 !TDC ROC#3 Sl#18 Ch#41 signal {sCER} +42, 1, 43, 0 ! 42 !TDC ROC#3 Sl#18 Ch#42 signal {sELHI} +43, 1, 44, 0 ! 43 !TDC ROC#3 Sl#18 Ch#43 signal {sELLO} +44, 1, 45, 0 ! 44 !TDC ROC#3 Sl#18 Ch#44 signal {sPRHI} +45, 1, 46, 0 ! 45 !TDC ROC#3 Sl#18 Ch#45 signal {sPRLO} +46, 1, 47, 0 ! 46 !TDC ROC#3 Sl#18 Ch#46 signal {sSHLO} +47, 1, 48, 0 ! 47 !TDC ROC#3 Sl#18 Ch#47 signal {PEDS+TRIGS?} +! +! ADC module LeCroy 1881M + Nsubadd= 64 + MASK= 3FFFx + BSUB= 17 +! + detector= 12 !SSCIN + Slot= 9 ! ADC + 0, 1, 1, 0 !ADC ROC#3 Sl#9 Ch#0 SSCIN pl#1 [X1] id sig#1 [ADC+] + 1, 1, 3, 0 !ADC ROC#3 Sl#9 Ch#1 SSCIN pl#1 [X1] id sig#3 [ADC+] + 2, 1, 5, 0 !ADC ROC#3 Sl#9 Ch#2 SSCIN pl#1 [X1] id sig#5 [ADC+] + 3, 1, 7, 0 !ADC ROC#3 Sl#9 Ch#3 SSCIN pl#1 [X1] id sig#7 [ADC+] + 4, 1, 9, 0 !ADC ROC#3 Sl#9 Ch#4 SSCIN pl#1 [X1] id sig#9 [ADC+] +! 5 !ADC ROC#3 Sl#9 Ch#5 unused +! 6 !ADC ROC#3 Sl#9 Ch#6 unused +! 7 !ADC ROC#3 Sl#9 Ch#7 unused + 8, 1, 2, 0 !ADC ROC#3 Sl#9 Ch#8 SSCIN pl#1 [X1] id sig#2 [ADC+] + 9, 1, 4, 0 !ADC ROC#3 Sl#9 Ch#9 SSCIN pl#1 [X1] id sig#4 [ADC+] + 10, 1, 6, 0 !ADC ROC#3 Sl#9 Ch#10 SSCIN pl#1 [X1] id sig#6 [ADC+] + 11, 1, 8, 0 !ADC ROC#3 Sl#9 Ch#11 SSCIN pl#1 [X1] id sig#8 [ADC+] +! 12 !ADC ROC#3 Sl#9 Ch#12 unused +! 13 !ADC ROC#3 Sl#9 Ch#13 unused +! 14 !ADC ROC#3 Sl#9 Ch#14 unused +! 15 !ADC ROC#3 Sl#9 Ch#15 unused + 16, 1, 1, 1 !ADC ROC#3 Sl#9 Ch#16 SSCIN pl#1 [X1] id sig#1 [ADC-] + 17, 1, 3, 1 !ADC ROC#3 Sl#9 Ch#17 SSCIN pl#1 [X1] id sig#3 [ADC-] + 18, 1, 5, 1 !ADC ROC#3 Sl#9 Ch#18 SSCIN pl#1 [X1] id sig#5 [ADC-] + 19, 1, 7, 1 !ADC ROC#3 Sl#9 Ch#19 SSCIN pl#1 [X1] id sig#7 [ADC-] + 20, 1, 9, 1 !ADC ROC#3 Sl#9 Ch#20 SSCIN pl#1 [X1] id sig#9 [ADC-] +! 21 !ADC ROC#3 Sl#9 Ch#21 unused +! 22 !ADC ROC#3 Sl#9 Ch#22 unused +! 23 !ADC ROC#3 Sl#9 Ch#23 unused + 24, 1, 2, 1 !ADC ROC#3 Sl#9 Ch#24 SSCIN pl#1 [X1] id sig#2 [ADC-] + 25, 1, 4, 1 !ADC ROC#3 Sl#9 Ch#25 SSCIN pl#1 [X1] id sig#4 [ADC-] + 26, 1, 6, 1 !ADC ROC#3 Sl#9 Ch#26 SSCIN pl#1 [X1] id sig#6 [ADC-] + 27, 1, 8, 1 !ADC ROC#3 Sl#9 Ch#27 SSCIN pl#1 [X1] id sig#8 [ADC-] +! 28 !ADC ROC#3 Sl#9 Ch#28 unused +! 29 !ADC ROC#3 Sl#9 Ch#29 unused +! 30 !ADC ROC#3 Sl#9 Ch#30 unused +! 31 !ADC ROC#3 Sl#9 Ch#31 unused + 32, 2, 1, 0 !ADC ROC#3 Sl#9 Ch#32 SSCIN pl#2 [Y1] id sig#1 [ADC+] + 33, 2, 3, 0 !ADC ROC#3 Sl#9 Ch#33 SSCIN pl#2 [Y1] id sig#3 [ADC+] + 34, 2, 5, 0 !ADC ROC#3 Sl#9 Ch#34 SSCIN pl#2 [Y1] id sig#5 [ADC+] + 35, 2, 7, 0 !ADC ROC#3 Sl#9 Ch#35 SSCIN pl#2 [Y1] id sig#7 [ADC+] + 36, 2, 9, 0 !ADC ROC#3 Sl#9 Ch#36 SSCIN pl#2 [Y1] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#9 Ch#37 unused +! 38 !ADC ROC#3 Sl#9 Ch#38 unused +! 39 !ADC ROC#3 Sl#9 Ch#39 unused + 40, 2, 2, 0 !ADC ROC#3 Sl#9 Ch#40 SSCIN pl#2 [Y1] id sig#2 [ADC+] + 41, 2, 4, 0 !ADC ROC#3 Sl#9 Ch#41 SSCIN pl#2 [Y1] id sig#4 [ADC+] + 42, 2, 6, 0 !ADC ROC#3 Sl#9 Ch#42 SSCIN pl#2 [Y1] id sig#6 [ADC+] + 43, 2, 8, 0 !ADC ROC#3 Sl#9 Ch#43 SSCIN pl#2 [Y1] id sig#8 [ADC+] +! 44 !ADC ROC#3 Sl#9 Ch#44 unused +! 45 !ADC ROC#3 Sl#9 Ch#45 unused +! 46 !ADC ROC#3 Sl#9 Ch#46 unused +! 47 !ADC ROC#3 Sl#9 Ch#47 unused + 48, 2, 1, 1 !ADC ROC#3 Sl#9 Ch#48 SSCIN pl#2 [Y1] id sig#1 [ADC-] + 49, 2, 3, 1 !ADC ROC#3 Sl#9 Ch#49 SSCIN pl#2 [Y1] id sig#3 [ADC-] + 50, 2, 5, 1 !ADC ROC#3 Sl#9 Ch#50 SSCIN pl#2 [Y1] id sig#5 [ADC-] + 51, 2, 7, 1 !ADC ROC#3 Sl#9 Ch#51 SSCIN pl#2 [Y1] id sig#7 [ADC-] + 52, 2, 9, 1 !ADC ROC#3 Sl#9 Ch#52 SSCIN pl#2 [Y1] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#9 Ch#53 unused +! 54 !ADC ROC#3 Sl#9 Ch#54 unused +! 55 !ADC ROC#3 Sl#9 Ch#55 unused + 56, 2, 2, 1 !ADC ROC#3 Sl#9 Ch#56 SSCIN pl#2 [Y1] id sig#2 [ADC-] + 57, 2, 4, 1 !ADC ROC#3 Sl#9 Ch#57 SSCIN pl#2 [Y1] id sig#4 [ADC-] + 58, 2, 6, 1 !ADC ROC#3 Sl#9 Ch#58 SSCIN pl#2 [Y1] id sig#6 [ADC-] + 59, 2, 8, 1 !ADC ROC#3 Sl#9 Ch#59 SSCIN pl#2 [Y1] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#9 Ch#60 unused +! 61 !ADC ROC#3 Sl#9 Ch#61 unused +! 62 !ADC ROC#3 Sl#9 Ch#62 unused +! 63 !ADC ROC#3 Sl#9 Ch#63 unused +! + Slot= 7 ! ADC + 0, 3, 1, 0 !ADC ROC#3 Sl#7 Ch#0 SSCIN pl#3 [X2] id sig#1 [ADC+] + 1, 3, 3, 0 !ADC ROC#3 Sl#7 Ch#1 SSCIN pl#3 [X2] id sig#3 [ADC+] + 2, 3, 5, 0 !ADC ROC#3 Sl#7 Ch#2 SSCIN pl#3 [X2] id sig#5 [ADC+] + 3, 3, 7, 0 !ADC ROC#3 Sl#7 Ch#3 SSCIN pl#3 [X2] id sig#7 [ADC+] + 4, 3, 9, 0 !ADC ROC#3 Sl#7 Ch#4 SSCIN pl#3 [X2] id sig#9 [ADC+] + 5, 3, 11, 0 !ADC ROC#3 Sl#7 Ch#5 SSCIN pl#3 [X2] id sig#11 [ADC+] + 6, 3, 13, 0 !ADC ROC#3 Sl#7 Ch#6 SSCIN pl#3 [X2] id sig#13 [ADC+] + 7, 3, 15, 0 !ADC ROC#3 Sl#7 Ch#7 SSCIN pl#3 [X2] id sig#15 [ADC+] + 8, 3, 2, 0 !ADC ROC#3 Sl#7 Ch#8 SSCIN pl#3 [X2] id sig#2 [ADC+] + 9, 3, 4, 0 !ADC ROC#3 Sl#7 Ch#9 SSCIN pl#3 [X2] id sig#4 [ADC+] + 10, 3, 6, 0 !ADC ROC#3 Sl#7 Ch#10 SSCIN pl#3 [X2] id sig#6 [ADC+] + 11, 3, 8, 0 !ADC ROC#3 Sl#7 Ch#11 SSCIN pl#3 [X2] id sig#8 [ADC+] + 12, 3, 10, 0 !ADC ROC#3 Sl#7 Ch#12 SSCIN pl#3 [X2] id sig#10 [ADC+] + 13, 3, 12, 0 !ADC ROC#3 Sl#7 Ch#13 SSCIN pl#3 [X2] id sig#12 [ADC+] + 14, 3, 14, 0 !ADC ROC#3 Sl#7 Ch#14 SSCIN pl#3 [X2] id sig#14 [ADC+] + 15, 3, 16, 0 !ADC ROC#3 Sl#7 Ch#15 SSCIN pl#3 [X2] id sig#16 [ADC+] + 16, 3, 1, 1 !ADC ROC#3 Sl#7 Ch#16 SSCIN pl#3 [X2] id sig#1 [ADC-] + 17, 3, 3, 1 !ADC ROC#3 Sl#7 Ch#17 SSCIN pl#3 [X2] id sig#3 [ADC-] + 18, 3, 5, 1 !ADC ROC#3 Sl#7 Ch#18 SSCIN pl#3 [X2] id sig#5 [ADC-] + 19, 3, 7, 1 !ADC ROC#3 Sl#7 Ch#19 SSCIN pl#3 [X2] id sig#7 [ADC-] + 20, 3, 9, 1 !ADC ROC#3 Sl#7 Ch#20 SSCIN pl#3 [X2] id sig#9 [ADC-] + 21, 3, 11, 1 !ADC ROC#3 Sl#7 Ch#21 SSCIN pl#3 [X2] id sig#11 [ADC-] + 22, 3, 13, 1 !ADC ROC#3 Sl#7 Ch#22 SSCIN pl#3 [X2] id sig#13 [ADC-] + 23, 3, 15, 1 !ADC ROC#3 Sl#7 Ch#23 SSCIN pl#3 [X2] id sig#15 [ADC-] + 24, 3, 2, 1 !ADC ROC#3 Sl#7 Ch#24 SSCIN pl#3 [X2] id sig#2 [ADC-] + 25, 3, 4, 1 !ADC ROC#3 Sl#7 Ch#25 SSCIN pl#3 [X2] id sig#4 [ADC-] + 26, 3, 6, 1 !ADC ROC#3 Sl#7 Ch#26 SSCIN pl#3 [X2] id sig#6 [ADC-] + 27, 3, 8, 1 !ADC ROC#3 Sl#7 Ch#27 SSCIN pl#3 [X2] id sig#8 [ADC-] + 28, 3, 10, 1 !ADC ROC#3 Sl#7 Ch#28 SSCIN pl#3 [X2] id sig#10 [ADC-] + 29, 3, 12, 1 !ADC ROC#3 Sl#7 Ch#29 SSCIN pl#3 [X2] id sig#12 [ADC-] + 30, 3, 14, 1 !ADC ROC#3 Sl#7 Ch#30 SSCIN pl#3 [X2] id sig#14 [ADC-] + 31, 3, 16, 1 !ADC ROC#3 Sl#7 Ch#31 SSCIN pl#3 [X2] id sig#16 [ADC-] + 32, 4, 1, 0 !ADC ROC#3 Sl#7 Ch#32 SSCIN pl#4 [Y2] id sig#1 [ADC+] + 33, 4, 3, 0 !ADC ROC#3 Sl#7 Ch#33 SSCIN pl#4 [Y2] id sig#3 [ADC+] + 34, 4, 5, 0 !ADC ROC#3 Sl#7 Ch#34 SSCIN pl#4 [Y2] id sig#5 [ADC+] + 35, 4, 7, 0 !ADC ROC#3 Sl#7 Ch#35 SSCIN pl#4 [Y2] id sig#7 [ADC+] + 36, 4, 9, 0 !ADC ROC#3 Sl#7 Ch#36 SSCIN pl#4 [Y2] id sig#9 [ADC+] +! 37 !ADC ROC#3 Sl#7 Ch#37 unused +! 38 !ADC ROC#3 Sl#7 Ch#38 unused +! 39 !ADC ROC#3 Sl#7 Ch#39 unused + 40, 4, 2, 0 !ADC ROC#3 Sl#7 Ch#40 SSCIN pl#4 [Y2] id sig#2 [ADC+] + 41, 4, 4, 0 !ADC ROC#3 Sl#7 Ch#41 SSCIN pl#4 [Y2] id sig#4 [ADC+] + 42, 4, 6, 0 !ADC ROC#3 Sl#7 Ch#42 SSCIN pl#4 [Y2] id sig#6 [ADC+] +! 43, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] DEAD CH! +! 44 !ADC ROC#3 Sl#7 Ch#44 unused +! 45 !ADC ROC#3 Sl#7 Ch#45 unused +! 46 !ADC ROC#3 Sl#7 Ch#46 unused + 47, 4, 8, 0 !ADC ROC#3 Sl#7 Ch#43 SSCIN pl#4 [Y2] id sig#8 [ADC+] + 48, 4, 1, 1 !ADC ROC#3 Sl#7 Ch#48 SSCIN pl#4 [Y2] id sig#1 [ADC-] + 49, 4, 3, 1 !ADC ROC#3 Sl#7 Ch#49 SSCIN pl#4 [Y2] id sig#3 [ADC-] + 50, 4, 5, 1 !ADC ROC#3 Sl#7 Ch#50 SSCIN pl#4 [Y2] id sig#5 [ADC-] + 51, 4, 7, 1 !ADC ROC#3 Sl#7 Ch#51 SSCIN pl#4 [Y2] id sig#7 [ADC-] + 52, 4, 9, 1 !ADC ROC#3 Sl#7 Ch#52 SSCIN pl#4 [Y2] id sig#9 [ADC-] +! 53 !ADC ROC#3 Sl#7 Ch#53 unused +! 54 !ADC ROC#3 Sl#7 Ch#54 unused +! 55 !ADC ROC#3 Sl#7 Ch#55 unused + 56, 4, 2, 1 !ADC ROC#3 Sl#7 Ch#56 SSCIN pl#4 [Y2] id sig#2 [ADC-] + 57, 4, 4, 1 !ADC ROC#3 Sl#7 Ch#57 SSCIN pl#4 [Y2] id sig#4 [ADC-] + 58, 4, 6, 1 !ADC ROC#3 Sl#7 Ch#58 SSCIN pl#4 [Y2] id sig#6 [ADC-] + 59, 4, 8, 1 !ADC ROC#3 Sl#7 Ch#59 SSCIN pl#4 [Y2] id sig#8 [ADC-] +! 60 !ADC ROC#3 Sl#7 Ch#60 unused +! 61 !ADC ROC#3 Sl#7 Ch#61 unused +! 62 !ADC ROC#3 Sl#7 Ch#62 unused +! 63 !ADC ROC#3 Sl#7 Ch#63 unused +! + detector= 14 !SCAL +! + Slot= 1 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#1 Ch#0 SCAL column#1 row#1 + 1, 1, 2 !ADC ROC#3 Sl#1 Ch#1 SCAL column#1 row#2 + 2, 1, 3 !ADC ROC#3 Sl#1 Ch#2 SCAL column#1 row#3 + 3, 1, 4 !ADC ROC#3 Sl#1 Ch#3 SCAL column#1 row#4 + 4, 1, 5 !ADC ROC#3 Sl#1 Ch#4 SCAL column#1 row#5 + 5, 1, 6 !ADC ROC#3 Sl#1 Ch#5 SCAL column#1 row#6 + 6, 1, 7 !ADC ROC#3 Sl#1 Ch#6 SCAL column#1 row#7 + 7, 1, 8 !ADC ROC#3 Sl#1 Ch#7 SCAL column#1 row#8 + 8, 1, 9 !ADC ROC#3 Sl#1 Ch#8 SCAL column#1 row#9 + 9, 1, 10 !ADC ROC#3 Sl#1 Ch#9 SCAL column#1 row#10 + 10, 1, 11 !ADC ROC#3 Sl#1 Ch#10 SCAL column#1 row#11 +! 11 !ADC ROC#3 Sl#1 Ch#11 unused +! 12 !ADC ROC#3 Sl#1 Ch#12 unused +! 13 !ADC ROC#3 Sl#1 Ch#13 unused +! 14 !ADC ROC#3 Sl#1 Ch#14 unused +! 15 !ADC ROC#3 Sl#1 Ch#15 unused + 16, 2, 1 !ADC ROC#3 Sl#1 Ch#16 SCAL column#2 row#1 + 17, 2, 2 !ADC ROC#3 Sl#1 Ch#17 SCAL column#2 row#2 + 18, 2, 3 !ADC ROC#3 Sl#1 Ch#18 SCAL column#2 row#3 + 19, 2, 4 !ADC ROC#3 Sl#1 Ch#19 SCAL column#2 row#4 + 20, 2, 5 !ADC ROC#3 Sl#1 Ch#20 SCAL column#2 row#5 + 21, 2, 6 !ADC ROC#3 Sl#1 Ch#21 SCAL column#2 row#6 + 22, 2, 7 !ADC ROC#3 Sl#1 Ch#22 SCAL column#2 row#7 + 23, 2, 8 !ADC ROC#3 Sl#1 Ch#23 SCAL column#2 row#8 + 24, 2, 9 !ADC ROC#3 Sl#1 Ch#24 SCAL column#2 row#9 + 25, 2, 10 !ADC ROC#3 Sl#1 Ch#25 SCAL column#2 row#10 + 26, 2, 11 !ADC ROC#3 Sl#1 Ch#26 SCAL column#2 row#11 +! 27 !ADC ROC#3 Sl#1 Ch#27 unused +! 28 !ADC ROC#3 Sl#1 Ch#28 unused +! 29 !ADC ROC#3 Sl#1 Ch#29 unused +! 30 !ADC ROC#3 Sl#1 Ch#30 unused +! 31 !ADC ROC#3 Sl#1 Ch#31 unused +! 32, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 44, 3, 1 !ADC ROC#3 Sl#1 Ch#32 SCAL column#3 row#1 + 33, 3, 2 !ADC ROC#3 Sl#1 Ch#33 SCAL column#3 row#2 + 34, 3, 3 !ADC ROC#3 Sl#1 Ch#34 SCAL column#3 row#3 + 35, 3, 4 !ADC ROC#3 Sl#1 Ch#35 SCAL column#3 row#4 + 36, 3, 5 !ADC ROC#3 Sl#1 Ch#36 SCAL column#3 row#5 + 37, 3, 6 !ADC ROC#3 Sl#1 Ch#37 SCAL column#3 row#6 + 38, 3, 7 !ADC ROC#3 Sl#1 Ch#38 SCAL column#3 row#7 + 39, 3, 8 !ADC ROC#3 Sl#1 Ch#39 SCAL column#3 row#8 + 40, 3, 9 !ADC ROC#3 Sl#1 Ch#40 SCAL column#3 row#9 + 41, 3, 10 !ADC ROC#3 Sl#1 Ch#41 SCAL column#3 row#10 + 42, 3, 11 !ADC ROC#3 Sl#1 Ch#42 SCAL column#3 row#11 +! 43 !ADC ROC#3 Sl#1 Ch#43 unused +! 44 !ADC ROC#3 Sl#1 Ch#44 unused +! 45 !ADC ROC#3 Sl#1 Ch#45 unused +! 46 !ADC ROC#3 Sl#1 Ch#46 unused +! 47 !ADC ROC#3 Sl#1 Ch#47 unused + +!sD1 was being lost in the ADC delay lines. Move to channel #15. +! 48, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! + 49, 4, 2 !ADC ROC#3 Sl#1 Ch#49 SCAL column#4 row#2 + 50, 4, 3 !ADC ROC#3 Sl#1 Ch#50 SCAL column#4 row#3 + 51, 4, 4 !ADC ROC#3 Sl#1 Ch#51 SCAL column#4 row#4 + 52, 4, 5 !ADC ROC#3 Sl#1 Ch#52 SCAL column#4 row#5 + 53, 4, 6 !ADC ROC#3 Sl#1 Ch#53 SCAL column#4 row#6 + 54, 4, 7 !ADC ROC#3 Sl#1 Ch#54 SCAL column#4 row#7 + 55, 4, 8 !ADC ROC#3 Sl#1 Ch#55 SCAL column#4 row#8 + 56, 4, 9 !ADC ROC#3 Sl#1 Ch#56 SCAL column#4 row#9 + 57, 4, 10 !ADC ROC#3 Sl#1 Ch#57 SCAL column#4 row#10 + 58, 4, 11 !ADC ROC#3 Sl#1 Ch#58 SCAL column#4 row#11 +! 59 !ADC ROC#3 Sl#1 Ch#59 unused +! 60 !ADC ROC#3 Sl#1 Ch#60 unused +! 61 !ADC ROC#3 Sl#1 Ch#61 unused +! 62 !ADC ROC#3 Sl#1 Ch#62 unused + 62, 4, 1 !ADC ROC#3 Sl#1 Ch#48 SCAL column#4 row#1 +! 63 !ADC ROC#3 Sl#1 Ch#63 unused + detector= 15 !smisc - photodiode for laser gain calibration system. + 63, 2, 1, 0 !2,1,0 stands for: 2=adc,channel#1,0=dummy(pos vs. neg). +! +detector= 14 !SCAL +Slot= 5 ! ADC Second set of tubes on first two layers +! 0, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 12, 1, 1, 1 !ADC ROC#3 Sl#5 Ch#0 SCAL col#1 row#1 (0 An-01) + 1, 1, 2, 1 !ADC ROC#3 Sl#5 Ch#1 SCAL col#1 row#2 (1 An-02) + 2, 1, 3, 1 !ADC ROC#3 Sl#5 Ch#2 SCAL col#1 row#3 (2 An-03) + 3, 1, 4, 1 !ADC ROC#3 Sl#5 Ch#3 SCAL col#1 row#4 (3 An-04) + 4, 1, 5, 1 !ADC ROC#3 Sl#5 Ch#4 SCAL col#1 row#5 (4 An-05) + 5, 1, 6, 1 !ADC ROC#3 Sl#5 Ch#5 SCAL col#1 row#6 (5 An-06) + 6, 1, 7, 1 !ADC ROC#3 Sl#5 Ch#6 SCAL col#1 row#7 (6 An-07) + 7, 1, 8, 1 !ADC ROC#3 Sl#5 Ch#7 SCAL col#1 row#8 (7 An-08) + 8, 1, 9, 1 !ADC ROC#3 Sl#5 Ch#8 SCAL col#1 row#9 (8 An-09) + 9, 1, 10, 1 !ADC ROC#3 Sl#5 Ch#9 SCAL col#1 row#10 (9 An-10) + 10, 1, 11, 1 !ADC ROC#3 Sl#5 Ch#10 SCAL col#1 row#11 (10 An-11) +! 11 !ADC ROC#3 Sl#5 Ch#11 unused +! 12 !ADC ROC#3 Sl#5 Ch#12 unused +! 13 !ADC ROC#3 Sl#5 Ch#13 unused +! 14 !ADC ROC#3 Sl#5 Ch#14 unused +! 15 !ADC ROC#3 Sl#5 Ch#15 unused + 16, 2, 1, 1 !ADC ROC#3 Sl#5 Ch#16 SCAL col#2 row#1 (16 Bn-01) + 17, 2, 2, 1 !ADC ROC#3 Sl#5 Ch#17 SCAL col#2 row#2 (17 Bn-02) + 18, 2, 3, 1 !ADC ROC#3 Sl#5 Ch#18 SCAL col#2 row#3 (18 Bn-03) + 19, 2, 4, 1 !ADC ROC#3 Sl#5 Ch#19 SCAL col#2 row#4 (19 Bn-04) + 20, 2, 5, 1 !ADC ROC#3 Sl#5 Ch#20 SCAL col#2 row#5 (20 Bn-05) + 21, 2, 6, 1 !ADC ROC#3 Sl#5 Ch#21 SCAL col#2 row#6 (21 Bn-06) + 22, 2, 7, 1 !ADC ROC#3 Sl#5 Ch#22 SCAL col#2 row#7 (22 Bn-07) + 23, 2, 8, 1 !ADC ROC#3 Sl#5 Ch#23 SCAL col#2 row#8 (23 Bn-08) + 24, 2, 9, 1 !ADC ROC#3 Sl#5 Ch#24 SCAL col#2 row#9 (24 Bn-09) + 25, 2, 10, 1 !ADC ROC#3 Sl#5 Ch#25 SCAL col#2 row#10 (25 Bn-10) + 26, 2, 11, 1 !ADC ROC#3 Sl#5 Ch#26 SCAL col#2 row#11 (26 Bn-11) +! 27 !ADC ROC#3 Sl#5 Ch#27 unused +! 28 !ADC ROC#3 Sl#5 Ch#28 unused +! 29 !ADC ROC#3 Sl#5 Ch#29 unused +! 30 !ADC ROC#3 Sl#5 Ch#30 unused +! 31 !ADC ROC#3 Sl#5 Ch#31 unused +! + detector= 13 !SCER +! + Slot= 3 ! ADC + 0, 1, 1 !ADC ROC#3 Sl#3 Ch#0 SCER tube#1 + 1, 1, 2 !ADC ROC#3 Sl#3 Ch#1 SCER tube#2 + 2, 1, 3 !ADC ROC#3 Sl#3 Ch#2 SCER tube#3 + 3, 1, 4 !ADC ROC#3 Sl#3 Ch#3 SCER tube#4 +detector=15 ! SMISC helicity stuff mkj 5/15/03 +! ! muon det added 6/17/03 + 4, 2, 5,0 ! 4 !ADC ROC#3 Sl#3 Ch#4 unused + 5, 2, 6,0 ! 5 !ADC ROC#3 Sl#3 Ch#5 unused +! 6 !ADC ROC#3 Sl#3 Ch#6 unused +! 7 !ADC ROC#3 Sl#3 Ch#7 unused +! 8 !ADC ROC#3 Sl#3 Ch#8 unused +8,2,2,0 ! mps clock +! 9 !ADC ROC#3 Sl#3 Ch#9 unused +! 10 !ADC ROC#3 Sl#3 Ch#10 unused +! 11 !ADC ROC#3 Sl#3 Ch#11 unused +! 12 !ADC ROC#3 Sl#3 Ch#12 unused +12,2,3,0 ! H+ signal +15,2,4,0 ! H- signal +! 13 !ADC ROC#3 Sl#3 Ch#13 unused +! 14 !ADC ROC#3 Sl#3 Ch#14 unused +! 15 !ADC ROC#3 Sl#3 Ch#15 unused + ! 16 !ADC ROC#3 Sl#3 Ch#16 signal {A01} + ! 17 !ADC ROC#3 Sl#3 Ch#17 signal {A02} + ! 18 !ADC ROC#3 Sl#3 Ch#18 signal {A03} + ! 19 !ADC ROC#3 Sl#3 Ch#19 signal {A04} + ! 20 !ADC ROC#3 Sl#3 Ch#20 signal {A05} + ! 21 !ADC ROC#3 Sl#3 Ch#21 signal {A06} + ! 22 !ADC ROC#3 Sl#3 Ch#22 signal {A07} + ! 23 !ADC ROC#3 Sl#3 Ch#23 signal {A08} + ! 24 !ADC ROC#3 Sl#3 Ch#24 signal {A09} + ! 25 !ADC ROC#3 Sl#3 Ch#25 signal {A10} + ! 26 !ADC ROC#3 Sl#3 Ch#26 signal {A11} + ! 27 !ADC ROC#3 Sl#3 Ch#27 signal {A12} + ! 28 !ADC ROC#3 Sl#3 Ch#28 signal {A13} + ! 29 !ADC ROC#3 Sl#3 Ch#29 signal {A14} + ! 30 !ADC ROC#3 Sl#3 Ch#30 signal {A15} + ! 31 !ADC ROC#3 Sl#3 Ch#31 signal {A16} +! +!........................................................ +! SAER took out from SOS detector hut (Hamlet, 21 Dec'02) +! +! detector= 16 !SAER +! +! 32 !ADC ROC#3 Sl#3 Ch#32 DEAD!!!! +! 33 !ADC ROC#3 Sl#3 Ch#33 unused spare +! 34, 1, 1, 0 !ADC ROC#3 Sl#3 Ch#34 signal pos 1 +! 35, 1, 2, 0 !ADC ROC#3 Sl#3 Ch#35 signal pos 2 +! 36, 1, 3, 0 !ADC ROC#3 Sl#3 Ch#36 signal pos 3 +! 37, 1, 4, 0 !ADC ROC#3 Sl#3 Ch#37 signal pos 4 +! 38, 1, 5, 0 !ADC ROC#3 Sl#3 Ch#38 signal pos 5 +! 39, 1, 6, 0 !ADC ROC#3 Sl#3 Ch#39 signal pos 6 +! 40, 1, 7, 0 !ADC ROC#3 Sl#3 Ch#40 signal pos 7 +! 41, 1, 1, 1 !ADC ROC#3 Sl#3 Ch#41 signal neg 1 +! 42, 1, 2, 1 !ADC ROC#3 Sl#3 Ch#42 signal neg 2 +! 43, 1, 3, 1 !ADC ROC#3 Sl#3 Ch#43 signal neg 3 +! 44, 1, 4, 1 !ADC ROC#3 Sl#3 Ch#44 signal neg 4 +! 45, 1, 5, 1 !ADC ROC#3 Sl#3 Ch#45 signal neg 5 +! 46, 1, 6, 1 !ADC ROC#3 Sl#3 Ch#46 signal neg 6 +! 47, 1, 7, 1 !ADC ROC#3 Sl#3 Ch#47 signal neg 7 +! 48, 1, 8, 0 !ADC ROC#3 Sl#3 Ch#48 amplified signal pos 1 +! 49, 1, 9, 0 !ADC ROC#3 Sl#3 Ch#49 amplified signal pos 2 +! 50, 1, 10, 0 !ADC ROC#3 Sl#3 Ch#50 amplified signal pos 3 +! 51, 1, 11, 0 !ADC ROC#3 Sl#3 Ch#51 amplified signal pos 4 +! 52, 1, 12, 0 !ADC ROC#3 Sl#3 Ch#52 amplified signal pos 5 +! 53, 1, 13, 0 !ADC ROC#3 Sl#3 Ch#53 amplified signal pos 6 +! 54, 1, 14, 0 !ADC ROC#3 Sl#3 Ch#54 amplified signal pos 7 +! 55, 1, 15, 0 !ADC ROC#3 Sl#3 Ch#62 amplified signal sum 1-7 +! 56, 1, 8, 1 !ADC ROC#3 Sl#3 Ch#55 amplified signal neg 1 +! 57, 1, 9, 1 !ADC ROC#3 Sl#3 Ch#56 amplified signal neg 2 +! 58, 1, 10, 1 !ADC ROC#3 Sl#3 Ch#57 amplified signal neg 3 +! 59, 1, 11, 1 !ADC ROC#3 Sl#3 Ch#58 amplified signal neg 4 +! 60, 1, 12, 1 !ADC ROC#3 Sl#3 Ch#59 amplified signal neg 5 +! 61, 1, 13, 1 !ADC ROC#3 Sl#3 Ch#60 amplified signal neg 6 +! 62, 1, 14, 1 !ADC ROC#3 Sl#3 Ch#61 amplified signal neg 7 +! 63, 1, 15, 1 !ADC ROC#3 Sl#3 Ch#63 amplified signal sum 8-14 +! + + + + + + + + diff --git a/examples/PARAM/52949/gbeam.param b/examples/PARAM/52949/gbeam.param new file mode 100644 index 0000000000000000000000000000000000000000..fb15048b10b2aaa5944c300671dd6b0a24bbeb55 --- /dev/null +++ b/examples/PARAM/52949/gbeam.param @@ -0,0 +1,96 @@ +; BPM calibration constants +; ========================= + guse_bpm_in_recon = 0 ; if 1 use bpm information for reconstruction + guse_bpmc = 1 ; if 1 use all 3 bpm info, if 0 use bpm A and B + gbpm_sample = 500 ; number of events, which are used for average + ; beam position ( <5000 ). Optimal value dep. on rate + +; the names are based on Paul Gueye's 'Status of the actual Beam Position +; Monitors in the Hall C Beamline', December 1, 1995. +; (mkj) apr-4-03 kappa,alpha and off for 3rd bpm are guesses, +; need to find right values. +; +; gbpm_kappa = 1.85 ,1.85,1.85 ; sensitivity in cm +gbpm_kappa = 2.00 ,1.95,1.85 ; modified mkj 4/9/03 + gbpm_alpha_x = 1.8192,0.7330 ,0.7 ; calibration gain: we may get them from the + gbpm_alpha_y = 1.0063,0.8935 ,0.7 ; EPICS events, right now that's according to Paul's note + +; the following offsets get added to the calculated positions +; gbpm_x_off = -0.011,-0.004,0. ; in cm: survey according to Paul's note +; gbpm_y_off = +0.052,+0.056,0. +; From Dahlberg survey DT_C853 Apr 7, 2003 +gbpm_x_off = 0.017+.412,0.061-.353,0.037 +gbpm_y_off = 0.037+.381,-0.04-.211,0.028 + +; average beam positions: only used if 'guse_bpm_in_recon=0' +; gbeam_xoff = +0.18 + gbeam_xoff = +0.00 + gbeam_xpoff = +0.00 + gbeam_yoff = +0.00 + gbeam_ypoff = +0.00 + +; spectrometers would like to see this positions (from optics studies) +; we treat SOS and HMS the same, however, we may change this if necessary +; gspec_xoff = +0.18 + gspec_xoff = +0.00 + gspec_xpoff = +0.00 + gspec_yoff = +0.00 + gspec_ypoff = +0.00 + +; Pedestals for BPM ADCs: from cosmic run #10933, 10/3/96, book XI-137 + gbpm_xp_ped = 431.9,331.0,0. ; these pedestals have to be determined + gbpm_xm_ped = 514.7,350.6,0. ; from runs with no beam in the cavities, + gbpm_yp_ped = 406.9,358.8,0. ; e.g. cosmic runs. + gbpm_ym_ped = 499.7,292.7,0. ; + +; positions of BPMs relative to target (from Paul's note) + gbpm_zpos = 345.5,166.3,0. ; cm + + +; Fast Raster calibration constants +; ================================= + +; Various fast raster quantities: gUse* are flags + + gusefr = 1 ; if 1 correct for FRY in reconstruction + + guse_frdefault = 1 ; if 1 do no phase correction (default) + ;if 0 apply phase correction +; gfr_cal_mom = 3.245 ; = beam momnetum during calibration run +; gfrx_adcpercm = 11328. ; = FR channels per cm deflection on target +; gfry_adcpercm = 10708. ; from run 9981, August 25, 1996, book X-22 + + gfr_cal_mom = 2.038 ; = beam momnetum during calibration run + gfrx_adcpercm = 4364.7 ; = FR channels per cm deflection on target + gfry_adcpercm = 5471.9 ; from harp scan (H00A), June 19, 2004 + + + gfrx_dphase = 0.0 ; phase shift (never measured for x so far) + gFrx_synccut = 0. ; should be zero if applied on centered distr. + gfrx_adcmax = 1000 ; ADC amplitude in channels. + gfrx_maxsize = 0.1 ; fast raster amplitude in centimeter. + + gfry_dphase = 5.8 ; phase shift + gFry_synccut = 0. ; should be zero if applied on centered distr. + gfry_adcmax = 1000 ; ADC amplitude in channels. + gfry_maxsize = 0.1 ; fast raster amplitude in centimeter. + +; The latest FR phase analysis from spring '96 showed, that there is no +; measurable phase shift. During early running (E91-13, E89-12) the FRY-phase +; was determined to be 5.8 degree. + +; positions of FR magnets relative to target + gfrx_dist = 2111 ; cm + gfry_dist = 2071 ; cm + + + + + + + + + + + + diff --git a/examples/PARAM/52949/gdebug.param b/examples/PARAM/52949/gdebug.param new file mode 100644 index 0000000000000000000000000000000000000000..7ac0e0193b088c6ff2b8c5fd039ebfa81736a445 --- /dev/null +++ b/examples/PARAM/52949/gdebug.param @@ -0,0 +1,3 @@ + gmisc_min_peds = 500 + + gelossdebug = 0 ;eloss debug (0=off,1=on) diff --git a/examples/PARAM/52949/general.param b/examples/PARAM/52949/general.param new file mode 100644 index 0000000000000000000000000000000000000000..dbede2c5760c343c5382f0ff79e5cf7cf96769c4 --- /dev/null +++ b/examples/PARAM/52949/general.param @@ -0,0 +1,40 @@ +#real raddeg +raddeg=3.14159265/180 +part_mass=0.000511 + +; hms/sosflags.param include spectrometer offsets and options. +#include "PARAM/52949/hcana.param" +#include "PARAM/52949/genflags.param" +#include "PARAM/52949/hmsflags.param" +#include "PARAM/52949/sosflags.param" + +#include "PARAM/52949/gdebug.param" +#include "PARAM/52949/hdebug.param" +#include "PARAM/52949/sdebug.param" +#include "PARAM/52949/htracking.param" +#include "PARAM/52949/stracking.param" + +#include "PARAM/52949/gscalers.param" +#include "PARAM/52949/gbeam.param" +#include "PARAM/52949/gtarget.param" +#include "PARAM/52949/hdc_offsets.param" +#include "PARAM/52949/hdc.pos" +#include "PARAM/52949/hhodo.pos" +#include "PARAM/52949/hcal.pos" +#include "PARAM/52949/sdc_offsets.param" +#include "PARAM/52949/sdc.pos" +#include "PARAM/52949/shodo.pos" +#include "PARAM/52949/scal.pos" + +#include "PARAM/52949/hdeadwires.param" +#include "PARAM/52949/hdc.param.vt.52927" +#include "PARAM/52949/hms.driftmap.vt.52949" +#include "PARAM/52949/hhodo.param.vt" +#include "PARAM/52949/hcal.param.vt.52949" +#include "PARAM/52949/hcer.param.vt" +#include "PARAM/52949/haero.param" +#include "PARAM/52949/sdc.param.vt.53000" +#include "PARAM/52949/sos.driftmap.vt.52930" +#include "PARAM/52949/shodo.param.vt" +#include "PARAM/52949/scal.param.vt.52843" +#include "PARAM/52949/scer.param.vt" diff --git a/examples/PARAM/52949/genflags.param b/examples/PARAM/52949/genflags.param new file mode 100644 index 0000000000000000000000000000000000000000..c9853a82e8f04d4e5a250cf3a6ac2fcd9fe26154 --- /dev/null +++ b/examples/PARAM/52949/genflags.param @@ -0,0 +1,12 @@ +;default settings for general option flags. + gen_run_starting_event = 1 + gen_run_stopping_event = 0 + gen_run_hist_dump_interval = 40000 + +; hack_enable run hack_anal if .ne. 0 + hack_enable = 0 + +; gen_eloss_enable (0=disabled) total_eloss.f + gen_eloss_enable = 1 + + diff --git a/examples/PARAM/52949/gscalers.param b/examples/PARAM/52949/gscalers.param new file mode 100644 index 0000000000000000000000000000000000000000..af6a9bb38d852fd7b571ab8c9beb100254c3987f --- /dev/null +++ b/examples/PARAM/52949/gscalers.param @@ -0,0 +1,30 @@ +; These BCM's (1 and 2) numbers are from Jan 05 experiments (VT) + + +;point to scaler indices for BCM's + gbcm1_index = 321 + gbcm2_index = 322 + gbcm3_index = 323 + gunser_index = 324 + + +gbcm1_gain = 0.000328449 ; microA/Hz (New Value) +gbcm2_gain = 0.000381451 ; microA/Hz (New Value) +gbcm3_gain = 0.00043343 ; microA/Hz (Old, Value) + +gbcm1_offset = 250403. ; Hz (New Value) +gbcm2_offset = 250123. ; Hz (New Value) +gbcm3_offset = 245437. ; Hz (Old, Value) + +gunser_offset = 514529. ; Hz (Old, Value) +gunser_gain = 0.00025001 ; microA/Hz (New Value) + + +;define the threshold current at which beam is "on". (in microamps) +g_beam_on_thresh_cur = 1.5, 1.5 + bcm_for_threshold_cut = 1 + +;point to hardware clock (1MHz scaler, scaler channel 325) + gclock_index = 325 + gclock_rate = 1.e+6 + diff --git a/examples/PARAM/52949/gtarget.param b/examples/PARAM/52949/gtarget.param new file mode 100644 index 0000000000000000000000000000000000000000..847e801cad1bcb27c39097d2757c813870982422 --- /dev/null +++ b/examples/PARAM/52949/gtarget.param @@ -0,0 +1,170 @@ +; MEC - updated for E02-109/E04-001 1/8/05 +; +; This is the target parameter file. Numbers 1-10 are solid targets, +; 11-16 are cryotargets, and 17-20 are dummy/optics. +; +;The target order is: +; +; Au_1% C_2% Fe_1% +; C_1% C_5% C_6% +; Cu_6% Be_3% Au_6% +; --- +; H (4cm) --- +; --- --- +; D (4cm) --- +; Dummy (4cm) +; optics (8cm) +; optics (4 foil) +; NO target + + +; non-existant targets have A=Z=M=...=0 +; dummy targets have A=Z=M=...=0 +; empty/dummy cells have A=Z=M=...= AS ALUMINUM (MAY NEED TO CHANGE FOR DUMMY DATA!!!) +; +; +; 1=tuna can, 2=beer can, 21=solid + gtarg_type = 21. , 21. , 21. + 21. , 21. , 21. + 21. , 21. , 21. + 21. + 1. , 1. + 1. , 1. + 1. , 1. + 21. , 21. + 21. , 21. + + gtarg_z = 79.0 , 6.0 , 26.0 + 6.0 , 6.0 , 6.0 + 29.0 , 0.0 , 79.0 + 0.0 + 1.0 , 0.0 + 0.0 , 0.0 + 1.0 , 0.0 + 13.0 , 0.0 + 0.0 , 0.0 + + gtarg_a = 197.0 , 12.0 , 57.0 + 12.0 , 12.0 , 12.0 + 64.0 , 0.0 , 197.0 + 0.0 + 1.0 , 0.0 + 0.0 , 0.0 + 2.0 , 0.0 + 27.0 , 0.0 + 0.0 , 0.0 + + gtarg_mass = 196.9237 , 12.0107 , 56.85 + 12.0107 , 12.0107 , 12.0107 + 63.546 , 0.0 , 196.9237 + 0.0 + 1.00727647 , 0.0 + 0.0 , 0.0 + 2.01355322, 0.0 + 26.98 , 0.0 + 0.0 , 0.0 + + +; Next is the radiation length in percent... SOLID=APPROXIMATE, CRYO=GUESSES!!!!! + gtarg_lrad = 1.0 , 2.0 , 1.0 + 1.0 , 5.2 , 6.4 + 6.0 , 3.0 , 6.0 + 0.0 + 0.46 , 0.0 + 0.0 , 0.0 + 0.55 , 0.0 + 2.2 , 0.0 + 0.0 , 0.0 + + +; Next is the thickness of the target in g/cm^2... +; NOTE THE 3HE,4HE USE THICKNESS FROM KAON EXPERIMENT, WHICH HAD DIFFERENT CELLS!!! + + gtarg_thick = 0.0417 , 0.6706 , 0.119 + 0.346 , 1.79 , 2.735 + 0.7986 , 0.5 , 0.3795 + 0.0 + 0.289 , 0.0 + 0.0 , 0.0 + 0.648 , 0.0 + 0.526 , 0.0 + 0.0 , 0.0 + + +; Finally, the density of the target in g/cm^3. + +; Densities taken from http://pdg.lbl.gov/AtomicNuclearProperties +; used "Carbon (compact)" for Carbon - could be way off +; 3He and 4He come from taking the total thickness (above) / 4cm - thickness could be way off + + gtarg_dens = 19.320 , 2.265 , 7.87 + 2.265 , 2.265 , 2.265 + 8.960 , 0.0 , 19.320 + 0.0 + 0.0723 , 0.0 + 0.0 , 0.0 + 0.167 , 0.0 + 2.265 , 0.0 + 0.0 , 0.0 + +; Target angle: =90 deg. is perpendicluar to beam +; <90 deg. is face towards HMS +; >90 deg. is face towards SOS +; for E99118 target was rotated 20.3deg. to face HMS =>69.7deg. = 1.2164945rad + gtarg_theta = 1.570796327 + + +;general target energy loss parameters. Vansyoc Mar.98 + +;target cell**************** +; JRA: 09/19/04: Updated based on Meekins' report, June 30, 2004 +; gcell_radius was 1.0 - don't know why. Changed to 2.0 +; DID NOT UPDATED WALL/END/FRONT THICKNESSES - Don't know the units :( + + gcell_radius = 2.008 + gz_cell = 13.0 + ga_cell = 27.0 + gcell_den = 2.7 + gwall_thk = 0.03429 + gend_thk = 0.03429 + gfront_thk = 0.020574 + +;Air gap between the chamber and the entrance window + gair_dens = 0.00121 + gair_thk = 0.018 + gair_a = 14.68 + gair _z = 7.32 + + +;HMS******** +; HMS scattering chamber window specs.********** + hscat_win_thk = 0.109728 + hscat_win_den = 2.70 + hscat_win_z = 13.0 + hscat_win_a = 27.0 +; HMS entrance window specs.******************** + hdet_ent_thk = 0.049098 + hdet_ent_den = 0.878636 + hdet_ent_z = 2.67 + hdet_ent_a = 4.67 +;SOS******** +; SOS scattering chamber window specs.********** + sscat_win_thk = 0.054864 + sscat_win_den = 2.70 + sscat_win_z = 13.0 + sscat_win_a = 27.0 +; SOS entrance window specs.******************** + sdet_ent_thk = 0.016421 + sdet_ent_den = 0.862 + sdet_ent_z = 2.67 + sdet_ent_a = 4.67 +;eloss debug 0 = off,1 = on +; gelossdebug = 0 +;use old cryo geometry? (1) +; old_tgeom = 1 + +; + + + + diff --git a/examples/PARAM/52949/haero.param b/examples/PARAM/52949/haero.param new file mode 100644 index 0000000000000000000000000000000000000000..d815c484829023756c3c449e0f5e42c50a1fb7be --- /dev/null +++ b/examples/PARAM/52949/haero.param @@ -0,0 +1,12 @@ + haero_pos_gain = 1/168.3, 1/233.9, 1/181.3, 1/169.2, + 1/177.6, 1/155.0, 1/169.5, 1/149.7, + + haero_neg_gain = 1/248.8, 1/186.4, 1/236.4, 1/172.0, + 1/205.3, 1/198.1, 1/227.9, 1/229.2, + + haero_pos_ped_limit = 1000., 1000., 1000., 1000., + 1000., 1000., 1000., 1000., + + haero_neg_ped_limit = 1000., 1000., 1000., 1000., + 1000., 1000., 1000., 1000., + diff --git a/examples/PARAM/52949/hcal.param.vt.52949 b/examples/PARAM/52949/hcal.param.vt.52949 new file mode 100644 index 0000000000000000000000000000000000000000..3970fb3c358fdc38f4f883f2d8ab5276b27a2c1b --- /dev/null +++ b/examples/PARAM/52949/hcal.param.vt.52949 @@ -0,0 +1,57 @@ +; Slop in x position. Allowed distance between track and edge of block (in cm) +; too tight djm hcal_slop = 7.5 +hcal_slop = 7.5 + +;Turn on HMS cal. fiducial volume cut. 0="no cut" +;Default hcal_fv_test=0 +hcal_fv_test = 1 + +hcal_pos_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + +hcal_neg_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + +hcal_pos_gain_ini =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,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 + +hcal_neg_gain_ini =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,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 + +hcal_neg_gain_cur =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,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 + +;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +hcal_pos_ped_limit =1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + +hcal_neg_ped_limit =1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + +;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +; Calibration constants for run 52949, 435527 events processed + +hcal_pos_gain_cor= 0.425, 0.355, 0.416, 0.385, 0.247, 0.512, 0.552, 0.378, 0.502, 0.345, 0.379, 0.390, 0.000, + 0.375, 0.428, 0.340, 0.387, 0.449, 0.485, 0.225, 0.445, 0.303, 0.269, 0.332, 0.653, 0.558, + 0.609, 0.630, 0.605, 0.857, 0.631, 0.658, 0.466, 0.547, 0.714, 0.733, 0.523, 0.636, 0.000, + 0.802, 0.600, 0.573, 0.720, 0.724, 0.822, 0.851, 0.744, 0.832, 0.614, 0.699, 0.738, 0.000, +hcal_neg_gain_cor= 0.422, 0.269, 0.288, 0.367, 0.353, 0.050, 0.184, 0.449, 0.235, 0.334, 0.203, 0.170, 0.000, + 0.401, 0.353, 0.389, 0.511, 0.332, 0.337, 0.454, 0.304, 0.470, 0.363, 0.338, 0.371, 1.156, + 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, + 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, diff --git a/examples/PARAM/52949/hcal.pos b/examples/PARAM/52949/hcal.pos new file mode 100644 index 0000000000000000000000000000000000000000..9906aae80eb08d93ab5a4d746c9f34cda05d20e4 --- /dev/null +++ b/examples/PARAM/52949/hcal.pos @@ -0,0 +1,81 @@ +; neglect extra tubes for now. +hcal_num_neg_columns = 2 + +; Z position of front of shower counter layers +; guesses, based on the fact that the back scin plane is supposedly at 322.0 +; (add 25 to each from original value) - JRA + hcal_1pr_zpos = (350.0-11.31) + hcal_2ta_zpos = (361.0-11.31) + hcal_3ta_zpos = (372.0-11.31) + hcal_4ta_zpos = (383.0-11.31) +; Thickness of shower counter blocks, blocks are 10 * 10 * 70 cm^3 + hcal_1pr_thick = 10.0 + hcal_2ta_thick = 10.0 + hcal_3ta_thick = 10.0 + hcal_4ta_thick = 10.0 +; Number of shower counter blocks per layer + hcal_1pr_nr = 13 + hcal_2ta_nr = 13 + hcal_3ta_nr = 13 + hcal_4ta_nr = 13 +; X,Y positions of shower counter blocks + hcal_1pr_left = 35.0 + hcal_1pr_right = -35.0 + hcal_1pr_top = (-69.0-1.4) + (-59.0-1.4) + (-49.0-1.4) + (-39.0-1.4) + (-29.0-1.4) + (-19.0-1.4) + ( -9.0-1.4) + ( 1.0-1.4) + ( 11.0-1.4) + ( 21.0-1.4) + ( 31.0-1.4) + ( 41.0-1.4) + ( 51.0-1.4) + hcal_2ta_left = 35.0 + hcal_2ta_right = -35.0 + hcal_2ta_top = (-69.0-1.4) + (-59.0-1.4) + (-49.0-1.4) + (-39.0-1.4) + (-29.0-1.4) + (-19.0-1.4) + ( -9.0-1.4) + ( 1.0-1.4) + ( 11.0-1.4) + ( 21.0-1.4) + ( 31.0-1.4) + ( 41.0-1.4) + ( 51.0-1.4) + hcal_3ta_left = 35.0 + hcal_3ta_right = -35.0 + hcal_3ta_top = (-69.0-1.4) + (-59.0-1.4) + (-49.0-1.4) + (-39.0-1.4) + (-29.0-1.4) + (-19.0-1.4) + ( -9.0-1.4) + ( 1.0-1.4) + ( 11.0-1.4) + ( 21.0-1.4) + ( 31.0-1.4) + ( 41.0-1.4) + ( 51.0-1.4) + hcal_4ta_left = 35.0 + hcal_4ta_right = -35.0 + hcal_4ta_top = (-69.0-1.4) + (-59.0-1.4) + (-49.0-1.4) + (-39.0-1.4) + (-29.0-1.4) + (-19.0-1.4) + ( -9.0-1.4) + ( 1.0-1.4) + ( 11.0-1.4) + ( 21.0-1.4) + ( 31.0-1.4) + ( 41.0-1.4) + ( 51.0-1.4) diff --git a/examples/PARAM/52949/hcana.param b/examples/PARAM/52949/hcana.param new file mode 100644 index 0000000000000000000000000000000000000000..5f0d147a16055f1e62fafc1d6003dc1d2f798a0a --- /dev/null +++ b/examples/PARAM/52949/hcana.param @@ -0,0 +1,4 @@ +#include "PARAM/hcana.param" + +# New calorimeter debug parameter. +hdbg_init_cal = 0 diff --git a/examples/PARAM/52949/hcer.param.vt b/examples/PARAM/52949/hcer.param.vt new file mode 100644 index 0000000000000000000000000000000000000000..a23df2e88a63dadc8da5b0eb0ab04e0f557acb6c --- /dev/null +++ b/examples/PARAM/52949/hcer.param.vt @@ -0,0 +1,24 @@ +hcer_width = 50, 50 + +hcer_adc_to_npe = 1/145.0, 1/122.0 + + +hcer_chi2max = 50. +hcer_beta_min = 0.8 +hcer_beta_max = 1.2 +hcer_et_min = 0.95 +hcer_et_max = 5.0 +hcer_mirror_zpos = 230 +; hcer_region: 8 values for each region (1 per mirror + sum) +; central x,y,dx,dy values and x,y,dx,dy half widths. +hcer_region = 30, -30, 0, + 0, 0, 0, + 0, 0, 0, + 0, 0, 0, + 20, 20, 60, + 30, 30, 30, + .1, .1, .1, + .1, .1, .1 + +hcer_ped_limit = 1000,1000 + diff --git a/examples/PARAM/52949/hdc.param.vt.52927 b/examples/PARAM/52949/hdc.param.vt.52927 new file mode 100644 index 0000000000000000000000000000000000000000..becfff97a3db76c5f7f45575ea703c7e6e9aed2c --- /dev/null +++ b/examples/PARAM/52949/hdc.param.vt.52927 @@ -0,0 +1,44 @@ +;--------------------------------------------------------------------- +; HMS_TRACKING +; CTP parameter file containing all tracking parameters for the HMS +;---------------------------------------------------------------------- +; sigma of wire chamber resolution for each plane + hdc_sigma = 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 +; hms dc tdc minimum tdc value array allowed for a good hit + hdc_tdc_min_win = 2750, 2750, 2750, 2750, 2750, 2750 + 2750, 2750, 2750, 2750, 2750, 2750 +; hms dc tdc maximum tdc value array allowed for a good hit + hdc_tdc_max_win = 3500, 3500, 3500, 3500, 3500, 3500 + 3500, 3500, 3500, 3500, 3500, 3500 +; hms drift chamber tdc's time per channel + hdc_tdc_time_per_channel = 0.50 +; hms zero time for drift chambers !DECREASING this number moves the hdtime plots to LOWER time. + hdc_plane_time_zero = (1670+14+18-2-0) + (1670+12+20-2-0) + (1670+13+18-0-2) + (1670+13+20-2-0) + (1670+12+20-4-0) + (1670+14+16-0+2-2) + (1670+15+16+2-4) + (1670+11.5+16) + (1670+13+12+2-2) + (1670+13+12+2-0) + (1670+10.5+16-0) + (1670+13+18-0-2) + +; Dave Abbott's wire velocity correction +hdc_wire_velocity = 12.0 +hdc_central_time = 7,9,3,4,6,5 + 7,5,3,4,6,6 + diff --git a/examples/PARAM/52949/hdc.pos b/examples/PARAM/52949/hdc.pos new file mode 100644 index 0000000000000000000000000000000000000000..fdbf2aed0ca8f75f5c8bd1d3d3d9fe7bb709d152 --- /dev/null +++ b/examples/PARAM/52949/hdc.pos @@ -0,0 +1,183 @@ +; Number of planes installed in HMS detector setup + hdc_num_planes = 12 +; Number of chambers installed in HMS detector setup + hdc_num_chambers = 2 +; Names of each wire plane +; +; Z positions of various planes in HMS chambers +; hdc_n_zpos is the surveyed Z position of the center of chamber n. + hdc_1_zpos = (-40.611-11.312+0.003) + hdc_2_zpos = (+40.611-11.312-0.008) + + hdc_zpos = hdc_1_zpos - 3.6000 + hdc_1_zpos - 1.8000 + hdc_1_zpos - 0.0000 + hdc_1_zpos + 1.8000 + hdc_1_zpos + 3.6000 + hdc_1_zpos + 5.4000 + hdc_2_zpos - 3.6000 + hdc_2_zpos - 1.8000 + hdc_2_zpos - 0.0000 + hdc_2_zpos + 1.8000 + hdc_2_zpos + 3.6000 + hdc_2_zpos + 5.4000 +; Angle alpha of wires in wire chamber planes + hdc_alpha_angle = (90. - 0.071)*raddeg + (0.0 - 0.071)*raddeg + (74.925 - 0.071)*raddeg + (105.075 - 0.071)*raddeg + (0.0 - 0.071)*raddeg + (90.0 - 0.071)*raddeg + (89.90814 - 0.153)*raddeg + (0.01611 - 0.153)*raddeg + (74.85 - 0.153)*raddeg + (105.05 - 0.153)*raddeg + (0.01611 - 0.153)*raddeg + (89.90814 - 0.153)*raddeg +; hdc_alpha_angle = ( 90.1541 - 0.071)*raddeg +; ( -0.0408 - 0.071)*raddeg +; ( 75.1267 - 0.071)*raddeg +; (105.1267 - 0.071)*raddeg +; ( -0.0408 - 0.071)*raddeg +; ( 90.1541 - 0.071)*raddeg +; ( 90.1095 - 0.153)*raddeg +; ( -0.0370 - 0.153)*raddeg +; ( 75.0904 - 0.153)*raddeg +; (105.0904 - 0.153)*raddeg +; ( -0.0370 - 0.153)*raddeg +; ( 90.1095 - 0.153)*raddeg +; +; Angle beta of wires in wire chamber planes + hdc_beta_angle = -0.041*raddeg + -0.041*raddeg + -0.041*raddeg + -0.041*raddeg + -0.041*raddeg + -0.041*raddeg + +0.054*raddeg + +0.054*raddeg + +0.054*raddeg + +0.054*raddeg + +0.054*raddeg + +0.054*raddeg +; Angle gamma of wires in wire chamber planes + hdc_gamma_angle = +0.0376*raddeg + +0.0376*raddeg + +0.0376*raddeg + +0.0376*raddeg + +0.0376*raddeg + +0.0376*raddeg + -0.145*raddeg + -0.145*raddeg + -0.145*raddeg + -0.145*raddeg + -0.145*raddeg + -0.145*raddeg +; Pitch + hdc_pitch = 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 +; Number of wires per plane + hdc_nrwire = 113 + 52 + 107 + 107 + 52 + 113 + 113 + 52 + 107 + 107 + 52 + 113 +; X,Y position of center of wire chamber +; increasing dc2 coordinates decreases dpos histograms. +; new values according to henk and rolf + hdc_xcenter = (1.670 - 0.0155 - 0.020) + (2.758 - 0.0155 + 0.040) +; hdc_xcenter = (1.670 - 0.0155) +; (2.758 - 0.0155) +; hdc_xcenter = 1.670 + 0.15 + 0.0155 +; 2.758 + 0.16 + 0.0155 +; Y CENTER CHANGED TO MATCH OPTICS DATA(offset of 1.1 cm in y) +; new values included according to henk and rolf + hdc_ycenter = (1.443 - 0.1699 - 0.0279 - 0.04) + (2.753 - 0.1699 + 0.0279 + 0.04) +; hdc_ycenter = (1.443 - 0.1699 - 0.0279 - 0.035) +; (2.753 - 0.1699 + 0.0279 + 0.035) +; hdc_ycenter = (1.443 - 0.1699 - 0.0279) +; (2.753 - 0.1699 + 0.0279) + +; hdc_ycenter = 0.343 + 1.1 - 0.12 + 0.1699 + 0.0279 +; 1.653 + 1.1 - 0.22 + 0.1699 - 0.0279 +; hdc_ycenter = 0.343 THESE ARE THE ORIGINAL Y CENTERS FROM SURVEY DATA +; 1.653 +; hdc_xcenter = 0.0 +; 1.22 +; hdc_ycenter = 0.0 +; 1.24 + +; Wire number of center of wire chamber +; assume 1st wire of 1st dc of a set is closest to edge where counting starts + hdc_central_wire = 57.257, 26.240, 54.001, 53.999, 26.760 , 56.743 + 57.244, 26.242, 53.998, 54.002, 26.758 , 56.756 + +; hdc_central_wire = 57.25, 26.245, 54.0, 54.0, 26.755 , 56.75 +; 57.24, 26.245, 54.0, 54.0, 26.755 , 56.76 +; hdc_central_wire = 57.25, 26.25, 54.0, 54.0, 26.75 , 56.75 +; 57.24, 26.25, 54.0, 54.0, 26.75 , 56.76 +; hdc_chamber_planes array giving the chamber number for each plane + hdc_chamber_planes = 1 + 1 + 1 + 1 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2 +; The hms readout numbers some planes in reverse order. +; The following array is a flag on the order number. +; If hdc_wire_counting(plane) = 0 +; the wire center is at (wire - hdc_central_wire) * pitch +; If hdc_wire_counting(plane) = 1 +; the wire center is at ( hdc_nrwire + 1 - wire - hdc_central_wire) * pitch + hdc_wire_counting = 1 + 1 + 0 + 1 + 0 + 0 + 1 + 1 + 0 + 1 + 0 + 0 +; The velocity correction is the distance from the center of the wire divided +; by the velocity of propagation times hdc_drifttime_sign(pln). +/-1 +; for disc. card at +/- coord. (i.e. top = -x direction, so top readout is +1) + hdc_drifttime_sign = -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 diff --git a/examples/PARAM/52949/hdc_offsets.param b/examples/PARAM/52949/hdc_offsets.param new file mode 100644 index 0000000000000000000000000000000000000000..a5561b2786ad3925d00ea1545b5f213828b8cf4f --- /dev/null +++ b/examples/PARAM/52949/hdc_offsets.param @@ -0,0 +1,125 @@ +; cable id's for HMS Drift Chambers +; array is 113,12 (wires,planes) but most planes have less than 113 wires) + +hdc_card_no= +; Plane 1, wires 1-113, 16 per card (+one extra wire) + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + 12 +; plane 2, wires 1-52, 13 per card + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 + 10,10,10,10,10,10,10,10,10,10,10,10,10 + 11,11,11,11,11,11,11,11,11,11,11,11,11 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; plane 3, wires 1-107, 15 or 16 per card (12 has one x wire) + 12,12,12,12,12,12,12,12,12,12,12,12,12,12 + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13 + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14 + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16 + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17 + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18 + -1,-1,-1,-1,-1,-1 +; plane 4, wires 1-107, 15 or 16 per card (19 has one x' wire) + 19,19,19,19,19,19,19,19,19,19,19,19,19,19 + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20 + 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 + 22,22,22,22,22,22,22,22,22,22,22,22,22,22,22 + 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23 + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24 + 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25 + -1,-1,-1,-1,-1,-1 +; plane 5, wires 1-52, 13 per card + 26,26,26,26,26,26,26,26,26,26,26,26,26 + 27,27,27,27,27,27,27,27,27,27,27,27,27 + 28,28,28,28,28,28,28,28,28,28,28,28,28 + 29,29,29,29,29,29,29,29,29,29,29,29,29 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 6, wires 1-113, 16 per card (+one extra wire) + 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30 + 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31 + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 + 33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33 + 34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34 + 35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35 + 36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36 + 19 +; Chamber 2 +; Plane 7, wires 1-113, 16 per card (+one extra wire) + 37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37 + 38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38 + 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 + 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40 + 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41 + 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42 + 43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43 + 48 +; plane 8, wires 1-52, 13 per card + 44,44,44,44,44,44,44,44,44,44,44,44,44 + 45,45,45,45,45,45,45,45,45,45,45,45,45 + 46,46,46,46,46,46,46,46,46,46,46,46,46 + 47,47,47,47,47,47,47,47,47,47,47,47,47 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; plane 9, wires 1-107, 15 or 16 per card (48 has one x wire) + 48,48,48,48,48,48,48,48,48,48,48,48,48,48 + 49,49,49,49,49,49,49,49,49,49,49,49,49,49,49 + 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50 + 51,51,51,51,51,51,51,51,51,51,51,51,51,51,51 + 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 + 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 + 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 + -1,-1,-1,-1,-1,-1 +; plane 10, wires 1-107, 15 or 16 per card (55 has one x' wire) + 55,55,55,55,55,55,55,55,55,55,55,55,55,55 + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56 + 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57 + 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 + 59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59 + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 + 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61 + -1,-1,-1,-1,-1,-1 +; plane 11, wires 1-52, 13 per card + 62,62,62,62,62,62,62,62,62,62,62,62,62 + 63,63,63,63,63,63,63,63,63,63,63,63,63 + 64,64,64,64,64,64,64,64,64,64,64,64,64 + 65,65,65,65,65,65,65,65,65,65,65,65,65 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 12, wires 1-113, 16 per card (+one extra wire) + 66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66 + 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 + 68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68 + 69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69 + 70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70 + 71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71 + 72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72 + 55 +; +; Cable Delays on a per/card basys +; +hdc_card_delay = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0 + diff --git a/examples/PARAM/52949/hdeadwires.param b/examples/PARAM/52949/hdeadwires.param new file mode 100644 index 0000000000000000000000000000000000000000..9d8b527ef661f2c2921224d140fea49d2d53927c --- /dev/null +++ b/examples/PARAM/52949/hdeadwires.param @@ -0,0 +1,10 @@ +; list of dead wires in the HMS (plane,wire). Dead means <20% efficiency. +hdc_num_deadwires = 6 + +hdc_deadwire_plane = 2, 6, 6, 7, 9, 10 + +hdc_deadwire_num = 43, 18, 60, 97, 30, 8 + +; rough efficiency 22%, 3%, .4%, 0%, 0%, 7% + +; pln9,wire99 is HOT (used to be that 9/#100 was DEAD)? diff --git a/examples/PARAM/52949/hdebug.param b/examples/PARAM/52949/hdebug.param new file mode 100644 index 0000000000000000000000000000000000000000..5049718cca59482e958788652ea0eaafd5477656 --- /dev/null +++ b/examples/PARAM/52949/hdebug.param @@ -0,0 +1,117 @@ +; hms tracking code debug flags. +; when these flags are non-zero, dump routines are called to +; print out the data banks for each event. +; +; hluno fortran lun for output + hluno = 66 +; hdebugdumptof Dump timing information for fitting offsets + hdebugdumptof = 0 +; hdebugdumpcal Dump calorimeter information for fitting gains + hdebugdumpcal = 0 +; number of pedestal events required to overwrite orig. peds. + hhodo_min_peds = 500 + hcal_min_peds = 500 + hcer_min_peds = 500 + haero_min_peds = 500 + hmisc_min_peds = 500 + +; DEBUGGING OUTPUT FLAGS +; ---------------------- +; hdebugprintrawdc Dump HMS_RAW_DC Bank + hdebugprintrawdc = 0 +; hdebugprintdecodeddc Dump HMS_DECODED_DC BAnk + hdebugprintdecodeddc = 0 +; hdebugflagpsi Dump calculated coordinate positions + hdebugflagpsi = 0 +; hdebugflaggeoemtry Dump calculated geometrical parameters + hdebugflaggeometry = 0 +; hdebugflagpr Dump intermediate pattern recognition results + hdebugflagpr = 0 +; hdebugflagstubchisq Dump chi2 of left-right fits + hdebugstubchisq = 0 +; hdebugflagstubs Dump stub fit + hdebugflagstubs = 0 +; hdebuglinkstubs Dump linked hits + hdebuglinkstubs = 0 +; hdebugtrackprint Dump focal plane track fit results + hdebugtrackprint = 0 +; hdebugtartrackprint Dump tracks at target + hdebugtartrackprint = 0 +; tof debuging +; +; hdebugprintscinraw Dump HMS_RAW_SCIN + hdebugprintscinraw = 0 +; hdebugprintscindec Dump HMS_DECODED_SCIN + hdebugprintscindec = 0 +; hdebugprinttoftracks Dump hms_scin_tof + hdebugprinttoftracks = 0 +; hdebugprinttracktests Dump HMS_TRACK_TESTS + hdebugprinttracktests = 0 +; +; hms calorimeter debug flags +; hlun_dbg_cal lun + hlun_dbg_cal = hluno +; hdbg_raw_cal call h_prt_cal_raw + hdbg_raw_cal = 0 +; hdbg_sparsified_cal call h_prt_cal_sparsified + hdbg_sparsified_cal = 0 +; hdbg_decoded_cal call h_prt_cal_decoded + hdbg_decoded_cal = 0 +; hdbg_clusters_cal call h_prt_cal_clusters + hdbg_clusters_cal = 0 +; hdbg_tracks_cal call h_prt_cal_tracks + hdbg_tracks_cal = 0 +; hdbg_tests_cal call h_prt_cal_tests HMS_TRACK_TESTS + hdbg_tests_cal = 0 +; +; hard wired histograms. If these flags .ne. 0 then the histogram +; blocks are filled +; +; hturnon_scin_raw_hist Histogram HMS raw hodoscope data (each block) + hturnon_scin_raw_hist = 1 +; hturnon_decoded_dc_hist Histogram HMS_DECODED_DC + hturnon_decoded_dc_hist = 1 +; hturnon_focal_plane_hist Histogram HMS_FOCAL_PLANE + hturnon_focal_plane_hist = 1 +; hturnon_target_hist HISTOGRAM HMS_TARGET + hturnon_target_hist = 1 +; +; Bypass paramters to bypass code elementes in h_reconstruction +; Stored in hmsbypass_switches.cmn +; Code element is bypassed if switch .ne. 0 +; hbypass_trans_dc bypass h_trans_dc + hbypass_trans_dc = 0 +; hbypass_track bypass h_track + hbypass_track = 0 +; hbypass_targ_trans bypass h_targ_trans + hbypass_targ_trans = 0 +; hbypass_dc_eff bypass h_dc_eff and h_dc_eff_shutdown + hbypass_dc_eff = 0 +; hbypass_track_eff bypass h_tracking efficiency code + hbypass_track_eff = 0 +; hbypass_track_eff_files bypass h_tracking efficiency output files + hbypass_track_eff_files = 1 + +; hbypass_trans_scin bypass h_trans_scin + hbypass_trans_scin = 0 +; hbypass_tof bypass h_tof + hbypass_tof = 0 +; hbypass_scin_eff bypass h_scin_eff and h_scin_eff_shutdown + hbypass_scin_eff = 0 + +; hbypass_trans_cer bypass h_trans_cer + hbypass_trans_cer = 0 +; hbypass_cer bypass h_cer + hbypass_cer = 0 +; hbypass_cer_eff bypass h_cer_eff and h_cer_eff_shutdown + hbypass_cer_eff = 0 + +; hbypass_trans_cal bypass h_trans_cal + hbypass_trans_cal = 0 +; hbypass_cal bypass h_cal + hbypass_cal = 0 +; hbypass_cal_eff bypass h_cal_eff and h_cal_eff_shutdown + hbypass_cal_eff = 0 + +; hbypass_physics bypass h_physics + hbypass_physics = 0 diff --git a/examples/PARAM/52949/hhodo.param.vt b/examples/PARAM/52949/hhodo.param.vt new file mode 100644 index 0000000000000000000000000000000000000000..bb261605b7f0960a872cd251401414aabd8462de --- /dev/null +++ b/examples/PARAM/52949/hhodo.param.vt @@ -0,0 +1,185 @@ +; hstart_time_center center of allowed time window + hstart_time_center = 32. +; hstart_time_slop 1/2 width of time window + hstart_time_slop = 25. +; hscin_tdc_min minimum tdc value in hms scin + hscin_tdc_min = 0 +; hscin_tdc_max maximum allowed tdc value + hscin_tdc_max = 4000 +; hscin_tdc_to_time scin tdc time per channel + hscin_tdc_to_time = 0.0259 +; new variable for picking good hits for tof fitting +; this should not be set tight until you are ready to fit +; tof and you figured out good values + htof_tolerance = 100.0 +; +; hms_tof_params +; hnum_scin_counters, hhodo_zpos, hhodo_center_coord, hhodo_width +; are all calculated within h_init_scin +; hhodo_pos_coord and hhodo_neg_coord are not yet used +; + hhodo_slop = 2., 2., 4., 4. +; + hhodo_vel_light = 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 +; + hhodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 +; + hhodo_neg_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + + hhodo_pos_minph = 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + + hhodo_neg_minph = 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + hhodo_pos_phc_coeff = -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + -1.45,-1.1,-1.,-1.2 + + hhodo_neg_phc_coeff = -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + -1.3,-1.1,-1.2,-1.4 + + +; csa 9/8/98 -- I had to hand-twaddle a few of the values +; based on (relative) offsets of older hhodo.param + + +hhodo_pos_time_offset = 6.7992, 0.0000, -7.1126, 4.7475 + -1.1436, 0.4026, -0.1443, 8.8108 + 5.1911, 1.7935, -7.0357, 7.7590 + 5.6115, 0.1231, -4.3477, 12.8552 + 1.2354, -6.4896, 8.6617, 9.3857 + 1.8675, -0.3651, -4.7731, 7.9034 + 6.4738, -1.0463, 1.1786, 8.9740 + 4.5395, 2.3368, -4.4623, 4.5968 + 2.6241, -2.4480, -6.4964, 6.2390 + 4.2056, 0.0000, -0.8924, -1.2482 + 6.1303, 0.0000, -7.9503, 0.0000 + 5.5326, 0.0000, -0.3564, 0.0000 + 4.3238, 0.0000, 0.8133, 0.0000 + 1.7467, 0.0000, 1.9021, 0.0000 + 4.1333, 0.0000, -5.4523, 0.0000 + 0.9416, 0.0000, 1.0158, 0.0000 +hhodo_neg_time_offset = -2.1515, 0.0000, 2.5771, 11.2323 + -1.6547, -2.2888, 10.1063, 13.3595 + -3.8050, -4.1933, 3.4133, 15.0118 + 0.7925, -1.9592, 10.9311, 15.1057 + -1.2621, -4.6538, 2.3474, 10.2752 + -2.9459, 1.2711, 9.6479, 7.8567 + 1.2439, -3.4946, 3.7283, 10.7897 + -4.8205, 1.1743, 8.5908, 11.1753 + -6.3324, -5.2290, 0.2444, 14.7184 + 1.8168, 0.0000, 11.2387, 15.5869 + 0.4240, 0.0000, 8.2657, 0.0000 + -0.9945, 0.0000, 9.2381, 0.0000 + -2.3217, 0.0000, 5.1855, 0.0000 + -5.1166, 0.0000, 10.0781, 0.0000 + 0.2537, 0.0000, 6.2455, 0.0000 + 7.0554, 0.0000, 12.8714, 0.0000 + +; +hhodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 +; +hhodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 +; use htofusinginvadc=1 if want invadc_offset +; invadc_linear, and invadc_adc to be used +htofusinginvadc=0 + + diff --git a/examples/PARAM/52949/hhodo.pos b/examples/PARAM/52949/hhodo.pos new file mode 100644 index 0000000000000000000000000000000000000000..2e37fd06ea8c5ce715c0b9b61cc24ce182c8f989 --- /dev/null +++ b/examples/PARAM/52949/hhodo.pos @@ -0,0 +1,88 @@ + hpathlength_central = 2500 +; Z positions of hodoscopes + hscin_1x_zpos = (89.14-11.31) + hscin_1y_zpos = (108.83-11.31) + hscin_2x_zpos = (310.13-11.31) + hscin_2y_zpos = (329.82-11.31) + hscin_1x_dzpos = 2.12 + hscin_1y_dzpos = 2.12 + hscin_2x_dzpos = 2.12 + hscin_2y_dzpos = 2.12 + hscin_1x_size = 8.0 + hscin_1y_size = 8.0 + hscin_2x_size = 8.0 + hscin_2y_size = 8.0 + hscin_1x_spacing = 7.5 + hscin_1y_spacing = 7.5 + hscin_2x_spacing = 7.5 + hscin_2y_spacing = 7.5 +; Number of hodoscope paddles per layer + hscin_1x_nr = 16 + hscin_1y_nr = 10 + hscin_2x_nr = 16 + hscin_2y_nr = 10 +; X,Y positions of hodoscope paddles + hscin_1x_left = 37.750 + hscin_1x_right = -37.750 + hscin_1x_offset= -1.3 + hscin_1x_center= -56.250 + -48.750 + -41.250 + -33.750 + -26.250 + -18.750 + -11.250 + -3.750 + 3.750 + 11.250 + 18.750 + 26.250 + 33.750 + 41.250 + 48.750 + 56.250 + hscin_1y_top = -60.250 + hscin_1y_bot = 60.250 + hscin_1y_offset= -1.3 + hscin_1y_center= 33.750 + 26.250 + 18.750 + 11.250 + 3.750 + -3.750 + -11.250 + -18.750 + -26.250 + -33.750 + hscin_2x_left = 37.750 + hscin_2x_right = -37.750 + hscin_2x_offset= -0.6 + hscin_2x_center= -56.250 + -48.750 + -41.250 + -33.750 + -26.250 + -18.750 + -11.250 + -3.750 + 3.750 + 11.250 + 18.750 + 26.250 + 33.750 + 41.250 + 48.750 + 56.250 + hscin_2y_top = -60.250 + hscin_2y_bot = 60.250 + hscin_2y_offset= -2.4 + hscin_2y_center= 33.750 + 26.250 + 18.750 + 11.250 + 3.750 + -3.750 + -11.250 + -18.750 + -26.250 + -33.750 diff --git a/examples/PARAM/52949/hms.driftmap.vt.52949 b/examples/PARAM/52949/hms.driftmap.vt.52949 new file mode 100644 index 0000000000000000000000000000000000000000..d5d90b5cf1bd86be940506d17a91b5f3b5fcbd15 --- /dev/null +++ b/examples/PARAM/52949/hms.driftmap.vt.52949 @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +hdriftbins=138 +;number of 1st bin in Meek's table in ns +hdrift1stbin=-24 +;bin size in ns of Meek's table +hdriftbinsz=2 +hwc1x1fract=0.0000,0.0001,0.0001,0.0002,0.0002,0.0003,0.0003,0.0004 +0.0005,0.0006,0.0007,0.0008,0.0009,0.0011,0.0013,0.0015,0.0019,0.0027 +0.0038,0.0056,0.0087,0.0138,0.0212,0.0309,0.0423,0.0554,0.0697,0.0853 +0.1022,0.1201,0.1384,0.1581,0.1781,0.1987,0.2200,0.2417,0.2637,0.2863 +0.3088,0.3318,0.3544,0.3769,0.3993,0.4219,0.4444,0.4669,0.4888,0.5107 +0.5325,0.5543,0.5757,0.5972,0.6182,0.6393,0.6595,0.6796,0.6995,0.7191 +0.7382,0.7569,0.7750,0.7929,0.8099,0.8266,0.8422,0.8571,0.8706,0.8831 +0.8946,0.9055,0.9156,0.9247,0.9332,0.9410,0.9480,0.9546,0.9606,0.9662 +0.9709,0.9754,0.9793,0.9826,0.9854,0.9879,0.9897,0.9914,0.9928,0.9939 +0.9947,0.9953,0.9959,0.9965,0.9969,0.9972,0.9975,0.9977,0.9980,0.9982 +0.9984,0.9985,0.9986,0.9988,0.9988,0.9990,0.9991,0.9992,0.9993,0.9994 +0.9994,0.9995,0.9995,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y1fract=0.0000,0.0001,0.0001,0.0001,0.0002,0.0002,0.0002,0.0003 +0.0003,0.0004,0.0004,0.0005,0.0006,0.0008,0.0010,0.0012,0.0017,0.0025 +0.0038,0.0061,0.0104,0.0175,0.0276,0.0408,0.0571,0.0754,0.0952,0.1165 +0.1384,0.1614,0.1845,0.2080,0.2315,0.2549,0.2786,0.3018,0.3247,0.3479 +0.3706,0.3928,0.4148,0.4366,0.4583,0.4795,0.5006,0.5214,0.5419,0.5623 +0.5825,0.6026,0.6225,0.6423,0.6619,0.6818,0.7011,0.7200,0.7388,0.7571 +0.7751,0.7926,0.8096,0.8258,0.8414,0.8561,0.8701,0.8828,0.8946,0.9054 +0.9150,0.9238,0.9320,0.9390,0.9455,0.9513,0.9564,0.9612,0.9654,0.9692 +0.9728,0.9760,0.9789,0.9815,0.9838,0.9856,0.9874,0.9888,0.9901,0.9912 +0.9923,0.9932,0.9939,0.9946,0.9951,0.9956,0.9961,0.9965,0.9969,0.9972 +0.9975,0.9978,0.9980,0.9982,0.9984,0.9986,0.9987,0.9989,0.9990,0.9991 +0.9992,0.9993,0.9994,0.9995,0.9995,0.9996,0.9996,0.9997,0.9997,0.9997 +0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1u1fract=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0001,0.0001 +0.0001,0.0001,0.0001,0.0001,0.0002,0.0002,0.0003,0.0004,0.0007,0.0013 +0.0026,0.0055,0.0108,0.0194,0.0312,0.0457,0.0623,0.0806,0.0999,0.1202 +0.1415,0.1638,0.1860,0.2089,0.2316,0.2545,0.2774,0.3004,0.3229,0.3456 +0.3680,0.3908,0.4128,0.4349,0.4565,0.4777,0.4988,0.5197,0.5403,0.5609 +0.5812,0.6012,0.6212,0.6410,0.6605,0.6798,0.6987,0.7180,0.7364,0.7547 +0.7726,0.7902,0.8071,0.8233,0.8388,0.8536,0.8672,0.8799,0.8915,0.9022 +0.9115,0.9202,0.9278,0.9348,0.9411,0.9470,0.9526,0.9575,0.9621,0.9665 +0.9705,0.9742,0.9775,0.9804,0.9829,0.9850,0.9868,0.9884,0.9898,0.9910 +0.9920,0.9928,0.9936,0.9943,0.9949,0.9954,0.9959,0.9963,0.9966,0.9970 +0.9973,0.9976,0.9978,0.9980,0.9982,0.9984,0.9985,0.9987,0.9988,0.9989 +0.9990,0.9991,0.9992,0.9993,0.9994,0.9994,0.9995,0.9995,0.9996,0.9996 +0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1v1fract=0.0000,0.0000,0.0000,0.0000,0.0001,0.0001,0.0001,0.0001 +0.0001,0.0002,0.0002,0.0002,0.0003,0.0003,0.0004,0.0006,0.0009,0.0016 +0.0031,0.0058,0.0107,0.0192,0.0308,0.0454,0.0621,0.0808,0.1007,0.1217 +0.1434,0.1654,0.1878,0.2105,0.2331,0.2558,0.2784,0.3009,0.3237,0.3462 +0.3682,0.3905,0.4120,0.4341,0.4555,0.4764,0.4976,0.5184,0.5391,0.5596 +0.5801,0.6000,0.6198,0.6397,0.6591,0.6785,0.6980,0.7173,0.7362,0.7548 +0.7729,0.7907,0.8078,0.8243,0.8402,0.8552,0.8691,0.8820,0.8936,0.9040 +0.9135,0.9220,0.9297,0.9367,0.9431,0.9489,0.9541,0.9591,0.9635,0.9677 +0.9716,0.9750,0.9783,0.9810,0.9834,0.9855,0.9874,0.9890,0.9903,0.9915 +0.9926,0.9934,0.9941,0.9947,0.9953,0.9957,0.9962,0.9965,0.9969,0.9972 +0.9974,0.9977,0.9979,0.9981,0.9983,0.9984,0.9986,0.9987,0.9988,0.9990 +0.9991,0.9992,0.9993,0.9994,0.9994,0.9995,0.9995,0.9996,0.9996,0.9997 +0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999 +0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y2fract=0.0000,0.0000,0.0000,0.0000,0.0001,0.0001,0.0001,0.0001 +0.0001,0.0001,0.0002,0.0002,0.0002,0.0003,0.0004,0.0007,0.0011,0.0021 +0.0040,0.0074,0.0132,0.0216,0.0329,0.0468,0.0632,0.0815,0.1011,0.1225 +0.1446,0.1673,0.1904,0.2143,0.2375,0.2607,0.2840,0.3071,0.3298,0.3528 +0.3752,0.3971,0.4190,0.4410,0.4628,0.4846,0.5053,0.5261,0.5466,0.5673 +0.5872,0.6074,0.6272,0.6469,0.6662,0.6854,0.7043,0.7231,0.7413,0.7598 +0.7773,0.7949,0.8118,0.8279,0.8432,0.8575,0.8711,0.8837,0.8951,0.9053 +0.9147,0.9231,0.9307,0.9376,0.9438,0.9495,0.9547,0.9596,0.9639,0.9681 +0.9717,0.9750,0.9779,0.9805,0.9829,0.9848,0.9865,0.9880,0.9893,0.9905 +0.9916,0.9925,0.9933,0.9940,0.9947,0.9952,0.9957,0.9962,0.9965,0.9969 +0.9973,0.9975,0.9978,0.9980,0.9982,0.9984,0.9985,0.9987,0.9989,0.9990 +0.9991,0.9992,0.9993,0.9994,0.9994,0.9995,0.9996,0.9996,0.9997,0.9997 +0.9997,0.9997,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1x2fract=0.0000,0.0000,0.0000,0.0001,0.0001,0.0001,0.0001,0.0002 +0.0002,0.0003,0.0003,0.0004,0.0005,0.0006,0.0008,0.0011,0.0017,0.0028 +0.0047,0.0080,0.0133,0.0208,0.0308,0.0422,0.0554,0.0700,0.0858,0.1025 +0.1206,0.1393,0.1592,0.1795,0.2005,0.2220,0.2439,0.2661,0.2886,0.3108 +0.3336,0.3564,0.3790,0.4013,0.4233,0.4457,0.4682,0.4904,0.5123,0.5342 +0.5555,0.5772,0.5985,0.6195,0.6404,0.6609,0.6814,0.7012,0.7212,0.7401 +0.7589,0.7771,0.7948,0.8116,0.8279,0.8437,0.8581,0.8715,0.8840,0.8957 +0.9064,0.9163,0.9252,0.9335,0.9413,0.9483,0.9549,0.9607,0.9661,0.9709 +0.9752,0.9792,0.9826,0.9855,0.9878,0.9897,0.9913,0.9927,0.9937,0.9946 +0.9954,0.9960,0.9965,0.9969,0.9972,0.9975,0.9977,0.9979,0.9981,0.9983 +0.9985,0.9986,0.9987,0.9988,0.9989,0.9990,0.9991,0.9992,0.9993,0.9993 +0.9994,0.9995,0.9995,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x1fract=0.0001,0.0001,0.0002,0.0002,0.0003,0.0004,0.0005,0.0006 +0.0008,0.0010,0.0012,0.0014,0.0016,0.0021,0.0028,0.0041,0.0069,0.0119 +0.0191,0.0288,0.0403,0.0533,0.0678,0.0835,0.0999,0.1171,0.1352,0.1539 +0.1733,0.1935,0.2140,0.2350,0.2565,0.2785,0.3007,0.3228,0.3450,0.3673 +0.3896,0.4125,0.4350,0.4576,0.4801,0.5030,0.5252,0.5475,0.5698,0.5914 +0.6130,0.6344,0.6553,0.6764,0.6972,0.7179,0.7381,0.7575,0.7769,0.7958 +0.8139,0.8310,0.8474,0.8625,0.8765,0.8892,0.9008,0.9113,0.9205,0.9292 +0.9368,0.9440,0.9505,0.9565,0.9622,0.9674,0.9721,0.9763,0.9799,0.9832 +0.9860,0.9884,0.9904,0.9918,0.9932,0.9942,0.9950,0.9956,0.9962,0.9966 +0.9970,0.9974,0.9977,0.9979,0.9981,0.9983,0.9985,0.9986,0.9988,0.9989 +0.9990,0.9991,0.9992,0.9993,0.9994,0.9994,0.9995,0.9995,0.9995,0.9996 +0.9996,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y1fract=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0001,0.0001 +0.0001,0.0001,0.0001,0.0002,0.0002,0.0002,0.0003,0.0004,0.0006,0.0011 +0.0021,0.0042,0.0082,0.0153,0.0258,0.0396,0.0562,0.0754,0.0967,0.1193 +0.1428,0.1670,0.1909,0.2151,0.2392,0.2632,0.2869,0.3104,0.3344,0.3577 +0.3805,0.4031,0.4250,0.4469,0.4682,0.4896,0.5107,0.5315,0.5522,0.5724 +0.5926,0.6129,0.6331,0.6529,0.6726,0.6922,0.7115,0.7305,0.7490,0.7675 +0.7853,0.8027,0.8195,0.8354,0.8507,0.8654,0.8792,0.8918,0.9034,0.9138 +0.9231,0.9315,0.9388,0.9451,0.9510,0.9562,0.9609,0.9651,0.9689,0.9723 +0.9754,0.9783,0.9807,0.9828,0.9847,0.9864,0.9878,0.9891,0.9903,0.9914 +0.9923,0.9931,0.9938,0.9944,0.9949,0.9954,0.9959,0.9963,0.9966,0.9969 +0.9973,0.9975,0.9977,0.9979,0.9981,0.9983,0.9985,0.9986,0.9988,0.9989 +0.9990,0.9991,0.9992,0.9993,0.9994,0.9994,0.9995,0.9996,0.9996,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2u1fract=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0001,0.0001 +0.0001,0.0001,0.0001,0.0002,0.0002,0.0003,0.0004,0.0005,0.0009,0.0019 +0.0042,0.0094,0.0188,0.0315,0.0476,0.0664,0.0872,0.1095,0.1325,0.1561 +0.1801,0.2041,0.2281,0.2519,0.2757,0.2990,0.3222,0.3453,0.3678,0.3899 +0.4119,0.4341,0.4556,0.4766,0.4975,0.5186,0.5393,0.5597,0.5796,0.5994 +0.6193,0.6391,0.6585,0.6778,0.6971,0.7159,0.7345,0.7528,0.7709,0.7888 +0.8061,0.8230,0.8390,0.8546,0.8690,0.8827,0.8951,0.9061,0.9161,0.9249 +0.9328,0.9396,0.9458,0.9514,0.9562,0.9608,0.9649,0.9687,0.9721,0.9753 +0.9782,0.9806,0.9829,0.9848,0.9866,0.9882,0.9894,0.9905,0.9916,0.9924 +0.9931,0.9938,0.9943,0.9949,0.9954,0.9958,0.9961,0.9965,0.9968,0.9971 +0.9973,0.9976,0.9978,0.9980,0.9982,0.9984,0.9986,0.9987,0.9989,0.9990 +0.9991,0.9992,0.9993,0.9993,0.9994,0.9995,0.9996,0.9996,0.9997,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2v1fract=0.0000,0.0000,0.0000,0.0000,0.0000,0.0001,0.0001,0.0001 +0.0001,0.0002,0.0002,0.0002,0.0003,0.0004,0.0005,0.0007,0.0010,0.0017 +0.0032,0.0065,0.0131,0.0235,0.0372,0.0542,0.0733,0.0947,0.1164,0.1394 +0.1622,0.1857,0.2091,0.2328,0.2560,0.2793,0.3025,0.3253,0.3477,0.3703 +0.3922,0.4141,0.4355,0.4566,0.4778,0.4986,0.5189,0.5396,0.5598,0.5801 +0.6002,0.6199,0.6393,0.6589,0.6780,0.6969,0.7159,0.7343,0.7529,0.7711 +0.7888,0.8059,0.8226,0.8388,0.8544,0.8687,0.8820,0.8941,0.9051,0.9147 +0.9233,0.9310,0.9377,0.9438,0.9493,0.9543,0.9590,0.9631,0.9669,0.9704 +0.9737,0.9767,0.9793,0.9818,0.9838,0.9856,0.9872,0.9886,0.9898,0.9909 +0.9919,0.9927,0.9934,0.9940,0.9945,0.9951,0.9955,0.9959,0.9963,0.9967 +0.9970,0.9973,0.9976,0.9978,0.9980,0.9982,0.9984,0.9986,0.9987,0.9989 +0.9990,0.9991,0.9992,0.9993,0.9994,0.9995,0.9995,0.9996,0.9996,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y2fract=0.0000,0.0000,0.0000,0.0000,0.0000,0.0001,0.0001,0.0001 +0.0001,0.0001,0.0002,0.0002,0.0002,0.0003,0.0004,0.0005,0.0007,0.0013 +0.0023,0.0045,0.0088,0.0163,0.0271,0.0410,0.0578,0.0769,0.0977,0.1203 +0.1436,0.1676,0.1916,0.2161,0.2403,0.2638,0.2876,0.3108,0.3342,0.3572 +0.3804,0.4032,0.4254,0.4470,0.4686,0.4898,0.5111,0.5318,0.5525,0.5731 +0.5936,0.6138,0.6339,0.6536,0.6735,0.6929,0.7122,0.7309,0.7495,0.7679 +0.7860,0.8037,0.8205,0.8368,0.8524,0.8667,0.8803,0.8929,0.9044,0.9146 +0.9240,0.9320,0.9394,0.9458,0.9516,0.9569,0.9614,0.9656,0.9694,0.9728 +0.9759,0.9787,0.9812,0.9833,0.9850,0.9867,0.9882,0.9894,0.9906,0.9916 +0.9925,0.9932,0.9939,0.9945,0.9950,0.9955,0.9959,0.9964,0.9967,0.9970 +0.9973,0.9976,0.9978,0.9979,0.9981,0.9983,0.9984,0.9986,0.9987,0.9989 +0.9990,0.9991,0.9992,0.9993,0.9994,0.9995,0.9995,0.9996,0.9996,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x2fract=0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0002,0.0003 +0.0003,0.0004,0.0005,0.0006,0.0007,0.0008,0.0010,0.0012,0.0017,0.0027 +0.0042,0.0071,0.0121,0.0198,0.0299,0.0422,0.0564,0.0724,0.0892,0.1078 +0.1270,0.1471,0.1677,0.1893,0.2112,0.2336,0.2564,0.2794,0.3021,0.3253 +0.3481,0.3711,0.3937,0.4163,0.4389,0.4611,0.4829,0.5048,0.5266,0.5482 +0.5697,0.5904,0.6112,0.6321,0.6523,0.6727,0.6927,0.7125,0.7317,0.7508 +0.7695,0.7877,0.8050,0.8222,0.8385,0.8539,0.8682,0.8814,0.8936,0.9047 +0.9147,0.9239,0.9322,0.9399,0.9468,0.9531,0.9588,0.9640,0.9690,0.9732 +0.9770,0.9803,0.9832,0.9858,0.9879,0.9897,0.9910,0.9923,0.9934,0.9942 +0.9949,0.9956,0.9961,0.9965,0.9969,0.9972,0.9975,0.9978,0.9980,0.9982 +0.9984,0.9985,0.9987,0.9988,0.9989,0.9990,0.9991,0.9992,0.9993,0.9994 +0.9994,0.9995,0.9995,0.9996,0.9996,0.9997,0.9997,0.9997,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 diff --git a/examples/PARAM/52949/hmsflags.param b/examples/PARAM/52949/hmsflags.param new file mode 100644 index 0000000000000000000000000000000000000000..382ed6da441655828912677767fd8f1cf5db6141 --- /dev/null +++ b/examples/PARAM/52949/hmsflags.param @@ -0,0 +1,52 @@ +; Offset in the spectrometer momentum. + hmomentum_factor = 0.000 ; leave 0 so it will have no effect + ; use hpcentral_offset if one needs to offset central momentum +; +; The hdelta_offset,htheta_offset,hphi_offset effect the +; reconstructed target quantities. Used in h_targ_trans.f +; For transport x is in the dispersive direction with + down +; y is in the horizontal + towards small angles. +; z is along the central optics axis. +; In transport coordinates phi = hyptar = dy/dz and theta = hxptar = dx/dz +; but for unknown reasons the yp offset is named htheta_offset +; and the xp offset is named hphi_offset +; Do not to change these values, since these are the zero order +; CMOP matrix elements. If you do change then your hms sieve +; plots will be screwed up. + hdelta_offset = 0. ; (%) hdelta_tar = hdelta_tar + hdelta_offset + htheta_offset = 4.83e-5 ; (rad) hyp_tar = hyp_tar + htheta_offset + hphi_offset = -4.73e-3 ; (rad) hxp_tar = hxp_tar + hphi_offset +; + +;saturation correction flag + genable_hms_satcorr = 2000 ;(0=disabled) - h_satcorr.f + ; a correction to hsdelta event by event + ; for a problem in setting Q3 current. + ; There was an unknown zero offset in the Q3 current. + ; The magnet setting code field00.f partially + ; fixes this problem. T. Horn in 2003 determined + ; the corrections to delta. + ; Data taken with fields set by field99.f or earlier should set to 1999. + ; Data taken with fields set by field00.f or later should set to 2000. +; central field correction + genable_hms_fieldcorr = 1 ; (1=disabled) - h_fieldcorr.f + ; Need to enable for experiments before Jan 2002 . + ; experiments using field02 and field03 should disable. +; +; The following offsets are applied to the central kinematic variables +; in h_apply_offsets.f . These might be modified by an experiment +; after doing calibration with elastic ep. +; The values below are from T. Horn 2003 analysis + hpcentral_offset = -0.25 ; sets hpcentral = hpcentral * ( 1. + hpcentral_offset / 100. ) + ; experiments earlier than April 2003 + ; should use about -0.3 which is the best + ; estimate based on several previous experiments. + hthetacentral_offset = 0.0002 ; (rad) + ;htheta_lab=htheta_lab + hthetacentral_offset/degree +; This offset is determined from elastic ep data. +; Must be added to ssxptar when used in calculating lab angles. +; Example is in h_physics.f +; + h_oopcentral_offset = 0.0011 ; (rad) + + diff --git a/examples/PARAM/52949/htracking.param b/examples/PARAM/52949/htracking.param new file mode 100644 index 0000000000000000000000000000000000000000..99b502a69f6dcf31d4ff079ffe72c0f887f10e34 --- /dev/null +++ b/examples/PARAM/52949/htracking.param @@ -0,0 +1,94 @@ +; hms pattern recognition and tracking code parameters +; hmax_pr_hits is the maximum number of decoded hits allowed in a chamber for +; pattern recognition to proceed. This protexts against unusual +; kami kaze events which hang the analyzer to a long time. +; + hmax_pr_hits = 35, 35 +; maximum number of possible focal plane tracks, must be <= 20 + hntracks_max_fp = 10 +; if h_remove_sppt_if_one_y_plane=1 then remove space point if space point +; contains only one y plane. +; Recommend h_remove_sppt_if_one_y_plane=0. + h_remove_sppt_if_one_y_plane=0 +; hminhit(i) minimum number of hits in each space point (one for each chamber) + hmin_hit = 5, 5 +; hmin_combos(i) minimum number of pairs in each space point ( one per chamber) +; should be 3/3 for 4/6 tracking, and 4/4 for 5/6 tracking (JRA) + hmin_combos = 4, 4 +; hspace_point_criterion(i) minimum separation of distinct space points +; recommended value for hspace_point_criterion ( based on meeting +; Feb 2003) + hspace_point_criterion = 1.0, 1.0 + + hstub_max_xpdiff = .05 +; +; The following four criteria are applied to the stub fit results at the +; focal plane position to link stubs to tracks +; hxt_track_criterion +; hyt_track_criterion +; hxpt_track_criterion +; hypt_track_criterion +; recommended value for hspace_point_criterion ( based on meeting +; Feb 2003) + hxt_track_criterion = 10. + hyt_track_criterion = 4. + hxpt_track_criterion = 0.2 + hypt_track_criterion = 0.5 +; +; hsingle_stub If .ne. 0 make a track of each single stub + hsingle_stub = 0 +; turn on/off small angle approximation to left/right decision for y + hSmallAngleApprox = 1 + +; Crude track selection criteria in h_physics +; hsel_chi2_fpperdegmax maximum chi2 per degree of freedom for track + hsel_chi2_fpperdegmax = 2000000. +; hsel_dedx1min minimum dedx to chose best track in scin 1 + hsel_dedx1min = -100000 +; hsel_dedx1max maximum dedx to chose best track in scin 1 + hsel_dedx1max = 1000000. +; hsel_betamin minimum track beta to chose best track + hsel_betamin = -100000 +; hsel_betamax maximum track beta to chose best track + hsel_betamax = 100000. +; hsel_etmin minimum track et to chose best track + hsel_etmin = 0.05 +; hsel_etmax maximum track et to chose best track + hsel_etmax = 100000. +; hsel_ndegreesmin minimum number of degrees of freedom for track + hsel_ndegreesmin = 1 + + +; hstat_maxchisq chisquared limit for tracks used to measure hodo. eff. + hstat_maxchisq = 10. +; hsel_using_scin uses scintillator for track selection + hsel_using_scin = 1 +; hstat_slop distance from center of scin. to count as expecting hit + hstat_slop = 2. +; hstat_mineff warning level for scin. effic. + hstat_mineff = .95 +; hstat_cal_maxchisq chisquared limit for tracks used to measure cal. eff. + hstat_cal_maxchisq = 10. +; hstat_cal_slop distance from center of block to count as expecting hit + hstat_cal_slop = 2. +; hcer_min_eff warning level for cerenkov effic. + hcer_min_eff = .98 +; hcer_threshold threshold for good hit (for measureing effic.) + hcer_threshold = 0.5 +; hdc_min_eff warning level for dc raw effic.(1 per plane) + hdc_min_eff = .96,.98,.96,.98,.98,.94 + .96,.98,.98,.98,.98,.96 +; hdc_min_wire_eff warning level for wire effic, measured using tracking + hdc_min_wire_eff = .85 +; hdc_min_plane_eff warning level for plane effic, measured using tracking + hdc_min_plane_eff = .95,.95,.95,.95,.95,.95 + .95,.95,.95,.95,.95,.95 +;Derek added this for scintillator based fiducial cuts. Everything from +;loscin to hiscin inclusive will be included as "good" scintillator hits. + hxloscin = 4, 4 + hxhiscin = 13, 13 + hyloscin = 4, 4 + hyhiscin = 7, 7 +; htrack_eff_test_scin_planes is the number of planes nec needed to +; set sweet spot to true. 4 is extra clean, 3 is good enough for e-'s. + htrack_eff_test_num_scin_planes = 3 diff --git a/examples/PARAM/52949/scal.param.vt.52843 b/examples/PARAM/52949/scal.param.vt.52843 new file mode 100644 index 0000000000000000000000000000000000000000..c0ec9ee74fa2fc38013401322997a44324b4b5e8 --- /dev/null +++ b/examples/PARAM/52949/scal.param.vt.52843 @@ -0,0 +1,58 @@ +; Slop in x position. Allowed distance between track and edge of block (in cm) +; probably too tight djm scal_slop = 7.5 +scal_slop = 10.0 + +scal_pos_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + +scal_neg_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + +scal_pos_gain_ini=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 + 1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000 + +scal_neg_gain_ini=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 + 1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000 + +scal_pos_gain_cur=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 + 1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000 + +scal_neg_gain_cur=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 + 1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000 + + + +; Calibration constants for run 52843, 2166 events processed p=1.2 + +scal_pos_gain_cor= 0.913, 0.238, 0.526, 0.307, 0.293, 0.383, 0.509, 0.570, 0.327, 0.494, 0.940, + 0.399, 0.601, 0.296, 0.398, 0.419, 0.192, 0.634, 0.514, 0.674, 0.368, 0.821, + 0.546, 0.727, 0.922, 0.685, 0.655, 0.624, 1.129, 0.793, 0.838, 0.768, 0.905, + 0.735, 0.876, 0.821, 1.022, 0.885, 0.965, 1.015, 0.783, 1.096, 0.788, 1.110, +scal_neg_gain_cor= 0.126, 0.661, 0.610, 0.532, 0.626, 0.454, 0.554, 0.513, 0.603, 0.781, 0.173, + 0.829, 0.300, 0.596, 0.513, 0.551, 0.788, 0.563, 0.314, 0.698, 0.463, 0.486, + 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, + 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, + +scal_pos_ped_limit =1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + +scal_neg_ped_limit =1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + + diff --git a/examples/PARAM/52949/scal.pos b/examples/PARAM/52949/scal.pos new file mode 100644 index 0000000000000000000000000000000000000000..4289ec1f26fcfd949d9aae7d4be4898bcf73dca5 --- /dev/null +++ b/examples/PARAM/52949/scal.pos @@ -0,0 +1,72 @@ +; neglect extra tubes for now +scal_num_neg_columns = 2 + +; Z position of front of shower counter layers + scal_1pr_zpos = (282.0+31.01) + scal_2ta_zpos = (293.0+31.01) + scal_3ta_zpos = (304.0+31.01) + scal_4ta_zpos = (315.0+31.01) +; Thickness of shower counter blocks, blocks are 10 * 10 * 70 cm^3 + scal_1pr_thick = 10.0 + scal_2ta_thick = 10.0 + scal_3ta_thick = 10.0 + scal_4ta_thick = 10.0 +; Number of shower counter blocks per layer + scal_1pr_nr = 11 + scal_2ta_nr = 11 + scal_3ta_nr = 11 + scal_4ta_nr = 11 +; X,Y positions of shower counter blocks + scal_1pr_left = 35.0 + scal_1pr_right = -35.0 + scal_1pr_top = (-55.0-5.64) + (-45.0-5.64) + (-35.0-5.64) + (-25.0-5.64) + (-15.0-5.64) + ( -5.0-5.64) + ( 5.0-5.64) + ( 15.0-5.64) + ( 25.0-5.64) + ( 35.0-5.64) + ( 45.0-5.64) + scal_2ta_left = 35.0 + scal_2ta_right = -35.0 + scal_2ta_top = (-55.0-5.64) + (-45.0-5.64) + (-35.0-5.64) + (-25.0-5.64) + (-15.0-5.64) + ( -5.0-5.64) + ( 5.0-5.64) + ( 15.0-5.64) + ( 25.0-5.64) + ( 35.0-5.64) + ( 45.0-5.64) + scal_3ta_left = 35.0 + scal_3ta_right = -35.0 + scal_3ta_top = (-55.0-5.64) + (-45.0-5.64) + (-35.0-5.64) + (-25.0-5.64) + (-15.0-5.64) + ( -5.0-5.64) + ( 5.0-5.64) + ( 15.0-5.64) + ( 25.0-5.64) + ( 35.0-5.64) + ( 45.0-5.64) + scal_4ta_left = 35.0 + scal_4ta_right = -35.0 + scal_4ta_top = (-55.0-5.64) + (-45.0-5.64) + (-35.0-5.64) + (-25.0-5.64) + (-15.0-5.64) + ( -5.0-5.64) + ( 5.0-5.64) + ( 15.0-5.64) + ( 25.0-5.64) + ( 35.0-5.64) + ( 45.0-5.64) + diff --git a/examples/PARAM/52949/scer.param.vt b/examples/PARAM/52949/scer.param.vt new file mode 100644 index 0000000000000000000000000000000000000000..6f9666e1327a45c9e5f5dc61b9b40fe1d8e43ba3 --- /dev/null +++ b/examples/PARAM/52949/scer.param.vt @@ -0,0 +1,23 @@ +;Values for Peter's new Cerenkov (BC 12/20/04) +scer_width = -3000, -3000, -30, -30 + +scer_adc_to_npe = -1/19.6819, 1/19.6819, 1/999999.9, 1/999999.9 + +scer_chi2max = 50. +scer_beta_min = 0.8 +scer_beta_max = 1.2 +scer_et_min = .95 +scer_et_max = 2.0 + +scer_mirror_zpos = 180 + +scer_region = 7, 7, -15, -15, 7. + 0, 0, -8, 8, 0. + 0, 0, 0, 0, 0. + 0, 0, 0, 0, 0. + 45, 45, 25, 25, 45. + 15, 15, 10, 10, 15. + .15, .15, .15, .15, .15 + .05, .05, .05, .05, .05 + +scer_ped_limit = 1000,1000,1000,1000 diff --git a/examples/PARAM/52949/sdc.param.vt.53000 b/examples/PARAM/52949/sdc.param.vt.53000 new file mode 100644 index 0000000000000000000000000000000000000000..7185a8b2413191835ee928e16f52a590281a46e1 --- /dev/null +++ b/examples/PARAM/52949/sdc.param.vt.53000 @@ -0,0 +1,55 @@ +;--------------------------------------------------------------------- +; SOS_TRACKING +; CTP parameter file containing all tracking parameters for the SOS +;---------------------------------------------------------------------- +; Names of each wire plane +; sdc_plane_names = 'sos1u1' +; 'sos1u2' +; 'sos1x1' +; 'sos1x2' +; 'sos1v1' +; 'sos1v2' +; 'sos2u1' +; 'sos2u2' +; 'sos2x1' +; 'sos2x2' +; 'sos2v1' +; 'sos2v2' +; sigma of wire chamber resolution for each plane + sdc_sigma = 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 +; sos dc tdc minimum tdc value array allowed for a good hit + sdc_tdc_min_win = 2600, 2600, 2600, 2600, 2600, 2600 + 2600, 2600, 2600, 2600, 2600, 2600 +; sos dc tdc maximum tdc value array allowed for a good hit + sdc_tdc_max_win = 3200, 3200, 3200, 3200, 3200, 3200 + 3200, 3200, 3200, 3200, 3200, 3200 +; sos drift chamber tdc's time per channel + sdc_tdc_time_per_channel = 0.5 +; sos zero time for drift chambers !DECREASING this number moves the sdtime plots to LOWER time. + sdc_plane_time_zero = (1440-10+26+86+30+2+4) + (1440-9.5+22+90+30+4) + (1440-9.25+22+94+30+4-2) + (1440-12+28+84+30+4+2) + (1440-11+24+86+30+2+2+4) + (1440-11+26+86+30+4) + (1440-11.5+24+86+30+6) + (1440-14+22+90+30+4) + (1440-13.5+22+84+30+4) + (1440-13.5+24+74+30+4+2) + (1440-11.5+22+82+30+4) + (1440-13.25+24+80+30+4) +; Dave Abbott's wire velocity correction +sdc_wire_velocity = 13.0 +sdc_central_time = 2.8,2.8,1.5,1.5,2.8,2.8 + 2.8,2.8,1.5,1.5,2.8,2.8 diff --git a/examples/PARAM/52949/sdc.pos b/examples/PARAM/52949/sdc.pos new file mode 100644 index 0000000000000000000000000000000000000000..015bb095b00e962a5384f0794b242c5a86450525 --- /dev/null +++ b/examples/PARAM/52949/sdc.pos @@ -0,0 +1,216 @@ +; Number of planes installed in SOS detector setup + sdc_num_planes = 12 +; Number of chambers installed in SOS detector setup + sdc_num_chambers = 2 +; Z positions of various planes in SOS chambers +; sdc_n_zpos is the surveyed Z position of the center of chamber n. + sdc_1_zpos = (-24.76+31.01) + sdc_2_zpos = ( 24.76+31.01) +; sdc_3_zpos =(247.50+31.01) + sdc_zpos = sdc_1_zpos - 1.5875 + sdc_1_zpos - 0.9525 + sdc_1_zpos - 0.3175 + sdc_1_zpos + 0.3175 + sdc_1_zpos + 0.9525 + sdc_1_zpos + 1.5875 + sdc_2_zpos - 1.5875 + sdc_2_zpos - 0.9525 + sdc_2_zpos - 0.3175 + sdc_2_zpos + 0.3175 + sdc_2_zpos + 0.9525 + sdc_2_zpos + 1.5875 +; Angle alpha of wires in wire chamber planes (.051,.045 degrees roll in dc1,2) + sdc_alpha_angle = ( 30-.051)*raddeg + ( 30-.051)*raddeg + ( 90-.051)*raddeg + ( 90-.051)*raddeg + (150-.051)*raddeg + (150-.051)*raddeg + ( 30-.045)*raddeg + ( 30-.045)*raddeg + ( 90-.045)*raddeg + ( 90-.045)*raddeg + (150-.045)*raddeg + (150-.045)*raddeg +; Angle beta of wires in wire chamber planes + sdc_beta_angle = -0.052*raddeg + -0.052*raddeg + -0.052*raddeg + -0.052*raddeg + -0.052*raddeg + -0.052*raddeg + -0.182*raddeg + -0.182*raddeg + -0.182*raddeg + -0.182*raddeg + -0.182*raddeg + -0.182*raddeg +; Angle gamma of wires in wire chamber planes + sdc_gamma_angle = -0.070*raddeg + -0.070*raddeg + -0.070*raddeg + -0.070*raddeg + -0.070*raddeg + -0.070*raddeg + -0.257*raddeg + -0.257*raddeg + -0.257*raddeg + -0.257*raddeg + -0.257*raddeg + -0.257*raddeg +; Pitch + sdc_pitch = 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 +; Number of wires per plane + sdc_nrwire = 48 + 48 + 64 + 64 + 48 + 48 + 48 + 48 + 64 + 64 + 48 + 48 +; X,Y position of center of wire chamber +; The given value is subtracted from the position of the wire (i.e. +; the sign is opposite of the actual center position of the chamber). +; Increasing dc2 coordinates increases dpos histograms. +; Values are from jan17, 1996 survey memo. values ARE corrected for +; 18 degree (optical axis) vs 17.85 degree (survey axis) discrepensy. + sdc_xcenter = (8.488-3.982) + (-1.822+1.825+0.35) + sdc_ycenter =(+0.007+.388+0.2) + (-0.197+0.379+0.2) +;; sdc_xcenter = 8.488 +;; -1.822 +;; sdc_ycenter =+0.007 +;; -0.197 +; +; sdc_ycenter(2) was -.197 from survey. -.087 is DD's correction +; based on (e,e'p) data (centering Em,Pm). +; + +; Wire number of center of wire chamber +; Note the convention : x : low number = -x , u,v : low number = "-x" +; x1 and x2, u1 and u2, v1 and v2 are offset by half a cell length +; assume 1st wire of 1st dc of a set is closest to edge where counting starts + sdc_central_wire = (24.75+.008+.0019) + (24.25-.008+.0064) + (32.75-.001-.0105) + (32.25+.001+.0021) + (24.25+.003+.0019) + (24.75-.003+.0075) + (24.75-.001-.0019) + (24.25+.001-.0078+.0120) + (32.75+.002-.0104-.0067) + (32.25-.002-.0007-.0053) + (24.25-.003-.0008-.0015) + (24.75+.003-.0081+.0131) +; with shifts to make resiudals line up with each other. +; sdc_central_wire = (24.75+.008) +; (24.25-.008) +; 32.75 +; 32.25 +; (24.25+.002) +; (24.75-.002) +; 24.75 +; 24.25 +; (32.75+.003) +; (32.25-.003) +; (24.25-.003) +; (24.75+.003) +; nov95 online values +; sdc_central_wire = (24.75+.008) +; (24.25-.008) +; (32.75-.009) +; (32.25+.009) +; 24.25 +; 24.75 +; (24.75-.005) +; (24.25+.005) +; 32.75 +; 32.25 +; (24.25-.006) +; (24.75+.006) +; s_chamber_planes array giving the chamber number for each plane + sdc_chamber_planes = 1 + 1 + 1 + 1 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2 +; The hms readout numbers some planes in reverse order. +; I (SAW) think that the SOS readout numbers are always in forward order +; The following array is a flag on the order number. +; If sdc_wire_counting(plane) = 0 +; the wire center is at (wire - sdc_central_wire) * pitch +; If sdc_wire_counting(plane) = 1 +; the wire center is at ( sdc_nrwire + 1 - wire - sdc_central_wire) * pitch + sdc_wire_counting = 1 + 0 + 1 + 0 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 +; The velocity correction is the distance from the center of the wire divided +; by the velocity of propagation times sdc_drifttime_sign(pln). +/-1 +; for disc. card at +/- coord. (i.e. top = -x direction, so top readout is +1) +; +; THESE ARE NOTHING BUT BAD GUESSES AT THE MOMENT!!!! +; + sdc_drifttime_sign = +1 + -1 + -1 + +1 + +1 + -1 + +1 + -1 + -1 + +1 + +1 + -1 +; Names of each wire plane +; sdc_plane_names = 'sos1u1' +; 'sos1u2' +; 'sos1x1' +; 'sos1x2' +; 'sos1v1' +; 'sos1v2' +; 'sos2u1' +; 'sos2u2' +; 'sos2x1' +; 'sos2x2' +; 'sos2v1' +; 'sos2v2' +; 'sos3u1' +; 'sos3u2' +; 'sos3x1' +; 'sos3x2' +; 'sos3v1' +; 'sos3v2' diff --git a/examples/PARAM/52949/sdc_offsets.param b/examples/PARAM/52949/sdc_offsets.param new file mode 100644 index 0000000000000000000000000000000000000000..596e78025531045597ed372bdcea6764a00563a8 --- /dev/null +++ b/examples/PARAM/52949/sdc_offsets.param @@ -0,0 +1,71 @@ +; cable id's for SOS Drift Chambers +; array is 64,12 (wires,planes)), but u and v planes have only 48/64 used. + +sdc_card_no= +; Plane 1, wires 1-48, 16 per card + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 2, wires 1-48, 16 per card + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 3, wires 1-64, 16 per card + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10 +; Plane 4, wires 1-64, 16 per card + 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11 + 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13 + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14 +; Plane 5, wires 1-48, 16 per card + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16 + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 6, wires 1-48, 16 per card + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18 + 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19 + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 1, wires 1-48, 16 per card + 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 + 22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22 + 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 2, wires 1-48, 16 per card + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24 + 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25 + 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 3, wires 1-64, 16 per card + 27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27 + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28 + 29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29 + 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30 +; Plane 4, wires 1-64, 16 per card + 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31 + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 + 33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33 + 34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34 +; Plane 5, wires 1-48, 16 per card + 35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35 + 36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36 + 37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 6, wires 1-48, 16 per card + 38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38 + 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 + 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; +; Cable Delays on a per/card basys +; +sdc_card_delay = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 diff --git a/examples/PARAM/52949/sdebug.param b/examples/PARAM/52949/sdebug.param new file mode 100644 index 0000000000000000000000000000000000000000..285818c5af3f50db8ca69d71ad846d9d0e036b7e --- /dev/null +++ b/examples/PARAM/52949/sdebug.param @@ -0,0 +1,122 @@ +; sos tracking code debug flags. +; when these flags are non-zero, dump routines are called to +; print out the data banks for each event. +; +; sluno fortran lun for output + sluno = 6 +; sdebugdumptof Dump timing information for fitting offsets + sdebugdumptof = 0 +; sdebugdumpcal Dump calorimeter information for fitting gains + sdebugdumpcal = 0 +; number of pedestal events required to overwrite orig. peds. + shodo_min_peds = 500 + scal_min_peds = 500 + scer_min_peds = 500 + saer_min_peds = 500 + sluc_min_peds = 500 + + +; DEBUGGING OUTPUT FLAGS +; ---------------------- +; sdebugprintrawdc Dump SDC_RAW_DC bank + sdebugprintrawdc = 0 +; sdebugprintdecodeddc DUMP SDC_DECODED_DC bank + sdebugprintdecodeddc = 0 +; sdebugflagpsi Dump calculated coordinate positions + sdebugflagpsi = 0 +; sdebugflaggeoemtry Dump calculated geometrical parameters + sdebugflaggeometry = 0 +; sdebugflagpr Dump intermediate pattern recognition results + sdebugflagpr = 0 +; sdebugflagstubchisq Dump chi2 of left-right fits + sdebugstubchisq = 0 +; sdebugflagstubs Dump stub fit results + sdebugflagstubs = 0 +; sdebuglinkstubs Dump link stub results + sdebuglinkstubs = 0 +; sdebugtrackprint Dump focal plane track fit results + sdebugtrackprint = 0 +; sdebugtartrackprint Dump tracks at target + sdebugtartrackprint = 0 +; tof debuging +; +; sdebugprintscinraw Dump SOS_RAW_SCIN + sdebugprintscinraw = 0 +; sdebugprintscindec Dump SOS_DECODED_SCIN + sdebugprintscindec = 0 +; sdebugprinttoftracks Dump sos_scin_tof + sdebugprinttoftracks = 0 +; sdebugprinttracktests Dump SOS_TRACK_TESTS + sdebugprinttracktests = 0 +; +; +; sos calorimeter debug flags +; slun_dbg_cal lun for output + slun_dbg_cal = sluno +; sdbg_raw_cal call s_prt_cal_raw + sdbg_raw_cal = 0 +; sdbg_sparsified_cal call s_prt_cal_sparsified + sdbg_sparsified_cal = 0 +; sdbg_decoded_cal call s_prt_cal_decoded + sdbg_decoded_cal = 0 +; sdbg_clusters_cal call s_prt_cal_clusters + sdbg_clusters_cal = 0 +; sdbg_tracks_cal call s_prt_cal_tracks + sdbg_tracks_cal = 0 +; sdbg_tests_cal call s_prt_cal_tests SOS_TRACK_TESTS + sdbg_tests_cal = 0 +; +; hard wired histograms. If these flags .ne. 0 then the histogram +; blocks are filled +; +; sturnon_scin_raw_hist Histogram SOS raw hodoscope data (all blocks) + sturnon_scin_raw_hist = 1 +; sturnon_decoded_dc_hist Histogram SOS_DECODED_DC + sturnon_decoded_dc_hist = 1 +; sturnon_focal_plane_hist Histogram SOS_FOCAL_PLANE + sturnon_focal_plane_hist = 1 +; sturnon_target_hist HISTOGRAM SOS_TARGET + sturnon_target_hist = 1 +; +; Bypass paramters to bypass code elementes in s_reconstruction +; Stored in sosbypass_switches.cmn +; Code element is bypassed if switch .ne. 0 +; sbypass_trans_dc bypass s_trans_dc + sbypass_trans_dc = 0 +; sbypass_track bypass s_track + sbypass_track = 0 +; sbypass_targ_trans bypass s_targ_trans + sbypass_targ_trans = 0 +; sbypass_dc_eff bypass s_dc_eff and s_dc_eff_shutdown + sbypass_dc_eff = 0 +; sbypass_track_eff bypass s_tracking efficiency code + sbypass_track_eff = 0 +; sbypass_track_eff_files bypass s_tracking efficiency output files + sbypass_track_eff_files = 1 + +; sbypass_trans_scin bypass s_trans_scin + sbypass_trans_scin = 0 +; sbypass_tof bypass s_tof + sbypass_tof = 0 +; sbypass_scin_eff bypass s_scin_eff and s_scin_eff_shutdown + sbypass_scin_eff = 0 + +; sbypass_trans_cer bypass s_trans_cer + sbypass_trans_cer = 0 +; sbypass_cer bypass s_cer, (a dummy routine) + sbypass_cer = 1 +; sbypass_cer_eff bypass s_cer_eff and s_cer_eff_shutdown + sbypass_cer_eff = 0 + +; sbypass_aero bypass s_aero + sbypass_aero = 0 + +; sbypass_trans_cal bypass s_trans_cal + sbypass_trans_cal = 0 +; sbypass_cal bypass s_cal + sbypass_cal = 0 +; sbypass_cal_eff bypass s_cal_eff and s_cal_eff_shutdown + sbypass_cal_eff = 0 + +; sbypass_physics bypass s_physics + sbypass_physics = 0 diff --git a/examples/PARAM/52949/shodo.param.vt b/examples/PARAM/52949/shodo.param.vt new file mode 100644 index 0000000000000000000000000000000000000000..3d367ac9980faf72ea9c889ba991d8587061cd82 --- /dev/null +++ b/examples/PARAM/52949/shodo.param.vt @@ -0,0 +1,190 @@ +; sstart_time_center center of allowed time window + sstart_time_center = 32. +; sstart_time_slop 1/2 width of time window + sstart_time_slop = 25. +; sscin_tdc_min minimum tdc value in sos scin + sscin_tdc_min = 0 +; sscin_tdc_max maximum allowed tdc value +; sscin_tdc_max = 9000 +; 19.08.1999 At suggestion of Mack, reduce to 4000 to get rid of +; bad beta values. + + sscin_tdc_max = 4000 + ; sscin_tdc_to_time scin tdc time per channel + sscin_tdc_to_time = 0.0247 ; Monte Carlo Value + +;;; All the following taken from hhodo.param +; sos_tof_params +; snum_scin_counters, shodo_zpos, shodo_center_coord, shodo_width +; are all calculated within s_init_scin +; shodo_pos_coord and shodo_neg_coord are not yet used +; + shodo_slop = 2., 2., 4., 4. +; + shodo_vel_light = 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 +; + shodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 +; + shodo_neg_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + + + shodo_pos_minph = 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + + shodo_neg_minph = 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + +; shodo_pos_phc_coeff = -.9,-.764,-.9,-.952 +; shodo_pos_phc_coeff = -.9,-.820,-.95,-1.0 +; shodo_pos_phc_coeff = -1.1,-1.2,-1.0,-1.1 + shodo_pos_phc_coeff = -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + +; shodo_neg_phc_coeff = -.9,-.764,-.9,-.952 +; shodo_neg_phc_coeff = -.9,-.820,-.95,-1.0 +; shodo_neg_phc_coeff = -1.1,-1.2,-1.0,-101 + shodo_neg_phc_coeff = -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + + +;order = 1x, 1y, 2x, 2y? Yes. +; +;i changed s2x pos, 6th from bottom (11), from -34.4628 to -33.4628 + +shodo_pos_time_offset = -11.1561, -8.2512, -20.8399, -22.1478 + -4.9220, -6.1990, -17.2972, -20.6541 + -6.5630, -6.5562, -17.2113, -25.0076 + 2.0654, -5.2586, -21.0289, -23.7117 + -2.3622, -2.7236, -16.4206, -23.6527 + -1.7189, -3.5400, -19.5546, -25.5267 + -5.8419, -9.0256, -20.5453, -20.3712 + -3.0988, -7.5451, -18.7901, -19.9287 + -1.5768, -4.2217, -21.4121, -19.8550 + 0.0000, -1.9975, -17.1522, 0.0000 + 0.0000, 0.0000, -18.5695, -1.9975 + 0.0000, 0.0000, -17.0718, 0.0000 + 0.0000, 0.0000, -22.3547, 0.0000 + 0.0000, 0.0000, -14.7852, 0.0000 + 0.0000, 0.0000, -18.4089, 0.0000 + 0.0000, 0.0000, -10.5723, 0.0000 +shodo_neg_time_offset = -4.3414, -4.2570, 5.1140, -22.1772 + 3.9469, -7.2221, -12.6892, -23.5859 + 6.2738, -5.4030, -3.5626, -21.8087 + -1.2458, -4.2156, -12.7788, -22.9824 + 2.3585, -1.7379, -8.9527, -17.2679 + 6.4054, -6.1500, -15.9257, -24.4995 + 4.7343, -5.9226, -2.0483, -19.6460 + 8.0788, -1.1443, -16.5313, -18.6606 + 1.9380, -4.3016, -2.5992, -24.3681 + 0.0000, -1.9975, -17.5387, 0.0000 + 0.0000, 0.0000, -0.7155, 0.0000 + 0.0000, 0.0000, -14.6707, -1.9975 + 0.0000, 0.0000, -1.2884, 0.0000 + 0.0000, 0.0000, -10.0645, 0.0000 + 0.0000, 0.0000, 0.9972, 0.0000 + 0.0000, 0.0000, -9.2349, 0.0000 + +; + shodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 +; + shodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + diff --git a/examples/PARAM/52949/shodo.pos b/examples/PARAM/52949/shodo.pos new file mode 100644 index 0000000000000000000000000000000000000000..48a656addb0ce0689898b60810796cbaf56df15e --- /dev/null +++ b/examples/PARAM/52949/shodo.pos @@ -0,0 +1,103 @@ + spathlength_central = 750 +; Z positions of hodoscopes + sscin_1y_zpos = ( 42.6+31.01) + sscin_1x_zpos = ( 66.1+31.01+0.9) + sscin_2y_zpos = (218.5+31.01-1.4) + sscin_2x_zpos = (242.0+31.01+17.8-1.4) + sscin_1x_dzpos = 1.12 + sscin_1y_dzpos = 1.12 + sscin_2x_dzpos = 1.12 + sscin_2y_dzpos = 1.12 +; Sizes of hodoscope paddles + sscin_1x_size = 7.303 + sscin_1y_size = 4.445 + sscin_2x_size = 7.303 + sscin_2y_size = 4.445 + sscin_1x_spacing = 7.025 + sscin_1y_spacing = 4.050 + sscin_2x_spacing = 7.025 + sscin_2y_spacing = 4.050 +; Number of hodoscope paddles per layer + sscin_1x_nr = 9 + sscin_1y_nr = 9 + sscin_2x_nr = 16 + sscin_2y_nr = 9 +; X,Y positions of hodoscope paddles + sscin_1x_left = 23.5 + sscin_1x_right = -23.5 + sscin_1x_offset= -0.25 + sscin_1x_center= -28.100 + -21.075 + -14.050 + -7.025 + 0.000 + 7.025 + 14.050 + 21.075 + 28.100 + sscin_1y_top = -36.8 + sscin_1y_bot = 36.8 +; increasing offset moves "delta y" histogram move to larger y. + sscin_1y_offset= 0.0 + + sscin_1y_center= 16.20 + 12.15 + 8.10 + 4.05 + 0.00 + -4.05 + -8.10 + -12.15 + -16.20 + sscin_2x_left = 34.00 + sscin_2x_right = -34.00 + sscin_2x_offset= 4.57 + sscin_2x_center= -55.700 + -48.675 + -41.650 + -34.625 + -27.600 + -20.575 + -13.550 + -6.525 + 0.500 + 7.525 + 14.550 + 21.575 + 28.600 + 35.625 + 42.650 + 49.675 + + +; -60.25 ; Values from old variable "top" +; -52.75 +; -45.25 +; -37.75 +; -30.25 +; -22.75 +; -15.25 +; -7.75 +; -0.25 +; 7.25 +; 14.75 +; 22.25 +; 29.75 +; 37.25 +; 44.75 +; 52.25 + + + sscin_2y_top = -57.15 + sscin_2y_bot = 57.15 +; increasing offset moves "delta y" histogram move to larger y. + sscin_2y_offset= 0.8 + sscin_2y_center= 16.20 + 12.15 + 8.10 + 4.05 + 0.00 + -4.05 + -8.10 + -12.15 + -16.20 diff --git a/examples/PARAM/52949/sos.driftmap.vt.52930 b/examples/PARAM/52949/sos.driftmap.vt.52930 new file mode 100644 index 0000000000000000000000000000000000000000..48e704906f074889bda84261cca05a9048198991 --- /dev/null +++ b/examples/PARAM/52949/sos.driftmap.vt.52930 @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +sdriftbins=138 +;number of 1st bin in Meek's table in ns +sdrift1stbin=-24 +;bin size in ns of Meek's table +sdriftbinsz=2 +swc1u1fract=0.0003,0.0006,0.0009,0.0012,0.0015,0.0018,0.0022,0.0026 +0.0029,0.0032,0.0035,0.0038,0.0042,0.0049,0.0057,0.0072,0.0095,0.0129 +0.0180,0.0244,0.0322,0.0415,0.0517,0.0638,0.0781,0.0936,0.1097,0.1280 +0.1483,0.1701,0.1922,0.2155,0.2397,0.2644,0.2902,0.3157,0.3421,0.3675 +0.3944,0.4199,0.4453,0.4718,0.4963,0.5215,0.5461,0.5696,0.5930,0.6155 +0.6377,0.6585,0.6787,0.6985,0.7179,0.7375,0.7552,0.7728,0.7906,0.8071 +0.8229,0.8390,0.8542,0.8679,0.8804,0.8915,0.9015,0.9106,0.9184,0.9256 +0.9317,0.9371,0.9420,0.9464,0.9507,0.9542,0.9573,0.9601,0.9630,0.9653 +0.9679,0.9701,0.9722,0.9739,0.9758,0.9773,0.9787,0.9801,0.9813,0.9824 +0.9832,0.9842,0.9849,0.9856,0.9862,0.9867,0.9873,0.9880,0.9884,0.9888 +0.9893,0.9897,0.9902,0.9906,0.9910,0.9915,0.9918,0.9921,0.9925,0.9928 +0.9931,0.9934,0.9937,0.9941,0.9947,0.9950,0.9952,0.9956,0.9959,0.9963 +0.9965,0.9968,0.9971,0.9972,0.9975,0.9977,0.9980,0.9984,0.9987,0.9989 +0.9991,0.9993,0.9995,0.9997,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +swc1u2fract=0.0002,0.0006,0.0008,0.0011,0.0014,0.0018,0.0022,0.0026 +0.0030,0.0033,0.0036,0.0039,0.0042,0.0045,0.0050,0.0058,0.0070,0.0087 +0.0118,0.0163,0.0223,0.0295,0.0377,0.0481,0.0609,0.0742,0.0887,0.1057 +0.1244,0.1442,0.1652,0.1879,0.2111,0.2351,0.2608,0.2867,0.3121,0.3379 +0.3641,0.3902,0.4150,0.4403,0.4653,0.4908,0.5151,0.5382,0.5612,0.5847 +0.6064,0.6286,0.6504,0.6704,0.6900,0.7098,0.7294,0.7480,0.7666,0.7845 +0.8015,0.8188,0.8340,0.8479,0.8627,0.8752,0.8872,0.8976,0.9069,0.9151 +0.9223,0.9289,0.9347,0.9399,0.9448,0.9491,0.9529,0.9562,0.9593,0.9623 +0.9648,0.9671,0.9691,0.9712,0.9731,0.9750,0.9765,0.9779,0.9792,0.9803 +0.9815,0.9825,0.9835,0.9842,0.9850,0.9859,0.9865,0.9872,0.9876,0.9881 +0.9886,0.9891,0.9897,0.9900,0.9904,0.9908,0.9911,0.9915,0.9918,0.9922 +0.9926,0.9932,0.9936,0.9939,0.9942,0.9945,0.9948,0.9951,0.9954,0.9957 +0.9958,0.9959,0.9962,0.9965,0.9968,0.9972,0.9975,0.9978,0.9981,0.9983 +0.9986,0.9988,0.9991,0.9994,0.9996,0.9997,0.9999,1.0000,1.0000,1.0000 +swc1x1fract=0.0002,0.0004,0.0008,0.0009,0.0011,0.0013,0.0015,0.0018 +0.0021,0.0024,0.0026,0.0029,0.0033,0.0037,0.0042,0.0049,0.0058,0.0074 +0.0107,0.0144,0.0207,0.0285,0.0378,0.0480,0.0607,0.0748,0.0913,0.1094 +0.1286,0.1499,0.1715,0.1943,0.2181,0.2425,0.2673,0.2929,0.3185,0.3434 +0.3678,0.3929,0.4177,0.4434,0.4680,0.4919,0.5156,0.5388,0.5626,0.5858 +0.6083,0.6303,0.6509,0.6706,0.6897,0.7089,0.7287,0.7484,0.7662,0.7831 +0.8000,0.8166,0.8329,0.8481,0.8628,0.8765,0.8884,0.8995,0.9088,0.9173 +0.9247,0.9310,0.9370,0.9419,0.9468,0.9509,0.9548,0.9584,0.9614,0.9638 +0.9665,0.9690,0.9711,0.9730,0.9746,0.9762,0.9777,0.9790,0.9801,0.9812 +0.9822,0.9830,0.9839,0.9846,0.9854,0.9861,0.9867,0.9874,0.9879,0.9885 +0.9889,0.9895,0.9898,0.9902,0.9907,0.9910,0.9915,0.9919,0.9922,0.9925 +0.9928,0.9931,0.9934,0.9937,0.9941,0.9943,0.9946,0.9949,0.9953,0.9955 +0.9959,0.9962,0.9964,0.9967,0.9969,0.9972,0.9976,0.9977,0.9979,0.9981 +0.9983,0.9985,0.9987,0.9991,0.9992,0.9993,0.9995,0.9997,0.9999,1.0000 +swc1x2fract=0.0003,0.0006,0.0009,0.0012,0.0015,0.0018,0.0021,0.0025 +0.0027,0.0030,0.0032,0.0037,0.0041,0.0048,0.0057,0.0074,0.0097,0.0135 +0.0176,0.0233,0.0300,0.0385,0.0489,0.0610,0.0749,0.0902,0.1067,0.1253 +0.1448,0.1653,0.1873,0.2102,0.2341,0.2586,0.2832,0.3086,0.3343,0.3597 +0.3860,0.4122,0.4373,0.4632,0.4891,0.5140,0.5391,0.5630,0.5857,0.6086 +0.6300,0.6511,0.6721,0.6917,0.7121,0.7308,0.7502,0.7684,0.7862,0.8032 +0.8191,0.8352,0.8500,0.8642,0.8770,0.8885,0.8992,0.9082,0.9170,0.9243 +0.9312,0.9368,0.9421,0.9471,0.9513,0.9551,0.9585,0.9617,0.9646,0.9672 +0.9695,0.9715,0.9735,0.9752,0.9766,0.9780,0.9794,0.9804,0.9816,0.9824 +0.9833,0.9841,0.9848,0.9853,0.9860,0.9867,0.9872,0.9879,0.9884,0.9888 +0.9892,0.9896,0.9900,0.9904,0.9908,0.9913,0.9915,0.9919,0.9922,0.9925 +0.9930,0.9934,0.9938,0.9942,0.9945,0.9949,0.9953,0.9955,0.9959,0.9961 +0.9965,0.9968,0.9970,0.9972,0.9975,0.9977,0.9980,0.9983,0.9984,0.9986 +0.9989,0.9992,0.9995,0.9996,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000 +swc1v1fract=0.0003,0.0006,0.0008,0.0012,0.0015,0.0019,0.0021,0.0024 +0.0027,0.0031,0.0035,0.0040,0.0043,0.0049,0.0056,0.0069,0.0088,0.0119 +0.0165,0.0227,0.0299,0.0386,0.0493,0.0610,0.0746,0.0891,0.1053,0.1241 +0.1445,0.1648,0.1861,0.2087,0.2333,0.2575,0.2830,0.3087,0.3344,0.3612 +0.3881,0.4143,0.4389,0.4642,0.4898,0.5151,0.5397,0.5641,0.5879,0.6102 +0.6317,0.6520,0.6728,0.6932,0.7131,0.7321,0.7507,0.7690,0.7866,0.8044 +0.8210,0.8359,0.8508,0.8643,0.8772,0.8889,0.8994,0.9087,0.9171,0.9245 +0.9311,0.9367,0.9419,0.9463,0.9507,0.9543,0.9576,0.9605,0.9633,0.9659 +0.9682,0.9704,0.9722,0.9741,0.9756,0.9770,0.9784,0.9796,0.9809,0.9819 +0.9828,0.9837,0.9847,0.9854,0.9862,0.9870,0.9875,0.9881,0.9885,0.9891 +0.9896,0.9901,0.9905,0.9910,0.9913,0.9916,0.9920,0.9924,0.9928,0.9931 +0.9935,0.9938,0.9940,0.9943,0.9946,0.9950,0.9953,0.9955,0.9959,0.9963 +0.9966,0.9968,0.9972,0.9974,0.9977,0.9980,0.9982,0.9986,0.9988,0.9991 +0.9993,0.9995,0.9997,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +swc1v2fract=0.0002,0.0004,0.0009,0.0012,0.0015,0.0018,0.0022,0.0025 +0.0028,0.0032,0.0035,0.0040,0.0043,0.0048,0.0054,0.0063,0.0083,0.0109 +0.0148,0.0198,0.0264,0.0340,0.0440,0.0559,0.0698,0.0840,0.1000,0.1183 +0.1380,0.1587,0.1807,0.2035,0.2277,0.2523,0.2784,0.3023,0.3278,0.3530 +0.3794,0.4062,0.4309,0.4571,0.4822,0.5079,0.5316,0.5552,0.5783,0.6019 +0.6246,0.6465,0.6674,0.6866,0.7064,0.7247,0.7443,0.7625,0.7805,0.7978 +0.8145,0.8303,0.8454,0.8599,0.8726,0.8844,0.8953,0.9042,0.9126,0.9202 +0.9265,0.9326,0.9379,0.9428,0.9469,0.9507,0.9539,0.9570,0.9603,0.9628 +0.9654,0.9679,0.9700,0.9719,0.9736,0.9755,0.9770,0.9784,0.9797,0.9808 +0.9820,0.9830,0.9840,0.9848,0.9854,0.9862,0.9869,0.9875,0.9880,0.9885 +0.9890,0.9893,0.9897,0.9901,0.9904,0.9908,0.9913,0.9917,0.9921,0.9925 +0.9928,0.9932,0.9936,0.9938,0.9942,0.9944,0.9948,0.9951,0.9954,0.9956 +0.9959,0.9962,0.9965,0.9968,0.9972,0.9975,0.9978,0.9980,0.9984,0.9986 +0.9989,0.9990,0.9993,0.9995,0.9997,0.9999,1.0000,1.0000,1.0000,1.0000 +swc2u1fract=0.0003,0.0004,0.0006,0.0008,0.0011,0.0014,0.0016,0.0019 +0.0023,0.0025,0.0027,0.0032,0.0034,0.0038,0.0042,0.0046,0.0055,0.0073 +0.0109,0.0157,0.0218,0.0296,0.0395,0.0499,0.0634,0.0788,0.0953,0.1139 +0.1328,0.1539,0.1753,0.1990,0.2233,0.2479,0.2729,0.2982,0.3240,0.3493 +0.3758,0.4000,0.4259,0.4503,0.4749,0.4997,0.5229,0.5458,0.5676,0.5900 +0.6115,0.6331,0.6535,0.6740,0.6946,0.7143,0.7334,0.7525,0.7710,0.7883 +0.8050,0.8223,0.8380,0.8534,0.8691,0.8821,0.8939,0.9048,0.9144,0.9223 +0.9291,0.9354,0.9413,0.9463,0.9511,0.9550,0.9589,0.9623,0.9651,0.9678 +0.9702,0.9725,0.9743,0.9764,0.9782,0.9799,0.9812,0.9826,0.9835,0.9845 +0.9855,0.9866,0.9875,0.9882,0.9888,0.9895,0.9899,0.9903,0.9907,0.9911 +0.9916,0.9920,0.9922,0.9926,0.9930,0.9933,0.9936,0.9939,0.9941,0.9945 +0.9946,0.9949,0.9952,0.9955,0.9958,0.9961,0.9964,0.9966,0.9967,0.9970 +0.9973,0.9975,0.9977,0.9979,0.9981,0.9983,0.9985,0.9988,0.9990,0.9992 +0.9993,0.9995,0.9997,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +swc2u2fract=0.0003,0.0006,0.0009,0.0011,0.0013,0.0016,0.0019,0.0022 +0.0025,0.0028,0.0031,0.0033,0.0037,0.0042,0.0046,0.0054,0.0066,0.0085 +0.0121,0.0173,0.0233,0.0315,0.0408,0.0523,0.0655,0.0802,0.0962,0.1150 +0.1347,0.1562,0.1783,0.2008,0.2245,0.2495,0.2744,0.2998,0.3252,0.3511 +0.3766,0.4014,0.4260,0.4522,0.4767,0.5012,0.5246,0.5472,0.5693,0.5918 +0.6134,0.6347,0.6555,0.6760,0.6967,0.7166,0.7353,0.7538,0.7717,0.7896 +0.8059,0.8224,0.8377,0.8532,0.8672,0.8798,0.8914,0.9018,0.9113,0.9196 +0.9268,0.9329,0.9384,0.9436,0.9482,0.9524,0.9563,0.9595,0.9623,0.9652 +0.9678,0.9701,0.9725,0.9743,0.9763,0.9780,0.9795,0.9809,0.9822,0.9836 +0.9846,0.9856,0.9865,0.9872,0.9881,0.9887,0.9894,0.9900,0.9905,0.9909 +0.9913,0.9918,0.9922,0.9925,0.9928,0.9932,0.9935,0.9939,0.9943,0.9945 +0.9947,0.9950,0.9953,0.9956,0.9959,0.9962,0.9965,0.9967,0.9969,0.9971 +0.9974,0.9976,0.9978,0.9979,0.9982,0.9983,0.9985,0.9988,0.9989,0.9992 +0.9994,0.9995,0.9997,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +swc2x1fract=0.0002,0.0003,0.0005,0.0007,0.0009,0.0012,0.0015,0.0017 +0.0019,0.0022,0.0024,0.0027,0.0030,0.0034,0.0037,0.0042,0.0053,0.0076 +0.0114,0.0164,0.0230,0.0321,0.0425,0.0559,0.0713,0.0874,0.1053,0.1244 +0.1453,0.1671,0.1904,0.2138,0.2379,0.2626,0.2880,0.3134,0.3387,0.3635 +0.3898,0.4143,0.4396,0.4637,0.4877,0.5117,0.5354,0.5587,0.5817,0.6041 +0.6259,0.6462,0.6672,0.6861,0.7055,0.7247,0.7439,0.7620,0.7804,0.7972 +0.8143,0.8301,0.8461,0.8608,0.8747,0.8879,0.8991,0.9100,0.9185,0.9266 +0.9339,0.9400,0.9456,0.9504,0.9546,0.9586,0.9621,0.9651,0.9680,0.9707 +0.9729,0.9752,0.9771,0.9787,0.9802,0.9817,0.9830,0.9844,0.9854,0.9864 +0.9872,0.9879,0.9887,0.9893,0.9900,0.9904,0.9909,0.9913,0.9917,0.9920 +0.9924,0.9928,0.9931,0.9934,0.9937,0.9940,0.9944,0.9946,0.9949,0.9952 +0.9955,0.9958,0.9960,0.9963,0.9966,0.9968,0.9969,0.9971,0.9973,0.9975 +0.9977,0.9979,0.9981,0.9983,0.9985,0.9987,0.9989,0.9991,0.9993,0.9995 +0.9997,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +swc2x2fract=0.0003,0.0005,0.0007,0.0009,0.0012,0.0015,0.0017,0.0020 +0.0023,0.0026,0.0028,0.0031,0.0035,0.0038,0.0042,0.0049,0.0062,0.0086 +0.0124,0.0181,0.0260,0.0356,0.0472,0.0604,0.0755,0.0926,0.1114,0.1316 +0.1528,0.1752,0.1988,0.2231,0.2482,0.2736,0.2986,0.3234,0.3485,0.3740 +0.3994,0.4241,0.4486,0.4723,0.4957,0.5198,0.5425,0.5660,0.5881,0.6100 +0.6308,0.6520,0.6720,0.6924,0.7125,0.7307,0.7488,0.7666,0.7842,0.8018 +0.8182,0.8336,0.8491,0.8628,0.8764,0.8891,0.9004,0.9107,0.9196,0.9272 +0.9336,0.9400,0.9452,0.9502,0.9544,0.9582,0.9618,0.9644,0.9672,0.9698 +0.9724,0.9748,0.9766,0.9785,0.9803,0.9815,0.9828,0.9840,0.9849,0.9858 +0.9870,0.9880,0.9887,0.9894,0.9899,0.9906,0.9911,0.9916,0.9921,0.9925 +0.9928,0.9932,0.9936,0.9939,0.9942,0.9944,0.9947,0.9950,0.9953,0.9955 +0.9959,0.9962,0.9965,0.9968,0.9970,0.9973,0.9976,0.9978,0.9980,0.9982 +0.9985,0.9987,0.9990,0.9992,0.9993,0.9995,0.9998,0.9998,0.9999,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +swc2v1fract=0.0002,0.0004,0.0007,0.0008,0.0011,0.0013,0.0016,0.0018 +0.0022,0.0025,0.0027,0.0030,0.0033,0.0036,0.0040,0.0045,0.0054,0.0072 +0.0103,0.0149,0.0206,0.0278,0.0366,0.0478,0.0604,0.0752,0.0912,0.1092 +0.1283,0.1490,0.1710,0.1948,0.2179,0.2425,0.2677,0.2934,0.3202,0.3454 +0.3710,0.3971,0.4227,0.4478,0.4730,0.4979,0.5215,0.5450,0.5682,0.5898 +0.6132,0.6347,0.6550,0.6756,0.6962,0.7152,0.7330,0.7526,0.7705,0.7881 +0.8045,0.8209,0.8363,0.8516,0.8660,0.8794,0.8920,0.9027,0.9126,0.9207 +0.9279,0.9339,0.9398,0.9449,0.9495,0.9537,0.9576,0.9609,0.9642,0.9672 +0.9697,0.9719,0.9739,0.9758,0.9777,0.9792,0.9807,0.9822,0.9833,0.9845 +0.9858,0.9867,0.9876,0.9885,0.9892,0.9897,0.9903,0.9909,0.9913,0.9917 +0.9921,0.9925,0.9930,0.9932,0.9937,0.9940,0.9943,0.9946,0.9950,0.9953 +0.9956,0.9958,0.9961,0.9964,0.9966,0.9969,0.9970,0.9973,0.9975,0.9978 +0.9980,0.9983,0.9984,0.9986,0.9988,0.9990,0.9992,0.9994,0.9995,0.9997 +0.9998,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +swc2v2fract=0.0003,0.0005,0.0008,0.0011,0.0014,0.0017,0.0021,0.0023 +0.0026,0.0030,0.0033,0.0037,0.0040,0.0044,0.0048,0.0058,0.0072,0.0100 +0.0142,0.0202,0.0277,0.0370,0.0483,0.0618,0.0772,0.0943,0.1129,0.1334 +0.1548,0.1765,0.2008,0.2243,0.2486,0.2732,0.2983,0.3233,0.3499,0.3751 +0.4002,0.4256,0.4508,0.4746,0.4984,0.5220,0.5460,0.5690,0.5898,0.6111 +0.6320,0.6528,0.6725,0.6925,0.7121,0.7307,0.7492,0.7669,0.7837,0.8005 +0.8178,0.8339,0.8496,0.8639,0.8780,0.8898,0.9007,0.9104,0.9191,0.9264 +0.9328,0.9387,0.9438,0.9483,0.9525,0.9562,0.9600,0.9633,0.9659,0.9690 +0.9714,0.9736,0.9756,0.9772,0.9788,0.9804,0.9818,0.9831,0.9843,0.9853 +0.9861,0.9871,0.9880,0.9889,0.9896,0.9902,0.9907,0.9913,0.9917,0.9921 +0.9924,0.9928,0.9932,0.9935,0.9938,0.9942,0.9945,0.9948,0.9950,0.9953 +0.9956,0.9958,0.9961,0.9964,0.9966,0.9969,0.9973,0.9976,0.9980,0.9981 +0.9983,0.9985,0.9987,0.9989,0.9991,0.9993,0.9994,0.9995,0.9997,0.9999 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 diff --git a/examples/PARAM/52949/sosflags.param b/examples/PARAM/52949/sosflags.param new file mode 100644 index 0000000000000000000000000000000000000000..b6044a54bc4022090ae1a0b87747335b33282d34 --- /dev/null +++ b/examples/PARAM/52949/sosflags.param @@ -0,0 +1,42 @@ +; Offset in the spectrometer momentum. + smomentum_factor = 0.000 ; leave 0 so it will have no effect + ; use spcentral_offset if one needs to offset central momentum +; +; The sdelta_offset,stheta_offset,sphi_offset effect the +; reconstructed target quantities. Used in s_targ_trans.f +; For transport x is in the dispersive direction with + down +; y is in the horizontal + towards large angles. +; z is along the central optics axis. +; In transport coordinates phi = syptar = dy/dz and theta = sxptar = dx/dz +; but for unknown reasons the yp offset is named stheta_offset +; and the xp offset is named sphi_offset +; Do not to change these values, since these are the zero order +; CMOP matrix elements. If you do change then your soss sieve +; plots will be screwed up. + sdelta_offset = 0. ; (%) sdelta_tar = sdelta_tar + sdelta_offset + stheta_offset = 0. ; (rad) syp_tar = syp_tar + stheta_offset + sphi_offset = 0. ; (rad) sxp_tar = sxp_tar + sphi_offset + +;saturation correction enable + genable_sos_satcorr = 1 ;(0=disabled) - STRACKING/s_satcorr.f + ; event by event correction to ssdelta +;central field saturation correction enable + genable_sos_fieldcorr = 2003 ;(0=disabled) - ENGINE/s_fieldcorr.f +; genable_sos_fieldcorr = 2003 means using C. Xu's parametrization +; genable_sos_fieldcorr = 1999 means using J. Volmer's parametrization +; either one determines sosp0corr which effects spcentral = spcentral*(1+sosp0corr/100.) +; +; The following offsets are applied to the central kinematic variables +; in s_apply_offsets.f . These might be modified by an experiment +; after doing calibration with elastic ep +; + spcentral_offset = 0.0 ; sets spcentral = spcentral * ( 1. + spcentral_offset / 100. ) + sthetacentral_offset = 0.00 ; (rad) + ;stheta_lab=stheta_lab + sthetacentral_offset/degree +; This offset is determined from elastic ep data. +; Must be added to ssxptar when used in calculating lab angles. +; Example is in s_physics.f +; + s_oopcentral_offset = 0.0032 ; (rad) + + diff --git a/examples/PARAM/52949/stracking.param b/examples/PARAM/52949/stracking.param new file mode 100644 index 0000000000000000000000000000000000000000..6005ea75085d6c1cbd08c5fabdd64923769a0bc4 --- /dev/null +++ b/examples/PARAM/52949/stracking.param @@ -0,0 +1,76 @@ +; sos pattern recognition and tracking code parameters +; sminhit(i) minimum number of hits in each space point (one for each chamber) +; smin_combos(i) minimum number of pairs in each space point ( one per chamber) +; sspace_point_criterion(i) minimum separation of distinct space points +; + smax_pr_hits = 25, 25 + smin_hit = 5, 5 + smin_combos = 6, 6 + sspace_point_criterion = 1.2, 1.2 +; +; The following four criteria are applied to the stub fit results at the +; focal plane position to link stubs to tracks +; sxt_track_criterion +; syt_track_criterion +; sxpt_track_criterion +; sypt_track_criterion + sxt_track_criterion = 100. + syt_track_criterion = 20. + sxpt_track_criterion = 1.0 + sypt_track_criterion = 1.0 +; ssingle_stub If .ne. 0 make a track of all single stubs + ssingle_stub = 0 +; turn on/off small angle approximation to left/right decision for y + sSmallAngleApprox = 1 +; +; Crude track selection criteria in s_physics +; ssel_chi2_fpperdegmax maximum chi2 per degree of freedom for track + ssel_chi2_fpperdegmax = 9999999. +; ssel_dedx1min minimum dedx to chose best track in scin 1 + ssel_dedx1min = -1000000. +; ssel_dedx1max maximum dedx to chose best track in scin 1 + ssel_dedx1max = 1000000. +; ssel_betamin minimum track beta to chose best track + ssel_betamin = -1000000. +; ssel_betamax maximum track beta to chose best track + ssel_betamax = 1000000. +; ssel_etmin minimum track et to chose best track + ssel_etmin = -1000000. +; ssel_etmax maximum track et to chose best track + ssel_etmax = 1000000. +; ssel_ndegreesmin minimum number of degrees of freedom for track + ssel_ndegreesmin = 1 + +; ssel_using_scin uses scintillator for track selection + ssel_using_scin = 1 + +; sstat_maxchisq chisquared limit for tracks used to measure hodo. eff. + sstat_maxchisq = 10. +; sstat_slop distance from center of scin. to count as expecting hit +; must be < 2 cm. since s1y and s2y scins. are only +/- 2cm in size. + sstat_slop = 1. +; sstat_mineff warning level for scin. effic. + sstat_mineff = .95 +; sstat_cal_maxchisq chisquared limit for tracks used to measure cal. eff. + sstat_cal_maxchisq = 10. +; sstat_cal_slop distance from center of block to count as expecting hit + sstat_cal_slop = 2. +; scer_min_eff warning level for cerenkov effic. + scer_min_eff = .90 +; scer_threshold threshold for good hit (for measureing effic.) + scer_threshold = 0.5 +; sdc_min_eff warning level for dc raw effic.(1 per plane) + sdc_min_eff = .96,.96,.96,.96,.96,.96 + .96,.96,.96,.96,.96,.96 +; sdc_min_wire_eff warning level for wire effic, measured using tracking + sdc_min_wire_eff = .85 +; sdc_min_plane_eff warning level for plane effic, measured using tracking + sdc_min_plane_eff = .95,.95,.95,.95,.95,.95 + .95,.95,.95,.95,.95,.95 + sxloscin = 2, 3 + sxhiscin = 8, 14 + syloscin = 2, 2 + syhiscin = 8, 8 +; strack_eff_test_scin_planes is the number of planes nec needed to +; set sweet spot to true. 4 is extra clean, 3 is good enough for e-'s. + strack_eff_test_num_scin_planes = 4 diff --git a/examples/PARAM/gbeam.param b/examples/PARAM/gbeam.param new file mode 100644 index 0000000000000000000000000000000000000000..a2a6aa537420fc77e47d69bd20be2fe45f3b538a --- /dev/null +++ b/examples/PARAM/gbeam.param @@ -0,0 +1,96 @@ +; BPM calibration constants +; ========================= + guse_bpm_in_recon = 0 ; if 1 use bpm information for reconstruction + guse_bpmc = 1 ; if 1 use all 3 bpm info, if 0 use bpm A and B + gbpm_sample = 500 ; number of events, which are used for average + ; beam position ( <5000 ). Optimal value dep. on rate + +; the names are based on Paul Gueye's 'Status of the actual Beam Position +; Monitors in the Hall C Beamline', December 1, 1995. +; (mkj) apr-4-03 kappa,alpha and off for 3rd bpm are guesses, +; need to find right values. +; +; gbpm_kappa = 1.85 ,1.85,1.85 ; sensitivity in cm +gbpm_kappa = 2.00 ,1.95,1.85 ; modified mkj 4/9/03 + gbpm_alpha_x = 1.8192,0.7330 ,0.7 ; calibration gain: we may get them from the + gbpm_alpha_y = 1.0063,0.8935 ,0.7 ; EPICS events, right now that's according to Paul's note + +; the following offsets get added to the calculated positions +; gbpm_x_off = -0.011,-0.004,0. ; in cm: survey according to Paul's note +; gbpm_y_off = +0.052,+0.056,0. +; From Dahlberg survey DT_C853 Apr 7, 2003 +gbpm_x_off = 0.017+.412-.094 , 0.061-.353-.055 ,0.037-0.09 +gbpm_y_off = 0.037+.381+.003 ,-0.040-.211-.033 ,0.028+.219 + +; average beam positions: only used if 'guse_bpm_in_recon=0' +; gbeam_xoff = +0.18 + gbeam_xoff = +0.00 + gbeam_xpoff = +0.00 + gbeam_yoff = +0.00 + gbeam_ypoff = +0.00 + +; spectrometers would like to see this positions (from optics studies) +; we treat SOS and HMS the same, however, we may change this if necessary +; gspec_xoff = +0.18 + gspec_xoff = +0.00 + gspec_xpoff = +0.00 + gspec_yoff = +0.00 + gspec_ypoff = +0.00 + +; Pedestals for BPM ADCs: from cosmic run #10933, 10/3/96, book XI-137 + gbpm_xp_ped = 431.9,331.0,0. ; these pedestals have to be determined + gbpm_xm_ped = 514.7,350.6,0. ; from runs with no beam in the cavities, + gbpm_yp_ped = 406.9,358.8,0. ; e.g. cosmic runs. + gbpm_ym_ped = 499.7,292.7,0. ; + +; positions of BPMs relative to target (from Paul's note) + gbpm_zpos = 345.5,166.3,0. ; cm + + +; Fast Raster calibration constants +; ================================= + +; Various fast raster quantities: gUse* are flags + + gusefr = 1 ; if 1 correct for FRY in reconstruction + + guse_frdefault = 1 ; if 1 do no phase correction (default) +; gfr_cal_mom = 3.245 ; = beam momnetum during calibration run +; gfrx_adcpercm = 11328. ; = FR channels per cm deflection on target +; gfry_adcpercm = 10708. ; from run 9981, August 25, 1996, book X-22 + + gfr_cal_mom = 2.038 ; = beam momnetum during calibration run + gfrx_adcpercm = 4364.7 ; = FR channels per cm deflection on target + gfry_adcpercm = 5471.9 ; from harp scan (H00A), June 19, 2004 + + + ;if 0 apply phase correction + gfrx_dphase = 0.0 ; phase shift (never measured for x so far) + gFrx_synccut = 0. ; should be zero if applied on centered distr. + gfrx_adcmax = 1000 ; ADC amplitude in channels. + gfrx_maxsize = 0.1 ; fast raster amplitude in centimeter. + + gfry_dphase = 5.8 ; phase shift + gFry_synccut = 0. ; should be zero if applied on centered distr. + gfry_adcmax = 1000 ; ADC amplitude in channels. + gfry_maxsize = 0.1 ; fast raster amplitude in centimeter. + +; The latest FR phase analysis from spring '96 showed, that there is no +; measurable phase shift. During early running (E91-13, E89-12) the FRY-phase +; was determined to be 5.8 degree. + +; positions of FR magnets relative to target + gfrx_dist = 2111 ; cm + gfry_dist = 2071 ; cm + + + + + + + + + + + + diff --git a/examples/PARAM/gbeam.param.bak b/examples/PARAM/gbeam.param.bak new file mode 100644 index 0000000000000000000000000000000000000000..27ca6fb17d8086c29c1e1f50881a3c918dabdc9d --- /dev/null +++ b/examples/PARAM/gbeam.param.bak @@ -0,0 +1,96 @@ +; BPM calibration constants +; ========================= + guse_bpm_in_recon = 0 ; if 1 use bpm information for reconstruction + guse_bpmc = 1 ; if 1 use all 3 bpm info, if 0 use bpm A and B + gbpm_sample = 500 ; number of events, which are used for average + ; beam position ( <5000 ). Optimal value dep. on rate + +; the names are based on Paul Gueye's 'Status of the actual Beam Position +; Monitors in the Hall C Beamline', December 1, 1995. +; (mkj) apr-4-03 kappa,alpha and off for 3rd bpm are guesses, +; need to find right values. +; +; gbpm_kappa = 1.85 ,1.85,1.85 ; sensitivity in cm +gbpm_kappa = 2.00 ,1.95,1.85 ; modified mkj 4/9/03 + gbpm_alpha_x = 1.8192,0.7330 ,0.7 ; calibration gain: we may get them from the + gbpm_alpha_y = 1.0063,0.8935 ,0.7 ; EPICS events, right now that's according to Paul's note + +; the following offsets get added to the calculated positions +; gbpm_x_off = -0.011,-0.004,0. ; in cm: survey according to Paul's note +; gbpm_y_off = +0.052,+0.056,0. +; From Dahlberg survey DT_C853 Apr 7, 2003 +gbpm_x_off = 0.017+.412,0.061-.353,0.037 +gbpm_y_off = 0.037+.381,-0.04-.211,0.028 + +; average beam positions: only used if 'guse_bpm_in_recon=0' +; gbeam_xoff = +0.18 + gbeam_xoff = +0.00 + gbeam_xpoff = +0.00 + gbeam_yoff = +0.00 + gbeam_ypoff = +0.00 + +; spectrometers would like to see this positions (from optics studies) +; we treat SOS and HMS the same, however, we may change this if necessary +; gspec_xoff = +0.18 + gspec_xoff = +0.00 + gspec_xpoff = +0.00 + gspec_yoff = +0.00 + gspec_ypoff = +0.00 + +; Pedestals for BPM ADCs: from cosmic run #10933, 10/3/96, book XI-137 + gbpm_xp_ped = 431.9,331.0,0. ; these pedestals have to be determined + gbpm_xm_ped = 514.7,350.6,0. ; from runs with no beam in the cavities, + gbpm_yp_ped = 406.9,358.8,0. ; e.g. cosmic runs. + gbpm_ym_ped = 499.7,292.7,0. ; + +; positions of BPMs relative to target (from Paul's note) + gbpm_zpos = 345.5,166.3,0. ; cm + + +; Fast Raster calibration constants +; ================================= + +; Various fast raster quantities: gUse* are flags + + gusefr = 1 ; if 1 correct for FRY in reconstruction + + guse_frdefault = 1 ; if 1 do no phase correction (default) +; gfr_cal_mom = 3.245 ; = beam momnetum during calibration run +; gfrx_adcpercm = 11328. ; = FR channels per cm deflection on target +; gfry_adcpercm = 10708. ; from run 9981, August 25, 1996, book X-22 + + gfr_cal_mom = 2.038 ; = beam momnetum during calibration run + gfrx_adcpercm = 4364.7 ; = FR channels per cm deflection on target + gfry_adcpercm = 5471.9 ; from harp scan (H00A), June 19, 2004 + + + ;if 0 apply phase correction + gfrx_dphase = 0.0 ; phase shift (never measured for x so far) + gFrx_synccut = 0. ; should be zero if applied on centered distr. + gfrx_adcmax = 1000 ; ADC amplitude in channels. + gfrx_maxsize = 0.1 ; fast raster amplitude in centimeter. + + gfry_dphase = 5.8 ; phase shift + gFry_synccut = 0. ; should be zero if applied on centered distr. + gfry_adcmax = 1000 ; ADC amplitude in channels. + gfry_maxsize = 0.1 ; fast raster amplitude in centimeter. + +; The latest FR phase analysis from spring '96 showed, that there is no +; measurable phase shift. During early running (E91-13, E89-12) the FRY-phase +; was determined to be 5.8 degree. + +; positions of FR magnets relative to target + gfrx_dist = 2111 ; cm + gfry_dist = 2071 ; cm + + + + + + + + + + + + diff --git a/examples/PARAM/gbeam.param.pre62812 b/examples/PARAM/gbeam.param.pre62812 new file mode 100644 index 0000000000000000000000000000000000000000..27ca6fb17d8086c29c1e1f50881a3c918dabdc9d --- /dev/null +++ b/examples/PARAM/gbeam.param.pre62812 @@ -0,0 +1,96 @@ +; BPM calibration constants +; ========================= + guse_bpm_in_recon = 0 ; if 1 use bpm information for reconstruction + guse_bpmc = 1 ; if 1 use all 3 bpm info, if 0 use bpm A and B + gbpm_sample = 500 ; number of events, which are used for average + ; beam position ( <5000 ). Optimal value dep. on rate + +; the names are based on Paul Gueye's 'Status of the actual Beam Position +; Monitors in the Hall C Beamline', December 1, 1995. +; (mkj) apr-4-03 kappa,alpha and off for 3rd bpm are guesses, +; need to find right values. +; +; gbpm_kappa = 1.85 ,1.85,1.85 ; sensitivity in cm +gbpm_kappa = 2.00 ,1.95,1.85 ; modified mkj 4/9/03 + gbpm_alpha_x = 1.8192,0.7330 ,0.7 ; calibration gain: we may get them from the + gbpm_alpha_y = 1.0063,0.8935 ,0.7 ; EPICS events, right now that's according to Paul's note + +; the following offsets get added to the calculated positions +; gbpm_x_off = -0.011,-0.004,0. ; in cm: survey according to Paul's note +; gbpm_y_off = +0.052,+0.056,0. +; From Dahlberg survey DT_C853 Apr 7, 2003 +gbpm_x_off = 0.017+.412,0.061-.353,0.037 +gbpm_y_off = 0.037+.381,-0.04-.211,0.028 + +; average beam positions: only used if 'guse_bpm_in_recon=0' +; gbeam_xoff = +0.18 + gbeam_xoff = +0.00 + gbeam_xpoff = +0.00 + gbeam_yoff = +0.00 + gbeam_ypoff = +0.00 + +; spectrometers would like to see this positions (from optics studies) +; we treat SOS and HMS the same, however, we may change this if necessary +; gspec_xoff = +0.18 + gspec_xoff = +0.00 + gspec_xpoff = +0.00 + gspec_yoff = +0.00 + gspec_ypoff = +0.00 + +; Pedestals for BPM ADCs: from cosmic run #10933, 10/3/96, book XI-137 + gbpm_xp_ped = 431.9,331.0,0. ; these pedestals have to be determined + gbpm_xm_ped = 514.7,350.6,0. ; from runs with no beam in the cavities, + gbpm_yp_ped = 406.9,358.8,0. ; e.g. cosmic runs. + gbpm_ym_ped = 499.7,292.7,0. ; + +; positions of BPMs relative to target (from Paul's note) + gbpm_zpos = 345.5,166.3,0. ; cm + + +; Fast Raster calibration constants +; ================================= + +; Various fast raster quantities: gUse* are flags + + gusefr = 1 ; if 1 correct for FRY in reconstruction + + guse_frdefault = 1 ; if 1 do no phase correction (default) +; gfr_cal_mom = 3.245 ; = beam momnetum during calibration run +; gfrx_adcpercm = 11328. ; = FR channels per cm deflection on target +; gfry_adcpercm = 10708. ; from run 9981, August 25, 1996, book X-22 + + gfr_cal_mom = 2.038 ; = beam momnetum during calibration run + gfrx_adcpercm = 4364.7 ; = FR channels per cm deflection on target + gfry_adcpercm = 5471.9 ; from harp scan (H00A), June 19, 2004 + + + ;if 0 apply phase correction + gfrx_dphase = 0.0 ; phase shift (never measured for x so far) + gFrx_synccut = 0. ; should be zero if applied on centered distr. + gfrx_adcmax = 1000 ; ADC amplitude in channels. + gfrx_maxsize = 0.1 ; fast raster amplitude in centimeter. + + gfry_dphase = 5.8 ; phase shift + gFry_synccut = 0. ; should be zero if applied on centered distr. + gfry_adcmax = 1000 ; ADC amplitude in channels. + gfry_maxsize = 0.1 ; fast raster amplitude in centimeter. + +; The latest FR phase analysis from spring '96 showed, that there is no +; measurable phase shift. During early running (E91-13, E89-12) the FRY-phase +; was determined to be 5.8 degree. + +; positions of FR magnets relative to target + gfrx_dist = 2111 ; cm + gfry_dist = 2071 ; cm + + + + + + + + + + + + diff --git a/examples/PARAM/gdebug.param b/examples/PARAM/gdebug.param new file mode 100644 index 0000000000000000000000000000000000000000..7ac0e0193b088c6ff2b8c5fd039ebfa81736a445 --- /dev/null +++ b/examples/PARAM/gdebug.param @@ -0,0 +1,3 @@ + gmisc_min_peds = 500 + + gelossdebug = 0 ;eloss debug (0=off,1=on) diff --git a/examples/PARAM/general.param b/examples/PARAM/general.param new file mode 100644 index 0000000000000000000000000000000000000000..5383e6c1028e2cd9b610b1f215cabc03f070d692 --- /dev/null +++ b/examples/PARAM/general.param @@ -0,0 +1,35 @@ +#real raddeg +raddeg=3.14159265/180 + +; hms/sosflags.param include spectrometer offsets and options. +#include "PARAM/genflags.param" +#include "PARAM/hmsflags.param" +#include "PARAM/sosflags.param" + +#include "PARAM/gdebug.param" +#include "PARAM/hdebug.param" +#include "PARAM/sdebug.param" +#include "PARAM/htracking.param" +#include "PARAM/stracking.param" + +#include "PARAM/gtarget.param" +#include "PARAM/gbeam.param" +; Can't quite handle this one +#include "PARAM/hdc_offsets.param" +#include "PARAM/hdc.pos" +#include "PARAM/hhodo.pos" +#include "PARAM/hcal.pos" +#include "PARAM/sdc_offsets.param" +#include "PARAM/sdc.pos" +#include "PARAM/shodo.pos" +#include "PARAM/scal.pos" +#include "PARAM/hhodo.param" +#include "PARAM/haero.param" +#include "PARAM/hdc.param" +#include "PARAM/hdriftmap.param" +#include "PARAM/hcal.param" +#include "PARAM/hcer.param" +#include "PARAM/shodo.param" +#include "PARAM/scal.param" +#include "PARAM/sdc.param" +#include "PARAM/sdriftmap.param" diff --git a/examples/PARAM/genflags.param b/examples/PARAM/genflags.param new file mode 100644 index 0000000000000000000000000000000000000000..122ba177a5270305bac9e10a934637c4f644552f --- /dev/null +++ b/examples/PARAM/genflags.param @@ -0,0 +1,12 @@ +;default settings for general option flags. + gen_run_starting_event = 1 + gen_run_stopping_event = 0 + gen_run_hist_dump_interval = 25000 + +; hack_enable run hack_anal if .ne. 0 + hack_enable = 0 + +; gen_eloss_enable (0=disabled) total_eloss.f + gen_eloss_enable = 1 + + diff --git a/examples/PARAM/gscalers.param b/examples/PARAM/gscalers.param new file mode 100644 index 0000000000000000000000000000000000000000..d8b4920c17500d07f6c06211de3bed6ecfc90ccd --- /dev/null +++ b/examples/PARAM/gscalers.param @@ -0,0 +1,98 @@ +; Add ability to write out the scaler rate at each scaler read +; for up to 10 scalers +; When g_writeout_scaler_filename is commented out then file +; is not written and other info not used. +; To get scaler indices look in TEMPLATE/hreport.template +; and sreport.template . +; In output file for each scaler read is the number of the scaler read and the +; time between scaler reads and then the rates for each scaler. + g_writeout_scaler_filename = outfiles/%d.scal + INDEX_WRITEOUT_SCALERS = 146,165,148,164,160,174 + NUM_WRITEOUT_SCALERS = 6 +; Old charge calibrations from Run 16707; BCM1 in gain pos 1, BCM2 in +; gain position 2 + +;point to scaler indices for BCM's fro SOS scalers +; gbcm1_index = 321 +; gbcm2_index = 322 +; gbcm3_index = 323 +; gunser_index = 324 +;point to scaler indices for BCM's for HMS scalers + gbcm1_index = 167 + gbcm2_index = 168 + gbcm3_index = 323 + gunser_index = 166 + +;gain factors for three cavity monitors +; numbers from I. Albayrak - 5/11/07 +gbcm1_gain = 0.000334137 ; microA/Hz +gbcm2_gain = 0.000373754 ; microA/Hz +gbcm3_gain = 0.00043343 ; microA/Hz +gunser_gain = 0.00024980 ; microA/Hz +; note, gbcm3_gain from: +; JRA - adjust calibration factors by hand +; to get semi-sensible values (apr03) + +; numbers from I. Albayrak - 5/11/07 +gbcm1_offset = 251226. ; Hz +gbcm2_offset = 250816. ; Hz +gbcm3_offset = 245437. ; Hz +gunser_offset = 250000. ; TEST +; gbcm3_offset and gunser_offset from: +; VALUES FROM BEAM OFF (starting point for jan99) + +;define the threshold current at which beam is "on". (in microamps) + g_beam_on_thresh_cur = 5.,5. + bcm_for_threshold_cut = 1 + + +;point to hardware clock (1MHz scaler, scaler channel 174 in HMS scalers) +; for SOS scalers 325 +; gclock_index = 174 + gclock_index = 325 + gclock_rate = 1.e+6 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; everything below this line is old js 6.22.4 + +;gain factors for three cavity monitors +; gbcm1_gain = .0009435 ; microA/Hz +; gbcm2_gain = .0002849 ; microA/Hz +; gbcm3_gain = .0002537 ; microA/Hz +; gunser_gain = .00025000 ; microA/Hz +; +; From Feb99 BCM cal: +; gbcm1_gain = .00004811 ; microA/Hz +; gbcm2_gain = .00026421 ; microA/Hz +; gbcm3_gain = .00043343 ; microA/Hz +; gunser_gain = .00025000 ; microA/Hz + +; JRA - adjust calibration factors by hand to get semi-sensible values (apr03) +; gbcm1_gain = .00008685 ; microA/Hz +; gbcm2_gain = .00029148 ; microA/Hz +; gbcm3_gain = .00043343 ; microA/Hz +; gunser_gain = .0002501 ; microA/Hz + +; BCM1 and BCM2 values updated to match what Gaskell put into the +; ratemon code [based on hclog 70221, Dec 8, 2003] +;gbcm1_gain = 0.001101 +;gbcm2_gain = 0.0012963 + +;zero offsets for BCM s +; VALUES FROM REAL FIT: +; gbcm1_offset = 250632. ; Hz +; gbcm2_offset = 251195. ; Hz +; gbcm3_offset = 249543. ; Hz +; +; VALUES FROM BEAM OFF (starting point for jan99) +; gbcm1_offset = 244795. ; Hz +; gbcm2_offset = 253647. ; Hz +; gbcm3_offset = 245437. ; Hz +; gunser_offset = 250000. ; TEST +; gunser_offset = 545693. ; Hz + +; BCM1 and BCM2 values updated to match what Gaskell put into the +; ratemon code [based on hclog 70221, Dec 8, 2003] +;gbcm1_offset = 250513 +;gbcm2_offset = 250463 + diff --git a/examples/PARAM/gscalers.param.bak b/examples/PARAM/gscalers.param.bak new file mode 100644 index 0000000000000000000000000000000000000000..38c1f9c97813cda508cf92e1c4618100b7d66c1a --- /dev/null +++ b/examples/PARAM/gscalers.param.bak @@ -0,0 +1,95 @@ +; Add ability to write out the scaler rate at each scaler read +; for up to 10 scalers +; When g_writeout_scaler_filename is commented out then file +; is not written and other info not used. +; To get scaler indices look in TEMPLATE/hreport.template +; and sreport.template . +; In output file for each scaler read is the number of the scaler read and the +; time between scaler reads and then the rates for each scaler. + g_writeout_scaler_filename = outfiles/%d.scal + INDEX_WRITEOUT_SCALERS = 146,165,148,164,160,174 + NUM_WRITEOUT_SCALERS = 6 +; Old charge calibrations from Run 16707; BCM1 in gain pos 1, BCM2 in +; gain position 2 + +;point to scaler indices for BCM's fro SOS scalers +; gbcm1_index = 321 +; gbcm2_index = 322 +; gbcm3_index = 323 +; gunser_index = 324 +;point to scaler indices for BCM's for HMS scalers + gbcm1_index = 167 + gbcm2_index = 168 + gbcm3_index = 323 + gunser_index = 166 + +;gain factors for three cavity monitors +; numbers from D. Mack, 6.22.4 +gbcm1_gain = 0.00108902 ; microA/Hz +gbcm2_gain = 0.00127300 ; microA/Hz +gbcm3_gain = 0.00043343 ; microA/Hz +gunser_gain = 0.00024980 ; microA/Hz +; note, gbcm3_gain from: +; JRA - adjust calibration factors by hand +; to get semi-sensible values (apr03) + +; numbers from D. Mack, 6.22.4 +gbcm1_offset = 250346. ; Hz +gbcm2_offset = 250258. ; Hz +gbcm3_offset = 245437. ; Hz +gunser_offset = 250000. ; TEST +; gbcm3_offset and gunser_offset from: +; VALUES FROM BEAM OFF (starting point for jan99) + +;define the threshold current at which beam is "on". (in microamps) + g_beam_on_thresh_cur = 5. + +;point to hardware clock (1MHz scaler, scaler channel 174 in HMS scalers) +; for SOS scalers 325 + gclock_index = 174 + gclock_rate = 1.e+6 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; everything below this line is old js 6.22.4 + +;gain factors for three cavity monitors +; gbcm1_gain = .0009435 ; microA/Hz +; gbcm2_gain = .0002849 ; microA/Hz +; gbcm3_gain = .0002537 ; microA/Hz +; gunser_gain = .00025000 ; microA/Hz +; +; From Feb99 BCM cal: +; gbcm1_gain = .00004811 ; microA/Hz +; gbcm2_gain = .00026421 ; microA/Hz +; gbcm3_gain = .00043343 ; microA/Hz +; gunser_gain = .00025000 ; microA/Hz + +; JRA - adjust calibration factors by hand to get semi-sensible values (apr03) +; gbcm1_gain = .00008685 ; microA/Hz +; gbcm2_gain = .00029148 ; microA/Hz +; gbcm3_gain = .00043343 ; microA/Hz +; gunser_gain = .00025000 ; microA/Hz + +; BCM1 and BCM2 values updated to match what Gaskell put into the +; ratemon code [based on hclog 70221, Dec 8, 2003] +;gbcm1_gain = 0.001101 +;gbcm2_gain = 0.0012963 + +;zero offsets for BCM s +; VALUES FROM REAL FIT: +; gbcm1_offset = 250632. ; Hz +; gbcm2_offset = 251195. ; Hz +; gbcm3_offset = 249543. ; Hz +; +; VALUES FROM BEAM OFF (starting point for jan99) +; gbcm1_offset = 244795. ; Hz +; gbcm2_offset = 253647. ; Hz +; gbcm3_offset = 245437. ; Hz +; gunser_offset = 250000. ; TEST +; gunser_offset = 545693. ; Hz + +; BCM1 and BCM2 values updated to match what Gaskell put into the +; ratemon code [based on hclog 70221, Dec 8, 2003] +;gbcm1_offset = 250513 +;gbcm2_offset = 250463 + diff --git a/examples/PARAM/gtarget.param b/examples/PARAM/gtarget.param new file mode 100644 index 0000000000000000000000000000000000000000..f43b67f6a456f0631fc4d1fbbb5cfdf26ff86e80 --- /dev/null +++ b/examples/PARAM/gtarget.param @@ -0,0 +1,169 @@ +; modified for e04-001/e06-009 NucR +; +; This is the target parameter file. Numbers 1-9 are solid targets, +; and 11-16 will always be the cryotargets(H 4.5cm and 12.4cm, He 4cm and 15 cm, +; and D 4.4 cm and 12.4cm). Some of the solid targets don't exist any more (one +; of the Fe, the C_sl and Au_6%, the dummy-15) +;The target order is: +; +; Au_3% Cu_2% Fe_1% +; C_1% C_3% BeO +; C_0.5% (z=0) Be --- +; +; dummy-15 +; H 4.5cm H 12.4cm +; He 4cm He 15cm +; LD2 4.4cm LD2 12.4cm +; dummy-4 +; quintar(all layers) +; quintar z=0cm, z=+6cm, z=+3cm, z=-3cm, z=-6cm +; +; non-existant targets have A=Z=M=...=0 +; empty/dummy cells have A=Z=M=...= SAME AS DEUTERIUM. +; +; As of now (7/13/96) the values for the BeO are guesses + +; 1=tuna can, 2=beer can, 21=solid + gtarg_type = 21. , 21. , 21. + 21. , 21. , 21. + 21. , 21. , 21. + 21. + 1. , 1. + 1. , 1. + 1. , 1. + 21. + 21. + + gtarg_z = 79.0 , 29.0 , 26.0 + 6.0 , 6.0 , 12.0 + 6.0 , 4.0 , 0.0 + 13.0 + 1.0 , 1.0 + 1.0 , 1.0 + 1.0 , 1.0 + 13.0 + 8.8 +;this is averaged z: 2x Al, 3x C + 6.0 , 6.0 , 13.0 , 13.0 , 6.0 + + gtarg_a = 197.0 , 64.0 , 56.0 + 12.0 , 12.0 , 25.0 + 12.0 , 9.0 , 0.0 + 27.0 + 1.0 , 1.0 + 2.0 , 2.0 + 2.0 , 2.0 + 27.0 + 18.0 +;this is averaged z: 2x Al, 3x C + 12.0 , 12.0 , 27.0 , 27.0 , 12.0 + + gtarg_mass = 196.96655 , 63.546 , 55.845 + 12.0107 , 12.0107 , 25.0 + 12.0107 , 9.012182 , 0.0 + 26.98 + 1.00727647 , 1.00727647 + 2.01355322 , 2.01355322 + 2.01355322 , 2.01355322 + 26.98 + 17.9986 +;this is averaged z: 2x Al, 3x C + 12.011 , 12.011 , 26.98 , 26.98 , 12.011 + +; Next is the radiation length in percent... + gtarg_lrad = 3.72 , 1.81 , 1.0 + 1.06 , 2.92 , 1.0 + 0.50 , 0.0 , 0.0 + 2.2472 + 0.48 , 1.43353 + 0.528 , 1.982 + 0.56 , 1.63804 + 2.11 + 3.8429 +;added the radiation lengths of all five layers + 0.53191 , 0.53191, 1.1236 , 1.1236 , 0.53191 + + +; Next is the thickness of the target in g/cm^2... + gtarg_thick = 0.240 , 0.233 , 0.1187 + 0.452 , 1.2454 , 0.2 + 0.227 , 1.2454 , 0.0 + 0.529 + 0.295 , 0.9016 + 0.648 , 2.430 + 0.681 , 2.0808 + 0.507 + 1.215 + 0.225 , 0.225 , 0.27 , 0.27 , 0.225 + +; Finally, the density of the target in g/cm^3. These are estimates based +; on the nominal thickness (cm) of the targets which can be off by ~5% ... + + gtarg_dens = 19.3 , 8.96 , 1.3 + 2.18 , 2.18 , 2.0 + 2.0 , 2.0 , 0.0 + 2.7 + 0.0723 , 0.0723 + 0.167 , 0.167 + 0.167 , 0.167 + 2.68 + 2.7 + 2.25 , 2.25 , 2.7 , 2.7 , 2.25 + +; Target angle: =90 deg. is perpendicluar to beam +; <90 deg. is face towards HMS +; >90 deg. is face towards SOS +; for E99118 target was rotated 20.3deg. to face HMS =>69.7deg. = 1.2164945rad + gtarg_theta = 1.5707936 + +;general target energy loss parameters. Vansyoc Mar.98 + + +;target cell**************** + + gcell_radius = 1.0 + gz_cell = 13.0 + ga_cell = 27.0 + gcell_den = 2.70 + gwall_thk = 0.03429 + gend_thk = 0.03429 + gfront_thk = 0.020574 +;Air cap between the chamber and the entrance window + gair_dens = 0.00121 + gair_thk = 0.018 + gair_a = 14.68 + gair _z = 7.32 + + +;HMS******** +; HMS scattering chamber window specs.********** + hscat_win_thk = 0.109728 + hscat_win_den = 2.70 + hscat_win_z = 13.0 + hscat_win_a = 27.0 +; HMS entrance window specs.******************** + hdet_ent_thk = 0.049098 + hdet_ent_den = 0.878636 + hdet_ent_z = 2.67 + hdet_ent_a = 4.67 +;SOS******** +; SOS scattering chamber window specs.********** + sscat_win_thk = 0.054864 + sscat_win_den = 2.70 + sscat_win_z = 13.0 + sscat_win_a = 27.0 +; SOS entrance window specs.******************** + sdet_ent_thk = 0.016421 + sdet_ent_den = 0.862 + sdet_ent_z = 2.67 + sdet_ent_a = 4.67 +;eloss debug 0 = off,1 = on +; gelossdebug = 0 +;use old cryo geometry? (1) +; old_tgeom = 1 + +; + + + + diff --git a/examples/PARAM/haero.param b/examples/PARAM/haero.param new file mode 100644 index 0000000000000000000000000000000000000000..734565eec427d15137654be2789aaa2f3f17e392 --- /dev/null +++ b/examples/PARAM/haero.param @@ -0,0 +1,27 @@ +; Gain cor constant estimated from cosmic test run #44628 +; +; POS PMT HV: 1570 1690 1580 1680 +; 1690 1620 1700 1660 +; +; NEG PMT HV: +; 1640 1590 1750 2040 +; 1910 1900 1840 1750 +;............................................................................ + +; JS 7.9.4, fit single electron peak using cosmics (run 49872). +; the value below is the pedestal-subtracted position of the spe peak + haero_pos_gain = 1/179., 1/226., 1/184., 1/182. + 1/188., 1/163., 1/184., 1/154. + + haero_neg_gain = 1/244., 1/206., 1/217., 1/206. + 1/219., 1/206., 1/238., 1/228. + + haero_pos_ped_limit = 1000., 1000., 1000., 1000. + 1000., 1000., 1000., 1000. + + haero_neg_ped_limit = 1000., 1000., 1000., 1000. + 1000., 1000., 1000., 1000. + + + + diff --git a/examples/PARAM/hcal.param b/examples/PARAM/hcal.param new file mode 100644 index 0000000000000000000000000000000000000000..dc33822ba77233f8ec3428809a212fd1e7f4bba3 --- /dev/null +++ b/examples/PARAM/hcal.param @@ -0,0 +1,67 @@ +; Slop in x position. Allowed distance between track and edge of block (in cm) +; too tight djm hcal_slop = 7.5 +hcal_slop = 7.5 + +;Turn on HMS cal. fiducial volume cut. 0="no cut" +;Default hcal_fv_test=0 + +hcal_fv_test = 0 + +hcal_pos_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + +hcal_neg_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + +hcal_pos_gain_ini =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,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 + +hcal_neg_gain_ini =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,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 + +hcal_pos_gain_cur =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,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 + +hcal_neg_gain_cur =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,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 + +;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + +hcal_pos_ped_limit =1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + +hcal_neg_ped_limit =1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + +;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + +; the following lines are from calibration file +; written by the perlscript mkcalpar.prl + +hcal_pos_gain_cor= 0.000, 0.328, 0.240, 0.482, 0.202, 0.397, 0.279, 0.327, 0.270, 0.299, 0.297, 0.309, 0.000, + 0.000, 0.375, 0.317, 0.389, 0.390, 0.171, 0.274, 0.383, 0.310, 0.323, 0.297, 0.606, 1.168, + 0.000, 0.744, 0.618, 0.853, 0.732, 0.674, 0.532, 0.646, 0.710, 0.714, 0.484, 0.773, 0.000, + 0.000, 0.000, 0.684, 0.596, 0.716, 0.692, 0.694, 0.595, 0.806, 0.640, 0.841, 0.000, 0.000, +hcal_neg_gain_cor= 0.000, 0.167, 0.372, 0.317, 0.255, 0.279, 0.376, 0.338, 0.336, 0.315, 0.295, 0.277, 0.000, + 0.000, 0.246, 0.366, 0.471, 0.359, 0.549, 0.435, 0.427, 0.399, 0.298, 0.313, 0.342, 0.000, + 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, + 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, + + diff --git a/examples/PARAM/hcal.pos b/examples/PARAM/hcal.pos new file mode 100644 index 0000000000000000000000000000000000000000..9906aae80eb08d93ab5a4d746c9f34cda05d20e4 --- /dev/null +++ b/examples/PARAM/hcal.pos @@ -0,0 +1,81 @@ +; neglect extra tubes for now. +hcal_num_neg_columns = 2 + +; Z position of front of shower counter layers +; guesses, based on the fact that the back scin plane is supposedly at 322.0 +; (add 25 to each from original value) - JRA + hcal_1pr_zpos = (350.0-11.31) + hcal_2ta_zpos = (361.0-11.31) + hcal_3ta_zpos = (372.0-11.31) + hcal_4ta_zpos = (383.0-11.31) +; Thickness of shower counter blocks, blocks are 10 * 10 * 70 cm^3 + hcal_1pr_thick = 10.0 + hcal_2ta_thick = 10.0 + hcal_3ta_thick = 10.0 + hcal_4ta_thick = 10.0 +; Number of shower counter blocks per layer + hcal_1pr_nr = 13 + hcal_2ta_nr = 13 + hcal_3ta_nr = 13 + hcal_4ta_nr = 13 +; X,Y positions of shower counter blocks + hcal_1pr_left = 35.0 + hcal_1pr_right = -35.0 + hcal_1pr_top = (-69.0-1.4) + (-59.0-1.4) + (-49.0-1.4) + (-39.0-1.4) + (-29.0-1.4) + (-19.0-1.4) + ( -9.0-1.4) + ( 1.0-1.4) + ( 11.0-1.4) + ( 21.0-1.4) + ( 31.0-1.4) + ( 41.0-1.4) + ( 51.0-1.4) + hcal_2ta_left = 35.0 + hcal_2ta_right = -35.0 + hcal_2ta_top = (-69.0-1.4) + (-59.0-1.4) + (-49.0-1.4) + (-39.0-1.4) + (-29.0-1.4) + (-19.0-1.4) + ( -9.0-1.4) + ( 1.0-1.4) + ( 11.0-1.4) + ( 21.0-1.4) + ( 31.0-1.4) + ( 41.0-1.4) + ( 51.0-1.4) + hcal_3ta_left = 35.0 + hcal_3ta_right = -35.0 + hcal_3ta_top = (-69.0-1.4) + (-59.0-1.4) + (-49.0-1.4) + (-39.0-1.4) + (-29.0-1.4) + (-19.0-1.4) + ( -9.0-1.4) + ( 1.0-1.4) + ( 11.0-1.4) + ( 21.0-1.4) + ( 31.0-1.4) + ( 41.0-1.4) + ( 51.0-1.4) + hcal_4ta_left = 35.0 + hcal_4ta_right = -35.0 + hcal_4ta_top = (-69.0-1.4) + (-59.0-1.4) + (-49.0-1.4) + (-39.0-1.4) + (-29.0-1.4) + (-19.0-1.4) + ( -9.0-1.4) + ( 1.0-1.4) + ( 11.0-1.4) + ( 21.0-1.4) + ( 31.0-1.4) + ( 41.0-1.4) + ( 51.0-1.4) diff --git a/examples/PARAM/hcana.param b/examples/PARAM/hcana.param new file mode 100644 index 0000000000000000000000000000000000000000..3ca4f8bd78dab1f93d5e450af0b562d0f3ef0114 --- /dev/null +++ b/examples/PARAM/hcana.param @@ -0,0 +1,84 @@ +; +; Parameters that were built into Fortran analyzer that we want +; to pass as parameters so that the resulting code can be more generic. +; + +hhodo_num_planes = 4 +hhodo_plane_names = "1x 1y 2x 2y" + +hcal_num_layers = 4 + +rraster_num_signals = 4 + +# Exclusion band width for the calorimeter's fiducial volume. +hcal_fv_delta = 5. + +# Constants for the coordiante correction of the calorimeter energy depositions +hcal_a_cor = 200. +hcal_b_cor = 8000. +hcal_c_cor = 64.36, 64.36 # for positive and negative sides +hcal_d_cor = 1.66, 1.66 + +hcal_layer_names = "1pr 2ta 3ta 4ta" + +haero_num_pairs = 8 + +# Names of planes so that parameter names can be constructed +hdc_plane_names = "1x1 1y1 1u1 1v1 1y2 1x2 2x1 2y1 2u1 2v1 2y2 2x2" + +# The following were defined in REPLAY.PARAM +h_recon_coeff_filename = 'PARAM/hms_recon_coeff.dat' ;hms optics matrix + +# The following are set to zero to replicate historical ENGINE behavior +# For new analyses they should be set to 1. If not defined here, +# hcana will default 1, the new and correct behaviour. + +# If 1, Let a hit have different L/R assignment for different space points +# instead of L/R assignment from first sp it appears in. +hdc_fix_lr = 0 +# If 1, don't do the the propagation along the wire each time the hit +# appears in a space point. (Which means the correction accumulates) +hdc_fix_propcorr = 0 + +# SOS parameters +shodo_num_planes = 4 +shodo_plane_names = "1x 1y 2x 2y" + +scal_num_layers = 4 + +# Exclusion band width for the calorimeter's fiducial volume. +# (saw) Don't know what this should be. Copied it from HMS. +scal_fv_delta = 5. + +# Constants for the coordiante correction of the calorimeter energy depositions +scal_a_cor = 400. +scal_b_cor = 12000. +scal_c_cor = -87.1628, -100. # The positive side constants reproduce +scal_d_cor = 1.65054, 3. # correction in Engine to accuracy better 0.005. + +scal_layer_names = "1pr 2ta 3ta 4ta" + +# Names of planes so that parameter names can be constructed +sdc_plane_names = "1u1 1u2 1x1 1x2 1v1 1v2 2u1 2u2 2x1 2x2 2v1 2v2" + +# The following were defined in REPLAY.PARAM +s_recon_coeff_filename = 'PARAM/sos_recon_coeff.dat' ;sos optics matrix + +# Fortran ENGINE only had this as a parameter for HMS. Need it here +# because same code used for both spectrometers +sntracks_max_fp = 10 + +# The following are set to zero to replicate historical ENGINE behavior +# For new analyses they should be set to 1. If not defined here, +# hcana will default 1, the new and correct behaviour. + +# If 1, Let a hit have different L/R assignment for different space points +# instead of L/R assignment from first sp it appears in. +sdc_fix_lr = 0 +# If 1, don't do the the propagation along the wire each time the hit +# appears in a space point. (Which means the correction accumulates) +sdc_fix_propcorr = 0 + +# Total number of PMTs in Gas Cherenkov detector. +hcer_tot_pmts = 2 + diff --git a/examples/PARAM/hcer.param b/examples/PARAM/hcer.param new file mode 100644 index 0000000000000000000000000000000000000000..5c7cfc8f1ab7b73c8d9015b8622a4c0b9005a0c3 --- /dev/null +++ b/examples/PARAM/hcer.param @@ -0,0 +1,40 @@ +hcer_width = 50, 50 +;hcer_adc_to_npe = 1/140., 1/100. +;hcer_adc_to_npe = 1/124.4, 1/119. +; DJM AUG 7, 2003 calibration based on run 47022, picking off spe +; making no bogus Poissonian assumptions +;hcer_adc_to_npe = 1/111., 1/90. +; JS 6.19.4 calibration from run 48795 (cosmics). fit spe +;hcer_adc_to_npe = 1/66., 1/89. +; JS 6.19.4 calibration from run 48800 (electrons). fit spe +;hcer_adc_to_npe = 1/67., 1/98. +; JS 6.19.4 calibration from run 48800 (electrons). fit spe +; hcer_adc: 1 2 +; tube: bot top +;hcer_adc_to_npe = 1/76., 1/106. +; JS 7.9.4 calibration from run 49472 (cosmics). fit spe +; hcer_adc: 1 2 +; tube: bot top +;hcer_adc_to_npe = 1/93., 1/120. +; DJG June 21 2007: Quick and dirty online calibration. +hcer_adc_to_npe = 1/149.6, 1/166.0 + +hcer_chi2max = 50. +hcer_beta_min = 0.8 +hcer_beta_max = 1.2 +hcer_et_min = 0.95 +hcer_et_max = 5.0 +hcer_mirror_zpos = 230 +; hcer_region: 8 values for each region (1 per mirror + sum) +; central x,y,dx,dy values and x,y,dx,dy half widths. +hcer_region = 30, -30, 0, + 0, 0, 0, + 0, 0, 0, + 0, 0, 0, + 20, 20, 60, + 30, 30, 30, + .1, .1, .1, + .1, .1, .1 + +hcer_ped_limit = 1000,1000 + diff --git a/examples/PARAM/hdc.param b/examples/PARAM/hdc.param new file mode 100644 index 0000000000000000000000000000000000000000..e1bcd4a4ea9d87e7e8c3d73e8a5893f2eca0744f --- /dev/null +++ b/examples/PARAM/hdc.param @@ -0,0 +1,44 @@ +;--------------------------------------------------------------------- +; HMS_TRACKING +; CTP parameter file containing all tracking parameters for the HMS +;---------------------------------------------------------------------- +; sigma of wire chamber resolution for each plane + hdc_sigma = 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 +; hms dc tdc minimum tdc value array allowed for a good hit + hdc_tdc_min_win = 2900, 2900, 2900, 2900, 2900, 2900 + 2900, 2900, 2900, 2900, 2900, 2900 +; hms dc tdc maximum tdc value array allowed for a good hit + hdc_tdc_max_win = 3400, 3400, 3400, 3400, 3400, 3400 + 3400, 3400, 3400, 3400, 3400, 3400 +; hms drift chamber tdc's time per channel + hdc_tdc_time_per_channel = 0.50 +; hms zero time for drift chambers !DECREASING this number moves the hdtime plots to LOWER time. + hdc_plane_time_zero = (1670+14+18-10) + (1670+12+20-10) + (1670+13+18-10) + (1670+13+20-10) + (1670+12+20-10) + (1670+14+16-10) + (1670+15+16-10) + (1670+11.5+16-10) + (1670+13+12-10) + (1670+13+12-10) + (1670+10.5+16-10) + (1670+13+18-10) + +; Dave Abbott's wire velocity correction +hdc_wire_velocity = 12.0 +hdc_central_time = 7,9,3,4,6,5 + 7,5,3,4,6,6 + diff --git a/examples/PARAM/hdc.param.bak b/examples/PARAM/hdc.param.bak new file mode 100644 index 0000000000000000000000000000000000000000..900475340bfd90f59f28a3caf656b7aaf15d205a --- /dev/null +++ b/examples/PARAM/hdc.param.bak @@ -0,0 +1,44 @@ +;--------------------------------------------------------------------- +; HMS_TRACKING +; CTP parameter file containing all tracking parameters for the HMS +;---------------------------------------------------------------------- +; sigma of wire chamber resolution for each plane + hdc_sigma = 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 +; hms dc tdc minimum tdc value array allowed for a good hit + hdc_tdc_min_win = 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0 +; hms dc tdc maximum tdc value array allowed for a good hit + hdc_tdc_max_win = 4000, 4000, 4000, 4000, 4000, 4000 + 4000, 4000, 4000, 4000, 4000, 4000 +; hms drift chamber tdc's time per channel + hdc_tdc_time_per_channel = 0.50 +; hms zero time for drift chambers !DECREASING this number moves the hdtime plots to LOWER time. + hdc_plane_time_zero = (1670+14+18-10) + (1670+12+20-10) + (1670+13+18-10) + (1670+13+20-10) + (1670+12+20-10) + (1670+14+16-10) + (1670+15+16-10) + (1670+11.5+16-10) + (1670+13+12-10) + (1670+13+12-10) + (1670+10.5+16-10) + (1670+13+18-10) + +; Dave Abbott's wire velocity correction +hdc_wire_velocity = 12.0 +hdc_central_time = 7,9,3,4,6,5 + 7,5,3,4,6,6 + diff --git a/examples/PARAM/hdc.param_2gamma b/examples/PARAM/hdc.param_2gamma new file mode 100644 index 0000000000000000000000000000000000000000..44297fab1b20edc4ffc0d872716d92d5553eaee0 --- /dev/null +++ b/examples/PARAM/hdc.param_2gamma @@ -0,0 +1,44 @@ +;--------------------------------------------------------------------- +; HMS_TRACKING +; CTP parameter file containing all tracking parameters for the HMS +;---------------------------------------------------------------------- +; sigma of wire chamber resolution for each plane + hdc_sigma = 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 +; hms dc tdc minimum tdc value array allowed for a good hit + hdc_tdc_min_win = 1800, 1800, 1800, 1800, 1800, 1800 + 1800, 1800, 1800, 1800, 1800, 1800 +; hms dc tdc maximum tdc value array allowed for a good hit + hdc_tdc_max_win = 3300, 3300, 3300, 3300, 3300, 3300 + 3300, 3300, 3300, 3300, 3300, 3300 +; hms drift chamber tdc's time per channel + hdc_tdc_time_per_channel = 0.50 +; hms zero time for drift chambers !DECREASING this number moves the hdtime plots to LOWER time. + hdc_plane_time_zero = (1670+14+18-10-220) + (1670+12+20-10-220) + (1670+13+18-10-220) + (1670+13+20-10-220) + (1670+12+20-10-220) + (1670+14+16-10-220) + (1670+15+16-10-220) + (1670+11.5+16-10-220) + (1670+13+12-10-220) + (1670+13+12-10-220) + (1670+10.5+16-10-220) + (1670+13+18-10-220) + +; Dave Abbott's wire velocity correction +hdc_wire_velocity = 12.0 +hdc_central_time = 7,9,3,4,6,5 + 7,5,3,4,6,6 + diff --git a/examples/PARAM/hdc.pos b/examples/PARAM/hdc.pos new file mode 100644 index 0000000000000000000000000000000000000000..fdbf2aed0ca8f75f5c8bd1d3d3d9fe7bb709d152 --- /dev/null +++ b/examples/PARAM/hdc.pos @@ -0,0 +1,183 @@ +; Number of planes installed in HMS detector setup + hdc_num_planes = 12 +; Number of chambers installed in HMS detector setup + hdc_num_chambers = 2 +; Names of each wire plane +; +; Z positions of various planes in HMS chambers +; hdc_n_zpos is the surveyed Z position of the center of chamber n. + hdc_1_zpos = (-40.611-11.312+0.003) + hdc_2_zpos = (+40.611-11.312-0.008) + + hdc_zpos = hdc_1_zpos - 3.6000 + hdc_1_zpos - 1.8000 + hdc_1_zpos - 0.0000 + hdc_1_zpos + 1.8000 + hdc_1_zpos + 3.6000 + hdc_1_zpos + 5.4000 + hdc_2_zpos - 3.6000 + hdc_2_zpos - 1.8000 + hdc_2_zpos - 0.0000 + hdc_2_zpos + 1.8000 + hdc_2_zpos + 3.6000 + hdc_2_zpos + 5.4000 +; Angle alpha of wires in wire chamber planes + hdc_alpha_angle = (90. - 0.071)*raddeg + (0.0 - 0.071)*raddeg + (74.925 - 0.071)*raddeg + (105.075 - 0.071)*raddeg + (0.0 - 0.071)*raddeg + (90.0 - 0.071)*raddeg + (89.90814 - 0.153)*raddeg + (0.01611 - 0.153)*raddeg + (74.85 - 0.153)*raddeg + (105.05 - 0.153)*raddeg + (0.01611 - 0.153)*raddeg + (89.90814 - 0.153)*raddeg +; hdc_alpha_angle = ( 90.1541 - 0.071)*raddeg +; ( -0.0408 - 0.071)*raddeg +; ( 75.1267 - 0.071)*raddeg +; (105.1267 - 0.071)*raddeg +; ( -0.0408 - 0.071)*raddeg +; ( 90.1541 - 0.071)*raddeg +; ( 90.1095 - 0.153)*raddeg +; ( -0.0370 - 0.153)*raddeg +; ( 75.0904 - 0.153)*raddeg +; (105.0904 - 0.153)*raddeg +; ( -0.0370 - 0.153)*raddeg +; ( 90.1095 - 0.153)*raddeg +; +; Angle beta of wires in wire chamber planes + hdc_beta_angle = -0.041*raddeg + -0.041*raddeg + -0.041*raddeg + -0.041*raddeg + -0.041*raddeg + -0.041*raddeg + +0.054*raddeg + +0.054*raddeg + +0.054*raddeg + +0.054*raddeg + +0.054*raddeg + +0.054*raddeg +; Angle gamma of wires in wire chamber planes + hdc_gamma_angle = +0.0376*raddeg + +0.0376*raddeg + +0.0376*raddeg + +0.0376*raddeg + +0.0376*raddeg + +0.0376*raddeg + -0.145*raddeg + -0.145*raddeg + -0.145*raddeg + -0.145*raddeg + -0.145*raddeg + -0.145*raddeg +; Pitch + hdc_pitch = 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 + 1.000252 +; Number of wires per plane + hdc_nrwire = 113 + 52 + 107 + 107 + 52 + 113 + 113 + 52 + 107 + 107 + 52 + 113 +; X,Y position of center of wire chamber +; increasing dc2 coordinates decreases dpos histograms. +; new values according to henk and rolf + hdc_xcenter = (1.670 - 0.0155 - 0.020) + (2.758 - 0.0155 + 0.040) +; hdc_xcenter = (1.670 - 0.0155) +; (2.758 - 0.0155) +; hdc_xcenter = 1.670 + 0.15 + 0.0155 +; 2.758 + 0.16 + 0.0155 +; Y CENTER CHANGED TO MATCH OPTICS DATA(offset of 1.1 cm in y) +; new values included according to henk and rolf + hdc_ycenter = (1.443 - 0.1699 - 0.0279 - 0.04) + (2.753 - 0.1699 + 0.0279 + 0.04) +; hdc_ycenter = (1.443 - 0.1699 - 0.0279 - 0.035) +; (2.753 - 0.1699 + 0.0279 + 0.035) +; hdc_ycenter = (1.443 - 0.1699 - 0.0279) +; (2.753 - 0.1699 + 0.0279) + +; hdc_ycenter = 0.343 + 1.1 - 0.12 + 0.1699 + 0.0279 +; 1.653 + 1.1 - 0.22 + 0.1699 - 0.0279 +; hdc_ycenter = 0.343 THESE ARE THE ORIGINAL Y CENTERS FROM SURVEY DATA +; 1.653 +; hdc_xcenter = 0.0 +; 1.22 +; hdc_ycenter = 0.0 +; 1.24 + +; Wire number of center of wire chamber +; assume 1st wire of 1st dc of a set is closest to edge where counting starts + hdc_central_wire = 57.257, 26.240, 54.001, 53.999, 26.760 , 56.743 + 57.244, 26.242, 53.998, 54.002, 26.758 , 56.756 + +; hdc_central_wire = 57.25, 26.245, 54.0, 54.0, 26.755 , 56.75 +; 57.24, 26.245, 54.0, 54.0, 26.755 , 56.76 +; hdc_central_wire = 57.25, 26.25, 54.0, 54.0, 26.75 , 56.75 +; 57.24, 26.25, 54.0, 54.0, 26.75 , 56.76 +; hdc_chamber_planes array giving the chamber number for each plane + hdc_chamber_planes = 1 + 1 + 1 + 1 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2 +; The hms readout numbers some planes in reverse order. +; The following array is a flag on the order number. +; If hdc_wire_counting(plane) = 0 +; the wire center is at (wire - hdc_central_wire) * pitch +; If hdc_wire_counting(plane) = 1 +; the wire center is at ( hdc_nrwire + 1 - wire - hdc_central_wire) * pitch + hdc_wire_counting = 1 + 1 + 0 + 1 + 0 + 0 + 1 + 1 + 0 + 1 + 0 + 0 +; The velocity correction is the distance from the center of the wire divided +; by the velocity of propagation times hdc_drifttime_sign(pln). +/-1 +; for disc. card at +/- coord. (i.e. top = -x direction, so top readout is +1) + hdc_drifttime_sign = -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 + -1 diff --git a/examples/PARAM/hdc_offsets.param b/examples/PARAM/hdc_offsets.param new file mode 100644 index 0000000000000000000000000000000000000000..a5561b2786ad3925d00ea1545b5f213828b8cf4f --- /dev/null +++ b/examples/PARAM/hdc_offsets.param @@ -0,0 +1,125 @@ +; cable id's for HMS Drift Chambers +; array is 113,12 (wires,planes) but most planes have less than 113 wires) + +hdc_card_no= +; Plane 1, wires 1-113, 16 per card (+one extra wire) + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + 12 +; plane 2, wires 1-52, 13 per card + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 + 10,10,10,10,10,10,10,10,10,10,10,10,10 + 11,11,11,11,11,11,11,11,11,11,11,11,11 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; plane 3, wires 1-107, 15 or 16 per card (12 has one x wire) + 12,12,12,12,12,12,12,12,12,12,12,12,12,12 + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13 + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14 + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16 + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17 + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18 + -1,-1,-1,-1,-1,-1 +; plane 4, wires 1-107, 15 or 16 per card (19 has one x' wire) + 19,19,19,19,19,19,19,19,19,19,19,19,19,19 + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20 + 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 + 22,22,22,22,22,22,22,22,22,22,22,22,22,22,22 + 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23 + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24 + 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25 + -1,-1,-1,-1,-1,-1 +; plane 5, wires 1-52, 13 per card + 26,26,26,26,26,26,26,26,26,26,26,26,26 + 27,27,27,27,27,27,27,27,27,27,27,27,27 + 28,28,28,28,28,28,28,28,28,28,28,28,28 + 29,29,29,29,29,29,29,29,29,29,29,29,29 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 6, wires 1-113, 16 per card (+one extra wire) + 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30 + 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31 + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 + 33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33 + 34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34 + 35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35 + 36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36 + 19 +; Chamber 2 +; Plane 7, wires 1-113, 16 per card (+one extra wire) + 37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37 + 38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38 + 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 + 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40 + 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41 + 42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42 + 43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43 + 48 +; plane 8, wires 1-52, 13 per card + 44,44,44,44,44,44,44,44,44,44,44,44,44 + 45,45,45,45,45,45,45,45,45,45,45,45,45 + 46,46,46,46,46,46,46,46,46,46,46,46,46 + 47,47,47,47,47,47,47,47,47,47,47,47,47 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; plane 9, wires 1-107, 15 or 16 per card (48 has one x wire) + 48,48,48,48,48,48,48,48,48,48,48,48,48,48 + 49,49,49,49,49,49,49,49,49,49,49,49,49,49,49 + 50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50 + 51,51,51,51,51,51,51,51,51,51,51,51,51,51,51 + 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 + 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 + 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 + -1,-1,-1,-1,-1,-1 +; plane 10, wires 1-107, 15 or 16 per card (55 has one x' wire) + 55,55,55,55,55,55,55,55,55,55,55,55,55,55 + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56 + 57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57 + 58,58,58,58,58,58,58,58,58,58,58,58,58,58,58 + 59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59 + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60 + 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61 + -1,-1,-1,-1,-1,-1 +; plane 11, wires 1-52, 13 per card + 62,62,62,62,62,62,62,62,62,62,62,62,62 + 63,63,63,63,63,63,63,63,63,63,63,63,63 + 64,64,64,64,64,64,64,64,64,64,64,64,64 + 65,65,65,65,65,65,65,65,65,65,65,65,65 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 12, wires 1-113, 16 per card (+one extra wire) + 66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66 + 67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67 + 68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68 + 69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69 + 70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70 + 71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71 + 72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72 + 55 +; +; Cable Delays on a per/card basys +; +hdc_card_delay = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0 + diff --git a/examples/PARAM/hdeadwires.param b/examples/PARAM/hdeadwires.param new file mode 100644 index 0000000000000000000000000000000000000000..9d8b527ef661f2c2921224d140fea49d2d53927c --- /dev/null +++ b/examples/PARAM/hdeadwires.param @@ -0,0 +1,10 @@ +; list of dead wires in the HMS (plane,wire). Dead means <20% efficiency. +hdc_num_deadwires = 6 + +hdc_deadwire_plane = 2, 6, 6, 7, 9, 10 + +hdc_deadwire_num = 43, 18, 60, 97, 30, 8 + +; rough efficiency 22%, 3%, .4%, 0%, 0%, 7% + +; pln9,wire99 is HOT (used to be that 9/#100 was DEAD)? diff --git a/examples/PARAM/hdebug.param b/examples/PARAM/hdebug.param new file mode 100644 index 0000000000000000000000000000000000000000..950b1f651a6675c7658d00a4e1c7d22184734287 --- /dev/null +++ b/examples/PARAM/hdebug.param @@ -0,0 +1,122 @@ +; hms tracking code debug flags. +; when these flags are non-zero, dump routines are called to +; print out the data banks for each event. +; +; hluno fortran lun for output + hluno = 66 +; hdebugdumptof Dump timing information for fitting offsets for old CSA method + hdebugdumptof = 0 +; hdumptof Dump timing information for fitting offsets, new PB method +; Done from h_tof.f. Add particle ID cuts if desired +; Note: don't set both hdumptof=1 and hdebugdumptof=1 at same time +; because they both use fort.37 for the output + hdumptof = 0 +;; hdebugdumpcal Dump calorimeter information for fitting gains + hdebugdumpcal = 0 +; number of pedestal events required to overwrite orig. peds. + hhodo_min_peds = 500 + hcal_min_peds = 500 + hcer_min_peds = 500 + haero_min_peds = 500 + hmisc_min_peds = 500 + +; DEBUGGING OUTPUT FLAGS +; ---------------------- +; hdebugprintrawdc Dump HMS_RAW_DC Bank + hdebugprintrawdc = 0 +; hdebugprintdecodeddc Dump HMS_DECODED_DC BAnk + hdebugprintdecodeddc = 0 +; hdebugflagpsi Dump calculated coordinate positions + hdebugflagpsi = 0 +; hdebugflaggeoemtry Dump calculated geometrical parameters + hdebugflaggeometry = 0 +; hdebugflagpr Dump intermediate pattern recognition results + hdebugflagpr = 0 +; hdebugflagstubchisq Dump chi2 of left-right fits + hdebugstubchisq = 0 +; hdebugflagstubs Dump stub fit + hdebugflagstubs = 0 +; hdebuglinkstubs Dump linked hits + hdebuglinkstubs = 0 +; hdebugtrackprint Dump focal plane track fit results + hdebugtrackprint = 0 +; hdebugtartrackprint Dump tracks at target + hdebugtartrackprint = 0 +; tof debuging +; +; hdebugprintscinraw Dump HMS_RAW_SCIN + hdebugprintscinraw = 0 +; hdebugprintscindec Dump HMS_DECODED_SCIN + hdebugprintscindec = 0 +; hdebugprinttoftracks Dump hms_scin_tof + hdebugprinttoftracks = 0 +; hdebugprinttracktests Dump HMS_TRACK_TESTS + hdebugprinttracktests = 0 +; +; hms calorimeter debug flags +; hlun_dbg_cal lun + hlun_dbg_cal = hluno +; hdbg_raw_cal call h_prt_cal_raw + hdbg_raw_cal = 0 +; hdbg_sparsified_cal call h_prt_cal_sparsified + hdbg_sparsified_cal = 0 +; hdbg_decoded_cal call h_prt_cal_decoded + hdbg_decoded_cal = 0 +; hdbg_clusters_cal call h_prt_cal_clusters + hdbg_clusters_cal = 0 +; hdbg_tracks_cal call h_prt_cal_tracks + hdbg_tracks_cal = 0 +; hdbg_tests_cal call h_prt_cal_tests HMS_TRACK_TESTS + hdbg_tests_cal = 0 +; +; hard wired histograms. If these flags .ne. 0 then the histogram +; blocks are filled +; +; hturnon_scin_raw_hist Histogram HMS raw hodoscope data (each block) + hturnon_scin_raw_hist = 1 +; hturnon_decoded_dc_hist Histogram HMS_DECODED_DC + hturnon_decoded_dc_hist = 1 +; hturnon_focal_plane_hist Histogram HMS_FOCAL_PLANE + hturnon_focal_plane_hist = 1 +; hturnon_target_hist HISTOGRAM HMS_TARGET + hturnon_target_hist = 1 +; +; Bypass paramters to bypass code elementes in h_reconstruction +; Stored in hmsbypass_switches.cmn +; Code element is bypassed if switch .ne. 0 +; hbypass_trans_dc bypass h_trans_dc + hbypass_trans_dc = 0 +; hbypass_track bypass h_track + hbypass_track = 0 +; hbypass_targ_trans bypass h_targ_trans + hbypass_targ_trans = 0 +; hbypass_dc_eff bypass h_dc_eff and h_dc_eff_shutdown + hbypass_dc_eff = 0 +; hbypass_track_eff bypass h_tracking efficiency code + hbypass_track_eff = 0 +; hbypass_track_eff_files bypass h_tracking efficiency output files + hbypass_track_eff_files = 1 + +; hbypass_trans_scin bypass h_trans_scin + hbypass_trans_scin = 0 +; hbypass_tof bypass h_tof + hbypass_tof = 0 +; hbypass_scin_eff bypass h_scin_eff and h_scin_eff_shutdown + hbypass_scin_eff = 0 + +; hbypass_trans_cer bypass h_trans_cer + hbypass_trans_cer = 0 +; hbypass_cer bypass h_cer + hbypass_cer = 0 +; hbypass_cer_eff bypass h_cer_eff and h_cer_eff_shutdown + hbypass_cer_eff = 0 + +; hbypass_trans_cal bypass h_trans_cal + hbypass_trans_cal = 0 +; hbypass_cal bypass h_cal + hbypass_cal = 0 +; hbypass_cal_eff bypass h_cal_eff and h_cal_eff_shutdown + hbypass_cal_eff = 0 + +; hbypass_physics bypass h_physics + hbypass_physics = 0 diff --git a/examples/PARAM/hdriftmap.param b/examples/PARAM/hdriftmap.param new file mode 100644 index 0000000000000000000000000000000000000000..12a3d95961c68b0dae38fc918cb11b9307bea6cb --- /dev/null +++ b/examples/PARAM/hdriftmap.param @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +hdriftbins=138 +;number of 1st bin in Meek's table in ns +hdrift1stbin=-24 +;bin size in ns of Meek's table +hdriftbinsz=2 +hwc1x1fract=0.0001,0.0003,0.0004,0.0005,0.0007,0.0010,0.0015,0.0017 +0.0020,0.0028,0.0040,0.0060,0.0086,0.0120,0.0167,0.0230,0.0320,0.0435 +0.0572,0.0735,0.0910,0.1100,0.1310,0.1525,0.1753,0.1981,0.2205,0.2424 +0.2659,0.2893,0.3122,0.3354,0.3590,0.3814,0.4039,0.4268,0.4485,0.4711 +0.4933,0.5149,0.5368,0.5585,0.5796,0.6001,0.6209,0.6421,0.6615,0.6809 +0.7003,0.7189,0.7380,0.7564,0.7742,0.7912,0.8084,0.8245,0.8394,0.8533 +0.8667,0.8793,0.8909,0.9017,0.9106,0.9193,0.9267,0.9336,0.9402,0.9462 +0.9516,0.9567,0.9618,0.9659,0.9700,0.9734,0.9764,0.9790,0.9818,0.9841 +0.9862,0.9881,0.9895,0.9909,0.9919,0.9928,0.9935,0.9942,0.9950,0.9955 +0.9960,0.9965,0.9968,0.9972,0.9975,0.9979,0.9981,0.9983,0.9985,0.9987 +0.9988,0.9989,0.9991,0.9992,0.9993,0.9994,0.9995,0.9996,0.9997,0.9997 +0.9998,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y1fract=0.0001,0.0003,0.0004,0.0004,0.0006,0.0009,0.0011,0.0014 +0.0016,0.0022,0.0029,0.0039,0.0053,0.0075,0.0111,0.0170,0.0264,0.0398 +0.0568,0.0762,0.0985,0.1218,0.1462,0.1721,0.1973,0.2231,0.2478,0.2721 +0.2960,0.3194,0.3434,0.3661,0.3888,0.4108,0.4335,0.4557,0.4762,0.4967 +0.5182,0.5389,0.5586,0.5788,0.5983,0.6189,0.6385,0.6583,0.6776,0.6971 +0.7158,0.7347,0.7527,0.7709,0.7881,0.8054,0.8215,0.8375,0.8530,0.8668 +0.8801,0.8926,0.9040,0.9141,0.9223,0.9304,0.9372,0.9430,0.9480,0.9528 +0.9573,0.9614,0.9651,0.9682,0.9710,0.9740,0.9765,0.9788,0.9809,0.9825 +0.9843,0.9858,0.9872,0.9882,0.9892,0.9902,0.9912,0.9920,0.9926,0.9932 +0.9938,0.9944,0.9949,0.9954,0.9958,0.9962,0.9966,0.9970,0.9971,0.9975 +0.9978,0.9980,0.9981,0.9983,0.9986,0.9987,0.9988,0.9990,0.9992,0.9993 +0.9995,0.9996,0.9997,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1u1fract=0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0003,0.0004 +0.0005,0.0009,0.0018,0.0033,0.0055,0.0088,0.0137,0.0211,0.0312,0.0459 +0.0630,0.0831,0.1059,0.1286,0.1526,0.1763,0.2012,0.2254,0.2494,0.2727 +0.2963,0.3192,0.3417,0.3644,0.3865,0.4081,0.4299,0.4516,0.4728,0.4939 +0.5138,0.5345,0.5549,0.5754,0.5958,0.6163,0.6361,0.6558,0.6747,0.6941 +0.7128,0.7319,0.7505,0.7686,0.7861,0.8039,0.8210,0.8365,0.8509,0.8648 +0.8779,0.8898,0.9010,0.9105,0.9191,0.9264,0.9333,0.9391,0.9447,0.9497 +0.9538,0.9580,0.9618,0.9652,0.9684,0.9716,0.9745,0.9771,0.9792,0.9815 +0.9833,0.9850,0.9863,0.9875,0.9885,0.9894,0.9902,0.9912,0.9919,0.9927 +0.9933,0.9937,0.9942,0.9947,0.9951,0.9955,0.9960,0.9963,0.9967,0.9970 +0.9973,0.9976,0.9979,0.9981,0.9982,0.9985,0.9986,0.9989,0.9991,0.9992 +0.9993,0.9994,0.9995,0.9996,0.9997,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1v1fract=0.0000,0.0000,0.0001,0.0002,0.0002,0.0003,0.0004,0.0005 +0.0007,0.0008,0.0011,0.0017,0.0026,0.0041,0.0073,0.0133,0.0228,0.0352 +0.0516,0.0710,0.0925,0.1158,0.1398,0.1644,0.1883,0.2115,0.2352,0.2589 +0.2824,0.3050,0.3282,0.3501,0.3718,0.3932,0.4149,0.4369,0.4577,0.4784 +0.4996,0.5201,0.5410,0.5616,0.5814,0.6016,0.6211,0.6414,0.6602,0.6795 +0.6985,0.7170,0.7361,0.7550,0.7736,0.7914,0.8094,0.8265,0.8428,0.8581 +0.8725,0.8857,0.8973,0.9077,0.9174,0.9257,0.9326,0.9387,0.9437,0.9490 +0.9538,0.9577,0.9613,0.9650,0.9684,0.9716,0.9746,0.9771,0.9793,0.9815 +0.9833,0.9849,0.9863,0.9876,0.9887,0.9896,0.9906,0.9915,0.9921,0.9927 +0.9932,0.9938,0.9943,0.9947,0.9953,0.9956,0.9960,0.9964,0.9968,0.9971 +0.9973,0.9976,0.9979,0.9981,0.9982,0.9984,0.9986,0.9988,0.9990,0.9991 +0.9993,0.9995,0.9996,0.9997,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y2fract=0.0000,0.0000,0.0001,0.0002,0.0003,0.0003,0.0005,0.0007 +0.0009,0.0011,0.0015,0.0020,0.0029,0.0045,0.0070,0.0112,0.0187,0.0294 +0.0438,0.0617,0.0826,0.1041,0.1281,0.1527,0.1771,0.2018,0.2262,0.2507 +0.2752,0.2982,0.3214,0.3442,0.3669,0.3896,0.4112,0.4327,0.4554,0.4767 +0.4978,0.5184,0.5388,0.5597,0.5793,0.6002,0.6198,0.6398,0.6586,0.6781 +0.6980,0.7164,0.7344,0.7527,0.7705,0.7883,0.8056,0.8215,0.8379,0.8533 +0.8667,0.8792,0.8916,0.9023,0.9118,0.9202,0.9277,0.9343,0.9402,0.9457 +0.9504,0.9553,0.9593,0.9628,0.9662,0.9695,0.9726,0.9749,0.9772,0.9793 +0.9812,0.9829,0.9843,0.9856,0.9866,0.9877,0.9886,0.9892,0.9901,0.9909 +0.9918,0.9926,0.9931,0.9937,0.9942,0.9948,0.9953,0.9956,0.9959,0.9963 +0.9967,0.9970,0.9973,0.9976,0.9979,0.9981,0.9983,0.9985,0.9988,0.9989 +0.9992,0.9993,0.9995,0.9996,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1x2fract=0.0001,0.0002,0.0003,0.0004,0.0005,0.0006,0.0008,0.0010 +0.0014,0.0021,0.0030,0.0048,0.0076,0.0115,0.0181,0.0268,0.0392,0.0538 +0.0709,0.0892,0.1099,0.1316,0.1529,0.1747,0.1986,0.2219,0.2461,0.2701 +0.2940,0.3176,0.3408,0.3641,0.3867,0.4102,0.4321,0.4534,0.4751,0.4972 +0.5185,0.5396,0.5602,0.5811,0.6018,0.6220,0.6421,0.6618,0.6811,0.7004 +0.7201,0.7374,0.7557,0.7741,0.7920,0.8096,0.8257,0.8410,0.8555,0.8687 +0.8814,0.8922,0.9022,0.9112,0.9195,0.9272,0.9343,0.9401,0.9458,0.9509 +0.9562,0.9605,0.9647,0.9687,0.9723,0.9753,0.9782,0.9808,0.9832,0.9851 +0.9868,0.9883,0.9897,0.9909,0.9918,0.9925,0.9933,0.9940,0.9947,0.9953 +0.9957,0.9961,0.9966,0.9969,0.9973,0.9975,0.9978,0.9980,0.9982,0.9984 +0.9985,0.9986,0.9988,0.9989,0.9991,0.9992,0.9993,0.9995,0.9996,0.9996 +0.9996,0.9997,0.9998,0.9998,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x1fract=0.0001,0.0002,0.0004,0.0005,0.0008,0.0011,0.0014,0.0017 +0.0021,0.0027,0.0039,0.0056,0.0087,0.0134,0.0199,0.0292,0.0404,0.0540 +0.0693,0.0861,0.1044,0.1251,0.1462,0.1676,0.1901,0.2126,0.2355,0.2583 +0.2820,0.3055,0.3288,0.3512,0.3739,0.3968,0.4189,0.4421,0.4645,0.4869 +0.5086,0.5306,0.5519,0.5731,0.5943,0.6150,0.6355,0.6568,0.6766,0.6969 +0.7168,0.7364,0.7554,0.7741,0.7913,0.8092,0.8260,0.8419,0.8572,0.8718 +0.8844,0.8961,0.9064,0.9160,0.9248,0.9320,0.9383,0.9448,0.9502,0.9554 +0.9603,0.9646,0.9685,0.9721,0.9753,0.9782,0.9810,0.9835,0.9857,0.9874 +0.9889,0.9903,0.9913,0.9922,0.9931,0.9937,0.9943,0.9950,0.9955,0.9959 +0.9964,0.9967,0.9970,0.9973,0.9975,0.9977,0.9980,0.9983,0.9984,0.9986 +0.9988,0.9989,0.9991,0.9992,0.9993,0.9994,0.9995,0.9996,0.9997,0.9997 +0.9998,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y1fract=0.0000,0.0000,0.0001,0.0002,0.0003,0.0004,0.0006,0.0008 +0.0010,0.0015,0.0020,0.0031,0.0045,0.0075,0.0130,0.0218,0.0330,0.0490 +0.0684,0.0901,0.1137,0.1389,0.1636,0.1900,0.2162,0.2419,0.2663,0.2913 +0.3145,0.3380,0.3606,0.3834,0.4056,0.4274,0.4494,0.4710,0.4920,0.5122 +0.5332,0.5541,0.5744,0.5947,0.6153,0.6358,0.6551,0.6758,0.6958,0.7153 +0.7342,0.7531,0.7709,0.7897,0.8071,0.8235,0.8391,0.8548,0.8692,0.8826 +0.8950,0.9068,0.9163,0.9250,0.9329,0.9404,0.9468,0.9523,0.9571,0.9612 +0.9655,0.9688,0.9718,0.9748,0.9774,0.9796,0.9816,0.9834,0.9852,0.9866 +0.9877,0.9888,0.9897,0.9908,0.9916,0.9924,0.9931,0.9937,0.9943,0.9947 +0.9951,0.9955,0.9959,0.9963,0.9967,0.9969,0.9973,0.9975,0.9978,0.9980 +0.9982,0.9984,0.9985,0.9987,0.9989,0.9990,0.9992,0.9993,0.9995,0.9996 +0.9997,0.9997,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2u1fract=0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0003,0.0004 +0.0005,0.0007,0.0010,0.0017,0.0034,0.0072,0.0145,0.0253,0.0416,0.0616 +0.0839,0.1082,0.1331,0.1596,0.1848,0.2100,0.2343,0.2581,0.2818,0.3059 +0.3288,0.3517,0.3739,0.3959,0.4173,0.4381,0.4589,0.4797,0.5011,0.5209 +0.5410,0.5613,0.5804,0.6000,0.6197,0.6390,0.6582,0.6776,0.6965,0.7146 +0.7326,0.7506,0.7689,0.7858,0.8030,0.8198,0.8362,0.8517,0.8655,0.8787 +0.8908,0.9016,0.9108,0.9192,0.9269,0.9328,0.9383,0.9430,0.9471,0.9509 +0.9546,0.9576,0.9609,0.9637,0.9664,0.9686,0.9705,0.9725,0.9743,0.9760 +0.9777,0.9791,0.9803,0.9818,0.9829,0.9839,0.9848,0.9857,0.9867,0.9876 +0.9884,0.9892,0.9898,0.9905,0.9912,0.9917,0.9922,0.9927,0.9932,0.9937 +0.9943,0.9946,0.9952,0.9956,0.9962,0.9966,0.9971,0.9975,0.9979,0.9984 +0.9988,0.9991,0.9994,0.9996,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2v1fract=0.0000,0.0001,0.0001,0.0002,0.0003,0.0004,0.0006,0.0008 +0.0010,0.0014,0.0020,0.0032,0.0058,0.0117,0.0214,0.0353,0.0527,0.0742 +0.0981,0.1231,0.1484,0.1741,0.1997,0.2245,0.2484,0.2721,0.2961,0.3203 +0.3434,0.3662,0.3882,0.4107,0.4324,0.4541,0.4747,0.4964,0.5164,0.5374 +0.5573,0.5776,0.5978,0.6180,0.6379,0.6570,0.6760,0.6950,0.7137,0.7319 +0.7496,0.7688,0.7859,0.8036,0.8207,0.8370,0.8522,0.8671,0.8811,0.8937 +0.9046,0.9153,0.9244,0.9318,0.9386,0.9445,0.9497,0.9542,0.9582,0.9619 +0.9654,0.9686,0.9713,0.9742,0.9768,0.9792,0.9813,0.9832,0.9848,0.9861 +0.9873,0.9884,0.9894,0.9903,0.9910,0.9918,0.9925,0.9931,0.9937,0.9942 +0.9946,0.9950,0.9954,0.9959,0.9962,0.9965,0.9969,0.9972,0.9975,0.9978 +0.9979,0.9981,0.9984,0.9985,0.9987,0.9989,0.9991,0.9992,0.9994,0.9996 +0.9997,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y2fract=0.0001,0.0002,0.0002,0.0004,0.0005,0.0006,0.0008,0.0010 +0.0013,0.0018,0.0026,0.0038,0.0057,0.0090,0.0144,0.0233,0.0363,0.0535 +0.0734,0.0953,0.1200,0.1454,0.1710,0.1972,0.2228,0.2471,0.2719,0.2963 +0.3199,0.3435,0.3670,0.3907,0.4132,0.4350,0.4566,0.4778,0.4991,0.5195 +0.5407,0.5610,0.5817,0.6024,0.6219,0.6426,0.6622,0.6820,0.7011,0.7203 +0.7384,0.7571,0.7749,0.7924,0.8098,0.8264,0.8431,0.8582,0.8723,0.8855 +0.8980,0.9089,0.9190,0.9278,0.9357,0.9428,0.9484,0.9534,0.9580,0.9622 +0.9660,0.9693,0.9722,0.9751,0.9775,0.9798,0.9821,0.9838,0.9854,0.9870 +0.9884,0.9893,0.9903,0.9912,0.9919,0.9924,0.9931,0.9937,0.9943,0.9948 +0.9951,0.9955,0.9959,0.9962,0.9965,0.9968,0.9971,0.9974,0.9977,0.9979 +0.9981,0.9983,0.9985,0.9987,0.9989,0.9991,0.9993,0.9994,0.9995,0.9996 +0.9997,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x2fract=0.0000,0.0002,0.0003,0.0003,0.0005,0.0008,0.0009,0.0012 +0.0015,0.0020,0.0025,0.0038,0.0059,0.0091,0.0140,0.0213,0.0307,0.0429 +0.0577,0.0743,0.0926,0.1127,0.1333,0.1554,0.1779,0.2009,0.2243,0.2474 +0.2710,0.2945,0.3191,0.3422,0.3648,0.3880,0.4103,0.4329,0.4554,0.4775 +0.5000,0.5212,0.5428,0.5635,0.5842,0.6048,0.6254,0.6451,0.6647,0.6845 +0.7044,0.7242,0.7431,0.7614,0.7797,0.7970,0.8145,0.8308,0.8463,0.8607 +0.8741,0.8864,0.8975,0.9073,0.9164,0.9247,0.9317,0.9386,0.9445,0.9501 +0.9556,0.9604,0.9647,0.9686,0.9722,0.9751,0.9781,0.9805,0.9829,0.9849 +0.9868,0.9884,0.9897,0.9908,0.9920,0.9930,0.9936,0.9942,0.9948,0.9954 +0.9959,0.9963,0.9968,0.9971,0.9974,0.9977,0.9979,0.9982,0.9984,0.9985 +0.9987,0.9988,0.9989,0.9991,0.9991,0.9993,0.9994,0.9994,0.9995,0.9996 +0.9997,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 diff --git a/examples/PARAM/hdriftmap.param.62698 b/examples/PARAM/hdriftmap.param.62698 new file mode 100644 index 0000000000000000000000000000000000000000..aa14b0eae2cc927120a8ecd44ad0b0b640aa8434 --- /dev/null +++ b/examples/PARAM/hdriftmap.param.62698 @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +hdriftbins=138 +;number of 1st bin in Meek's table in ns +hdrift1stbin=-24 +;bin size in ns of Meek's table +hdriftbinsz=2 +hwc1x1fract=0.0363,0.0747,0.1136,0.1530,0.1920,0.2324,0.2724,0.3119 +0.3507,0.3897,0.4273,0.4651,0.5016,0.5387,0.5740,0.6086,0.6453,0.6783 +0.7108,0.7421,0.7730,0.8016,0.8281,0.8522,0.8733,0.8924,0.9089,0.9229 +0.9347,0.9452,0.9536,0.9613,0.9680,0.9738,0.9780,0.9817,0.9847,0.9872 +0.9890,0.9903,0.9915,0.9926,0.9935,0.9943,0.9950,0.9955,0.9960,0.9965 +0.9969,0.9975,0.9978,0.9980,0.9982,0.9984,0.9986,0.9988,0.9989,0.9990 +0.9992,0.9993,0.9993,0.9994,0.9994,0.9995,0.9995,0.9996,0.9996,0.9996 +0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y1fract=0.0435,0.0873,0.1297,0.1724,0.2139,0.2534,0.2936,0.3319 +0.3699,0.4078,0.4443,0.4807,0.5166,0.5526,0.5878,0.6227,0.6573,0.6913 +0.7250,0.7565,0.7863,0.8146,0.8417,0.8657,0.8860,0.9028,0.9179,0.9304 +0.9402,0.9485,0.9559,0.9619,0.9676,0.9721,0.9759,0.9790,0.9816,0.9839 +0.9859,0.9874,0.9886,0.9897,0.9909,0.9917,0.9925,0.9931,0.9937,0.9940 +0.9945,0.9952,0.9958,0.9963,0.9966,0.9970,0.9974,0.9977,0.9980,0.9982 +0.9985,0.9987,0.9989,0.9990,0.9992,0.9993,0.9993,0.9994,0.9995,0.9995 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +hwc1u1fract=0.0417,0.0814,0.1229,0.1626,0.2036,0.2451,0.2842,0.3247 +0.3639,0.4030,0.4399,0.4766,0.5141,0.5490,0.5842,0.6202,0.6549,0.6888 +0.7220,0.7555,0.7860,0.8147,0.8406,0.8644,0.8851,0.9021,0.9164,0.9287 +0.9387,0.9475,0.9548,0.9614,0.9667,0.9713,0.9755,0.9787,0.9816,0.9840 +0.9860,0.9874,0.9890,0.9903,0.9914,0.9922,0.9929,0.9935,0.9942,0.9949 +0.9953,0.9958,0.9962,0.9967,0.9972,0.9976,0.9978,0.9980,0.9982,0.9984 +0.9987,0.9988,0.9989,0.9991,0.9992,0.9993,0.9994,0.9995,0.9995,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1v1fract=0.0390,0.0784,0.1189,0.1592,0.1993,0.2379,0.2758,0.3132 +0.3498,0.3861,0.4226,0.4600,0.4958,0.5324,0.5671,0.6005,0.6359,0.6699 +0.7022,0.7348,0.7661,0.7960,0.8234,0.8494,0.8730,0.8924,0.9091,0.9220 +0.9330,0.9423,0.9500,0.9569,0.9629,0.9683,0.9728,0.9768,0.9799,0.9827 +0.9846,0.9863,0.9880,0.9891,0.9903,0.9912,0.9920,0.9929,0.9936,0.9941 +0.9947,0.9953,0.9958,0.9963,0.9966,0.9971,0.9974,0.9976,0.9979,0.9983 +0.9985,0.9987,0.9989,0.9991,0.9991,0.9992,0.9994,0.9994,0.9995,0.9995 +0.9995,0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y2fract=0.0415,0.0845,0.1268,0.1688,0.2106,0.2502,0.2885,0.3274 +0.3662,0.4031,0.4395,0.4753,0.5098,0.5453,0.5804,0.6147,0.6497,0.6822 +0.7147,0.7459,0.7762,0.8043,0.8314,0.8552,0.8768,0.8958,0.9110,0.9235 +0.9343,0.9436,0.9515,0.9583,0.9639,0.9686,0.9728,0.9762,0.9790,0.9811 +0.9833,0.9852,0.9868,0.9882,0.9893,0.9904,0.9915,0.9924,0.9930,0.9936 +0.9943,0.9949,0.9955,0.9959,0.9963,0.9967,0.9970,0.9974,0.9975,0.9979 +0.9981,0.9984,0.9986,0.9988,0.9989,0.9991,0.9991,0.9993,0.9994,0.9995 +0.9995,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1x2fract=0.0383,0.0788,0.1191,0.1610,0.2022,0.2432,0.2837,0.3233 +0.3609,0.3990,0.4372,0.4741,0.5103,0.5457,0.5807,0.6168,0.6533,0.6872 +0.7206,0.7518,0.7834,0.8120,0.8378,0.8605,0.8805,0.8978,0.9125,0.9252 +0.9361,0.9449,0.9537,0.9614,0.9675,0.9731,0.9777,0.9811,0.9838,0.9861 +0.9879,0.9897,0.9909,0.9921,0.9931,0.9939,0.9945,0.9953,0.9958,0.9962 +0.9967,0.9970,0.9973,0.9976,0.9979,0.9981,0.9983,0.9985,0.9987,0.9988 +0.9989,0.9989,0.9990,0.9992,0.9993,0.9994,0.9995,0.9996,0.9996,0.9996 +0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x1fract=0.0235,0.0522,0.0818,0.1123,0.1453,0.1813,0.2170,0.2525 +0.2887,0.3246,0.3606,0.3970,0.4325,0.4677,0.5020,0.5376,0.5715,0.6056 +0.6392,0.6735,0.7057,0.7376,0.7684,0.7974,0.8237,0.8496,0.8710,0.8907 +0.9074,0.9213,0.9337,0.9444,0.9531,0.9606,0.9673,0.9729,0.9772,0.9812 +0.9842,0.9872,0.9892,0.9909,0.9922,0.9933,0.9939,0.9948,0.9955,0.9962 +0.9966,0.9968,0.9971,0.9974,0.9976,0.9979,0.9982,0.9984,0.9986,0.9987 +0.9989,0.9990,0.9991,0.9992,0.9994,0.9994,0.9995,0.9995,0.9996,0.9996 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y1fract=0.0320,0.0687,0.1083,0.1492,0.1886,0.2279,0.2662,0.3034 +0.3392,0.3745,0.4095,0.4431,0.4772,0.5110,0.5444,0.5775,0.6093,0.6415 +0.6734,0.7026,0.7335,0.7641,0.7926,0.8201,0.8462,0.8704,0.8914,0.9094 +0.9252,0.9373,0.9468,0.9550,0.9615,0.9673,0.9719,0.9760,0.9797,0.9826 +0.9846,0.9863,0.9877,0.9890,0.9901,0.9910,0.9917,0.9924,0.9929,0.9935 +0.9941,0.9946,0.9950,0.9954,0.9957,0.9960,0.9964,0.9968,0.9972,0.9974 +0.9978,0.9981,0.9983,0.9986,0.9987,0.9989,0.9991,0.9993,0.9994,0.9994 +0.9995,0.9996,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2u1fract=0.0379,0.0787,0.1184,0.1585,0.1980,0.2367,0.2745,0.3111 +0.3470,0.3821,0.4181,0.4521,0.4862,0.5187,0.5523,0.5847,0.6171,0.6497 +0.6812,0.7129,0.7437,0.7732,0.8012,0.8287,0.8544,0.8784,0.8985,0.9166 +0.9301,0.9414,0.9507,0.9577,0.9638,0.9687,0.9728,0.9765,0.9800,0.9826 +0.9850,0.9869,0.9883,0.9895,0.9905,0.9912,0.9919,0.9925,0.9930,0.9937 +0.9944,0.9947,0.9950,0.9954,0.9958,0.9963,0.9968,0.9971,0.9975,0.9978 +0.9982,0.9984,0.9986,0.9988,0.9990,0.9991,0.9992,0.9993,0.9993,0.9994 +0.9995,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2v1fract=0.0407,0.0819,0.1220,0.1631,0.2025,0.2408,0.2791,0.3163 +0.3524,0.3874,0.4234,0.4575,0.4917,0.5252,0.5586,0.5917,0.6243,0.6590 +0.6908,0.7224,0.7533,0.7824,0.8116,0.8394,0.8655,0.8884,0.9077,0.9237 +0.9368,0.9470,0.9554,0.9620,0.9674,0.9721,0.9764,0.9799,0.9826,0.9849 +0.9867,0.9885,0.9898,0.9908,0.9917,0.9926,0.9931,0.9936,0.9941,0.9946 +0.9950,0.9954,0.9958,0.9962,0.9966,0.9970,0.9973,0.9976,0.9979,0.9983 +0.9985,0.9987,0.9989,0.9992,0.9993,0.9995,0.9996,0.9996,0.9997,0.9997 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y2fract=0.0344,0.0722,0.1119,0.1503,0.1878,0.2256,0.2623,0.2990 +0.3334,0.3675,0.4001,0.4342,0.4662,0.4981,0.5310,0.5623,0.5932,0.6240 +0.6532,0.6829,0.7128,0.7401,0.7674,0.7942,0.8183,0.8402,0.8591,0.8756 +0.8891,0.9003,0.9088,0.9166,0.9232,0.9291,0.9345,0.9396,0.9440,0.9483 +0.9520,0.9553,0.9578,0.9603,0.9627,0.9648,0.9671,0.9694,0.9715,0.9734 +0.9752,0.9770,0.9787,0.9803,0.9817,0.9835,0.9853,0.9869,0.9887,0.9900 +0.9914,0.9927,0.9941,0.9951,0.9960,0.9968,0.9974,0.9978,0.9983,0.9986 +0.9987,0.9989,0.9990,0.9991,0.9992,0.9993,0.9994,0.9995,0.9996,0.9996 +0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x2fract=0.0258,0.0567,0.0898,0.1250,0.1615,0.1982,0.2339,0.2710 +0.3075,0.3438,0.3804,0.4167,0.4520,0.4865,0.5200,0.5539,0.5872,0.6191 +0.6512,0.6832,0.7148,0.7460,0.7761,0.8047,0.8316,0.8557,0.8778,0.8965 +0.9138,0.9275,0.9388,0.9482,0.9559,0.9625,0.9687,0.9735,0.9781,0.9814 +0.9841,0.9864,0.9883,0.9900,0.9912,0.9923,0.9933,0.9939,0.9946,0.9953 +0.9958,0.9964,0.9968,0.9972,0.9976,0.9979,0.9981,0.9984,0.9987,0.9988 +0.9990,0.9992,0.9993,0.9994,0.9995,0.9995,0.9996,0.9996,0.9997,0.9997 +0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 diff --git a/examples/PARAM/hdriftmap.param.62726 b/examples/PARAM/hdriftmap.param.62726 new file mode 100644 index 0000000000000000000000000000000000000000..6e548480f16a63aa924bae1799eb8ae9f846dbc0 --- /dev/null +++ b/examples/PARAM/hdriftmap.param.62726 @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +hdriftbins=138 +;number of 1st bin in Meek's table in ns +hdrift1stbin=-24 +;bin size in ns of Meek's table +hdriftbinsz=2 +hwc1x1fract=0.0282,0.0603,0.0961,0.1338,0.1719,0.2089,0.2463,0.2826 +0.3168,0.3528,0.3890,0.4242,0.4591,0.4926,0.5256,0.5565,0.5888,0.6201 +0.6504,0.6799,0.7095,0.7390,0.7672,0.7941,0.8196,0.8434,0.8664,0.8861 +0.9028,0.9169,0.9289,0.9393,0.9469,0.9550,0.9621,0.9675,0.9726,0.9768 +0.9809,0.9839,0.9859,0.9877,0.9894,0.9908,0.9916,0.9926,0.9933,0.9939 +0.9948,0.9953,0.9956,0.9960,0.9963,0.9967,0.9970,0.9972,0.9974,0.9978 +0.9981,0.9981,0.9982,0.9984,0.9985,0.9986,0.9988,0.9989,0.9989,0.9989 +0.9990,0.9990,0.9991,0.9991,0.9992,0.9992,0.9992,0.9992,0.9992,0.9992 +0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9994,0.9994,0.9994 +0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995 +0.9995,0.9995,0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000 +hwc1y1fract=0.0315,0.0688,0.1088,0.1504,0.1893,0.2281,0.2656,0.3016 +0.3359,0.3719,0.4046,0.4381,0.4694,0.5016,0.5337,0.5655,0.5961,0.6272 +0.6587,0.6904,0.7196,0.7472,0.7752,0.8024,0.8289,0.8534,0.8759,0.8962 +0.9137,0.9284,0.9391,0.9486,0.9553,0.9614,0.9664,0.9709,0.9749,0.9779 +0.9806,0.9831,0.9850,0.9869,0.9880,0.9892,0.9903,0.9909,0.9917,0.9925 +0.9930,0.9935,0.9940,0.9944,0.9948,0.9952,0.9955,0.9958,0.9964,0.9968 +0.9969,0.9971,0.9975,0.9978,0.9979,0.9981,0.9983,0.9985,0.9986,0.9987 +0.9988,0.9988,0.9990,0.9990,0.9990,0.9991,0.9991,0.9992,0.9992,0.9992 +0.9992,0.9992,0.9992,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993 +0.9994,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9995,0.9995 +0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc1u1fract=0.0336,0.0710,0.1105,0.1495,0.1873,0.2268,0.2642,0.3005 +0.3360,0.3710,0.4058,0.4393,0.4723,0.5066,0.5386,0.5691,0.6000,0.6325 +0.6620,0.6927,0.7227,0.7528,0.7800,0.8075,0.8334,0.8581,0.8801,0.8989 +0.9144,0.9284,0.9390,0.9474,0.9550,0.9603,0.9651,0.9698,0.9735,0.9768 +0.9799,0.9821,0.9841,0.9860,0.9873,0.9887,0.9898,0.9906,0.9913,0.9920 +0.9926,0.9932,0.9939,0.9943,0.9948,0.9953,0.9957,0.9962,0.9966,0.9970 +0.9972,0.9976,0.9979,0.9981,0.9983,0.9985,0.9986,0.9987,0.9988,0.9989 +0.9989,0.9990,0.9991,0.9991,0.9992,0.9992,0.9993,0.9993,0.9993,0.9993 +0.9993,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995 +0.9995,0.9995,0.9995,0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1v1fract=0.0311,0.0647,0.1035,0.1408,0.1805,0.2188,0.2556,0.2907 +0.3251,0.3575,0.3906,0.4237,0.4559,0.4883,0.5196,0.5505,0.5814,0.6125 +0.6421,0.6723,0.7019,0.7292,0.7576,0.7860,0.8133,0.8402,0.8639,0.8856 +0.9041,0.9184,0.9306,0.9406,0.9491,0.9558,0.9619,0.9672,0.9715,0.9755 +0.9794,0.9821,0.9843,0.9862,0.9880,0.9891,0.9901,0.9911,0.9920,0.9927 +0.9934,0.9940,0.9945,0.9951,0.9954,0.9958,0.9962,0.9966,0.9968,0.9970 +0.9973,0.9977,0.9980,0.9981,0.9982,0.9983,0.9985,0.9986,0.9988,0.9989 +0.9989,0.9990,0.9991,0.9991,0.9991,0.9992,0.9992,0.9992,0.9992,0.9992 +0.9992,0.9993,0.9993,0.9993,0.9993,0.9994,0.9994,0.9994,0.9994,0.9994 +0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995 +0.9995,0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y2fract=0.0287,0.0626,0.1008,0.1409,0.1822,0.2214,0.2594,0.2966 +0.3317,0.3671,0.4007,0.4343,0.4672,0.4980,0.5283,0.5588,0.5900,0.6197 +0.6495,0.6800,0.7088,0.7387,0.7671,0.7942,0.8197,0.8452,0.8680,0.8870 +0.9044,0.9205,0.9329,0.9438,0.9521,0.9589,0.9644,0.9690,0.9732,0.9763 +0.9791,0.9814,0.9839,0.9861,0.9876,0.9889,0.9898,0.9906,0.9914,0.9920 +0.9927,0.9934,0.9939,0.9944,0.9949,0.9953,0.9957,0.9960,0.9964,0.9968 +0.9971,0.9974,0.9977,0.9981,0.9982,0.9983,0.9986,0.9986,0.9988,0.9989 +0.9989,0.9990,0.9991,0.9991,0.9992,0.9992,0.9992,0.9992,0.9992,0.9992 +0.9992,0.9992,0.9992,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993 +0.9993,0.9993,0.9993,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995 +0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1x2fract=0.0335,0.0677,0.1081,0.1458,0.1840,0.2205,0.2588,0.2958 +0.3314,0.3675,0.4023,0.4372,0.4714,0.5043,0.5354,0.5665,0.5993,0.6295 +0.6623,0.6934,0.7225,0.7523,0.7808,0.8095,0.8338,0.8559,0.8763,0.8940 +0.9096,0.9224,0.9332,0.9426,0.9506,0.9573,0.9640,0.9698,0.9747,0.9783 +0.9813,0.9839,0.9860,0.9879,0.9893,0.9904,0.9915,0.9924,0.9932,0.9939 +0.9945,0.9948,0.9952,0.9957,0.9961,0.9966,0.9970,0.9973,0.9974,0.9976 +0.9976,0.9978,0.9980,0.9981,0.9983,0.9984,0.9987,0.9987,0.9988,0.9989 +0.9989,0.9989,0.9990,0.9991,0.9991,0.9991,0.9992,0.9992,0.9992,0.9992 +0.9992,0.9993,0.9993,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994 +0.9994,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x1fract=0.0266,0.0586,0.0918,0.1279,0.1662,0.2034,0.2390,0.2758 +0.3129,0.3502,0.3862,0.4207,0.4537,0.4881,0.5209,0.5551,0.5896,0.6219 +0.6538,0.6850,0.7169,0.7476,0.7797,0.8087,0.8343,0.8592,0.8811,0.9001 +0.9165,0.9290,0.9393,0.9486,0.9564,0.9631,0.9686,0.9734,0.9773,0.9812 +0.9840,0.9862,0.9883,0.9899,0.9912,0.9923,0.9931,0.9939,0.9944,0.9949 +0.9953,0.9956,0.9961,0.9965,0.9968,0.9970,0.9972,0.9974,0.9976,0.9978 +0.9980,0.9982,0.9983,0.9984,0.9985,0.9985,0.9986,0.9987,0.9987,0.9988 +0.9989,0.9990,0.9990,0.9991,0.9991,0.9991,0.9991,0.9992,0.9992,0.9992 +0.9992,0.9992,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993 +0.9993,0.9993,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994 +0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995 +0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +hwc2y1fract=0.0362,0.0776,0.1200,0.1608,0.2009,0.2406,0.2782,0.3139 +0.3477,0.3818,0.4159,0.4493,0.4843,0.5145,0.5466,0.5788,0.6109,0.6436 +0.6769,0.7103,0.7403,0.7689,0.7972,0.8258,0.8505,0.8745,0.8961,0.9159 +0.9317,0.9436,0.9527,0.9609,0.9671,0.9720,0.9760,0.9795,0.9829,0.9854 +0.9871,0.9890,0.9904,0.9913,0.9921,0.9929,0.9934,0.9938,0.9943,0.9945 +0.9949,0.9952,0.9956,0.9959,0.9961,0.9964,0.9967,0.9968,0.9971,0.9974 +0.9976,0.9977,0.9978,0.9981,0.9983,0.9984,0.9985,0.9987,0.9988,0.9989 +0.9990,0.9990,0.9991,0.9991,0.9991,0.9992,0.9992,0.9992,0.9992,0.9992 +0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9994 +0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995 +0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2u1fract=0.0410,0.0841,0.1260,0.1656,0.2066,0.2465,0.2831,0.3202 +0.3547,0.3887,0.4245,0.4584,0.4920,0.5252,0.5599,0.5930,0.6245,0.6578 +0.6893,0.7202,0.7512,0.7819,0.8102,0.8375,0.8643,0.8866,0.9064,0.9240 +0.9376,0.9482,0.9559,0.9626,0.9683,0.9733,0.9772,0.9802,0.9826,0.9849 +0.9868,0.9883,0.9899,0.9909,0.9918,0.9924,0.9931,0.9934,0.9940,0.9945 +0.9947,0.9951,0.9953,0.9956,0.9959,0.9962,0.9965,0.9966,0.9968,0.9971 +0.9972,0.9975,0.9978,0.9979,0.9981,0.9982,0.9983,0.9984,0.9985,0.9986 +0.9986,0.9987,0.9987,0.9988,0.9989,0.9989,0.9989,0.9989,0.9989,0.9989 +0.9990,0.9990,0.9991,0.9991,0.9992,0.9993,0.9993,0.9993,0.9993,0.9993 +0.9993,0.9993,0.9993,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9995 +0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc2v1fract=0.0433,0.0853,0.1281,0.1689,0.2096,0.2486,0.2871,0.3238 +0.3603,0.3966,0.4316,0.4658,0.4995,0.5319,0.5654,0.5999,0.6322,0.6631 +0.6950,0.7270,0.7589,0.7887,0.8180,0.8461,0.8707,0.8934,0.9125,0.9288 +0.9414,0.9516,0.9593,0.9650,0.9700,0.9742,0.9777,0.9807,0.9834,0.9853 +0.9871,0.9886,0.9900,0.9908,0.9915,0.9921,0.9926,0.9932,0.9936,0.9940 +0.9944,0.9948,0.9952,0.9956,0.9960,0.9963,0.9966,0.9969,0.9972,0.9974 +0.9977,0.9980,0.9982,0.9984,0.9984,0.9986,0.9987,0.9988,0.9989,0.9989 +0.9990,0.9990,0.9990,0.9991,0.9991,0.9992,0.9992,0.9992,0.9992,0.9993 +0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9994,0.9994,0.9994,0.9994 +0.9994,0.9994,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc2y2fract=0.0395,0.0830,0.1259,0.1670,0.2065,0.2467,0.2848,0.3213 +0.3590,0.3943,0.4276,0.4632,0.4948,0.5273,0.5591,0.5912,0.6240,0.6561 +0.6881,0.7193,0.7500,0.7806,0.8090,0.8368,0.8621,0.8839,0.9041,0.9209 +0.9354,0.9468,0.9563,0.9637,0.9700,0.9748,0.9784,0.9818,0.9846,0.9867 +0.9883,0.9899,0.9909,0.9920,0.9928,0.9934,0.9941,0.9944,0.9949,0.9952 +0.9956,0.9957,0.9958,0.9960,0.9962,0.9965,0.9967,0.9970,0.9973,0.9974 +0.9976,0.9978,0.9980,0.9981,0.9984,0.9985,0.9986,0.9987,0.9987,0.9988 +0.9989,0.9989,0.9991,0.9992,0.9992,0.9993,0.9993,0.9993,0.9993,0.9993 +0.9993,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995 +0.9995,0.9995,0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999 +0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x2fract=0.0321,0.0667,0.1052,0.1437,0.1823,0.2181,0.2562,0.2932 +0.3292,0.3650,0.3980,0.4325,0.4665,0.5015,0.5349,0.5666,0.5977,0.6311 +0.6629,0.6940,0.7248,0.7546,0.7832,0.8110,0.8374,0.8625,0.8841,0.9024 +0.9197,0.9327,0.9432,0.9522,0.9594,0.9660,0.9713,0.9756,0.9793,0.9826 +0.9852,0.9874,0.9888,0.9900,0.9912,0.9918,0.9925,0.9931,0.9938,0.9945 +0.9950,0.9955,0.9961,0.9963,0.9965,0.9968,0.9971,0.9973,0.9974,0.9976 +0.9977,0.9980,0.9982,0.9984,0.9985,0.9986,0.9987,0.9987,0.9988,0.9989 +0.9989,0.9990,0.9990,0.9990,0.9990,0.9992,0.9992,0.9992,0.9992,0.9992 +0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993,0.9993 +0.9993,0.9993,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9995 +0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000 diff --git a/examples/PARAM/hdriftmap.param.63504 b/examples/PARAM/hdriftmap.param.63504 new file mode 100644 index 0000000000000000000000000000000000000000..b45d812da215d4acc7c6862f8f497f9df36217c7 --- /dev/null +++ b/examples/PARAM/hdriftmap.param.63504 @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +hdriftbins=138 +;number of 1st bin in Meek's table in ns +hdrift1stbin=-24 +;bin size in ns of Meek's table +hdriftbinsz=2 +hwc1x1fract=0.0355,0.0712,0.1090,0.1483,0.1878,0.2272,0.2663,0.3047 +0.3429,0.3798,0.4167,0.4537,0.4917,0.5280,0.5654,0.6012,0.6364,0.6716 +0.7048,0.7366,0.7672,0.7968,0.8254,0.8507,0.8728,0.8908,0.9079,0.9207 +0.9330,0.9432,0.9519,0.9592,0.9661,0.9718,0.9763,0.9799,0.9830,0.9863 +0.9884,0.9901,0.9912,0.9922,0.9933,0.9941,0.9947,0.9954,0.9958,0.9963 +0.9967,0.9969,0.9973,0.9975,0.9977,0.9980,0.9982,0.9984,0.9986,0.9988 +0.9989,0.9990,0.9991,0.9991,0.9993,0.9993,0.9994,0.9995,0.9995,0.9995 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc1y1fract=0.0440,0.0878,0.1304,0.1716,0.2122,0.2521,0.2919,0.3303 +0.3679,0.4047,0.4420,0.4793,0.5168,0.5518,0.5873,0.6241,0.6573,0.6909 +0.7230,0.7547,0.7863,0.8155,0.8432,0.8677,0.8878,0.9069,0.9216,0.9336 +0.9438,0.9527,0.9591,0.9651,0.9699,0.9744,0.9778,0.9810,0.9835,0.9853 +0.9871,0.9884,0.9895,0.9907,0.9915,0.9924,0.9929,0.9935,0.9939,0.9945 +0.9949,0.9954,0.9958,0.9961,0.9965,0.9969,0.9971,0.9974,0.9977,0.9981 +0.9983,0.9984,0.9985,0.9986,0.9989,0.9991,0.9992,0.9992,0.9993,0.9993 +0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995 +0.9995,0.9995,0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc1u1fract=0.0419,0.0839,0.1263,0.1668,0.2062,0.2460,0.2855,0.3254 +0.3647,0.4016,0.4383,0.4760,0.5124,0.5483,0.5833,0.6190,0.6527,0.6873 +0.7219,0.7536,0.7843,0.8144,0.8409,0.8646,0.8852,0.9030,0.9172,0.9289 +0.9397,0.9479,0.9549,0.9612,0.9665,0.9709,0.9746,0.9782,0.9808,0.9834 +0.9855,0.9874,0.9886,0.9895,0.9903,0.9912,0.9922,0.9930,0.9937,0.9943 +0.9946,0.9949,0.9954,0.9960,0.9963,0.9967,0.9970,0.9973,0.9974,0.9978 +0.9980,0.9983,0.9985,0.9988,0.9989,0.9990,0.9991,0.9992,0.9993,0.9994 +0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1v1fract=0.0408,0.0811,0.1225,0.1621,0.2005,0.2382,0.2770,0.3148 +0.3504,0.3868,0.4234,0.4598,0.4957,0.5323,0.5666,0.6018,0.6366,0.6708 +0.7044,0.7354,0.7662,0.7970,0.8240,0.8513,0.8760,0.8963,0.9128,0.9258 +0.9372,0.9464,0.9542,0.9614,0.9667,0.9717,0.9762,0.9793,0.9822,0.9845 +0.9863,0.9880,0.9895,0.9905,0.9918,0.9925,0.9933,0.9938,0.9944,0.9949 +0.9952,0.9956,0.9960,0.9963,0.9969,0.9973,0.9975,0.9978,0.9981,0.9984 +0.9985,0.9989,0.9990,0.9990,0.9991,0.9991,0.9992,0.9993,0.9993,0.9993 +0.9994,0.9994,0.9995,0.9995,0.9995,0.9995,0.9995,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y2fract=0.0425,0.0855,0.1273,0.1693,0.2106,0.2508,0.2902,0.3297 +0.3670,0.4036,0.4393,0.4756,0.5126,0.5486,0.5826,0.6165,0.6486,0.6822 +0.7146,0.7466,0.7782,0.8068,0.8329,0.8578,0.8800,0.8990,0.9149,0.9280 +0.9390,0.9480,0.9556,0.9616,0.9668,0.9711,0.9747,0.9781,0.9805,0.9825 +0.9843,0.9861,0.9876,0.9885,0.9897,0.9907,0.9914,0.9922,0.9929,0.9934 +0.9941,0.9946,0.9952,0.9956,0.9959,0.9963,0.9966,0.9971,0.9974,0.9977 +0.9980,0.9983,0.9984,0.9986,0.9989,0.9989,0.9990,0.9991,0.9991,0.9992 +0.9993,0.9993,0.9993,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9995 +0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +hwc1x2fract=0.0378,0.0785,0.1198,0.1599,0.2002,0.2417,0.2825,0.3221 +0.3605,0.4003,0.4400,0.4772,0.5141,0.5510,0.5867,0.6221,0.6578,0.6898 +0.7224,0.7529,0.7832,0.8110,0.8369,0.8591,0.8812,0.8989,0.9129,0.9254 +0.9367,0.9455,0.9536,0.9603,0.9668,0.9720,0.9764,0.9799,0.9827,0.9851 +0.9867,0.9885,0.9899,0.9912,0.9922,0.9930,0.9937,0.9945,0.9952,0.9957 +0.9960,0.9964,0.9967,0.9971,0.9972,0.9974,0.9977,0.9980,0.9982,0.9984 +0.9986,0.9987,0.9988,0.9989,0.9990,0.9991,0.9991,0.9991,0.9992,0.9993 +0.9993,0.9993,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9995 +0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000 +hwc2x1fract=0.0353,0.0698,0.1076,0.1468,0.1840,0.2231,0.2621,0.2983 +0.3360,0.3744,0.4126,0.4524,0.4907,0.5271,0.5652,0.6009,0.6342,0.6697 +0.7057,0.7390,0.7723,0.8020,0.8287,0.8532,0.8758,0.8951,0.9118,0.9256 +0.9379,0.9480,0.9566,0.9639,0.9702,0.9750,0.9790,0.9824,0.9849,0.9873 +0.9889,0.9907,0.9918,0.9931,0.9939,0.9947,0.9953,0.9959,0.9964,0.9968 +0.9971,0.9976,0.9979,0.9980,0.9981,0.9984,0.9985,0.9987,0.9988,0.9989 +0.9990,0.9991,0.9992,0.9992,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995 +0.9995,0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000 +hwc2y1fract=0.0441,0.0876,0.1311,0.1734,0.2155,0.2561,0.2961,0.3356 +0.3737,0.4127,0.4507,0.4867,0.5225,0.5580,0.5923,0.6283,0.6624,0.6975 +0.7305,0.7629,0.7938,0.8237,0.8504,0.8738,0.8949,0.9127,0.9282,0.9405 +0.9501,0.9581,0.9643,0.9696,0.9745,0.9784,0.9821,0.9846,0.9865,0.9879 +0.9895,0.9909,0.9920,0.9927,0.9935,0.9942,0.9948,0.9952,0.9954,0.9958 +0.9960,0.9964,0.9967,0.9970,0.9974,0.9977,0.9979,0.9982,0.9984,0.9987 +0.9987,0.9989,0.9990,0.9991,0.9992,0.9992,0.9993,0.9993,0.9994,0.9994 +0.9994,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +hwc2u1fract=0.0455,0.0907,0.1326,0.1767,0.2191,0.2603,0.3007,0.3414 +0.3823,0.4202,0.4599,0.4974,0.5333,0.5718,0.6078,0.6426,0.6786,0.7135 +0.7478,0.7804,0.8115,0.8402,0.8672,0.8892,0.9083,0.9234,0.9370,0.9474 +0.9557,0.9621,0.9677,0.9718,0.9759,0.9792,0.9825,0.9850,0.9872,0.9884 +0.9898,0.9904,0.9914,0.9921,0.9927,0.9933,0.9938,0.9943,0.9947,0.9951 +0.9954,0.9960,0.9963,0.9966,0.9969,0.9972,0.9975,0.9979,0.9982,0.9984 +0.9986,0.9987,0.9989,0.9991,0.9991,0.9991,0.9992,0.9992,0.9993,0.9993 +0.9993,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9994,0.9995,0.9995 +0.9995,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +hwc2v1fract=0.0456,0.0905,0.1362,0.1788,0.2206,0.2625,0.3021,0.3441 +0.3848,0.4235,0.4630,0.5010,0.5394,0.5770,0.6143,0.6507,0.6867,0.7225 +0.7576,0.7898,0.8219,0.8495,0.8759,0.8971,0.9151,0.9295,0.9411,0.9504 +0.9579,0.9638,0.9690,0.9730,0.9770,0.9803,0.9828,0.9851,0.9871,0.9887 +0.9899,0.9909,0.9918,0.9924,0.9932,0.9938,0.9943,0.9949,0.9951,0.9955 +0.9959,0.9963,0.9966,0.9968,0.9971,0.9975,0.9978,0.9981,0.9984,0.9987 +0.9988,0.9990,0.9992,0.9992,0.9993,0.9994,0.9995,0.9995,0.9995,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000 +hwc2y2fract=0.0480,0.0937,0.1389,0.1833,0.2242,0.2652,0.3038,0.3445 +0.3831,0.4225,0.4595,0.4956,0.5333,0.5698,0.6077,0.6439,0.6777,0.7109 +0.7451,0.7781,0.8087,0.8380,0.8647,0.8877,0.9077,0.9242,0.9378,0.9481 +0.9564,0.9637,0.9688,0.9737,0.9781,0.9817,0.9846,0.9867,0.9887,0.9902 +0.9912,0.9924,0.9931,0.9939,0.9945,0.9949,0.9953,0.9957,0.9960,0.9963 +0.9966,0.9969,0.9973,0.9977,0.9979,0.9982,0.9983,0.9985,0.9987,0.9988 +0.9990,0.9991,0.9991,0.9992,0.9992,0.9993,0.9994,0.9994,0.9994,0.9995 +0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9995,0.9996,0.9996 +0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9996,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000 +hwc2x2fract=0.0368,0.0768,0.1168,0.1569,0.1950,0.2340,0.2724,0.3100 +0.3490,0.3863,0.4234,0.4597,0.4983,0.5336,0.5678,0.6027,0.6364,0.6686 +0.7007,0.7318,0.7623,0.7899,0.8169,0.8401,0.8622,0.8802,0.8944,0.9067 +0.9177,0.9263,0.9350,0.9424,0.9480,0.9532,0.9579,0.9618,0.9653,0.9679 +0.9707,0.9735,0.9756,0.9774,0.9790,0.9802,0.9816,0.9831,0.9844,0.9857 +0.9867,0.9877,0.9886,0.9897,0.9907,0.9919,0.9929,0.9937,0.9945,0.9953 +0.9959,0.9963,0.9970,0.9976,0.9980,0.9984,0.9987,0.9988,0.9989,0.9990 +0.9991,0.9992,0.9993,0.9994,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997 +0.9997,0.9997,0.9997,0.9997,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998 +0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999 +0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000 diff --git a/examples/PARAM/hdriftmap.param.63513 b/examples/PARAM/hdriftmap.param.63513 new file mode 100644 index 0000000000000000000000000000000000000000..97df536afc1050fd755b2111ff9ae1501a031a34 --- /dev/null +++ b/examples/PARAM/hdriftmap.param.63513 @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +hdriftbins=138 +;number of 1st bin in Meek's table in ns +hdrift1stbin=-24 +;bin size in ns of Meek's table +hdriftbinsz=2 +hwc1x1fract=0.0256,0.0559,0.0886,0.1228,0.1566,0.1924,0.2280,0.2641 +0.3005,0.3356,0.3719,0.4075,0.4425,0.4773,0.5107,0.5445,0.5766,0.6093 +0.6427,0.6753,0.7052,0.7352,0.7639,0.7929,0.8190,0.8436,0.8655,0.8854 +0.9020,0.9166,0.9287,0.9389,0.9479,0.9558,0.9627,0.9683,0.9731,0.9770 +0.9800,0.9825,0.9847,0.9864,0.9877,0.9888,0.9897,0.9906,0.9913,0.9919 +0.9924,0.9928,0.9932,0.9937,0.9940,0.9943,0.9947,0.9950,0.9953,0.9955 +0.9957,0.9958,0.9959,0.9960,0.9962,0.9963,0.9964,0.9966,0.9966,0.9967 +0.9968,0.9969,0.9970,0.9971,0.9972,0.9973,0.9973,0.9973,0.9974,0.9975 +0.9975,0.9976,0.9976,0.9977,0.9978,0.9978,0.9978,0.9978,0.9979,0.9980 +0.9980,0.9981,0.9981,0.9981,0.9982,0.9982,0.9983,0.9983,0.9983,0.9984 +0.9985,0.9985,0.9986,0.9986,0.9986,0.9987,0.9988,0.9988,0.9989,0.9989 +0.9990,0.9990,0.9990,0.9991,0.9991,0.9992,0.9992,0.9993,0.9994,0.9994 +0.9994,0.9995,0.9995,0.9996,0.9996,0.9996,0.9996,0.9997,0.9997,0.9997 +0.9997,0.9998,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +hwc1y1fract=0.0304,0.0677,0.1072,0.1457,0.1842,0.2233,0.2602,0.2963 +0.3316,0.3667,0.4019,0.4361,0.4684,0.5015,0.5334,0.5647,0.5964,0.6278 +0.6588,0.6906,0.7213,0.7511,0.7804,0.8079,0.8346,0.8593,0.8810,0.8999 +0.9165,0.9296,0.9401,0.9494,0.9567,0.9625,0.9673,0.9712,0.9748,0.9778 +0.9805,0.9826,0.9843,0.9857,0.9872,0.9882,0.9891,0.9898,0.9905,0.9911 +0.9916,0.9921,0.9924,0.9929,0.9931,0.9935,0.9939,0.9941,0.9944,0.9946 +0.9950,0.9953,0.9956,0.9959,0.9961,0.9963,0.9965,0.9966,0.9967,0.9969 +0.9970,0.9970,0.9971,0.9972,0.9973,0.9973,0.9973,0.9974,0.9974,0.9974 +0.9975,0.9975,0.9976,0.9976,0.9976,0.9977,0.9977,0.9977,0.9978,0.9978 +0.9979,0.9979,0.9980,0.9980,0.9981,0.9981,0.9982,0.9982,0.9983,0.9983 +0.9984,0.9984,0.9985,0.9985,0.9985,0.9986,0.9986,0.9987,0.9987,0.9988 +0.9988,0.9989,0.9989,0.9990,0.9990,0.9991,0.9991,0.9992,0.9993,0.9993 +0.9993,0.9993,0.9994,0.9994,0.9995,0.9995,0.9995,0.9996,0.9997,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc1u1fract=0.0313,0.0678,0.1049,0.1422,0.1793,0.2171,0.2530,0.2896 +0.3248,0.3599,0.3949,0.4290,0.4618,0.4956,0.5287,0.5609,0.5938,0.6252 +0.6570,0.6876,0.7189,0.7487,0.7781,0.8060,0.8324,0.8562,0.8776,0.8957 +0.9117,0.9248,0.9356,0.9448,0.9527,0.9586,0.9642,0.9689,0.9730,0.9766 +0.9792,0.9814,0.9834,0.9849,0.9861,0.9873,0.9880,0.9888,0.9895,0.9902 +0.9908,0.9913,0.9917,0.9923,0.9928,0.9931,0.9936,0.9940,0.9944,0.9947 +0.9950,0.9952,0.9956,0.9958,0.9960,0.9961,0.9963,0.9964,0.9965,0.9966 +0.9968,0.9969,0.9970,0.9970,0.9971,0.9972,0.9972,0.9972,0.9973,0.9973 +0.9974,0.9974,0.9975,0.9975,0.9976,0.9977,0.9977,0.9977,0.9978,0.9978 +0.9978,0.9979,0.9979,0.9979,0.9980,0.9980,0.9981,0.9981,0.9982,0.9983 +0.9983,0.9984,0.9984,0.9984,0.9985,0.9986,0.9986,0.9987,0.9987,0.9988 +0.9988,0.9989,0.9990,0.9991,0.9991,0.9992,0.9993,0.9993,0.9994,0.9994 +0.9995,0.9995,0.9995,0.9996,0.9996,0.9997,0.9997,0.9997,0.9998,0.9998 +0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000 +hwc1v1fract=0.0286,0.0611,0.0975,0.1351,0.1716,0.2073,0.2422,0.2773 +0.3122,0.3464,0.3803,0.4144,0.4472,0.4795,0.5118,0.5438,0.5760,0.6065 +0.6375,0.6685,0.6996,0.7302,0.7601,0.7883,0.8158,0.8407,0.8650,0.8865 +0.9046,0.9198,0.9320,0.9418,0.9499,0.9562,0.9625,0.9674,0.9715,0.9753 +0.9785,0.9808,0.9831,0.9848,0.9862,0.9875,0.9886,0.9894,0.9901,0.9906 +0.9912,0.9917,0.9922,0.9926,0.9929,0.9933,0.9936,0.9939,0.9943,0.9946 +0.9949,0.9952,0.9955,0.9956,0.9958,0.9960,0.9962,0.9964,0.9965,0.9966 +0.9967,0.9968,0.9969,0.9970,0.9971,0.9971,0.9972,0.9972,0.9973,0.9973 +0.9974,0.9974,0.9975,0.9975,0.9975,0.9976,0.9976,0.9977,0.9977,0.9978 +0.9978,0.9978,0.9979,0.9979,0.9980,0.9981,0.9981,0.9982,0.9982,0.9982 +0.9983,0.9984,0.9984,0.9984,0.9985,0.9985,0.9985,0.9986,0.9987,0.9987 +0.9988,0.9988,0.9989,0.9989,0.9990,0.9990,0.9990,0.9991,0.9991,0.9992 +0.9992,0.9993,0.9994,0.9994,0.9995,0.9995,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9997,0.9997,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc1y2fract=0.0267,0.0603,0.0968,0.1362,0.1764,0.2148,0.2525,0.2885 +0.3230,0.3581,0.3925,0.4260,0.4585,0.4917,0.5228,0.5544,0.5865,0.6185 +0.6494,0.6789,0.7092,0.7387,0.7672,0.7942,0.8205,0.8448,0.8686,0.8886 +0.9060,0.9203,0.9329,0.9430,0.9512,0.9578,0.9632,0.9678,0.9718,0.9753 +0.9785,0.9809,0.9831,0.9849,0.9862,0.9875,0.9886,0.9893,0.9901,0.9908 +0.9913,0.9919,0.9924,0.9928,0.9931,0.9935,0.9938,0.9941,0.9944,0.9948 +0.9950,0.9953,0.9955,0.9957,0.9959,0.9960,0.9961,0.9963,0.9964,0.9965 +0.9967,0.9968,0.9969,0.9970,0.9970,0.9970,0.9971,0.9971,0.9972,0.9972 +0.9972,0.9973,0.9973,0.9974,0.9974,0.9975,0.9976,0.9976,0.9977,0.9977 +0.9978,0.9978,0.9979,0.9979,0.9980,0.9980,0.9980,0.9981,0.9982,0.9982 +0.9982,0.9983,0.9984,0.9984,0.9984,0.9985,0.9986,0.9986,0.9987,0.9987 +0.9988,0.9988,0.9988,0.9989,0.9990,0.9990,0.9991,0.9991,0.9992,0.9993 +0.9993,0.9993,0.9994,0.9994,0.9995,0.9995,0.9996,0.9996,0.9996,0.9996 +0.9996,0.9997,0.9997,0.9998,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000 +hwc1x2fract=0.0297,0.0619,0.0973,0.1332,0.1704,0.2074,0.2450,0.2824 +0.3188,0.3545,0.3894,0.4236,0.4580,0.4918,0.5247,0.5587,0.5903,0.6226 +0.6534,0.6843,0.7147,0.7436,0.7735,0.8008,0.8270,0.8512,0.8728,0.8920 +0.9081,0.9211,0.9325,0.9419,0.9504,0.9572,0.9634,0.9686,0.9729,0.9761 +0.9792,0.9816,0.9836,0.9851,0.9866,0.9877,0.9887,0.9896,0.9903,0.9911 +0.9917,0.9922,0.9929,0.9933,0.9938,0.9941,0.9945,0.9948,0.9949,0.9952 +0.9955,0.9956,0.9958,0.9959,0.9961,0.9963,0.9963,0.9965,0.9966,0.9967 +0.9968,0.9969,0.9970,0.9971,0.9972,0.9972,0.9973,0.9973,0.9974,0.9974 +0.9974,0.9975,0.9975,0.9976,0.9977,0.9978,0.9978,0.9978,0.9979,0.9979 +0.9980,0.9980,0.9980,0.9980,0.9981,0.9982,0.9982,0.9983,0.9983,0.9983 +0.9984,0.9984,0.9984,0.9984,0.9986,0.9986,0.9986,0.9987,0.9988,0.9989 +0.9989,0.9990,0.9990,0.9992,0.9992,0.9992,0.9993,0.9993,0.9994,0.9994 +0.9995,0.9995,0.9995,0.9996,0.9996,0.9997,0.9997,0.9997,0.9997,0.9998 +0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc2x1fract=0.0245,0.0527,0.0833,0.1155,0.1485,0.1811,0.2165,0.2522 +0.2887,0.3242,0.3602,0.3954,0.4314,0.4664,0.5013,0.5357,0.5703,0.6037 +0.6382,0.6711,0.7034,0.7345,0.7639,0.7927,0.8190,0.8438,0.8666,0.8862 +0.9032,0.9182,0.9312,0.9419,0.9509,0.9585,0.9651,0.9707,0.9754,0.9795 +0.9827,0.9851,0.9870,0.9887,0.9898,0.9909,0.9916,0.9923,0.9929,0.9934 +0.9938,0.9942,0.9945,0.9948,0.9951,0.9954,0.9957,0.9958,0.9960,0.9961 +0.9963,0.9964,0.9966,0.9967,0.9968,0.9969,0.9970,0.9971,0.9972,0.9973 +0.9973,0.9973,0.9974,0.9975,0.9975,0.9976,0.9976,0.9976,0.9977,0.9978 +0.9978,0.9978,0.9979,0.9979,0.9980,0.9980,0.9980,0.9981,0.9981,0.9981 +0.9981,0.9982,0.9983,0.9983,0.9983,0.9984,0.9984,0.9985,0.9985,0.9985 +0.9986,0.9986,0.9986,0.9987,0.9987,0.9987,0.9988,0.9988,0.9988,0.9989 +0.9989,0.9989,0.9990,0.9990,0.9990,0.9991,0.9991,0.9992,0.9993,0.9993 +0.9993,0.9994,0.9994,0.9994,0.9995,0.9996,0.9996,0.9997,0.9997,0.9997 +0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +hwc2y1fract=0.0317,0.0687,0.1074,0.1469,0.1868,0.2246,0.2614,0.2992 +0.3350,0.3720,0.4055,0.4391,0.4725,0.5057,0.5387,0.5707,0.6029,0.6343 +0.6662,0.6977,0.7286,0.7587,0.7883,0.8164,0.8421,0.8657,0.8874,0.9060 +0.9218,0.9350,0.9460,0.9549,0.9611,0.9664,0.9710,0.9751,0.9785,0.9812 +0.9836,0.9855,0.9870,0.9882,0.9891,0.9901,0.9908,0.9914,0.9920,0.9924 +0.9927,0.9930,0.9934,0.9936,0.9939,0.9942,0.9945,0.9948,0.9950,0.9953 +0.9956,0.9958,0.9960,0.9962,0.9964,0.9965,0.9967,0.9969,0.9970,0.9970 +0.9971,0.9972,0.9973,0.9973,0.9973,0.9975,0.9975,0.9976,0.9976,0.9977 +0.9977,0.9977,0.9978,0.9979,0.9979,0.9980,0.9980,0.9981,0.9981,0.9981 +0.9982,0.9982,0.9982,0.9983,0.9984,0.9984,0.9984,0.9984,0.9985,0.9985 +0.9986,0.9986,0.9986,0.9987,0.9987,0.9987,0.9988,0.9988,0.9989,0.9989 +0.9990,0.9990,0.9991,0.9991,0.9991,0.9992,0.9992,0.9993,0.9994,0.9994 +0.9994,0.9994,0.9995,0.9995,0.9996,0.9996,0.9997,0.9997,0.9997,0.9998 +0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc2u1fract=0.0386,0.0799,0.1213,0.1619,0.2003,0.2391,0.2774,0.3138 +0.3503,0.3845,0.4188,0.4525,0.4869,0.5210,0.5546,0.5868,0.6188,0.6510 +0.6830,0.7146,0.7451,0.7752,0.8041,0.8309,0.8570,0.8796,0.8997,0.9168 +0.9308,0.9419,0.9511,0.9586,0.9645,0.9692,0.9731,0.9765,0.9793,0.9817 +0.9839,0.9853,0.9866,0.9875,0.9884,0.9893,0.9900,0.9906,0.9911,0.9915 +0.9919,0.9923,0.9927,0.9930,0.9934,0.9937,0.9940,0.9942,0.9945,0.9948 +0.9951,0.9952,0.9955,0.9957,0.9959,0.9961,0.9963,0.9964,0.9965,0.9966 +0.9968,0.9968,0.9970,0.9970,0.9971,0.9971,0.9972,0.9972,0.9973,0.9973 +0.9974,0.9975,0.9975,0.9976,0.9976,0.9977,0.9977,0.9978,0.9979,0.9979 +0.9980,0.9981,0.9981,0.9982,0.9982,0.9983,0.9983,0.9983,0.9983,0.9984 +0.9985,0.9985,0.9985,0.9985,0.9986,0.9986,0.9986,0.9987,0.9987,0.9988 +0.9988,0.9989,0.9990,0.9990,0.9991,0.9991,0.9992,0.9992,0.9992,0.9993 +0.9994,0.9994,0.9994,0.9995,0.9995,0.9995,0.9996,0.9996,0.9997,0.9997 +0.9997,0.9998,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000 +hwc2v1fract=0.0403,0.0826,0.1232,0.1635,0.2041,0.2423,0.2797,0.3168 +0.3530,0.3878,0.4240,0.4593,0.4928,0.5270,0.5600,0.5922,0.6248,0.6570 +0.6887,0.7203,0.7510,0.7804,0.8098,0.8372,0.8632,0.8857,0.9050,0.9213 +0.9338,0.9441,0.9525,0.9592,0.9649,0.9696,0.9734,0.9768,0.9795,0.9817 +0.9839,0.9856,0.9869,0.9881,0.9891,0.9898,0.9905,0.9911,0.9916,0.9921 +0.9926,0.9929,0.9934,0.9938,0.9940,0.9944,0.9946,0.9949,0.9951,0.9954 +0.9957,0.9959,0.9961,0.9964,0.9965,0.9966,0.9968,0.9969,0.9969,0.9970 +0.9971,0.9972,0.9972,0.9973,0.9974,0.9974,0.9974,0.9975,0.9975,0.9976 +0.9976,0.9977,0.9977,0.9977,0.9978,0.9978,0.9978,0.9978,0.9979,0.9980 +0.9980,0.9981,0.9982,0.9982,0.9982,0.9983,0.9983,0.9984,0.9985,0.9985 +0.9985,0.9985,0.9986,0.9986,0.9987,0.9987,0.9987,0.9988,0.9988,0.9989 +0.9989,0.9989,0.9990,0.9991,0.9991,0.9992,0.9992,0.9993,0.9994,0.9994 +0.9994,0.9995,0.9995,0.9996,0.9996,0.9996,0.9997,0.9997,0.9998,0.9998 +0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y2fract=0.0370,0.0763,0.1180,0.1578,0.1969,0.2355,0.2742,0.3112 +0.3474,0.3831,0.4176,0.4524,0.4865,0.5195,0.5522,0.5854,0.6172,0.6478 +0.6798,0.7112,0.7430,0.7727,0.8020,0.8298,0.8555,0.8789,0.8995,0.9168 +0.9310,0.9428,0.9520,0.9601,0.9660,0.9708,0.9749,0.9784,0.9813,0.9838 +0.9857,0.9872,0.9884,0.9894,0.9902,0.9909,0.9915,0.9921,0.9928,0.9931 +0.9934,0.9937,0.9938,0.9941,0.9944,0.9946,0.9948,0.9950,0.9951,0.9954 +0.9955,0.9958,0.9960,0.9962,0.9964,0.9966,0.9967,0.9968,0.9968,0.9969 +0.9970,0.9971,0.9971,0.9972,0.9972,0.9973,0.9973,0.9973,0.9974,0.9974 +0.9975,0.9975,0.9975,0.9976,0.9976,0.9976,0.9977,0.9977,0.9978,0.9979 +0.9979,0.9980,0.9980,0.9981,0.9982,0.9982,0.9982,0.9983,0.9983,0.9983 +0.9984,0.9984,0.9985,0.9985,0.9986,0.9986,0.9987,0.9987,0.9987,0.9988 +0.9988,0.9989,0.9989,0.9989,0.9990,0.9990,0.9991,0.9991,0.9991,0.9991 +0.9992,0.9992,0.9992,0.9993,0.9993,0.9994,0.9995,0.9995,0.9996,0.9996 +0.9997,0.9997,0.9997,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000 +hwc2x2fract=0.0274,0.0580,0.0903,0.1257,0.1610,0.1971,0.2322,0.2677 +0.3035,0.3386,0.3735,0.4080,0.4420,0.4757,0.5091,0.5416,0.5741,0.6051 +0.6372,0.6691,0.7007,0.7311,0.7594,0.7876,0.8131,0.8372,0.8589,0.8776 +0.8930,0.9072,0.9184,0.9280,0.9361,0.9430,0.9491,0.9548,0.9590,0.9627 +0.9661,0.9692,0.9717,0.9739,0.9757,0.9772,0.9787,0.9800,0.9814,0.9826 +0.9837,0.9847,0.9856,0.9866,0.9874,0.9885,0.9893,0.9900,0.9908,0.9916 +0.9923,0.9929,0.9936,0.9942,0.9947,0.9952,0.9956,0.9959,0.9962,0.9964 +0.9965,0.9967,0.9969,0.9970,0.9971,0.9973,0.9973,0.9974,0.9975,0.9976 +0.9976,0.9977,0.9977,0.9978,0.9978,0.9978,0.9979,0.9980,0.9980,0.9980 +0.9981,0.9981,0.9982,0.9983,0.9983,0.9983,0.9984,0.9984,0.9984,0.9985 +0.9985,0.9985,0.9985,0.9986,0.9987,0.9987,0.9988,0.9988,0.9989,0.9989 +0.9989,0.9990,0.9990,0.9990,0.9991,0.9991,0.9991,0.9991,0.9992,0.9992 +0.9992,0.9993,0.9994,0.9994,0.9994,0.9995,0.9995,0.9996,0.9996,0.9996 +0.9997,0.9997,0.9998,0.9998,0.9999,0.9999,0.9999,0.9999,0.9999,1.0000 diff --git a/examples/PARAM/hdriftmap.param.bak b/examples/PARAM/hdriftmap.param.bak new file mode 100644 index 0000000000000000000000000000000000000000..12a3d95961c68b0dae38fc918cb11b9307bea6cb --- /dev/null +++ b/examples/PARAM/hdriftmap.param.bak @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +hdriftbins=138 +;number of 1st bin in Meek's table in ns +hdrift1stbin=-24 +;bin size in ns of Meek's table +hdriftbinsz=2 +hwc1x1fract=0.0001,0.0003,0.0004,0.0005,0.0007,0.0010,0.0015,0.0017 +0.0020,0.0028,0.0040,0.0060,0.0086,0.0120,0.0167,0.0230,0.0320,0.0435 +0.0572,0.0735,0.0910,0.1100,0.1310,0.1525,0.1753,0.1981,0.2205,0.2424 +0.2659,0.2893,0.3122,0.3354,0.3590,0.3814,0.4039,0.4268,0.4485,0.4711 +0.4933,0.5149,0.5368,0.5585,0.5796,0.6001,0.6209,0.6421,0.6615,0.6809 +0.7003,0.7189,0.7380,0.7564,0.7742,0.7912,0.8084,0.8245,0.8394,0.8533 +0.8667,0.8793,0.8909,0.9017,0.9106,0.9193,0.9267,0.9336,0.9402,0.9462 +0.9516,0.9567,0.9618,0.9659,0.9700,0.9734,0.9764,0.9790,0.9818,0.9841 +0.9862,0.9881,0.9895,0.9909,0.9919,0.9928,0.9935,0.9942,0.9950,0.9955 +0.9960,0.9965,0.9968,0.9972,0.9975,0.9979,0.9981,0.9983,0.9985,0.9987 +0.9988,0.9989,0.9991,0.9992,0.9993,0.9994,0.9995,0.9996,0.9997,0.9997 +0.9998,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y1fract=0.0001,0.0003,0.0004,0.0004,0.0006,0.0009,0.0011,0.0014 +0.0016,0.0022,0.0029,0.0039,0.0053,0.0075,0.0111,0.0170,0.0264,0.0398 +0.0568,0.0762,0.0985,0.1218,0.1462,0.1721,0.1973,0.2231,0.2478,0.2721 +0.2960,0.3194,0.3434,0.3661,0.3888,0.4108,0.4335,0.4557,0.4762,0.4967 +0.5182,0.5389,0.5586,0.5788,0.5983,0.6189,0.6385,0.6583,0.6776,0.6971 +0.7158,0.7347,0.7527,0.7709,0.7881,0.8054,0.8215,0.8375,0.8530,0.8668 +0.8801,0.8926,0.9040,0.9141,0.9223,0.9304,0.9372,0.9430,0.9480,0.9528 +0.9573,0.9614,0.9651,0.9682,0.9710,0.9740,0.9765,0.9788,0.9809,0.9825 +0.9843,0.9858,0.9872,0.9882,0.9892,0.9902,0.9912,0.9920,0.9926,0.9932 +0.9938,0.9944,0.9949,0.9954,0.9958,0.9962,0.9966,0.9970,0.9971,0.9975 +0.9978,0.9980,0.9981,0.9983,0.9986,0.9987,0.9988,0.9990,0.9992,0.9993 +0.9995,0.9996,0.9997,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1u1fract=0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0003,0.0004 +0.0005,0.0009,0.0018,0.0033,0.0055,0.0088,0.0137,0.0211,0.0312,0.0459 +0.0630,0.0831,0.1059,0.1286,0.1526,0.1763,0.2012,0.2254,0.2494,0.2727 +0.2963,0.3192,0.3417,0.3644,0.3865,0.4081,0.4299,0.4516,0.4728,0.4939 +0.5138,0.5345,0.5549,0.5754,0.5958,0.6163,0.6361,0.6558,0.6747,0.6941 +0.7128,0.7319,0.7505,0.7686,0.7861,0.8039,0.8210,0.8365,0.8509,0.8648 +0.8779,0.8898,0.9010,0.9105,0.9191,0.9264,0.9333,0.9391,0.9447,0.9497 +0.9538,0.9580,0.9618,0.9652,0.9684,0.9716,0.9745,0.9771,0.9792,0.9815 +0.9833,0.9850,0.9863,0.9875,0.9885,0.9894,0.9902,0.9912,0.9919,0.9927 +0.9933,0.9937,0.9942,0.9947,0.9951,0.9955,0.9960,0.9963,0.9967,0.9970 +0.9973,0.9976,0.9979,0.9981,0.9982,0.9985,0.9986,0.9989,0.9991,0.9992 +0.9993,0.9994,0.9995,0.9996,0.9997,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1v1fract=0.0000,0.0000,0.0001,0.0002,0.0002,0.0003,0.0004,0.0005 +0.0007,0.0008,0.0011,0.0017,0.0026,0.0041,0.0073,0.0133,0.0228,0.0352 +0.0516,0.0710,0.0925,0.1158,0.1398,0.1644,0.1883,0.2115,0.2352,0.2589 +0.2824,0.3050,0.3282,0.3501,0.3718,0.3932,0.4149,0.4369,0.4577,0.4784 +0.4996,0.5201,0.5410,0.5616,0.5814,0.6016,0.6211,0.6414,0.6602,0.6795 +0.6985,0.7170,0.7361,0.7550,0.7736,0.7914,0.8094,0.8265,0.8428,0.8581 +0.8725,0.8857,0.8973,0.9077,0.9174,0.9257,0.9326,0.9387,0.9437,0.9490 +0.9538,0.9577,0.9613,0.9650,0.9684,0.9716,0.9746,0.9771,0.9793,0.9815 +0.9833,0.9849,0.9863,0.9876,0.9887,0.9896,0.9906,0.9915,0.9921,0.9927 +0.9932,0.9938,0.9943,0.9947,0.9953,0.9956,0.9960,0.9964,0.9968,0.9971 +0.9973,0.9976,0.9979,0.9981,0.9982,0.9984,0.9986,0.9988,0.9990,0.9991 +0.9993,0.9995,0.9996,0.9997,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y2fract=0.0000,0.0000,0.0001,0.0002,0.0003,0.0003,0.0005,0.0007 +0.0009,0.0011,0.0015,0.0020,0.0029,0.0045,0.0070,0.0112,0.0187,0.0294 +0.0438,0.0617,0.0826,0.1041,0.1281,0.1527,0.1771,0.2018,0.2262,0.2507 +0.2752,0.2982,0.3214,0.3442,0.3669,0.3896,0.4112,0.4327,0.4554,0.4767 +0.4978,0.5184,0.5388,0.5597,0.5793,0.6002,0.6198,0.6398,0.6586,0.6781 +0.6980,0.7164,0.7344,0.7527,0.7705,0.7883,0.8056,0.8215,0.8379,0.8533 +0.8667,0.8792,0.8916,0.9023,0.9118,0.9202,0.9277,0.9343,0.9402,0.9457 +0.9504,0.9553,0.9593,0.9628,0.9662,0.9695,0.9726,0.9749,0.9772,0.9793 +0.9812,0.9829,0.9843,0.9856,0.9866,0.9877,0.9886,0.9892,0.9901,0.9909 +0.9918,0.9926,0.9931,0.9937,0.9942,0.9948,0.9953,0.9956,0.9959,0.9963 +0.9967,0.9970,0.9973,0.9976,0.9979,0.9981,0.9983,0.9985,0.9988,0.9989 +0.9992,0.9993,0.9995,0.9996,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1x2fract=0.0001,0.0002,0.0003,0.0004,0.0005,0.0006,0.0008,0.0010 +0.0014,0.0021,0.0030,0.0048,0.0076,0.0115,0.0181,0.0268,0.0392,0.0538 +0.0709,0.0892,0.1099,0.1316,0.1529,0.1747,0.1986,0.2219,0.2461,0.2701 +0.2940,0.3176,0.3408,0.3641,0.3867,0.4102,0.4321,0.4534,0.4751,0.4972 +0.5185,0.5396,0.5602,0.5811,0.6018,0.6220,0.6421,0.6618,0.6811,0.7004 +0.7201,0.7374,0.7557,0.7741,0.7920,0.8096,0.8257,0.8410,0.8555,0.8687 +0.8814,0.8922,0.9022,0.9112,0.9195,0.9272,0.9343,0.9401,0.9458,0.9509 +0.9562,0.9605,0.9647,0.9687,0.9723,0.9753,0.9782,0.9808,0.9832,0.9851 +0.9868,0.9883,0.9897,0.9909,0.9918,0.9925,0.9933,0.9940,0.9947,0.9953 +0.9957,0.9961,0.9966,0.9969,0.9973,0.9975,0.9978,0.9980,0.9982,0.9984 +0.9985,0.9986,0.9988,0.9989,0.9991,0.9992,0.9993,0.9995,0.9996,0.9996 +0.9996,0.9997,0.9998,0.9998,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x1fract=0.0001,0.0002,0.0004,0.0005,0.0008,0.0011,0.0014,0.0017 +0.0021,0.0027,0.0039,0.0056,0.0087,0.0134,0.0199,0.0292,0.0404,0.0540 +0.0693,0.0861,0.1044,0.1251,0.1462,0.1676,0.1901,0.2126,0.2355,0.2583 +0.2820,0.3055,0.3288,0.3512,0.3739,0.3968,0.4189,0.4421,0.4645,0.4869 +0.5086,0.5306,0.5519,0.5731,0.5943,0.6150,0.6355,0.6568,0.6766,0.6969 +0.7168,0.7364,0.7554,0.7741,0.7913,0.8092,0.8260,0.8419,0.8572,0.8718 +0.8844,0.8961,0.9064,0.9160,0.9248,0.9320,0.9383,0.9448,0.9502,0.9554 +0.9603,0.9646,0.9685,0.9721,0.9753,0.9782,0.9810,0.9835,0.9857,0.9874 +0.9889,0.9903,0.9913,0.9922,0.9931,0.9937,0.9943,0.9950,0.9955,0.9959 +0.9964,0.9967,0.9970,0.9973,0.9975,0.9977,0.9980,0.9983,0.9984,0.9986 +0.9988,0.9989,0.9991,0.9992,0.9993,0.9994,0.9995,0.9996,0.9997,0.9997 +0.9998,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y1fract=0.0000,0.0000,0.0001,0.0002,0.0003,0.0004,0.0006,0.0008 +0.0010,0.0015,0.0020,0.0031,0.0045,0.0075,0.0130,0.0218,0.0330,0.0490 +0.0684,0.0901,0.1137,0.1389,0.1636,0.1900,0.2162,0.2419,0.2663,0.2913 +0.3145,0.3380,0.3606,0.3834,0.4056,0.4274,0.4494,0.4710,0.4920,0.5122 +0.5332,0.5541,0.5744,0.5947,0.6153,0.6358,0.6551,0.6758,0.6958,0.7153 +0.7342,0.7531,0.7709,0.7897,0.8071,0.8235,0.8391,0.8548,0.8692,0.8826 +0.8950,0.9068,0.9163,0.9250,0.9329,0.9404,0.9468,0.9523,0.9571,0.9612 +0.9655,0.9688,0.9718,0.9748,0.9774,0.9796,0.9816,0.9834,0.9852,0.9866 +0.9877,0.9888,0.9897,0.9908,0.9916,0.9924,0.9931,0.9937,0.9943,0.9947 +0.9951,0.9955,0.9959,0.9963,0.9967,0.9969,0.9973,0.9975,0.9978,0.9980 +0.9982,0.9984,0.9985,0.9987,0.9989,0.9990,0.9992,0.9993,0.9995,0.9996 +0.9997,0.9997,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2u1fract=0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0003,0.0004 +0.0005,0.0007,0.0010,0.0017,0.0034,0.0072,0.0145,0.0253,0.0416,0.0616 +0.0839,0.1082,0.1331,0.1596,0.1848,0.2100,0.2343,0.2581,0.2818,0.3059 +0.3288,0.3517,0.3739,0.3959,0.4173,0.4381,0.4589,0.4797,0.5011,0.5209 +0.5410,0.5613,0.5804,0.6000,0.6197,0.6390,0.6582,0.6776,0.6965,0.7146 +0.7326,0.7506,0.7689,0.7858,0.8030,0.8198,0.8362,0.8517,0.8655,0.8787 +0.8908,0.9016,0.9108,0.9192,0.9269,0.9328,0.9383,0.9430,0.9471,0.9509 +0.9546,0.9576,0.9609,0.9637,0.9664,0.9686,0.9705,0.9725,0.9743,0.9760 +0.9777,0.9791,0.9803,0.9818,0.9829,0.9839,0.9848,0.9857,0.9867,0.9876 +0.9884,0.9892,0.9898,0.9905,0.9912,0.9917,0.9922,0.9927,0.9932,0.9937 +0.9943,0.9946,0.9952,0.9956,0.9962,0.9966,0.9971,0.9975,0.9979,0.9984 +0.9988,0.9991,0.9994,0.9996,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2v1fract=0.0000,0.0001,0.0001,0.0002,0.0003,0.0004,0.0006,0.0008 +0.0010,0.0014,0.0020,0.0032,0.0058,0.0117,0.0214,0.0353,0.0527,0.0742 +0.0981,0.1231,0.1484,0.1741,0.1997,0.2245,0.2484,0.2721,0.2961,0.3203 +0.3434,0.3662,0.3882,0.4107,0.4324,0.4541,0.4747,0.4964,0.5164,0.5374 +0.5573,0.5776,0.5978,0.6180,0.6379,0.6570,0.6760,0.6950,0.7137,0.7319 +0.7496,0.7688,0.7859,0.8036,0.8207,0.8370,0.8522,0.8671,0.8811,0.8937 +0.9046,0.9153,0.9244,0.9318,0.9386,0.9445,0.9497,0.9542,0.9582,0.9619 +0.9654,0.9686,0.9713,0.9742,0.9768,0.9792,0.9813,0.9832,0.9848,0.9861 +0.9873,0.9884,0.9894,0.9903,0.9910,0.9918,0.9925,0.9931,0.9937,0.9942 +0.9946,0.9950,0.9954,0.9959,0.9962,0.9965,0.9969,0.9972,0.9975,0.9978 +0.9979,0.9981,0.9984,0.9985,0.9987,0.9989,0.9991,0.9992,0.9994,0.9996 +0.9997,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y2fract=0.0001,0.0002,0.0002,0.0004,0.0005,0.0006,0.0008,0.0010 +0.0013,0.0018,0.0026,0.0038,0.0057,0.0090,0.0144,0.0233,0.0363,0.0535 +0.0734,0.0953,0.1200,0.1454,0.1710,0.1972,0.2228,0.2471,0.2719,0.2963 +0.3199,0.3435,0.3670,0.3907,0.4132,0.4350,0.4566,0.4778,0.4991,0.5195 +0.5407,0.5610,0.5817,0.6024,0.6219,0.6426,0.6622,0.6820,0.7011,0.7203 +0.7384,0.7571,0.7749,0.7924,0.8098,0.8264,0.8431,0.8582,0.8723,0.8855 +0.8980,0.9089,0.9190,0.9278,0.9357,0.9428,0.9484,0.9534,0.9580,0.9622 +0.9660,0.9693,0.9722,0.9751,0.9775,0.9798,0.9821,0.9838,0.9854,0.9870 +0.9884,0.9893,0.9903,0.9912,0.9919,0.9924,0.9931,0.9937,0.9943,0.9948 +0.9951,0.9955,0.9959,0.9962,0.9965,0.9968,0.9971,0.9974,0.9977,0.9979 +0.9981,0.9983,0.9985,0.9987,0.9989,0.9991,0.9993,0.9994,0.9995,0.9996 +0.9997,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x2fract=0.0000,0.0002,0.0003,0.0003,0.0005,0.0008,0.0009,0.0012 +0.0015,0.0020,0.0025,0.0038,0.0059,0.0091,0.0140,0.0213,0.0307,0.0429 +0.0577,0.0743,0.0926,0.1127,0.1333,0.1554,0.1779,0.2009,0.2243,0.2474 +0.2710,0.2945,0.3191,0.3422,0.3648,0.3880,0.4103,0.4329,0.4554,0.4775 +0.5000,0.5212,0.5428,0.5635,0.5842,0.6048,0.6254,0.6451,0.6647,0.6845 +0.7044,0.7242,0.7431,0.7614,0.7797,0.7970,0.8145,0.8308,0.8463,0.8607 +0.8741,0.8864,0.8975,0.9073,0.9164,0.9247,0.9317,0.9386,0.9445,0.9501 +0.9556,0.9604,0.9647,0.9686,0.9722,0.9751,0.9781,0.9805,0.9829,0.9849 +0.9868,0.9884,0.9897,0.9908,0.9920,0.9930,0.9936,0.9942,0.9948,0.9954 +0.9959,0.9963,0.9968,0.9971,0.9974,0.9977,0.9979,0.9982,0.9984,0.9985 +0.9987,0.9988,0.9989,0.9991,0.9991,0.9993,0.9994,0.9994,0.9995,0.9996 +0.9997,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 diff --git a/examples/PARAM/hdriftmap.param.pre62690 b/examples/PARAM/hdriftmap.param.pre62690 new file mode 100644 index 0000000000000000000000000000000000000000..12a3d95961c68b0dae38fc918cb11b9307bea6cb --- /dev/null +++ b/examples/PARAM/hdriftmap.param.pre62690 @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +hdriftbins=138 +;number of 1st bin in Meek's table in ns +hdrift1stbin=-24 +;bin size in ns of Meek's table +hdriftbinsz=2 +hwc1x1fract=0.0001,0.0003,0.0004,0.0005,0.0007,0.0010,0.0015,0.0017 +0.0020,0.0028,0.0040,0.0060,0.0086,0.0120,0.0167,0.0230,0.0320,0.0435 +0.0572,0.0735,0.0910,0.1100,0.1310,0.1525,0.1753,0.1981,0.2205,0.2424 +0.2659,0.2893,0.3122,0.3354,0.3590,0.3814,0.4039,0.4268,0.4485,0.4711 +0.4933,0.5149,0.5368,0.5585,0.5796,0.6001,0.6209,0.6421,0.6615,0.6809 +0.7003,0.7189,0.7380,0.7564,0.7742,0.7912,0.8084,0.8245,0.8394,0.8533 +0.8667,0.8793,0.8909,0.9017,0.9106,0.9193,0.9267,0.9336,0.9402,0.9462 +0.9516,0.9567,0.9618,0.9659,0.9700,0.9734,0.9764,0.9790,0.9818,0.9841 +0.9862,0.9881,0.9895,0.9909,0.9919,0.9928,0.9935,0.9942,0.9950,0.9955 +0.9960,0.9965,0.9968,0.9972,0.9975,0.9979,0.9981,0.9983,0.9985,0.9987 +0.9988,0.9989,0.9991,0.9992,0.9993,0.9994,0.9995,0.9996,0.9997,0.9997 +0.9998,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y1fract=0.0001,0.0003,0.0004,0.0004,0.0006,0.0009,0.0011,0.0014 +0.0016,0.0022,0.0029,0.0039,0.0053,0.0075,0.0111,0.0170,0.0264,0.0398 +0.0568,0.0762,0.0985,0.1218,0.1462,0.1721,0.1973,0.2231,0.2478,0.2721 +0.2960,0.3194,0.3434,0.3661,0.3888,0.4108,0.4335,0.4557,0.4762,0.4967 +0.5182,0.5389,0.5586,0.5788,0.5983,0.6189,0.6385,0.6583,0.6776,0.6971 +0.7158,0.7347,0.7527,0.7709,0.7881,0.8054,0.8215,0.8375,0.8530,0.8668 +0.8801,0.8926,0.9040,0.9141,0.9223,0.9304,0.9372,0.9430,0.9480,0.9528 +0.9573,0.9614,0.9651,0.9682,0.9710,0.9740,0.9765,0.9788,0.9809,0.9825 +0.9843,0.9858,0.9872,0.9882,0.9892,0.9902,0.9912,0.9920,0.9926,0.9932 +0.9938,0.9944,0.9949,0.9954,0.9958,0.9962,0.9966,0.9970,0.9971,0.9975 +0.9978,0.9980,0.9981,0.9983,0.9986,0.9987,0.9988,0.9990,0.9992,0.9993 +0.9995,0.9996,0.9997,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1u1fract=0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0003,0.0004 +0.0005,0.0009,0.0018,0.0033,0.0055,0.0088,0.0137,0.0211,0.0312,0.0459 +0.0630,0.0831,0.1059,0.1286,0.1526,0.1763,0.2012,0.2254,0.2494,0.2727 +0.2963,0.3192,0.3417,0.3644,0.3865,0.4081,0.4299,0.4516,0.4728,0.4939 +0.5138,0.5345,0.5549,0.5754,0.5958,0.6163,0.6361,0.6558,0.6747,0.6941 +0.7128,0.7319,0.7505,0.7686,0.7861,0.8039,0.8210,0.8365,0.8509,0.8648 +0.8779,0.8898,0.9010,0.9105,0.9191,0.9264,0.9333,0.9391,0.9447,0.9497 +0.9538,0.9580,0.9618,0.9652,0.9684,0.9716,0.9745,0.9771,0.9792,0.9815 +0.9833,0.9850,0.9863,0.9875,0.9885,0.9894,0.9902,0.9912,0.9919,0.9927 +0.9933,0.9937,0.9942,0.9947,0.9951,0.9955,0.9960,0.9963,0.9967,0.9970 +0.9973,0.9976,0.9979,0.9981,0.9982,0.9985,0.9986,0.9989,0.9991,0.9992 +0.9993,0.9994,0.9995,0.9996,0.9997,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1v1fract=0.0000,0.0000,0.0001,0.0002,0.0002,0.0003,0.0004,0.0005 +0.0007,0.0008,0.0011,0.0017,0.0026,0.0041,0.0073,0.0133,0.0228,0.0352 +0.0516,0.0710,0.0925,0.1158,0.1398,0.1644,0.1883,0.2115,0.2352,0.2589 +0.2824,0.3050,0.3282,0.3501,0.3718,0.3932,0.4149,0.4369,0.4577,0.4784 +0.4996,0.5201,0.5410,0.5616,0.5814,0.6016,0.6211,0.6414,0.6602,0.6795 +0.6985,0.7170,0.7361,0.7550,0.7736,0.7914,0.8094,0.8265,0.8428,0.8581 +0.8725,0.8857,0.8973,0.9077,0.9174,0.9257,0.9326,0.9387,0.9437,0.9490 +0.9538,0.9577,0.9613,0.9650,0.9684,0.9716,0.9746,0.9771,0.9793,0.9815 +0.9833,0.9849,0.9863,0.9876,0.9887,0.9896,0.9906,0.9915,0.9921,0.9927 +0.9932,0.9938,0.9943,0.9947,0.9953,0.9956,0.9960,0.9964,0.9968,0.9971 +0.9973,0.9976,0.9979,0.9981,0.9982,0.9984,0.9986,0.9988,0.9990,0.9991 +0.9993,0.9995,0.9996,0.9997,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1y2fract=0.0000,0.0000,0.0001,0.0002,0.0003,0.0003,0.0005,0.0007 +0.0009,0.0011,0.0015,0.0020,0.0029,0.0045,0.0070,0.0112,0.0187,0.0294 +0.0438,0.0617,0.0826,0.1041,0.1281,0.1527,0.1771,0.2018,0.2262,0.2507 +0.2752,0.2982,0.3214,0.3442,0.3669,0.3896,0.4112,0.4327,0.4554,0.4767 +0.4978,0.5184,0.5388,0.5597,0.5793,0.6002,0.6198,0.6398,0.6586,0.6781 +0.6980,0.7164,0.7344,0.7527,0.7705,0.7883,0.8056,0.8215,0.8379,0.8533 +0.8667,0.8792,0.8916,0.9023,0.9118,0.9202,0.9277,0.9343,0.9402,0.9457 +0.9504,0.9553,0.9593,0.9628,0.9662,0.9695,0.9726,0.9749,0.9772,0.9793 +0.9812,0.9829,0.9843,0.9856,0.9866,0.9877,0.9886,0.9892,0.9901,0.9909 +0.9918,0.9926,0.9931,0.9937,0.9942,0.9948,0.9953,0.9956,0.9959,0.9963 +0.9967,0.9970,0.9973,0.9976,0.9979,0.9981,0.9983,0.9985,0.9988,0.9989 +0.9992,0.9993,0.9995,0.9996,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc1x2fract=0.0001,0.0002,0.0003,0.0004,0.0005,0.0006,0.0008,0.0010 +0.0014,0.0021,0.0030,0.0048,0.0076,0.0115,0.0181,0.0268,0.0392,0.0538 +0.0709,0.0892,0.1099,0.1316,0.1529,0.1747,0.1986,0.2219,0.2461,0.2701 +0.2940,0.3176,0.3408,0.3641,0.3867,0.4102,0.4321,0.4534,0.4751,0.4972 +0.5185,0.5396,0.5602,0.5811,0.6018,0.6220,0.6421,0.6618,0.6811,0.7004 +0.7201,0.7374,0.7557,0.7741,0.7920,0.8096,0.8257,0.8410,0.8555,0.8687 +0.8814,0.8922,0.9022,0.9112,0.9195,0.9272,0.9343,0.9401,0.9458,0.9509 +0.9562,0.9605,0.9647,0.9687,0.9723,0.9753,0.9782,0.9808,0.9832,0.9851 +0.9868,0.9883,0.9897,0.9909,0.9918,0.9925,0.9933,0.9940,0.9947,0.9953 +0.9957,0.9961,0.9966,0.9969,0.9973,0.9975,0.9978,0.9980,0.9982,0.9984 +0.9985,0.9986,0.9988,0.9989,0.9991,0.9992,0.9993,0.9995,0.9996,0.9996 +0.9996,0.9997,0.9998,0.9998,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x1fract=0.0001,0.0002,0.0004,0.0005,0.0008,0.0011,0.0014,0.0017 +0.0021,0.0027,0.0039,0.0056,0.0087,0.0134,0.0199,0.0292,0.0404,0.0540 +0.0693,0.0861,0.1044,0.1251,0.1462,0.1676,0.1901,0.2126,0.2355,0.2583 +0.2820,0.3055,0.3288,0.3512,0.3739,0.3968,0.4189,0.4421,0.4645,0.4869 +0.5086,0.5306,0.5519,0.5731,0.5943,0.6150,0.6355,0.6568,0.6766,0.6969 +0.7168,0.7364,0.7554,0.7741,0.7913,0.8092,0.8260,0.8419,0.8572,0.8718 +0.8844,0.8961,0.9064,0.9160,0.9248,0.9320,0.9383,0.9448,0.9502,0.9554 +0.9603,0.9646,0.9685,0.9721,0.9753,0.9782,0.9810,0.9835,0.9857,0.9874 +0.9889,0.9903,0.9913,0.9922,0.9931,0.9937,0.9943,0.9950,0.9955,0.9959 +0.9964,0.9967,0.9970,0.9973,0.9975,0.9977,0.9980,0.9983,0.9984,0.9986 +0.9988,0.9989,0.9991,0.9992,0.9993,0.9994,0.9995,0.9996,0.9997,0.9997 +0.9998,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y1fract=0.0000,0.0000,0.0001,0.0002,0.0003,0.0004,0.0006,0.0008 +0.0010,0.0015,0.0020,0.0031,0.0045,0.0075,0.0130,0.0218,0.0330,0.0490 +0.0684,0.0901,0.1137,0.1389,0.1636,0.1900,0.2162,0.2419,0.2663,0.2913 +0.3145,0.3380,0.3606,0.3834,0.4056,0.4274,0.4494,0.4710,0.4920,0.5122 +0.5332,0.5541,0.5744,0.5947,0.6153,0.6358,0.6551,0.6758,0.6958,0.7153 +0.7342,0.7531,0.7709,0.7897,0.8071,0.8235,0.8391,0.8548,0.8692,0.8826 +0.8950,0.9068,0.9163,0.9250,0.9329,0.9404,0.9468,0.9523,0.9571,0.9612 +0.9655,0.9688,0.9718,0.9748,0.9774,0.9796,0.9816,0.9834,0.9852,0.9866 +0.9877,0.9888,0.9897,0.9908,0.9916,0.9924,0.9931,0.9937,0.9943,0.9947 +0.9951,0.9955,0.9959,0.9963,0.9967,0.9969,0.9973,0.9975,0.9978,0.9980 +0.9982,0.9984,0.9985,0.9987,0.9989,0.9990,0.9992,0.9993,0.9995,0.9996 +0.9997,0.9997,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2u1fract=0.0000,0.0000,0.0001,0.0001,0.0001,0.0002,0.0003,0.0004 +0.0005,0.0007,0.0010,0.0017,0.0034,0.0072,0.0145,0.0253,0.0416,0.0616 +0.0839,0.1082,0.1331,0.1596,0.1848,0.2100,0.2343,0.2581,0.2818,0.3059 +0.3288,0.3517,0.3739,0.3959,0.4173,0.4381,0.4589,0.4797,0.5011,0.5209 +0.5410,0.5613,0.5804,0.6000,0.6197,0.6390,0.6582,0.6776,0.6965,0.7146 +0.7326,0.7506,0.7689,0.7858,0.8030,0.8198,0.8362,0.8517,0.8655,0.8787 +0.8908,0.9016,0.9108,0.9192,0.9269,0.9328,0.9383,0.9430,0.9471,0.9509 +0.9546,0.9576,0.9609,0.9637,0.9664,0.9686,0.9705,0.9725,0.9743,0.9760 +0.9777,0.9791,0.9803,0.9818,0.9829,0.9839,0.9848,0.9857,0.9867,0.9876 +0.9884,0.9892,0.9898,0.9905,0.9912,0.9917,0.9922,0.9927,0.9932,0.9937 +0.9943,0.9946,0.9952,0.9956,0.9962,0.9966,0.9971,0.9975,0.9979,0.9984 +0.9988,0.9991,0.9994,0.9996,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2v1fract=0.0000,0.0001,0.0001,0.0002,0.0003,0.0004,0.0006,0.0008 +0.0010,0.0014,0.0020,0.0032,0.0058,0.0117,0.0214,0.0353,0.0527,0.0742 +0.0981,0.1231,0.1484,0.1741,0.1997,0.2245,0.2484,0.2721,0.2961,0.3203 +0.3434,0.3662,0.3882,0.4107,0.4324,0.4541,0.4747,0.4964,0.5164,0.5374 +0.5573,0.5776,0.5978,0.6180,0.6379,0.6570,0.6760,0.6950,0.7137,0.7319 +0.7496,0.7688,0.7859,0.8036,0.8207,0.8370,0.8522,0.8671,0.8811,0.8937 +0.9046,0.9153,0.9244,0.9318,0.9386,0.9445,0.9497,0.9542,0.9582,0.9619 +0.9654,0.9686,0.9713,0.9742,0.9768,0.9792,0.9813,0.9832,0.9848,0.9861 +0.9873,0.9884,0.9894,0.9903,0.9910,0.9918,0.9925,0.9931,0.9937,0.9942 +0.9946,0.9950,0.9954,0.9959,0.9962,0.9965,0.9969,0.9972,0.9975,0.9978 +0.9979,0.9981,0.9984,0.9985,0.9987,0.9989,0.9991,0.9992,0.9994,0.9996 +0.9997,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2y2fract=0.0001,0.0002,0.0002,0.0004,0.0005,0.0006,0.0008,0.0010 +0.0013,0.0018,0.0026,0.0038,0.0057,0.0090,0.0144,0.0233,0.0363,0.0535 +0.0734,0.0953,0.1200,0.1454,0.1710,0.1972,0.2228,0.2471,0.2719,0.2963 +0.3199,0.3435,0.3670,0.3907,0.4132,0.4350,0.4566,0.4778,0.4991,0.5195 +0.5407,0.5610,0.5817,0.6024,0.6219,0.6426,0.6622,0.6820,0.7011,0.7203 +0.7384,0.7571,0.7749,0.7924,0.8098,0.8264,0.8431,0.8582,0.8723,0.8855 +0.8980,0.9089,0.9190,0.9278,0.9357,0.9428,0.9484,0.9534,0.9580,0.9622 +0.9660,0.9693,0.9722,0.9751,0.9775,0.9798,0.9821,0.9838,0.9854,0.9870 +0.9884,0.9893,0.9903,0.9912,0.9919,0.9924,0.9931,0.9937,0.9943,0.9948 +0.9951,0.9955,0.9959,0.9962,0.9965,0.9968,0.9971,0.9974,0.9977,0.9979 +0.9981,0.9983,0.9985,0.9987,0.9989,0.9991,0.9993,0.9994,0.9995,0.9996 +0.9997,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +hwc2x2fract=0.0000,0.0002,0.0003,0.0003,0.0005,0.0008,0.0009,0.0012 +0.0015,0.0020,0.0025,0.0038,0.0059,0.0091,0.0140,0.0213,0.0307,0.0429 +0.0577,0.0743,0.0926,0.1127,0.1333,0.1554,0.1779,0.2009,0.2243,0.2474 +0.2710,0.2945,0.3191,0.3422,0.3648,0.3880,0.4103,0.4329,0.4554,0.4775 +0.5000,0.5212,0.5428,0.5635,0.5842,0.6048,0.6254,0.6451,0.6647,0.6845 +0.7044,0.7242,0.7431,0.7614,0.7797,0.7970,0.8145,0.8308,0.8463,0.8607 +0.8741,0.8864,0.8975,0.9073,0.9164,0.9247,0.9317,0.9386,0.9445,0.9501 +0.9556,0.9604,0.9647,0.9686,0.9722,0.9751,0.9781,0.9805,0.9829,0.9849 +0.9868,0.9884,0.9897,0.9908,0.9920,0.9930,0.9936,0.9942,0.9948,0.9954 +0.9959,0.9963,0.9968,0.9971,0.9974,0.9977,0.9979,0.9982,0.9984,0.9985 +0.9987,0.9988,0.9989,0.9991,0.9991,0.9993,0.9994,0.9994,0.9995,0.9996 +0.9997,0.9998,0.9998,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 diff --git a/examples/PARAM/hhodo.param b/examples/PARAM/hhodo.param new file mode 100644 index 0000000000000000000000000000000000000000..4b7fcf89a862e88c022473c458f697227bee964c --- /dev/null +++ b/examples/PARAM/hhodo.param @@ -0,0 +1,285 @@ +; hstart_time_center center of allowed time window + hstart_time_center = 35. +; hstart_time_slop 1/2 width of time window + hstart_time_slop = 20. +; hscin_tdc_min minimum tdc value in hms scin + hscin_tdc_min = 0 +; hscin_tdc_max maximum allowed tdc value + hscin_tdc_max = 4000 +; hscin_tdc_to_time scin tdc time per channel + hscin_tdc_to_time = 0.0259 +; new variable for picking good hits for tof fitting +; this should not be set tight until you are ready to fit +; tof and you figured out good values + htof_tolerance = 3.0 +; +; hms_tof_params +; hnum_scin_counters, hhodo_zpos, hhodo_center_coord, hhodo_width +; are all calculated within h_init_scin +; hhodo_pos_coord and hhodo_neg_coord are not yet used +; + hhodo_slop = 2., 2., 4., 4. +; + hhodo_vel_light = 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 +; + hhodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 +; + hhodo_neg_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + + hhodo_pos_minph = 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + + hhodo_neg_minph = 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + + hhodo_pos_phc_coeff = -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + + hhodo_neg_phc_coeff = -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 +; + +; csa 9/8/98 -- I had to hand-twaddle a few of the values +; based on (relative) offsets of older hhodo.param + +hhodo_pos_time_offset = 6.5821, 0.0000, -6.9727, 4.4189 + -1.1011, 0.1270, 0.1930, 8.2907 + 5.5928, 1.2312, -7.0087, 8.3756 + 5.3494, -0.2264, -3.9023, 13.4700 + 1.6938, -7.1708, 9.2976, 9.9767 + 1.7531, -0.9044, -4.6540, 7.8608 + 6.9700, -1.5083, 1.7866, 8.6117 + 3.3819, 1.8281, -4.2414, 4.3756 + 3.4984, -2.5534, -6.0882, 5.4043 + 4.5793, 6.1158, -0.5954, -1.3631 + 6.8272, 0.0000, -7.6493, 32.1266 + 5.4571, 2.0212, 0.2085, 0.0000 + 5.0147, 2.0219, 1.1072, 32.0001 + 1.4959, 0.0000, 2.4523, 0.0000 + 6.2602, 0.0000, -5.1102, -1.9990 + 1.6534, 0.0000, 1.2513, 0.0000 +hhodo_neg_time_offset = -2.4664, 0.0000, 4.1095, 11.9016 + -2.0589, -2.5527, 10.4536, 13.4114 + -4.2564, -3.8944, 3.8712, 15.4475 + 0.3935, -2.2300, 11.5590, 14.8406 + -1.7111, -4.8155, 2.8606, 10.2379 + -3.0792, 0.6972, 10.1887, 7.8083 + 1.0046, -3.6839, 4.2680, 10.9969 + -5.2801, 0.9309, 9.1779, 11.4677 + -6.4931, -5.5225, 0.7246, 14.8212 + 1.6218, 6.1209, 11.8919, 15.5699 + 0.0703, -1.9990, 8.8625, 2.0216 + -1.3146, 0.0000, 9.8650, 0.0000 + -2.9002, 0.0000, 5.6735, 0.0000 + -5.6444, 0.0000, 10.7529, 0.0000 + 0.5662, 0.0000, 6.6559, 2.0115 + 6.7208, 0.0000, 13.4179, 36.7325 +; +hhodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 +; +hhodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + +; use htofusinginvadc=1 if want invadc_offset +; invadc_linear, and invadc_adc to be used +htofusinginvadc=1 +hhodo_pos_invadc_offset = 0.00, 0.00, -7.49, 0.00 + 0.00, -3.93, -1.33, 6.35 + -0.47, -1.79, -7.92, 6.66 + 0.00, -4.16, -4.32, 12.41 + -2.45, -11.48, 7.19, 8.60 + -3.15, -5.26, -7.87, 6.71 + 0.12, -4.60, 0.52, 8.19 + 0.31, -2.00, -6.07, 2.60 + -0.42, -6.96, -7.81, 4.97 + -0.20, 0.00, -2.55, -2.16 + 3.25, 0.00, -8.85, 0.00 + 1.87, 0.00, -0.90, 0.00 + 1.94, 0.00, -1.99, 0.00 + -1.21, 0.00, -0.05, 0.00 + 1.04, 0.00, -7.11, 0.00 + 0.00, 0.00, -1.28, 0.00 + +hhodo_neg_invadc_offset = 0.00, 0.00, 1.67, 0.00 + 0.00, -5.88, 7.56, 12.30 + -8.70, -7.99, 0.63, 14.36 + -5.30, -4.44, 9.37, 14.26 + 0.00, -7.69, -0.54, 8.18 + -7.53, -3.52, 7.15, 6.37 + -3.20, -7.19, 1.92, 10.54 + -9.90, -4.18, 6.87, 10.58 + -10.88, -8.58, -4.40, 13.19 + -3.01, 0.00, 8.71, 13.54 + 0.00, 0.00, 4.16, 0.00 + -4.13, 0.00, 6.77, 0.00 + -6.39, 0.00, 0.17, 0.00 + -9.79, 0.00, 7.54, 0.00 + -2.58, 0.00, 3.80, 0.00 + 0.00, 0.00, 9.24, 0.00 + +hhodo_pos_invadc_linear = 50.00, 50.00, 11.50, 50.00 + 50.00, 18.94, 12.81, 13.47 + 22.77, 23.66, 14.93, 12.48 + 23.58, 19.67, 12.48, 12.93 + 23.80, 17.41, 12.29, 13.27 + 18.94, 16.86, 12.30, 12.90 + 16.36, 17.34, 12.90, 12.89 + 21.51, 18.59, 12.53, 12.96 + 21.60, 19.59, 12.32, 11.96 + 25.50, 50.00, 11.03, 12.79 + 21.96, 50.00, 12.97, 50.00 + 21.24, 50.00, 12.79, 50.00 + 17.47, 50.00, 13.30, 50.00 + 26.96, 50.00, 13.50, 50.00 + 25.52, 50.00, 10.38, 50.00 + 50.00, 50.00, 14.46, 50.00 + +hhodo_neg_invadc_linear = 50.00, 50.00, 11.14, 50.00 + 50.00, 17.27, 10.86, 12.76 + 50.00, 22.41, 11.26, 13.29 + 25.36, 19.67, 11.51, 14.51 + 50.00, 19.45, 11.61, 14.45 + 19.71, 18.87, 12.36, 13.71 + 19.42, 20.67, 12.17, 13.20 + 18.43, 20.06, 11.27, 13.25 + 22.83, 19.98, 11.90, 13.67 + 20.53, 50.00, 12.04, 12.87 + 50.00, 50.00, 11.57, 50.00 + 18.65, 50.00, 11.55, 50.00 + 15.89, 50.00, 11.74, 50.00 + 16.43, 50.00, 11.24, 50.00 + 26.89, 50.00, 11.54, 50.00 + 50.00, 50.00, 10.51, 50.00 + + +hhodo_pos_invadc_adc= 0.00, 0.00, 24.53, 0.00 + 0.00, 85.08, 40.16, 46.66 + 104.72, 90.39, 48.39, 40.45 + 106.71, 85.39, 36.54, 46.52 + 102.33, 83.78, 45.62, 53.38 + 87.77, 83.84, 46.17, 53.00 + 81.99, 82.46, 48.60, 50.98 + 86.41, 76.63, 45.65, 52.67 + 87.76, 90.85, 40.94, 50.32 + 85.80, 0.00, 51.78, 48.81 + 85.87, 0.00, 47.95, 0.00 + 78.65, 0.00, 41.18, 0.00 + 77.68, 0.00, 54.79, 0.00 + 79.78, 0.00, 54.50, 0.00 + 75.92, 0.00, 48.77, 0.00 + 0.00, 0.00, 55.47, 0.00 + +hhodo_neg_invadc_adc= 0.00, 0.00, 33.27, 0.00 + 0.00, 50.89, 42.04, 37.63 + 101.25, 63.66, 42.24, 41.36 + 104.68, 59.98, 37.01, 52.51 + 0.00, 59.89, 42.76, 50.01 + 86.99, 58.09, 45.30, 51.38 + 77.55, 56.32, 46.12, 40.46 + 88.04, 53.33, 44.65, 36.37 + 91.58, 56.67, 57.89, 44.34 + 85.51, 0.00, 46.84, 39.22 + 0.00, 0.00, 43.95, 0.00 + 83.61, 0.00, 46.80, 0.00 + 92.40, 0.00, 40.71, 0.00 + 78.19, 0.00, 51.72, 0.00 + 75.03, 0.00, 49.34, 0.00 + 0.00, 0.00, 53.40, 0.00 diff --git a/examples/PARAM/hhodo.param.may9 b/examples/PARAM/hhodo.param.may9 new file mode 100644 index 0000000000000000000000000000000000000000..ea3ad7a4054c947fdc035236703c596a2445cc38 --- /dev/null +++ b/examples/PARAM/hhodo.param.may9 @@ -0,0 +1,176 @@ +; hstart_time_center center of allowed time window + hstart_time_center = 35. +; hstart_time_slop 1/2 width of time window + hstart_time_slop = 20. +; hscin_tdc_min minimum tdc value in hms scin + hscin_tdc_min = 0 +; hscin_tdc_max maximum allowed tdc value + hscin_tdc_max = 4000 +; hscin_tdc_to_time scin tdc time per channel + hscin_tdc_to_time = 0.0259 +; +; hms_tof_params +; hnum_scin_counters, hhodo_zpos, hhodo_center_coord, hhodo_width +; are all calculated within h_init_scin +; hhodo_pos_coord and hhodo_neg_coord are not yet used +; + hhodo_slop = 2., 2., 4., 4. +; + hhodo_vel_light = 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 +; + hhodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 +; + hhodo_neg_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + + hhodo_pos_minph = 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + + hhodo_neg_minph = 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + + hhodo_pos_phc_coeff = -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + + hhodo_neg_phc_coeff = -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 +; + +; csa 9/8/98 -- I had to hand-twaddle a few of the values +; based on (relative) offsets of older hhodo.param + +hhodo_pos_time_offset = 5.5391, 0.0000, -6.8586, 5.1830 + -1.2985, -0.2551, 0.3953, 8.9369 + 5.0531, 1.4333, -6.5520, 8.0628 + 5.5481, -0.3965, -3.6470, 12.8933 + 1.2416, -7.0707, 9.6246, 10.0208 + 1.9282, -0.9275, -4.1448, 8.2112 + 6.4910, -1.5780, 1.8980, 9.6928 + 4.4770, 1.7009, -3.8385, 4.7545 + 2.7533, -2.7182, -5.8864, 6.3882 + 4.3398, 6.1158, -0.3572, -0.4308 + 6.0782, 0.0000, -7.5343, 0.0000 + 5.4665, 0.0000, 0.2169, 0.0000 + 4.1334, 0.0000, 1.3767, 0.0000 + 1.6088, 0.0000, 2.5930, 0.0000 + 3.9776, 0.0000, -5.0340, 0.0000 + 1.6534, 0.0000, 1.5043, 0.0000 +hhodo_neg_time_offset = -2.5728, 0.0000, 2.8982, 10.8670 + -1.9187, -2.6479, 10.6272, 13.8790 + -4.1126, -4.5084, 3.9705, 15.5799 + 0.7699, -2.3908, 11.7183, 15.1612 + -1.2568, -5.0343, 2.9473, 10.6625 + -2.8197, 0.7670, 10.3919, 7.8739 + 1.2798, -3.9185, 4.3248, 11.3533 + -4.8009, -0.2453, 9.2837, 11.6355 + -6.3004, -5.7362, 0.8352, 14.9451 + 1.8476, 6.1209, 11.9751, 15.7375 + 0.3913, 0.0000, 8.9105, 0.0000 + -1.0702, 0.0000, 9.8926, 0.0000 + -2.3617, 0.0000, 5.7061, 0.0000 + -5.2931, 0.0000, 10.7318, 0.0000 + 0.0632, 0.0000, 6.6962, 0.0000 + 6.7208, 0.0000, 13.4108, 0.0000 +; +hhodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 +; +hhodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + diff --git a/examples/PARAM/hhodo.param_v1 b/examples/PARAM/hhodo.param_v1 new file mode 100644 index 0000000000000000000000000000000000000000..80d5863c326cdae4b861d16f0ede3cf4e54fb923 --- /dev/null +++ b/examples/PARAM/hhodo.param_v1 @@ -0,0 +1,472 @@ +; hstart_time_center center of allowed time window + hstart_time_center = 35. +; hstart_time_slop 1/2 width of time window + hstart_time_slop = 20. +; hscin_tdc_min minimum tdc value in hms scin + hscin_tdc_min = 0 +; hscin_tdc_max maximum allowed tdc value + hscin_tdc_max = 4000 +; hscin_tdc_to_time scin tdc time per channel + hscin_tdc_to_time = 0.0259 +; new variable for picking good hits for tof fitting +; this should not be set tight until you are ready to fit +; tof and you figured out good values +htof_tolerance = 50.0 +; +; hms_tof_params +; hnum_scin_counters, hhodo_zpos, hhodo_center_coord, hhodo_width +; are all calculated within h_init_scin +; hhodo_pos_coord and hhodo_neg_coord are not yet used +; + hhodo_slop = 2., 2., 4., 4. +; + hhodo_vel_light = 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 + 14.0,14.8,15.5,15.8 +; + hhodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 +; + hhodo_neg_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + + hhodo_pos_minph = 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + + hhodo_neg_minph = 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + 125,135,125,120 + + hhodo_pos_phc_coeff = -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + -1.4,-1.1,-1.2,-1.3 + + hhodo_neg_phc_coeff = -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 + -1.3,-1.2,-1.2,-1.4 +; + +; csa 9/8/98 -- I had to hand-twaddle a few of the values +; based on (relative) offsets of older hhodo.param + +hhodo_pos_time_offset = 5.5391, 0.0000, -6.8586, 5.1830 + -1.2985, -0.2551, 0.3953, 8.9369 + 5.0531, 1.4333, -6.5520, 8.0628 + 5.5481, -0.3965, -3.6470, 12.8933 + 1.2416, -7.0707, 9.6246, 10.0208 + 1.9282, -0.9275, -4.1448, 8.2112 + 6.4910, -1.5780, 1.8980, 9.6928 + 4.4770, 1.7009, -3.8385, 4.7545 + 2.7533, -2.7182, -5.8864, 6.3882 + 4.3398, 6.1158, -0.3572, -0.4308 + 6.0782, 0.0000, -7.5343, 0.0000 + 5.4665, 0.0000, 0.2169, 0.0000 + 4.1334, 0.0000, 1.3767, 0.0000 + 1.6088, 0.0000, 2.5930, 0.0000 + 3.9776, 0.0000, -5.0340, 0.0000 + 1.6534, 0.0000, 1.5043, 0.0000 +hhodo_neg_time_offset = -2.5728, 0.0000, 2.8982, 10.8670 + -1.9187, -2.6479, 10.6272, 13.8790 + -4.1126, -4.5084, 3.9705, 15.5799 + 0.7699, -2.3908, 11.7183, 15.1612 + -1.2568, -5.0343, 2.9473, 10.6625 + -2.8197, 0.7670, 10.3919, 7.8739 + 1.2798, -3.9185, 4.3248, 11.3533 + -4.8009, -0.2453, 9.2837, 11.6355 + -6.3004, -5.7362, 0.8352, 14.9451 + 1.8476, 6.1209, 11.9751, 15.7375 + 0.3913, 0.0000, 8.9105, 0.0000 + -1.0702, 0.0000, 9.8926, 0.0000 + -2.3617, 0.0000, 5.7061, 0.0000 + -5.2931, 0.0000, 10.7318, 0.0000 + 0.0632, 0.0000, 6.6962, 0.0000 + 6.7208, 0.0000, 13.4108, 0.0000 +; +hhodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 +; +hhodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + + +; use htofusinginvadc=1 if want invadc_offset +; invadc_linear, and invadc_adc to be used +htofusinginvadc=1 + +hhodo_pos_invadc_offset = 0.00, 0.00, -7.49, 0.00 + 0.00, -3.93, -1.33, 6.35 + -0.47, -1.79, -7.92, 6.66 + 0.00, -4.16, -4.32, 12.41 + -2.45, -11.48, 7.19, 8.60 + -3.15, -5.26, -7.87, 6.71 + 0.12, -4.60, 0.52, 8.19 + 0.31, -2.00, -6.07, 2.60 + -0.42, -6.96, -7.81, 4.97 + -0.20, 0.00, -2.55, -2.16 + 3.25, 0.00, -8.85, 0.00 + 1.87, 0.00, -0.90, 0.00 + 1.94, 0.00, -1.99, 0.00 + -1.21, 0.00, -0.05, 0.00 + 1.04, 0.00, -7.11, 0.00 + 0.00, 0.00, -1.28, 0.00 + +hhodo_neg_invadc_offset = 0.00, 0.00, 1.67, 0.00 + 0.00, -5.88, 7.56, 12.30 + -8.70, -7.99, 0.63, 14.36 + -5.30, -4.44, 9.37, 14.26 + 0.00, -7.69, -0.54, 8.18 + -7.53, -3.52, 7.15, 6.37 + -3.20, -7.19, 1.92, 10.54 + -9.90, -4.18, 6.87, 10.58 + -10.88, -8.58, -4.40, 13.19 + -3.01, 0.00, 8.71, 13.54 + 0.00, 0.00, 4.16, 0.00 + -4.13, 0.00, 6.77, 0.00 + -6.39, 0.00, 0.17, 0.00 + -9.79, 0.00, 7.54, 0.00 + -2.58, 0.00, 3.80, 0.00 + 0.00, 0.00, 9.24, 0.00 + +hhodo_pos_invadc_linear = 50.00, 50.00, 11.50, 50.00 + 50.00, 18.94, 12.81, 13.47 + 22.77, 23.66, 14.93, 12.48 + 23.58, 19.67, 12.48, 12.93 + 23.80, 17.41, 12.29, 13.27 + 18.94, 16.86, 12.30, 12.90 + 16.36, 17.34, 12.90, 12.89 + 21.51, 18.59, 12.53, 12.96 + 21.60, 19.59, 12.32, 11.96 + 25.50, 50.00, 11.03, 12.79 + 21.96, 50.00, 12.97, 50.00 + 21.24, 50.00, 12.79, 50.00 + 17.47, 50.00, 13.30, 50.00 + 26.96, 50.00, 13.50, 50.00 + 25.52, 50.00, 10.38, 50.00 + 50.00, 50.00, 14.46, 50.00 + +hhodo_neg_invadc_linear = 50.00, 50.00, 11.14, 50.00 + 50.00, 17.27, 10.86, 12.76 + 50.00, 22.41, 11.26, 13.29 + 25.36, 19.67, 11.51, 14.51 + 50.00, 19.45, 11.61, 14.45 + 19.71, 18.87, 12.36, 13.71 + 19.42, 20.67, 12.17, 13.20 + 18.43, 20.06, 11.27, 13.25 + 22.83, 19.98, 11.90, 13.67 + 20.53, 50.00, 12.04, 12.87 + 50.00, 50.00, 11.57, 50.00 + 18.65, 50.00, 11.55, 50.00 + 15.89, 50.00, 11.74, 50.00 + 16.43, 50.00, 11.24, 50.00 + 26.89, 50.00, 11.54, 50.00 + 50.00, 50.00, 10.51, 50.00 + +hhodo_pos_invadc_adc= 0.00, 0.00, 24.53, 0.00 + 0.00, 85.08, 40.16, 46.66 + 104.72, 90.39, 48.39, 40.45 + 106.71, 85.39, 36.54, 46.52 + 102.33, 83.78, 45.62, 53.38 + 87.77, 83.84, 46.17, 53.00 + 81.99, 82.46, 48.60, 50.98 + 86.41, 76.63, 45.65, 52.67 + 87.76, 90.85, 40.94, 50.32 + 85.80, 0.00, 51.78, 48.81 + 85.87, 0.00, 47.95, 0.00 + 78.65, 0.00, 41.18, 0.00 + 77.68, 0.00, 54.79, 0.00 + 79.78, 0.00, 54.50, 0.00 + 75.92, 0.00, 48.77, 0.00 + 0.00, 0.00, 55.47, 0.00 + +hhodo_neg_invadc_adc= 0.00, 0.00, 33.27, 0.00 + 0.00, 50.89, 42.04, 37.63 + 101.25, 63.66, 42.24, 41.36 + 104.68, 59.98, 37.01, 52.51 + 0.00, 59.89, 42.76, 50.01 + 86.99, 58.09, 45.30, 51.38 + 77.55, 56.32, 46.12, 40.46 + 88.04, 53.33, 44.65, 36.37 + 91.58, 56.67, 57.89, 44.34 + 85.51, 0.00, 46.84, 39.22 + 0.00, 0.00, 43.95, 0.00 + 83.61, 0.00, 46.80, 0.00 + 92.40, 0.00, 40.71, 0.00 + 78.19, 0.00, 51.72, 0.00 + 75.03, 0.00, 49.34, 0.00 + 0.00, 0.00, 53.40, 0.00 + +hhodo_pos_sigma = 100.00, 100.00, 0.92, 100.00 + 100.00, 0.55, 0.85, 0.80 + 0.79, 0.58, 0.80, 0.75 + 0.68, 0.58, 0.65, 0.79 + 0.73, 0.58, 0.66, 0.79 + 0.59, 0.58, 0.65, 0.74 + 0.59, 0.58, 0.53, 0.76 + 0.61, 0.57, 0.67, 0.80 + 0.57, 0.59, 0.64, 0.81 + 0.61, 100.00, 0.64, 0.76 + 0.67, 100.00, 0.67, 100.00 + 0.52, 100.00, 0.61, 100.00 + 0.56, 100.00, 0.62, 100.00 + 0.61, 100.00, 0.71, 100.00 + 0.70, 100.00, 0.74, 100.00 + 100.00, 100.00, 0.66, 100.00 + +hhodo_neg_sigma = 100.00, 100.00, 0.92, 100.00 + 100.00, 0.58, 0.82, 0.80 + 0.74, 0.57, 0.81, 0.81 + 0.68, 0.58, 0.72, 0.81 + 100.00, 0.56, 0.68, 0.88 + 0.61, 0.54, 0.61, 0.76 + 0.53, 0.55, 0.53, 0.73 + 0.58, 0.55, 0.65, 0.80 + 0.61, 0.56, 0.71, 0.87 + 0.59, 100.00, 0.69, 0.88 + 100.00, 100.00, 0.65, 100.00 + 0.57, 100.00, 0.62, 100.00 + 0.58, 100.00, 0.57, 100.00 + 0.59, 100.00, 0.64, 100.00 + 0.57, 100.00, 0.84, 100.00 + 100.00, 100.00, 0.73, 100.00 + + + + + + + + + + + + + +; use htofusinginvadc=1 if want invadc_offset +; invadc_linear, and invadc_adc to be used +htofusinginvadc=1 + +hhodo_pos_invadc_offset = 0.00, 0.00, -12.60, -0.31 + -7.19, -5.46, -5.64, 2.43 + -0.19, -3.20, -11.97, 2.38 + 0.00, -5.59, -8.66, 8.62 + -2.69, -12.71, 3.09, 4.99 + -3.87, -6.34, -11.37, 3.12 + -0.75, -6.06, -2.88, 5.85 + -0.75, -3.63, -10.13, -1.00 + -1.00, -8.17, -11.87, 1.32 + -1.20, 0.00, -6.25, -5.77 + 2.53, 0.00, -12.81, 0.00 + 0.45, 0.00, -4.73, 0.00 + 1.06, 0.00, -5.69, 0.00 + -2.65, 0.00, -3.42, 0.00 + -0.07, 0.00, -10.84, 0.00 + -3.85, 0.00, -5.00, 0.00 + +hhodo_neg_invadc_offset = 0.00, 0.00, -3.02, 6.04 + -7.26, -7.93, 2.69, 0.00 + -9.54, -9.91, -3.92, 0.00 + -5.48, -6.34, 5.15, 0.00 + -7.94, -9.63, -5.18, 3.99 + -8.48, -5.49, 3.08, 2.40 + -4.70, -9.28, -1.79, 5.60 + -11.57, -6.49, 2.35, 0.00 + 0.00, -10.66, -8.41, 0.00 + -4.26, 0.00, 4.66, 0.00 + -5.23, 0.00, 0.12, 0.00 + -5.26, 0.00, 2.85, 0.00 + -7.15, 0.00, -3.72, 0.00 + -10.99, 0.00, 4.19, 0.00 + -4.24, 0.00, -0.35, 0.00 + -0.49, 0.00, 6.05, 0.00 + +hhodo_pos_invadc_linear = 50.00, 50.00, 16.66, 14.91 + 14.86, 15.53, 16.36, 15.34 + 15.25, 16.51, 17.20, 15.67 + 15.16, 15.65, 15.32, 15.70 + 14.74, 15.39, 15.31, 16.44 + 14.90, 15.26, 14.38, 15.49 + 14.51, 15.82, 15.71, 16.25 + 16.17, 16.47, 14.43, 15.55 + 15.17, 15.89, 14.83, 15.51 + 15.34, 50.00, 13.93, 15.94 + 15.09, 50.00, 14.04, 50.00 + 16.20, 50.00, 14.53, 50.00 + 14.40, 50.00, 14.73, 50.00 + 15.65, 50.00, 14.85, 50.00 + 16.11, 50.00, 17.04, 50.00 + 15.92, 50.00, 14.62, 50.00 + +hhodo_neg_invadc_linear = 50.00, 50.00, 14.48, 17.67 + 13.55, 16.28, 13.61, 50.00 + 14.71, 16.85, 14.90, 50.00 + 13.93, 16.29, 14.83, 50.00 + 14.56, 15.80, 13.89, 16.67 + 14.02, 15.76, 13.65, 15.77 + 14.42, 16.03, 13.72, 15.53 + 13.95, 15.88, 11.72, 50.00 + 50.00, 15.41, 13.77, 50.00 + 14.15, 50.00, 14.71, 50.00 + 13.83, 50.00, 14.33, 50.00 + 14.09, 50.00, 13.15, 50.00 + 13.45, 50.00, 14.39, 50.00 + 14.61, 50.00, 14.65, 50.00 + 15.49, 50.00, 14.86, 50.00 + 12.88, 50.00, 14.14, 50.00 + +hhodo_pos_invadc_adc= 0.00, 0.00, 61.51, 61.14 + 48.96, 59.73, 62.95, 59.19 + 56.86, 57.12, 62.02, 64.13 + 58.88, 55.57, 62.46, 60.57 + 59.74, 56.24, 66.21, 67.29 + 53.20, 55.53, 64.84, 64.70 + 53.93, 59.32, 61.12, 71.15 + 55.73, 53.66, 65.47, 63.52 + 48.68, 60.80, 60.95, 65.91 + 51.54, 0.00, 70.54, 62.27 + 49.60, 0.00, 61.81, 0.00 + 49.93, 0.00, 59.11, 0.00 + 49.79, 0.00, 67.21, 0.00 + 54.06, 0.00, 62.26, 0.00 + 50.01, 0.00, 77.89, 0.00 + 56.23, 0.00, 64.52, 0.00 + +hhodo_neg_invadc_adc= 0.00, 0.00, 58.11, 76.44 + 53.89, 39.97, 69.36, 0.00 + 53.96, 42.17, 66.72, 0.00 + 51.96, 42.80, 56.28, 0.00 + 58.37, 39.73, 67.85, 66.92 + 53.12, 39.69, 61.09, 65.98 + 53.19, 38.82, 59.18, 58.69 + 72.60, 36.71, 63.07, 0.00 + 0.00, 38.25, 73.56, 0.00 + 55.61, 0.00, 65.63, 0.00 + 56.60, 0.00, 63.75, 0.00 + 56.34, 0.00, 61.94, 0.00 + 63.72, 0.00, 58.95, 0.00 + 61.66, 0.00, 64.61, 0.00 + 52.04, 0.00, 71.75, 0.00 + 47.51, 0.00, 62.83, 0.00 + +hhodo_pos_sigma = 100.00, 100.00, 0.46, 0.65 + 0.31, 0.38, 0.51, 0.62 + 0.41, 0.40, 0.47, 0.54 + 0.34, 0.35, 0.39, 0.51 + 0.37, 0.35, 0.42, 0.50 + 0.28, 0.33, 0.44, 0.46 + 0.30, 0.41, 0.37, 0.58 + 0.33, 0.38, 0.46, 0.53 + 0.30, 0.43, 0.42, 0.58 + 0.30, 100.00, 0.46, 0.72 + 0.29, 100.00, 0.40, 100.00 + 0.26, 100.00, 0.41, 100.00 + 0.30, 100.00, 0.39, 100.00 + 0.34, 100.00, 0.49, 100.00 + 0.40, 100.00, 0.51, 100.00 + 0.45, 100.00, 0.42, 100.00 + +hhodo_neg_sigma = 100.00, 100.00, 0.43, 0.64 + 0.31, 0.31, 0.50, 100.00 + 0.30, 0.37, 0.50, 100.00 + 0.30, 0.34, 0.33, 100.00 + 0.32, 0.29, 0.45, 0.63 + 0.30, 0.29, 0.56, 0.45 + 0.29, 0.31, 0.36, 0.53 + 0.37, 0.34, 0.45, 100.00 + 100.00, 0.35, 0.60, 100.00 + 0.32, 100.00, 0.46, 100.00 + 0.32, 100.00, 0.39, 100.00 + 0.31, 100.00, 0.41, 100.00 + 0.33, 100.00, 0.40, 100.00 + 0.31, 100.00, 0.63, 100.00 + 0.39, 100.00, 0.55, 100.00 + 0.48, 100.00, 0.52, 100.00 diff --git a/examples/PARAM/hhodo.pos b/examples/PARAM/hhodo.pos new file mode 100644 index 0000000000000000000000000000000000000000..2e37fd06ea8c5ce715c0b9b61cc24ce182c8f989 --- /dev/null +++ b/examples/PARAM/hhodo.pos @@ -0,0 +1,88 @@ + hpathlength_central = 2500 +; Z positions of hodoscopes + hscin_1x_zpos = (89.14-11.31) + hscin_1y_zpos = (108.83-11.31) + hscin_2x_zpos = (310.13-11.31) + hscin_2y_zpos = (329.82-11.31) + hscin_1x_dzpos = 2.12 + hscin_1y_dzpos = 2.12 + hscin_2x_dzpos = 2.12 + hscin_2y_dzpos = 2.12 + hscin_1x_size = 8.0 + hscin_1y_size = 8.0 + hscin_2x_size = 8.0 + hscin_2y_size = 8.0 + hscin_1x_spacing = 7.5 + hscin_1y_spacing = 7.5 + hscin_2x_spacing = 7.5 + hscin_2y_spacing = 7.5 +; Number of hodoscope paddles per layer + hscin_1x_nr = 16 + hscin_1y_nr = 10 + hscin_2x_nr = 16 + hscin_2y_nr = 10 +; X,Y positions of hodoscope paddles + hscin_1x_left = 37.750 + hscin_1x_right = -37.750 + hscin_1x_offset= -1.3 + hscin_1x_center= -56.250 + -48.750 + -41.250 + -33.750 + -26.250 + -18.750 + -11.250 + -3.750 + 3.750 + 11.250 + 18.750 + 26.250 + 33.750 + 41.250 + 48.750 + 56.250 + hscin_1y_top = -60.250 + hscin_1y_bot = 60.250 + hscin_1y_offset= -1.3 + hscin_1y_center= 33.750 + 26.250 + 18.750 + 11.250 + 3.750 + -3.750 + -11.250 + -18.750 + -26.250 + -33.750 + hscin_2x_left = 37.750 + hscin_2x_right = -37.750 + hscin_2x_offset= -0.6 + hscin_2x_center= -56.250 + -48.750 + -41.250 + -33.750 + -26.250 + -18.750 + -11.250 + -3.750 + 3.750 + 11.250 + 18.750 + 26.250 + 33.750 + 41.250 + 48.750 + 56.250 + hscin_2y_top = -60.250 + hscin_2y_bot = 60.250 + hscin_2y_offset= -2.4 + hscin_2y_center= 33.750 + 26.250 + 18.750 + 11.250 + 3.750 + -3.750 + -11.250 + -18.750 + -26.250 + -33.750 diff --git a/examples/PARAM/hms_recon_coeff.dat b/examples/PARAM/hms_recon_coeff.dat new file mode 100644 index 0000000000000000000000000000000000000000..7b1ca30ea68c6f78f12008a6b872c8b1d131c0d1 --- /dev/null +++ b/examples/PARAM/hms_recon_coeff.dat @@ -0,0 +1,407 @@ +! recostruction matrix elements for HMS, tune HMS-100 +! <theta y phi delta | nmpq>;(x**n xp**m y**p yp**q) +! as of 02/20/97, no z offset included: this statement is obsolete +! created: 06/28/98 +! zeroth order matrix elements from fitting: +! <theta|> -4.7276368293E-03 rad +! <y|> -1.1606458055E-04 m +! <phi|> 4.8280702357E-05 rad +! <p|> -3.8725980576E-03 % +! <theta y phi delta | nmpq>;(x**n xp**m y**p yp**q) +! **** mkj **** +! aug 26, 2003 added coefficients correcting theta +! for raster ( x at target). Previously delta was corrected +! raster ( with up to 4 order) . y and phi were corrected +! for coefficient 00012 . +! Got coefficients from SIMC hms/recon_cosy.dat +! which is labeled: +! HMS Recon coefficients calculated 02-Feb-00 16:32:32 (HMS100 tune, P=-1.576 +! The correction is up to 6th order. +! **** mkj ***** + --------------------------------------------------------------------- + .342704157 .183629749E-01 -.742670280E-02 .256021141 1000 + -3.02138749 -.152502758 .472422058E-01 .130192976 0100 + -.673199668E-02 -.407567405 .258501913 .278565265E-02 0010 + .110287597 -.483378951 -2.16704420 .407874298E-01 0001 + -.495779826 -.548491564E-01 .147936777E-01 -.318166729 2000 + 4.49999138 .451213193 -.151686093 3.07552684 1100 + .796294361 1.48286554 -.303847305 -.297352223E-01 1010 + .261524802 -20.7938893 5.00402934 -.249121889 1001 + -1.65128983 -.995337651 .536837816 2.14776190 0200 + -6.47649939 .226936328 -.123499047 -.266124530 0110 + -3.98529962 -6.32858639 1.39991277 4.27708696 0101 + .113653600E-01 .690088486E-01 -.437114986E-01 -.438953228E-01 0020 + .881941403 .227473684 -.628899349E-01 .475605891 0011 + -3.71740449 3.93769576 .113368630 -3.53478948 0002 + 1.95723299 -.820253354E-01 .103519807 .936834319 3000 + -31.4466915 2.57527314 -2.51407447 -13.5405899 2100 + -5.89608158 -3.50686592 .471876566 -.312542194E-01 2010 + 40.5129114 58.0458860 -12.5399800 -2.74488175 2001 + 156.932838 -23.8014414 21.1502247 51.8797642 1200 + 57.3250219 40.7718723 -7.13532706 .284008412 1110 + -298.395506 -639.340672 173.523125 10.6819836 1101 + 1.88702326 .266847247 .271167866 .954315611 1020 + -24.4326614 -33.6584609 -.114525239 .434687181 1011 + 180.539265 53.7698885 3.76822635 31.9077575 1002 + -279.667300 64.3177661 -60.6190378 -20.4989850 0300 + -64.0800162 -86.2289723 11.5806188 3.95564331 0210 + -247.924962 1524.67217 -483.832639 -46.7762650 0201 + -21.7150970 -13.4646889 .401043380 -7.06883817 0120 + 211.296709 323.699221 -6.72775908 25.6924121 0111 + -1440.32950 361.536621 -384.751537 -467.898102 0102 + -.656643228 3.62511407 -1.27960041 -.358205667 0030 + -1.58376006 67.9025208 -22.9733471 -3.15593520 0021 + 23.7224929 -987.049261 560.285176 34.1790370 0012 + -180.294278 5983.27702 -3518.42552 -71.5085362 0003 + -4.16665084 1.49723155 -.759630854 -2.30278775 4000 + 69.1944845 -46.6812620 21.8666725 58.0248309 3100 + 18.5878217 3.69400020 .602106657E-01 -1.46212838 3010 + -227.551196 -96.3179597 .489353421 20.4063547 3001 + -243.511203 535.564222 -239.722086 -491.562374 2200 + -230.021793 -40.7163893 .940804015 47.2957535 2110 + 3150.68103 1424.96519 38.5622615 -521.870646 2101 + -10.2926426 -3.56149925 -1.10754304 -1.00472512 2020 + 138.770921 263.397128 -15.7671082 -26.1090659 2011 + -211.394983 -1895.91500 234.605250 406.369321 2002 + -832.967425 -2704.20708 1207.70554 1718.29721 1300 + 429.578554 -234.967423 -20.3231936 -432.372956 1210 + -11612.7737 -2668.84972 -1176.05843 4021.85608 1201 + 130.736123 70.7440580 5.42914965 16.7434624 1120 + -1905.84788 -3551.03419 224.098878 343.660595 1111 + 363.670026 16804.9474 -2673.42755 -4586.96491 1102 + 6.91955519 -9.98074257 7.57861652 4.98155457 1030 + -114.693315 63.5563817 -65.8809200 -36.5101930 1021 + 710.699660 4980.54374 -780.431756 60.2646297 1012 + -7520.04385 -13187.0100 2486.26739 536.066295 1003 + 4347.54210 5161.66425 -2427.09769 -1950.10403 0400 + 1156.75126 1725.44332 188.803395 1323.39948 0310 + 12047.3853 -8815.37699 3407.72589 -11081.6594 0301 + -26.9308548 60.3544886 -47.8411214 -67.2731587 0220 + 826.904198 4520.84740 916.341424 -974.052221 0211 + 19983.2818 7167.34390 -4225.20780 9358.46286 0202 + -26.0105902 -188.661888 54.6866678 -37.4367181 0130 + 648.226508 2521.63446 -1052.88888 292.436840 0121 + -8498.59600 -31139.3846 8203.03704 -697.205971 0112 + 63967.4235 128236.246 -24237.5465 -2336.48364 0103 + -1.07911254 1.22231630 -.173675833 3.83526317 0040 + 9.94134973 258.488500 -10.9579494 -84.9391998 0031 + 158.508425 -2684.84975 -3.07844063 726.975013 0022 + -3017.64724 14872.1349 -469.458295 -1667.46714 0013 + 466.801936 -55258.4859 4661.52259 3912.11649 0004 + 1.88180503 -2.54978699 1.02249535 4.96781903 5000 + 27.9678707 85.1165188 -25.6500831 -214.635508 4100 + -19.6018738 -1.90234997 -2.26475906 3.07907961 4010 + 338.908065 -3.13670480 84.7364876 -48.5819865 4001 + -1595.43911 -986.185572 116.663362 3438.51266 3200 + 256.718721 -2.53553430 86.9081338 -71.7570318 3110 + -5619.82737 2554.66160 -3220.55423 1952.97191 3101 + 5.63505956 5.65523837 -.178636671 -9.82929708 3020 + 28.4611788 -535.882022 112.200518 63.7792928 3011 + -3335.14896 6481.34708 -841.916671 -2407.64911 3002 + 17748.8967 4446.27557 1781.86526 -27888.4078 2300 + -365.812295 713.968459 -1184.61359 175.230779 2210 + 26149.2365 -61279.3626 44610.2113 -20776.5089 2201 + 82.8634399 -82.7911036 40.7995535 223.223395 2120 + -4711.16007 7972.91446 -3042.34279 -1765.82660 2111 + 111837.314 -122751.891 25531.4588 55520.9916 2102 + -13.8546171 -44.6122707 -1.49148927 7.53241271 2030 + 379.629516 2219.19103 -283.396915 -8.69875712 2021 + -2940.77125 -39662.7132 6848.07035 332.501630 2012 + -4833.05018 291262.775 -40868.2995 -930.899000 2003 + -75870.6114 -3035.26190 -19402.1263 118850.529 1400 + -1090.33337 -5565.51679 8155.50571 3660.70792 1310 + -76601.8398 456263.377 -281440.652 79440.7749 1301 + -2721.78279 -512.627944 -452.280825 -1934.55934 1220 + 83864.4298 5816.23957 23306.1137 11961.6529 1211 + -1306713.82 400125.281 -216284.553 -418149.697 1202 + 100.956187 1309.56623 -226.290462 -173.118732 1130 + -4032.82257 -56824.1834 10616.2930 1607.73072 1121 + 79840.4758 782713.236 -150889.930 -14254.2451 1112 + -330377.607 -4233718.14 646182.662 39788.7678 1103 + 6.06681234 7.12938618 -.220192683 -1.11240314 1040 + -243.665570 -948.255482 153.244584 165.982247 1031 + 7181.11150 25876.5416 -2553.92502 -3998.95843 1022 + -75005.8412 -104271.766 -23488.8683 29493.1698 1013 + 124433.465 -149264.761 219376.542 -13196.6766 1004 + 113262.801 -18667.6651 53113.3093 -209797.800 0500 + -11632.6603 7242.92619 -21110.0334 -18679.7717 0410 + 301044.558 -1035121.76 655646.504 -71841.5676 0401 + 8371.11263 2221.54910 1543.28892 6295.96049 0320 + -258028.488 -135832.589 -66162.4672 -36062.5709 0311 + 4218622.48 128274.356 663799.998 1118597.09 0302 + -167.926507 -3321.19532 237.754153 1077.44822 0230 + 15453.6273 205593.650 -24454.8426 -11675.9844 0221 + -438724.451 -3267312.69 463392.237 52657.7588 0212 + 2249544.29 17936516.3 -2298746.48 -118752.747 0203 + -25.5889867 -61.6539042 41.8282483 -107.686882 0140 + 1866.01089 -1606.56535 -3207.84127 946.869731 0131 + -71480.9824 -31234.8373 79600.1247 25102.1443 0122 + 814034.645 434180.428 -606101.312 -259877.198 0113 + -2102030.39 -1584569.00 1583206.11 303094.278 0104 + -3.59866781 -19.7084031 -18.4827350 -1.36754912 0050 + 50.9893561 384.737475 1103.07001 164.395576 0041 + 1986.13677 18001.7932 -34498.4820 90.2668576 0032 + -30037.4064 -584192.598 674006.856 1100.41524 0023 + 20801.9238 6212983.14 -6436686.94 -17333.4694 0014 + 408508.663 -23722308.6 22707746.7 30963.1531 0005 + 1.12584242 0.000000000E+00 0.000000000E+00 0.768177700 00001 + -3.30929606 0.000000000E+00 0.000000000E+00 -1.24824954 10001 + 9.55821560 0.000000000E+00 0.000000000E+00 7.18980365 01001 + -12.8075508 0.000000000E+00 0.000000000E+00 -1.79480024 00002 + 31.3282870 0.000000000E+00 0.000000000E+00 4.30979026 20001 + -366.358594 0.000000000E+00 0.000000000E+00 -47.5141035 11001 + 1281.27264 0.000000000E+00 0.000000000E+00 127.404997 02001 + 8.46492946 0.000000000E+00 0.000000000E+00 1.52132362 00201 + -212.181332 0.000000000E+00 0.000000000E+00 -44.8420242 00111 + 86.2168045 0.000000000E+00 0.000000000E+00 13.9035869 10002 + -202.375577 0.000000000E+00 0.000000000E+00 -75.1770025 01002 + 1292.40575 0.000000000E+00 0.000000000E+00 332.945301 00021 + 152.465743 412.398418 -118.551680 0.000000000E+00 00012 + 56.8142343 0.000000000E+00 0.000000000E+00 15.5951865 00003 + -111.090641 0.000000000E+00 0.000000000E+00 -15.7177358 30001 + 1301.23090 0.000000000E+00 0.000000000E+00 249.924995 21001 + -3377.64137 0.000000000E+00 0.000000000E+00 -1205.61003 12001 + -1080.57253 0.000000000E+00 0.000000000E+00 1650.70638 03001 + -206.758367 0.000000000E+00 0.000000000E+00 -8.63945412 10201 + 1286.12280 0.000000000E+00 0.000000000E+00 51.7345340 01201 + 457.388990 0.000000000E+00 0.000000000E+00 246.328770 10111 + 315.521007 0.000000000E+00 0.000000000E+00 -1468.88025 01111 + -2.86376084 0.000000000E+00 0.000000000E+00 -77.6962058 20002 + -284.532504 0.000000000E+00 0.000000000E+00 808.267218 11002 + -54.9686786 0.000000000E+00 0.000000000E+00 -1887.27393 02002 + -894.903229 0.000000000E+00 0.000000000E+00 -13.1721627 00202 + -58.1868148 0.000000000E+00 0.000000000E+00 -1758.72381 10021 + 28.1001103 0.000000000E+00 0.000000000E+00 10443.6142 01021 + 24.9869024 0.000000000E+00 0.000000000E+00 377.176889 00112 + -4.71048927 0.000000000E+00 0.000000000E+00 -174.332974 10003 + -0.94935661 0.000000000E+00 0.000000000E+00 893.518077 01003 + 5.91096156 0.000000000E+00 0.000000000E+00 -2708.57078 00022 + 0.10590745 0.000000000E+00 0.000000000E+00 -149.156349 00004 + 0.744204334E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00101 + 2.84521581 0.000000000E+00 0.000000000E+00 0.000000000E+00 10101 + -25.4393730 0.000000000E+00 0.000000000E+00 0.000000000E+00 01101 + -0.932044457 0.000000000E+00 0.000000000E+00 0.000000000E+00 00011 + 13.7051555 0.000000000E+00 0.000000000E+00 0.000000000E+00 10011 + -72.5425087 0.000000000E+00 0.000000000E+00 0.000000000E+00 01011 + 11.1885519 0.000000000E+00 0.000000000E+00 0.000000000E+00 00102 + -64.8809742 0.000000000E+00 0.000000000E+00 0.000000000E+00 00030 + -29.8576040 0.000000000E+00 0.000000000E+00 0.000000000E+00 20101 + 257.607594 0.000000000E+00 0.000000000E+00 0.000000000E+00 11101 + 222.800622 0.000000000E+00 0.000000000E+00 0.000000000E+00 02101 + -5.74703998 0.000000000E+00 0.000000000E+00 0.000000000E+00 00301 + -58.3774171 0.000000000E+00 0.000000000E+00 0.000000000E+00 20011 + -75.7986407 0.000000000E+00 0.000000000E+00 0.000000000E+00 11011 + -20.0306669 0.000000000E+00 0.000000000E+00 0.000000000E+00 02011 + 81.5699850 0.000000000E+00 0.000000000E+00 0.000000000E+00 00211 + 39.9072357 0.000000000E+00 0.000000000E+00 0.000000000E+00 10102 + 26.1337898 0.000000000E+00 0.000000000E+00 0.000000000E+00 01102 + 11.1028012 0.000000000E+00 0.000000000E+00 0.000000000E+00 00121 + 15.8064184 0.000000000E+00 0.000000000E+00 0.000000000E+00 10012 + 2.52332790 0.000000000E+00 0.000000000E+00 0.000000000E+00 01012 + 1.49611639 0.000000000E+00 0.000000000E+00 0.000000000E+00 00103 + 2.94427172 0.000000000E+00 0.000000000E+00 0.000000000E+00 00031 + 5.91096156 0.000000000E+00 0.000000000E+00 0.000000000E+00 00022 + 0.196444306 0.000000000E+00 0.000000000E+00 0.000000000E+00 00013 + 0.105907450 0.000000000E+00 0.000000000E+00 0.000000000E+00 00004 + 169.573680 0.000000000E+00 0.000000000E+00 0.000000000E+00 40001 + -1188.40309 0.000000000E+00 0.000000000E+00 0.000000000E+00 31001 + -2564.00859 0.000000000E+00 0.000000000E+00 0.000000000E+00 22001 + -796.126266 0.000000000E+00 0.000000000E+00 0.000000000E+00 13001 + -170.135856 0.000000000E+00 0.000000000E+00 0.000000000E+00 04001 + 25.2737324 0.000000000E+00 0.000000000E+00 0.000000000E+00 30101 + -302.117798 0.000000000E+00 0.000000000E+00 0.000000000E+00 21101 + 10.5088748 0.000000000E+00 0.000000000E+00 0.000000000E+00 12101 + 17.9545609 0.000000000E+00 0.000000000E+00 0.000000000E+00 03101 + 393.042869 0.000000000E+00 0.000000000E+00 0.000000000E+00 20201 + -2654.79358 0.000000000E+00 0.000000000E+00 0.000000000E+00 11201 + -675.207959 0.000000000E+00 0.000000000E+00 0.000000000E+00 02201 + 31.5374558 0.000000000E+00 0.000000000E+00 0.000000000E+00 10301 + -66.2872749 0.000000000E+00 0.000000000E+00 0.000000000E+00 01301 + 11.0483668 0.000000000E+00 0.000000000E+00 0.000000000E+00 00401 + 53.9952733 0.000000000E+00 0.000000000E+00 0.000000000E+00 30011 + 19.8514223 0.000000000E+00 0.000000000E+00 0.000000000E+00 21011 + 6.99512779 0.000000000E+00 0.000000000E+00 0.000000000E+00 12011 + 2.03058969 0.000000000E+00 0.000000000E+00 0.000000000E+00 03011 + -414.755722 0.000000000E+00 0.000000000E+00 0.000000000E+00 20111 + -242.924295 0.000000000E+00 0.000000000E+00 0.000000000E+00 11111 + -53.2831769 0.000000000E+00 0.000000000E+00 0.000000000E+00 02111 + 14.0854426 0.000000000E+00 0.000000000E+00 0.000000000E+00 10211 + -7.18970025 0.000000000E+00 0.000000000E+00 0.000000000E+00 01211 + 46.6175282 0.000000000E+00 0.000000000E+00 0.000000000E+00 00311 + 327.023510 0.000000000E+00 0.000000000E+00 0.000000000E+00 30002 + -46.7603764 0.000000000E+00 0.000000000E+00 0.000000000E+00 21002 + -13.1130776 0.000000000E+00 0.000000000E+00 0.000000000E+00 12002 + -2.14608775 0.000000000E+00 0.000000000E+00 0.000000000E+00 03002 + -405.162634 0.000000000E+00 0.000000000E+00 0.000000000E+00 20102 + -37.8327394 0.000000000E+00 0.000000000E+00 0.000000000E+00 11102 + -3.28616433 0.000000000E+00 0.000000000E+00 0.000000000E+00 02102 + -797.756623 0.000000000E+00 0.000000000E+00 0.000000000E+00 10202 + -100.253463 0.000000000E+00 0.000000000E+00 0.000000000E+00 01202 + -58.1494000 0.000000000E+00 0.000000000E+00 0.000000000E+00 00302 + -49.7218825 0.000000000E+00 0.000000000E+00 0.000000000E+00 20021 + -23.4940000 0.000000000E+00 0.000000000E+00 0.000000000E+00 11021 + -4.63065295 0.000000000E+00 0.000000000E+00 0.000000000E+00 02021 + -7.01252658 0.000000000E+00 0.000000000E+00 0.000000000E+00 10121 + -1.66128414 0.000000000E+00 0.000000000E+00 0.000000000E+00 01121 + 8.99761159 0.000000000E+00 0.000000000E+00 0.000000000E+00 00221 + -26.9158564 0.000000000E+00 0.000000000E+00 0.000000000E+00 20012 + -2.93740577 0.000000000E+00 0.000000000E+00 0.000000000E+00 11012 + -0.281699956 0.000000000E+00 0.000000000E+00 0.000000000E+00 02012 + -44.2613806 0.000000000E+00 0.000000000E+00 0.000000000E+00 10112 + -5.18873926 0.000000000E+00 0.000000000E+00 0.000000000E+00 01112 + -2.30913015 0.000000000E+00 0.000000000E+00 0.000000000E+00 00212 + 12.9742811 0.000000000E+00 0.000000000E+00 0.000000000E+00 20003 + 1.29863794 0.000000000E+00 0.000000000E+00 0.000000000E+00 11003 + 0.179319821 0.000000000E+00 0.000000000E+00 0.000000000E+00 02003 + 0.359636043 0.000000000E+00 0.000000000E+00 0.000000000E+00 10103 + -0.686000125E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 01103 + 0.479897726 0.000000000E+00 0.000000000E+00 0.000000000E+00 00203 + 2.12875475 0.000000000E+00 0.000000000E+00 0.000000000E+00 10040 + 1.00542982 0.000000000E+00 0.000000000E+00 0.000000000E+00 01040 + 0.574499599E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00140 + -1.51837641 0.000000000E+00 0.000000000E+00 0.000000000E+00 10031 + -0.259505376 0.000000000E+00 0.000000000E+00 0.000000000E+00 01031 + 1.21378871 0.000000000E+00 0.000000000E+00 0.000000000E+00 00131 + -3.83394487 0.000000000E+00 0.000000000E+00 0.000000000E+00 10022 + -0.448803101 0.000000000E+00 0.000000000E+00 0.000000000E+00 01022 + 0.432742246E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00122 + 0.433795780E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 10013 + 0.381017134E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 01013 + 0.717327023E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00113 + 0.404935152E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 10004 + -0.704014248E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 01004 + 0.417717692E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 00104 + -0.108814119 0.000000000E+00 0.000000000E+00 0.000000000E+00 00050 + 0.265212468 0.000000000E+00 0.000000000E+00 0.000000000E+00 00041 + 0.342938618E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00032 + 0.274219030E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00023 + 0.382346774E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 00014 + 0.146595810E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 00005 + -221.978975 0.000000000E+00 0.000000000E+00 0.000000000E+00 50001 + 2081.48433 0.000000000E+00 0.000000000E+00 0.000000000E+00 41001 + -430.560936 0.000000000E+00 0.000000000E+00 0.000000000E+00 32001 + -218.050288 0.000000000E+00 0.000000000E+00 0.000000000E+00 23001 + -55.5844501 0.000000000E+00 0.000000000E+00 0.000000000E+00 14001 + -11.3642568 0.000000000E+00 0.000000000E+00 0.000000000E+00 05001 + 108.432463 0.000000000E+00 0.000000000E+00 0.000000000E+00 40101 + -931.864934 0.000000000E+00 0.000000000E+00 0.000000000E+00 31101 + -192.977158 0.000000000E+00 0.000000000E+00 0.000000000E+00 22101 + -28.6473383 0.000000000E+00 0.000000000E+00 0.000000000E+00 13101 + -3.41017534 0.000000000E+00 0.000000000E+00 0.000000000E+00 04101 + 61.3278498 0.000000000E+00 0.000000000E+00 0.000000000E+00 30201 + -43.6289186 0.000000000E+00 0.000000000E+00 0.000000000E+00 21201 + -47.1521819 0.000000000E+00 0.000000000E+00 0.000000000E+00 12201 + -14.9198830 0.000000000E+00 0.000000000E+00 0.000000000E+00 03201 + 58.8310901 0.000000000E+00 0.000000000E+00 0.000000000E+00 20301 + -36.3378650 0.000000000E+00 0.000000000E+00 0.000000000E+00 11301 + -8.01512328 0.000000000E+00 0.000000000E+00 0.000000000E+00 02301 + -104.944287 0.000000000E+00 0.000000000E+00 0.000000000E+00 10401 + 34.7713353 0.000000000E+00 0.000000000E+00 0.000000000E+00 01401 + -122.288125 0.000000000E+00 0.000000000E+00 0.000000000E+00 00501 + -77.5453423 0.000000000E+00 0.000000000E+00 0.000000000E+00 40011 + -64.1314449 0.000000000E+00 0.000000000E+00 0.000000000E+00 31011 + -13.9857505 0.000000000E+00 0.000000000E+00 0.000000000E+00 22011 + -2.33654082 0.000000000E+00 0.000000000E+00 0.000000000E+00 13011 + -0.340596491 0.000000000E+00 0.000000000E+00 0.000000000E+00 04011 + 29.3394194 0.000000000E+00 0.000000000E+00 0.000000000E+00 30111 + 48.1149331 0.000000000E+00 0.000000000E+00 0.000000000E+00 21111 + 9.50174924 0.000000000E+00 0.000000000E+00 0.000000000E+00 12111 + 1.38837541 0.000000000E+00 0.000000000E+00 0.000000000E+00 03111 + 52.4792515 0.000000000E+00 0.000000000E+00 0.000000000E+00 20211 + 3.80058742 0.000000000E+00 0.000000000E+00 0.000000000E+00 11211 + 0.234555136 0.000000000E+00 0.000000000E+00 0.000000000E+00 02211 + 39.5808085 0.000000000E+00 0.000000000E+00 0.000000000E+00 10311 + 15.2563542 0.000000000E+00 0.000000000E+00 0.000000000E+00 01311 + -7.28080327 0.000000000E+00 0.000000000E+00 0.000000000E+00 00411 + -597.497346 0.000000000E+00 0.000000000E+00 0.000000000E+00 40002 + -102.721749 0.000000000E+00 0.000000000E+00 0.000000000E+00 31002 + -15.3681107 0.000000000E+00 0.000000000E+00 0.000000000E+00 22002 + -2.17208316 0.000000000E+00 0.000000000E+00 0.000000000E+00 13002 + -0.274609264 0.000000000E+00 0.000000000E+00 0.000000000E+00 04002 + 106.837983 0.000000000E+00 0.000000000E+00 0.000000000E+00 30102 + 12.3766158 0.000000000E+00 0.000000000E+00 0.000000000E+00 21102 + 1.46530330 0.000000000E+00 0.000000000E+00 0.000000000E+00 12102 + 0.185393293 0.000000000E+00 0.000000000E+00 0.000000000E+00 03102 + 11.8887131 0.000000000E+00 0.000000000E+00 0.000000000E+00 20202 + -2.55669988 0.000000000E+00 0.000000000E+00 0.000000000E+00 11202 + -0.863809017 0.000000000E+00 0.000000000E+00 0.000000000E+00 02202 + 18.8047014 0.000000000E+00 0.000000000E+00 0.000000000E+00 10302 + 2.49667580 0.000000000E+00 0.000000000E+00 0.000000000E+00 01302 + -3.93088497 0.000000000E+00 0.000000000E+00 0.000000000E+00 00402 + 12.7034651 0.000000000E+00 0.000000000E+00 0.000000000E+00 30021 + 7.96187516 0.000000000E+00 0.000000000E+00 0.000000000E+00 21021 + 1.60982507 0.000000000E+00 0.000000000E+00 0.000000000E+00 12021 + 0.257565675 0.000000000E+00 0.000000000E+00 0.000000000E+00 03021 + 5.93574507 0.000000000E+00 0.000000000E+00 0.000000000E+00 20121 + 0.679348453 0.000000000E+00 0.000000000E+00 0.000000000E+00 11121 + 0.757550151E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 02121 + 7.36294581 0.000000000E+00 0.000000000E+00 0.000000000E+00 10221 + 2.30080135 0.000000000E+00 0.000000000E+00 0.000000000E+00 01221 + -0.118383007 0.000000000E+00 0.000000000E+00 0.000000000E+00 00321 + 14.4258145 0.000000000E+00 0.000000000E+00 0.000000000E+00 30012 + 1.52658163 0.000000000E+00 0.000000000E+00 0.000000000E+00 21012 + 0.163028817 0.000000000E+00 0.000000000E+00 0.000000000E+00 12012 + 0.171689509E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 03012 + 15.0743734 0.000000000E+00 0.000000000E+00 0.000000000E+00 20112 + 1.60706583 0.000000000E+00 0.000000000E+00 0.000000000E+00 11112 + 0.166465023 0.000000000E+00 0.000000000E+00 0.000000000E+00 02112 + 2.28803297 0.000000000E+00 0.000000000E+00 0.000000000E+00 10212 + 0.265413449 0.000000000E+00 0.000000000E+00 0.000000000E+00 01212 + 3.26683930 0.000000000E+00 0.000000000E+00 0.000000000E+00 00312 + -1.44694805 0.000000000E+00 0.000000000E+00 0.000000000E+00 30003 + -0.301551821 0.000000000E+00 0.000000000E+00 0.000000000E+00 21003 + -0.979405958E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 12003 + -0.218874633E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 03003 + 0.213731277 0.000000000E+00 0.000000000E+00 0.000000000E+00 20103 + -0.424871757E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 11103 + -0.263981236E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 02103 + -0.390336182 0.000000000E+00 0.000000000E+00 0.000000000E+00 10203 + -0.220563449E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 01203 + -0.252061070E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00303 + 0.835395726 0.000000000E+00 0.000000000E+00 0.000000000E+00 20031 + 0.101082424 0.000000000E+00 0.000000000E+00 0.000000000E+00 11031 + 0.113826515E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 02031 + 0.967539242 0.000000000E+00 0.000000000E+00 0.000000000E+00 10131 + 0.283940573 0.000000000E+00 0.000000000E+00 0.000000000E+00 01131 + 0.704094684E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00231 + 1.96621152 0.000000000E+00 0.000000000E+00 0.000000000E+00 20022 + 0.211929662 0.000000000E+00 0.000000000E+00 0.000000000E+00 11022 + 0.222297020E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 02022 + 0.192176728 0.000000000E+00 0.000000000E+00 0.000000000E+00 10122 + 0.208429359E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 01122 + 0.409197722 0.000000000E+00 0.000000000E+00 0.000000000E+00 00222 + 0.116208798E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 20013 + -0.861751979E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 11013 + -0.368034008E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 02013 + -0.305595883E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 10113 + 0.792820773E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 01113 + -0.103581312E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 00213 + -0.317665296E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 20004 + -0.868692894E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 11004 + -0.130336633E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 02004 + -0.485930059E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 10104 + -0.181322677E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 01104 + -0.225313015E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00204 + 0.102736083 0.000000000E+00 0.000000000E+00 0.000000000E+00 10041 + 0.316791817E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 01041 + 0.177406989E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00141 + 0.128130316E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 10032 + 0.134309873E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 01032 + 0.442654916E-01 0.000000000E+00 0.000000000E+00 0.000000000E+00 00132 + -0.500745668E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 10023 + -0.362264901E-04 0.000000000E+00 0.000000000E+00 0.000000000E+00 01023 + -0.100846774E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 00123 + -0.259911565E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 10014 + -0.865988929E-05 0.000000000E+00 0.000000000E+00 0.000000000E+00 01014 + 0.126433262E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 00114 + -0.376405317E-03 0.000000000E+00 0.000000000E+00 0.000000000E+00 10005 + -0.495262130E-04 0.000000000E+00 0.000000000E+00 0.000000000E+00 01005 + 0.505435025E-04 0.000000000E+00 0.000000000E+00 0.000000000E+00 00105 + -0.126889588E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 00060 + 0.318778677E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 00051 + 0.474276817E-02 0.000000000E+00 0.000000000E+00 0.000000000E+00 00042 + 0.108549858E-04 0.000000000E+00 0.000000000E+00 0.000000000E+00 00033 + 0.908354900E-04 0.000000000E+00 0.000000000E+00 0.000000000E+00 00024 + 0.311879063E-05 0.000000000E+00 0.000000000E+00 0.000000000E+00 00015 + 0.232698271E-05 0.000000000E+00 0.000000000E+00 0.000000000E+00 00006 + --------------------------------------------------------------------- diff --git a/examples/PARAM/hmsflags.param b/examples/PARAM/hmsflags.param new file mode 100644 index 0000000000000000000000000000000000000000..1436427452cbbee6a59c8f78495801599bbec164 --- /dev/null +++ b/examples/PARAM/hmsflags.param @@ -0,0 +1,52 @@ +; Offset in the spectrometer momentum. + hmomentum_factor = 0.000 ; leave 0 so it will have no effect + ; use hpcentral_offset if one needs to offset central momentum +; +; The hdelta_offset,htheta_offset,hphi_offset effect the +; reconstructed target quantities. Used in h_targ_trans.f +; For transport x is in the dispersive direction with + down +; y is in the horizontal + towards small angles. +; z is along the central optics axis. +; In transport coordinates phi = hyptar = dy/dz and theta = hxptar = dx/dz +; but for unknown reasons the yp offset is named htheta_offset +; and the xp offset is named hphi_offset +; Do not to change these values, since these are the zero order +; CMOP matrix elements. If you do change then your hms sieve +; plots will be screwed up. + hdelta_offset = 0. ; (%) hdelta_tar = hdelta_tar + hdelta_offset + htheta_offset = 4.83e-5 ; (rad) hyp_tar = hyp_tar + htheta_offset + hphi_offset = -4.73e-3 ; (rad) hxp_tar = hxp_tar + hphi_offset +; + +;saturation correction flag + genable_hms_satcorr = 2000 ;(0=disabled) - h_satcorr.f + ; a correction to hsdelta event by event + ; for a problem in setting Q3 current. + ; There was an unknown zero offset in the Q3 current. + ; The magnet setting code field00.f partially + ; fixes this problem. T. Horn in 2003 determined + ; the corrections to delta. + ; Data taken with fields set by field99.f or earlier should set to 1999. + ; Data taken with fields set by field00.f or later should set to 2000. +; central field correction + genable_hms_fieldcorr = 1 ; (1=disabled) - h_fieldcorr.f + ; Need to enable for experiments before Jan 2002 . + ; experiments using field02 and field03 should disable. +; +; The following offsets are applied to the central kinematic variables +; in h_apply_offsets.f . These might be modified by an experiment +; after doing calibration with elastic ep. +; The values below are from T. Horn 2003 analysis + hpcentral_offset = -0.13 ; sets hpcentral = hpcentral * ( 1. + hpcentral_offset / 100. ) + ; experiments earlier than April 2003 + ; should use about -0.3 which is the best + ; estimate based on several previous experiments. + hthetacentral_offset = 0.00 ; (rad) + ;htheta_lab=htheta_lab + hthetacentral_offset/degree +; This offset is determined from elastic ep data. +; Must be added to ssxptar when used in calculating lab angles. +; Example is in h_physics.f +; + h_oopcentral_offset = 0.0011 ; (rad) + + diff --git a/examples/PARAM/htracking.param b/examples/PARAM/htracking.param new file mode 100644 index 0000000000000000000000000000000000000000..3b9ff5b91e60e72409df50d24e083b55899c778b --- /dev/null +++ b/examples/PARAM/htracking.param @@ -0,0 +1,101 @@ +; hms pattern recognition and tracking code parameters +; hmax_pr_hits is the maximum number of decoded hits allowed in a chamber for +; pattern recognition to proceed. This protexts against unusual +; kami kaze events which hang the analyzer to a long time. +; + hmax_pr_hits = 25, 25 +; maximum number of possible focal plane tracks, must be <= 20 + hntracks_max_fp = 10 +; if h_remove_sppt_if_one_y_plane=1 then remove space point if space point +; contains only one y plane. +; Recommend h_remove_sppt_if_one_y_plane=0. + h_remove_sppt_if_one_y_plane=0 +; hminhit(i) minimum number of hits in each space point (one for each chamber) + hmin_hit = 5, 5 +; hmin_combos(i) minimum number of pairs in each space point ( one per chamber) +; should be 3/3 for 4/6 tracking, and 4/4 for 5/6 tracking (JRA) + hmin_combos = 4, 4 +; hspace_point_criterion(i) minimum separation of distinct space points +; recommended value for hspace_point_criterion ( based on meeting +; Feb 2003) + hspace_point_criterion = 1.0, 1.0 + + hstub_max_xpdiff = .05 +; +; The following four criteria are applied to the stub fit results at the +; focal plane position to link stubs to tracks +; hxt_track_criterion +; hyt_track_criterion +; hxpt_track_criterion +; hypt_track_criterion +; recommended value for hspace_point_criterion ( based on meeting +; Feb 2003) + hxt_track_criterion = 10. + hyt_track_criterion = 4. + hxpt_track_criterion = 0.2 + hypt_track_criterion = 0.5 +; +; hsingle_stub If .ne. 0 make a track of each single stub + hsingle_stub = 0 +; turn on/off small angle approximation to left/right decision for y + hSmallAngleApprox = 1 + +; Crude track selection criteria in h_physics +; hsel_chi2_fpperdegmax maximum chi2 per degree of freedom for track + hsel_chi2_fpperdegmax = 2000000. +; hsel_dedx1min minimum dedx to chose best track in scin 1 + hsel_dedx1min = -100000 +; hsel_dedx1max maximum dedx to chose best track in scin 1 + hsel_dedx1max = 1000000. +; hsel_betamin minimum track beta to chose best track + hsel_betamin = -100000 +; hsel_betamax maximum track beta to chose best track + hsel_betamax = 100000. +; hsel_etmin minimum track et to chose best track + hsel_etmin = -100000. +; hsel_etmax maximum track et to chose best track + hsel_etmax = 100000. +; hsel_ndegreesmin minimum number of degrees of freedom for track + hsel_ndegreesmin = 1 + + +; hstat_maxchisq chisquared limit for tracks used to measure hodo. eff. + hstat_maxchisq = 10. +; hsel_using_scin uses scintillator for track selection + hsel_using_scin = 0 +; hstat_slop distance from center of scin. to count as expecting hit + hstat_slop = 2. +; hstat_mineff warning level for scin. effic. + hstat_mineff = .95 +; hstat_cal_maxchisq chisquared limit for tracks used to measure cal. eff. + hstat_cal_maxchisq = 10. +; hstat_cal_slop distance from center of block to count as expecting hit + hstat_cal_slop = 2. +; hcer_min_eff warning level for cerenkov effic. + hcer_min_eff = .98 +; hcer_threshold threshold for good hit (for measureing effic.) + hcer_threshold = 0.5 +; hdc_min_eff warning level for dc raw effic.(1 per plane) + hdc_min_eff = .96,.98,.96,.98,.98,.94 + .96,.98,.98,.98,.98,.96 +; hdc_min_wire_eff warning level for wire effic, measured using tracking + hdc_min_wire_eff = .85 +; hdc_min_plane_eff warning level for plane effic, measured using tracking + hdc_min_plane_eff = .95,.95,.95,.95,.95,.95 + .95,.95,.95,.95,.95,.95 +;Derek added this for scintillator based fiducial cuts. Everything from +;loscin to hiscin inclusive will be included as "good" scintillator hits. +; hxloscin = 5, 5 +; hxhiscin = 12, 12 +; hyloscin = 4, 4 +; hyhiscin = 7, 7 + hxloscin = 4, 4 + hxhiscin = 13, 13 + hyloscin = 4, 4 + hyhiscin = 7, 7 +; htrack_eff_test_scin_planes is the number of planes nec needed to +; set sweet spot to true. 4 is extra clean, 3 is good enough for e-'s. + htrack_eff_test_num_scin_planes = 4 + + hcer_npe = 2.0 + hnormalized_energy_tot = 0.7 diff --git a/examples/PARAM/saer.param b/examples/PARAM/saer.param new file mode 100644 index 0000000000000000000000000000000000000000..184ba63301640d5b62b807efabb530e95f90c579 --- /dev/null +++ b/examples/PARAM/saer.param @@ -0,0 +1,12 @@ + saer_pos_gain = .00558621, .00428808, .00458957, .00486647 + .00514871, .00417616, .00353699 + + saer_neg_gain = .00404326, .00420673, .00459876, .00419363 + .00500844, .00377049, .00448458 + + saer_pos_threshold = 0.200, 0.200, 0.200, 0.200 + 0.200, 0.200, 0.200 + + saer_neg_threshold = 0.200, 0.200, 0.200, 0.200 + 0.200, 0.200, 0.200 + diff --git a/examples/PARAM/scal.param b/examples/PARAM/scal.param new file mode 100644 index 0000000000000000000000000000000000000000..842541dad00db13d379998d91eecc332fa62d774 --- /dev/null +++ b/examples/PARAM/scal.param @@ -0,0 +1,207 @@ +; Slop in x position. Allowed distance between track and edge of block (in cm) +; probably too tight djm scal_slop = 7.5 +scal_slop = 10.0 + +scal_pos_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + +scal_neg_cal_const =0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + 0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001 + +scal_pos_gain_ini=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 + 1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000 + +scal_neg_gain_ini=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 + 1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000 + +scal_pos_gain_cur=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 + 1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000 + +scal_neg_gain_cur=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 + 1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000 + +; Calibration constants for run 48816, 33696 events processed +; +;scal_pos_gain_cor= 0.628, 0.697, 0.697, 0.452, 0.422, 0.543, 0.802, 0.745, 0.565, 0.952, 0.693, +; 0.842, 0.602, 0.399, 0.519, 0.550, 0.515, 0.853, 0.462, 1.070, 0.577, 0.786, +; 0.852, 0.966, 1.002, 0.804, 0.961, 1.069, 1.345, 0.967, 0.977, 0.905, 1.632, +; 0.878, 1.092, 1.151, 1.292, 1.080, 1.050, 1.066, 1.055, 1.405, 1.116, 1.359, +;scal_neg_gain_cor= 0.539, 0.612, 0.789, 0.756, 0.700, 0.542, 0.677, 0.722, 0.692, 0.791, 0.539, +; 0.358, 0.578, 0.792, 0.604, 0.636, 0.631, 0.903, 0.627, 0.656, 0.587, 0.372, +; 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, +; 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, + +; Calibration constants for run 49064, 33189 events processed + +scal_pos_gain_cor= 0.561, 0.513, 0.492, 0.340, 0.334, 0.418, 0.652, 0.591, 0.390, 0.000, 0.000, + 0.650, 0.482, 0.280, 0.441, 0.395, 0.389, 0.687, 0.295, 0.961, 0.396, 0.000, + 0.635, 0.721, 0.792, 0.653, 0.714, 0.799, 1.065, 0.744, 0.735, 0.640, 0.000, + 0.728, 0.832, 0.914, 1.012, 0.858, 0.806, 0.833, 0.831, 1.099, 0.627, 0.000, +scal_neg_gain_cor= 0.383, 0.457, 0.668, 0.590, 0.573, 0.406, 0.499, 0.531, 0.557, 0.000, 0.000, + 0.323, 0.414, 0.631, 0.435, 0.521, 0.538, 0.674, 0.551, 0.431, 1.091, 0.000, + 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, + 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, + +;scal_pos_gain_cor= .808,1.105,1.259,1.011, .872,1.016, .840,1.027,1.045, .786,1.007 +; .513, .893, .747, .897, .927, .847, .821, .929,1.147, .857, .501 +; 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 + +;scal_neg_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 +; 1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000 + +scal_pos_ped_limit =1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + +scal_neg_ped_limit =1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000 + + + + +;############################################################################# +;########### GAIN_COR MEAN VALUE FOR E93021("FPI") ######################## +; (12/29/97) +;............................................................................. +; .507, .460, .409, .522, .801, .515, .603, .376, .616, .653, .477 +; .539, .492, .669, .601, .997, .749, .492, .680, .702, .703, .682 +;1.003,1.024, .671, .503, .562, .543, .821,1.322, .636, .657, .511 +; .552, .857, .604, .843, .540, .533, .762, .554, .713, .687,1.028 +;............................................................................. +; ######## +; #################### +;############################################################################# +; #################### +; ######## +;............................................................................ +; +;****************************************************************************** +;****************************************************************************** +; +;******************* DO YOU REALLY NEED ?? *************************** +;********* *************** +;**** OPTIMUM GAIN CORRECTION CONSTANTS FOR EACH KINEMATIC SET OF "FPI" **** +;**** **** +;************************* IF YES ! THEN **************************** +;............................................................................ +; ###### FOR Q**2 = 0.6 ######## +; +; For Q**2=0.6; run #16984-17043 +; (12/14/97) +; +; .508, .466, .435, .534, .836, .511, .622, .386, .627, .694, .494 +; .543, .504, .707, .607,1.030, .753, .511, .704, .704, .723, .694 +;1.030,1.046, .727, .508, .592, .546, .847,1.392, .646, .686, .530 +; .552, .870, .643, .864, .579, .532, .789, .579, .734, .734,1.081 +; +; .......................................................................... +; For Q**2=0.6; run #17142-17172 +; (12/14/97) +; +; .417, .383, .339, .416, .686, .442, .511, .317, .546, .552, .393 +; .446, .414, .552, .474, .846, .651, .419, .578, .613, .600, .575 +; .846, .859, .550, .396, .486, .472, .700,1.142, .562, .569, .440 +; .453, .714, .502, .674, .475, .460, .648, .475, .639, .609, .897 +; +; ........................................................................... +; +; For Q**2=0.6; run #17243-17315 +; (12/21/97) +; +; .511, .470, .417, .568, .851, .549, .634, .393, .609, .648, .461 +; .548, .509, .678, .647,1.050, .808, .520, .717, .683, .705, .675 +;1.040,1.056, .676, .541, .603, .586, .869,1.417, .630, .667, .516 +; .556, .877, .617, .920, .589, .571, .804, .589, .712, .714,1.052 +; +;............................................................................ +;**************************************************************************** +;**************************************************************************** +; +; ############ Q**2=0.75 ############## +; +;............................................................................ +; For Q**2=0.75; run #16959-16982 +; (12/24/97) +; +; .548, .503, .446, .547, .817, .526, .621, .385, .638, .692, .492 +; .585, .543, .725, .622,1.007, .775, .509, .702, .716, .721, .692 +;1.110,1.128, .745, .520, .579, .562, .845,1.388, .657, .685, .529 +; .595, .938, .659, .884, .566, .547, .788, .578, .747, .732,1.078 +; +;............................................................................ +; For Q**2=0.75; run #17044-17082 +; (12/22/97) +; +; .498, .457, .405, .497, .778, .501, .591, .367, .608, .659, .469 +; .532, .494, .659, .565, .959, .738, .485, .669, .682, .687, .659 +;1.009,1.025, .677, .473, .551, .535, .805,1.322, .626, .652, .504 +; .541, .853, .599, .804, .539, .521, .750, .550, .711, .697,1.027 +; +;**************************************************************************** +;**************************************************************************** +; +; ############ Q**2=1.00 ############## +;............................................................................ +; For Q**2=1.00; run #16872-16958 +; (12/23/97) +; +; .543, .499, .443, .572, .817, .526, .621, .385, .675, .692, .492 +; .581, .539, .720, .650,1.007, .775, .509, .702, .784, .721, .692 +;1.103,1.120, .739, .544, .579, .562, .845,1.388, .720, .685, .529 +; .591, .932, .654, .925, .566, .547, .788, .578, .789, .732,1.078 +; +;............................................................................ +; For Q**2=1.00; run #17083-17141 +; (12/23/97) +; +; .473, .434, .385, .497, .778, .501, .591, .367, .608, .659, .469 +; .505, .469, .626, .565, .959, .738, .485, .669, .682, .687, .659 +; .959, .974, .643, .473, .551, .535, .805,1.322, .626, .652, .504 +; .514, .810, .569, .804, .539, .521, .750, .550, .711, .697,1.027 +; +; +;**************************************************************************** +;**************************************************************************** +; +; ############ Q**2=1.6 ############### +; +; +; For Q**2=1.6 ; run #17173-17242 +; (12/21/97) +; +; .547, .509, .437, .570, .864, .574, .649, .414, .636, .669, .563 +; .617, .513, .739, .698,1.125, .783, .516, .719, .763, .801, .817 +;1.033,1.089, .687, .585, .574, .568, .833,1.272, .677, .692, .551 +; .654, .944, .647, .910, .490, .578, .806, .559, .698, .629,1.031 +; +; ........................................................................... +; +; For Q**2=1.6 ; run #17340-17474 +; (12/22/97) +; +; .547, .509, .437, .568, .864, .574, .681, .414, .604, .669, .563 +; .617, .513, .739, .696,1.125, .783, .542, .719, .725, .801, .817 +;1.033,1.089, .687, .583, .574, .568, .875,1.272, .643, .692, .551 +; .654, .944, .647, .910, .490, .578, .846, .559, .663, .629,1.031 +; ........................................................................... +;**************************************************************************** +;**************************************************************************** + diff --git a/examples/PARAM/scal.pos b/examples/PARAM/scal.pos new file mode 100644 index 0000000000000000000000000000000000000000..4289ec1f26fcfd949d9aae7d4be4898bcf73dca5 --- /dev/null +++ b/examples/PARAM/scal.pos @@ -0,0 +1,72 @@ +; neglect extra tubes for now +scal_num_neg_columns = 2 + +; Z position of front of shower counter layers + scal_1pr_zpos = (282.0+31.01) + scal_2ta_zpos = (293.0+31.01) + scal_3ta_zpos = (304.0+31.01) + scal_4ta_zpos = (315.0+31.01) +; Thickness of shower counter blocks, blocks are 10 * 10 * 70 cm^3 + scal_1pr_thick = 10.0 + scal_2ta_thick = 10.0 + scal_3ta_thick = 10.0 + scal_4ta_thick = 10.0 +; Number of shower counter blocks per layer + scal_1pr_nr = 11 + scal_2ta_nr = 11 + scal_3ta_nr = 11 + scal_4ta_nr = 11 +; X,Y positions of shower counter blocks + scal_1pr_left = 35.0 + scal_1pr_right = -35.0 + scal_1pr_top = (-55.0-5.64) + (-45.0-5.64) + (-35.0-5.64) + (-25.0-5.64) + (-15.0-5.64) + ( -5.0-5.64) + ( 5.0-5.64) + ( 15.0-5.64) + ( 25.0-5.64) + ( 35.0-5.64) + ( 45.0-5.64) + scal_2ta_left = 35.0 + scal_2ta_right = -35.0 + scal_2ta_top = (-55.0-5.64) + (-45.0-5.64) + (-35.0-5.64) + (-25.0-5.64) + (-15.0-5.64) + ( -5.0-5.64) + ( 5.0-5.64) + ( 15.0-5.64) + ( 25.0-5.64) + ( 35.0-5.64) + ( 45.0-5.64) + scal_3ta_left = 35.0 + scal_3ta_right = -35.0 + scal_3ta_top = (-55.0-5.64) + (-45.0-5.64) + (-35.0-5.64) + (-25.0-5.64) + (-15.0-5.64) + ( -5.0-5.64) + ( 5.0-5.64) + ( 15.0-5.64) + ( 25.0-5.64) + ( 35.0-5.64) + ( 45.0-5.64) + scal_4ta_left = 35.0 + scal_4ta_right = -35.0 + scal_4ta_top = (-55.0-5.64) + (-45.0-5.64) + (-35.0-5.64) + (-25.0-5.64) + (-15.0-5.64) + ( -5.0-5.64) + ( 5.0-5.64) + ( 15.0-5.64) + ( 25.0-5.64) + ( 35.0-5.64) + ( 45.0-5.64) + diff --git a/examples/PARAM/scer.param b/examples/PARAM/scer.param new file mode 100644 index 0000000000000000000000000000000000000000..2cd98477597be963d21b35981bd569b0aac96d87 --- /dev/null +++ b/examples/PARAM/scer.param @@ -0,0 +1,39 @@ +scer_width = 30, 30, 30, 30 +; BAM 3/3/98 new adc_to_npe values +;scer_adc_to_npe = 1/49.6., 1/70.0, 1/65.3, 1/55.3 +; DJM 8/9/03 using spe peaks +;scer_adc_to_npe = 1/43., 1/43., 1/42., 1/50. + +; JS 6.17.4 using spe peaks (cosmics, run 48754) +;scer_adc_to_npe = 1/50.8, 1/45.7, 1/47.9, 1/56.8 +; JS 6.19.4 using spe peaks (cosmics, run 48795) +;scer_adc_to_npe = 1/48., 1/46., 1/50., 1/57. +; JS 6.19.4 using spe peaks (electrons, run 48800) +;scer_adc_to_npe = 1/42., 1/39., 1/50., 1/54. +; JS 6.19.4 using spe peaks (electrons, run 48816) +; top-l top-r bot-r bot-l +;scer_adc_to_npe = 1/42., 1/39., 1/49., 1/54. +; JS 7.9.4 using spe peaks (electrons, run 49472) +; top-l top-r bot-r bot-l +scer_adc_to_npe = 1/41., 1/45., 1/43., 1/55. + +scer_chi2max = 50. +scer_beta_min = 0.8 +scer_beta_max = 1.2 +scer_et_min = .95 +scer_et_max = 2.0 +; guess for zpos. +scer_mirror_zpos = 180 + +; scer_region: 8 values for each region (1 per mirror + sum) +; central x,y,dx,dy values and x,y,dx,dy half widths. +scer_region = 30, 30, -15, -15, 7. + -8, 8, -8, 8, 0. + 0, 0, 0, 0, 0. + 0, 0, 0, 0, 0. + 25, 25, 25, 25, 45. + 10, 10, 10, 10, 15. + .15, .15, .15, .15, .15 + .05, .05, .05, .05, .05 + +scer_ped_limit = 1000,1000,1000,1000 diff --git a/examples/PARAM/sdc.param b/examples/PARAM/sdc.param new file mode 100644 index 0000000000000000000000000000000000000000..ee35e9596f05de5216b5c7544246b3bc87074782 --- /dev/null +++ b/examples/PARAM/sdc.param @@ -0,0 +1,55 @@ +;--------------------------------------------------------------------- +; SOS_TRACKING +; CTP parameter file containing all tracking parameters for the SOS +;---------------------------------------------------------------------- +; Names of each wire plane +; sdc_plane_names = 'sos1u1' +; 'sos1u2' +; 'sos1x1' +; 'sos1x2' +; 'sos1v1' +; 'sos1v2' +; 'sos2u1' +; 'sos2u2' +; 'sos2x1' +; 'sos2x2' +; 'sos2v1' +; 'sos2v2' +; sigma of wire chamber resolution for each plane + sdc_sigma = 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 +; sos dc tdc minimum tdc value array allowed for a good hit + sdc_tdc_min_win = 2600, 2600, 2600, 2600, 2600, 2600 + 2600, 2600, 2600, 2600, 2600, 2600 +; sos dc tdc maximum tdc value array allowed for a good hit + sdc_tdc_max_win = 3180, 3180, 3180, 3180, 3180, 3180 + 3180, 3180, 3180, 3180, 3180, 3180 +; sos drift chamber tdc's time per channel + sdc_tdc_time_per_channel = 0.5 +; sos zero time for drift chambers !DECREASING this number moves the sdtime plots to LOWER time. + sdc_plane_time_zero = (1440-10+26+86+30+2) + (1440-9.5+22+90+30+4) + (1440-9.25+22+94+30+4) + (1440-12+28+84+30+4) + (1440-11+24+86+30+2) + (1440-11+26+86+30+4) + (1440-11.5+24+86+30+6) + (1440-14+22+90+30+4) + (1440-13.5+22+84+30+4) + (1440-13.5+24+74+30+4) + (1440-11.5+22+82+30+4) + (1440-13.25+24+80+30+4) +; Dave Abbott's wire velocity correction +sdc_wire_velocity = 13.0 +sdc_central_time = 2.8,2.8,1.5,1.5,2.8,2.8 + 2.8,2.8,1.5,1.5,2.8,2.8 diff --git a/examples/PARAM/sdc.param.bak b/examples/PARAM/sdc.param.bak new file mode 100644 index 0000000000000000000000000000000000000000..77ded20b7f760e84c2c80cca4ccc0efe03b25d59 --- /dev/null +++ b/examples/PARAM/sdc.param.bak @@ -0,0 +1,55 @@ +;--------------------------------------------------------------------- +; SOS_TRACKING +; CTP parameter file containing all tracking parameters for the SOS +;---------------------------------------------------------------------- +; Names of each wire plane +; sdc_plane_names = 'sos1u1' +; 'sos1u2' +; 'sos1x1' +; 'sos1x2' +; 'sos1v1' +; 'sos1v2' +; 'sos2u1' +; 'sos2u2' +; 'sos2x1' +; 'sos2x2' +; 'sos2v1' +; 'sos2v2' +; sigma of wire chamber resolution for each plane + sdc_sigma = 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 + 0.020 +; sos dc tdc minimum tdc value array allowed for a good hit + sdc_tdc_min_win = 2600, 2600, 2600, 2600, 2600, 2600 + 2600, 2600, 2600, 2600, 2600, 2600 +; sos dc tdc maximum tdc value array allowed for a good hit + sdc_tdc_max_win = 3180, 3180, 3180, 3180, 3180, 3180 + 3180, 3180, 3180, 3180, 3180, 3180 +; sos drift chamber tdc's time per channel + sdc_tdc_time_per_channel = 0.5 +; sos zero time for drift chambers !DECREASING this number moves the sdtime plots to LOWER time. + sdc_plane_time_zero = (1440-10+26+86+30+30) + (1440-9.5+22+90+30+28) + (1440-9.25+22+94+30+28) + (1440-12+28+84+30+26) + (1440-11+24+86+30+30) + (1440-11+26+86+30+30) + (1440-11.5+24+86+30+28) + (1440-14+22+90+30+26) + (1440-13.5+22+84+30+26) + (1440-13.5+24+74+30+28) + (1440-11.5+22+82+30+26) + (1440-13.25+24+80+30+26) +; Dave Abbott's wire velocity correction +sdc_wire_velocity = 13.0 +sdc_central_time = 2.8,2.8,1.5,1.5,2.8,2.8 + 2.8,2.8,1.5,1.5,2.8,2.8 diff --git a/examples/PARAM/sdc.pos b/examples/PARAM/sdc.pos new file mode 100644 index 0000000000000000000000000000000000000000..015bb095b00e962a5384f0794b242c5a86450525 --- /dev/null +++ b/examples/PARAM/sdc.pos @@ -0,0 +1,216 @@ +; Number of planes installed in SOS detector setup + sdc_num_planes = 12 +; Number of chambers installed in SOS detector setup + sdc_num_chambers = 2 +; Z positions of various planes in SOS chambers +; sdc_n_zpos is the surveyed Z position of the center of chamber n. + sdc_1_zpos = (-24.76+31.01) + sdc_2_zpos = ( 24.76+31.01) +; sdc_3_zpos =(247.50+31.01) + sdc_zpos = sdc_1_zpos - 1.5875 + sdc_1_zpos - 0.9525 + sdc_1_zpos - 0.3175 + sdc_1_zpos + 0.3175 + sdc_1_zpos + 0.9525 + sdc_1_zpos + 1.5875 + sdc_2_zpos - 1.5875 + sdc_2_zpos - 0.9525 + sdc_2_zpos - 0.3175 + sdc_2_zpos + 0.3175 + sdc_2_zpos + 0.9525 + sdc_2_zpos + 1.5875 +; Angle alpha of wires in wire chamber planes (.051,.045 degrees roll in dc1,2) + sdc_alpha_angle = ( 30-.051)*raddeg + ( 30-.051)*raddeg + ( 90-.051)*raddeg + ( 90-.051)*raddeg + (150-.051)*raddeg + (150-.051)*raddeg + ( 30-.045)*raddeg + ( 30-.045)*raddeg + ( 90-.045)*raddeg + ( 90-.045)*raddeg + (150-.045)*raddeg + (150-.045)*raddeg +; Angle beta of wires in wire chamber planes + sdc_beta_angle = -0.052*raddeg + -0.052*raddeg + -0.052*raddeg + -0.052*raddeg + -0.052*raddeg + -0.052*raddeg + -0.182*raddeg + -0.182*raddeg + -0.182*raddeg + -0.182*raddeg + -0.182*raddeg + -0.182*raddeg +; Angle gamma of wires in wire chamber planes + sdc_gamma_angle = -0.070*raddeg + -0.070*raddeg + -0.070*raddeg + -0.070*raddeg + -0.070*raddeg + -0.070*raddeg + -0.257*raddeg + -0.257*raddeg + -0.257*raddeg + -0.257*raddeg + -0.257*raddeg + -0.257*raddeg +; Pitch + sdc_pitch = 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 + 1.0000 +; Number of wires per plane + sdc_nrwire = 48 + 48 + 64 + 64 + 48 + 48 + 48 + 48 + 64 + 64 + 48 + 48 +; X,Y position of center of wire chamber +; The given value is subtracted from the position of the wire (i.e. +; the sign is opposite of the actual center position of the chamber). +; Increasing dc2 coordinates increases dpos histograms. +; Values are from jan17, 1996 survey memo. values ARE corrected for +; 18 degree (optical axis) vs 17.85 degree (survey axis) discrepensy. + sdc_xcenter = (8.488-3.982) + (-1.822+1.825+0.35) + sdc_ycenter =(+0.007+.388+0.2) + (-0.197+0.379+0.2) +;; sdc_xcenter = 8.488 +;; -1.822 +;; sdc_ycenter =+0.007 +;; -0.197 +; +; sdc_ycenter(2) was -.197 from survey. -.087 is DD's correction +; based on (e,e'p) data (centering Em,Pm). +; + +; Wire number of center of wire chamber +; Note the convention : x : low number = -x , u,v : low number = "-x" +; x1 and x2, u1 and u2, v1 and v2 are offset by half a cell length +; assume 1st wire of 1st dc of a set is closest to edge where counting starts + sdc_central_wire = (24.75+.008+.0019) + (24.25-.008+.0064) + (32.75-.001-.0105) + (32.25+.001+.0021) + (24.25+.003+.0019) + (24.75-.003+.0075) + (24.75-.001-.0019) + (24.25+.001-.0078+.0120) + (32.75+.002-.0104-.0067) + (32.25-.002-.0007-.0053) + (24.25-.003-.0008-.0015) + (24.75+.003-.0081+.0131) +; with shifts to make resiudals line up with each other. +; sdc_central_wire = (24.75+.008) +; (24.25-.008) +; 32.75 +; 32.25 +; (24.25+.002) +; (24.75-.002) +; 24.75 +; 24.25 +; (32.75+.003) +; (32.25-.003) +; (24.25-.003) +; (24.75+.003) +; nov95 online values +; sdc_central_wire = (24.75+.008) +; (24.25-.008) +; (32.75-.009) +; (32.25+.009) +; 24.25 +; 24.75 +; (24.75-.005) +; (24.25+.005) +; 32.75 +; 32.25 +; (24.25-.006) +; (24.75+.006) +; s_chamber_planes array giving the chamber number for each plane + sdc_chamber_planes = 1 + 1 + 1 + 1 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2 +; The hms readout numbers some planes in reverse order. +; I (SAW) think that the SOS readout numbers are always in forward order +; The following array is a flag on the order number. +; If sdc_wire_counting(plane) = 0 +; the wire center is at (wire - sdc_central_wire) * pitch +; If sdc_wire_counting(plane) = 1 +; the wire center is at ( sdc_nrwire + 1 - wire - sdc_central_wire) * pitch + sdc_wire_counting = 1 + 0 + 1 + 0 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 1 +; The velocity correction is the distance from the center of the wire divided +; by the velocity of propagation times sdc_drifttime_sign(pln). +/-1 +; for disc. card at +/- coord. (i.e. top = -x direction, so top readout is +1) +; +; THESE ARE NOTHING BUT BAD GUESSES AT THE MOMENT!!!! +; + sdc_drifttime_sign = +1 + -1 + -1 + +1 + +1 + -1 + +1 + -1 + -1 + +1 + +1 + -1 +; Names of each wire plane +; sdc_plane_names = 'sos1u1' +; 'sos1u2' +; 'sos1x1' +; 'sos1x2' +; 'sos1v1' +; 'sos1v2' +; 'sos2u1' +; 'sos2u2' +; 'sos2x1' +; 'sos2x2' +; 'sos2v1' +; 'sos2v2' +; 'sos3u1' +; 'sos3u2' +; 'sos3x1' +; 'sos3x2' +; 'sos3v1' +; 'sos3v2' diff --git a/examples/PARAM/sdc_offsets.param b/examples/PARAM/sdc_offsets.param new file mode 100644 index 0000000000000000000000000000000000000000..596e78025531045597ed372bdcea6764a00563a8 --- /dev/null +++ b/examples/PARAM/sdc_offsets.param @@ -0,0 +1,71 @@ +; cable id's for SOS Drift Chambers +; array is 64,12 (wires,planes)), but u and v planes have only 48/64 used. + +sdc_card_no= +; Plane 1, wires 1-48, 16 per card + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 2, wires 1-48, 16 per card + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 3, wires 1-64, 16 per card + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10 +; Plane 4, wires 1-64, 16 per card + 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11 + 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 + 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13 + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14 +; Plane 5, wires 1-48, 16 per card + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 + 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16 + 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 6, wires 1-48, 16 per card + 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18 + 19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19 + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 1, wires 1-48, 16 per card + 21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21 + 22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22 + 23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 2, wires 1-48, 16 per card + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24 + 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25 + 26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 3, wires 1-64, 16 per card + 27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27 + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28 + 29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29 + 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30 +; Plane 4, wires 1-64, 16 per card + 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31 + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 + 33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33 + 34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34 +; Plane 5, wires 1-48, 16 per card + 35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35 + 36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36 + 37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; Plane 6, wires 1-48, 16 per card + 38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38 + 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39 + 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40 + -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +; +; Cable Delays on a per/card basys +; +sdc_card_delay = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 diff --git a/examples/PARAM/sdebug.param b/examples/PARAM/sdebug.param new file mode 100644 index 0000000000000000000000000000000000000000..ab34b9b402d74d79ffefa23b467fc60bc7f85cd8 --- /dev/null +++ b/examples/PARAM/sdebug.param @@ -0,0 +1,127 @@ +; sos tracking code debug flags. +; when these flags are non-zero, dump routines are called to +; print out the data banks for each event. +; +; sluno fortran lun for output + sluno = 6 +; sdebugdumptof Dump timing information for fitting offsets for old CSA method + sdebugdumptof = 0 +; sdumptof Dump timing information for fitting offsets, new way +; Done from h_tof.f. Add particle ID cuts if desired +; Note: don't set both hdumptof=1 and hdebugdumptof=1 at same time +; because they both use fort.37 for the output + sdumptof = 0 +;; sdebugdumpcal Dump calorimeter information for fitting gains + sdebugdumpcal = 0 +; number of pedestal events required to overwrite orig. peds. + shodo_min_peds = 500 + scal_min_peds = 500 + scer_min_peds = 500 + saer_min_peds = 500 + sluc_min_peds = 500 + + +; DEBUGGING OUTPUT FLAGS +; ---------------------- +; sdebugprintrawdc Dump SDC_RAW_DC bank + sdebugprintrawdc = 0 +; sdebugprintdecodeddc DUMP SDC_DECODED_DC bank + sdebugprintdecodeddc = 0 +; sdebugflagpsi Dump calculated coordinate positions + sdebugflagpsi = 0 +; sdebugflaggeoemtry Dump calculated geometrical parameters + sdebugflaggeometry = 0 +; sdebugflagpr Dump intermediate pattern recognition results + sdebugflagpr = 0 +; sdebugflagstubchisq Dump chi2 of left-right fits + sdebugstubchisq = 0 +; sdebugflagstubs Dump stub fit results + sdebugflagstubs = 0 +; sdebuglinkstubs Dump link stub results + sdebuglinkstubs = 0 +; sdebugtrackprint Dump focal plane track fit results + sdebugtrackprint = 0 +; sdebugtartrackprint Dump tracks at target + sdebugtartrackprint = 0 +; tof debuging +; +; sdebugprintscinraw Dump SOS_RAW_SCIN + sdebugprintscinraw = 0 +; sdebugprintscindec Dump SOS_DECODED_SCIN + sdebugprintscindec = 0 +; sdebugprinttoftracks Dump sos_scin_tof + sdebugprinttoftracks = 0 +; sdebugprinttracktests Dump SOS_TRACK_TESTS + sdebugprinttracktests = 0 +; +; +; sos calorimeter debug flags +; slun_dbg_cal lun for output + slun_dbg_cal = sluno +; sdbg_raw_cal call s_prt_cal_raw + sdbg_raw_cal = 0 +; sdbg_sparsified_cal call s_prt_cal_sparsified + sdbg_sparsified_cal = 0 +; sdbg_decoded_cal call s_prt_cal_decoded + sdbg_decoded_cal = 0 +; sdbg_clusters_cal call s_prt_cal_clusters + sdbg_clusters_cal = 0 +; sdbg_tracks_cal call s_prt_cal_tracks + sdbg_tracks_cal = 0 +; sdbg_tests_cal call s_prt_cal_tests SOS_TRACK_TESTS + sdbg_tests_cal = 0 +; +; hard wired histograms. If these flags .ne. 0 then the histogram +; blocks are filled +; +; sturnon_scin_raw_hist Histogram SOS raw hodoscope data (all blocks) + sturnon_scin_raw_hist = 1 +; sturnon_decoded_dc_hist Histogram SOS_DECODED_DC + sturnon_decoded_dc_hist = 1 +; sturnon_focal_plane_hist Histogram SOS_FOCAL_PLANE + sturnon_focal_plane_hist = 1 +; sturnon_target_hist HISTOGRAM SOS_TARGET + sturnon_target_hist = 1 +; +; Bypass paramters to bypass code elementes in s_reconstruction +; Stored in sosbypass_switches.cmn +; Code element is bypassed if switch .ne. 0 +; sbypass_trans_dc bypass s_trans_dc + sbypass_trans_dc = 0 +; sbypass_track bypass s_track + sbypass_track = 0 +; sbypass_targ_trans bypass s_targ_trans + sbypass_targ_trans = 0 +; sbypass_dc_eff bypass s_dc_eff and s_dc_eff_shutdown + sbypass_dc_eff = 0 +; sbypass_track_eff bypass s_tracking efficiency code + sbypass_track_eff = 0 +; sbypass_track_eff_files bypass s_tracking efficiency output files + sbypass_track_eff_files = 1 + +; sbypass_trans_scin bypass s_trans_scin + sbypass_trans_scin = 0 +; sbypass_tof bypass s_tof + sbypass_tof = 0 +; sbypass_scin_eff bypass s_scin_eff and s_scin_eff_shutdown + sbypass_scin_eff = 0 + +; sbypass_trans_cer bypass s_trans_cer + sbypass_trans_cer = 0 +; sbypass_cer bypass s_cer, (a dummy routine) + sbypass_cer = 1 +; sbypass_cer_eff bypass s_cer_eff and s_cer_eff_shutdown + sbypass_cer_eff = 0 + +; sbypass_aero bypass s_aero + sbypass_aero = 0 + +; sbypass_trans_cal bypass s_trans_cal + sbypass_trans_cal = 0 +; sbypass_cal bypass s_cal + sbypass_cal = 0 +; sbypass_cal_eff bypass s_cal_eff and s_cal_eff_shutdown + sbypass_cal_eff = 0 + +; sbypass_physics bypass s_physics + sbypass_physics = 0 diff --git a/examples/PARAM/sdriftmap.param b/examples/PARAM/sdriftmap.param new file mode 100644 index 0000000000000000000000000000000000000000..f14c9ee645bfb76a0dc98156258176191398f426 --- /dev/null +++ b/examples/PARAM/sdriftmap.param @@ -0,0 +1,175 @@ +; Lookup table +;number of bins in Meek's time to distance lookup table +sdriftbins=138 +;number of 1st bin in Meek's table in ns +sdrift1stbin=-24 +;bin size in ns of Meek's table +sdriftbinsz=2 +swc1u1fract=0.0002,0.0005,0.0009,0.0011,0.0015,0.0018,0.0022,0.0027 +0.0029,0.0033,0.0038,0.0044,0.0048,0.0051,0.0057,0.0070,0.0090,0.0121 +0.0167,0.0217,0.0282,0.0371,0.0467,0.0582,0.0723,0.0873,0.1038,0.1211 +0.1409,0.1609,0.1826,0.2060,0.2302,0.2542,0.2796,0.3043,0.3294,0.3555 +0.3819,0.4085,0.4343,0.4618,0.4890,0.5140,0.5384,0.5635,0.5880,0.6100 +0.6311,0.6522,0.6722,0.6928,0.7120,0.7316,0.7495,0.7684,0.7853,0.8026 +0.8191,0.8334,0.8491,0.8629,0.8771,0.8888,0.8994,0.9089,0.9170,0.9242 +0.9308,0.9364,0.9411,0.9457,0.9496,0.9538,0.9571,0.9602,0.9630,0.9654 +0.9679,0.9698,0.9718,0.9735,0.9750,0.9765,0.9778,0.9791,0.9804,0.9815 +0.9825,0.9833,0.9844,0.9851,0.9855,0.9862,0.9870,0.9874,0.9877,0.9883 +0.9889,0.9893,0.9895,0.9898,0.9901,0.9904,0.9910,0.9918,0.9923,0.9927 +0.9930,0.9935,0.9937,0.9941,0.9943,0.9947,0.9949,0.9952,0.9957,0.9962 +0.9964,0.9966,0.9970,0.9973,0.9975,0.9977,0.9979,0.9982,0.9986,0.9988 +0.9990,0.9991,0.9994,0.9995,0.9998,0.9999,1.0000,1.0000,1.0000,1.0000 +swc1x1fract=0.0004,0.0006,0.0008,0.0010,0.0012,0.0015,0.0017,0.0021 +0.0025,0.0028,0.0031,0.0033,0.0036,0.0041,0.0045,0.0051,0.0060,0.0075 +0.0104,0.0138,0.0191,0.0265,0.0356,0.0463,0.0596,0.0743,0.0916,0.1114 +0.1316,0.1533,0.1757,0.1988,0.2209,0.2455,0.2689,0.2945,0.3196,0.3437 +0.3697,0.3950,0.4196,0.4448,0.4702,0.4953,0.5186,0.5416,0.5650,0.5877 +0.6099,0.6316,0.6519,0.6719,0.6909,0.7099,0.7277,0.7463,0.7645,0.7821 +0.7979,0.8154,0.8320,0.8477,0.8612,0.8740,0.8865,0.8973,0.9077,0.9161 +0.9234,0.9301,0.9351,0.9406,0.9454,0.9497,0.9531,0.9570,0.9605,0.9631 +0.9660,0.9690,0.9713,0.9728,0.9748,0.9762,0.9775,0.9786,0.9800,0.9807 +0.9818,0.9827,0.9833,0.9843,0.9849,0.9857,0.9861,0.9866,0.9871,0.9877 +0.9883,0.9887,0.9891,0.9895,0.9898,0.9901,0.9907,0.9913,0.9916,0.9918 +0.9921,0.9925,0.9929,0.9931,0.9935,0.9940,0.9944,0.9946,0.9949,0.9952 +0.9956,0.9960,0.9966,0.9968,0.9970,0.9972,0.9974,0.9976,0.9979,0.9980 +0.9984,0.9985,0.9988,0.9990,0.9991,0.9993,0.9996,0.9998,0.9999,1.0000 +swc1v1fract=0.0002,0.0006,0.0008,0.0011,0.0013,0.0016,0.0019,0.0020 +0.0022,0.0025,0.0030,0.0035,0.0038,0.0042,0.0049,0.0057,0.0076,0.0103 +0.0149,0.0200,0.0273,0.0353,0.0455,0.0574,0.0719,0.0865,0.1045,0.1224 +0.1416,0.1630,0.1844,0.2074,0.2317,0.2555,0.2807,0.3046,0.3298,0.3553 +0.3826,0.4075,0.4316,0.4563,0.4823,0.5065,0.5315,0.5554,0.5781,0.6014 +0.6235,0.6434,0.6643,0.6853,0.7050,0.7238,0.7415,0.7602,0.7787,0.7975 +0.8152,0.8307,0.8456,0.8595,0.8723,0.8851,0.8957,0.9043,0.9126,0.9205 +0.9276,0.9330,0.9383,0.9437,0.9484,0.9521,0.9553,0.9582,0.9607,0.9634 +0.9657,0.9676,0.9701,0.9722,0.9738,0.9755,0.9767,0.9781,0.9794,0.9804 +0.9814,0.9825,0.9835,0.9842,0.9847,0.9853,0.9861,0.9866,0.9871,0.9878 +0.9882,0.9888,0.9891,0.9897,0.9900,0.9903,0.9909,0.9910,0.9917,0.9919 +0.9924,0.9929,0.9937,0.9939,0.9944,0.9948,0.9954,0.9956,0.9961,0.9966 +0.9968,0.9972,0.9974,0.9978,0.9980,0.9981,0.9984,0.9986,0.9989,0.9991 +0.9995,0.9996,0.9998,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +swc1u2fract=0.0003,0.0004,0.0008,0.0011,0.0015,0.0018,0.0021,0.0024 +0.0027,0.0030,0.0033,0.0037,0.0039,0.0043,0.0046,0.0049,0.0059,0.0073 +0.0094,0.0129,0.0184,0.0267,0.0352,0.0446,0.0563,0.0707,0.0863,0.1030 +0.1206,0.1411,0.1629,0.1845,0.2087,0.2325,0.2578,0.2837,0.3091,0.3357 +0.3606,0.3867,0.4119,0.4362,0.4608,0.4857,0.5099,0.5349,0.5587,0.5814 +0.6047,0.6260,0.6480,0.6685,0.6892,0.7099,0.7282,0.7456,0.7643,0.7812 +0.7988,0.8141,0.8309,0.8454,0.8616,0.8738,0.8847,0.8955,0.9049,0.9133 +0.9199,0.9274,0.9341,0.9399,0.9445,0.9489,0.9529,0.9561,0.9593,0.9620 +0.9645,0.9667,0.9689,0.9701,0.9720,0.9740,0.9756,0.9771,0.9785,0.9796 +0.9808,0.9816,0.9823,0.9832,0.9839,0.9846,0.9854,0.9860,0.9867,0.9874 +0.9876,0.9881,0.9885,0.9889,0.9895,0.9900,0.9902,0.9907,0.9910,0.9916 +0.9919,0.9923,0.9927,0.9930,0.9934,0.9937,0.9942,0.9945,0.9949,0.9953 +0.9957,0.9962,0.9965,0.9968,0.9971,0.9973,0.9976,0.9979,0.9981,0.9984 +0.9986,0.9988,0.9989,0.9993,0.9995,0.9998,0.9999,0.9999,1.0000,1.0000 +swc1x2fract=0.0002,0.0005,0.0008,0.0011,0.0014,0.0017,0.0021,0.0025 +0.0027,0.0031,0.0032,0.0034,0.0040,0.0045,0.0052,0.0065,0.0083,0.0112 +0.0150,0.0200,0.0264,0.0341,0.0435,0.0560,0.0701,0.0862,0.1027,0.1210 +0.1417,0.1628,0.1833,0.2069,0.2301,0.2547,0.2799,0.3062,0.3314,0.3582 +0.3860,0.4141,0.4390,0.4656,0.4903,0.5161,0.5410,0.5649,0.5874,0.6090 +0.6298,0.6507,0.6721,0.6923,0.7117,0.7312,0.7510,0.7706,0.7881,0.8052 +0.8204,0.8360,0.8525,0.8666,0.8793,0.8906,0.9019,0.9103,0.9194,0.9274 +0.9340,0.9397,0.9442,0.9483,0.9523,0.9557,0.9596,0.9625,0.9653,0.9678 +0.9698,0.9718,0.9732,0.9751,0.9768,0.9782,0.9793,0.9804,0.9813,0.9821 +0.9828,0.9834,0.9842,0.9848,0.9852,0.9857,0.9861,0.9864,0.9872,0.9877 +0.9880,0.9886,0.9889,0.9894,0.9898,0.9903,0.9908,0.9915,0.9921,0.9924 +0.9927,0.9930,0.9935,0.9939,0.9943,0.9945,0.9949,0.9952,0.9957,0.9960 +0.9963,0.9965,0.9967,0.9972,0.9975,0.9979,0.9980,0.9985,0.9987,0.9988 +0.9990,0.9991,0.9992,0.9995,0.9997,1.0000,1.0000,1.0000,1.0000,1.0000 +swc1v2fract=0.0004,0.0006,0.0008,0.0012,0.0013,0.0016,0.0018,0.0021 +0.0024,0.0027,0.0029,0.0032,0.0036,0.0039,0.0043,0.0049,0.0063,0.0080 +0.0113,0.0155,0.0218,0.0300,0.0397,0.0508,0.0645,0.0793,0.0949,0.1135 +0.1343,0.1560,0.1786,0.2019,0.2250,0.2498,0.2756,0.3011,0.3270,0.3526 +0.3778,0.4042,0.4299,0.4570,0.4821,0.5077,0.5311,0.5540,0.5784,0.6010 +0.6219,0.6429,0.6633,0.6830,0.7023,0.7214,0.7403,0.7590,0.7786,0.7948 +0.8118,0.8288,0.8444,0.8587,0.8725,0.8842,0.8946,0.9044,0.9136,0.9208 +0.9264,0.9323,0.9377,0.9428,0.9472,0.9506,0.9541,0.9576,0.9602,0.9635 +0.9656,0.9675,0.9695,0.9715,0.9732,0.9751,0.9768,0.9777,0.9789,0.9802 +0.9809,0.9819,0.9828,0.9835,0.9841,0.9850,0.9858,0.9863,0.9866,0.9870 +0.9875,0.9880,0.9884,0.9888,0.9894,0.9899,0.9901,0.9905,0.9909,0.9912 +0.9917,0.9919,0.9922,0.9926,0.9931,0.9936,0.9941,0.9945,0.9951,0.9954 +0.9959,0.9962,0.9964,0.9967,0.9969,0.9971,0.9975,0.9978,0.9980,0.9983 +0.9986,0.9988,0.9991,0.9995,0.9998,0.9999,0.9999,0.9999,1.0000,1.0000 +swc2u1fract=0.0001,0.0003,0.0007,0.0011,0.0015,0.0017,0.0022,0.0026 +0.0029,0.0033,0.0037,0.0041,0.0044,0.0047,0.0052,0.0057,0.0064,0.0078 +0.0105,0.0148,0.0199,0.0274,0.0372,0.0481,0.0605,0.0754,0.0916,0.1092 +0.1293,0.1501,0.1743,0.1995,0.2251,0.2499,0.2738,0.2990,0.3248,0.3498 +0.3758,0.4018,0.4279,0.4509,0.4747,0.4985,0.5225,0.5461,0.5710,0.5925 +0.6138,0.6357,0.6544,0.6749,0.6945,0.7130,0.7315,0.7496,0.7668,0.7838 +0.8023,0.8181,0.8331,0.8484,0.8641,0.8776,0.8902,0.9013,0.9114,0.9193 +0.9277,0.9345,0.9411,0.9456,0.9503,0.9539,0.9576,0.9604,0.9639,0.9664 +0.9687,0.9713,0.9736,0.9754,0.9772,0.9784,0.9804,0.9817,0.9827,0.9837 +0.9848,0.9859,0.9865,0.9874,0.9882,0.9887,0.9890,0.9896,0.9900,0.9905 +0.9908,0.9910,0.9917,0.9923,0.9926,0.9928,0.9931,0.9931,0.9937,0.9941 +0.9945,0.9946,0.9947,0.9949,0.9953,0.9955,0.9957,0.9962,0.9965,0.9968 +0.9972,0.9974,0.9977,0.9979,0.9980,0.9981,0.9984,0.9986,0.9987,0.9989 +0.9991,0.9993,0.9995,0.9997,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000 +swc2x1fract=0.0002,0.0005,0.0008,0.0013,0.0015,0.0016,0.0020,0.0023 +0.0026,0.0032,0.0034,0.0037,0.0040,0.0042,0.0045,0.0049,0.0058,0.0073 +0.0102,0.0144,0.0205,0.0283,0.0384,0.0509,0.0655,0.0813,0.0989,0.1176 +0.1373,0.1586,0.1804,0.2044,0.2293,0.2539,0.2799,0.3067,0.3324,0.3580 +0.3827,0.4086,0.4309,0.4561,0.4799,0.5024,0.5249,0.5480,0.5703,0.5918 +0.6130,0.6341,0.6562,0.6765,0.6960,0.7145,0.7342,0.7529,0.7720,0.7908 +0.8085,0.8242,0.8398,0.8556,0.8703,0.8845,0.8968,0.9072,0.9171,0.9252 +0.9315,0.9381,0.9444,0.9492,0.9535,0.9576,0.9609,0.9641,0.9671,0.9699 +0.9725,0.9749,0.9767,0.9787,0.9802,0.9816,0.9826,0.9839,0.9849,0.9859 +0.9869,0.9874,0.9879,0.9886,0.9892,0.9898,0.9901,0.9904,0.9907,0.9910 +0.9915,0.9919,0.9921,0.9924,0.9927,0.9929,0.9932,0.9934,0.9938,0.9940 +0.9944,0.9947,0.9950,0.9953,0.9955,0.9960,0.9962,0.9966,0.9969,0.9972 +0.9973,0.9975,0.9978,0.9979,0.9983,0.9985,0.9989,0.9991,0.9993,0.9996 +0.9998,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +swc2v1fract=0.0003,0.0007,0.0010,0.0013,0.0015,0.0017,0.0020,0.0023 +0.0025,0.0026,0.0029,0.0030,0.0033,0.0035,0.0041,0.0045,0.0052,0.0063 +0.0086,0.0125,0.0181,0.0261,0.0352,0.0449,0.0587,0.0729,0.0884,0.1060 +0.1270,0.1481,0.1704,0.1935,0.2166,0.2421,0.2665,0.2920,0.3182,0.3436 +0.3685,0.3955,0.4212,0.4456,0.4698,0.4942,0.5177,0.5409,0.5653,0.5878 +0.6104,0.6323,0.6522,0.6734,0.6920,0.7121,0.7325,0.7517,0.7704,0.7882 +0.8068,0.8234,0.8394,0.8538,0.8676,0.8807,0.8932,0.9048,0.9135,0.9215 +0.9287,0.9352,0.9404,0.9456,0.9500,0.9544,0.9581,0.9619,0.9648,0.9676 +0.9701,0.9723,0.9744,0.9766,0.9783,0.9799,0.9811,0.9822,0.9838,0.9847 +0.9857,0.9864,0.9870,0.9878,0.9883,0.9888,0.9896,0.9902,0.9905,0.9910 +0.9916,0.9920,0.9925,0.9928,0.9932,0.9938,0.9941,0.9945,0.9948,0.9951 +0.9953,0.9956,0.9959,0.9962,0.9964,0.9966,0.9968,0.9972,0.9973,0.9975 +0.9977,0.9980,0.9983,0.9984,0.9986,0.9989,0.9991,0.9992,0.9995,0.9997 +0.9999,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +swc2u2fract=0.0002,0.0006,0.0009,0.0011,0.0016,0.0019,0.0023,0.0025 +0.0027,0.0029,0.0032,0.0034,0.0039,0.0042,0.0046,0.0053,0.0063,0.0087 +0.0114,0.0159,0.0214,0.0290,0.0377,0.0506,0.0640,0.0805,0.0978,0.1170 +0.1374,0.1581,0.1808,0.2040,0.2279,0.2523,0.2753,0.3003,0.3265,0.3511 +0.3779,0.4027,0.4274,0.4533,0.4774,0.4995,0.5205,0.5442,0.5659,0.5905 +0.6120,0.6339,0.6556,0.6751,0.6953,0.7149,0.7348,0.7528,0.7699,0.7874 +0.8063,0.8219,0.8370,0.8527,0.8668,0.8802,0.8923,0.9034,0.9127,0.9206 +0.9270,0.9332,0.9393,0.9439,0.9490,0.9526,0.9563,0.9595,0.9625,0.9658 +0.9681,0.9701,0.9723,0.9745,0.9760,0.9777,0.9790,0.9805,0.9818,0.9829 +0.9838,0.9848,0.9856,0.9863,0.9872,0.9879,0.9887,0.9893,0.9898,0.9904 +0.9907,0.9912,0.9915,0.9919,0.9924,0.9926,0.9931,0.9934,0.9937,0.9940 +0.9942,0.9947,0.9951,0.9952,0.9955,0.9958,0.9960,0.9964,0.9965,0.9967 +0.9972,0.9974,0.9978,0.9981,0.9984,0.9985,0.9986,0.9986,0.9990,0.9992 +0.9993,0.9995,0.9999,0.9999,0.9999,1.0000,1.0000,1.0000,1.0000,1.0000 +swc2x2fract=0.0001,0.0003,0.0006,0.0007,0.0009,0.0012,0.0016,0.0019 +0.0022,0.0027,0.0029,0.0032,0.0036,0.0041,0.0046,0.0052,0.0061,0.0082 +0.0112,0.0162,0.0241,0.0333,0.0448,0.0577,0.0730,0.0902,0.1092,0.1307 +0.1519,0.1761,0.1991,0.2253,0.2501,0.2742,0.2993,0.3248,0.3500,0.3758 +0.4003,0.4237,0.4480,0.4707,0.4951,0.5189,0.5422,0.5652,0.5862,0.6084 +0.6297,0.6499,0.6707,0.6900,0.7098,0.7271,0.7449,0.7637,0.7821,0.7999 +0.8163,0.8313,0.8467,0.8612,0.8746,0.8880,0.8997,0.9107,0.9196,0.9284 +0.9353,0.9416,0.9472,0.9518,0.9561,0.9594,0.9625,0.9650,0.9678,0.9704 +0.9727,0.9743,0.9761,0.9779,0.9796,0.9811,0.9826,0.9835,0.9843,0.9852 +0.9861,0.9868,0.9874,0.9880,0.9888,0.9893,0.9898,0.9903,0.9907,0.9910 +0.9915,0.9919,0.9923,0.9927,0.9933,0.9936,0.9939,0.9944,0.9945,0.9951 +0.9952,0.9956,0.9960,0.9962,0.9967,0.9971,0.9974,0.9978,0.9980,0.9982 +0.9984,0.9986,0.9989,0.9992,0.9994,0.9996,0.9998,0.9999,1.0000,1.0000 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 +swc2v2fract=0.0002,0.0003,0.0006,0.0009,0.0013,0.0014,0.0015,0.0019 +0.0021,0.0024,0.0029,0.0032,0.0036,0.0039,0.0041,0.0046,0.0054,0.0072 +0.0102,0.0148,0.0221,0.0309,0.0412,0.0540,0.0669,0.0826,0.1005,0.1183 +0.1404,0.1621,0.1843,0.2090,0.2350,0.2614,0.2859,0.3119,0.3378,0.3630 +0.3891,0.4139,0.4393,0.4625,0.4875,0.5114,0.5343,0.5563,0.5792,0.6019 +0.6236,0.6448,0.6658,0.6856,0.7052,0.7234,0.7416,0.7607,0.7780,0.7942 +0.8104,0.8275,0.8420,0.8565,0.8709,0.8843,0.8964,0.9072,0.9168,0.9248 +0.9316,0.9381,0.9429,0.9485,0.9524,0.9566,0.9598,0.9628,0.9655,0.9686 +0.9707,0.9726,0.9745,0.9761,0.9780,0.9799,0.9817,0.9829,0.9844,0.9852 +0.9859,0.9870,0.9875,0.9881,0.9888,0.9894,0.9898,0.9905,0.9911,0.9914 +0.9916,0.9922,0.9927,0.9930,0.9933,0.9936,0.9939,0.9941,0.9945,0.9948 +0.9951,0.9954,0.9957,0.9959,0.9963,0.9968,0.9971,0.9974,0.9976,0.9977 +0.9979,0.9981,0.9984,0.9986,0.9988,0.9990,0.9991,0.9992,0.9995,0.9998 +1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000,1.0000 diff --git a/examples/PARAM/shodo.param b/examples/PARAM/shodo.param new file mode 100644 index 0000000000000000000000000000000000000000..681cfd9d0fb334e090eb1eff3236bb4a8ad05e89 --- /dev/null +++ b/examples/PARAM/shodo.param @@ -0,0 +1,192 @@ +; tof and you figured out good values +stof_tolerance = 50.0 +; sstart_time_center center of allowed time window + sstart_time_center = 15. +; sstart_time_slop 1/2 width of time window + sstart_time_slop = 20. +; sscin_tdc_min minimum tdc value in sos scin + sscin_tdc_min = 0 +; sscin_tdc_max maximum allowed tdc value +; sscin_tdc_max = 9000 +; 19.08.1999 At suggestion of Mack, reduce to 4000 to get rid of +; bad beta values. + + sscin_tdc_max = 4000 + ; sscin_tdc_to_time scin tdc time per channel + sscin_tdc_to_time = 0.0247 ; Monte Carlo Value + +;;; All the following taken from hhodo.param +; sos_tof_params +; snum_scin_counters, shodo_zpos, shodo_center_coord, shodo_width +; are all calculated within s_init_scin +; shodo_pos_coord and shodo_neg_coord are not yet used +; + shodo_slop = 2., 2., 4., 4. +; + shodo_vel_light = 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 + 14.5,14.5,14.5,14.5 +; + shodo_pos_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 +; + shodo_neg_sigma = .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + .3,.3,.3,.3,.3,.3,.3,.3 + + + shodo_pos_minph = 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + + shodo_neg_minph = 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + 145,160,130,145 + +; shodo_pos_phc_coeff = -.9,-.764,-.9,-.952 +; shodo_pos_phc_coeff = -.9,-.820,-.95,-1.0 +; shodo_pos_phc_coeff = -1.1,-1.2,-1.0,-1.1 + shodo_pos_phc_coeff = -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + +; shodo_neg_phc_coeff = -.9,-.764,-.9,-.952 +; shodo_neg_phc_coeff = -.9,-.820,-.95,-1.0 +; shodo_neg_phc_coeff = -1.1,-1.2,-1.0,-101 + shodo_neg_phc_coeff = -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + -1.2,-1.0,-1.0,-1.0 + + +;order = 1x, 1y, 2x, 2y? Yes. +; +;i changed s2x pos, 6th from bottom (11), from -34.4628 to -33.4628 + +shodo_pos_time_offset = -11.1561, -8.2512, -20.8399, -22.1478 + -4.9220, -6.1990, -17.2972, -20.6541 + -6.5630, -6.5562, -17.2113, -25.0076 + 2.0654, -5.2586, -21.0289, -23.7117 + -2.3622, -2.7236, -16.4206, -23.6527 + -1.7189, -3.5400, -19.5546, -25.5267 + -5.8419, -9.0256, -20.5453, -20.3712 + -3.0988, -7.5451, -18.7901, -19.9287 + -1.5768, -4.2217, -21.4121, -19.8550 + 0.0000, -1.9975, -17.1522, 0.0000 + 0.0000, 0.0000, -18.5695, -1.9975 + 0.0000, 0.0000, -17.0718, 0.0000 + 0.0000, 0.0000, -22.3547, 0.0000 + 0.0000, 0.0000, -14.7852, 0.0000 + 0.0000, 0.0000, -18.4089, 0.0000 + 0.0000, 0.0000, -10.5723, 0.0000 +shodo_neg_time_offset = -4.3414, -4.2570, 5.1140, -22.1772 + 3.9469, -7.2221, -12.6892, -23.5859 + 6.2738, -5.4030, -3.5626, -21.8087 + -1.2458, -4.2156, -12.7788, -22.9824 + 2.3585, -1.7379, -8.9527, -17.2679 + 6.4054, -6.1500, -15.9257, -24.4995 + 4.7343, -5.9226, -2.0483, -19.6460 + 8.0788, -1.1443, -16.5313, -18.6606 + 1.9380, -4.3016, -2.5992, -24.3681 + 0.0000, -1.9975, -17.5387, 0.0000 + 0.0000, 0.0000, -0.7155, 0.0000 + 0.0000, 0.0000, -14.6707, -1.9975 + 0.0000, 0.0000, -1.2884, 0.0000 + 0.0000, 0.0000, -10.0645, 0.0000 + 0.0000, 0.0000, 0.9972, 0.0000 + 0.0000, 0.0000, -9.2349, 0.0000 + +; + shodo_pos_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 +; + shodo_neg_ped_limit = 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + 1000,1000,1000,1000,1000,1000,1000,1000 + diff --git a/examples/PARAM/shodo.pos b/examples/PARAM/shodo.pos new file mode 100644 index 0000000000000000000000000000000000000000..3b02febdaea51a4d421e5b0491627f0ba32100e5 --- /dev/null +++ b/examples/PARAM/shodo.pos @@ -0,0 +1,103 @@ + spathlength_central = 750 +; Z positions of hodoscopes + sscin_1y_zpos = ( 42.6+31.01) + sscin_1x_zpos = ( 66.1+31.01+0.9) + sscin_2y_zpos = (218.5+31.01-1.4) + sscin_2x_zpos = (242.0+31.01+17.8-1.4) + sscin_1x_dzpos = 1.12 + sscin_1y_dzpos = 1.12 + sscin_2x_dzpos = 1.12 + sscin_2y_dzpos = 1.12 +; Sizes of hodoscope paddles + sscin_1x_size = 7.303 + sscin_1y_size = 4.445 + sscin_2x_size = 7.303 + sscin_2y_size = 4.445 + sscin_1x_spacing = 7.025 + sscin_1y_spacing = 4.050 + sscin_2x_spacing = 7.025 + sscin_2y_spacing = 4.050 +; Number of hodoscope paddles per layer + sscin_1x_nr = 9 + sscin_1y_nr = 9 + sscin_2x_nr = 16 + sscin_2y_nr = 9 +; X,Y positions of hodoscope paddles + sscin_1x_left = 23.5 + sscin_1x_right = -23.5 + sscin_1x_offset= -0.25 + sscin_1x_center= -28.100 + -21.075 + -14.050 + -7.025 + 0.000 + 7.025 + 14.050 + 21.075 + 28.100 + sscin_1y_top = -36.8 + sscin_1y_bot = 36.8 +; increasing offset moves "delta y" histogram move to larger y. + sscin_1y_offset= 0.0 + + sscin_1y_center= 16.20 + 12.15 + 8.10 + 4.05 + 0.00 + -4.05 + -8.10 + -12.15 + -16.20 + sscin_2x_left = 34.00 + sscin_2x_right = -34.00 + sscin_2x_offset= 4.57 + sscin_2x_center= -55.700 + -48.675 + -41.650 + -34.625 + -27.600 + -20.575 + -13.550 + -6.525 + 0.500 + 7.525 + 14.550 + 21.575 + 28.600 + 35.625 + 42.650 + 49.675 + + +; -60.25 ; Values from old variable "top" +; -52.75 +; -45.25 +; -37.75 +; -30.25 +; -22.75 +; -15.25 +; -7.75 +; -0.25 +; 7.25 +; 14.75 +; 22.25 +; 29.75 +; 37.25 +; 44.75 +; 52.25 + + + sscin_2y_top = -57.15 + sscin_2y_bot = 57.15 +; increasing offset moves "delta y" histogram move to larger y. + sscin_2y_offset= 0.0 + sscin_2y_center= 16.20 + 12.15 + 8.10 + 4.05 + 0.00 + -4.05 + -8.10 + -12.15 + -16.20 diff --git a/examples/PARAM/sluc.param b/examples/PARAM/sluc.param new file mode 100644 index 0000000000000000000000000000000000000000..b506bbcac76b30758359981d28612b2431e46937 --- /dev/null +++ b/examples/PARAM/sluc.param @@ -0,0 +1,28 @@ +; 1996 values(?) +; sluc_pos_gain = .004219, .002490, .001626, .002978 +; .005263, .002075, .002805, .004673 +; sluc_neg_gain = .000576, .002301, .003378, .002370 +; .004545, .002786, .002494, .003676 + +; These come from Tang. They were done assuming that the peak +; corresponded to 12 p.e. The factor of 0.5 converts this to 6 p.e. +; which is a better value for the correct beta of the particles. +; The two which are 0.5/200. are ones with basically no signal, +; due to incorrect timing of the ADC signal. +; sluc_pos_gain = 0.5/138., 0.5/150., 0.5/200., 0.5/118., +; 0.5/130., 0.5/107., 0.5/200., 0.5/142. +; sluc_neg_gain = 0.5/117., 0.5/133., 0.5/115., 0.5/154., +; 0.5/136., 0.5/156., 0.5/120., 0.5/122. + +; New values. after HV modifications to the PMTs. + sluc_pos_gain = 4.00E-3, 3.90E-3, 3.95E-3, 3.94E-3 + 4.09E-3, 4.24E-3, 4.10E-3, 4.03E-3 + sluc_neg_gain = 4.00E-3, 4.33E-3, 3.99E-3, 3.89E-3 + 4.02E-3, 4.25E-3, 4.20E-3, 4.01E-3 + + +; the following are upper limits for acceptable pedestal data +; if zero then the pedestal will not be determined and not subtracted + sluc_pos_ped_limit = 1500.,1500.,1500.,1500.,1500.,1500.,1500.,1500. + + sluc_neg_ped_limit = 1500.,1500.,1500.,1500.,1500.,1500.,1500.,1500. diff --git a/examples/PARAM/sos_recon_coeff.dat b/examples/PARAM/sos_recon_coeff.dat new file mode 100644 index 0000000000000000000000000000000000000000..dde306f6fd3d4b48ff946c291339a0aa6e6fcbe3 --- /dev/null +++ b/examples/PARAM/sos_recon_coeff.dat @@ -0,0 +1,267 @@ + --------------------------------------------------------------------- + .379139198E-01 .842839975E-03 -.165349417E-01 1.09008330 1000 + -.340475497 -.190557451E-03 -.303884217E-01 .864312703E-01 0100 + .412883275E-04 -.183808587 .979733182 .254302566E-02 0010 + .815995425E-03 .575826053E-01 -5.49469348 -.117673035 0001 + -.528286695E-01 -.422038183E-01 .689674787E-01 .795969827 2000 + -.280522018E-01 -.615710778E-01 -.407260139E-01 3.54822776 1100 + .580273258E-01 2.36544241 1.35260940 .230035665 1010 + -.248614039 -14.5575974 7.01872929 -1.25071096 1001 + -.252140610 -.101163199E-01 -.156760594E-01 -1.48667569 0200 + -.811528766E-01 .901049007 -4.92046279 .288221600 0110 + -.820406238E-01 -5.72170059 4.90060419 -.587392000 0101 + .591913926E-01 .442996896E-01 -.230355364 .173773836 0020 + -.219573091 .138562767 1.13340742 -5.56476527 0011 + .183157973 -.826984028 -1.15673466 16.2159664 0002 + .141613116 .563557025E-01 -.132614085 .893431379 3000 + -.736574959 -.239878097 .448683179 6.22480992 2100 + -.147618189 5.49472968 -3.14205915 -1.26710492 2010 + .697380983 1.62324987 -12.8412738 6.95062674 2001 + .799836904 -.338942744E-01 -.339159381 4.84876509 1200 + 1.04463497 5.12456575 11.5182373 .161979673 1110 + -5.73077452 -65.4895006 21.7592854 -5.62857441 1101 + -.940144651E-01 .729997893 -1.23899720 3.93503678 1020 + .445867546 -5.51357171 1.00751517 -28.1235302 1011 + 5.30156098 6.84633968 19.6403132 16.8571460 1002 + -3.12917608 .584819316 1.22766131 -2.41644263 0300 + .446613746 -21.0828990 9.59314583 -5.28850025 0210 + -3.88969612 80.7762158 -64.0493585 22.3948037 0201 + -1.65486895 .429698026 7.45203435 -10.9048792 0120 + 15.9989982 -8.21241443 -75.9609989 81.9559180 0111 + -60.4402763 21.2298911 212.509960 -248.259132 0102 + .604652321 1.53919563 5.35871564 -6.62271245 0030 + -9.25519025 -31.3433274 -16.5768903 38.0695796 0021 + 38.5001423 192.329974 34.8941730 -88.1044751 0012 + -43.0872876 -450.298401 -695.196371 496.318701 0003 + -.280910732 .110007520 -1.29442669 -6.87528629 4000 + 1.70456640 -.790200026E-01 3.24383795 -7.35688444 3100 + -.980466960 -11.2835109 15.9675705 -14.5026852 3010 + 2.57242009 38.4628243 -12.1845687 66.4941464 3001 + -3.08843217 .385636778 -2.10129804 32.8640525 2200 + 5.90646560 48.5058838 -79.1614198 -9.58971005 2110 + -10.4317985 -17.6586954 56.1703738 103.838657 2101 + -.495166447 .291029779 8.65190371 -61.9746102 2020 + 11.1187517 -13.7564113 -44.1495212 750.712571 2011 + -29.1394954 29.2851208 7.16099318 -1767.78840 2002 + -9.07930174 .465978293 .933872266 -16.0084695 1300 + -1.83572469 -52.4119547 134.467671 -26.5805950 1210 + -10.6276201 -115.283001 -131.157302 95.6252426 1201 + -11.6763151 3.96624253 25.5702701 -120.170295 1120 + 81.2559728 24.2679709 -225.807372 1137.51843 1111 + -112.359178 -116.026197 479.835157 -3361.40683 1102 + -5.29485259 -39.0977840 114.868020 -29.3504217 1030 + 52.9540035 435.131830 -1915.00058 456.800801 1021 + -255.245852 -1998.72127 10430.0610 -3507.86935 1012 + 710.282918 3346.50103 -18642.5174 9294.88698 1003 + 5.47692943 -3.42404936 .398772011 26.3688033 0400 + -7.02852980 36.0408590 -125.997347 12.0775052 0310 + 26.0411563 -59.5277011 195.059592 -.870074117 0301 + -1.70642864 -8.05137099 66.2405899 -108.403205 0220 + 116.037347 25.1955957 -419.542715 685.197915 0211 + -498.764979 -12.3929700 868.952277 -1583.11852 0202 + -11.4654209 3.91337164 105.681673 .948774663 0130 + 182.564797 367.199616 -3314.03838 275.734707 0121 + -785.464215 -1180.95553 21302.3634 -3567.09815 0112 + 1074.60409 -936.552421 -39399.4921 14185.0001 0103 + 27.3214997 -32.7467761 27.7875506 -31.0089464 0040 + -72.0083764 499.365480 171.394594 -263.310809 0031 + -1228.82936 -3038.62107 -5146.59971 3660.01403 0022 + 6990.44924 7629.29170 26216.2932 -19292.3817 0013 + -12389.5540 -5952.19133 -40019.6818 27353.7886 0004 + .233451694 -.725229200 4.49313708 -43.3437356 5000 + -2.63479797 2.33506679 -12.0336095 -40.6088590 4100 + 2.80978052 56.6704274 -103.441626 -72.3865672 4010 + -7.68051561 -132.315167 517.040649 601.038133 4001 + 1.55805319 -3.82640802 15.5718115 47.3538727 3200 + -17.8565522 -346.988718 507.124617 -323.449119 3110 + 59.8473991 827.189754 -1801.08879 1569.31536 3101 + -4.92016617 -7.94687178 12.2896473 -135.280605 3020 + 56.5503782 109.903033 -172.184206 2326.00503 3011 + -184.441942 -120.544100 410.841450 -5124.02325 3002 + 34.2299151 -5.62614655 -19.6635668 28.5705216 2300 + 50.2036531 730.763870 -1384.99022 323.129619 2210 + -92.7242514 -1185.38953 3546.92453 -1234.40563 2201 + -21.1694556 -4.26971067 -187.353025 -263.232713 2120 + 50.8019739 -9.39109616 1961.55237 2703.80378 2111 + 407.045396 336.291695 -4962.65404 -7780.19411 2102 + -32.8883563 -267.260855 -481.397420 -103.624057 2030 + 553.125925 3101.61079 6834.48349 6266.75033 2021 + -2233.40649 -10995.3016 -40114.5660 -41964.2086 2012 + 1986.62069 12638.4725 95744.3925 70261.8242 2003 + -157.435585 19.8341717 13.9972473 315.679803 1400 + -52.8533936 -330.790519 1380.72305 -25.2066060 1310 + 43.1893277 -589.102339 -2937.18781 26.6981676 1301 + -.131234530 -112.413423 -23.3238739 1664.16589 1220 + 284.871958 401.268662 200.871609 -12034.7631 1211 + -1481.98521 -206.864693 -1872.19232 21158.0840 1202 + -26.4458611 -371.408877 -1592.68708 147.661187 1130 + -376.587514 3004.18852 14892.4013 5188.12933 1121 + 2666.07022 -20519.1906 -55737.5598 -46520.0024 1112 + -2562.26184 61442.9024 72144.0869 108561.498 1103 + 15.2846925 -178.339099 98.7028679 778.606191 1040 + 259.514383 2089.90320 1620.09957 -20530.4149 1031 + -972.532761 -10654.4336 -22167.5340 179631.580 1022 + -6644.40422 31062.5766 95321.3704 -687066.885 1013 + 18138.9284 -39607.3611 -127382.262 803139.181 1004 + 260.033050 -9.37175174 -1.22854324 -149.131593 0500 + 12.9346160 -209.050875 -1828.13619 367.568826 0410 + 1.03860566 1642.89764 6259.32653 -1101.69817 0401 + 228.168555 47.9387217 -1007.66858 -1366.33588 0320 + -2473.77471 401.516926 8723.22926 10463.1494 0311 + 7453.65344 -2459.90132 -20213.8613 -11893.8889 0302 + 43.0657501 2527.25046 -3579.69004 -265.543867 0230 + 85.9932457 -26732.0327 29217.0535 9454.46277 0221 + -1310.73720 95335.7974 -74758.8642 -71048.3225 0212 + 1714.54526 -88924.4487 80562.0556 168080.435 0203 + 392.721684 363.565031 -671.427466 -301.828056 0140 + -4902.70897 -5019.37580 3974.69466 12449.5401 0131 + 15252.5174 23287.3413 5749.87907 -48658.7614 0122 + 24169.2549 -36349.3754 -39136.7356 -186715.777 0113 + -104121.773 895.479217 -3184.62532 792792.749 0104 + 41.5090986 -1148.66253 -1959.97263 651.990633 0050 + -902.499745 24376.2669 13971.6905 -6281.70119 0041 + 8862.26009 -201261.260 -102332.755 6816.59750 0032 + -33284.0983 822732.760 1107381.57 144256.913 0023 + 37274.2374 -1756990.04 -5432659.57 -988369.924 0014 + 3194.06668 1808484.40 9426156.81 2089893.33 0005 + -.734005948 .000000000E+00 .000000000E+00 101.080958 6000 + 4.03546917 .000000000E+00 .000000000E+00 -235.474771 5100 + .000000000E+00 -48.0176565 274.841961 .000000000E+00 5010 + .000000000E+00 97.8419414 -1415.79591 .000000000E+00 5001 + 2.05839214 .000000000E+00 .000000000E+00 -174.906709 4200 + .000000000E+00 811.417591 -1360.99969 .000000000E+00 4110 + .000000000E+00 -2087.95015 5179.72150 .000000000E+00 4101 + -24.6478776 .000000000E+00 .000000000E+00 1387.09849 4020 + 209.361971 .000000000E+00 .000000000E+00 -13347.2648 4011 + -506.249544 .000000000E+00 .000000000E+00 25591.7786 4002 + -35.9951898 .000000000E+00 .000000000E+00 1370.20393 3300 + .000000000E+00 -3600.45042 3538.05250 .000000000E+00 3210 + .000000000E+00 7524.67426 -10368.9029 .000000000E+00 3201 + 16.7701194 .000000000E+00 .000000000E+00 1785.11257 3120 + 448.015228 .000000000E+00 .000000000E+00 -12501.4175 3111 + -2582.00272 .000000000E+00 .000000000E+00 70665.3189 3102 + .000000000E+00 26.3558036 -3598.27809 .000000000E+00 3030 + .000000000E+00 -1707.32364 32248.0060 .000000000E+00 3021 + .000000000E+00 2366.24326 -95444.5145 .000000000E+00 3012 + .000000000E+00 3260.93076 58043.6500 .000000000E+00 3003 + 85.1713624 .000000000E+00 .000000000E+00 -2956.22410 2400 + .000000000E+00 7780.01535 -2907.83488 .000000000E+00 2310 + .000000000E+00 -14636.9488 8134.53415 .000000000E+00 2301 + -301.445311 .000000000E+00 .000000000E+00 4634.51958 2220 + 509.781116 .000000000E+00 .000000000E+00 -23255.2766 2211 + 3016.84963 .000000000E+00 .000000000E+00 -2992.69769 2202 + .000000000E+00 -2765.24904 2365.34945 .000000000E+00 2130 + .000000000E+00 29060.8651 30172.3857 .000000000E+00 2121 + .000000000E+00 -105263.627 -343723.291 .000000000E+00 2112 + .000000000E+00 164542.543 859596.652 .000000000E+00 2103 + 617.734883 .000000000E+00 .000000000E+00 13164.1544 2040 + -9762.94511 .000000000E+00 .000000000E+00 -329312.117 2031 + 61777.0098 .000000000E+00 .000000000E+00 2755829.40 2022 + -188522.811 .000000000E+00 .000000000E+00 -9589667.98 2013 + 293596.776 .000000000E+00 .000000000E+00 11777955.3 2004 + 155.742569 .000000000E+00 .000000000E+00 8004.70162 1500 + .000000000E+00 -10710.7950 -3347.29371 .000000000E+00 1410 + .000000000E+00 26613.4941 7824.54712 .000000000E+00 1401 + 1595.56179 .000000000E+00 .000000000E+00 -13614.5237 1320 + -2346.18950 .000000000E+00 .000000000E+00 69708.0101 1311 + -14502.8338 .000000000E+00 .000000000E+00 -54026.6988 1302 + .000000000E+00 10576.5378 15937.5378 .000000000E+00 1230 + .000000000E+00 -62086.0056 -76687.9044 .000000000E+00 1221 + .000000000E+00 -55297.1950 -298675.928 .000000000E+00 1212 + .000000000E+00 588445.113 1388085.99 .000000000E+00 1203 + -597.751474 .000000000E+00 .000000000E+00 2913.83304 1140 + 6306.24490 .000000000E+00 .000000000E+00 -120786.591 1131 + 9249.80576 .000000000E+00 .000000000E+00 1516439.68 1122 + -392504.112 .000000000E+00 .000000000E+00 -7016627.96 1113 + 1095950.97 .000000000E+00 .000000000E+00 9306653.35 1104 + .000000000E+00 -8733.05877 -8552.74975 .000000000E+00 1050 + .000000000E+00 137325.477 352699.311 .000000000E+00 1041 + .000000000E+00 -910386.624 -3196889.05 .000000000E+00 1032 + .000000000E+00 3234363.59 10796249.9 .000000000E+00 1023 + .000000000E+00 -7252714.69 -10916643.6 .000000000E+00 1014 + .000000000E+00 9543523.46 -6478540.83 .000000000E+00 1005 + 187.600021 .000000000E+00 .000000000E+00 -7467.84730 0600 + .000000000E+00 8248.31060 9123.23763 .000000000E+00 0510 + .000000000E+00 -26718.3257 -20637.9818 .000000000E+00 0501 + -972.185544 .000000000E+00 .000000000E+00 28252.5400 0420 + -5564.66121 .000000000E+00 .000000000E+00 -252365.927 0411 + 37465.5972 .000000000E+00 .000000000E+00 611723.395 0402 + .000000000E+00 -22890.0920 22487.2028 .000000000E+00 0330 + .000000000E+00 229636.659 -133458.844 .000000000E+00 0321 + .000000000E+00 -795394.324 102279.096 .000000000E+00 0312 + .000000000E+00 1010473.66 227935.761 .000000000E+00 0303 + -824.302042 .000000000E+00 .000000000E+00 6197.39315 0240 + -2787.07768 .000000000E+00 .000000000E+00 -40717.8144 0231 + 192262.614 .000000000E+00 .000000000E+00 -104938.059 0222 + -1015988.95 .000000000E+00 .000000000E+00 1807893.56 0213 + 1581572.44 .000000000E+00 .000000000E+00 -3864158.57 0204 + .000000000E+00 4929.32145 8058.93465 .000000000E+00 0150 + .000000000E+00 -157973.959 292812.788 .000000000E+00 0141 + .000000000E+00 1124967.46 -4749970.24 .000000000E+00 0132 + .000000000E+00 -1039698.52 25070359.8 .000000000E+00 0123 + .000000000E+00 -14297693.9 -62207004.0 .000000000E+00 0114 + .000000000E+00 38481213.4 72831847.8 .000000000E+00 0105 + -5527.79362 .000000000E+00 .000000000E+00 -5997.21048 0060 + 80926.6935 .000000000E+00 .000000000E+00 130411.524 0051 + -538292.630 .000000000E+00 .000000000E+00 -303996.532 0042 + 1573640.14 .000000000E+00 .000000000E+00 -2290518.44 0033 + 257457.657 .000000000E+00 .000000000E+00 6087225.09 0024 + -9176115.43 .000000000E+00 .000000000E+00 5616794.55 0015 + 12403312.1 .000000000E+00 .000000000E+00 2571808.44 0006 + -0.432787425 0.000000000E+00 0.000000000E+00 0.391005873 00001 + 0.111255322 0.000000000E+00 0.000000000E+00 0.801847205 10001 + -0.222099911 0.000000000E+00 0.000000000E+00 1.39223024 01001 + 0.000000000E+00 1.05404300 -0.472399367 0.000000000E+00 00101 + 0.000000000E+00 -6.27039977 3.78630828 0.000000000E+00 00011 + 0.187705863E-01 0.000000000E+00 0.000000000E+00 0.288248330 00002 + 0.466755273E-01 0.000000000E+00 0.000000000E+00 0.544095505 20001 + 0.255381022E-01 0.000000000E+00 0.000000000E+00 7.40084080 11001 + -0.695597072 0.000000000E+00 0.000000000E+00 2.94559377 02001 + 0.000000000E+00 2.46445435 -2.54411388 0.000000000E+00 10101 + 0.000000000E+00-0.875373764 2.46186900 0.000000000E+00 01101 + 0.206789175 0.000000000E+00 0.000000000E+00-0.296304303 00201 + 0.000000000E+00 0.328318087 2.21842346 0.000000000E+00 10011 + 0.000000000E+00 -17.7113496 10.4387423 0.000000000E+00 01011 + -2.83396800 0.000000000E+00 0.000000000E+00-0.810485111 00111 + 0.333321181E-01 0.000000000E+00 0.000000000E+00 0.727649980 10002 + -0.106615205 0.000000000E+00 0.000000000E+00 2.24994616 01002 + 0.000000000E+00-0.440727542E-01 0.829650831E-03 0.000000000E+00 00102 + 9.05531754 0.000000000E+00 0.000000000E+00 4.35294783 00021 + 0.000000000E+00 1.17053477 -0.377328467 0.000000000E+00 00012 + 0.462025566E-02 0.000000000E+00 0.000000000E+00 0.224334624 00003 + -0.213218941E-01 0.000000000E+00 0.000000000E+00-0.231138001 30001 + 0.671951131 0.000000000E+00 0.000000000E+00 7.83883863 21001 + -2.48151318 0.000000000E+00 0.000000000E+00 51.8024010 12001 + -1.53316700 0.000000000E+00 0.000000000E+00 -12.1339968 03001 + 0.000000000E+00 -1.93828614 -1.12464412 0.000000000E+00 20101 + 0.000000000E+00 14.7092776 -10.0892893 0.000000000E+00 11101 + 0.000000000E+00 -7.70961193 11.6264715 0.000000000E+00 02101 + 1.21564770 0.000000000E+00 0.000000000E+00-0.997171793 10201 + -2.13666486 0.000000000E+00 0.000000000E+00 -8.63467712 01201 + 0.000000000E+00 -5.64716834 6.40534160 0.000000000E+00 00301 + 0.000000000E+00 10.3926000 -4.84593297 0.000000000E+00 20011 + 0.000000000E+00 -16.1788532 21.9577619 0.000000000E+00 11011 + 0.000000000E+00 -39.5563571 24.3791266 0.000000000E+00 02011 + -8.29395208 0.000000000E+00 0.000000000E+00 -12.3262090 10111 + 14.3644302 0.000000000E+00 0.000000000E+00 66.1129198 01111 + 0.000000000E+00 -11.0477274 -7.23587036 0.000000000E+00 00211 + 0.254197599E-01 0.000000000E+00 0.000000000E+00 0.395279317 20002 + 0.219900371E-01 0.000000000E+00 0.000000000E+00 11.1361643 11002 + -0.763757716 0.000000000E+00 0.000000000E+00 11.5920111 02002 + 0.000000000E+00 -1.23069700 0.143156389 0.000000000E+00 10102 + 0.000000000E+00 5.40559063 -2.75062054 0.000000000E+00 01102 + 0.489849474E-01 0.000000000E+00 0.000000000E+00-0.413153323 00202 + 3.71345858 0.000000000E+00 0.000000000E+00 35.6736779 10021 + -3.93972567 0.000000000E+00 0.000000000E+00 -139.812832 01021 + 0.000000000E+00 271.617600 -130.343209 0.000000000E+00 00121 + 0.000000000E+00 0.685511203 0.670438936 0.000000000E+00 10012 + 0.000000000E+00 -12.9229381 10.2806595 0.000000000E+00 01012 + -0.469630205E-01 0.000000000E+00 0.000000000E+00 0.929541757E-01 00112 + 0.165068696E-01 0.000000000E+00 0.000000000E+00 0.666969645 10003 + -0.495401630E-01 0.000000000E+00 0.000000000E+00 3.03133290 01003 + 0.000000000E+00 0.265342622 -0.214067719 0.000000000E+00 00103 + 0.000000000E+00 -745.760209 400.637642 0.000000000E+00 00031 + -1.44823908 0.000000000E+00 0.000000000E+00 1.73786094 00022 + 0.000000000E+00 -1.62597887 1.25528356 0.000000000E+00 00013 + 0.169392626E-02 0.000000000E+00 0.000000000E+00 0.195681174 00004 + --------------------------------------------------------------------- diff --git a/examples/PARAM/sosflags.param b/examples/PARAM/sosflags.param new file mode 100644 index 0000000000000000000000000000000000000000..b6044a54bc4022090ae1a0b87747335b33282d34 --- /dev/null +++ b/examples/PARAM/sosflags.param @@ -0,0 +1,42 @@ +; Offset in the spectrometer momentum. + smomentum_factor = 0.000 ; leave 0 so it will have no effect + ; use spcentral_offset if one needs to offset central momentum +; +; The sdelta_offset,stheta_offset,sphi_offset effect the +; reconstructed target quantities. Used in s_targ_trans.f +; For transport x is in the dispersive direction with + down +; y is in the horizontal + towards large angles. +; z is along the central optics axis. +; In transport coordinates phi = syptar = dy/dz and theta = sxptar = dx/dz +; but for unknown reasons the yp offset is named stheta_offset +; and the xp offset is named sphi_offset +; Do not to change these values, since these are the zero order +; CMOP matrix elements. If you do change then your soss sieve +; plots will be screwed up. + sdelta_offset = 0. ; (%) sdelta_tar = sdelta_tar + sdelta_offset + stheta_offset = 0. ; (rad) syp_tar = syp_tar + stheta_offset + sphi_offset = 0. ; (rad) sxp_tar = sxp_tar + sphi_offset + +;saturation correction enable + genable_sos_satcorr = 1 ;(0=disabled) - STRACKING/s_satcorr.f + ; event by event correction to ssdelta +;central field saturation correction enable + genable_sos_fieldcorr = 2003 ;(0=disabled) - ENGINE/s_fieldcorr.f +; genable_sos_fieldcorr = 2003 means using C. Xu's parametrization +; genable_sos_fieldcorr = 1999 means using J. Volmer's parametrization +; either one determines sosp0corr which effects spcentral = spcentral*(1+sosp0corr/100.) +; +; The following offsets are applied to the central kinematic variables +; in s_apply_offsets.f . These might be modified by an experiment +; after doing calibration with elastic ep +; + spcentral_offset = 0.0 ; sets spcentral = spcentral * ( 1. + spcentral_offset / 100. ) + sthetacentral_offset = 0.00 ; (rad) + ;stheta_lab=stheta_lab + sthetacentral_offset/degree +; This offset is determined from elastic ep data. +; Must be added to ssxptar when used in calculating lab angles. +; Example is in s_physics.f +; + s_oopcentral_offset = 0.0032 ; (rad) + + diff --git a/examples/PARAM/stracking.param b/examples/PARAM/stracking.param new file mode 100644 index 0000000000000000000000000000000000000000..c93d712d6f791c5054df41f0c774d99b3c4bf59b --- /dev/null +++ b/examples/PARAM/stracking.param @@ -0,0 +1,75 @@ +; sos pattern recognition and tracking code parameters +; sminhit(i) minimum number of hits in each space point (one for each chamber) +; smin_combos(i) minimum number of pairs in each space point ( one per chamber) +; sspace_point_criterion(i) minimum separation of distinct space points +; + smax_pr_hits = 25, 25 + smin_hit = 5, 5 + smin_combos = 6, 6 + sspace_point_criterion = 1.2, 1.2 +; +; The following four criteria are applied to the stub fit results at the +; focal plane position to link stubs to tracks +; sxt_track_criterion +; syt_track_criterion +; sxpt_track_criterion +; sypt_track_criterion + sxt_track_criterion = 100. + syt_track_criterion = 20. + sxpt_track_criterion = 1.0 + sypt_track_criterion = 1.0 +; ssingle_stub If .ne. 0 make a track of all single stubs + ssingle_stub = 0 +; turn on/off small angle approximation to left/right decision for y + sSmallAngleApprox = 1 +; +; Crude track selection criteria in s_physics +; ssel_chi2_fpperdegmax maximum chi2 per degree of freedom for track + ssel_chi2_fpperdegmax = 9999999. +; ssel_dedx1min minimum dedx to chose best track in scin 1 + ssel_dedx1min = -1000000. +; ssel_dedx1max maximum dedx to chose best track in scin 1 + ssel_dedx1max = 1000000. +; ssel_betamin minimum track beta to chose best track + ssel_betamin = -1000000. +; ssel_betamax maximum track beta to chose best track + ssel_betamax = 1000000. +; ssel_etmin minimum track et to chose best track + ssel_etmin = -1000000. +; ssel_etmax maximum track et to chose best track + ssel_etmax = 1000000. +; ssel_ndegreesmin minimum number of degrees of freedom for track + ssel_ndegreesmin = 1 +; sstat_maxchisq chisquared limit for tracks used to measure hodo. eff. + sstat_maxchisq = 10. +; sstat_slop distance from center of scin. to count as expecting hit +; must be < 2 cm. since s1y and s2y scins. are only +/- 2cm in size. + sstat_slop = 1. +; sstat_mineff warning level for scin. effic. + sstat_mineff = .95 +; sstat_cal_maxchisq chisquared limit for tracks used to measure cal. eff. + sstat_cal_maxchisq = 10. +; sstat_cal_slop distance from center of block to count as expecting hit + sstat_cal_slop = 2. +; scer_min_eff warning level for cerenkov effic. + scer_min_eff = .90 +; scer_threshold threshold for good hit (for measureing effic.) + scer_threshold = 0.5 +; sdc_min_eff warning level for dc raw effic.(1 per plane) + sdc_min_eff = .96,.96,.96,.96,.96,.96 + .96,.96,.96,.96,.96,.96 +; sdc_min_wire_eff warning level for wire effic, measured using tracking + sdc_min_wire_eff = .85 +; sdc_min_plane_eff warning level for plane effic, measured using tracking + sdc_min_plane_eff = .95,.95,.95,.95,.95,.95 + .95,.95,.95,.95,.95,.95 + sxloscin = 2, 3 + sxhiscin = 8, 14 + syloscin = 2, 2 + syhiscin = 8, 8 +; strack_eff_test_scin_planes is the number of planes nec needed to +; set sweet spot to true. 4 is extra clean, 3 is good enough for e-'s. + strack_eff_test_num_scin_planes = 4 + + scer_npe = 2.0 + snormalized_energy_tot = 0.7 \ No newline at end of file diff --git a/examples/compclustedep.C b/examples/compclustedep.C new file mode 100644 index 0000000000000000000000000000000000000000..c251ae614d23f1440cbde67db14b2fb3e9192027 --- /dev/null +++ b/examples/compclustedep.C @@ -0,0 +1,57 @@ +void compclustedep(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = emax; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h414; //edep + } + + TCanvas *c1 = new TCanvas("c1", "Shower Largest cluster Edep", 1000, 667); + + gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.095*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.045*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Edep differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Edep Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/compclustepr.C b/examples/compclustepr.C new file mode 100644 index 0000000000000000000000000000000000000000..97bc64a8c0a3eb80930398aaa5d8904b206b031e --- /dev/null +++ b/examples/compclustepr.C @@ -0,0 +1,57 @@ +void compclustepr(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = eprmax; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h415; //edep + } + + TCanvas *c1 = new TCanvas("c1", "Shower Largest cluster Eprsh", 1000, 667); + + gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.095*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.045*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Eprsh differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Eprsh Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/compclustsize.C b/examples/compclustsize.C new file mode 100644 index 0000000000000000000000000000000000000000..4707a0d3a2d17a11a1b71a184628f541d35187e0 --- /dev/null +++ b/examples/compclustsize.C @@ -0,0 +1,57 @@ +void compclustsize(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = mult; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h413; //mult + } + + TCanvas *c1 = new TCanvas("c1", "Shower Largest cluster size", 1000, 667); + + gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.095*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.045*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Size differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Size Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/compclustx.C b/examples/compclustx.C new file mode 100644 index 0000000000000000000000000000000000000000..1fe40d6aaf11421876cbb3b812ac10afe26638ad --- /dev/null +++ b/examples/compclustx.C @@ -0,0 +1,57 @@ +void compclustx(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = xmax; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h416; //X + } + + TCanvas *c1 = new TCanvas("c1", "Shower Largest cluster X", 1000, 667); + + gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.095*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.045*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "X differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("X Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/compedeps.C b/examples/compedeps.C new file mode 100644 index 0000000000000000000000000000000000000000..737957aacb3ddd8614746d9a7995f9fd5c3d2857 --- /dev/null +++ b/examples/compedeps.C @@ -0,0 +1,70 @@ +void compedeps(Int_t run) +{ + + // Compare deposited energies in 4 planes from ENGINE with hcana. + + TFile* f = new TFile(Form("hodtest_%d.root",run)); + TH1F* h[4]; + h[0] = edep1; + h[1] = edep2; + h[2] = edep3; + h[3] = edep4; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + TH1F* h1[4]; + switch (run) { + case 50017 : + h1[0] = h683; //A + h1[1] = h684; //B + h1[2] = h685; //C + h1[3] = h686; //D + break; + default : + h1[0] = h632; //A + h1[1] = h633; //B + h1[2] = h634; //C + h1[3] = h635; //D + } + + TCanvas *c1 = new TCanvas("c1", "Shower raw Edeps", 1000, 667); + c1->Divide(2, 2); + + for (int j = 0; j < 4; j++){ + + c1->cd(j+1); + + h1[j]->SetFillColor(kBlue); + h1[j]->SetFillStyle(3354); + h1[j]->Draw(); + + h[j]->SetFillColor(kGreen); + h[j]->SetFillStyle(3345); + h[j]->Draw("same"); + + // gPad->SetLogy(); + } + + // + // Difference between the histograms. + // + + TCanvas *c2 = new TCanvas("c2", "Edep histogram differences", 1000, 667); + c2->Divide(2, 2); + + TH1F* d[4] = {h[0]->Clone(),h[0]->Clone(),h[0]->Clone(),h[0]->Clone()}; + + for (Int_t j = 0; j < 4; j++){ + + // d[j]->Divide(h[j],h1[j]); + d[j]->Add(h[j],h1[j],1.,-1.); + + c2->cd(j+1); + + d[j]->SetFillColor(kRed); + d[j]->SetFillStyle(1111); + d[j]->Draw(); + + // gPad->SetLogy(); + } + +} diff --git a/examples/compgoldenenorm.C b/examples/compgoldenenorm.C new file mode 100644 index 0000000000000000000000000000000000000000..5cc16b6b2cb1eac970988a4be65f6ddaa628bc54 --- /dev/null +++ b/examples/compgoldenenorm.C @@ -0,0 +1,65 @@ +void compgoldenenorm(Int_t run=52949) +{ + + //Comapare hsshtrk from Engine with gold.enorm from hcana. + + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = golden_enorm; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + // h1 = h438; //hsshtrk, engine/replay/paw + h1 = h426; //hsshtrk, engine/replay_mkj/paw + } + + TCanvas *c1 = new TCanvas("c1", "Golden track E/P", 800, 1000); + + c1->Divide(1,2); + + // gPad->SetLogy(); + + c1->cd(1); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.75*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.65*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.75*maxy,"hcana"); + + // Difference between the histograms. + + c1->cd(2); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Enorm Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/comphh.C b/examples/comphh.C new file mode 100644 index 0000000000000000000000000000000000000000..f8a2ba7ea2f006488abed6f8e6727955df7f9ecd --- /dev/null +++ b/examples/comphh.C @@ -0,0 +1,45 @@ +void comphh(Int_t run, TH1F* h1, TH1F* h2) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + + TCanvas *c1 = new TCanvas("c1", "h1 vs h2", 1000, 667); + + // gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h2->SetLineColor(kBlue); + h2->SetFillStyle(0); + h2->SetLineWidth(2); + h2->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.75*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.65*maxy,"h1"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.75*maxy,"h2"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Epr differences", 1000, 667); + + TH1F* dif = h2->Clone(); + + dif->Add(h2,h1,1.,-1.); + + dif->SetTitle("Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/compnclusts.C b/examples/compnclusts.C new file mode 100644 index 0000000000000000000000000000000000000000..2f16142e2e3bf1d91cc3f007933a70a104bebe60 --- /dev/null +++ b/examples/compnclusts.C @@ -0,0 +1,59 @@ +void compnclusts(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = nclust; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h412; //hnclusters + } + + TCanvas *c1 = new TCanvas("c1", "Shower Cluster Map", 1000, 667); + + gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->SetFillStyle(1111); + h1->Draw(); + + h->SetFillColor(kBlue); + h->SetLineWidth(2); + h->SetFillStyle(0); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.095*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.045*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Cluster differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); + +} diff --git a/examples/compnhits.C b/examples/compnhits.C new file mode 100644 index 0000000000000000000000000000000000000000..b30f829f4da4d6d4e7a68b1914e5463e0f755543 --- /dev/null +++ b/examples/compnhits.C @@ -0,0 +1,57 @@ +void compnhits(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = nhits; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h411; //hnhits + } + + TCanvas *c1 = new TCanvas("c1", "Shower Sparsified Hit Map", 1000, 667); + + gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.095*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.045*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Hit differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/comprawhits.C b/examples/comprawhits.C new file mode 100644 index 0000000000000000000000000000000000000000..a88b4b16513a877539e082f2eac15befdc921fc1 --- /dev/null +++ b/examples/comprawhits.C @@ -0,0 +1,68 @@ +void comprawhits(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h[6]; + h[0] = chposadc1; + h[1] = chnegadc1; + h[2] = chposadc2; + h[3] = chnegadc2; + h[4] = chposadc3; + h[5] = chposadc4; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1[6]; + switch (run) { + case 50017 : + h1[0] = h212; //A+ + h1[1] = h213; //A- + h1[2] = h214; //B+ + h1[3] = h215; //B- + h1[4] = h216; //C+ + h1[5] = h217; //D+ + break; + default : + h1[0] = h213; //A+ + h1[1] = h217; //A- + h1[2] = h214; //B+ + h1[3] = h218; //B- + h1[4] = h215; //C+ + h1[5] = h216; //D+ + } + + TCanvas *c1 = new TCanvas("c1", "Shower Hit Maps", 1000, 667); + c1->Divide(2, 3); + + for (int j = 0; j < 6; j++){ + c1->cd(j+1); + h[j]->SetFillColor(kGreen); + h[j]->SetFillStyle(3345); + h[j]->Draw(); + + h1[j]->SetFillColor(kBlue); + h1[j]->SetFillStyle(3354); + h1[j]->Draw("same"); + } + + //Differences + + TCanvas *c2 = new TCanvas("c2", "Shower Hit Map Differences", 1000, 667); + c2->Divide(2, 3); + + for (int j = 0; j < 6; j++){ + + c2->cd(j+1); + + TH1F* dif = h[j]->Clone(); + dif->Add(h[j],h1[j],1.,-1.); + + dif->SetTitle(Form("Difference %d",j+1)); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); + } + +} diff --git a/examples/comptrackedep.C b/examples/comptrackedep.C new file mode 100644 index 0000000000000000000000000000000000000000..d9ae5997b7b19eaa913a6db16c11997dba74331e --- /dev/null +++ b/examples/comptrackedep.C @@ -0,0 +1,57 @@ +void comptrackedep(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = tre; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h420; //edep + } + + TCanvas *c1 = new TCanvas("c1", "Shower 1 track cluster Edep", 1000, 667); + + // gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.65*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.75*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Edep differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Edep Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/comptrackedepcor.C b/examples/comptrackedepcor.C new file mode 100644 index 0000000000000000000000000000000000000000..fbed4f46857d78ca64dadf18c96dc0b8d9e179a2 --- /dev/null +++ b/examples/comptrackedepcor.C @@ -0,0 +1,61 @@ +void comptrackedepcor(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = trecor; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h422; //edep y corrected + } + + TCanvas *c1 = new TCanvas("c1", "Shower Track 1 Edep (Y-corr.)", 800, 1000); + + c1->Divide(1,2); + + // gPad->SetLogy(); + + c1->cd(1); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.75*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.65*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.75*maxy,"hcana"); + + // Difference between the histograms. + + c1->cd(2); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Edep cor. Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/comptrackedepcor.pdf b/examples/comptrackedepcor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f4427ce7cc8645b21b58f50daf418ba81de981de Binary files /dev/null and b/examples/comptrackedepcor.pdf differ diff --git a/examples/comptrackepr.C b/examples/comptrackepr.C new file mode 100644 index 0000000000000000000000000000000000000000..a02a6e1d5cf88158e35d62694ab39e6bb76ae179 --- /dev/null +++ b/examples/comptrackepr.C @@ -0,0 +1,57 @@ +void comptrackepr(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = trepr; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h421; //epr + } + + TCanvas *c1 = new TCanvas("c1", "Shower Largest cluster Edep", 1000, 667); + + // gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.75*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.65*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.75*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Epr differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Epr Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/comptrackeprcor.C b/examples/comptrackeprcor.C new file mode 100644 index 0000000000000000000000000000000000000000..099541edbd33b793f2a17803625f0f80f3afd59a --- /dev/null +++ b/examples/comptrackeprcor.C @@ -0,0 +1,61 @@ +void comptrackeprcor(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = treprcor; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h423; //epr y corrected + } + + TCanvas *c1 = new TCanvas("c1", "Shower Track 1 Edep (Y-corr.)", 800, 1000); + + c1->Divide(1,2); + + // gPad->SetLogy(); + + c1->cd(1); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.75*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.65*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.75*maxy,"hcana"); + + // Difference between the histograms. + + c1->cd(2); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Epr cor. Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/comptrackeprcor.pdf b/examples/comptrackeprcor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c08f6fdb0fec904e12a262ce6c2e196a533e5119 Binary files /dev/null and b/examples/comptrackeprcor.pdf differ diff --git a/examples/comptrackx.C b/examples/comptrackx.C new file mode 100644 index 0000000000000000000000000000000000000000..c67aac2cae708bde04427bdc0a1537c2ab8858a3 --- /dev/null +++ b/examples/comptrackx.C @@ -0,0 +1,57 @@ +void comptrackx(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = trx; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h417; //X + } + + TCanvas *c1 = new TCanvas("c1", "Shower Largest cluster X", 1000, 667); + + // gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.65*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.75*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Track X differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Hcal track X Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/comptrackxy.C b/examples/comptrackxy.C new file mode 100644 index 0000000000000000000000000000000000000000..b0c4b910235d62c3c6494858bad0b5a4d4184607 --- /dev/null +++ b/examples/comptrackxy.C @@ -0,0 +1,59 @@ +void comptrackxy(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH2F* h = trx_vs_try; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH2F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h419; //Y vs Y + } + + TCanvas *c1 = new TCanvas("c1", "Shower Largest cluster X", 1000, 667); + + // gPad->SetLogy(); + + h1->SetMarkerColor(kGreen); + // h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetMarkerColor(kBlue); + // h->SetFillStyle(0); + // h->SetLineWidth(2); + h->Draw("same"); + + /* + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.095*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.045*maxy,"hcana"); + */ + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "X differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + // dif->SetTitle("X Difference"); + // dif->SetFillColor(kRed); + // dif->SetLineColor(kRed); + // dif->SetLineWidth(1); + // dif->SetFillStyle(1111); + dif->Draw("LEGO2"); +} diff --git a/examples/comptracky.C b/examples/comptracky.C new file mode 100644 index 0000000000000000000000000000000000000000..554a518b2f99d7e1d915bd438e9e57eb98131ba3 --- /dev/null +++ b/examples/comptracky.C @@ -0,0 +1,57 @@ +void comptracky(Int_t run) +{ + TFile* f = new TFile(Form("hodtest_%d.root",run)); + cout << "hcana root file " << Form("hodtest_%d.root",run) << endl; + TH1F* h = try; + + TFile* f1 = new TFile(Form("%d_hbk.root",run)); + cout << "Engine root file " << Form("%d_hbk.root",run) << endl; + TH1F* h1; + switch (run) { + case 50017 : + // h1 = h212; //A+ + break; + default : + h1 = h418; //Y + } + + TCanvas *c1 = new TCanvas("c1", "Shower track Y", 1000, 667); + + // gPad->SetLogy(); + + h1->SetFillColor(kGreen); + h1->SetLineColor(kGreen); + h1->Draw(); + + h->SetLineColor(kBlue); + h->SetFillStyle(0); + h->SetLineWidth(2); + h->Draw("same"); + + TLatex l; + l.SetTextSize(0.04); + Float_t maxy = h1->GetBinContent(h1->GetMaximumBin()); + Float_t xmin = h1->GetXaxis()->GetXmin(); + Float_t xmax = h1->GetXaxis()->GetXmax(); + Float_t xt = xmin + 0.67*(xmax-xmin); + + l.SetTextColor(kGreen); + l.DrawLatex(xt,0.65*maxy,"Engine"); + l.SetTextColor(kBlue); + l.DrawLatex(xt,0.755*maxy,"hcana"); + + // Difference between the histograms. + + TCanvas *c2 = new TCanvas("c2", "Hcal Y differences", 1000, 667); + + TH1F* dif = h->Clone(); + + dif->Add(h,h1,1.,-1.); + + dif->SetTitle("Y Difference"); + dif->SetFillColor(kRed); + dif->SetLineColor(kRed); + dif->SetLineWidth(1); + dif->SetFillStyle(1111); + dif->Draw(); +} diff --git a/examples/db_run.dat b/examples/db_run.dat new file mode 100755 index 0000000000000000000000000000000000000000..6dd115d7003b81a3ee817f4971d289288c794397 --- /dev/null +++ b/examples/db_run.dat @@ -0,0 +1,7 @@ +# Test run database + +# DAQ04 +--------[ 2000-01-01 01:00:00 ] + +#A1 2202 pedestal +ebeam = 4.02187 diff --git a/examples/dcdriftdist_hms.C b/examples/dcdriftdist_hms.C new file mode 100644 index 0000000000000000000000000000000000000000..ca6023ec9fee30e60634411b5f0813e6098bb1a2 --- /dev/null +++ b/examples/dcdriftdist_hms.C @@ -0,0 +1,31 @@ + { + TFile* f = new TFile("hodtest.root"); + + TCanvas *c1 = new TCanvas("c1", "Drift Chamber Drift Distance", 800, 800); + c1->Divide(2, 6); + + TH1F* h[12]; + + h[0] = hdc1x1_dd; + h[1] = hdc1y1_dd; + h[2] = hdc1u1_dd; + h[3] = hdc1v1_dd; + h[4] = hdc1y2_dd; + h[5] = hdc1x2_dd; + h[6] = hdc2x1_dd; + h[7] = hdc2y1_dd; + h[8] = hdc2u1_dd; + h[9] = hdc2v1_dd; + h[10] = hdc2y2_dd; + h[11] = hdc2x2_dd; + + for(Int_t ih=0;ih<12;ih++) { + Int_t ipad = 2*(ih%6)+1 + ih/6; + cout << ipad << endl; + c1->cd(ipad); + h[ih]->SetFillColor(kBlue); + h[ih]->SetFillStyle(3354); + h[ih]->Draw(); + } + +} diff --git a/examples/dcdriftdist_sos.C b/examples/dcdriftdist_sos.C new file mode 100644 index 0000000000000000000000000000000000000000..935be5a2a2b7a994a18f4ac98e37ca229b95c29b --- /dev/null +++ b/examples/dcdriftdist_sos.C @@ -0,0 +1,31 @@ + { + TFile* f = new TFile("hodtest.root"); + + TCanvas *c1 = new TCanvas("c1", "Drift Chamber Drift Distance", 800, 800); + c1->Divide(2, 6); + + TH1F* h[12]; + + h[0] = sdc1u1_dd; + h[1] = sdc1u2_dd; + h[2] = sdc1x1_dd; + h[3] = sdc1x2_dd; + h[4] = sdc1v1_dd; + h[5] = sdc1v2_dd; + h[6] = sdc2u1_dd; + h[7] = sdc2u2_dd; + h[8] = sdc2x1_dd; + h[9] = sdc2x2_dd; + h[10] = sdc2v1_dd; + h[11] = sdc2v2_dd; + + for(Int_t ih=0;ih<12;ih++) { + Int_t ipad = 2*(ih%6)+1 + ih/6; + cout << ipad << endl; + c1->cd(ipad); + h[ih]->SetFillColor(kBlue); + h[ih]->SetFillStyle(3354); + h[ih]->Draw(); + } + +} diff --git a/examples/dchitmaps_hms.C b/examples/dchitmaps_hms.C new file mode 100644 index 0000000000000000000000000000000000000000..c3285011bf6757949179aeef7fe5b88a34aedaa2 --- /dev/null +++ b/examples/dchitmaps_hms.C @@ -0,0 +1,31 @@ + { + TFile* f = new TFile("hodtest.root"); + + TCanvas *c1 = new TCanvas("c1", "Drift Chamber Hit Maps", 800, 800); + c1->Divide(2, 6); + + TH1F* h[12]; + + h[0] = hdc1x1_wm; + h[1] = hdc1y1_wm; + h[2] = hdc1u1_wm; + h[3] = hdc1v1_wm; + h[4] = hdc1y2_wm; + h[5] = hdc1x2_wm; + h[6] = hdc2x1_wm; + h[7] = hdc2y1_wm; + h[8] = hdc2u1_wm; + h[9] = hdc2v1_wm; + h[10] = hdc2y2_wm; + h[11] = hdc2x2_wm; + + for(Int_t ih=0;ih<12;ih++) { + Int_t ipad = 2*(ih%6)+1 + ih/6; + cout << ipad << endl; + c1->cd(ipad); + h[ih]->SetFillColor(kBlue); + h[ih]->SetFillStyle(3354); + h[ih]->Draw(); + } + +} diff --git a/examples/dchitmaps_sos.C b/examples/dchitmaps_sos.C new file mode 100644 index 0000000000000000000000000000000000000000..ec7a1d0a8f42caef9bc2444767ca2a6de606f32a --- /dev/null +++ b/examples/dchitmaps_sos.C @@ -0,0 +1,31 @@ + { + TFile* f = new TFile("hodtest.root"); + + TCanvas *c1 = new TCanvas("c1", "Drift Chamber Hit Maps", 800, 800); + c1->Divide(2, 6); + + TH1F* h[12]; + + h[0] = sdc1u1_wm; + h[1] = sdc1u2_wm; + h[2] = sdc1x1_wm; + h[3] = sdc1x2_wm; + h[4] = sdc1v1_wm; + h[5] = sdc1v2_wm; + h[6] = sdc2u1_wm; + h[7] = sdc2u2_wm; + h[8] = sdc2x1_wm; + h[9] = sdc2x2_wm; + h[10] = sdc2v1_wm; + h[11] = sdc2v2_wm; + + for(Int_t ih=0;ih<12;ih++) { + Int_t ipad = 2*(ih%6)+1 + ih/6; + cout << ipad << endl; + c1->cd(ipad); + h[ih]->SetFillColor(kBlue); + h[ih]->SetFillStyle(3354); + h[ih]->Draw(); + } + +} diff --git a/examples/dcresiduals_hms.C b/examples/dcresiduals_hms.C new file mode 100644 index 0000000000000000000000000000000000000000..ae860206ec6c0966c2429f67c1108094c0a2536b --- /dev/null +++ b/examples/dcresiduals_hms.C @@ -0,0 +1,34 @@ +{ + TFile* f = new TFile("hodtest.root"); + TTree *T=(TTree*)f->Get("T"); + TCanvas *c1 = new TCanvas("c1", "Drift Chamber Residuals", 800, 1000); + c1->Divide(2,6); + + TH1F* h=new TH1F("h", "Residual", 100, -1.0, 1.0); + + c1->cd(1); + T->Draw("H.dc.residual[0]","H.dc.residual[0] < 999"); + c1->cd(2); + T->Draw("H.dc.residual[1]","H.dc.residual[1] < 999"); + c1->cd(3); + T->Draw("H.dc.residual[2]","H.dc.residual[2] < 999"); + c1->cd(4); + T->Draw("H.dc.residual[3]","H.dc.residual[3] < 999"); + c1->cd(5); + T->Draw("H.dc.residual[4]","H.dc.residual[4] < 999"); + c1->cd(6); + T->Draw("H.dc.residual[5]","H.dc.residual[5] < 999"); + c1->cd(7); + T->Draw("H.dc.residual[6]","H.dc.residual[6] < 999"); + c1->cd(8); + T->Draw("H.dc.residual[7]","H.dc.residual[7] < 999"); + c1->cd(9); + T->Draw("H.dc.residual[8]","H.dc.residual[8] < 999"); + c1->cd(10); + T->Draw("H.dc.residual[9]","H.dc.residual[9] < 999"); + c1->cd(11); + T->Draw("H.dc.residual[10]","H.dc.residual[10] < 999"); + c1->cd(12); + T->Draw("H.dc.residual[11]","H.dc.residual[11] < 999"); + delete h; +} diff --git a/examples/dcresiduals_sos.C b/examples/dcresiduals_sos.C new file mode 100644 index 0000000000000000000000000000000000000000..cf2dd5afd2d4d93751bbfa4046c992a1d8b39ef1 --- /dev/null +++ b/examples/dcresiduals_sos.C @@ -0,0 +1,34 @@ +{ + TFile* f = new TFile("hodtest.root"); + TTree *T=(TTree*)f->Get("T"); + TCanvas *c1 = new TCanvas("c1", "Drift Chamber Residuals", 800, 1000); + c1->Divide(2,6); + + TH1F* h=new TH1F("h", "Residual", 100, -1.0, 1.0); + + c1->cd(1); + T->Draw("S.dc.residual[0]","S.dc.residual[0] < 999"); + c1->cd(2); + T->Draw("S.dc.residual[1]","S.dc.residual[1] < 999"); + c1->cd(3); + T->Draw("S.dc.residual[2]","S.dc.residual[2] < 999"); + c1->cd(4); + T->Draw("S.dc.residual[3]","S.dc.residual[3] < 999"); + c1->cd(5); + T->Draw("S.dc.residual[4]","S.dc.residual[4] < 999"); + c1->cd(6); + T->Draw("S.dc.residual[5]","S.dc.residual[5] < 999"); + c1->cd(7); + T->Draw("S.dc.residual[6]","S.dc.residual[6] < 999"); + c1->cd(8); + T->Draw("S.dc.residual[7]","S.dc.residual[7] < 999"); + c1->cd(9); + T->Draw("S.dc.residual[8]","S.dc.residual[8] < 999"); + c1->cd(10); + T->Draw("S.dc.residual[9]","S.dc.residual[9] < 999"); + c1->cd(11); + T->Draw("S.dc.residual[10]","S.dc.residual[10] < 999"); + c1->cd(12); + T->Draw("S.dc.residual[11]","S.dc.residual[11] < 999"); + delete h; +} diff --git a/examples/dctracking.C b/examples/dctracking.C new file mode 100644 index 0000000000000000000000000000000000000000..30f728e1caa5dcced54b2f52f92677c775f8d238 --- /dev/null +++ b/examples/dctracking.C @@ -0,0 +1,19 @@ +{ + TFile* f = new TFile("hodtest.root"); + TTree *T=(TTree*)f->Get("T"); + TCanvas *c1 = new TCanvas("c1", "Drift Tracking", 800, 1000); + c1->Divide(2,3); + + c1->cd(1); + T->Draw("H.dc.nhit"); + c1->cd(2); + T->Draw("H.dc.ntrack"); + c1->cd(3); + T->Draw("H.dc.x:H.dc.y>>h(,-20,20,,-50,50)"); + c1->cd(4); + T->Draw("H.dc.x:H.dc.xp>>h(,-0.08,0.08,,-50,50"); + c1->cd(5); + T->Draw("H.dc.y:H.dc.yp>>h(,-0.08,0.08,,-20,20"); + c1->cd(6); + T->Draw("H.dc.xp:H.dc.yp>>h(,-0.08,0.08,,-0.08,0.08"); +} diff --git a/examples/hitmaps_hms.C b/examples/hitmaps_hms.C new file mode 100644 index 0000000000000000000000000000000000000000..0874bc38ec8b21fcb094fde17b4fdebe3eee160d --- /dev/null +++ b/examples/hitmaps_hms.C @@ -0,0 +1,39 @@ +{ + TFile* f = new TFile("hodtest.root"); + + TCanvas *c1 = new TCanvas("c1", "Scintillator Hit Maps", 800, 800); + c1->Divide(2, 4); + + TH1F* h[16]; + + h[0] = hpostdc1; + h[1] = hnegtdc1; + h[4] = hpostdc2; + h[5] = hnegtdc2; + h[8] = hpostdc3; + h[9] = hnegtdc3; + h[12] = hpostdc4; + h[13] = hnegtdc4; + + h[2] = hposadc1; + h[3] = hnegadc1; + h[6] = hposadc2; + h[7] = hnegadc2; + h[10] = hposadc3; + h[11] = hnegadc3; + h[14] = hposadc4; + h[15] = hnegadc4; + + for(Int_t ipad=1;ipad<=8;ipad++) { + TPad *pt = c1->cd(ipad); + Int_t ihp = 2*(ipad-1); + Int_t ihn = ihp+1; + h[ihp]->SetFillColor(kGreen); + h[ihp]->SetFillStyle(3345); + h[ihp]->Draw(); + h[ihn]->SetFillColor(kBlue); + h[ihn]->SetFillStyle(3354); + h[ihn]->Draw("same"); + } + +} diff --git a/examples/hitmaps_sos.C b/examples/hitmaps_sos.C new file mode 100644 index 0000000000000000000000000000000000000000..2e7f220bbfd77141423f860348b00a76bcd0da21 --- /dev/null +++ b/examples/hitmaps_sos.C @@ -0,0 +1,39 @@ +{ + TFile* f = new TFile("hodtest.root"); + + TCanvas *c1 = new TCanvas("c1", "SOS Scintillator Hit Maps", 800, 800); + c1->Divide(2, 4); + + TH1F* h[16]; + + h[0] = spostdc1; + h[1] = snegtdc1; + h[4] = spostdc2; + h[5] = snegtdc2; + h[8] = spostdc3; + h[9] = snegtdc3; + h[12] = spostdc4; + h[13] = snegtdc4; + + h[2] = sposadc1; + h[3] = snegadc1; + h[6] = sposadc2; + h[7] = snegadc2; + h[10] = sposadc3; + h[11] = snegadc3; + h[14] = sposadc4; + h[15] = snegadc4; + + for(Int_t ipad=1;ipad<=8;ipad++) { + TPad *pt = c1->cd(ipad); + Int_t ihp = 2*(ipad-1); + Int_t ihn = ihp+1; + h[ihp]->SetFillColor(kGreen); + h[ihp]->SetFillStyle(3345); + h[ihp]->Draw(); + h[ihn]->SetFillColor(kBlue); + h[ihn]->SetFillStyle(3354); + h[ihn]->Draw("same"); + } + +} diff --git a/examples/hodtest.C b/examples/hodtest.C new file mode 100644 index 0000000000000000000000000000000000000000..9a09d917c57cc757ae4bf717e62b81826ac6d5bb --- /dev/null +++ b/examples/hodtest.C @@ -0,0 +1,90 @@ + +{ + + // + // Steering script to test hodoscope decoding + // + + Int_t RunNumber=50017; + char* RunFileNamePattern="daq04_%d.log.0"; + + gHcParms->Define("gen_run_number", "Run Number", RunNumber); + gHcParms->AddString("g_ctp_database_filename", "DBASE/test.database"); + + 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_parm_filename")); + + // Constants not in ENGINE PARAM files that we want to be + // configurable + gHcParms->Load("PARAM/hcana.param"); + + // Generate db_cratemap to correspond to map file contents + char command[100]; + sprintf(command,"./make_cratemap.pl < %s > db_cratemap.dat",gHcParms->GetString("g_decode_map_filename")); + system(command); + + // Load the Hall C style detector map + gHcDetectorMap=new THcDetectorMap(); + gHcDetectorMap->Load(gHcParms->GetString("g_decode_map_filename")); + + // Set up the equipment to be analyzed. + + THaApparatus* HMS = new THcHallCSpectrometer("H","HMS"); + gHaApps->Add( HMS ); + + // Add hodoscope + HMS->AddDetector( new THcHodoscope("hod", "Hodoscope" )); + HMS->AddDetector( new THcShower("cal", "Shower" )); + HMS->AddDetector( new THcDC("dc", "Drift Chambers" )); + THcAerogel* aerogel = new THcAerogel("aero", "Aerogel Cerenkov" ); + HMS->AddDetector( aerogel ); + THcCherenkov* cherenkov = new THcCherenkov("cher", "Gas Cerenkov" ); + HMS->AddDetector( cherenkov ); + + THaApparatus* SOS = new THcHallCSpectrometer("S","SOS"); + gHaApps->Add( SOS ); + // Add detectors + SOS->AddDetector( new THcHodoscope("hod", "Hodoscope" )); + SOS->AddDetector( new THcShower("cal", "Shower" )); + SOS->AddDetector( new THcDC("dc", "Drift Chambers" )); + + // 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); + + // Eventually need to learn to skip over, or properly analyze + // the pedestal events + run->SetEventRange(1,100000);// Physics Event number, does not + // include scaler or control events + + // Define the analysis parameters + analyzer->SetEvent( event ); + analyzer->SetOutFile( "hodtest.root" ); + analyzer->SetOdefFile("output.def"); + analyzer->SetCutFile("hodtest_cuts.def"); // optional + analyzer->SetCountMode(2);// Counter event number same as gen_event_ID_number + + // File to record cuts accounting information + // analyzer->SetSummaryFile("summary_example.log"); // optional + + analyzer->Process(run); // start the actual analysis + analyzer->PrintReport("report.template","report.out"); +} diff --git a/examples/hodtest_ccdb.C b/examples/hodtest_ccdb.C new file mode 100644 index 0000000000000000000000000000000000000000..9b36440178b339fdc07c8eaf434be406c14ebbd7 --- /dev/null +++ b/examples/hodtest_ccdb.C @@ -0,0 +1,90 @@ + +{ + + // + // Steering script to test hodoscope decoding + // + + Int_t RunNumber=50017; + char* RunFileNamePattern="daq04_%d.log.0"; + + // Load parameters from CCDB + + gHcParms->OpenCCDB(RunNumber); + gHcParms->LoadCCDBDirectory("hms","h"); + gHcParms->LoadCCDBDirectory("sos","s"); + gHcParms->LoadCCDBDirectory("gen","g"); + + // Get these legacy things from the Run database + gHcParms->Define("gen_run_number", "Run Number", RunNumber); + gHcParms->AddString("g_ctp_database_filename", "DBASE/test.database"); + gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); + + + // Generate db_cratemap to correspond to map file contents + char command[100]; + sprintf(command,"./make_cratemap.pl < %s > db_cratemap.dat",gHcParms->GetString("g_decode_map_filename")); + system(command); + + // Load the Hall C style detector map + gHcDetectorMap=new THcDetectorMap(); + gHcDetectorMap->Load(gHcParms->GetString("g_decode_map_filename")); + + // Set up the equipment to be analyzed. + + THaApparatus* HMS = new THcHallCSpectrometer("H","HMS"); + gHaApps->Add( HMS ); + + // Add hodoscope + HMS->AddDetector( new THcHodoscope("hod", "Hodoscope" )); + HMS->AddDetector( new THcShower("cal", "Shower" )); + HMS->AddDetector( new THcDC("dc", "Drift Chambers" )); + THcAerogel* aerogel = new THcAerogel("aero", "Aerogel Cerenkov" ); + HMS->AddDetector( aerogel ); + THcCherenkov* cherenkov = new THcCherenkov("cher", "Gas Cerenkov" ); + HMS->AddDetector( cherenkov ); + + THaApparatus* SOS = new THcHallCSpectrometer("S","SOS"); + gHaApps->Add( SOS ); + // Add detectors + SOS->AddDetector( new THcHodoscope("hod", "Hodoscope" )); + SOS->AddDetector( new THcShower("cal", "Shower" )); + SOS->AddDetector( new THcDC("dc", "Drift Chambers" )); + + // 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); + + // Eventually need to learn to skip over, or properly analyze + // the pedestal events + run->SetEventRange(1,100000);// Physics Event number, does not + // include scaler or control events + + // Define the analysis parameters + analyzer->SetEvent( event ); + analyzer->SetOutFile( "hodtest.root" ); + analyzer->SetOdefFile("output.def"); + analyzer->SetCutFile("hodtest_cuts.def"); // optional + analyzer->SetCountMode(2);// Counter event number same as gen_event_ID_number + + // File to record cuts accounting information + // analyzer->SetSummaryFile("summary_example.log"); // optional + + analyzer->Process(run); // start the actual analysis + analyzer->PrintReport("report.template","report.out"); +} diff --git a/examples/hodtest_cuts.def b/examples/hodtest_cuts.def new file mode 100644 index 0000000000000000000000000000000000000000..255592e95c06a2345d8b91dbe5f46c8a6a3b97fd --- /dev/null +++ b/examples/hodtest_cuts.def @@ -0,0 +1,99 @@ +# Demo cuts for hodtest +# + +Block: RawDecode +RawDecode_master 1 +Pedestal_event g.evtyp==4 + +Block: Decode +Decode_master !Pedestal_event + +Block: CoarseProcess +hmstotchernpe H.cher.npesum > -1.0 + +Block: FineProcess +hmsscinshould H.hod.goodscinhit == 1 +hmstotscinshould (H.hod.goodscinhit == 1) && (H.cher.npesum > 2.0) + +Block: CoarseTracking + +hfoundtrack H.dc.ntrack != 0 +hfound1track H.dc.ntrack == 1 +hfound2track H.dc.ntrack == 2 +hfound3track H.dc.ntrack == 3 +hfound4track H.dc.ntrack == 4 + +goodhdc1x1 (H.dc.1x1.nhit > 0) && (H.dc.1x1.nhit < 3) +goodhdc1y1 (H.dc.1y1.nhit > 0) && (H.dc.1y1.nhit < 3) +goodhdc1u1 (H.dc.1u1.nhit > 0) && (H.dc.1u1.nhit < 3) +goodhdc1v1 (H.dc.1v1.nhit > 0) && (H.dc.1v1.nhit < 3) +goodhdc1y2 (H.dc.1y2.nhit > 0) && (H.dc.1y2.nhit < 3) +goodhdc1x2 (H.dc.1x2.nhit > 0) && (H.dc.1x2.nhit < 3) + +goodhdc2x1 (H.dc.2x1.nhit > 0) && (H.dc.2x1.nhit < 3) +goodhdc2y1 (H.dc.2y1.nhit > 0) && (H.dc.2y1.nhit < 3) +goodhdc2u1 (H.dc.2u1.nhit > 0) && (H.dc.2u1.nhit < 3) +goodhdc2v1 (H.dc.2v1.nhit > 0) && (H.dc.2v1.nhit < 3) +goodhdc2y2 (H.dc.2y2.nhit > 0) && (H.dc.2y2.nhit < 3) +goodhdc2x2 (H.dc.2x2.nhit > 0) && (H.dc.2x2.nhit < 3) + +goodhdc1 goodhdc1x1 && goodhdc1y1 && goodhdc1u1 && goodhdc1v1 && goodhdc1y2 && goodhdc1x2 +goodhdc2 goodhdc2x1 && goodhdc2y1 && goodhdc2u1 && goodhdc2v1 && goodhdc2y2 && goodhdc2x2 +bothgoodhdc goodhdc1 && goodhdc2 + +sfoundtrack S.dc.ntrack != 0 +sfound1track S.dc.ntrack == 1 +sfound2track S.dc.ntrack == 2 +sfound3track S.dc.ntrack == 3 +sfound4track S.dc.ntrack == 4 + +goodsdc1u1 (S.dc.1u1.nhit > 0) && (S.dc.1u1.nhit < 3) +goodsdc1u2 (S.dc.1u2.nhit > 0) && (S.dc.1u2.nhit < 3) +goodsdc1x1 (S.dc.1x1.nhit > 0) && (S.dc.1x1.nhit < 3) +goodsdc1x2 (S.dc.1x2.nhit > 0) && (S.dc.1x2.nhit < 3) +goodsdc1v1 (S.dc.1v1.nhit > 0) && (S.dc.1v1.nhit < 3) +goodsdc1v2 (S.dc.1v2.nhit > 0) && (S.dc.1v2.nhit < 3) + +goodsdc2u1 (S.dc.2u1.nhit > 0) && (S.dc.2u1.nhit < 3) +goodsdc2u2 (S.dc.2u2.nhit > 0) && (S.dc.2u2.nhit < 3) +goodsdc2x1 (S.dc.2x1.nhit > 0) && (S.dc.2x1.nhit < 3) +goodsdc2x2 (S.dc.2x2.nhit > 0) && (S.dc.2x2.nhit < 3) +goodsdc2v1 (S.dc.2v1.nhit > 0) && (S.dc.2v1.nhit < 3) +goodsdc2v2 (S.dc.2v2.nhit > 0) && (S.dc.2v2.nhit < 3) + +goodsdc1 goodsdc1u1 && goodsdc1u2 && goodsdc1x1 && goodsdc1x2 && goodsdc1v1 && goodsdc1v2 +goodsdc2 goodsdc2u1 && goodsdc2u2 && goodsdc2x1 && goodsdc2x2 && goodsdc2v1 && goodsdc2v2 +bothgoodsdc goodsdc1 && goodsdc2 + +realhdc1x1 goodhdc1x1 && (H.dc.nsp != 0) +realhdc1y1 goodhdc1y1 && (H.dc.nsp != 0) +realhdc1u1 goodhdc1u1 && (H.dc.nsp != 0) +realhdc1v1 goodhdc1v1 && (H.dc.nsp != 0) +realhdc1y2 goodhdc1y2 && (H.dc.nsp != 0) +realhdc1x2 goodhdc1x2 && (H.dc.nsp != 0) +realhdc2x1 goodhdc2x1 && (H.dc.nsp != 0) +realhdc2y1 goodhdc2y1 && (H.dc.nsp != 0) +realhdc2u1 goodhdc2u1 && (H.dc.nsp != 0) +realhdc2v1 goodhdc2v1 && (H.dc.nsp != 0) +realhdc2y2 goodhdc2y2 && (H.dc.nsp != 0) +realhdc2x2 goodhdc2x2 && (H.dc.nsp != 0) + +#hlowchi2 (hschi2perdeg<10) && hcleantrack + +hlowchi2 1 + +hdcres_1 (H.dc.residual[0] < 1000) && hlowchi2 +hdcres_2 (H.dc.residual[1] < 1000) && hlowchi2 +hdcres_3 (H.dc.residual[2] < 1000) && hlowchi2 +hdcres_4 (H.dc.residual[3] < 1000) && hlowchi2 +hdcres_5 (H.dc.residual[4] < 1000) && hlowchi2 +hdcres_6 (H.dc.residual[5] < 1000) && hlowchi2 +hdcres_7 (H.dc.residual[6] < 1000) && hlowchi2 +hdcres_8 (H.dc.residual[7] < 1000) && hlowchi2 +hdcres_9 (H.dc.residual[8] < 1000) && hlowchi2 +hdcres_10 (H.dc.residual[9] < 1000) && hlowchi2 +hdcres_11 (H.dc.residual[10] < 1000) && hlowchi2 +hdcres_12 (H.dc.residual[11] < 1000) && hlowchi2 + +Block: CoarseReconstruct +CourseReconstruct 1 diff --git a/examples/hodtest_cuts_mkj.def b/examples/hodtest_cuts_mkj.def new file mode 100644 index 0000000000000000000000000000000000000000..19317cdacfeb36ecf620058e9d341c9c952ffed8 --- /dev/null +++ b/examples/hodtest_cuts_mkj.def @@ -0,0 +1,22 @@ +# Demo cuts for hodtest +# + +Block: RawDecode + +Pedestal_event g.evtyp==4 +scalar_event g.evtyp==0 +HMS_event g.evtyp==1 +SOS_event g.evtyp==2 +coin_event g.evtyp==3 +misc_event g.evtyp>=5 +hms_and_coin HMS_event||coin_event +RawDecode_master 1 + +Block: Decode +Decode_master hms_and_coin + +Block: CoarseTracking +CoarseTracking_master !Pedestal_event + +Block: CoarseReconstruct +RawCoarseReconstruct !Pedestal_event diff --git a/examples/hodtest_mkj.C b/examples/hodtest_mkj.C new file mode 100644 index 0000000000000000000000000000000000000000..08b194d35ec1a43d2c0d6cc7dc4d633618da5c60 --- /dev/null +++ b/examples/hodtest_mkj.C @@ -0,0 +1,87 @@ +void hodtest_mkj(Int_t RunNumber=50017, Int_t MaxEventToReplay=5000, + Int_t StartEvent=1) { + + // + // Steering script to test hodoscope decoding + // + + if (RunNumber == 50017) { + char* RunFileNamePattern="daq04_%d.log.0"; + } else { + // char* RunFileNamePattern="/cache/mss/hallc/daq04/raw/daq04_%d.log.0"; + char* RunFileNamePattern="daq04_%d.log.0"; + } + gHcParms->Define("gen_run_number", "Run Number", RunNumber); + gHcParms->AddString("g_ctp_database_filename", "DBASE/test.database"); + + 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_parm_filename")); + + // Constants not in ENGINE PARAM files that we want to be + // configurable + gHcParms->Load("PARAM/hcana.param"); + + // Generate db_cratemap to correspond to map file contents + char command[100]; + sprintf(command,"./make_cratemap.pl < %s > db_cratemap.dat",gHcParms->GetString("g_decode_map_filename")); + system(command); + + // Load the Hall C style detector map + gHcDetectorMap=new THcDetectorMap(); + gHcDetectorMap->Load(gHcParms->GetString("g_decode_map_filename")); + + // Set up the equipment to be analyzed. + + THaApparatus* HMS = new THcHallCSpectrometer("H","HMS"); + gHaApps->Add( HMS ); + + // Add hodoscope + HMS->AddDetector( new THcHodoscope("hod", "Hodoscope" )); + HMS->AddDetector( new THcShower("cal", "Shower" )); + HMS->AddDetector( new THcDC("dc", "Drift Chambers" )); + THcAerogel* aerogel = new THcAerogel("aero", "Aerogel Cerenkov" ); + HMS->AddDetector( aerogel ); + + // Add Golden Track + gHaPhysics->Add( new THaGoldenTrack( "H.gold", "HMS Golden Track", "H" )); + + // 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. + THaAnalyzer* 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); + + // Eventually need to learn to skip over, or properly analyze + // the pedestal events + run->SetEventRange(StartEvent,MaxEventToReplay);// Physics Event number, + // does not include scaler or control events + + // Define the analysis parameters + analyzer->SetCountMode( 0 ); //Mark's modification + analyzer->SetEvent( event ); + analyzer->SetOutFile(Form("hodtest_%05d.root",RunNumber)); + analyzer->SetOdefFile(Form("output_%d.def",RunNumber)); + analyzer->SetCutFile("hodtest_cuts_mkj.def"); // optional + + // File to record cuts accounting information + // analyzer->SetSummaryFile("summary_example.log"); // optional + + analyzer->Process(run); // start the actual analysis +} diff --git a/examples/make_cratemap.pl b/examples/make_cratemap.pl new file mode 100755 index 0000000000000000000000000000000000000000..7c3fc42dfe06b996d2fc8b691319b9f4859eeab1 --- /dev/null +++ b/examples/make_cratemap.pl @@ -0,0 +1,71 @@ +#!/usr/bin/perl + +# Read a Hall C style MAP file and output a +# Hall A style crate map DB file. +# +# 22.03.2012 (saw) +# 11.04.2014 (saw) Perl cleanup + +%crates=(); + +$crate = 0; +$nsubadd = 0; +$bsub = 0; +$modtype = 0; +$slot = 0; +while(<>) { + chomp($line=$_); + if($line=~/^\s*ROC=\s*(\d*)/i) { + $i++; + $crate = $1; + if(not $crates{$crate}) { + $slotlist={}; + $crates{$crate} = $slotlist; + } + $modtype = 0; + $slot = 0; + } elsif ($line=~/^\s*nsubadd=\s*(\d*)/i) { + $nsubadd = $1; + $modtype = 0; + } elsif ($line=~/^\s*bsub=\s*(\d*)/i) { + $bsub = $1; + $modtype = 0; + } elsif ($line=~/^\s*slot=\s*(\d*)/i) { + $slot = $1; + $modtype = 0; + } elsif ($line=~/^\s*(\d*)\s*,\s*(\d*)\s*,\s*(\d*)/) { + if($modtype == 0) { # Slot not yet registered + if($nsubadd == 96) { + $modtype = 1877; + } elsif($nsubadd == 64) { + if($bsub == 16) { + $modtype = 1875; + } elsif($bsub == 17) { + $modtype = 1881; + } + } + if($modtype == 0) { + print "Unknown module Crate $crate, Slot $slot\n"; + } + $crates{$crate}{$slot} = $modtype; + # print "$crate $slot $modtype\n"; + } + } +} +print "# Hall C Crate map\n"; +foreach $crate (sort {$a <=> $b} keys %crates) { + print "==== Crate $crate type fastbus\n"; + print "# slot model clear header mask nchan ndata\n"; + foreach $slot (sort {$a <=> $b} keys %{ $crates{$crate}}) { + $modtype = $crates{$crate}{$slot}; + if($modtype == 1877) { + $ndata = 256; + } else { + $ndata = 64; + } + printf " %2d %d 1 0x0 0x0 %3d %d\n" + ,$slot,$modtype,$nsubadd, $ndata; + } +} + + diff --git a/examples/mapedit_rasterbcm.pl b/examples/mapedit_rasterbcm.pl new file mode 100644 index 0000000000000000000000000000000000000000..f83b00ed30d187bc7e96606d58b6694f5b8867c5 --- /dev/null +++ b/examples/mapedit_rasterbcm.pl @@ -0,0 +1,154 @@ +#!/usr/bin/perl + +# Rewrite a Hall C style MAP file so that the Raster and BPM +# are separate detector types instead of being part of the +# MISC detector +# +# 08.04.2014 (saw) Modify just raster entries for now + +use POSIX qw(strftime); + +$RASTERID=18; +$BCMID=19; +$SWAPRASTERXY=1; + +$thedate = strftime( '%b %e, %Y', localtime ); + +$ifile = $ARGV[0]; +$ofile = $ARGV[1]; + +open(IFILE,"<$ifile"); +open(OFILE,">$ofile"); + +print OFILE "! $ofile Automatically generated $thedate\n"; +print OFILE "! from $ifile by $0\n"; + +# Insert comments defining the raster and BCM detector IDS +$ininiddefs=0; +while(<IFILE>) { + chomp; + $line = $_; + if($line=~/_ID/) { + $iniddefs=1; + } elsif ($iniddefs) { + if(not $line=~/_ID/ and not $line=~/:/) { + print OFILE "! RASTER_ID=$RASTERID ADC\n"; + print OFILE "! BCM_ID=$RASTERID ADC\n"; + print OFILE "$line\n"; + last; + } + } + print OFILE "$line\n"; +} + +# Copy the rest of the file, looking for the specific channels to +# edit +$detector=0; +while(<IFILE>) { + chomp; + $line = $_; + + if($line=~/^\s*DETECTOR=\s*(\d*)/i) { + $detector=$1; + print "$detector\n"; + print OFILE "$line\n"; + } elsif ($line=~/^\s*(\d*)\s*,\s*(\d*)\s*,\s*(\d*),\s*(\d*)\s*(.*)/) { + $comment = $5; + $channel = $1; + $plane = $2; + $element = $3; + $signal = $4; + if($comment=~"Fast Raster") { + $signal = -1; + if($comment=~"X-sync") { + $signal = 0; + } elsif ($comment=~"X-signal") { + $signal = 1; + } elsif ($comment=~"Y-sync") { + $signal = 2; + } elsif ($comment=~"Y-signal") { + $signal = 3; + } + if($signal>=0) { + if ($SWAPRASTERXY) { + $signal = ($signal+2) % 4; + } + print OFILE "detector=$RASTERID ! RASTER\n"; + print OFILE "!$line\n"; + print OFILE "$channel, 1, 1, $signal $comment\n"; + print OFILE "detector=$detector ! RASTER\n"; + } else { + print OFILE "$line\n"; + } + } else { + print OFILE "$line\n"; + } + } else { + print OFILE "$line\n"; + } +} +exit; + +%crates=(); + +$crate = 0; +$nsubadd = 0; +$bsub = 0; +$modtype = 0; +$slot = 0; +while(<>) { + $line=chomp; + if($line=/^\s*ROC=\s*(\d*)/i) { + $i++; + $crate = $1; + if(not $crates{$crate}) { + $slotlist={}; + $crates{$crate} = $slotlist; + } + $modtype = 0; + $slot = 0; + } elsif ($line=/^\s*nsubadd=\s*(\d*)/i) { + $nsubadd = $1; + $modtype = 0; + } elsif ($line=/^\s*bsub=\s*(\d*)/i) { + $bsub = $1; + $modtype = 0; + } elsif ($line=/^\s*slot=\s*(\d*)/i) { + $slot = $1; + $modtype = 0; + } elsif ($line=/^\s*(\d*)\s*,\s*(\d*)\s*,\s*(\d*)/) { + if($modtype == 0) { # Slot not yet registered + if($nsubadd == 96) { + $modtype = 1877; + } elsif($nsubadd == 64) { + if($bsub == 16) { + $modtype = 1875; + } elsif($bsub == 17) { + $modtype = 1881; + } + } + if($modtype == 0) { + print "Unknown module Crate $crate, Slot $slot\n"; + } + $crates{$crate}{$slot} = $modtype; + # print "$crate $slot $modtype\n"; + } + } +} +print "# Hall C Crate map\n"; +foreach $crate (sort {$a <=> $b} keys %crates) { + print "==== Crate $crate type fastbus\n"; + print "# slot model clear header mask nchan ndata\n"; + foreach $slot (sort {$a <=> $b} keys %{ $crates{$crate}}) { + $modtype = $crates{$crate}{$slot}; + if($modtype == 1877) { + $ndata = 256; + } else { + $ndata = 64; + } + printf " %2d %d 1 0x0 0x0 %3d %d\n" + ,$slot,$modtype,$nsubadd, $ndata; + } +} + + diff --git a/examples/output.def b/examples/output.def new file mode 100644 index 0000000000000000000000000000000000000000..d122a5aa86ad82d5d5d1e6efdfaeebaaf64fc69f --- /dev/null +++ b/examples/output.def @@ -0,0 +1,238 @@ +# See $ANALYZER/examples/output_example.def for examples +# +block H.dc.* +block H.hod.* +block H.cal.* +block H.aero.* +block H.cher.* +block H.tr.* +block S.dc.* +block S.hod.* +block S.cal.* +block g.evtyp + +# TDC hits per paddle +TH1F hpostdc1 'HMS s1x+ TDC hits' H.hod.1x.postdchits 16 0.5 16.5 +TH1F hnegtdc1 'HMS s1x- TDC hits' H.hod.1x.negtdchits 16 0.5 16.5 +TH1F hpostdc2 'HMS s1y+ TDC hits' H.hod.1y.postdchits 10 0.5 10.5 +TH1F hnegtdc2 'HMS s1y- TDC hits' H.hod.1y.negtdchits 10 0.5 10.5 +TH1F hpostdc3 'HMS s2x+ TDC hits' H.hod.2x.postdchits 16 0.5 16.5 +TH1F hnegtdc3 'HMS s2x- TDC hits' H.hod.2x.negtdchits 16 0.5 16.5 +TH1F hpostdc4 'HMS s2y+ TDC hits' H.hod.2y.postdchits 10 0.5 10.5 +TH1F hnegtdc4 'HMS s2y- TDC hits' H.hod.2y.negtdchits 10 0.5 10.5 + +# ADC hits per paddle +TH1F hposadc1 'HMS s1x+ ADC hits' H.hod.1x.posadchits 16 0.5 16.5 +TH1F hnegadc1 'HMS s1x- ADC hits' H.hod.1x.negadchits 16 0.5 16.5 +TH1F hposadc2 'HMS s1y+ ADC hits' H.hod.1y.posadchits 10 0.5 10.5 +TH1F hnegadc2 'HMS s1y- ADC hits' H.hod.1y.negadchits 10 0.5 10.5 +TH1F hposadc3 'HMS s2x+ ADC hits' H.hod.2x.posadchits 16 0.5 16.5 +TH1F hnegadc3 'HMS s2x- ADC hits' H.hod.2x.negadchits 16 0.5 16.5 +TH1F hposadc4 'HMS s2y+ ADC hits' H.hod.2y.posadchits 10 0.5 10.5 +TH1F hnegadc4 'HMS s2y- ADC hits' H.hod.2y.negadchits 10 0.5 10.5 + +# ADC hits per Calorimeter layer +TH1F chposadc1 'HMS Cal A+ ADC hits' H.cal.1pr.posadchits 13 0.5 13.5 +TH1F chnegadc1 'HMS Cal A- ADC hits' H.cal.1pr.negadchits 13 0.5 13.5 +TH1F chposadc2 'HMS Cal B+ ADC hits' H.cal.2ta.posadchits 13 0.5 13.5 +TH1F chnegadc2 'HMS Cal B- ADC hits' H.cal.2ta.negadchits 13 0.5 13.5 +TH1F chposadc3 'HMS Cal C+ ADC hits' H.cal.3ta.posadchits 13 0.5 13.5 +TH1F chposadc4 'HMS Cal D+ ADC hits' H.cal.4ta.posadchits 13 0.5 13.5 + +#Calorimeter ADC channels +TH1F hcaladc_A1p 'HMS Cal ADC A1p - PED' H.cal.1pr.apos_p[0] 150 50 500 +TH1F hcaladc_A2p 'HMS Cal ADC A2p - PED' H.cal.1pr.apos_p[1] 150 50 500 +TH1F hcaladc_A3p 'HMS Cal ADC A3p - PED' H.cal.1pr.apos_p[2] 150 50 500 +TH1F hcaladc_A4p 'HMS Cal ADC A4p - PED' H.cal.1pr.apos_p[3] 150 50 500 +TH1F hcaladc_A5p 'HMS Cal ADC A5p - PED' H.cal.1pr.apos_p[4] 150 50 500 +TH1F hcaladc_A6p 'HMS Cal ADC A6p - PED' H.cal.1pr.apos_p[5] 150 50 500 +TH1F hcaladc_A7p 'HMS Cal ADC A7p - PED' H.cal.1pr.apos_p[6] 150 50 500 +TH1F hcaladc_A8p 'HMS Cal ADC A8p - PED' H.cal.1pr.apos_p[7] 150 50 500 +TH1F hcaladc_A9p 'HMS Cal ADC A9p - PED' H.cal.1pr.apos_p[8] 150 50 500 +TH1F hcaladc_A10p 'HMS Cal ADC A10p - PED' H.cal.1pr.apos_p[9] 150 50 500 +TH1F hcaladc_A11p 'HMS Cal ADC A11p - PED' H.cal.1pr.apos_p[10] 150 50 500 +TH1F hcaladc_A12p 'HMS Cal ADC A12p - PED' H.cal.1pr.apos_p[11] 150 50 500 +TH1F hcaladc_A13p 'HMS Cal ADC A13p - PED' H.cal.1pr.apos_p[12] 150 50 500 + +TH1F hcaladc_B1p 'HMS Cal ADC B1p - PED' H.cal.2ta.apos_p[0] 150 50 500 +TH1F hcaladc_B2p 'HMS Cal ADC B2p - PED' H.cal.2ta.apos_p[1] 150 50 500 +TH1F hcaladc_B3p 'HMS Cal ADC B3p - PED' H.cal.2ta.apos_p[2] 150 50 500 +TH1F hcaladc_B4p 'HMS Cal ADC B4p - PED' H.cal.2ta.apos_p[3] 150 50 500 +TH1F hcaladc_B5p 'HMS Cal ADC B5p - PED' H.cal.2ta.apos_p[4] 150 50 500 +TH1F hcaladc_B6p 'HMS Cal ADC B6p - PED' H.cal.2ta.apos_p[5] 150 50 500 +TH1F hcaladc_B7p 'HMS Cal ADC B7p - PED' H.cal.2ta.apos_p[6] 150 50 500 +TH1F hcaladc_B8p 'HMS Cal ADC B8p - PED' H.cal.2ta.apos_p[7] 150 50 500 +TH1F hcaladc_B9p 'HMS Cal ADC B9p - PED' H.cal.2ta.apos_p[8] 150 50 500 +TH1F hcaladc_B10p 'HMS Cal ADC B10p - PED' H.cal.2ta.apos_p[9] 150 50 500 +TH1F hcaladc_B11p 'HMS Cal ADC B11p - PED' H.cal.2ta.apos_p[10] 150 50 500 +TH1F hcaladc_B12p 'HMS Cal ADC B12p - PED' H.cal.2ta.apos_p[11] 150 50 500 +TH1F hcaladc_B13p 'HMS Cal ADC B13p - PED' H.cal.2ta.apos_p[12] 150 50 500 + +TH1F hcaladc_C1p 'HMS Cal ADC C1p - PED' H.cal.3ta.apos_p[0] 150 50 500 +TH1F hcaladc_C2p 'HMS Cal ADC C2p - PED' H.cal.3ta.apos_p[1] 150 50 500 +TH1F hcaladc_C3p 'HMS Cal ADC C3p - PED' H.cal.3ta.apos_p[2] 150 50 500 +TH1F hcaladc_C4p 'HMS Cal ADC C4p - PED' H.cal.3ta.apos_p[3] 150 50 500 +TH1F hcaladc_C5p 'HMS Cal ADC C5p - PED' H.cal.3ta.apos_p[4] 150 50 500 +TH1F hcaladc_C6p 'HMS Cal ADC C6p - PED' H.cal.3ta.apos_p[5] 150 50 500 +TH1F hcaladc_C7p 'HMS Cal ADC C7p - PED' H.cal.3ta.apos_p[6] 150 50 500 +TH1F hcaladc_C8p 'HMS Cal ADC C8p - PED' H.cal.3ta.apos_p[7] 150 50 500 +TH1F hcaladc_C9p 'HMS Cal ADC C9p - PED' H.cal.3ta.apos_p[8] 150 50 500 +TH1F hcaladc_C10p 'HMS Cal ADC C10p - PED' H.cal.3ta.apos_p[9] 150 50 500 +TH1F hcaladc_C11p 'HMS Cal ADC C11p - PED' H.cal.3ta.apos_p[10] 150 50 500 +TH1F hcaladc_C12p 'HMS Cal ADC C12p - PED' H.cal.3ta.apos_p[11] 150 50 500 +TH1F hcaladc_C13p 'HMS Cal ADC C13p - PED' H.cal.3ta.apos_p[12] 150 50 500 + +TH1F hcaladc_D1p 'HMS Cal ADC D1p - PED' H.cal.4ta.apos_p[0] 150 50 500 +TH1F hcaladc_D2p 'HMS Cal ADC D2p - PED' H.cal.4ta.apos_p[1] 150 50 500 +TH1F hcaladc_D3p 'HMS Cal ADC D3p - PED' H.cal.4ta.apos_p[2] 150 50 500 +TH1F hcaladc_D4p 'HMS Cal ADC D4p - PED' H.cal.4ta.apos_p[3] 150 50 500 +TH1F hcaladc_D5p 'HMS Cal ADC D5p - PED' H.cal.4ta.apos_p[4] 150 50 500 +TH1F hcaladc_D6p 'HMS Cal ADC D6p - PED' H.cal.4ta.apos_p[5] 150 50 500 +TH1F hcaladc_D7p 'HMS Cal ADC D7p - PED' H.cal.4ta.apos_p[6] 150 50 500 +TH1F hcaladc_D8p 'HMS Cal ADC D8p - PED' H.cal.4ta.apos_p[7] 150 50 500 +TH1F hcaladc_D9p 'HMS Cal ADC D9p - PED' H.cal.4ta.apos_p[8] 150 50 500 +TH1F hcaladc_D10p 'HMS Cal ADC D10p - PED' H.cal.4ta.apos_p[9] 150 50 500 +TH1F hcaladc_D11p 'HMS Cal ADC D11p - PED' H.cal.4ta.apos_p[10] 150 50 500 +TH1F hcaladc_D12p 'HMS Cal ADC D12p - PED' H.cal.4ta.apos_p[11] 150 50 500 +TH1F hcaladc_D13p 'HMS Cal ADC D13p - PED' H.cal.4ta.apos_p[12] 150 50 500 + +TH1F hcaladc_A1n 'HMS Cal ADC A1n - PED' H.cal.1pr.aneg_p[0] 150 50 500 +TH1F hcaladc_A2n 'HMS Cal ADC A2n - PED' H.cal.1pr.aneg_p[1] 150 50 500 +TH1F hcaladc_A3n 'HMS Cal ADC A3n - PED' H.cal.1pr.aneg_p[2] 150 50 500 +TH1F hcaladc_A4n 'HMS Cal ADC A4n - PED' H.cal.1pr.aneg_p[3] 150 50 500 +TH1F hcaladc_A5n 'HMS Cal ADC A5n - PED' H.cal.1pr.aneg_p[4] 150 50 500 +TH1F hcaladc_A6n 'HMS Cal ADC A6n - PED' H.cal.1pr.aneg_p[5] 150 50 500 +TH1F hcaladc_A7n 'HMS Cal ADC A7n - PED' H.cal.1pr.aneg_p[6] 150 50 500 +TH1F hcaladc_A8n 'HMS Cal ADC A8n - PED' H.cal.1pr.aneg_p[7] 150 50 500 +TH1F hcaladc_A9n 'HMS Cal ADC A9n - PED' H.cal.1pr.aneg_p[8] 150 50 500 +TH1F hcaladc_A10n 'HMS Cal ADC A10n - PED' H.cal.1pr.aneg_p[9] 150 50 500 +TH1F hcaladc_A11n 'HMS Cal ADC A11n - PED' H.cal.1pr.aneg_p[10] 150 50 500 +TH1F hcaladc_A12n 'HMS Cal ADC A12n - PED' H.cal.1pr.aneg_p[11] 150 50 500 +TH1F hcaladc_A13n 'HMS Cal ADC A13n - PED' H.cal.1pr.aneg_p[12] 150 50 500 + +TH1F hcaladc_B1n 'HMS Cal ADC B1n - PED' H.cal.2ta.aneg_p[0] 150 50 500 +TH1F hcaladc_B2n 'HMS Cal ADC B2n - PED' H.cal.2ta.aneg_p[1] 150 50 500 +TH1F hcaladc_B3n 'HMS Cal ADC B3n - PED' H.cal.2ta.aneg_p[2] 150 50 500 +TH1F hcaladc_B4n 'HMS Cal ADC B4n - PED' H.cal.2ta.aneg_p[3] 150 50 500 +TH1F hcaladc_B5n 'HMS Cal ADC B5n - PED' H.cal.2ta.aneg_p[4] 150 50 500 +TH1F hcaladc_B6n 'HMS Cal ADC B6n - PED' H.cal.2ta.aneg_p[5] 150 50 500 +TH1F hcaladc_B7n 'HMS Cal ADC B7n - PED' H.cal.2ta.aneg_p[6] 150 50 500 +TH1F hcaladc_B8n 'HMS Cal ADC B8n - PED' H.cal.2ta.aneg_p[7] 150 50 500 +TH1F hcaladc_B9n 'HMS Cal ADC B9n - PED' H.cal.2ta.aneg_p[8] 150 50 500 +TH1F hcaladc_B10n 'HMS Cal ADC B10n - PED' H.cal.2ta.aneg_p[9] 150 50 500 +TH1F hcaladc_B11n 'HMS Cal ADC B11n - PED' H.cal.2ta.aneg_p[10] 150 50 500 +TH1F hcaladc_B12n 'HMS Cal ADC B12n - PED' H.cal.2ta.aneg_p[11] 150 50 500 +TH1F hcaladc_B13n 'HMS Cal ADC B13n - PED' H.cal.2ta.aneg_p[12] 150 50 500 + +#TH1F hdcrawtdc +#TH1F hdccuttdc + +# Can we use variables for the constants. In CTP we used hdc_nwire(i) +# +TH1F hdc1x1_wm 'HDC 1X1 Wiremap' H.dc.1x1.tdchits 113 0.5 113.5 +TH1F hdc1y1_wm 'HDC 1Y1 Wiremap' H.dc.1y1.tdchits 52 0.5 52.5 +TH1F hdc1u1_wm 'HDC 1U1 Wiremap' H.dc.1u1.tdchits 107 0.5 107.5 +TH1F hdc1v1_wm 'HDC 1V1 Wiremap' H.dc.1v1.tdchits 107 0.5 107.5 +TH1F hdc1y2_wm 'HDC 1Y2 Wiremap' H.dc.1y2.tdchits 52 0.5 52.5 +TH1F hdc1x2_wm 'HDC 1X2 Wiremap' H.dc.1x2.tdchits 113 0.5 113.5 +TH1F hdc2x1_wm 'HDC 2X1 Wiremap' H.dc.2x1.tdchits 113 0.5 113.5 +TH1F hdc2y1_wm 'HDC 2Y1 Wiremap' H.dc.2y1.tdchits 52 0.5 52.5 +TH1F hdc2u1_wm 'HDC 2U1 Wiremap' H.dc.2u1.tdchits 107 0.5 107.5 +TH1F hdc2v1_wm 'HDC 2V1 Wiremap' H.dc.2v1.tdchits 107 0.5 107.5 +TH1F hdc2y2_wm 'HDC 2Y2 Wiremap' H.dc.2y2.tdchits 52 0.5 52.5 +TH1F hdc2x2_wm 'HDC 2X2 Wiremap' H.dc.2x2.tdchits 113 0.5 113.5 + +# Drift Time and Drift Distance Spectra +TH1F hdc1x1_dt 'HDC 1X1 Drift Time' H.dc.1x1.time 200 -100 300 +TH1F hdc1y1_dt 'HDC 1Y1 Drift Time' H.dc.1y1.time 200 -100 300 +TH1F hdc1u1_dt 'HDC 1U1 Drift Time' H.dc.1u1.time 200 -100 300 +TH1F hdc1v1_dt 'HDC 1V1 Drift Time' H.dc.1v1.time 200 -100 300 +TH1F hdc1y2_dt 'HDC 1Y2 Drift Time' H.dc.1y2.time 200 -100 300 +TH1F hdc1x2_dt 'HDC 1X2 Drift Time' H.dc.1x2.time 200 -100 300 +TH1F hdc2x1_dt 'HDC 2X1 Drift Time' H.dc.2x1.time 200 -100 300 +TH1F hdc2y1_dt 'HDC 2Y1 Drift Time' H.dc.2y1.time 200 -100 300 +TH1F hdc2u1_dt 'HDC 2U1 Drift Time' H.dc.2u1.time 200 -100 300 +TH1F hdc2v1_dt 'HDC 2V1 Drift Time' H.dc.2v1.time 200 -100 300 +TH1F hdc2y2_dt 'HDC 2Y2 Drift Time' H.dc.2y2.time 200 -100 300 +TH1F hdc2x2_dt 'HDC 2X2 Drift Time' H.dc.2x2.time 200 -100 300 + +TH1F hdc1x1_dd 'HDC 1X1 Drift Distance' H.dc.1x1.dist 300 -0.1 0.6 +TH1F hdc1y1_dd 'HDC 1Y1 Drift Distance' H.dc.1y1.dist 300 -0.1 0.6 +TH1F hdc1u1_dd 'HDC 1U1 Drift Distance' H.dc.1u1.dist 300 -0.1 0.6 +TH1F hdc1v1_dd 'HDC 1V1 Drift Distance' H.dc.1v1.dist 300 -0.1 0.6 +TH1F hdc1y2_dd 'HDC 1Y2 Drift Distance' H.dc.1y2.dist 300 -0.1 0.6 +TH1F hdc1x2_dd 'HDC 1X2 Drift Distance' H.dc.1x2.dist 300 -0.1 0.6 +TH1F hdc2x1_dd 'HDC 2X1 Drift Distance' H.dc.2x1.dist 300 -0.1 0.6 +TH1F hdc2y1_dd 'HDC 2Y1 Drift Distance' H.dc.2y1.dist 300 -0.1 0.6 +TH1F hdc2u1_dd 'HDC 2U1 Drift Distance' H.dc.2u1.dist 300 -0.1 0.6 +TH1F hdc2v1_dd 'HDC 2V1 Drift Distance' H.dc.2v1.dist 300 -0.1 0.6 +TH1F hdc2y2_dd 'HDC 2Y2 Drift Distance' H.dc.2y2.dist 300 -0.1 0.6 +TH1F hdc2x2_dd 'HDC 2X2 Drift Distance' H.dc.2x2.dist 300 -0.1 0.6 + +formula Hhodtdif1 H.hod.fpHitsTime[0]-H.hod.fpHitsTime[1] +formula Hhodtdif2 H.hod.fpHitsTime[0]-H.hod.fpHitsTime[2] +formula Hhodtdif3 H.hod.fpHitsTime[0]-H.hod.fpHitsTime[3] +formula Hhodtdif4 H.hod.fpHitsTime[1]-H.hod.fpHitsTime[2] +formula Hhodtdif5 H.hod.fpHitsTime[1]-H.hod.fpHitsTime[3] +formula Hhodtdif6 H.hod.fpHitsTime[2]-H.hod.fpHitsTime[3] + +# Focal Plane times +TH1F htimedif1 ' Time dif of plane 1 and 2' Hhodtdif1 80 -40. 40. +TH1F htimedif2 ' Time dif of plane 1 and 3' Hhodtdif2 80 -40. 40. +TH1F htimedif3 ' Time dif of plane 1 and 4' Hhodtdif3 80 -40. 40. +TH1F htimedif4 ' Time dif of plane 2 and 3' Hhodtdif4 80 -40. 40. +TH1F htimedif5 ' Time dif of plane 2 and 4' Hhodtdif5 80 -40. 40. +TH1F htimedif6 ' Time dif of plane 3 and 4' Hhodtdif6 80 -40. 40. + +TH1F hs1xfptime 'HODO s1x fptime' H.hod.1x.fptime 80 0 80 H.hod.goodstarttime +TH1F hs1yfptime 'HODO s1y fptime' H.hod.1y.fptime 80 0 80 H.hod.goodstarttime +TH1F hs2xfptime 'HODO s2x fptime' H.hod.2x.fptime 80 0 80 H.hod.goodstarttime +TH1F hs2yfptime 'HODO s2y fptime' H.hod.2y.fptime 80 0 80 H.hod.goodstarttime +TH1F starttime 'HODO start time' H.hod.starttime 80 0 80 H.hod.goodstarttime + +#SOS +# TDC hits per paddle +TH1F spostdc1 'SOS s1x+ TDC hits' S.hod.1x.postdchits 9 0.5 9.5 +TH1F snegtdc1 'SOS s1x- TDC hits' S.hod.1x.negtdchits 9 0.5 9.5 +TH1F spostdc2 'SOS s1y+ TDC hits' S.hod.1y.postdchits 9 0.5 9.5 +TH1F snegtdc2 'SOS s1y- TDC hits' S.hod.1y.negtdchits 9 0.5 9.5 +TH1F spostdc3 'SOS s2x+ TDC hits' S.hod.2x.postdchits 16 0.5 16.5 +TH1F snegtdc3 'SOS s2x- TDC hits' S.hod.2x.negtdchits 16 0.5 16.5 +TH1F spostdc4 'SOS s2y+ TDC hits' S.hod.2y.postdchits 9 0.5 9.5 +TH1F snegtdc4 'SOS s2y- TDC hits' S.hod.2y.negtdchits 9 0.5 9.5 + +# ADC hits per paddle +TH1F sposadc1 'SOS s1x+ ADC hits' S.hod.1x.posadchits 9 0.5 9.5 +TH1F snegadc1 'SOS s1x- ADC hits' S.hod.1x.negadchits 9 0.5 9.5 +TH1F sposadc2 'SOS s1y+ ADC hits' S.hod.1y.posadchits 9 0.5 9.5 +TH1F snegadc2 'SOS s1y- ADC hits' S.hod.1y.negadchits 9 0.5 9.5 +TH1F sposadc3 'SOS s2x+ ADC hits' S.hod.2x.posadchits 16 0.5 16.5 +TH1F snegadc3 'SOS s2x- ADC hits' S.hod.2x.negadchits 16 0.5 16.5 +TH1F sposadc4 'SOS s2y+ ADC hits' S.hod.2y.posadchits 9 0.5 9.5 +TH1F snegadc4 'SOS s2y- ADC hits' S.hod.2y.negadchits 9 0.5 9.5 + +TH1F sdc1u1_wm 'SDC 1U1 Wiremap' S.dc.1u1.tdchits 48 0.5 48.5 +TH1F sdc1u2_wm 'SDC 1U2 Wiremap' S.dc.1u2.tdchits 48 0.5 48.5 +TH1F sdc1x1_wm 'SDC 1X1 Wiremap' S.dc.1x1.tdchits 64 0.5 64.5 +TH1F sdc1x2_wm 'SDC 1X2 Wiremap' S.dc.1x2.tdchits 64 0.5 64.5 +TH1F sdc1v1_wm 'SDC 1V1 Wiremap' S.dc.1v1.tdchits 48 0.5 48.5 +TH1F sdc1v2_wm 'SDC 1V2 Wiremap' S.dc.1v2.tdchits 48 0.5 48.5 +TH1F sdc2u1_wm 'SDC 2U1 Wiremap' S.dc.2u1.tdchits 48 0.5 48.5 +TH1F sdc2u2_wm 'SDC 2U2 Wiremap' S.dc.2u2.tdchits 48 0.5 48.5 +TH1F sdc2x1_wm 'SDC 2X1 Wiremap' S.dc.2x1.tdchits 64 0.5 64.5 +TH1F sdc2x2_wm 'SDC 2X2 Wiremap' S.dc.2x2.tdchits 64 0.5 64.5 +TH1F sdc2v1_wm 'SDC 2V1 Wiremap' S.dc.2v1.tdchits 48 0.5 48.5 +TH1F sdc2v2_wm 'SDC 2V2 Wiremap' S.dc.2v2.tdchits 48 0.5 48.5 + +TH1F sdc1u1_dd 'SDC 1U1 Drift Distance' S.dc.1u1.dist 300 -0.1 0.6 +TH1F sdc1u2_dd 'SDC 1U2 Drift Distance' S.dc.1u2.dist 300 -0.1 0.6 +TH1F sdc1x1_dd 'SDC 1X1 Drift Distance' S.dc.1x1.dist 300 -0.1 0.6 +TH1F sdc1x2_dd 'SDC 1X2 Drift Distance' S.dc.1x2.dist 300 -0.1 0.6 +TH1F sdc1v1_dd 'SDC 1V1 Drift Distance' S.dc.1v1.dist 300 -0.1 0.6 +TH1F sdc1v2_dd 'SDC 1V2 Drift Distance' S.dc.1v2.dist 300 -0.1 0.6 +TH1F sdc2u1_dd 'SDC 2U1 Drift Distance' S.dc.2u1.dist 300 -0.1 0.6 +TH1F sdc2u2_dd 'SDC 2U2 Drift Distance' S.dc.2u2.dist 300 -0.1 0.6 +TH1F sdc2x1_dd 'SDC 2X1 Drift Distance' S.dc.2x1.dist 300 -0.1 0.6 +TH1F sdc2x2_dd 'SDC 2X2 Drift Distance' S.dc.2x2.dist 300 -0.1 0.6 +TH1F sdc2v1_dd 'SDC 2V1 Drift Distance' S.dc.2v1.dist 300 -0.1 0.6 +TH1F sdc2v2_dd 'SDC 2V2 Drift Distance' S.dc.2v2.dist 300 -0.1 0.6 diff --git a/examples/output_52949.def b/examples/output_52949.def new file mode 100644 index 0000000000000000000000000000000000000000..6c1f045915c9cb6683e6f3a46fafda984c27fb6f --- /dev/null +++ b/examples/output_52949.def @@ -0,0 +1,219 @@ +# See $ANALYZER/examples/output_example.def for examples +# +#block H.dc.* +#block H.hod.* +block H.cal.* +#block H.aero.* +block H.tr.* +block H.gold.* +block g.evtyp + +# TDC spectra +TH1F hfptime1x ' HMS s1x fptime' H.hod.1x.fptime 80 0. 80. +TH1F hfptime1y ' HMS s1y fptime' H.hod.1y.fptime 80 0. 80. +TH1F hfptime2x ' HMS s2x fptime' H.hod.2x.fptime 80 0. 80. +TH1F hfptime2y ' HMS s2y fptime' H.hod.2y.fptime 80 0. 80. +# Beta +TH1F hfpBeta 'HMS Hodo Beta' H.hod.fpBeta 250 -0.5 2.0 +TH1F hfpBetaChisq 'HMS Hodo Chisq' H.hod.fpBetaChisq 550 -5. 50. +# TDC hits per paddle +TH1F hpostdc1 'HMS s1x+ TDC hits' H.hod.1x.postdchits 16 0.5 16.5 +TH1F hnegtdc1 'HMS s1x- TDC hits' H.hod.1x.negtdchits 16 0.5 16.5 +TH1F hpostdc2 'HMS s1y+ TDC hits' H.hod.1y.postdchits 10 0.5 10.5 +TH1F hnegtdc2 'HMS s1y- TDC hits' H.hod.1y.negtdchits 10 0.5 10.5 +TH1F hpostdc3 'HMS s2x+ TDC hits' H.hod.2x.postdchits 16 0.5 16.5 +TH1F hnegtdc3 'HMS s2x- TDC hits' H.hod.2x.negtdchits 16 0.5 16.5 +TH1F hpostdc4 'HMS s2y+ TDC hits' H.hod.2y.postdchits 10 0.5 10.5 +TH1F hnegtdc4 'HMS s2y- TDC hits' H.hod.2y.negtdchits 10 0.5 10.5 + +# ADC hits per paddle +TH1F hposadc1 'HMS s1x+ ADC hits' H.hod.1x.posadchits 16 0.5 16.5 +TH1F hnegadc1 'HMS s1x- ADC hits' H.hod.1x.negadchits 16 0.5 16.5 +TH1F hposadc2 'HMS s1y+ ADC hits' H.hod.1y.posadchits 10 0.5 10.5 +TH1F hnegadc2 'HMS s1y- ADC hits' H.hod.1y.negadchits 10 0.5 10.5 +TH1F hposadc3 'HMS s2x+ ADC hits' H.hod.2x.posadchits 16 0.5 16.5 +TH1F hnegadc3 'HMS s2x- ADC hits' H.hod.2x.negadchits 16 0.5 16.5 +TH1F hposadc4 'HMS s2y+ ADC hits' H.hod.2y.posadchits 10 0.5 10.5 +TH1F hnegadc4 'HMS s2y- ADC hits' H.hod.2y.negadchits 10 0.5 10.5 + +# ADC hits per Calorimeter layer +TH1F chposadc1 'HMS Cal A+ ADC hits' H.cal.1pr.posadchits 13 0.5 13.5 +TH1F chnegadc1 'HMS Cal A- ADC hits' H.cal.1pr.negadchits 13 0.5 13.5 +TH1F chposadc2 'HMS Cal B+ ADC hits' H.cal.2ta.posadchits 13 0.5 13.5 +TH1F chnegadc2 'HMS Cal B- ADC hits' H.cal.2ta.negadchits 13 0.5 13.5 +TH1F chposadc3 'HMS Cal C+ ADC hits' H.cal.3ta.posadchits 13 0.5 13.5 +TH1F chposadc4 'HMS Cal D+ ADC hits' H.cal.4ta.posadchits 13 0.5 13.5 + +# Deposited Energies per Calorimeter layer +TH1F edep1 'HMS Cal A Edep' H.cal.1pr.eplane 100 -0.1 0.811 +TH1F edep2 'HMS Cal B Edep' H.cal.2ta.eplane 100 -0.1 0.811 +TH1F edep3 'HMS Cal C Edep' H.cal.3ta.eplane 100 -0.1 0.811 +TH1F edep4 'HMS Cal D Edep' H.cal.4ta.eplane 100 -0.1 0.811 + +# Number of sparsified hits in the Calorimeter. +TH1F nhits 'HMS Cal sparsified hits' H.cal.nhits 53 -0.5 52.5 + +# Number of hit clusters in the Calorimeter. +TH1F nclust 'HMS Cal number of clusters' H.cal.nclust 11 -0.5 10.5 + +# Multiplicity of the largest cluster in the Calorimeter. +####TH1F mult 'HMS Cal size of largest cluster' H.cal.mult 21 -0.5 20.5 + +# Energy deposited in the largest cluster. +####TH1F emax 'HMS Cal Max Clust. Edep' H.cal.emax 200 -0.1 1.622 + +# Preshower Energy from the largest cluster. +####TH1F eprmax 'HMS PrSh Max Clust. Edep' H.cal.eprmax 100 -0.1 0.811 + +# X coordinate the largest cluster. +####TH1F xmax 'HMS Cal Max Clust. X' H.cal.xmax 150 -75. 75. + +# Track coordinates at the front of calorimeter +####TH2F trx_vs_try 'HMS Track X vs Y at calor.' H.cal.try H.cal.trx 80 -40. 40. 150 -75. 75. H.dc.ntrack==1 +####TH1F trx 'HMS Track X at calorimeter' H.cal.trx 150 -75. 75. H.dc.ntrack==1 +####TH1F try 'HMS Track Y at calorimeter' H.cal.try 80 -40. 40. H.dc.ntrack==1 + +# Energy of the cluster associated to the main (currently first) track +####TH1F tre 'HMS Cal Track Clust. Edep' H.cal.tre 200 -0.1 1.622 H.dc.ntrack==1 + +# Preshower Energy of the cluster associated to the main (currently 1st) track +####TH1F trepr 'HMS PrSh Track Clust. Edep' H.cal.trepr 100 -0.1 0.811 H.dc.ntrack==1 + +# Coordinate corrected energy deposition from the main track (currently first) +####TH1F trecor 'HMS Cal Track Edep' H.cal.trecor 200 -0.1 1.622 H.dc.ntrack==1 + +# Coordinate corrected preshower energy from the main track (currently first) +####TH1F treprcor 'HMS PrSh Track Edep' H.cal.treprcor 100 -0.1 0.811 H.dc.ntrack==1 +# Coordinate corrected energy deposition from the main track (currently first) +# in the planes. Currently works for the 1-st pnae only. +####TH1F treplcor 'HMS Cal Track E1' H.cal.treplcor 100 -0.1 0.811 H.dc.ntrack==1 + +# Calorimeter ADC channels +#TH1F hcaladc_A1p 'HMS Cal ADC A1p - PED' H.cal.1pr.apos_p[0] 150 50 500 +#TH1F hcaladc_A2p 'HMS Cal ADC A2p - PED' H.cal.1pr.apos_p[1] 150 50 500 +#TH1F hcaladc_A3p 'HMS Cal ADC A3p - PED' H.cal.1pr.apos_p[2] 150 50 500 +#TH1F hcaladc_A4p 'HMS Cal ADC A4p - PED' H.cal.1pr.apos_p[3] 150 50 500 +#TH1F hcaladc_A5p 'HMS Cal ADC A5p - PED' H.cal.1pr.apos_p[4] 150 50 500 +#TH1F hcaladc_A6p 'HMS Cal ADC A6p - PED' H.cal.1pr.apos_p[5] 150 50 500 +#TH1F hcaladc_A7p 'HMS Cal ADC A7p - PED' H.cal.1pr.apos_p[6] 150 50 500 +#TH1F hcaladc_A8p 'HMS Cal ADC A8p - PED' H.cal.1pr.apos_p[7] 150 50 500 +#TH1F hcaladc_A9p 'HMS Cal ADC A9p - PED' H.cal.1pr.apos_p[8] 150 50 500 +#TH1F hcaladc_A10p 'HMS Cal ADC A10p - PED' H.cal.1pr.apos_p[9] 150 50 500 +#TH1F hcaladc_A11p 'HMS Cal ADC A11p - PED' H.cal.1pr.apos_p[10] 150 50 500 +#TH1F hcaladc_A12p 'HMS Cal ADC A12p - PED' H.cal.1pr.apos_p[11] 150 50 500 +#TH1F hcaladc_A13p 'HMS Cal ADC A13p - PED' H.cal.1pr.apos_p[12] 150 50 500 +#TH1F hcaladc_B1p 'HMS Cal ADC B1p - PED' H.cal.2ta.apos_p[0] 150 50 500 +#TH1F hcaladc_B2p 'HMS Cal ADC B2p - PED' H.cal.2ta.apos_p[1] 150 50 500 +#TH1F hcaladc_B3p 'HMS Cal ADC B3p - PED' H.cal.2ta.apos_p[2] 150 50 500 +#TH1F hcaladc_B4p 'HMS Cal ADC B4p - PED' H.cal.2ta.apos_p[3] 150 50 500 +#TH1F hcaladc_B5p 'HMS Cal ADC B5p - PED' H.cal.2ta.apos_p[4] 150 50 500 +#TH1F hcaladc_B6p 'HMS Cal ADC B6p - PED' H.cal.2ta.apos_p[5] 150 50 500 +#TH1F hcaladc_B7p 'HMS Cal ADC B7p - PED' H.cal.2ta.apos_p[6] 150 50 500 +#TH1F hcaladc_B8p 'HMS Cal ADC B8p - PED' H.cal.2ta.apos_p[7] 150 50 500 +#TH1F hcaladc_B9p 'HMS Cal ADC B9p - PED' H.cal.2ta.apos_p[8] 150 50 500 +#TH1F hcaladc_B10p 'HMS Cal ADC B10p - PED' H.cal.2ta.apos_p[9] 150 50 500 +#TH1F hcaladc_B11p 'HMS Cal ADC B11p - PED' H.cal.2ta.apos_p[10] 150 50 500 +#TH1F hcaladc_B12p 'HMS Cal ADC B12p - PED' H.cal.2ta.apos_p[11] 150 50 500 +#TH1F hcaladc_B13p 'HMS Cal ADC B13p - PED' H.cal.2ta.apos_p[12] 150 50 500 + +#TH1F hcaladc_C1p 'HMS Cal ADC C1p - PED' H.cal.3ta.apos_p[0] 150 50 500 +#TH1F hcaladc_C2p 'HMS Cal ADC C2p - PED' H.cal.3ta.apos_p[1] 150 50 500 +#TH1F hcaladc_C3p 'HMS Cal ADC C3p - PED' H.cal.3ta.apos_p[2] 150 50 500 +#TH1F hcaladc_C4p 'HMS Cal ADC C4p - PED' H.cal.3ta.apos_p[3] 150 50 500 +#TH1F hcaladc_C5p 'HMS Cal ADC C5p - PED' H.cal.3ta.apos_p[4] 150 50 500 +#TH1F hcaladc_C6p 'HMS Cal ADC C6p - PED' H.cal.3ta.apos_p[5] 150 50 500 +#TH1F hcaladc_C7p 'HMS Cal ADC C7p - PED' H.cal.3ta.apos_p[6] 150 50 500 +#TH1F hcaladc_C8p 'HMS Cal ADC C8p - PED' H.cal.3ta.apos_p[7] 150 50 500 +#TH1F hcaladc_C9p 'HMS Cal ADC C9p - PED' H.cal.3ta.apos_p[8] 150 50 500 +#TH1F hcaladc_C10p 'HMS Cal ADC C10p - PED' H.cal.3ta.apos_p[9] 150 50 500 +#TH1F hcaladc_C11p 'HMS Cal ADC C11p - PED' H.cal.3ta.apos_p[10] 150 50 500 +#TH1F hcaladc_C12p 'HMS Cal ADC C12p - PED' H.cal.3ta.apos_p[11] 150 50 500 +#TH1F hcaladc_C13p 'HMS Cal ADC C13p - PED' H.cal.3ta.apos_p[12] 150 50 500 + +#TH1F hcaladc_D1p 'HMS Cal ADC D1p - PED' H.cal.4ta.apos_p[0] 150 50 500 +#TH1F hcaladc_D2p 'HMS Cal ADC D2p - PED' H.cal.4ta.apos_p[1] 150 50 500 +#TH1F hcaladc_D3p 'HMS Cal ADC D3p - PED' H.cal.4ta.apos_p[2] 150 50 500 +#TH1F hcaladc_D4p 'HMS Cal ADC D4p - PED' H.cal.4ta.apos_p[3] 150 50 500 +#TH1F hcaladc_D5p 'HMS Cal ADC D5p - PED' H.cal.4ta.apos_p[4] 150 50 500 +#TH1F hcaladc_D6p 'HMS Cal ADC D6p - PED' H.cal.4ta.apos_p[5] 150 50 500 +#TH1F hcaladc_D7p 'HMS Cal ADC D7p - PED' H.cal.4ta.apos_p[6] 150 50 500 +#TH1F hcaladc_D8p 'HMS Cal ADC D8p - PED' H.cal.4ta.apos_p[7] 150 50 500 +#TH1F hcaladc_D9p 'HMS Cal ADC D9p - PED' H.cal.4ta.apos_p[8] 150 50 500 +#TH1F hcaladc_D10p 'HMS Cal ADC D10p - PED' H.cal.4ta.apos_p[9] 150 50 500 +#TH1F hcaladc_D11p 'HMS Cal ADC D11p - PED' H.cal.4ta.apos_p[10] 150 50 500 +#TH1F hcaladc_D12p 'HMS Cal ADC D12p - PED' H.cal.4ta.apos_p[11] 150 50 500 +#TH1F hcaladc_D13p 'HMS Cal ADC D13p - PED' H.cal.4ta.apos_p[12] 150 50 500 + +#TH1F hcaladc_A1n 'HMS Cal ADC A1n - PED' H.cal.1pr.aneg_p[0] 150 50 500 +#TH1F hcaladc_A2n 'HMS Cal ADC A2n - PED' H.cal.1pr.aneg_p[1] 150 50 500 +#TH1F hcaladc_A3n 'HMS Cal ADC A3n - PED' H.cal.1pr.aneg_p[2] 150 50 500 +#TH1F hcaladc_A4n 'HMS Cal ADC A4n - PED' H.cal.1pr.aneg_p[3] 150 50 500 +#TH1F hcaladc_A5n 'HMS Cal ADC A5n - PED' H.cal.1pr.aneg_p[4] 150 50 500 +#TH1F hcaladc_A6n 'HMS Cal ADC A6n - PED' H.cal.1pr.aneg_p[5] 150 50 500 +#TH1F hcaladc_A7n 'HMS Cal ADC A7n - PED' H.cal.1pr.aneg_p[6] 150 50 500 +#TH1F hcaladc_A8n 'HMS Cal ADC A8n - PED' H.cal.1pr.aneg_p[7] 150 50 500 +#TH1F hcaladc_A9n 'HMS Cal ADC A9n - PED' H.cal.1pr.aneg_p[8] 150 50 500 +#TH1F hcaladc_A10n 'HMS Cal ADC A10n - PED' H.cal.1pr.aneg_p[9] 150 50 500 +#TH1F hcaladc_A11n 'HMS Cal ADC A11n - PED' H.cal.1pr.aneg_p[10] 150 50 500 +#TH1F hcaladc_A12n 'HMS Cal ADC A12n - PED' H.cal.1pr.aneg_p[11] 150 50 500 +#TH1F hcaladc_A13n 'HMS Cal ADC A13n - PED' H.cal.1pr.aneg_p[12] 150 50 500 + +#TH1F hcaladc_B1n 'HMS Cal ADC B1n - PED' H.cal.2ta.aneg_p[0] 150 50 500 +#TH1F hcaladc_B2n 'HMS Cal ADC B2n - PED' H.cal.2ta.aneg_p[1] 150 50 500 +#TH1F hcaladc_B3n 'HMS Cal ADC B3n - PED' H.cal.2ta.aneg_p[2] 150 50 500 +#TH1F hcaladc_B4n 'HMS Cal ADC B4n - PED' H.cal.2ta.aneg_p[3] 150 50 500 +#TH1F hcaladc_B5n 'HMS Cal ADC B5n - PED' H.cal.2ta.aneg_p[4] 150 50 500 +#TH1F hcaladc_B6n 'HMS Cal ADC B6n - PED' H.cal.2ta.aneg_p[5] 150 50 500 +#TH1F hcaladc_B7n 'HMS Cal ADC B7n - PED' H.cal.2ta.aneg_p[6] 150 50 500 +#TH1F hcaladc_B8n 'HMS Cal ADC B8n - PED' H.cal.2ta.aneg_p[7] 150 50 500 +#TH1F hcaladc_B9n 'HMS Cal ADC B9n - PED' H.cal.2ta.aneg_p[8] 150 50 500 +#TH1F hcaladc_B10n 'HMS Cal ADC B10n - PED' H.cal.2ta.aneg_p[9] 150 50 500 +#TH1F hcaladc_B11n 'HMS Cal ADC B11n - PED' H.cal.2ta.aneg_p[10] 150 50 500 +#TH1F hcaladc_B12n 'HMS Cal ADC B12n - PED' H.cal.2ta.aneg_p[11] 150 50 500 +#TH1F hcaladc_B13n 'HMS Cal ADC B13n - PED' H.cal.2ta.aneg_p[12] 150 50 500 + +# Can we use variables for the constants. In CTP we used hdc_nwire(i) +# +TH1F hdc1x1_wm 'HDC 1X1 Wiremap' H.dc.1x1.tdchits 113 0.5 113.5 +TH1F hdc1y1_wm 'HDC 1Y1 Wiremap' H.dc.1y1.tdchits 52 0.5 52.5 +TH1F hdc1u1_wm 'HDC 1U1 Wiremap' H.dc.1u1.tdchits 107 0.5 107.5 +TH1F hdc1v1_wm 'HDC 1V1 Wiremap' H.dc.1v1.tdchits 107 0.5 107.5 +TH1F hdc1y2_wm 'HDC 1Y2 Wiremap' H.dc.1y2.tdchits 52 0.5 52.5 +TH1F hdc1x2_wm 'HDC 1X2 Wiremap' H.dc.1x2.tdchits 113 0.5 113.5 +TH1F hdc2x1_wm 'HDC 2X1 Wiremap' H.dc.2x1.tdchits 113 0.5 113.5 +TH1F hdc2y1_wm 'HDC 2Y1 Wiremap' H.dc.2y1.tdchits 52 0.5 52.5 +TH1F hdc2u1_wm 'HDC 2U1 Wiremap' H.dc.2u1.tdchits 107 0.5 107.5 +TH1F hdc2v1_wm 'HDC 2V1 Wiremap' H.dc.2v1.tdchits 107 0.5 107.5 +TH1F hdc2y2_wm 'HDC 2Y2 Wiremap' H.dc.2y2.tdchits 52 0.5 52.5 +TH1F hdc2x2_wm 'HDC 2X2 Wiremap' H.dc.2x2.tdchits 113 0.5 113.5 +# +TH1F ddist_hdc1x1 'HDC 1X1 Drift Dis' H.dc.1x1.dist 30 -0.1 0.6 +TH1F ddist_hdc1y1 'HDC 1Y1 Drift Dis' H.dc.1y1.dist 30 -0.1 0.6 +TH1F ddist_hdc1u1 'HDC 1U1 Drift Dis' H.dc.1u1.dist 30 -0.1 0.6 +TH1F ddist_hdc1v1 'HDC 1V1 Drift Dis' H.dc.1v1.dist 30 -0.1 0.6 +TH1F ddist_hdc1y2 'HDC 1Y2 Drift Dis' H.dc.1y2.dist 30 -0.1 0.6 +TH1F ddist_hdc1x2 'HDC 1X2 Drift Dis' H.dc.1x2.dist 30 -0.1 0.6 +TH1F ddist_hdc2x1 'HDC 2X1 Drift Dis' H.dc.2x1.dist 30 -0.1 0.6 +TH1F ddist_hdc2y1 'HDC 2Y1 Drift Dis' H.dc.2y1.dist 30 -0.1 0.6 +TH1F ddist_hdc2u1 'HDC 2U1 Drift Dis' H.dc.2u1.dist 30 -0.1 0.6 +TH1F ddist_hdc2v1 'HDC 2V1 Drift Dis' H.dc.2v1.dist 30 -0.1 0.6 +TH1F ddist_hdc2y2 'HDC 2Y2 Drift Dis' H.dc.2y2.dist 30 -0.1 0.6 +TH1F ddist_hdc2x2 'HDC 2X2 Drift Dis' H.dc.2x2.dist 30 -0.1 0.6 +# +TH1F dtime_hdc1x1 'HDC 1X1 Drift Time' H.dc.1x1.time 200 -100 300 +TH1F dtime_hdc1y1 'HDC 1Y1 Drift Time' H.dc.1y1.time 200 -100 300 +TH1F dtime_hdc1u1 'HDC 1U1 Drift Time' H.dc.1u1.time 200 -100 300 +TH1F dtime_hdc1v1 'HDC 1V1 Drift Time' H.dc.1v1.time 200 -100 300 +TH1F dtime_hdc1y2 'HDC 1Y2 Drift Time' H.dc.1y2.time 200 -100 300 +TH1F dtime_hdc1x2 'HDC 1X2 Drift Time' H.dc.1x2.time 200 -100 300 +TH1F dtime_hdc2x1 'HDC 2X1 Drift Time' H.dc.2x1.time 200 -100 300 +TH1F dtime_hdc2y1 'HDC 2Y1 Drift Time' H.dc.2y1.time 200 -100 300 +TH1F dtime_hdc2u1 'HDC 2U1 Drift Time' H.dc.2u1.time 200 -100 300 +TH1F dtime_hdc2v1 'HDC 2V1 Drift Time' H.dc.2v1.time 200 -100 300 +TH1F dtime_hdc2y2 'HDC 2Y2 Drift Time' H.dc.2y2.time 200 -100 300 +TH1F dtime_hdc2x2 'HDC 2X2 Drift Time' H.dc.2x2.time 200 -100 300 +# +# Golden Track momentum +TH1F golden_p 'HMS Golden P' H.gold.p 100 0.011 1.8 H.dc.ntrack!=0 +TH1F golden_e 'HMS Golden E' H.gold.e 100 0.011 1.8 H.dc.ntrack!=0 +TH1F golden_enorm 'HMS Golden E/P' H.gold.e/H.gold.p 100 0.01 1.8 H.gold.index>=0 diff --git a/examples/output_bpw.def b/examples/output_bpw.def new file mode 100644 index 0000000000000000000000000000000000000000..0fc62484ef2387c8abe7993aa0daf637ecfc0457 --- /dev/null +++ b/examples/output_bpw.def @@ -0,0 +1,183 @@ +# See $ANALYZER/examples/output_example.def for examples +# +block H.dc.* +block H.hod.* +block H.cal.* +block H.aero.* +block H.cher.* +block H.tr.* +block RB.* +block g.evtyp + +# TDC hits per paddle +TH1F hpostdc1 'HMS s1x+ TDC hits' H.hod.1x.postdchits 16 0.5 16.5 +TH1F hnegtdc1 'HMS s1x- TDC hits' H.hod.1x.negtdchits 16 0.5 16.5 +TH1F hpostdc2 'HMS s1y+ TDC hits' H.hod.1y.postdchits 10 0.5 10.5 +TH1F hnegtdc2 'HMS s1y- TDC hits' H.hod.1y.negtdchits 10 0.5 10.5 +TH1F hpostdc3 'HMS s2x+ TDC hits' H.hod.2x.postdchits 16 0.5 16.5 +TH1F hnegtdc3 'HMS s2x- TDC hits' H.hod.2x.negtdchits 16 0.5 16.5 +TH1F hpostdc4 'HMS s2y+ TDC hits' H.hod.2y.postdchits 10 0.5 10.5 +TH1F hnegtdc4 'HMS s2y- TDC hits' H.hod.2y.negtdchits 10 0.5 10.5 + +# ADC hits per paddle +TH1F hposadc1 'HMS s1x+ ADC hits' H.hod.1x.posadchits 16 0.5 16.5 +TH1F hnegadc1 'HMS s1x- ADC hits' H.hod.1x.negadchits 16 0.5 16.5 +TH1F hposadc2 'HMS s1y+ ADC hits' H.hod.1y.posadchits 10 0.5 10.5 +TH1F hnegadc2 'HMS s1y- ADC hits' H.hod.1y.negadchits 10 0.5 10.5 +TH1F hposadc3 'HMS s2x+ ADC hits' H.hod.2x.posadchits 16 0.5 16.5 +TH1F hnegadc3 'HMS s2x- ADC hits' H.hod.2x.negadchits 16 0.5 16.5 +TH1F hposadc4 'HMS s2y+ ADC hits' H.hod.2y.posadchits 10 0.5 10.5 +TH1F hnegadc4 'HMS s2y- ADC hits' H.hod.2y.negadchits 10 0.5 10.5 + +# ADC hits per Calorimeter layer +TH1F chposadc1 'HMS Cal A+ ADC hits' H.cal.1pr.posadchits 13 0.5 13.5 +TH1F chnegadc1 'HMS Cal A- ADC hits' H.cal.1pr.negadchits 13 0.5 13.5 +TH1F chposadc2 'HMS Cal B+ ADC hits' H.cal.2ta.posadchits 13 0.5 13.5 +TH1F chnegadc2 'HMS Cal B- ADC hits' H.cal.2ta.negadchits 13 0.5 13.5 +TH1F chposadc3 'HMS Cal C+ ADC hits' H.cal.3ta.posadchits 13 0.5 13.5 +TH1F chposadc4 'HMS Cal D+ ADC hits' H.cal.4ta.posadchits 13 0.5 13.5 + +#Calorimeter ADC channels +TH1F hcaladc_A1p 'HMS Cal ADC A1p - PED' H.cal.1pr.apos_p[0] 150 50 500 +TH1F hcaladc_A2p 'HMS Cal ADC A2p - PED' H.cal.1pr.apos_p[1] 150 50 500 +TH1F hcaladc_A3p 'HMS Cal ADC A3p - PED' H.cal.1pr.apos_p[2] 150 50 500 +TH1F hcaladc_A4p 'HMS Cal ADC A4p - PED' H.cal.1pr.apos_p[3] 150 50 500 +TH1F hcaladc_A5p 'HMS Cal ADC A5p - PED' H.cal.1pr.apos_p[4] 150 50 500 +TH1F hcaladc_A6p 'HMS Cal ADC A6p - PED' H.cal.1pr.apos_p[5] 150 50 500 +TH1F hcaladc_A7p 'HMS Cal ADC A7p - PED' H.cal.1pr.apos_p[6] 150 50 500 +TH1F hcaladc_A8p 'HMS Cal ADC A8p - PED' H.cal.1pr.apos_p[7] 150 50 500 +TH1F hcaladc_A9p 'HMS Cal ADC A9p - PED' H.cal.1pr.apos_p[8] 150 50 500 +TH1F hcaladc_A10p 'HMS Cal ADC A10p - PED' H.cal.1pr.apos_p[9] 150 50 500 +TH1F hcaladc_A11p 'HMS Cal ADC A11p - PED' H.cal.1pr.apos_p[10] 150 50 500 +TH1F hcaladc_A12p 'HMS Cal ADC A12p - PED' H.cal.1pr.apos_p[11] 150 50 500 +TH1F hcaladc_A13p 'HMS Cal ADC A13p - PED' H.cal.1pr.apos_p[12] 150 50 500 + +TH1F hcaladc_B1p 'HMS Cal ADC B1p - PED' H.cal.2ta.apos_p[0] 150 50 500 +TH1F hcaladc_B2p 'HMS Cal ADC B2p - PED' H.cal.2ta.apos_p[1] 150 50 500 +TH1F hcaladc_B3p 'HMS Cal ADC B3p - PED' H.cal.2ta.apos_p[2] 150 50 500 +TH1F hcaladc_B4p 'HMS Cal ADC B4p - PED' H.cal.2ta.apos_p[3] 150 50 500 +TH1F hcaladc_B5p 'HMS Cal ADC B5p - PED' H.cal.2ta.apos_p[4] 150 50 500 +TH1F hcaladc_B6p 'HMS Cal ADC B6p - PED' H.cal.2ta.apos_p[5] 150 50 500 +TH1F hcaladc_B7p 'HMS Cal ADC B7p - PED' H.cal.2ta.apos_p[6] 150 50 500 +TH1F hcaladc_B8p 'HMS Cal ADC B8p - PED' H.cal.2ta.apos_p[7] 150 50 500 +TH1F hcaladc_B9p 'HMS Cal ADC B9p - PED' H.cal.2ta.apos_p[8] 150 50 500 +TH1F hcaladc_B10p 'HMS Cal ADC B10p - PED' H.cal.2ta.apos_p[9] 150 50 500 +TH1F hcaladc_B11p 'HMS Cal ADC B11p - PED' H.cal.2ta.apos_p[10] 150 50 500 +TH1F hcaladc_B12p 'HMS Cal ADC B12p - PED' H.cal.2ta.apos_p[11] 150 50 500 +TH1F hcaladc_B13p 'HMS Cal ADC B13p - PED' H.cal.2ta.apos_p[12] 150 50 500 + +TH1F hcaladc_C1p 'HMS Cal ADC C1p - PED' H.cal.3ta.apos_p[0] 150 50 500 +TH1F hcaladc_C2p 'HMS Cal ADC C2p - PED' H.cal.3ta.apos_p[1] 150 50 500 +TH1F hcaladc_C3p 'HMS Cal ADC C3p - PED' H.cal.3ta.apos_p[2] 150 50 500 +TH1F hcaladc_C4p 'HMS Cal ADC C4p - PED' H.cal.3ta.apos_p[3] 150 50 500 +TH1F hcaladc_C5p 'HMS Cal ADC C5p - PED' H.cal.3ta.apos_p[4] 150 50 500 +TH1F hcaladc_C6p 'HMS Cal ADC C6p - PED' H.cal.3ta.apos_p[5] 150 50 500 +TH1F hcaladc_C7p 'HMS Cal ADC C7p - PED' H.cal.3ta.apos_p[6] 150 50 500 +TH1F hcaladc_C8p 'HMS Cal ADC C8p - PED' H.cal.3ta.apos_p[7] 150 50 500 +TH1F hcaladc_C9p 'HMS Cal ADC C9p - PED' H.cal.3ta.apos_p[8] 150 50 500 +TH1F hcaladc_C10p 'HMS Cal ADC C10p - PED' H.cal.3ta.apos_p[9] 150 50 500 +TH1F hcaladc_C11p 'HMS Cal ADC C11p - PED' H.cal.3ta.apos_p[10] 150 50 500 +TH1F hcaladc_C12p 'HMS Cal ADC C12p - PED' H.cal.3ta.apos_p[11] 150 50 500 +TH1F hcaladc_C13p 'HMS Cal ADC C13p - PED' H.cal.3ta.apos_p[12] 150 50 500 + +TH1F hcaladc_D1p 'HMS Cal ADC D1p - PED' H.cal.4ta.apos_p[0] 150 50 500 +TH1F hcaladc_D2p 'HMS Cal ADC D2p - PED' H.cal.4ta.apos_p[1] 150 50 500 +TH1F hcaladc_D3p 'HMS Cal ADC D3p - PED' H.cal.4ta.apos_p[2] 150 50 500 +TH1F hcaladc_D4p 'HMS Cal ADC D4p - PED' H.cal.4ta.apos_p[3] 150 50 500 +TH1F hcaladc_D5p 'HMS Cal ADC D5p - PED' H.cal.4ta.apos_p[4] 150 50 500 +TH1F hcaladc_D6p 'HMS Cal ADC D6p - PED' H.cal.4ta.apos_p[5] 150 50 500 +TH1F hcaladc_D7p 'HMS Cal ADC D7p - PED' H.cal.4ta.apos_p[6] 150 50 500 +TH1F hcaladc_D8p 'HMS Cal ADC D8p - PED' H.cal.4ta.apos_p[7] 150 50 500 +TH1F hcaladc_D9p 'HMS Cal ADC D9p - PED' H.cal.4ta.apos_p[8] 150 50 500 +TH1F hcaladc_D10p 'HMS Cal ADC D10p - PED' H.cal.4ta.apos_p[9] 150 50 500 +TH1F hcaladc_D11p 'HMS Cal ADC D11p - PED' H.cal.4ta.apos_p[10] 150 50 500 +TH1F hcaladc_D12p 'HMS Cal ADC D12p - PED' H.cal.4ta.apos_p[11] 150 50 500 +TH1F hcaladc_D13p 'HMS Cal ADC D13p - PED' H.cal.4ta.apos_p[12] 150 50 500 + +TH1F hcaladc_A1n 'HMS Cal ADC A1n - PED' H.cal.1pr.aneg_p[0] 150 50 500 +TH1F hcaladc_A2n 'HMS Cal ADC A2n - PED' H.cal.1pr.aneg_p[1] 150 50 500 +TH1F hcaladc_A3n 'HMS Cal ADC A3n - PED' H.cal.1pr.aneg_p[2] 150 50 500 +TH1F hcaladc_A4n 'HMS Cal ADC A4n - PED' H.cal.1pr.aneg_p[3] 150 50 500 +TH1F hcaladc_A5n 'HMS Cal ADC A5n - PED' H.cal.1pr.aneg_p[4] 150 50 500 +TH1F hcaladc_A6n 'HMS Cal ADC A6n - PED' H.cal.1pr.aneg_p[5] 150 50 500 +TH1F hcaladc_A7n 'HMS Cal ADC A7n - PED' H.cal.1pr.aneg_p[6] 150 50 500 +TH1F hcaladc_A8n 'HMS Cal ADC A8n - PED' H.cal.1pr.aneg_p[7] 150 50 500 +TH1F hcaladc_A9n 'HMS Cal ADC A9n - PED' H.cal.1pr.aneg_p[8] 150 50 500 +TH1F hcaladc_A10n 'HMS Cal ADC A10n - PED' H.cal.1pr.aneg_p[9] 150 50 500 +TH1F hcaladc_A11n 'HMS Cal ADC A11n - PED' H.cal.1pr.aneg_p[10] 150 50 500 +TH1F hcaladc_A12n 'HMS Cal ADC A12n - PED' H.cal.1pr.aneg_p[11] 150 50 500 +TH1F hcaladc_A13n 'HMS Cal ADC A13n - PED' H.cal.1pr.aneg_p[12] 150 50 500 + +TH1F hcaladc_B1n 'HMS Cal ADC B1n - PED' H.cal.2ta.aneg_p[0] 150 50 500 +TH1F hcaladc_B2n 'HMS Cal ADC B2n - PED' H.cal.2ta.aneg_p[1] 150 50 500 +TH1F hcaladc_B3n 'HMS Cal ADC B3n - PED' H.cal.2ta.aneg_p[2] 150 50 500 +TH1F hcaladc_B4n 'HMS Cal ADC B4n - PED' H.cal.2ta.aneg_p[3] 150 50 500 +TH1F hcaladc_B5n 'HMS Cal ADC B5n - PED' H.cal.2ta.aneg_p[4] 150 50 500 +TH1F hcaladc_B6n 'HMS Cal ADC B6n - PED' H.cal.2ta.aneg_p[5] 150 50 500 +TH1F hcaladc_B7n 'HMS Cal ADC B7n - PED' H.cal.2ta.aneg_p[6] 150 50 500 +TH1F hcaladc_B8n 'HMS Cal ADC B8n - PED' H.cal.2ta.aneg_p[7] 150 50 500 +TH1F hcaladc_B9n 'HMS Cal ADC B9n - PED' H.cal.2ta.aneg_p[8] 150 50 500 +TH1F hcaladc_B10n 'HMS Cal ADC B10n - PED' H.cal.2ta.aneg_p[9] 150 50 500 +TH1F hcaladc_B11n 'HMS Cal ADC B11n - PED' H.cal.2ta.aneg_p[10] 150 50 500 +TH1F hcaladc_B12n 'HMS Cal ADC B12n - PED' H.cal.2ta.aneg_p[11] 150 50 500 +TH1F hcaladc_B13n 'HMS Cal ADC B13n - PED' H.cal.2ta.aneg_p[12] 150 50 500 + +#TH1F hdcrawtdc +#TH1F hdccuttdc + +# Can we use variables for the constants. In CTP we used hdc_nwire(i) +# +TH1F hdc1x1_wm 'HDC 1X1 Wiremap' H.dc.1x1.tdchits 113 0.5 113.5 +TH1F hdc1y1_wm 'HDC 1Y1 Wiremap' H.dc.1y1.tdchits 52 0.5 52.5 +TH1F hdc1u1_wm 'HDC 1U1 Wiremap' H.dc.1u1.tdchits 107 0.5 107.5 +TH1F hdc1v1_wm 'HDC 1V1 Wiremap' H.dc.1v1.tdchits 107 0.5 107.5 +TH1F hdc1y2_wm 'HDC 1Y2 Wiremap' H.dc.1y2.tdchits 52 0.5 52.5 +TH1F hdc1x2_wm 'HDC 1X2 Wiremap' H.dc.1x2.tdchits 113 0.5 113.5 +TH1F hdc2x1_wm 'HDC 2X1 Wiremap' H.dc.2x1.tdchits 113 0.5 113.5 +TH1F hdc2y1_wm 'HDC 2Y1 Wiremap' H.dc.2y1.tdchits 52 0.5 52.5 +TH1F hdc2u1_wm 'HDC 2U1 Wiremap' H.dc.2u1.tdchits 107 0.5 107.5 +TH1F hdc2v1_wm 'HDC 2V1 Wiremap' H.dc.2v1.tdchits 107 0.5 107.5 +TH1F hdc2y2_wm 'HDC 2Y2 Wiremap' H.dc.2y2.tdchits 52 0.5 52.5 +TH1F hdc2x2_wm 'HDC 2X2 Wiremap' H.dc.2x2.tdchits 113 0.5 113.5 + +# Drift Time and Drift Distance Spectra +TH1F hdc1x1_dt 'HDC 1X1 Drift Time' H.dc.1x1.time 200 -100 300 +TH1F hdc1y1_dt 'HDC 1Y1 Drift Time' H.dc.1y1.time 200 -100 300 +TH1F hdc1u1_dt 'HDC 1U1 Drift Time' H.dc.1u1.time 200 -100 300 +TH1F hdc1v1_dt 'HDC 1V1 Drift Time' H.dc.1v1.time 200 -100 300 +TH1F hdc1y2_dt 'HDC 1Y2 Drift Time' H.dc.1y2.time 200 -100 300 +TH1F hdc1x2_dt 'HDC 1X2 Drift Time' H.dc.1x2.time 200 -100 300 +TH1F hdc2x1_dt 'HDC 2X1 Drift Time' H.dc.2x1.time 200 -100 300 +TH1F hdc2y1_dt 'HDC 2Y1 Drift Time' H.dc.2y1.time 200 -100 300 +TH1F hdc2u1_dt 'HDC 2U1 Drift Time' H.dc.2u1.time 200 -100 300 +TH1F hdc2v1_dt 'HDC 2V1 Drift Time' H.dc.2v1.time 200 -100 300 +TH1F hdc2y2_dt 'HDC 2Y2 Drift Time' H.dc.2y2.time 200 -100 300 +TH1F hdc2x2_dt 'HDC 2X2 Drift Time' H.dc.2x2.time 200 -100 300 + +TH1F hdc1x1_dd 'HDC 1X1 Drift Distance' H.dc.1x1.dist 300 -0.1 0.6 +TH1F hdc1y1_dd 'HDC 1Y1 Drift Distance' H.dc.1y1.dist 300 -0.1 0.6 +TH1F hdc1u1_dd 'HDC 1U1 Drift Distance' H.dc.1u1.dist 300 -0.1 0.6 +TH1F hdc1v1_dd 'HDC 1V1 Drift Distance' H.dc.1v1.dist 300 -0.1 0.6 +TH1F hdc1y2_dd 'HDC 1Y2 Drift Distance' H.dc.1y2.dist 300 -0.1 0.6 +TH1F hdc1x2_dd 'HDC 1X2 Drift Distance' H.dc.1x2.dist 300 -0.1 0.6 +TH1F hdc2x1_dd 'HDC 2X1 Drift Distance' H.dc.2x1.dist 300 -0.1 0.6 +TH1F hdc2y1_dd 'HDC 2Y1 Drift Distance' H.dc.2y1.dist 300 -0.1 0.6 +TH1F hdc2u1_dd 'HDC 2U1 Drift Distance' H.dc.2u1.dist 300 -0.1 0.6 +TH1F hdc2v1_dd 'HDC 2V1 Drift Distance' H.dc.2v1.dist 300 -0.1 0.6 +TH1F hdc2y2_dd 'HDC 2Y2 Drift Distance' H.dc.2y2.dist 300 -0.1 0.6 +TH1F hdc2x2_dd 'HDC 2X2 Drift Distance' H.dc.2x2.dist 300 -0.1 0.6 + +# Focal Plane times +TH1F hs1xfptime 'HODO s1x fptime' H.hod.1x.fptime 80 0 80 H.hod.hgoodstarttime +TH1F hs1yfptime 'HODO s1y fptime' H.hod.1y.fptime 80 0 80 H.hod.hgoodstarttime +TH1F hs2xfptime 'HODO s2x fptime' H.hod.2x.fptime 80 0 80 H.hod.hgoodstarttime +TH1F hs2yfptime 'HODO s2y fptime' H.hod.2y.fptime 80 0 80 H.hod.hgoodstarttime +TH1F starttime 'HODO start time' H.hod.starttime 80 0 80 H.hod.hgoodstarttime + +# Beam related ADC channels. eg. raster +TH1F frx_raw_adc 'Raster X Raw ADC' RB.raster.frx_raw_adc 1200 3200 4400 +TH1F fry_raw_adc 'Raster Y Raw ADC' RB.raster.fry_raw_adc 1200 3200 4400 +TH1F frx_adc 'Raster X ADC' RB.raster.frx_adc 1000 -500 500 +TH1F fry_adc 'Raster Y ADC' RB.raster.fry_adc 1000 -500 500 +TH1F frx 'Raster X Position' RB.raster.frx 100 -0.5 0.5 +TH1F fry 'Raster Y Position' RB.raster.fry 100 -0.5 0.5 diff --git a/examples/output_mkj.def b/examples/output_mkj.def new file mode 100644 index 0000000000000000000000000000000000000000..198c491da320d3850034dd35a6baf13e68ef772e --- /dev/null +++ b/examples/output_mkj.def @@ -0,0 +1,170 @@ +# See $ANALYZER/examples/output_example.def for examples +# +block H.dc.* +block H.hod.* +block H.cal.* +block H.aero.* +block H.tr.* +block g.evtyp + +# TDC spectra +TH1F hfptime1x ' HMS s1x fptime' H.hod.1x.fptime 80 0. 80. +TH1F hfptime1y ' HMS s1y fptime' H.hod.1y.fptime 80 0. 80. +TH1F hfptime2x ' HMS s2x fptime' H.hod.2x.fptime 80 0. 80. +TH1F hfptime2y ' HMS s2y fptime' H.hod.2y.fptime 80 0. 80. +# Beta +TH1F hfpBeta 'HMS Hodo Beta' H.hod.fpBeta 250 -0.5 2.0 +TH1F hfpBetaChisq 'HMS Hodo Chisq' H.hod.fpBetaChisq 550 -5. 50. +# TDC hits per paddle +TH1F hpostdc1 'HMS s1x+ TDC hits' H.hod.1x.postdchits 16 0.5 16.5 +TH1F hnegtdc1 'HMS s1x- TDC hits' H.hod.1x.negtdchits 16 0.5 16.5 +TH1F hpostdc2 'HMS s1y+ TDC hits' H.hod.1y.postdchits 10 0.5 10.5 +TH1F hnegtdc2 'HMS s1y- TDC hits' H.hod.1y.negtdchits 10 0.5 10.5 +TH1F hpostdc3 'HMS s2x+ TDC hits' H.hod.2x.postdchits 16 0.5 16.5 +TH1F hnegtdc3 'HMS s2x- TDC hits' H.hod.2x.negtdchits 16 0.5 16.5 +TH1F hpostdc4 'HMS s2y+ TDC hits' H.hod.2y.postdchits 10 0.5 10.5 +TH1F hnegtdc4 'HMS s2y- TDC hits' H.hod.2y.negtdchits 10 0.5 10.5 + +# ADC hits per paddle +TH1F hposadc1 'HMS s1x+ ADC hits' H.hod.1x.posadchits 16 0.5 16.5 +TH1F hnegadc1 'HMS s1x- ADC hits' H.hod.1x.negadchits 16 0.5 16.5 +TH1F hposadc2 'HMS s1y+ ADC hits' H.hod.1y.posadchits 10 0.5 10.5 +TH1F hnegadc2 'HMS s1y- ADC hits' H.hod.1y.negadchits 10 0.5 10.5 +TH1F hposadc3 'HMS s2x+ ADC hits' H.hod.2x.posadchits 16 0.5 16.5 +TH1F hnegadc3 'HMS s2x- ADC hits' H.hod.2x.negadchits 16 0.5 16.5 +TH1F hposadc4 'HMS s2y+ ADC hits' H.hod.2y.posadchits 10 0.5 10.5 +TH1F hnegadc4 'HMS s2y- ADC hits' H.hod.2y.negadchits 10 0.5 10.5 + +# ADC hits per Calorimeter layer +TH1F chposadc1 'HMS Cal A+ ADC hits' H.cal.1pr.posadchits 13 0.5 13.5 +TH1F chnegadc1 'HMS Cal A- ADC hits' H.cal.1pr.negadchits 13 0.5 13.5 +TH1F chposadc2 'HMS Cal B+ ADC hits' H.cal.2ta.posadchits 13 0.5 13.5 +TH1F chnegadc2 'HMS Cal B- ADC hits' H.cal.2ta.negadchits 13 0.5 13.5 +TH1F chposadc3 'HMS Cal C+ ADC hits' H.cal.3ta.posadchits 13 0.5 13.5 +TH1F chposadc4 'HMS Cal D+ ADC hits' H.cal.4ta.posadchits 13 0.5 13.5 + +#Calorimeter ADC channels +TH1F hcaladc_A1p 'HMS Cal ADC A1p - PED' H.cal.1pr.apos_p[0] 150 50 500 +TH1F hcaladc_A2p 'HMS Cal ADC A2p - PED' H.cal.1pr.apos_p[1] 150 50 500 +TH1F hcaladc_A3p 'HMS Cal ADC A3p - PED' H.cal.1pr.apos_p[2] 150 50 500 +TH1F hcaladc_A4p 'HMS Cal ADC A4p - PED' H.cal.1pr.apos_p[3] 150 50 500 +TH1F hcaladc_A5p 'HMS Cal ADC A5p - PED' H.cal.1pr.apos_p[4] 150 50 500 +TH1F hcaladc_A6p 'HMS Cal ADC A6p - PED' H.cal.1pr.apos_p[5] 150 50 500 +TH1F hcaladc_A7p 'HMS Cal ADC A7p - PED' H.cal.1pr.apos_p[6] 150 50 500 +TH1F hcaladc_A8p 'HMS Cal ADC A8p - PED' H.cal.1pr.apos_p[7] 150 50 500 +TH1F hcaladc_A9p 'HMS Cal ADC A9p - PED' H.cal.1pr.apos_p[8] 150 50 500 +TH1F hcaladc_A10p 'HMS Cal ADC A10p - PED' H.cal.1pr.apos_p[9] 150 50 500 +TH1F hcaladc_A11p 'HMS Cal ADC A11p - PED' H.cal.1pr.apos_p[10] 150 50 500 +TH1F hcaladc_A12p 'HMS Cal ADC A12p - PED' H.cal.1pr.apos_p[11] 150 50 500 +TH1F hcaladc_A13p 'HMS Cal ADC A13p - PED' H.cal.1pr.apos_p[12] 150 50 500 +TH1F hcaladc_B1p 'HMS Cal ADC B1p - PED' H.cal.2ta.apos_p[0] 150 50 500 +TH1F hcaladc_B2p 'HMS Cal ADC B2p - PED' H.cal.2ta.apos_p[1] 150 50 500 +TH1F hcaladc_B3p 'HMS Cal ADC B3p - PED' H.cal.2ta.apos_p[2] 150 50 500 +TH1F hcaladc_B4p 'HMS Cal ADC B4p - PED' H.cal.2ta.apos_p[3] 150 50 500 +TH1F hcaladc_B5p 'HMS Cal ADC B5p - PED' H.cal.2ta.apos_p[4] 150 50 500 +TH1F hcaladc_B6p 'HMS Cal ADC B6p - PED' H.cal.2ta.apos_p[5] 150 50 500 +TH1F hcaladc_B7p 'HMS Cal ADC B7p - PED' H.cal.2ta.apos_p[6] 150 50 500 +TH1F hcaladc_B8p 'HMS Cal ADC B8p - PED' H.cal.2ta.apos_p[7] 150 50 500 +TH1F hcaladc_B9p 'HMS Cal ADC B9p - PED' H.cal.2ta.apos_p[8] 150 50 500 +TH1F hcaladc_B10p 'HMS Cal ADC B10p - PED' H.cal.2ta.apos_p[9] 150 50 500 +TH1F hcaladc_B11p 'HMS Cal ADC B11p - PED' H.cal.2ta.apos_p[10] 150 50 500 +TH1F hcaladc_B12p 'HMS Cal ADC B12p - PED' H.cal.2ta.apos_p[11] 150 50 500 +TH1F hcaladc_B13p 'HMS Cal ADC B13p - PED' H.cal.2ta.apos_p[12] 150 50 500 + +TH1F hcaladc_C1p 'HMS Cal ADC C1p - PED' H.cal.3ta.apos_p[0] 150 50 500 +TH1F hcaladc_C2p 'HMS Cal ADC C2p - PED' H.cal.3ta.apos_p[1] 150 50 500 +TH1F hcaladc_C3p 'HMS Cal ADC C3p - PED' H.cal.3ta.apos_p[2] 150 50 500 +TH1F hcaladc_C4p 'HMS Cal ADC C4p - PED' H.cal.3ta.apos_p[3] 150 50 500 +TH1F hcaladc_C5p 'HMS Cal ADC C5p - PED' H.cal.3ta.apos_p[4] 150 50 500 +TH1F hcaladc_C6p 'HMS Cal ADC C6p - PED' H.cal.3ta.apos_p[5] 150 50 500 +TH1F hcaladc_C7p 'HMS Cal ADC C7p - PED' H.cal.3ta.apos_p[6] 150 50 500 +TH1F hcaladc_C8p 'HMS Cal ADC C8p - PED' H.cal.3ta.apos_p[7] 150 50 500 +TH1F hcaladc_C9p 'HMS Cal ADC C9p - PED' H.cal.3ta.apos_p[8] 150 50 500 +TH1F hcaladc_C10p 'HMS Cal ADC C10p - PED' H.cal.3ta.apos_p[9] 150 50 500 +TH1F hcaladc_C11p 'HMS Cal ADC C11p - PED' H.cal.3ta.apos_p[10] 150 50 500 +TH1F hcaladc_C12p 'HMS Cal ADC C12p - PED' H.cal.3ta.apos_p[11] 150 50 500 +TH1F hcaladc_C13p 'HMS Cal ADC C13p - PED' H.cal.3ta.apos_p[12] 150 50 500 + +TH1F hcaladc_D1p 'HMS Cal ADC D1p - PED' H.cal.4ta.apos_p[0] 150 50 500 +TH1F hcaladc_D2p 'HMS Cal ADC D2p - PED' H.cal.4ta.apos_p[1] 150 50 500 +TH1F hcaladc_D3p 'HMS Cal ADC D3p - PED' H.cal.4ta.apos_p[2] 150 50 500 +TH1F hcaladc_D4p 'HMS Cal ADC D4p - PED' H.cal.4ta.apos_p[3] 150 50 500 +TH1F hcaladc_D5p 'HMS Cal ADC D5p - PED' H.cal.4ta.apos_p[4] 150 50 500 +TH1F hcaladc_D6p 'HMS Cal ADC D6p - PED' H.cal.4ta.apos_p[5] 150 50 500 +TH1F hcaladc_D7p 'HMS Cal ADC D7p - PED' H.cal.4ta.apos_p[6] 150 50 500 +TH1F hcaladc_D8p 'HMS Cal ADC D8p - PED' H.cal.4ta.apos_p[7] 150 50 500 +TH1F hcaladc_D9p 'HMS Cal ADC D9p - PED' H.cal.4ta.apos_p[8] 150 50 500 +TH1F hcaladc_D10p 'HMS Cal ADC D10p - PED' H.cal.4ta.apos_p[9] 150 50 500 +TH1F hcaladc_D11p 'HMS Cal ADC D11p - PED' H.cal.4ta.apos_p[10] 150 50 500 +TH1F hcaladc_D12p 'HMS Cal ADC D12p - PED' H.cal.4ta.apos_p[11] 150 50 500 +TH1F hcaladc_D13p 'HMS Cal ADC D13p - PED' H.cal.4ta.apos_p[12] 150 50 500 + +TH1F hcaladc_A1n 'HMS Cal ADC A1n - PED' H.cal.1pr.aneg_p[0] 150 50 500 +TH1F hcaladc_A2n 'HMS Cal ADC A2n - PED' H.cal.1pr.aneg_p[1] 150 50 500 +TH1F hcaladc_A3n 'HMS Cal ADC A3n - PED' H.cal.1pr.aneg_p[2] 150 50 500 +TH1F hcaladc_A4n 'HMS Cal ADC A4n - PED' H.cal.1pr.aneg_p[3] 150 50 500 +TH1F hcaladc_A5n 'HMS Cal ADC A5n - PED' H.cal.1pr.aneg_p[4] 150 50 500 +TH1F hcaladc_A6n 'HMS Cal ADC A6n - PED' H.cal.1pr.aneg_p[5] 150 50 500 +TH1F hcaladc_A7n 'HMS Cal ADC A7n - PED' H.cal.1pr.aneg_p[6] 150 50 500 +TH1F hcaladc_A8n 'HMS Cal ADC A8n - PED' H.cal.1pr.aneg_p[7] 150 50 500 +TH1F hcaladc_A9n 'HMS Cal ADC A9n - PED' H.cal.1pr.aneg_p[8] 150 50 500 +TH1F hcaladc_A10n 'HMS Cal ADC A10n - PED' H.cal.1pr.aneg_p[9] 150 50 500 +TH1F hcaladc_A11n 'HMS Cal ADC A11n - PED' H.cal.1pr.aneg_p[10] 150 50 500 +TH1F hcaladc_A12n 'HMS Cal ADC A12n - PED' H.cal.1pr.aneg_p[11] 150 50 500 +TH1F hcaladc_A13n 'HMS Cal ADC A13n - PED' H.cal.1pr.aneg_p[12] 150 50 500 + +TH1F hcaladc_B1n 'HMS Cal ADC B1n - PED' H.cal.2ta.aneg_p[0] 150 50 500 +TH1F hcaladc_B2n 'HMS Cal ADC B2n - PED' H.cal.2ta.aneg_p[1] 150 50 500 +TH1F hcaladc_B3n 'HMS Cal ADC B3n - PED' H.cal.2ta.aneg_p[2] 150 50 500 +TH1F hcaladc_B4n 'HMS Cal ADC B4n - PED' H.cal.2ta.aneg_p[3] 150 50 500 +TH1F hcaladc_B5n 'HMS Cal ADC B5n - PED' H.cal.2ta.aneg_p[4] 150 50 500 +TH1F hcaladc_B6n 'HMS Cal ADC B6n - PED' H.cal.2ta.aneg_p[5] 150 50 500 +TH1F hcaladc_B7n 'HMS Cal ADC B7n - PED' H.cal.2ta.aneg_p[6] 150 50 500 +TH1F hcaladc_B8n 'HMS Cal ADC B8n - PED' H.cal.2ta.aneg_p[7] 150 50 500 +TH1F hcaladc_B9n 'HMS Cal ADC B9n - PED' H.cal.2ta.aneg_p[8] 150 50 500 +TH1F hcaladc_B10n 'HMS Cal ADC B10n - PED' H.cal.2ta.aneg_p[9] 150 50 500 +TH1F hcaladc_B11n 'HMS Cal ADC B11n - PED' H.cal.2ta.aneg_p[10] 150 50 500 +TH1F hcaladc_B12n 'HMS Cal ADC B12n - PED' H.cal.2ta.aneg_p[11] 150 50 500 +TH1F hcaladc_B13n 'HMS Cal ADC B13n - PED' H.cal.2ta.aneg_p[12] 150 50 500 + +# Can we use variables for the constants. In CTP we used hdc_nwire(i) +# +TH1F hdc1x1_wm 'HDC 1X1 Wiremap' H.dc.1x1.tdchits 113 0.5 113.5 +TH1F hdc1y1_wm 'HDC 1Y1 Wiremap' H.dc.1y1.tdchits 52 0.5 52.5 +TH1F hdc1u1_wm 'HDC 1U1 Wiremap' H.dc.1u1.tdchits 107 0.5 107.5 +TH1F hdc1v1_wm 'HDC 1V1 Wiremap' H.dc.1v1.tdchits 107 0.5 107.5 +TH1F hdc1y2_wm 'HDC 1Y2 Wiremap' H.dc.1y2.tdchits 52 0.5 52.5 +TH1F hdc1x2_wm 'HDC 1X2 Wiremap' H.dc.1x2.tdchits 113 0.5 113.5 +TH1F hdc2x1_wm 'HDC 2X1 Wiremap' H.dc.2x1.tdchits 113 0.5 113.5 +TH1F hdc2y1_wm 'HDC 2Y1 Wiremap' H.dc.2y1.tdchits 52 0.5 52.5 +TH1F hdc2u1_wm 'HDC 2U1 Wiremap' H.dc.2u1.tdchits 107 0.5 107.5 +TH1F hdc2v1_wm 'HDC 2V1 Wiremap' H.dc.2v1.tdchits 107 0.5 107.5 +TH1F hdc2y2_wm 'HDC 2Y2 Wiremap' H.dc.2y2.tdchits 52 0.5 52.5 +TH1F hdc2x2_wm 'HDC 2X2 Wiremap' H.dc.2x2.tdchits 113 0.5 113.5 +# +TH1F ddist_hdc1x1 'HDC 1X1 Drift Dis' H.dc.1x1.dist 30 -0.1 0.6 +TH1F ddist_hdc1y1 'HDC 1Y1 Drift Dis' H.dc.1y1.dist 30 -0.1 0.6 +TH1F ddist_hdc1u1 'HDC 1U1 Drift Dis' H.dc.1u1.dist 30 -0.1 0.6 +TH1F ddist_hdc1v1 'HDC 1V1 Drift Dis' H.dc.1v1.dist 30 -0.1 0.6 +TH1F ddist_hdc1y2 'HDC 1Y2 Drift Dis' H.dc.1y2.dist 30 -0.1 0.6 +TH1F ddist_hdc1x2 'HDC 1X2 Drift Dis' H.dc.1x2.dist 30 -0.1 0.6 +TH1F ddist_hdc2x1 'HDC 2X1 Drift Dis' H.dc.2x1.dist 30 -0.1 0.6 +TH1F ddist_hdc2y1 'HDC 2Y1 Drift Dis' H.dc.2y1.dist 30 -0.1 0.6 +TH1F ddist_hdc2u1 'HDC 2U1 Drift Dis' H.dc.2u1.dist 30 -0.1 0.6 +TH1F ddist_hdc2v1 'HDC 2V1 Drift Dis' H.dc.2v1.dist 30 -0.1 0.6 +TH1F ddist_hdc2y2 'HDC 2Y2 Drift Dis' H.dc.2y2.dist 30 -0.1 0.6 +TH1F ddist_hdc2x2 'HDC 2X2 Drift Dis' H.dc.2x2.dist 30 -0.1 0.6 +# +TH1F dtime_hdc1x1 'HDC 1X1 Drift Time' H.dc.1x1.time 200 -100 300 +TH1F dtime_hdc1y1 'HDC 1Y1 Drift Time' H.dc.1y1.time 200 -100 300 +TH1F dtime_hdc1u1 'HDC 1U1 Drift Time' H.dc.1u1.time 200 -100 300 +TH1F dtime_hdc1v1 'HDC 1V1 Drift Time' H.dc.1v1.time 200 -100 300 +TH1F dtime_hdc1y2 'HDC 1Y2 Drift Time' H.dc.1y2.time 200 -100 300 +TH1F dtime_hdc1x2 'HDC 1X2 Drift Time' H.dc.1x2.time 200 -100 300 +TH1F dtime_hdc2x1 'HDC 2X1 Drift Time' H.dc.2x1.time 200 -100 300 +TH1F dtime_hdc2y1 'HDC 2Y1 Drift Time' H.dc.2y1.time 200 -100 300 +TH1F dtime_hdc2u1 'HDC 2U1 Drift Time' H.dc.2u1.time 200 -100 300 +TH1F dtime_hdc2v1 'HDC 2V1 Drift Time' H.dc.2v1.time 200 -100 300 +TH1F dtime_hdc2y2 'HDC 2Y2 Drift Time' H.dc.2y2.time 200 -100 300 +TH1F dtime_hdc2x2 'HDC 2X2 Drift Time' H.dc.2x2.time 200 -100 300 + diff --git a/examples/raster_test.C b/examples/raster_test.C new file mode 100644 index 0000000000000000000000000000000000000000..a28f4143692854df3c89ce19877887ad0285f3bd --- /dev/null +++ b/examples/raster_test.C @@ -0,0 +1,105 @@ + +{ + + // + // Steering script to test raster signal decoding + // + + Int_t RunNumber=52947; + char* RunFileNamePattern="/cache/mss/hallc/daq04/raw/daq04_52947.log.0"; + + + // Open the database + // + gHcParms->Define("gen_run_number", "Run Number", RunNumber); + gHcParms->AddString("g_ctp_database_filename", "DBASE/raster_test.database"); + gHcParms->Load(gHcParms->GetString("g_ctp_database_filename"), RunNumber); + + + // Open and load parameter files + // + gHcParms->Load(gHcParms->GetString("g_ctp_kinematics_filename"), RunNumber); + gHcParms->Load(gHcParms->GetString("g_ctp_parm_filename")); + // parameters not found in usual engine parameter files + gHcParms->Load("PARAM/hcana.param"); + + + // Generate db_cratemap to correspond to map file contents + // make_cratemap.pl scripts reads a Hall C style MAP file and output a + // Hall A style crate map DB file + // + char command[100]; + sprintf(command,"./make_cratemap.pl < %s > db_cratemap.dat",gHcParms->GetString("g_decode_map_filename")); + system(command); + + + // Load the Hall C style detector map + // + gHcDetectorMap=new THcDetectorMap(); + gHcDetectorMap->Load(gHcParms->GetString("g_decode_map_filename")); + + + // Set up the equipment to be analyzed. + // + // HMS and its detectors + THaApparatus* HMS = new THcHallCSpectrometer("H","HMS"); + gHaApps->Add( HMS ); + // Add hodoscope + HMS->AddDetector( new THcHodoscope("hod", "Hodoscope" )); + HMS->AddDetector( new THcShower("cal", "Shower" )); + HMS->AddDetector( new THcDC("dc", "Drift Chambers" )); + HMS->AddDetector( new THcAerogel("aero", "Aerogel Cerenkov" )); + HMS->AddDetector( new THcCherenkov("cher", "Gas Cerenkov" )); + + + // Beamline and its detectors + THaApparatus * BEAM = new THcRasteredBeam("RB","Rastered Beamline"); + gHaApps->Add( BEAM ); + + + // 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); + + + // Eventually need to learn to skip over, or properly analyze + // the pedestal events + // + run->SetEventRange(1,2000);// Physics Event number, does not + // include scaler or control events + + // Define the analysis parameters + // + analyzer->SetEvent(event); + analyzer->SetOutFile("raster_compare_52947.root"); + analyzer->SetOdefFile("output_bpw.def"); + analyzer->SetCutFile("hodtest_cuts.def"); // optional + analyzer->SetCountMode(2);// Counter event number same as gen_event_ID_number + + // File to record cuts accounting information + // analyzer->SetSummaryFile("summary_example.log"); // optional + + // start the actual analysis + // + analyzer->Process(run); + analyzer->PrintReport("report.template","report.out"); +} diff --git a/examples/report.template b/examples/report.template new file mode 100644 index 0000000000000000000000000000000000000000..bb41e4f2171916e5c4de3d64cb543d0ff16612c4 --- /dev/null +++ b/examples/report.template @@ -0,0 +1,73 @@ + + This is a report template file. + +It can be used to create simple run summary/statistics output files. + +To produce a report, put in your analysis steering script, the line + + analyzer->PrintReport(templatefilename, reportfilename); + +where analyzer is your analyzer object. + +The template file is copied to the output file, except that anything +inside of the braces gets evaluated. If the braces contain a string variable, +the value of variable replaces the braced name. Otherwise what is +in the braces is evaluated as an expression. Currently the expression can be +composed of Hall C style parameter variables, cut results (not really too usefull) +and cut statistics. (Number of times called and number of times passed.) + +For example, {100*Pedestal_event.npassed/Pedestal_event.ncalled:%.2f}% is the +percentage of events that were pedestal events. + +------------------------ +HMS Cherenkov +------------------------ +HMS cherenkov total photo electrons: {hmstotchernpe.npassed:%.2f} + + +------------------------ +HMS Hodoscope +------------------------ +Scin test: {hgood_hits} +Scin should fired counters: {hmsscinshould.npassed:%7d} +Scin total should fired counter: {hmstotscinshould.npassed:%7d} + +------------------------ +HMS Drift Chambers +------------------------ +Total number of triggers with any tracks: {hfoundtrack.npassed:%7d} +Total number of triggers with only one track: {hfound1track.npassed:%7d} + +Horizontal drift chamber z positions: +Chamber 1: {hdc_zpos[0]:%6.2f} {hdc_zpos[1]:%6.2f} {hdc_zpos[2]:%6.2f} + {hdc_zpos[3]:%6.2f} {hdc_zpos[4]:%6.2f} {hdc_zpos[5]:%6.2f} +Chamber 2: {hdc_zpos[6]:%6.2f} {hdc_zpos[7]:%6.2f} {hdc_zpos[8]:%6.2f} + {hdc_zpos[9]:%6.2f} {hdc_zpos[10]:%6.2f} {hdc_zpos[11]:%6.2f} + +The expression result can be formatted by putting a ":" followed by +a c-style format after the expression. + +The HMS reconstruction coefficient file name is {h_recon_coeff_filename} +The names of the HMS drift chamber planes are: +{hdc_plane_names} + +DC Events: {hdc_tot_events} +Hit in chamber: {hdc_cham_hits[0]/hdc_tot_events:%.3f} + {hdc_cham_hits[1]/hdc_tot_events:%.3f} + +Hit in plane: {hdc_events[0]/hdc_tot_events:%.3f} {hdc_events[1]/hdc_tot_events:%.3f} + {hdc_events[2]/hdc_tot_events:%.3f} {hdc_events[3]/hdc_tot_events:%.3f} + {hdc_events[4]/hdc_tot_events:%.3f} {hdc_events[5]/hdc_tot_events:%.3f} + {hdc_events[6]/hdc_tot_events:%.3f} {hdc_events[7]/hdc_tot_events:%.3f} + {hdc_events[8]/hdc_tot_events:%.3f} {hdc_events[9]/hdc_tot_events:%.3f} + {hdc_events[10]/hdc_tot_events:%.3f} {hdc_events[11]/hdc_tot_events:%.3f} + +Run #{gen_run_number} +first event = {gen_run_starting_event:%7d} +last event = {gen_event_id_number:%7d} + +Later, such things as hardware scalers will be added to the set of variables +that can be used in expressions. + +Last momenutm: {H.tr.p[0]} + diff --git a/hcal_calib/THcShHit.h b/hcal_calib/THcShHit.h new file mode 100644 index 0000000000000000000000000000000000000000..20afcced1f71e1fe0c234c87a60eff0db32298c5 --- /dev/null +++ b/hcal_calib/THcShHit.h @@ -0,0 +1,72 @@ +#include <iostream> + +// HMS calorimeter hit class for calibration. + +class THcShHit { + + Double_t ADCpos, ADCneg; // pedestal subtracted ADC signals. + Double_t Epos, Eneg; // Energy depositions seen from pos. & neg. sides + UInt_t BlkNumber; + + public: + + THcShHit(); + THcShHit(Double_t adc_pos, Double_t adc_neg, + UInt_t blk_number); + ~THcShHit(); + + void SetADCpos(Double_t sig) {ADCpos = sig;} + + void SetADCneg(Double_t sig) {ADCneg = sig;} + + void SetEpos(Double_t e) {Epos = e;} + + void SetEneg(Double_t e) {Eneg = e;} + + void SetBlkNumber(UInt_t n) {BlkNumber = n;} + + Double_t GetADCpos() {return ADCpos;} + + Double_t GetADCneg() {return ADCneg;} + + Double_t GetEpos() {return Epos;} + + Double_t GetEneg() {return Eneg;} + + UInt_t GetBlkNumber() {return BlkNumber;} + + void Print(ostream & ostrm); +}; + +//------------------------------------------------------------------------------ + +THcShHit::THcShHit() { + ADCpos = -99999.; + ADCneg = -99999.; + Epos = -99999.; + Eneg = -99999.; + BlkNumber = 99999; +}; + +THcShHit::THcShHit(Double_t adc_pos, Double_t adc_neg, + UInt_t blk_number) { + ADCpos = adc_pos; + ADCneg = adc_neg; + Epos = 0.; + Eneg = 0.; + BlkNumber = blk_number; +}; + +THcShHit::~THcShHit() { }; + +//------------------------------------------------------------------------------ + +void THcShHit::Print(ostream & ostrm) { + + // Output hit data through the stream ostrm. + + ostrm << ADCpos << " " << ADCneg << " " << Epos << " " << Eneg << " " + << BlkNumber << endl; +}; + +struct pmt_hit {Double_t signal; UInt_t channel;}; diff --git a/hcal_calib/THcShTrack.h b/hcal_calib/THcShTrack.h new file mode 100644 index 0000000000000000000000000000000000000000..d8c74d9f14db19c1e8fa37f5e871f685ebc9abe3 --- /dev/null +++ b/hcal_calib/THcShTrack.h @@ -0,0 +1,210 @@ +#include "THcShHit.h" +#include "TMath.h" + +#include <vector> +#include <iterator> +#include <iostream> +#include <fstream> + +using namespace std; + +// Track class for the HMS calorimeter calibration. +// Comprises the spectrometer track parameters and calorimeter hits. +// + +// Container (collection) of hits and its iterator. +// +typedef vector<THcShHit*> THcShHitList; +typedef THcShHitList::iterator THcShHitIt; + +class THcShTrack { + + Double_t P; // track momentum + Double_t X; // at the calorimater face + Double_t Xp; // slope + Double_t Y; // at the calorimater face + Double_t Yp; // slope + + THcShHitList Hits; + + public: + THcShTrack(); + THcShTrack(Double_t p, Double_t x, Double_t xp, Double_t y, Double_t yp); + ~THcShTrack(); + + void Reset(Double_t p, Double_t x, Double_t xp, Double_t y, Double_t yp); + + void AddHit(Double_t adc_pos, Double_t adc_neg, + Double_t e_pos, Double_t e_neg, + UInt_t blk_number); + + THcShHit* GetHit(UInt_t k); + + UInt_t GetNhits() {return Hits.size();}; + + void Print(ostream & ostrm); + + void SetEs(Double_t* alpha); + + Double_t Enorm(); + + Double_t GetP() {return P*1000.;} //MeV + + Float_t Ycor(Double_t); // coord. corection for single PMT module + Float_t Ycor(Double_t, Int_t); // coord. correction for double PMT module + + // Coordinate correction constants from hcana.param. + // + static const Double_t fAcor = 200.; + static const Double_t fBcor = 8000.; + static const Double_t fCcor = 64.36; + static const Double_t fDcor = 1.66; + + // Calorimeter geometry constants. + // + static const Double_t fZbl = 10; //cm, block transverse size + static const UInt_t fNrows = 13; + static const UInt_t fNcols = 4; + static const UInt_t fNnegs = 26; // number of blocks with neg. side PMTs. + static const UInt_t fNpmts = 78; // total number of PMTs. + static const UInt_t fNblks = fNrows*fNcols; + +}; + +//------------------------------------------------------------------------------ + +THcShTrack::THcShTrack() { }; + +THcShTrack::THcShTrack(Double_t p, + Double_t x, Double_t xp, Double_t y, Double_t yp) { + P = p; + X = x; + Xp = xp; + Y = y; + Yp =yp; +}; + +//------------------------------------------------------------------------------ + +void THcShTrack::Reset(Double_t p, + Double_t x, Double_t xp, Double_t y, Double_t yp) { + + // Reset track parameters, clear hit list. + + P = p; + X = x; + Xp = xp; + Y = y; + Yp =yp; + Hits.clear(); +}; + +//------------------------------------------------------------------------------ + +void THcShTrack::AddHit(Double_t adc_pos, Double_t adc_neg, + Double_t e_pos, Double_t e_neg, + UInt_t blk_number) { + + // Add a hit to the hit list. + + THcShHit* hit = new THcShHit(adc_pos, adc_neg, blk_number); + hit->SetEpos(e_pos); + hit->SetEneg(e_neg); + Hits.push_back(hit); +}; + +//------------------------------------------------------------------------------ + +THcShHit* THcShTrack::GetHit(UInt_t k) { + THcShHitIt it = Hits.begin(); + for (UInt_t i=0; i<k; i++) it++; + return *it; +} + +void THcShTrack::Print(ostream & ostrm) { + + // Output the track parameters and hit list through the stream ostrm. + + ostrm << P << " " << X << " " << Xp << " " << Y << " " << Yp << " " + << Hits.size() << endl; + + for (THcShHitIt iter = Hits.begin(); iter != Hits.end(); iter++) { + (*iter)->Print(ostrm); + }; + +}; + +//------------------------------------------------------------------------------ + +THcShTrack::~THcShTrack() { + for (THcShHitIt i = Hits.begin(); i != Hits.end(); ++i) { + delete *i; + *i = 0; + } +}; + +//------------------------------------------------------------------------------ + +void THcShTrack::SetEs(Double_t* alpha) { + + // Set hit energy depositions seen from postive and negative sides, + // by use of calibration (gain) constants alpha. + + for (THcShHitIt iter = Hits.begin(); iter != Hits.end(); iter++) { + + Double_t adc_pos = (*iter)->GetADCpos(); + Double_t adc_neg = (*iter)->GetADCneg(); + UInt_t nblk = (*iter)->GetBlkNumber(); + + Int_t ncol=(nblk-1)/fNrows+1; + Double_t xh=X+Xp*(ncol-0.5)*fZbl; + Double_t yh=Y+Yp*(ncol-0.5)*fZbl; + if (nblk <= fNnegs) { + (*iter)->SetEpos(adc_pos*Ycor(yh,0)*alpha[nblk-1]); + (*iter)->SetEneg(adc_neg*Ycor(yh,1)*alpha[fNblks+nblk-1]); + } + else { + (*iter)->SetEpos(adc_pos*Ycor(yh)*alpha[nblk-1]); + (*iter)->SetEneg(0.); + }; + + }; + +} + +//------------------------------------------------------------------------------ + +Double_t THcShTrack::Enorm() { + + // Normalized to the track momentum energy depostion in the calorimeter. + + Double_t sum = 0; + + for (THcShHitIt iter = Hits.begin(); iter != Hits.end(); iter++) { + sum += (*iter)->GetEpos(); + sum += (*iter)->GetEneg(); + }; + + return sum/P/1000.; +} + +//------------------------------------------------------------------------------ + +//Coordinate correction for single PMT modules. +//PMT attached at right (positive) side. + +Float_t THcShTrack::Ycor(Double_t y) { + return TMath::Exp(y/fAcor)/(1. + y*y/fBcor); +} + +//Coordinate correction for double PMT modules. +// + +Float_t THcShTrack::Ycor(Double_t y, Int_t side) { + if (side!=0&&side!=1) { + cout << "THcShower::Ycor : wrong side " << side << endl; + return 0.; + } + Int_t sign = 1 - 2*side; + return (fCcor + sign*y)/(fCcor + sign*y/fDcor); +} diff --git a/hcal_calib/THcShowerCalib.h b/hcal_calib/THcShowerCalib.h new file mode 100644 index 0000000000000000000000000000000000000000..c839771bb539019fa444497a772ba722a8a714af --- /dev/null +++ b/hcal_calib/THcShowerCalib.h @@ -0,0 +1,690 @@ +#ifndef ROOT_THcShowerCalib +#define ROOT_THcShowerCalib + +#include "THcShTrack.h" +#include "TH1F.h" +#include "TH2F.h" +#include "TVectorD.h" +#include "TMatrixD.h" +#include "TDecompLU.h" +#include "TMath.h" +#include <iostream> +#include <fstream> +#include <iomanip> + +#include "TROOT.h" +#include "TFile.h" +#include "TTree.h" + +#define D_CALO_FP 338.69 //distance from FP to the calorimeter face + +using namespace std; + +// +// HMS Shower Counter calibration class. +// + +class THcShowerCalib { + + public: + THcShowerCalib(Int_t); + THcShowerCalib(); + ~THcShowerCalib(); + + void Init(); + void ReadShRawTrack(THcShTrack &trk, UInt_t ientry); + void CalcThresholds(); + void ComposeVMs(); + void SolveAlphas(); + void FillHEcal(); + void SaveAlphas(); + void SaveRawData(); + + TH1F* hEunc; + TH1F* hEuncSel; + TH1F* hEcal; + TH2F* hDPvsEcal; + + private: + Int_t fRunNumber; + Double_t fLoThr; // Low and high thresholds on the normalized uncalibrated + Double_t fHiThr; // energy deposition. + UInt_t fNev; // Number of processed events. + static const UInt_t fMinHitCount = 200; // Minimum number of hits for a PMT + // to be calibrated. + + TTree* fTree; + UInt_t fNentries; + + // Quantities for calculations of the calibration constants. + + Double_t fe0; + Double_t fqe[THcShTrack::fNpmts]; + Double_t fq0[THcShTrack::fNpmts]; + Double_t fQ[THcShTrack::fNpmts][THcShTrack::fNpmts]; + Double_t falphaU[THcShTrack::fNpmts]; // 'unconstrained' calib. constants + Double_t falphaC[THcShTrack::fNpmts]; // the sought calibration constants + Double_t falpha0[THcShTrack::fNpmts]; // initial gains + Double_t falpha1[THcShTrack::fNpmts]; // unit gains + + UInt_t fHitCount[THcShTrack::fNpmts]; + +}; + +//------------------------------------------------------------------------------ + +THcShowerCalib::THcShowerCalib() {}; + +//------------------------------------------------------------------------------ + +THcShowerCalib::THcShowerCalib(Int_t RunNumber) { + fRunNumber = RunNumber; +}; + +//------------------------------------------------------------------------------ + +THcShowerCalib::~THcShowerCalib() { +}; + +//------------------------------------------------------------------------------ + +void THcShowerCalib::SaveRawData() { + + // Output raw data into file for debug purposes. To be called after + // calibration constants are determined. + + cout << "SaveRawData: Output raw data into hcal_calib.raw_data." << endl; + + ofstream fout; + fout.open("hcal_calib.raw_data",ios::out); + + THcShTrack trk; + + for (UInt_t ientry=0; ientry<fNentries; ientry++) { + ReadShRawTrack(trk, ientry); + trk.SetEs(falphaC); + trk.Print(fout); + } + + fout.close(); + +} + +//------------------------------------------------------------------------------ + +void THcShowerCalib::Init() { + + //Reset ROOT and connect tree file. + + gROOT->Reset(); + + char* fname = Form("Root_files/hcal_calib_%d.root",fRunNumber); + cout << "THcShowerCalib::Init: Root file name = " << fname << endl; + + TFile *f = new TFile(fname); + f->GetObject("T",fTree); + + fNentries = fTree->GetEntries(); + cout << "THcShowerCalib::Init: fNentries= " << fNentries << endl; + + // Histogram declarations. + + hEunc = new TH1F("hEunc", "Edep/P uncalibrated", 500, 0., 5.); + hEcal = new TH1F("hEcal", "Edep/P calibrated", 150, 0., 1.5); + hDPvsEcal = new TH2F("hDPvsEcal", "#DeltaP versus Edep/P ", + 150,0.,1.5, 250,-12.5,12.5); + + // Initialize qumulative quantities. + + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) fHitCount[i] = 0; + + fe0 = 0.; + + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) { + fqe[i] = 0.; + fq0[i] = 0.; + falphaU[i] = 0.; + falphaC[i] = 0.; + for (UInt_t j=0; j<THcShTrack::fNpmts; j++) { + fQ[i][j] = 0.; + } + } + + // Initial gains (0.5 for the 2 first columns, 1 for others). + + for (UInt_t iblk=0; iblk<THcShTrack::fNblks; iblk++) { + if (iblk < THcShTrack::fNnegs) { + falpha0[iblk] = 0.5; + falpha0[THcShTrack::fNblks+iblk] = 0.5; + } + else { + falpha0[iblk] = 1.; + } + }; + + // Unit gains. + + for (UInt_t ipmt=0; ipmt<THcShTrack::fNpmts; ipmt++) { + falpha1[ipmt] = 1.; + } + +}; + +//------------------------------------------------------------------------------ + +void THcShowerCalib::CalcThresholds() { + + // Calculate +/-3 RMS thresholds on the uncalibrated total energy + // depositions. These thresholds are used mainly to exclude potential + // hadronic events due to the gas Cherenkov inefficiency. + + // Histogram uncalibrated energy depositions, get mean and RMS from the + // histogram, establish +/-3 * RMS thresholds. + + Int_t nev = 0; + THcShTrack trk; + + for (UInt_t ientry=0; ientry<fNentries; ientry++) { + + ReadShRawTrack(trk, ientry); + + // trk.Print(cout); + // getchar(); + + trk.SetEs(falpha0); //Use initial gain constants here. + Double_t Enorm = trk.Enorm(); + + nev++; + // cout << "CalcThreshods: nev=" << nev << " Enorm=" << Enorm << endl; + + hEunc->Fill(Enorm); + }; + + Double_t mean = hEunc->GetMean(); + Double_t rms = hEunc->GetRMS(); + cout << "CalcThreshods: mean=" << mean << " rms=" << rms << endl; + + fLoThr = mean - 3.*rms; + fHiThr = mean + 3.*rms; + + cout << "CalcThreshods: fLoThr=" << fLoThr << " fHiThr=" << fHiThr + << " nev=" << nev << endl; + + Int_t nbins = hEunc->GetNbinsX(); + Int_t nlo = hEunc->FindBin(fLoThr); + Int_t nhi = hEunc->FindBin(fHiThr); + + cout << "CalcThresholds: nlo=" << nlo << " nhi=" << nhi + << " nbins=" << nbins << endl; + + // Histogram selected wthin the thresholds events. + + hEuncSel = (TH1F*)hEunc->Clone("hEuncSel"); + + for (Int_t i=0; i<nlo; i++) hEuncSel->SetBinContent(i, 0.); + for (Int_t i=nhi; i<nbins+1; i++) hEuncSel->SetBinContent(i, 0.); + +}; + +//------------------------------------------------------------------------------ + +void THcShowerCalib::ReadShRawTrack(THcShTrack &trk, UInt_t ientry) { + + // + // Set a Shower track event from ntuple ientry. + // + + // Declaration of leaves types + + // Calorimeter ADC signals. + + Double_t H_cal_1pr_aneg_p[THcShTrack::fNrows]; + Double_t H_cal_1pr_apos_p[THcShTrack::fNrows]; + + Double_t H_cal_2ta_aneg_p[THcShTrack::fNrows]; + Double_t H_cal_2ta_apos_p[THcShTrack::fNrows]; + + Double_t H_cal_3ta_aneg_p[THcShTrack::fNrows]; + Double_t H_cal_3ta_apos_p[THcShTrack::fNrows]; + + Double_t H_cal_4ta_aneg_p[THcShTrack::fNrows]; + Double_t H_cal_4ta_apos_p[THcShTrack::fNrows]; + + // Track parameters. + + Double_t H_tr_p; + Double_t H_tr_x; //X FP + Double_t H_tr_xp; + Double_t H_tr_y; //Y FP + Double_t H_tr_yp; + + // Set branch addresses. + + fTree->SetBranchAddress("H.cal.1pr.aneg_p",H_cal_1pr_aneg_p); + fTree->SetBranchAddress("H.cal.1pr.apos_p",H_cal_1pr_apos_p); + + fTree->SetBranchAddress("H.cal.2ta.aneg_p",H_cal_2ta_aneg_p); + fTree->SetBranchAddress("H.cal.2ta.apos_p",H_cal_2ta_apos_p); + + fTree->SetBranchAddress("H.cal.3ta.aneg_p",H_cal_3ta_aneg_p); + fTree->SetBranchAddress("H.cal.3ta.apos_p",H_cal_3ta_apos_p); + + fTree->SetBranchAddress("H.cal.4ta.aneg_p",H_cal_4ta_aneg_p); + fTree->SetBranchAddress("H.cal.4ta.apos_p",H_cal_4ta_apos_p); + + fTree->SetBranchAddress("H.tr.x",&H_tr_x); + fTree->SetBranchAddress("H.tr.y",&H_tr_y); + fTree->SetBranchAddress("H.tr.th",&H_tr_xp); + fTree->SetBranchAddress("H.tr.ph",&H_tr_yp); + fTree->SetBranchAddress("H.tr.p",&H_tr_p); + + fTree->GetEntry(ientry); + + trk.Reset(H_tr_p, H_tr_x+D_CALO_FP*H_tr_xp, H_tr_xp, + H_tr_y+D_CALO_FP*H_tr_yp, H_tr_yp); + + for (UInt_t j=0; j<THcShTrack::fNrows; j++) { + for (UInt_t k=0; k<THcShTrack::fNcols; k++) { + + Double_t adc_pos, adc_neg; + + switch (k) { + case 0 : + adc_pos = H_cal_1pr_apos_p[j]; + adc_neg = H_cal_1pr_aneg_p[j]; + break; + case 1 : + adc_pos = H_cal_2ta_apos_p[j]; + adc_neg = H_cal_2ta_aneg_p[j]; + break; + case 2 : + adc_pos = H_cal_3ta_apos_p[j]; + adc_neg = H_cal_3ta_aneg_p[j]; + break; + case 3 : + adc_pos = H_cal_4ta_apos_p[j]; + adc_neg = H_cal_4ta_aneg_p[j]; + break; + default: + cout << "*** ReadShRawTrack: column number k=" << k + << " out of range! ***" << endl; + }; + + UInt_t nb = j+1 + k*THcShTrack::fNrows; + + if (adc_pos>0. || adc_neg>0.) { + trk.AddHit(adc_pos, adc_neg, 0., 0., nb); + } + + } + } + +} + +//------------------------------------------------------------------------------ + +void THcShowerCalib::ComposeVMs() { + + // + // Fill in vectors and matrixes for the gain constant calculations. + // + + fNev = 0; + THcShTrack trk; + + // Loop over the shower track events in the ntuples. + + for (UInt_t ientry=0; ientry<fNentries; ientry++) { + + ReadShRawTrack(trk, ientry); + + // Set energy depositions with default gains. + // Calculate normalized to the track momentum total energy deposition, + // check it against the thresholds. + + trk.SetEs(falpha0); + Double_t Enorm = trk.Enorm(); + if (Enorm>fLoThr && Enorm<fHiThr) { + + trk.SetEs(falpha1); // Set energies with unit gains for now. + // trk.Print(cout); + + fe0 += trk.GetP(); // Accumulate track momenta. + + vector<pmt_hit> pmt_hit_list; // Container to save PMT hits + + // Loop over hits. + + for (UInt_t i=0; i<trk.GetNhits(); i++) { + + THcShHit* hit = trk.GetHit(i); + // hit->Print(cout); + + UInt_t nb = hit->GetBlkNumber(); + + // Fill the qe and q0 vectors (for positive side PMT). + + fqe[nb-1] += hit->GetEpos() * trk.GetP(); + fq0[nb-1] += hit->GetEpos(); + + // Save the PMT hit. + + pmt_hit_list.push_back( pmt_hit{hit->GetEpos(), nb} ); + + fHitCount[nb-1]++; //Accrue the hit counter. + + // Do same for the negative side PMTs. + + if (nb <= THcShTrack::fNnegs) { + fqe[THcShTrack::fNblks+nb-1] += hit->GetEneg() * trk.GetP(); + fq0[THcShTrack::fNblks+nb-1] += hit->GetEneg(); + + pmt_hit_list.push_back(pmt_hit{hit->GetEneg(), + THcShTrack::fNblks+nb} ); + + fHitCount[THcShTrack::fNblks+nb-1]++; + }; + + } //over hits + + // Fill in the correlation matrix Q by retrieving the PMT hits. + + for (vector<pmt_hit>::iterator i=pmt_hit_list.begin(); + i < pmt_hit_list.end(); i++) { + + UInt_t ic = (*i).channel; + Double_t is = (*i).signal; + + for (vector<pmt_hit>::iterator j=i; + j < pmt_hit_list.end(); j++) { + + UInt_t jc = (*j).channel; + Double_t js = (*j).signal; + + fQ[ic-1][jc-1] += is*js; + if (jc != ic) fQ[jc-1][ic-1] += is*js; + } + } + + fNev++; + + }; // if within the thresholds + + }; // over entries + + // Take averages. + + fe0 /= fNev; + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) { + fqe[i] /= fNev; + fq0[i] /= fNev; + } + + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) + for (UInt_t j=0; j<THcShTrack::fNpmts; j++) + fQ[i][j] /= fNev; + + // Output vectors and matrixes, for debug purposes. + + ofstream q0out; + q0out.open("q0.d",ios::out); + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) + q0out << fq0[i] << " " << i << endl; + q0out.close(); + + ofstream qeout; + qeout.open("qe.d",ios::out); + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) + qeout << fqe[i] << " " << i << endl; + qeout.close(); + + ofstream Qout; + Qout.open("Q.d",ios::out); + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) + for (UInt_t j=0; j<THcShTrack::fNpmts; j++) + Qout << fQ[i][j] << " " << i << " " << j << endl; + Qout.close(); + +}; + +//------------------------------------------------------------------------------ + +void THcShowerCalib::SolveAlphas() { + + // + // Solve for the sought calibration constants, by use of the Root + // matrix algebra package. + // + + TMatrixD Q(THcShTrack::fNpmts,THcShTrack::fNpmts); + TVectorD q0(THcShTrack::fNpmts); + TVectorD qe(THcShTrack::fNpmts); + TVectorD au(THcShTrack::fNpmts); + TVectorD ac(THcShTrack::fNpmts); + Bool_t ok; + + cout << "Solving Alphas..." << endl; + cout << endl; + + // Print out hit numbers. + + cout << "Hit counts:" << endl; + UInt_t j = 0; + cout << "Positives:"; + for (UInt_t i=0; i<THcShTrack::fNrows; i++) + cout << setw(6) << fHitCount[j++] << ","; + cout << endl; + for (Int_t k=0; k<3; k++) { + cout << " "; + for (UInt_t i=0; i<THcShTrack::fNrows; i++) + cout << setw(6) << fHitCount[j++] << ","; + cout << endl; + } + cout << "Negatives:"; + for (UInt_t i=0; i<THcShTrack::fNrows; i++) + cout << setw(6) << fHitCount[j++] << ","; + cout << endl; + cout << " "; + for (UInt_t i=0; i<THcShTrack::fNrows; i++) + cout << setw(6) << fHitCount[j++] << ","; + cout << endl; + + // Initialize the vectors and the matrix of the Root algebra package. + + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) { + q0[i] = fq0[i]; + qe[i] = fqe[i]; + for (UInt_t k=0; k<THcShTrack::fNpmts; k++) { + Q[i][k] = fQ[i][k]; + } + } + + // Sanity check. + + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) { + + // Check zero hit channels: the vector and matrix elements should be 0. + + if (fHitCount[i] == 0) { + + if (q0[i] != 0. || qe[i] != 0.) { + + cout << "*** Inconsistency in chanel " << i << ": # of hits " + << fHitCount[i] << ", q0=" << q0[i] << ", qe=" << qe[i]; + + for (UInt_t k=0; k<THcShTrack::fNpmts; k++) { + if (Q[i][k] !=0. || Q[k][i] !=0.) + cout << ", Q[" << i << "," << k << "]=" << Q[i][k] + << ", Q[" << k << "," << i << "]=" << Q[k][i]; + } + + cout << " ***" << endl; + } + } + + // The hit channels: the vector elements should be non zero. + + if ( (fHitCount[i] != 0) && (q0[i] == 0. || qe[i] == 0.) ) { + cout << "*** Inconsistency in chanel " << i << ": # of hits " + << fHitCount[i] << ", q0=" << q0[i] << ", qe=" << qe[i] + << " ***" << endl; + } + + } //sanity check + + // Low hit number channels: exclude from calculation. Assign all the + // correspondent elements 0, except self-correlation Q(i,i)=1. + + cout << endl; + cout << "Channels with hit number less than " << fMinHitCount + << " will not be calibrated." << endl; + cout << endl; + + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) { + + if (fHitCount[i] < fMinHitCount) { + cout << "Channel " << i << ", " << fHitCount[i] + << " hits, will not be calibrated." << endl; + q0[i] = 0.; + qe[i] = 0.; + for (UInt_t k=0; k<THcShTrack::fNpmts; k++) { + Q[i][k] = 0.; + Q[k][i] = 0.; + } + Q[i][i] = 1.; + } + + } + + // Declare LU decomposition method for the correlation matrix Q. + + TDecompLU lu(Q); + Double_t d1,d2; + lu.Det(d1,d2); + cout << "cond:" << lu.Condition() << endl; + cout << "det :" << d1*TMath::Power(2.,d2) << endl; + cout << "tol :" << lu.GetTol() << endl; + + // Solve equation Q x au = qe for the 'unconstrained' calibration (gain) + // constants au. + + au = lu.Solve(qe,ok); + cout << "au: ok=" << ok << endl; + // au.Print(); + + // Find the sought 'constrained' calibration constants next. + + Double_t t1 = fe0 - au * q0; // temporary variable. + // cout << "t1 =" << t1 << endl; + + TVectorD Qiq0(THcShTrack::fNpmts); // an intermittent result + Qiq0 = lu.Solve(q0,ok); + cout << "Qiq0: ok=" << ok << endl; + // Qiq0.Print(); + + Double_t t2 = q0 * Qiq0; // another temporary variable + // cout << "t2 =" << t2 << endl; + + ac = (t1/t2) *Qiq0 + au; // the sought gain constants + // cout << "ac:" << endl; + // ac.Print(); + + // Assign the gain arrays. + + for (UInt_t i=0; i<THcShTrack::fNpmts; i++) { + falphaU[i] = au[i]; + falphaC[i] = ac[i]; + } + +} + +//------------------------------------------------------------------------------ + +void THcShowerCalib::FillHEcal() { + + // + // Fill histogram of the normalized energy deposition, 2-d histogram + // of momentum deviation versus normalized energy deposition. + // + + ofstream output; + output.open("calibrated.d",ios::out); + + Int_t nev = 0; + + THcShTrack trk; + + for (UInt_t ientry=0; ientry<fNentries; ientry++) { + + ReadShRawTrack(trk, ientry); + // trk.Print(cout); + + trk.SetEs(falphaC); // use the 'constrained' calibration constants + Double_t P = trk.GetP(); + Double_t Enorm = trk.Enorm(); + + hEcal->Fill(Enorm); + + Double_t delta; + fTree->SetBranchAddress("H.tr.tg_dp",&delta); + hDPvsEcal->Fill(Enorm,delta,1.); + + output << Enorm*P/1000. << " " << P/1000. << endl; + + nev++; + }; + + output.close(); + + cout << "FillHEcal: " << nev << " events filled" << endl; +}; + +//------------------------------------------------------------------------------ + +void THcShowerCalib::SaveAlphas() { + + // + // Output the gain constants in a format suitable for inclusion in the + // hcal.param file to be used in the analysis. + // + + ofstream output; + char* fname = Form("hcal.param.%d",fRunNumber); + cout << "SaveAlphas: fname=" << fname << endl; + + output.open(fname,ios::out); + + output << "; Calibration constants for run " << fRunNumber + << ", " << fNev << " events processed" << endl; + output << endl; + + UInt_t j = 0; + output << "hcal_pos_gain_cor="; + for (UInt_t i=0; i<THcShTrack::fNrows; i++) + output << fixed << setw(6) << setprecision(3) << falphaC[j++] << ","; + output << endl; + for (Int_t k=0; k<3; k++) { + output << " "; + for (UInt_t i=0; i<THcShTrack::fNrows; i++) + output << fixed << setw(6) << setprecision(3) << falphaC[j++] << ","; + output << endl; + } + output << "hcal_neg_gain_cor="; + for (UInt_t i=0; i<THcShTrack::fNrows; i++) + output << fixed << setw(6) << setprecision(3) << falphaC[j++] << ","; + output << endl; + output << " "; + for (UInt_t i=0; i<THcShTrack::fNrows; i++) + output << fixed << setw(6) << setprecision(3) << falphaC[j++] << ","; + output << endl; + for (Int_t k=0; k<2; k++) { + output << " "; + for (UInt_t i=0; i<THcShTrack::fNrows; i++) + output << fixed << setw(6) << setprecision(3) << 0. << ","; + output << endl; + } + + output.close(); +} + +#endif diff --git a/hcal_calib/db_run.dat b/hcal_calib/db_run.dat new file mode 100755 index 0000000000000000000000000000000000000000..6dd115d7003b81a3ee817f4971d289288c794397 --- /dev/null +++ b/hcal_calib/db_run.dat @@ -0,0 +1,7 @@ +# Test run database + +# DAQ04 +--------[ 2000-01-01 01:00:00 ] + +#A1 2202 pedestal +ebeam = 4.02187 diff --git a/hcal_calib/hcal_calib.cpp b/hcal_calib/hcal_calib.cpp new file mode 100644 index 0000000000000000000000000000000000000000..0299ac3f42d21519a028e1cd5e169793d0093272 --- /dev/null +++ b/hcal_calib/hcal_calib.cpp @@ -0,0 +1,47 @@ +#include "TCanvas.h" +#include "THcShowerCalib.h" + +// +// A steering Root script for the HMS calorimeter calibration. +// + +void hcal_calib(Int_t RunNumber) { + + cout << "Calibrating run " << RunNumber << endl; + + THcShowerCalib theShowerCalib(RunNumber); + + theShowerCalib.Init(); // Initialize constants and variables + theShowerCalib.CalcThresholds(); // Thresholds on the uncalibrated Edep/P + theShowerCalib.ComposeVMs(); // Compute vectors amd matrices for calib. + theShowerCalib.SolveAlphas(); // Solve for the calibration constants + theShowerCalib.SaveAlphas(); // Save the constants + theShowerCalib.SaveRawData(); // Save raw data into file for debug purposes + theShowerCalib.FillHEcal(); // Fill histograms + + // Plot histograms + + TCanvas* Canvas = + new TCanvas("Canvas", "HMS Shower Counter calibration", 1000, 667); + Canvas->Divide(2,2); + + Canvas->cd(1); + + // Normalized uncalibrated energy deposition. + + theShowerCalib.hEunc->DrawCopy(); + + theShowerCalib.hEuncSel->SetFillColor(kGreen); + theShowerCalib.hEuncSel->DrawCopy("same"); + + // Normalized energy deposition after calibration. + + Canvas->cd(3); + theShowerCalib.hEcal->Fit("gaus"); + + // HMS delta(P) versus the calibrated energy deposition. + + Canvas->cd(4); + theShowerCalib.hDPvsEcal->Draw(); + +} diff --git a/hcal_calib/hcal_replay.cpp b/hcal_calib/hcal_replay.cpp new file mode 100644 index 0000000000000000000000000000000000000000..bc6680fb36df1cd4ebd4b311ffa6beeac38fc1c7 --- /dev/null +++ b/hcal_calib/hcal_replay.cpp @@ -0,0 +1,74 @@ +void hcal_replay(Int_t RunNumber=52949, Int_t MaxEventToReplay=11000) { + + char* RunFileNamePattern="daq04_%d.log.0"; + + gHcParms->Define("gen_run_number", "Run Number", RunNumber); + gHcParms->AddString("g_ctp_database_filename", "DBASE/test.database"); + + 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_parm_filename")); + + // Constants not in ENGINE PARAM files that we want to be + // configurable + gHcParms->Load("PARAM/hcana.param"); + + // Generate db_cratemap to correspond to map file contents + char command[100]; + sprintf(command,"./make_cratemap.pl < %s > db_cratemap.dat", + gHcParms->GetString("g_decode_map_filename")); + system(command); + + // Load the Hall C style detector map + gHcDetectorMap=new THcDetectorMap(); + gHcDetectorMap->Load(gHcParms->GetString("g_decode_map_filename")); + + // Set up the equipment to be analyzed. + + THaApparatus* HMS = new THcHallCSpectrometer("H","HMS"); + gHaApps->Add( HMS ); + + // Add HMS detectors + HMS->AddDetector( new THcHodoscope("hod", "Hodoscope" )); + HMS->AddDetector( new THcShower("cal", "Shower" )); + HMS->AddDetector( new THcDC("dc", "Drift Chambers" )); + HMS->AddDetector( new THcAerogel("aero", "Aerogel Cerenkov" )); + HMS->AddDetector( new THcCherenkov("cer", "Gas Cerenkov" )); + + // 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. + THaAnalyzer* 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); + + // Eventually need to learn to skip over, or properly analyze + // the pedestal events + run->SetEventRange(1,MaxEventToReplay); // Physics Event number, does not + // include scaler or control events + + // Define the analysis parameters + analyzer->SetCountMode( 0 ); //Mark's modification + analyzer->SetEvent( event ); + analyzer->SetOutFile(Form("Root_files/hcal_calib_%05d.root",RunNumber)); + analyzer->SetOdefFile("output_hcal_replay.def"); + analyzer->SetCutFile("hcal_replay_cuts.def"); // optional + + // File to record cuts accounting information + // analyzer->SetSummaryFile("summary_example.log"); // optional + + analyzer->Process(run); // start the actual analysis +} diff --git a/hcal_calib/hcal_replay_cuts.def b/hcal_calib/hcal_replay_cuts.def new file mode 100644 index 0000000000000000000000000000000000000000..51d285a9aac0b89f0983ea3cd915c6d3590e36be --- /dev/null +++ b/hcal_calib/hcal_replay_cuts.def @@ -0,0 +1,49 @@ +# Cuts for the HMS calorimeter calibration. +# + +Block: RawDecode + +Pedestal_event g.evtyp==4 +scalar_event g.evtyp==0 +HMS_event g.evtyp==1 +SOS_event g.evtyp==2 +coin_event g.evtyp==3 +misc_event g.evtyp>=5 +hms_and_coin HMS_event||coin_event +RawDecode_master 1 + +Block: Decode +Decode_master hms_and_coin + +Block: CoarseTracking +CoarseTracking_master !Pedestal_event + +Block: CoarseReconstruct +RawCoarseReconstruct !Pedestal_event + +Block: Reconstruct + +one_track H.tr.n==1 +one_clust H.cal.nclust==1 +one_sh_track H.cal.ntracks==1 +in_delta H.tr.tg_dp>-10.&&H.tr.tg_dp<10. +good_cer H.cer.npesum>3. + +#good_beta H.hod.fpBeta>0.740&&H.hod.fpBeta<0.935 # 3sigma cut for run 52949 +good_beta H.tr.beta>0.740&&H.tr.beta<0.935 + +# 338.69 = 350.0-11.31, distance from FP to the face of calorimeter + +#in_calx H.tr.x+H.tr.th*338.69>-65.4&&H.tr.x+H.tr.th*338.69<54.6 #top+5cm, bottom-5cm (see hcal.pos) +#in_caly H.tr.y+H.tr.ph*338.69>-30.&&H.tr.y+H.tr.ph*338.69<30. #left+5cm, right-5cm.(see hcal.pos) +#in_cal in_calx&&in_caly + +Reconstruct_master one_track && in_delta && good_cer && one_clust && good_beta + +# This version is for calibration from scratch (no calibration constants exist, +# first time calibration). +##Reconstruct_master one_track && one_clust && in_delta && good_cer && good_beta + +# This version can be used for iterative calibration (improve existing +# constants). +#Reconstruct_master one_track && one_sh_track && in_delta && good_cer && good_beta diff --git a/hcal_calib/instructions.txt b/hcal_calib/instructions.txt new file mode 100644 index 0000000000000000000000000000000000000000..188243153f57a3929f331b457b4d8e2ebdc2447f --- /dev/null +++ b/hcal_calib/instructions.txt @@ -0,0 +1,20 @@ +Instructions for calibration the HMS calorimeter under hcana. + +1. Go to hcana/hcal_calib directory. + +2. Copy (or link) DBASE, MAPS and PARAM directories into the hcal_calib. + +3. Create Root_files directory. + +4. Copy (or link) the raw data log file of the run to be calibrated into the + hcal_calib. + +5. Under hcana, replay the run by runnning hcal_replay.C for a number of events + (e.g. hcal_replay.cpp(52949,100000)). This will create an output Root file + in the Root_files directory. + +6. Calibrate the run by compiling and running hcal_calib.C under hcana + (e.g. hcal_calib.C+(52949)). This will output calibration constants in a + hcal.param.<RunNumber> file. Also, it will display Canvas with histograms of + uncalibated and calibrated normalized energy depositions, and a scattered + plot of momentum variation versus the normalized energy deposition. diff --git a/hcal_calib/make_cratemap.pl b/hcal_calib/make_cratemap.pl new file mode 120000 index 0000000000000000000000000000000000000000..8d3d2ef2f7a837ae4d6936ebea2c00cc82a881bf --- /dev/null +++ b/hcal_calib/make_cratemap.pl @@ -0,0 +1 @@ +../examples/make_cratemap.pl \ No newline at end of file diff --git a/hcal_calib/output_hcal_replay.def b/hcal_calib/output_hcal_replay.def new file mode 100644 index 0000000000000000000000000000000000000000..1d8be93638275a3c64dd64094ad2bff7be7e21b9 --- /dev/null +++ b/hcal_calib/output_hcal_replay.def @@ -0,0 +1,19 @@ +# +# Output definition for the HMS calorimeter calibration. +# + +block H.cal.* +variable H.cer.npesum +variable H.tr.beta +#variable H.hod.fpBeta +variable H.tr.p +variable H.tr.tg_dp +variable H.tr.y #Y FP +variable H.tr.x #X FP +variable H.tr.ph #tan(phi), wrt Y axis +variable H.tr.th #tan(theta), wrt X axis +variable H.tr.n #number of tracks +#formula Hcal_trx H.tr.x+338.69*H.tr.th +#formula Hcal_try H.tr.y+338.69*H.tr.ph +#variable Hcal_trx +#variable Hcal_try diff --git a/hctest.input b/hctest.input deleted file mode 100644 index 641ac1ff45e3ed5c0ee74c380ff58b44acb88aa6..0000000000000000000000000000000000000000 --- a/hctest.input +++ /dev/null @@ -1,23 +0,0 @@ -begin parm constants -#include "hctest_include.input" - proton = 938.272 ; <- Comment character - neutron = 939.57 - pion = 139.57 - pizero = 134.97 - ; The following fills an array - offsets = 0.34, 5.7, 0.1, -.4 ; Wire Chamber offsets - 0.0, .1356, -1.3, 8.6 - ; array fills may take multiple lines - integerarray = 3 ; Example integer array - 5, 64, 4,2 ,3,4, 543 , 543 , 3 - anotherarray = 1,2,3,4 - 5.6, 3.4 ; Example real array - thmin = -50 - thmax = 50 - phimin = -40 - phimax = 40 - ; Lines from begin to end are called a block - hbook_filename = 'gaw.hist' ; String - report_filename = 'gaw.report' -end parm constants - diff --git a/hctest_include.input b/hctest_include.input deleted file mode 100644 index 1b10570382ed7cd46a104967c7e0321476d45176..0000000000000000000000000000000000000000 --- a/hctest_include.input +++ /dev/null @@ -1 +0,0 @@ - includearray = 5,4,3,2,1 diff --git a/linux32.py b/linux32.py new file mode 100644 index 0000000000000000000000000000000000000000..8d664b85aa6ca7be3e829106088219cee4be5ec6 --- /dev/null +++ b/linux32.py @@ -0,0 +1,41 @@ +import platform +import os + +def config(env,args): + + debug = args.get('debug',0) + standalone = args.get('standalone',0) + cppcheck = args.get('cppcheck',0) + checkheaders = args.get('checkheaders',0) + + if int(debug): + env.Append(CXXFLAGS = '-g -O0') + else: + env.Append(CXXFLAGS = '-O') + env.Append(CPPDEFINES= '-DNDEBUG') + + if int(standalone): + env.Append(STANDALONE= '1') + + if int(cppcheck): + env.Append(CPPCHECK= '1') + + if int(checkheaders): + env.Append(CHECKHEADERS= '1') + + env.Append(CXXFLAGS = '-m32 -Wall -Woverloaded-virtual') + env.Append(CPPDEFINES = '-DLINUXVERS') + + cxxversion = env.subst('$CXXVERSION') + +# if float(cxxversion[0:2])>=4.0: +# env.Append(CXXFLAGS = '-Wextra -Wno-missing-field-initializers') + + if float(cxxversion[0:2])>=3.0: + env.Append(CPPDEFINES = '-DHAS_SSTREAM') + + env['SHLINKFLAGS'] = '$LINKFLAGS -m32 -shared' + env['SHLIBSUFFIX'] = '.so' + + +#end linux32.py diff --git a/linux64.py b/linux64.py new file mode 100644 index 0000000000000000000000000000000000000000..2a2e1234681e8f222889fc1b4dbf659d7d6b4125 --- /dev/null +++ b/linux64.py @@ -0,0 +1,41 @@ +import platform +import os + +def config(env,args): + + debug = args.get('debug',0) + standalone = args.get('standalone',0) + cppcheck = args.get('cppcheck',0) + checkheaders = args.get('checkheaders',0) + + if int(debug): + env.Append(CXXFLAGS = '-g -O0') + else: + env.Append(CXXFLAGS = '-O') + env.Append(CPPDEFINES= '-DNDEBUG') + + if int(standalone): + env.Append(STANDALONE= '1') + + if int(cppcheck): + env.Append(CPPCHECK= '1') + + if int(checkheaders): + env.Append(CHECKHEADERS= '1') + + env.Append(CXXFLAGS = '-Wall -Woverloaded-virtual') + env.Append(CPPDEFINES = '-DLINUXVERS') + + cxxversion = env.subst('$CXXVERSION') + +# if float(cxxversion[0:2])>=4.0: +# env.Append(CXXFLAGS = '-Wextra -Wno-missing-field-initializers') + + if float(cxxversion[0:2])>=3.0: + env.Append(CPPDEFINES = '-DHAS_SSTREAM') + + env['SHLINKFLAGS'] = '$LINKFLAGS -shared' + env['SHLIBSUFFIX'] = '.so' + + +#end linux6432.py diff --git a/podd b/podd index fe3e7463fe6e531dd790cf5ea103a368e4b17b7a..cc0ebfe4b74446e27dc5a7040dfe2b4606b24f9e 160000 --- a/podd +++ b/podd @@ -1 +1 @@ -Subproject commit fe3e7463fe6e531dd790cf5ea103a368e4b17b7a +Subproject commit cc0ebfe4b74446e27dc5a7040dfe2b4606b24f9e diff --git a/setup.csh b/setup.csh index 83155fcf76c9e87bf4d5570f22f93515dd620284..110956b41b44276bdf959a0ca568720398b27e42 100644 --- a/setup.csh +++ b/setup.csh @@ -3,11 +3,12 @@ set called=($_) if ("$called" != "") then set scriptdir=$called[2] + set MYDIR=`dirname $scriptdir` + set MYDIR=`c\d $MYDIR && pwd` # ensure absolute path else - set scriptdir=$0 + set scriptdir=$1 + set MYDIR=$scriptdir endif -set MYDIR=`dirname $scriptdir` -set MYDIR=`cd $MYDIR && pwd` # ensure absolute path setenv ANALYZER $MYDIR/podd setenv HCANALYZER $MYDIR # Check if LD_LIBRARY_PATH is defined @@ -15,6 +16,3 @@ if ( ! ($?LD_LIBRARY_PATH) ) then setenv LD_LIBRARY_PATH "" endif setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${ANALYZER}:${HCANALYZER}" - - - diff --git a/setup.sh b/setup.sh index 8dea0627324e17d80dd117bec5b16a307feed42c..62be0dad2ae43c916d81ddb24c29a974f0d2d505 100644 --- a/setup.sh +++ b/setup.sh @@ -7,4 +7,8 @@ export HCANALYZER=${MYDIR} if [ ! ${LD_LIBRARY_PATH} ]; then export LD_LIBRARY_PATH="" fi +if [ ! ${DYLD_LIBRARY_PATH} ]; then + export DYLD_LIBRARY_PATH="" +fi export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ANALYZER:$HCANALYZER +export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$ANALYZER:$HCANALYZER diff --git a/src/HallC_LinkDef.h b/src/HallC_LinkDef.h index b939b5157bd2ba4b46ada19cacd19717aecedba3..21d28e17b25e596ea426faef945995c729aa6c5f 100644 --- a/src/HallC_LinkDef.h +++ b/src/HallC_LinkDef.h @@ -7,17 +7,49 @@ #pragma link C++ global gHcParms; #pragma link C++ global gHcDetectorMap; +//#ifdef MACVERS +//#pragma link C++ global gHaVars; +//#pragma link C++ global gHaCuts; +//#pragma link C++ global gHaApps; +//#pragma link C++ global gHaScalers; +//#pragma link C++ global gHaPhysics; +//#pragma link C++ global gHaRun; +//#pragma link C++ global gHaDB; +//#pragma link C++ global gHaTextvars; +//#pragma link C++ global gHaDecoder; +//#endif + #pragma link C++ class THcInterface+; #pragma link C++ class THcParmList+; #pragma link C++ class THcAnalyzer+; +#pragma link C++ class THcHallCSpectrometer+; +#pragma link C++ class THcDetectorMap+; #pragma link C++ class THcRawHit+; -#pragma link C++ class THcHodoscopeHit+; -#pragma link C++ class THcDCHit+; #pragma link C++ class THcHitList+; +#pragma link C++ class THcSignalHit+; #pragma link C++ class THcHodoscope+; -#pragma link C++ class THcDriftChamber+; -#pragma link C++ class THcDetectorMap+; -#pragma link C++ class THcHallCSpectrometer+; #pragma link C++ class THcScintillatorPlane+; +#pragma link C++ class THcRawHodoHit+; +#pragma link C++ class THcDC+; +#pragma link C++ class THcDriftChamber+; +#pragma link C++ class THcDriftChamberPlane+; +#pragma link C++ class THcRawDCHit+; +#pragma link C++ class THcDCHit+; +#pragma link C++ class THcDCWire+; +#pragma link C++ class THcDCLookupTTDConv+; +#pragma link C++ class THcDCTimeToDistConv+; +#pragma link C++ class THcSpacePoint+; +#pragma link C++ class THcDCTrack+; +#pragma link C++ class THcShower+; +#pragma link C++ class THcShowerPlane+; +#pragma link C++ class THcRawShowerHit+; +#pragma link C++ class THcAerogel+; +#pragma link C++ class THcAerogelHit+; +#pragma link C++ class THcCherenkov+; +#pragma link C++ class THcCherenkovHit+; +#pragma link C++ class THcFormula+; +#pragma link C++ class THcRaster+; +#pragma link C++ class THcRasteredBeam+; +#pragma link C++ class THcRasterRawHit+; #endif diff --git a/src/SConscript.py b/src/SConscript.py new file mode 100644 index 0000000000000000000000000000000000000000..8792ee35d1cc63d1335363ffba281dcf26d04a85 --- /dev/null +++ b/src/SConscript.py @@ -0,0 +1,56 @@ +###### Hall C Software Source SConscript Build File ##### +###### Author: Edward Brash (brash@jlab.org) June 2013 + +import os +import re +import SCons.Util +Import('pbaseenv') + +list = Split(""" +THcInterface.cxx THcParmList.cxx THcAnalyzer.cxx \ +THcHallCSpectrometer.cxx \ +THcDetectorMap.cxx \ +THcRawHit.cxx THcHitList.cxx \ +THcSignalHit.cxx \ +THcHodoscope.cxx THcScintillatorPlane.cxx \ +THcRawHodoHit.cxx \ +THcDC.cxx THcDriftChamberPlane.cxx \ +THcDriftChamber.cxx \ +THcRawDCHit.cxx THcDCHit.cxx \ +THcDCWire.cxx \ +THcSpacePoint.cxx THcDCTrack.cxx \ +THcDCLookupTTDConv.cxx THcDCTimeToDistConv.cxx \ +THcShower.cxx THcShowerPlane.cxx \ +THcRawShowerHit.cxx \ +THcAerogel.cxx THcAerogelHit.cxx \ +THcCherenkov.cxx THcCherenkovHit.cxx \ +THcFormula.cxx \ +THcRaster.cxx THcRasteredBeam.cxx THcRasterRawHit.cxx +""") + +pbaseenv.Object('main.C') + +sotarget = 'HallC' + +#srclib = pbaseenv.SharedLibrary(target = sotarget, source = list+['HallCDict.so'],SHLIBVERSION=['$VERSION'],LIBS=['']) +srclib = pbaseenv.SharedLibrary(target = sotarget, source = list+['HallCDict.so'],SHLIBPREFIX='../lib',LIBS=['']) +print ('Source shared library = %s\n' % srclib) + +linkbase =pbaseenv.subst('$SHLIBPREFIX')+sotarget + +cleantarget = linkbase+'.so.'+pbaseenv.subst('$VERSION') +localmajorcleantarget = '../'+linkbase+'.so' + +print('cleantarget = %s\n' % cleantarget) +print('localmajorcleantarget = %s\n' % localmajorcleantarget) +try: + os.symlink(cleantarget,localmajorcleantarget) +except: + print " Continuing ... " + +Clean(srclib,cleantarget) +Clean(srclib,localmajorcleantarget) + +#baseenv.Install('../',srclib) +#baseenv.Alias('install',['../']) + diff --git a/src/THcAerogel.cxx b/src/THcAerogel.cxx new file mode 100644 index 0000000000000000000000000000000000000000..da2716ecd4505b8557eb492a0416635cbd58930f --- /dev/null +++ b/src/THcAerogel.cxx @@ -0,0 +1,598 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcAerogel // +// // +// Class for an Aerogel detector consisting of pairs of PMT's // +// attached to a diffuser box // +// Will have a fixed number of pairs, but need to later make this // +// configurable. //T +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcAerogel.h" +#include "TClonesArray.h" +#include "THcSignalHit.h" +#include "THaEvData.h" +#include "THaDetMap.h" +#include "THcDetectorMap.h" +#include "THcGlobals.h" +#include "THaCutList.h" +#include "THcParmList.h" +#include "THcHitList.h" +#include "VarDef.h" +#include "VarType.h" +#include "THaTrack.h" +#include "TClonesArray.h" +#include "TMath.h" + +#include "THaTrackProj.h" + +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> + +using namespace std; + +//_____________________________________________________________________________ +THcAerogel::THcAerogel( const char* name, const char* description, + THaApparatus* apparatus ) : + THaNonTrackingDetector(name,description,apparatus) +{ + // Normal constructor with name and description + fPosTDCHits = new TClonesArray("THcSignalHit",16); + fNegTDCHits = new TClonesArray("THcSignalHit",16); + fPosADCHits = new TClonesArray("THcSignalHit",16); + fNegADCHits = new TClonesArray("THcSignalHit",16); + + InitArrays(); + +// fTrackProj = new TClonesArray( "THaTrackProj", 5 ); +} + +//_____________________________________________________________________________ +THcAerogel::THcAerogel( ) : + THaNonTrackingDetector() +{ + // Constructor + fPosTDCHits = NULL; + fNegTDCHits = NULL; + fPosADCHits = NULL; + fNegADCHits = NULL; + + InitArrays(); + +} + +//_____________________________________________________________________________ +THcAerogel::~THcAerogel() +{ + // Destructor + DeleteArrays(); + + delete fPosTDCHits; fPosTDCHits = NULL; + delete fNegTDCHits; fNegTDCHits = NULL; + delete fPosADCHits; fPosADCHits = NULL; + delete fNegADCHits; fNegADCHits = NULL; +} + +//_____________________________________________________________________________ +void THcAerogel::InitArrays() +{ + fA_Pos = NULL; + fA_Neg = NULL; + fA_Pos_p = NULL; + fA_Neg_p = NULL; + fT_Pos = NULL; + fT_Neg = NULL; + fPosGain = NULL; + fNegGain = NULL; + fPosPedLimit = NULL; + fNegPedLimit = NULL; + fPosPedMean = NULL; + fNegPedMean = NULL; + fPosNpe = NULL; + fNegNpe = NULL; + fPosPedSum = NULL; + fPosPedSum2 = NULL; + fPosPedCount = NULL; + fNegPedSum = NULL; + fNegPedSum2 = NULL; + fNegPedCount = NULL; + fPosPed = NULL; + fPosSig = NULL; + fPosThresh = NULL; + fNegPed = NULL; + fNegSig = NULL; + fNegThresh = NULL; +} +//_____________________________________________________________________________ +void THcAerogel::DeleteArrays() +{ + delete [] fA_Pos; fA_Pos = NULL; + delete [] fA_Neg; fA_Neg = NULL; + delete [] fA_Pos_p; fA_Pos_p = NULL; + delete [] fA_Neg_p; fA_Neg_p = NULL; + delete [] fT_Pos; fT_Pos = NULL; + delete [] fT_Neg; fT_Neg = NULL; + delete [] fPosGain; fPosGain = NULL; + delete [] fNegGain; fNegGain = NULL; + delete [] fPosPedLimit; fPosPedLimit = NULL; + delete [] fNegPedLimit; fNegPedLimit = NULL; + delete [] fPosPedMean; fPosPedMean = NULL; + delete [] fNegPedMean; fNegPedMean = NULL; + delete [] fPosNpe; fPosNpe = NULL; + delete [] fNegNpe; fNegNpe = NULL; + delete [] fPosPedSum; fPosPedSum = NULL; + delete [] fPosPedSum2; fPosPedSum2 = NULL; + delete [] fPosPedCount; fPosPedCount = NULL; + delete [] fNegPedSum; fNegPedSum = NULL; + delete [] fNegPedSum2; fNegPedSum2 = NULL; + delete [] fNegPedCount; fNegPedCount = NULL; + delete [] fPosPed; fPosPed = NULL; + delete [] fPosSig; fPosSig = NULL; + delete [] fPosThresh; fPosThresh = NULL; + delete [] fNegPed; fNegPed = NULL; + delete [] fNegSig; fNegSig = NULL; + delete [] fNegThresh; fNegThresh = NULL; +} + +//_____________________________________________________________________________ +THaAnalysisObject::EStatus THcAerogel::Init( const TDatime& date ) +{ + cout << "THcAerogel::Init " << GetName() << endl; + + // Should probably put this in ReadDatabase as we will know the + // maximum number of hits after setting up the detector map + InitHitList(fDetMap, "THcAerogelHit", 100); + + EStatus status; + if( (status = THaNonTrackingDetector::Init( date )) ) + return fStatus=status; + + // Will need to determine which apparatus it belongs to and use the + // appropriate detector ID in the FillMap call + if( gHcDetectorMap->FillMap(fDetMap, "HAERO") < 0 ) { + static const char* const here = "Init()"; + Error( Here(here), "Error filling detectormap for %s.", + "HAERO"); + return kInitError; + } + + return fStatus = kOK; +} + +//_____________________________________________________________________________ +Int_t THcAerogel::ReadDatabase( const TDatime& date ) +{ + // This function is called by THaDetectorBase::Init() once at the beginning + // of the analysis. + + cout << "THcAerogel::ReadDatabase " << GetName() << endl; + + char prefix[2]; + + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + + fNelem = 8; // Default if not defined + Bool_t optional=true ; + DBRequest listextra[]={ + {"aero_num_pairs", &fNelem, kInt,0,optional}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&listextra,prefix); + + fA_Pos = new Float_t[fNelem]; + fA_Neg = new Float_t[fNelem]; + fA_Pos_p = new Float_t[fNelem]; + fA_Neg_p = new Float_t[fNelem]; + fT_Pos = new Float_t[fNelem]; + fT_Neg = new Float_t[fNelem]; + + fPosGain = new Double_t[fNelem]; + fNegGain = new Double_t[fNelem]; + fPosPedLimit = new Int_t[fNelem]; + fNegPedLimit = new Int_t[fNelem]; + fPosPedMean = new Double_t[fNelem]; + fNegPedMean = new Double_t[fNelem]; + + DBRequest list[]={ + {"aero_pos_gain", fPosGain, kDouble, (UInt_t) fNelem}, + {"aero_neg_gain", fNegGain, kDouble, (UInt_t) fNelem}, + {"aero_pos_ped_limit", fPosPedLimit, kInt, (UInt_t) fNelem}, + {"aero_neg_ped_limit", fNegPedLimit, kInt, (UInt_t) fNelem}, + {"aero_pos_ped_mean", fPosPedMean, kDouble, (UInt_t) fNelem,optional}, + {"aero_neg_ped_mean", fNegPedMean, kDouble, (UInt_t) fNelem,optional}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list,prefix); + + fIsInit = true; + + // Create arrays to hold pedestal results + InitializePedestals(); + + return kOK; +} + +//_____________________________________________________________________________ +Int_t THcAerogel::DefineVariables( EMode mode ) +{ + // Initialize global variables for histogramming and tree + + cout << "THcAerogel::DefineVariables called " << GetName() << endl; + + if( mode == kDefine && fIsSetup ) return kOK; + fIsSetup = ( mode == kDefine ); + + // Register variables in global list + + // Do we need to put the number of pos/neg TDC/ADC hits into the variables? + // No. They show up in tree as Ndata.H.aero.postdchits for example + + RVarDef vars[] = { + {"postdchits", "List of Positive TDC hits", + "fPosTDCHits.THcSignalHit.GetPaddleNumber()"}, + {"negtdchits", "List of Negative TDC hits", + "fNegTDCHits.THcSignalHit.GetPaddleNumber()"}, + {"posadchits", "List of Positive ADC hits", + "fPosADCHits.THcSignalHit.GetPaddleNumber()"}, + {"negadchits", "List of Negative ADC hits", + "fNegADCHits.THcSignalHit.GetPaddleNumber()"}, + {"apos", "Raw Positive ADC Amplitudes", "fA_Pos"}, + {"aneg", "Raw Negative ADC Amplitudes", "fA_Neg"}, + {"apos_p", "Ped-subtracted Positive ADC Amplitudes", "fA_Pos_p"}, + {"aneg_p", "Ped-subtracted Negative ADC Amplitudes", "fA_Neg_p"}, + {"tpos", "Raw Positive TDC", "fT_Pos"}, + {"tneg", "Raw Negative TDC", "fT_Neg"}, + {"pos_npe","PEs Positive Tube","fPosNpe"}, + {"neg_npe","PEs Negative Tube","fNegNpe"}, + {"pos_npe_sum", "Total Positive Tube PEs", "fPosNpeSum"}, + {"neg_npe_sum", "Total Negative Tube PEs", "fNegNpeSum"}, + {"npe_sum", "Total PEs", "fNpeSum"}, + {"ntdc_pos_hits", "Number of Positive Tube Hits", "fNTDCPosHits"}, + {"ntdc_neg_hits", "Number of Negative Tube Hits", "fNTDCNegHits"}, + {"ngood_hits", "Total number of good hits", "fNGoodHits"}, + { 0 } + }; + + return DefineVarsFromList( vars, mode ); +} +//_____________________________________________________________________________ +inline +void THcAerogel::Clear(Option_t* opt) +{ + // Clear the hit lists + fPosTDCHits->Clear(); + fNegTDCHits->Clear(); + fPosADCHits->Clear(); + fNegADCHits->Clear(); + + // Clear Aerogel variables from h_aero.f + + fNhits = 0; // Don't really need to do this. (Be sure this called before Decode) + + fPosNpeSum = 0.0; + fNegNpeSum = 0.0; + fNpeSum = 0.0; + + fNGoodHits = 0; + + fNADCPosHits = 0; + fNADCNegHits = 0; + fNTDCPosHits = 0; + fNTDCNegHits = 0; + + for(Int_t itube = 0;itube < fNelem;itube++) { + fA_Pos[itube] = 0; + fA_Neg[itube] = 0; + fA_Pos_p[itube] = 0; + fA_Neg_p[itube] = 0; + fT_Pos[itube] = 0; + fT_Neg[itube] = 0; + fPosNpe[itube] = 0.0; + fNegNpe[itube] = 0.0; + } + +} + +//_____________________________________________________________________________ +Int_t THcAerogel::Decode( const THaEvData& evdata ) +{ + // Get the Hall C style hitlist (fRawHitList) for this event + fNhits = DecodeToHitList(evdata); + + if(gHaCuts->Result("Pedestal_event")) { + + AccumulatePedestals(fRawHitList); + + fAnalyzePedestals = 1; // Analyze pedestals first normal events + return(0); + } + + if(fAnalyzePedestals) { + + CalculatePedestals(); + + fAnalyzePedestals = 0; // Don't analyze pedestals next event + } + + + Int_t ihit = 0; + Int_t nPosTDCHits=0; + Int_t nNegTDCHits=0; + Int_t nPosADCHits=0; + Int_t nNegADCHits=0; + while(ihit < fNhits) { + THcAerogelHit* hit = (THcAerogelHit *) fRawHitList->At(ihit); + + // TDC positive hit + if(hit->fTDC_pos > 0) { + THcSignalHit *sighit = (THcSignalHit*) fPosTDCHits->ConstructedAt(nPosTDCHits++); + sighit->Set(hit->fCounter, hit->fTDC_pos); + } + + // TDC negative hit + if(hit->fTDC_neg > 0) { + THcSignalHit *sighit = (THcSignalHit*) fNegTDCHits->ConstructedAt(nNegTDCHits++); + sighit->Set(hit->fCounter, hit->fTDC_neg); + } + + // ADC positive hit + if(hit->fADC_pos > 0) { + THcSignalHit *sighit = (THcSignalHit*) fPosADCHits->ConstructedAt(nPosADCHits++); + sighit->Set(hit->fCounter, hit->fADC_pos); + } + + // ADC negative hit + if(hit->fADC_neg > 0) { + THcSignalHit *sighit = (THcSignalHit*) fNegADCHits->ConstructedAt(nNegADCHits++); + sighit->Set(hit->fCounter, hit->fADC_neg); + } + + ihit++; + } + return ihit; +} + +//_____________________________________________________________________________ +Int_t THcAerogel::ApplyCorrections( void ) +{ + return(0); +} + +//_____________________________________________________________________________ +Int_t THcAerogel::CoarseProcess( TClonesArray& ) //tracks +{ + + for(Int_t ihit=0; ihit < fNhits; ihit++) { + THcAerogelHit* hit = (THcAerogelHit *) fRawHitList->At(ihit); + + // Pedestal subtraction and gain adjustment + + // An ADC value of less than zero occurs when that particular + // channel has been sparsified away and has not been read. + // The NPE for that tube will be assigned zero by this code. + // An ADC value of greater than 8192 occurs when the ADC overflows on + // an input that is too large. Tubes with this characteristic will + // be assigned NPE = 100.0. + + Int_t npmt = hit->fCounter - 1; + // Should probably check that npmt is in range + fA_Pos[npmt] = hit->fADC_pos; + fA_Neg[npmt] = hit->fADC_neg; + fA_Pos_p[npmt] = hit->fADC_pos - fPosPedMean[npmt]; + fA_Neg_p[npmt] = hit->fADC_neg - fNegPedMean[npmt]; + fT_Pos[npmt] = hit->fTDC_pos; + fT_Neg[npmt] = hit->fTDC_neg; + + if(hit->fADC_pos < 8000) { + fPosNpe[npmt] = fPosGain[npmt]*fA_Pos_p[npmt]; + } else { + fPosNpe[npmt] = 100.0; + } + + if(hit->fADC_neg < 8000) { + fNegNpe[npmt] = fNegGain[npmt]*fA_Neg_p[npmt]; + } else { + fNegNpe[npmt] = 100.0; + } + + fPosNpeSum += fPosNpe[npmt]; + fNegNpeSum += fNegNpe[npmt]; + + // Sum positive and negative hits to fill tot_good_hits + if(fPosNpe[npmt] > 0.3) { + fNADCPosHits++; + fNGoodHits++; + } + if(fNegNpe[npmt] > 0.3) { + fNADCNegHits++; + fNGoodHits++; + } + if(hit->fTDC_pos > 0 && hit->fTDC_pos < 8000) { + fNTDCPosHits++; + } + if(hit->fTDC_neg > 0 && hit->fTDC_neg < 8000) { + fNTDCNegHits++; + } + + // Fill raw adc variables with actual tubve values + // mainly for diagnostic purposes + + + + } + + if(fPosNpeSum > 0.5 || fNegNpeSum > 0.5) { + fNpeSum = fPosNpeSum + fNegNpeSum; + } else { + fNpeSum = 0.0; + } + + // If total hits are 0, then give a noticable ridiculous NPE + if(fNhits < 1) { + fNpeSum = 0.0; + } + + // The following code is in the fortran. It probably doesn't work + // right because the arrays are not cleared first and the aero_ep, + // aero_en, ... lines make no sense. + + //* Next, fill the rawadc variables with the actual tube values + //* mainly for diagnostic purposes. + // + // do ihit=1,haero_tot_hits + // + // npmt=haero_pair_num(ihit) + // + // haero_rawadc_pos(npmt)=haero_adc_pos(ihit) + // aero_ep(npmt)=haero_rawadc_pos(ihit) + // + // haero_rawadc_neg(npmt)=haero_adc_neg(ihit) + // aero_en(npmt)=haero_rawadc_neg(ihit) + // + // haero_rawtdc_neg(npmt)=haero_tdc_neg(ihit) + // aero_tn(npmt)= haero_tdc_neg(ihit) + // + // haero_rawtdc_pos(npmt)=haero_tdc_pos(ihit) + // aero_tp(npmt)= haero_tdc_pos(ihit) + // + // enddo + + ApplyCorrections(); + + return 0; +} + +//_____________________________________________________________________________ +Int_t THcAerogel::FineProcess( TClonesArray& tracks ) +{ + + return 0; +} + +//_____________________________________________________________________________ +void THcAerogel::InitializePedestals( ) +{ + fNPedestalEvents = 0; + fMinPeds = 500; // In engine, this is set in parameter file + fPosPedSum = new Int_t [fNelem]; + fPosPedSum2 = new Int_t [fNelem]; + fPosPedLimit = new Int_t [fNelem]; + fPosPedCount = new Int_t [fNelem]; + fNegPedSum = new Int_t [fNelem]; + fNegPedSum2 = new Int_t [fNelem]; + fNegPedLimit = new Int_t [fNelem]; + fNegPedCount = new Int_t [fNelem]; + + fPosPed = new Double_t [fNelem]; + fNegPed = new Double_t [fNelem]; + fPosThresh = new Double_t [fNelem]; + fNegThresh = new Double_t [fNelem]; + for(Int_t i=0;i<fNelem;i++) { + fPosPedSum[i] = 0; + fPosPedSum2[i] = 0; + fPosPedLimit[i] = 1000; // In engine, this are set in parameter file + fPosPedCount[i] = 0; + fNegPedSum[i] = 0; + fNegPedSum2[i] = 0; + fNegPedLimit[i] = 1000; // In engine, this are set in parameter file + fNegPedCount[i] = 0; + } + + fPosNpe = new Double_t [fNelem]; + fNegNpe = new Double_t [fNelem]; +} + +//_____________________________________________________________________________ +void THcAerogel::AccumulatePedestals(TClonesArray* rawhits) +{ + // Extract data from the hit list, accumulating into arrays for + // calculating pedestals + + Int_t nrawhits = rawhits->GetLast()+1; + + Int_t ihit = 0; + while(ihit < nrawhits) { + THcAerogelHit* hit = (THcAerogelHit *) rawhits->At(ihit); + + Int_t element = hit->fCounter - 1; + Int_t adcpos = hit->fADC_pos; + Int_t adcneg = hit->fADC_pos; + if(adcpos <= fPosPedLimit[element]) { + fPosPedSum[element] += adcpos; + fPosPedSum2[element] += adcpos*adcpos; + fPosPedCount[element]++; + if(fPosPedCount[element] == fMinPeds/5) { + fPosPedLimit[element] = 100 + fPosPedSum[element]/fPosPedCount[element]; + } + } + if(adcneg <= fNegPedLimit[element]) { + fNegPedSum[element] += adcneg; + fNegPedSum2[element] += adcneg*adcneg; + fNegPedCount[element]++; + if(fNegPedCount[element] == fMinPeds/5) { + fNegPedLimit[element] = 100 + fNegPedSum[element]/fNegPedCount[element]; + } + } + ihit++; + } + + fNPedestalEvents++; + + return; +} + +//_____________________________________________________________________________ +void THcAerogel::CalculatePedestals( ) +{ + // Use the accumulated pedestal data to calculate pedestals + // Later add check to see if pedestals have drifted ("Danger Will Robinson!") + // cout << "Plane: " << fPlaneNum << endl; + for(Int_t i=0; i<fNelem;i++) { + + // Positive tubes + fPosPed[i] = ((Double_t) fPosPedSum[i]) / TMath::Max(1, fPosPedCount[i]); + fPosThresh[i] = fPosPed[i] + 15; + + // Negative tubes + fNegPed[i] = ((Double_t) fNegPedSum[i]) / TMath::Max(1, fNegPedCount[i]); + fNegThresh[i] = fNegPed[i] + 15; + + // cout << i+1 << " " << fPosPed[i] << " " << fNegPed[i] << endl; + + // Just a copy for now, but allow the possibility that fXXXPedMean is set + // in a parameter file and only overwritten if there is a sufficient number of + // pedestal events. (So that pedestals are sensible even if the pedestal events were + // not acquired.) + if(fMinPeds > 0) { + if(fPosPedCount[i] > fMinPeds) { + fPosPedMean[i] = fPosPed[i]; + } + if(fNegPedCount[i] > fMinPeds) { + fNegPedMean[i] = fNegPed[i]; + } + } + } + // cout << " " << endl; + +} +void THcAerogel::Print( const Option_t* opt) const { + THaNonTrackingDetector::Print(opt); + + // Print out the pedestals + + cout << endl; + cout << "Aerogel Pedestals" << endl; + cout << "No. Neg Pos" << endl; + for(Int_t i=0; i<fNelem; i++){ + cout << " " << i << " " << fNegPed[i] << " " << fPosPed[i] << endl; + } + cout << endl; +} + +ClassImp(THcAerogel) +//////////////////////////////////////////////////////////////////////////////// + diff --git a/src/THcAerogel.h b/src/THcAerogel.h new file mode 100644 index 0000000000000000000000000000000000000000..56896d4bfa49350134c3c47dbdf39d1807311930 --- /dev/null +++ b/src/THcAerogel.h @@ -0,0 +1,103 @@ +#ifndef ROOT_THcAerogel +#define ROOT_THcAerogel + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcAerogel // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "TClonesArray.h" +#include "THaNonTrackingDetector.h" +#include "THcHitList.h" +#include "THcAerogelHit.h" + +class THcAerogel : public THaNonTrackingDetector, public THcHitList { + + public: + THcAerogel( const char* name, const char* description = "", + THaApparatus* a = NULL ); + virtual ~THcAerogel(); + + virtual void Clear( Option_t* opt="" ); + virtual Int_t Decode( const THaEvData& ); + void InitArrays(); + void DeleteArrays(); + virtual EStatus Init( const TDatime& run_time ); + virtual Int_t ReadDatabase( const TDatime& date ); + virtual Int_t DefineVariables( EMode mode = kDefine ); + virtual Int_t CoarseProcess( TClonesArray& tracks ); + virtual Int_t FineProcess( TClonesArray& tracks ); + + virtual void AccumulatePedestals(TClonesArray* rawhits); + virtual void CalculatePedestals(); + + virtual Int_t ApplyCorrections( void ); + + virtual void Print(const Option_t* opt) const; + + THcAerogel(); // for ROOT I/O + protected: + Int_t fAnalyzePedestals; + + // Parameters + Double_t* fPosGain; + Double_t* fNegGain; + + // Event information + Int_t fNhits; + + Float_t* fA_Pos; // [fNelem] Array of ADC amplitudes + Float_t* fA_Neg; // [fNelem] Array of ADC amplitudes + Float_t* fA_Pos_p; // [fNelem] Array of ped-subtracted ADC amplitudes + Float_t* fA_Neg_p; // [fNelem] Array of ped-subtracted ADC amplitudes + Float_t* fT_Pos; // [fNelem] Array of TDCs + Float_t* fT_Neg; // [fNelem] Array of TDCs + + Double_t fPosNpeSum; + Double_t fNegNpeSum; + Double_t fNpeSum; + Int_t fNGoodHits; + Int_t fNADCPosHits; + Int_t fNADCNegHits; + Int_t fNTDCPosHits; + Int_t fNTDCNegHits; + + Double_t* fPosNpe; // [fNelem] # Photoelectrons per positive tube + Double_t* fNegNpe; // [fNelem] # Photoelectrons per negative tube + + // Hits + TClonesArray* fPosTDCHits; + TClonesArray* fNegTDCHits; + TClonesArray* fPosADCHits; + TClonesArray* fNegADCHits; + + // Pedestals + Int_t fNPedestalEvents; + Int_t fMinPeds; + Int_t *fPosPedSum; /* Accumulators for pedestals */ + Int_t *fPosPedSum2; + Int_t *fPosPedLimit; + Int_t *fPosPedCount; + Int_t *fNegPedSum; + Int_t *fNegPedSum2; + Int_t *fNegPedLimit; + Int_t *fNegPedCount; + + Double_t *fPosPed; + Double_t *fPosSig; + Double_t *fPosThresh; + Double_t *fNegPed; + Double_t *fNegSig; + Double_t *fNegThresh; + + Double_t *fPosPedMean; /* Can be supplied in parameters and then */ + Double_t *fNegPedMean; /* be overwritten from ped analysis */ + + void Setup(const char* name, const char* description); + virtual void InitializePedestals( ); + + ClassDef(THcAerogel,0) // Generic aerogel class +}; + +#endif diff --git a/src/THcAerogelHit.cxx b/src/THcAerogelHit.cxx new file mode 100644 index 0000000000000000000000000000000000000000..4ead9c573035682818a09350d759ab81bdc0c109 --- /dev/null +++ b/src/THcAerogelHit.cxx @@ -0,0 +1,17 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcAerogelHit // +// // +// Class representing a single raw hit for a pair of aerogel tubes // +// // +// Contains plane, counter and pos/neg adc // +// // +// Assumes Aerogel design where Aerogel PMT's are in pairs and only have // +// ADCs. // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcAerogelHit.h" + +////////////////////////////////////////////////////////////////////////// +ClassImp(THcAerogelHit) diff --git a/src/THcAerogelHit.h b/src/THcAerogelHit.h new file mode 100644 index 0000000000000000000000000000000000000000..18690cd7a518c6615f5c67883d405a793553a360 --- /dev/null +++ b/src/THcAerogelHit.h @@ -0,0 +1,19 @@ +#ifndef ROOT_THcAerogelHit +#define ROOT_THcAerogelHit + +#include "THcRawHodoHit.h" + +class THcAerogelHit : public THcRawHodoHit { + + public: + friend class THcAerogel; + + protected: + + private: + + ClassDef(THcAerogelHit,0); // Raw Aerogel hit +}; + +#endif + diff --git a/src/THcAnalyzer.cxx b/src/THcAnalyzer.cxx index de063359287e3a9b2ff323dbf890aefe47cf0c32..117df874f36000b095af4a243718dc81791d0075 100644 --- a/src/THcAnalyzer.cxx +++ b/src/THcAnalyzer.cxx @@ -22,13 +22,19 @@ ////////////////////////////////////////////////////////////////////////// #include "THcAnalyzer.h" +#include "THaRunBase.h" #include "THaBenchmark.h" #include "TList.h" +#include "THcParmList.h" +#include "THcFormula.h" +#include "THcGlobals.h" +#include "TMath.h" #include <fstream> #include <algorithm> #include <iomanip> #include <cstring> +#include <iostream> using namespace std; @@ -52,6 +58,130 @@ THcAnalyzer::~THcAnalyzer() } +//_____________________________________________________________________________ +void THcAnalyzer::PrintReport(const char* templatefile, const char* ofile) +{ + // Generate "reports" such as end of run scaler/efficiency sheets + // Reads a template file, copying that file to the output, replacing + // variables and expressions inside of braces ({}) with evaluated values. + // Similar but not identical to ENGINE/CTP report templates. + ifstream ifile; + ifile.open(templatefile); + + if(!ifile.is_open()) { + cout << "Error opening template file " << templatefile << endl; + return; + } + + ofstream ostr(ofile); + + if(!ostr.is_open()) { + cout << "Error opening report output file " << ofile << endl; + return; + } + + LoadInfo(); // Load some run information into gHcParms + + // In principle, we should allow braces to be escaped. But for + // now we won't. Existing template files don't seem to output + // any braces + for(string line; getline(ifile, line);) { + // cout << line << endl; + string::size_type start; + while((start = line.find('{',0)) != string::npos) { + // cout << start << endl; + string::size_type end = line.find('}',start); + if(end==string::npos) break; // No more expressions on the line + string expression=line.substr(start+1,end-start-1); + string::size_type formatpos = expression.find(':',0); + string format; + if(formatpos != string::npos) { + format=expression.substr(formatpos+1); + expression=expression.substr(0,formatpos); + // cout << "|" << expression << "|" << format << "|" << endl; + } + // Should we first check if the expression can be simply a variable + // or index into variable? + // For now, first check if it is a string. + // If not, then evaluate as an expression. + string replacement; + if(const char *textstring=gHcParms->GetString(expression)) { + // cout << expression << " is a string with value " << textstring << endl; + if(format.empty()) format = "%s"; + replacement=Form(format.c_str(),textstring); + } else { + THcFormula* formula = new THcFormula("temp",expression.c_str(),gHcParms,gHaVars,gHaCuts); + Double_t value=formula->Eval(); + // If the value is close to integer and no format is defined + // use "%.0f" to print out integer + if(format.empty()) { + if(TMath::Abs(value-TMath::Nint(value)) < 0.0000001) { + format = "%.0f"; + } else { + format = "%f"; + } + } + if(format[format.length()-1] == 'd') { + replacement=Form(format.c_str(),TMath::Nint(value)); + } else { + replacement=Form(format.c_str(),value); + } + } + // cout << "Replacement:" << replacement << endl; + line.replace(start,end-start+1,replacement); + } + ostr << line << endl; + } + ostr.close(); + ifile.close(); + + return; +} + +//_____________________________________________________________________________ +void THcAnalyzer::LoadInfo() +{ + // Create several THcParms variables in gHcParms containing + // run information such as + // run number, first event analyzed, number of events, etc. + // gen_run_number - Current run + // gen_run_starting_event - Id of first event analyzed + // gen_event_id_number - Id of last event analyzed + Int_t* runnum; + Int_t* firstevent; + Int_t* lastevent; + + THaVar* varptr; + varptr = gHcParms->Find("gen_run_number"); + if(varptr) { + runnum = (Int_t*) varptr->GetValuePointer(); // Assume correct type + } else { + runnum = new Int_t[1]; + gHcParms->Define("gen_run_number","Run Number", *runnum); + } + *runnum = fRun->GetNumber(); + + varptr = gHcParms->Find("gen_run_starting_event"); + if(varptr) { + firstevent = (Int_t*) varptr->GetValuePointer(); // Assume correct type + } else { + firstevent = new Int_t[1]; + gHcParms->Define("gen_run_starting_event","First event analyzed", *firstevent); + } + // May not agree with engine event definintions + *firstevent = fRun->GetFirstEvent(); + + varptr = gHcParms->Find("gen_event_id_number"); + if(varptr) { + lastevent = (Int_t*)varptr->GetValuePointer(); // Assume correct type + } else { + lastevent = new Int_t[1]; + gHcParms->Define("gen_event_id_number","Last event analyzed", *lastevent); + } + // Not accurate + *lastevent = fRun->GetFirstEvent()+fRun->GetNumAnalyzed(); +} + //_____________________________________________________________________________ ClassImp(THcAnalyzer) diff --git a/src/THcAnalyzer.h b/src/THcAnalyzer.h index 172d12560cea9e381cae9465e9209313b38c8b39..fcb2842a5017d91e233478c0901a5b67be965722 100644 --- a/src/THcAnalyzer.h +++ b/src/THcAnalyzer.h @@ -16,12 +16,19 @@ public: THcAnalyzer(); virtual ~THcAnalyzer(); + void SetPedestalEvtype( Int_t evtype ) { fPedestalEvtype = evtype; } + + void PrintReport( const char* templatefile, const char* ofile); + protected: + + Int_t fPedestalEvtype; private: // THcAnalyzer( const THcAnalyzer& ); // THcAnalyzer& operator=( const THcAnalyzer& ); - + void LoadInfo(); + ClassDef(THcAnalyzer,0) //Hall C Analyzer Standard Event Loop }; diff --git a/src/THcCherenkov.cxx b/src/THcCherenkov.cxx new file mode 100644 index 0000000000000000000000000000000000000000..236db7c8be1b39244d752dde54a5c2ffd2a2570d --- /dev/null +++ b/src/THcCherenkov.cxx @@ -0,0 +1,532 @@ +/////////////////////////////////////////////////////////////////////////////////////// +// // +// THcCherenkov // +// // +// Class for an Cherenkov detector consisting of two PMT's // +// // +// Zafar Ahmed. Fourth pull request. January 30 2014. // +// Comment: No need to cahnge the Map file. // +// Comment New parameter hcer_tot_pmts = 2 is added to the hcana.param file // +// // +// This code is for the coarse process of THcCherenkov class. // +// // +// // +// Variable Name Description // +// // +// phototubes Nuber of Cherenkov photo tubes // +// adc Raw ADC values // +// adc_p Pedestal Subtracted ADC values // +// npe Number of Photo electrons // +// npesum Sum of Number of Photo electrons // +// ncherhit Number of Hits(Cherenkov) // +// // +/////////////////////////////////////////////////////////////////////////////////////// + +#include "THcCherenkov.h" +#include "TClonesArray.h" +#include "THcSignalHit.h" +#include "THaEvData.h" +#include "THaDetMap.h" +#include "THcDetectorMap.h" +#include "THcGlobals.h" +#include "THaCutList.h" +#include "THcParmList.h" +#include "THcHitList.h" +#include "VarDef.h" +#include "VarType.h" +#include "THaTrack.h" +#include "TClonesArray.h" +#include "TMath.h" + +#include "THaTrackProj.h" + +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> + +using namespace std; + +using std::cout; +using std::cin; +using std::endl; + +#include <iomanip> +using std::setw; +using std::setprecision; + +//_____________________________________________________________________________ +THcCherenkov::THcCherenkov( const char* name, const char* description, + THaApparatus* apparatus ) : + THaNonTrackingDetector(name,description,apparatus) +{ + // Normal constructor with name and description + fADCHits = new TClonesArray("THcSignalHit",16); + cout << "fADCHits " << fADCHits << endl; + InitArrays(); + cout << "fADCHits " << fADCHits << endl; + +} + +//_____________________________________________________________________________ +THcCherenkov::THcCherenkov( ) : + THaNonTrackingDetector() +{ + // Constructor + fADCHits = NULL; + + InitArrays(); +} + +//_____________________________________________________________________________ +void THcCherenkov::InitArrays() +{ + fGain = NULL; + fCerWidth = NULL; + fNPMT = NULL; + fADC = NULL; + fADC_P = NULL; + fNPE = NULL; + fPedSum = NULL; + fPedSum2 = NULL; + fPedLimit = NULL; + fPedMean = NULL; + fPedCount = NULL; + fPed = NULL; + fThresh = NULL; +} +//_____________________________________________________________________________ +void THcCherenkov::DeleteArrays() +{ + delete [] fGain; fGain = NULL; + delete [] fCerWidth; fCerWidth = NULL; + delete [] fNPMT; fNPMT = NULL; + delete [] fADC; fADC = NULL; + delete [] fADC; fADC_P = NULL; + delete [] fNPE; fNPE = NULL; + delete [] fPedSum; fPedSum = NULL; + delete [] fPedSum2; fPedSum2 = NULL; + delete [] fPedLimit; fPedLimit = NULL; + delete [] fPedMean; fPedMean = NULL; + delete [] fPedCount; fPedCount = NULL; + delete [] fPed; fPed = NULL; + delete [] fThresh; fThresh = NULL; +} +//_____________________________________________________________________________ +THcCherenkov::~THcCherenkov() +{ + // Destructor + delete fADCHits; fADCHits = NULL; + + DeleteArrays(); + +} + +//_____________________________________________________________________________ +THaAnalysisObject::EStatus THcCherenkov::Init( const TDatime& date ) +{ + static const char* const here = "Init()"; + + cout << "THcCherenkov::Init " << GetName() << endl; + + // Should probably put this in ReadDatabase as we will know the + // maximum number of hits after setting up the detector map + InitHitList(fDetMap, "THcCherenkovHit", 100); // 100 is max hits + + EStatus status; + if( (status = THaNonTrackingDetector::Init( date )) ) + return fStatus=status; + + // Will need to determine which apparatus it belongs to and use the + // appropriate detector ID in the FillMap call + if( gHcDetectorMap->FillMap(fDetMap, "HCER") < 0 ) { + Error( Here(here), "Error filling detectormap for %s.", + "HCER"); + return kInitError; + } + + return fStatus = kOK; +} + +//_____________________________________________________________________________ +Int_t THcCherenkov::ReadDatabase( const TDatime& date ) +{ + // This function is called by THaDetectorBase::Init() once at the beginning + // of the analysis. + + cout << "THcCherenkov::ReadDatabase " << GetName() << endl; // Ahmed + + char prefix[2]; + char parname[100]; + + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + + strcpy(parname,prefix); // This is taken from + strcat(parname,"cer_tot_pmts"); // THcScintillatorPlane + fNelem = (Int_t)gHcParms->Find(parname)->GetValue(); // class. + + // fNelem = 2; // Default if not defined + + fNPMT = new Int_t[fNelem]; + fADC = new Double_t[fNelem]; + fADC_P = new Double_t[fNelem]; + fNPE = new Double_t[fNelem]; + + fCerWidth = new Double_t[fNelem]; + fGain = new Double_t[fNelem]; + fPedLimit = new Int_t[fNelem]; + fPedMean = new Double_t[fNelem]; + + fNPMT = new Int_t[fNelem]; + fADC = new Double_t[fNelem]; + fADC_P = new Double_t[fNelem]; + fNPE = new Double_t[fNelem]; + fCerWidth = new Double_t[fNelem]; + fGain = new Double_t[fNelem]; + fPedLimit = new Int_t[fNelem]; + fPedMean = new Double_t[fNelem]; + + fCerNRegions = 3; // This value should be in parameter file + + fCerTrackCounter = new Int_t [fCerNRegions]; + fCerFiredCounter = new Int_t [fCerNRegions]; + for ( Int_t ireg = 0; ireg < fCerNRegions; ireg++ ) { + fCerTrackCounter[ireg] = 0; + fCerFiredCounter[ireg] = 0; + } + + + fCerRegionsValueMax = fCerNRegions * 8; // This value 8 should also be in paramter file + fCerRegionValue = new Double_t [fCerRegionsValueMax]; + + DBRequest list[]={ + {"cer_adc_to_npe", fGain, kDouble, (UInt_t) fNelem}, // Ahmed + {"cer_ped_limit", fPedLimit, kInt, (UInt_t) fNelem}, // Ahmed + {"cer_width", fCerWidth, kDouble, (UInt_t) fNelem}, // Ahmed + {"cer_chi2max", &fCerChi2Max, kDouble}, // Ahmed + {"cer_beta_min", &fCerBetaMin, kDouble}, // Ahmed + {"cer_beta_max", &fCerBetaMax, kDouble}, // Ahmed + {"cer_et_min", &fCerETMin, kDouble}, // Ahmed + {"cer_et_max", &fCerETMax, kDouble}, // Ahmed + {"cer_mirror_zpos", &fCerMirrorZPos, kDouble}, // Ahmed + {"cer_region", &fCerRegionValue[0], kDouble, (UInt_t) fCerRegionsValueMax}, // Ahmed + {"cer_threshold", &fCerThresh, kDouble}, // Ahmed + {0} + }; + + gHcParms->LoadParmValues((DBRequest*)&list,prefix); + + fIsInit = true; + + for (Int_t i1 = 0; i1 < fCerNRegions; i1++ ) { + cout << "Region " << i1 << endl; + for (Int_t i2 = 0; i2 < 8; i2++ ) { + cout << fCerRegionValue[GetCerIndex( i1, i2 )] << " "; + } + cout <<endl; + } + + // Create arrays to hold pedestal results + InitializePedestals(); + + return kOK; +} + +//_____________________________________________________________________________ +Int_t THcCherenkov::DefineVariables( EMode mode ) +{ + // Initialize global variables for histogramming and tree + + cout << "THcCherenkov::DefineVariables called " << GetName() << endl; + + if( mode == kDefine && fIsSetup ) return kOK; + fIsSetup = ( mode == kDefine ); + + // Register variables in global list + + // Do we need to put the number of pos/neg TDC/ADC hits into the variables? + // No. They show up in tree as Ndata.H.aero.postdchits for example + + RVarDef vars[] = { + {"phototubes", "Nuber of Cherenkov photo tubes", "fNPMT"}, + {"adc", "Raw ADC values", "fADC"}, + {"adc_p", "Pedestal Subtracted ADC values", "fADC_P"}, + {"npe", "Number of Photo electrons", "fNPE"}, + {"npesum", "Sum of Number of Photo electrons", "fNPEsum"}, + {"ncherhit", "Number of Hits(Cherenkov)", "fNCherHit"}, + {"certrackcounter", "Tracks inside Cherenkov region", "fCerTrackCounter"}, + {"cerfiredcounter", "Tracks with engough Cherenkov NPEs ", "fCerFiredCounter"}, + { 0 } + }; + + return DefineVarsFromList( vars, mode ); +} +//_____________________________________________________________________________ +inline +void THcCherenkov::Clear(Option_t* opt) +{ + // Clear the hit lists + fADCHits->Clear(); + + // Clear Cherenkov variables from h_trans_cer.f + + fNhits = 0; // Don't really need to do this. (Be sure this called before Decode) + fNPEsum = 0.0; + fNCherHit = 0; + + for(Int_t itube = 0;itube < fNelem;itube++) { + fNPMT[itube] = 0; + fADC[itube] = 0; + fADC_P[itube] = 0; + fNPE[itube] = 0; + } + +} + +//_____________________________________________________________________________ +Int_t THcCherenkov::Decode( const THaEvData& evdata ) +{ + // Get the Hall C style hitlist (fRawHitList) for this event + fNhits = DecodeToHitList(evdata); + + if(gHaCuts->Result("Pedestal_event")) { + AccumulatePedestals(fRawHitList); + fAnalyzePedestals = 1; // Analyze pedestals first normal events + return(0); + } + + if(fAnalyzePedestals) { + CalculatePedestals(); + fAnalyzePedestals = 0; // Don't analyze pedestals next event + } + + + Int_t ihit = 0; + Int_t nADCHits=0; + while(ihit < fNhits) { + THcCherenkovHit* hit = (THcCherenkovHit *) fRawHitList->At(ihit); + + // ADC hit + if(hit->fADC_pos > 0) { + THcSignalHit *sighit = (THcSignalHit*) fADCHits->ConstructedAt(nADCHits++); + sighit->Set(hit->fCounter, hit->fADC_pos); + } + + ihit++; + } + return ihit; +} + +//_____________________________________________________________________________ +Int_t THcCherenkov::ApplyCorrections( void ) +{ + return(0); +} + +//_____________________________________________________________________________ +Int_t THcCherenkov::CoarseProcess( TClonesArray& ) //tracks +{ + for(Int_t ihit=0; ihit < fNhits; ihit++) { + THcCherenkovHit* hit = (THcCherenkovHit *) fRawHitList->At(ihit); // nhit = 1, hcer_tot_hits + + // Pedestal subtraction and gain adjustment + + // An ADC value of less than zero occurs when that particular + // channel has been sparsified away and has not been read. + // The NPE for that tube will be assigned zero by this code. + // An ADC value of greater than 8192 occurs when the ADC overflows on + // an input that is too large. Tubes with this characteristic will + // be assigned NPE = 100.0. + Int_t npmt = hit->fCounter - 1; // tube = hcer_tube_num(nhit) + // Should probably check that npmt is in range + if ( ihit != npmt ) + cout << "ihit != npmt " << endl; + + fNPMT[npmt] = hit->fCounter; + fADC[npmt] = hit->fADC_pos; + fADC_P[npmt] = hit->fADC_pos - fPedMean[npmt]; + + if ( ( fADC_P[npmt] > fCerWidth[npmt] ) && ( hit->fADC_pos < 8000 ) ) { + fNPE[npmt] = fGain[npmt]*fADC_P[npmt]; + fNCherHit ++; + } else if ( hit->fADC_pos > 8000 ) { + fNPE[npmt] = 100.0; + } else { + fNPE[npmt] = 0.0; + } + + fNPEsum += fNPE[npmt]; + + } + + ApplyCorrections(); + + return 0; +} + +//_____________________________________________________________________________ +Int_t THcCherenkov::FineProcess( TClonesArray& tracks ) +{ + + if ( tracks.GetLast() > -1 ) { + + THaTrack* theTrack = dynamic_cast<THaTrack*>( tracks.At(0) ); + if (!theTrack) return -1; + + if ( ( ( tracks.GetLast() + 1 ) == 1 ) && + ( theTrack->GetChi2()/theTrack->GetNDoF() > 0. ) && + ( theTrack->GetChi2()/theTrack->GetNDoF() < fCerChi2Max ) && + ( theTrack->GetBeta() > fCerBetaMin ) && + ( theTrack->GetBeta() < fCerBetaMax ) && + ( ( theTrack->GetEnergy() / theTrack->GetP() ) > fCerETMin ) && + ( ( theTrack->GetEnergy() / theTrack->GetP() ) < fCerETMax ) + ) { + + Double_t cerX = theTrack->GetX() + theTrack->GetTheta() * fCerMirrorZPos; + Double_t cerY = theTrack->GetY() + theTrack->GetPhi() * fCerMirrorZPos; + + for ( Int_t ir = 0; ir < fCerNRegions; ir++ ) { + + // * hit must be inside the region in order to continue. + + if ( ( TMath::Abs( fCerRegionValue[GetCerIndex( ir, 0 )] - cerX ) < + fCerRegionValue[GetCerIndex( ir, 4 )] ) && + ( TMath::Abs( fCerRegionValue[GetCerIndex( ir, 1 )] - cerY ) < + fCerRegionValue[GetCerIndex( ir, 5 )] ) && + ( TMath::Abs( fCerRegionValue[GetCerIndex( ir, 2 )] - theTrack->GetTheta() ) < + fCerRegionValue[GetCerIndex( ir, 6 )] ) && + ( TMath::Abs( fCerRegionValue[GetCerIndex( ir, 3 )] - theTrack->GetPhi() ) < + fCerRegionValue[GetCerIndex( ir, 7 )] ) + ) { + + // * increment the 'should have fired' counters + fCerTrackCounter[ir] ++; + + // * increment the 'did fire' counters + + if ( fNPEsum > fCerThresh ) { + fCerFiredCounter[ir] ++; + } + + } + + } // loop over regions + // cout << endl; + + } + + } + + return 0; +} + +//_____________________________________________________________________________ +void THcCherenkov::InitializePedestals( ) +{ + fNPedestalEvents = 0; + fMinPeds = 500; // In engine, this is set in parameter file + fPedSum = new Int_t [fNelem]; + fPedSum2 = new Int_t [fNelem]; + fPedCount = new Int_t [fNelem]; + + fPed = new Double_t [fNelem]; + fThresh = new Double_t [fNelem]; + for(Int_t i=0;i<fNelem;i++) { + fPedSum[i] = 0; + fPedSum2[i] = 0; + fPedCount[i] = 0; + } + +} + +//_____________________________________________________________________________ +void THcCherenkov::AccumulatePedestals(TClonesArray* rawhits) +{ + // Extract data from the hit list, accumulating into arrays for + // calculating pedestals + + Int_t nrawhits = rawhits->GetLast()+1; + + Int_t ihit = 0; + while(ihit < nrawhits) { + THcCherenkovHit* hit = (THcCherenkovHit *) rawhits->At(ihit); + + Int_t element = hit->fCounter - 1; + Int_t nadc = hit->fADC_pos; + if(nadc <= fPedLimit[element]) { + fPedSum[element] += nadc; + fPedSum2[element] += nadc*nadc; + fPedCount[element]++; + if(fPedCount[element] == fMinPeds/5) { + fPedLimit[element] = 100 + fPedSum[element]/fPedCount[element]; + } + } + ihit++; + } + + fNPedestalEvents++; + + return; +} + +//_____________________________________________________________________________ +void THcCherenkov::CalculatePedestals( ) +{ + // Use the accumulated pedestal data to calculate pedestals + // Later add check to see if pedestals have drifted ("Danger Will Robinson!") + // cout << "Plane: " << fPlaneNum << endl; + for(Int_t i=0; i<fNelem;i++) { + + // PMT tubes + fPed[i] = ((Double_t) fPedSum[i]) / TMath::Max(1, fPedCount[i]); + fThresh[i] = fPed[i] + 15; + + // Just a copy for now, but allow the possibility that fXXXPedMean is set + // in a parameter file and only overwritten if there is a sufficient number of + // pedestal events. (So that pedestals are sensible even if the pedestal events were + // not acquired.) + if(fMinPeds > 0) { + if(fPedCount[i] > fMinPeds) { + fPedMean[i] = fPed[i]; + } + } + } + // cout << " " << endl; + +} + +//_____________________________________________________________________________ +Int_t THcCherenkov::GetCerIndex( Int_t nRegion, Int_t nValue ) { + + return fCerNRegions * nValue + nRegion; +} + + +//_____________________________________________________________________________ +void THcCherenkov::Print( const Option_t* opt) const { + THaNonTrackingDetector::Print(opt); + + // Print out the pedestals + + cout << endl; + cout << "Cherenkov Pedestals" << endl; + + // Ahmed + cout << "No. ADC" << endl; + for(Int_t i=0; i<fNelem; i++){ + cout << " " << i << " " << fPed[i] << endl; + } + + cout << endl; +} + +//_____________________________________________________________________________ +Double_t THcCherenkov::GetCerNPE() { + + return fNPEsum; +} + +ClassImp(THcCherenkov) +//////////////////////////////////////////////////////////////////////////////// + diff --git a/src/THcCherenkov.h b/src/THcCherenkov.h new file mode 100644 index 0000000000000000000000000000000000000000..9d6eee02693bde6c49ffedf1b5baa0f86c6bb76a --- /dev/null +++ b/src/THcCherenkov.h @@ -0,0 +1,94 @@ +#ifndef ROOT_THcCherenkov +#define ROOT_THcCherenkov + +/////////////////////////////////////////////////////////////////////////////// +// // +// Cherenkov // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "TClonesArray.h" +#include "THaNonTrackingDetector.h" +#include "THcHitList.h" +#include "THcCherenkovHit.h" + +class THcCherenkov : public THaNonTrackingDetector, public THcHitList { + + public: + THcCherenkov( const char* name, const char* description = "", + THaApparatus* a = NULL ); + virtual ~THcCherenkov(); + + virtual void Clear( Option_t* opt="" ); + virtual Int_t Decode( const THaEvData& ); + virtual EStatus Init( const TDatime& run_time ); + void InitArrays(); + void DeleteArrays(); + virtual Int_t ReadDatabase( const TDatime& date ); + virtual Int_t DefineVariables( EMode mode = kDefine ); + virtual Int_t CoarseProcess( TClonesArray& tracks ); + virtual Int_t FineProcess( TClonesArray& tracks ); + + virtual void AccumulatePedestals(TClonesArray* rawhits); + virtual void CalculatePedestals(); + + virtual Int_t ApplyCorrections( void ); + + virtual void Print(const Option_t* opt) const; + + Int_t GetCerIndex(Int_t nRegion, Int_t nValue); + + // Double_t GetCerNPE() { return fNPEsum;} + Double_t GetCerNPE(); + + THcCherenkov(); // for ROOT I/O + protected: + Int_t fAnalyzePedestals; + + // Parameters + Double_t* fGain; + Double_t* fCerWidth; + + // Event information + Int_t fNhits; + Int_t* fNPMT; // [fNelem] Array of ADC amplitudes + Double_t* fADC; // [fNelem] Array of ADC amplitudes + Double_t* fADC_P; // [fNelem] Array of ADC amplitudes + Double_t* fNPE; // [fNelem] Array of ADC amplitudes + Double_t fNPEsum; + Int_t fNCherHit; + + Double_t* fCerRegionValue; + Double_t fCerChi2Max; + Double_t fCerBetaMin; + Double_t fCerBetaMax; + Double_t fCerETMin; + Double_t fCerETMax; + Double_t fCerMirrorZPos; + Int_t fCerNRegions; + Int_t fCerRegionsValueMax; + Int_t* fCerTrackCounter; // [fCerNRegions] Array of Cher regions + Int_t* fCerFiredCounter; // [fCerNRegions] Array of Cher regions + Double_t fCerThresh; + + // Hits + TClonesArray* fADCHits; + + // Pedestals + Int_t fNPedestalEvents; + Int_t fMinPeds; + Int_t* fPedSum; /* Accumulators for pedestals */ + Int_t* fPedSum2; + Int_t* fPedLimit; + Double_t* fPedMean; /* Can be supplied in parameters and then */ + Int_t* fPedCount; + Double_t* fPed; + Double_t* fThresh; + + void Setup(const char* name, const char* description); + virtual void InitializePedestals( ); + + ClassDef(THcCherenkov,0) // Generic cherenkov class +}; + +#endif diff --git a/src/THcCherenkovHit.cxx b/src/THcCherenkovHit.cxx new file mode 100644 index 0000000000000000000000000000000000000000..c946328351e36c814fe88dc672b120420ae0e5ec --- /dev/null +++ b/src/THcCherenkovHit.cxx @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcCherenkovHit // +// // +// Class representing a single raw hit for a pair of aerogel tubes // +// // +// Contains plane, counter and pos/neg adc // +// // +// Assumes Aerogel design where Aerogel PMT's are in pairs and only have // +// ADCs. // +// // +// Ahmed. First attempt. September 27 2013. // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcCherenkovHit.h" + +////////////////////////////////////////////////////////////////////////// +ClassImp(THcCherenkovHit) diff --git a/src/THcCherenkovHit.h b/src/THcCherenkovHit.h new file mode 100644 index 0000000000000000000000000000000000000000..b7dac6db4b9d9aa83e63e20669e3c76887f279f8 --- /dev/null +++ b/src/THcCherenkovHit.h @@ -0,0 +1,19 @@ +#ifndef ROOT_THcCherenkovHit +#define ROOT_THcCherenkovHit + +#include "THcRawHodoHit.h" + +class THcCherenkovHit : public THcRawHodoHit { + + public: + friend class THcCherenkov; + + protected: + + private: + + ClassDef(THcCherenkovHit,0); // Raw Cherenkov hit +}; + +#endif + diff --git a/src/THcDC.cxx b/src/THcDC.cxx new file mode 100644 index 0000000000000000000000000000000000000000..09ab985c4182268819df4a25fd4d64ad092aa154 --- /dev/null +++ b/src/THcDC.cxx @@ -0,0 +1,1128 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDC // +// // +// Class for a generic hodoscope consisting of multiple // +// planes with multiple paddles with phototubes on both ends. // +// This differs from Hall A scintillator class in that it is the whole // +// hodoscope array, not just one plane. // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcDC.h" +#include "THaEvData.h" +#include "THaDetMap.h" +#include "THcDetectorMap.h" +#include "THcGlobals.h" +#include "THaCutList.h" +#include "THcParmList.h" +#include "THcDCTrack.h" +#include "VarDef.h" +#include "VarType.h" +#include "THaTrack.h" +#include "TClonesArray.h" +#include "TMath.h" +#include "TVectorD.h" + +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> + +using namespace std; + +//_____________________________________________________________________________ +THcDC::THcDC( + const char* name, const char* description, + THaApparatus* apparatus ) : + THaTrackingDetector(name,description,apparatus) +{ + // Constructor + + fNPlanes = 0; // No planes until we make them + + fXCenter = NULL; + fYCenter = NULL; + fMinHits = NULL; + fMaxHits = NULL; + fMinCombos = NULL; + fSpace_Point_Criterion = NULL; + + fTdcWinMin = NULL; + fTdcWinMax = NULL; + fCentralTime = NULL; + fNWires = NULL; + fNChamber = NULL; + fWireOrder = NULL; + fDriftTimeSign = NULL; + + fZPos = NULL; + fAlphaAngle = NULL; + fBetaAngle = NULL; + fGammaAngle = NULL; + fPitch = NULL; + fCentralWire = NULL; + fPlaneTimeZero = NULL; + fSigma = NULL; + + // These should be set to zero (in a parameter file) in order to + // replicate historical ENGINE behavior + fFixLR = 1; + fFixPropagationCorrection = 1; + fProjectToChamber = 0; // Use 1 for SOS chambers + + fDCTracks = new TClonesArray( "THcDCTrack", 20 ); + + fNChamHits = 0; + fPlaneEvents = 0; +} + +//_____________________________________________________________________________ +void THcDC::Setup(const char* name, const char* description) +{ + + static const char* const here = "Setup"; + + THaApparatus *app = GetApparatus(); + if(app) { + cout << app->GetName() << endl; + fPrefix[0]=tolower(app->GetName()[0]); + fPrefix[1]='\0'; + } else { + cout << "No apparatus found" << endl; + fPrefix[0]='\0'; + } + + // For now, decide chamber style from the spectrometer name. + // Should override with a paramter + if(fPrefix[0]=='h') { + fHMSStyleChambers = 1; + } else { + fHMSStyleChambers = 0; + } + + string planenamelist; + DBRequest list[]={ + {"dc_num_planes",&fNPlanes, kInt}, + {"dc_num_chambers",&fNChambers, kInt}, + {"dc_tdc_time_per_channel",&fNSperChan, kDouble}, + {"dc_wire_velocity",&fWireVelocity,kDouble}, + {"dc_plane_names",&planenamelist, kString}, + {0} + }; + + gHcParms->LoadParmValues((DBRequest*)&list,fPrefix); + cout << planenamelist << endl; + cout << "Drift Chambers: " << fNPlanes << " planes in " << fNChambers << " chambers" << endl; + + vector<string> plane_names = vsplit(planenamelist); + + if(plane_names.size() != (UInt_t) fNPlanes) { + cout << "ERROR: Number of planes " << fNPlanes << " doesn't agree with number of plane names " << plane_names.size() << endl; + // Should quit. Is there an official way to quit? + } + fPlaneNames = new char* [fNPlanes]; + for(Int_t i=0;i<fNPlanes;i++) { + fPlaneNames[i] = new char[plane_names[i].length()+1]; + strcpy(fPlaneNames[i], plane_names[i].c_str()); + } + + char *desc = new char[strlen(description)+100]; + char *desc1= new char[strlen(description)+100]; + fPlanes.clear(); + + for(Int_t i=0;i<fNPlanes;i++) { + strcpy(desc, description); + strcat(desc, " Plane "); + strcat(desc, fPlaneNames[i]); + + THcDriftChamberPlane* newplane = new THcDriftChamberPlane(fPlaneNames[i], desc, i+1, this); + if( !newplane or newplane->IsZombie() ) { + Error( Here(here), "Error creating Drift Chamber plane %s. Call expert.", name); + MakeZombie(); + return; + } + fPlanes.push_back(newplane); + newplane->SetDebug(fDebug); + cout << "Created Drift Chamber Plane " << fPlaneNames[i] << ", " << desc << endl; + + } + + fChambers.clear(); + for(UInt_t i=0;i<fNChambers;i++) { + sprintf(desc1,"Ch%d",i+1); + + // Should construct a better chamber name + THcDriftChamber* newchamber = new THcDriftChamber(desc1, desc, i+1, this); + fChambers.push_back(newchamber); + cout << "Created Drift Chamber " << i+1 << ", " << desc1 << endl; + newchamber->SetHMSStyleFlag(fHMSStyleChambers); // Tell the chamber its style + } + delete [] desc; + delete [] desc1; +} + +//_____________________________________________________________________________ +THcDC::THcDC( ) : + THaTrackingDetector() +{ + // Constructor +} + +//_____________________________________________________________________________ +THaAnalysisObject::EStatus THcDC::Init( const TDatime& date ) +{ + Setup(GetName(), GetTitle()); // Create the subdetectors here + EffInit(); + + // Should probably put this in ReadDatabase as we will know the + // maximum number of hits after setting up the detector map + InitHitList(fDetMap, "THcRawDCHit", 1000); + + EStatus status; + // This triggers call of ReadDatabase and DefineVariables + if( (status = THaTrackingDetector::Init( date )) ) + return fStatus=status; + + // Initialize planes and add them to chambers + for(Int_t ip=0;ip<fNPlanes;ip++) { + if((status = fPlanes[ip]->Init( date ))) { + return fStatus=status; + } else { + Int_t chamber=fNChamber[ip]; + fChambers[chamber-1]->AddPlane(fPlanes[ip]); + } + } + // Initialize chambers + for(UInt_t ic=0;ic<fNChambers;ic++) { + if((status = fChambers[ic]->Init ( date ))) { + return fStatus=status; + } + } + // Retrieve the fiting coefficients + fPlaneCoeffs = new Double_t* [fNPlanes]; + for(Int_t ip=0; ip<fNPlanes;ip++) { + fPlaneCoeffs[ip] = fPlanes[ip]->GetPlaneCoef(); + } + + fResiduals = new Double_t [fNPlanes]; + + // Replace with what we need for Hall C + // const DataDest tmp[NDEST] = { + // { &fRTNhit, &fRANhit, fRT, fRT_c, fRA, fRA_p, fRA_c, fROff, fRPed, fRGain }, + // { &fLTNhit, &fLANhit, fLT, fLT_c, fLA, fLA_p, fLA_c, fLOff, fLPed, fLGain } + // }; + // memcpy( fDataDest, tmp, NDEST*sizeof(DataDest) ); + + // Will need to determine which apparatus it belongs to and use the + // appropriate detector ID in the FillMap call + char EngineDID[4]; + + EngineDID[0] = toupper(GetApparatus()->GetName()[0]); + EngineDID[1] = 'D'; + EngineDID[2] = 'C'; + EngineDID[3] = '\0'; + + if( gHcDetectorMap->FillMap(fDetMap, EngineDID) < 0 ) { + static const char* const here = "Init()"; + Error( Here(here), "Error filling detectormap for %s.", + EngineDID); + return kInitError; + } + + return fStatus = kOK; +} + +//_____________________________________________________________________________ +Int_t THcDC::ReadDatabase( const TDatime& date ) +{ + // Read this detector's parameters from the database file 'fi'. + // This function is called by THaDetectorBase::Init() once at the + // beginning of the analysis. + // 'date' contains the date/time of the run being analyzed. + + // static const char* const here = "ReadDatabase()"; + + // Read data from database + // Pull values from the THcParmList instead of reading a database + // file like Hall A does. + + // We will probably want to add some kind of method to gHcParms to allow + // bulk retrieval of parameters of interest. + + // Will need to determine which spectrometer in order to construct + // the parameter names (e.g. hscin_1x_nr vs. sscin_1x_nr) + + delete [] fXCenter; fXCenter = new Double_t [fNChambers]; + delete [] fYCenter; fYCenter = new Double_t [fNChambers]; + delete [] fMinHits; fMinHits = new Int_t [fNChambers]; + delete [] fMaxHits; fMaxHits = new Int_t [fNChambers]; + delete [] fMinCombos; fMinCombos = new Int_t [fNChambers]; + delete [] fSpace_Point_Criterion; fSpace_Point_Criterion = new Double_t [fNChambers]; + + delete [] fTdcWinMin; fTdcWinMin = new Int_t [fNPlanes]; + delete [] fTdcWinMax; fTdcWinMax = new Int_t [fNPlanes]; + delete [] fCentralTime; fCentralTime = new Double_t [fNPlanes]; + delete [] fNWires; fNWires = new Int_t [fNPlanes]; + delete [] fNChamber; fNChamber = new Int_t [fNPlanes]; // Which chamber is this plane + delete [] fWireOrder; fWireOrder = new Int_t [fNPlanes]; // Wire readout order + delete [] fDriftTimeSign; fDriftTimeSign = new Int_t [fNPlanes]; + + delete [] fZPos; fZPos = new Double_t [fNPlanes]; + delete [] fAlphaAngle; fAlphaAngle = new Double_t [fNPlanes]; + delete [] fBetaAngle; fBetaAngle = new Double_t [fNPlanes]; + delete [] fGammaAngle; fGammaAngle = new Double_t [fNPlanes]; + delete [] fPitch; fPitch = new Double_t [fNPlanes]; + delete [] fCentralWire; fCentralWire = new Double_t [fNPlanes]; + delete [] fPlaneTimeZero; fPlaneTimeZero = new Double_t [fNPlanes]; + delete [] fSigma; fSigma = new Double_t [fNPlanes]; + + DBRequest list[]={ + {"dc_tdc_time_per_channel",&fNSperChan, kDouble}, + {"dc_wire_velocity",&fWireVelocity,kDouble}, + + {"dc_xcenter", fXCenter, kDouble, fNChambers}, + {"dc_ycenter", fYCenter, kDouble, fNChambers}, + {"min_hit", fMinHits, kInt, fNChambers}, + {"max_pr_hits", fMaxHits, kInt, fNChambers}, + {"min_combos", fMinCombos, kInt, fNChambers}, + {"space_point_criterion", fSpace_Point_Criterion, kDouble, fNChambers}, + + {"dc_tdc_min_win", fTdcWinMin, kInt, (UInt_t)fNPlanes}, + {"dc_tdc_max_win", fTdcWinMax, kInt, (UInt_t)fNPlanes}, + {"dc_central_time", fCentralTime, kDouble, (UInt_t)fNPlanes}, + {"dc_nrwire", fNWires, kInt, (UInt_t)fNPlanes}, + {"dc_chamber_planes", fNChamber, kInt, (UInt_t)fNPlanes}, + {"dc_wire_counting", fWireOrder, kInt, (UInt_t)fNPlanes}, + {"dc_drifttime_sign", fDriftTimeSign, kInt, (UInt_t)fNPlanes}, + + {"dc_zpos", fZPos, kDouble, (UInt_t)fNPlanes}, + {"dc_alpha_angle", fAlphaAngle, kDouble, (UInt_t)fNPlanes}, + {"dc_beta_angle", fBetaAngle, kDouble, (UInt_t)fNPlanes}, + {"dc_gamma_angle", fGammaAngle, kDouble, (UInt_t)fNPlanes}, + {"dc_pitch", fPitch, kDouble, (UInt_t)fNPlanes}, + {"dc_central_wire", fCentralWire, kDouble, (UInt_t)fNPlanes}, + {"dc_plane_time_zero", fPlaneTimeZero, kDouble, (UInt_t)fNPlanes}, + {"dc_sigma", fSigma, kDouble, (UInt_t)fNPlanes}, + {"single_stub",&fSingleStub, kInt}, + {"ntracks_max_fp", &fNTracksMaxFP, kInt}, + {"xt_track_criterion", &fXtTrCriterion, kDouble}, + {"yt_track_criterion", &fYtTrCriterion, kDouble}, + {"xpt_track_criterion", &fXptTrCriterion, kDouble}, + {"ypt_track_criterion", &fYptTrCriterion, kDouble}, + {"dc_fix_lr", &fFixLR, kInt}, + {"dc_fix_propcorr", &fFixPropagationCorrection, kInt}, + {"debuglinkstubs", &fdebuglinkstubs, kInt}, + {"debugprintrawdc", &fdebugprintrawdc, kInt}, + {"debugprintdecodeddc", &fdebugprintdecodeddc, kInt}, + {"debugflagpr", &fdebugflagpr, kInt}, + {"debugflagstubs", &fdebugflagstubs, kInt}, + {"debugtrackprint", &fdebugtrackprint , kInt}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list,fPrefix); + if(fNTracksMaxFP <= 0) fNTracksMaxFP = 10; + // if(fNTracksMaxFP > HNRACKS_MAX) fNTracksMaxFP = NHTRACKS_MAX; + cout << "Plane counts:"; + for(Int_t i=0;i<fNPlanes;i++) { + cout << " " << fNWires[i]; + } + cout << endl; + + fIsInit = true; + + return kOK; +} + +//_____________________________________________________________________________ +Int_t THcDC::DefineVariables( EMode mode ) +{ + // Initialize global variables and lookup table for decoder + + if( mode == kDefine && fIsSetup ) return kOK; + fIsSetup = ( mode == kDefine ); + + // Register variables in global list + + RVarDef vars[] = { + { "nhit", "Number of DC hits", "fNhits" }, + { "tnhit", "Number of good DC hits", "fNthits" }, + { "trawhit", "Number of true raw DC hits", "fN_True_RawHits" }, + { "ntrack", "Number of Tracks", "fNDCTracks" }, + { "nsp", "Number of Space Points", "fNSp" }, + { "x", "X at focal plane", "fDCTracks.THcDCTrack.GetX()"}, + { "y", "Y at focal plane", "fDCTracks.THcDCTrack.GetY()"}, + { "xp", "XP at focal plane", "fDCTracks.THcDCTrack.GetXP()"}, + { "yp", "YP at focal plane", "fDCTracks.THcDCTrack.GetYP()"}, + { "residual", "Residuals", "fResiduals"}, + { 0 } + }; + return DefineVarsFromList( vars, mode ); + +} + +//_____________________________________________________________________________ +THcDC::~THcDC() +{ + // Destructor. Remove variables from global list. + + if( fIsSetup ) + RemoveVariables(); + if( fIsInit ) + DeleteArrays(); + + // Delete the plane objects + for (vector<THcDriftChamberPlane*>::iterator ip = fPlanes.begin(); + ip != fPlanes.end(); ++ip) delete *ip; + // Delete the chamber objects + for (vector<THcDriftChamber*>::iterator ip = fChambers.begin(); + ip != fChambers.end(); ++ip) delete *ip; + + delete fDCTracks; +} + +//_____________________________________________________________________________ +void THcDC::DeleteArrays() +{ + // Delete member arrays. Used by destructor. + + delete [] fXCenter; fXCenter = NULL; + delete [] fYCenter; fYCenter = NULL; + delete [] fMinHits; fMinHits = NULL; + delete [] fMaxHits; fMaxHits = NULL; + delete [] fMinCombos; fMinCombos = NULL; + delete [] fSpace_Point_Criterion; fSpace_Point_Criterion = NULL; + + delete [] fTdcWinMin; fTdcWinMin = NULL; + delete [] fTdcWinMax; fTdcWinMax = NULL; + delete [] fCentralTime; fCentralTime = NULL; + delete [] fNWires; fNWires = NULL; + delete [] fNChamber; fNChamber = NULL; + delete [] fWireOrder; fWireOrder = NULL; + delete [] fDriftTimeSign; fDriftTimeSign = NULL; + + delete [] fZPos; fZPos = NULL; + delete [] fAlphaAngle; fAlphaAngle = NULL; + delete [] fBetaAngle; fBetaAngle = NULL; + delete [] fGammaAngle; fGammaAngle = NULL; + delete [] fPitch; fPitch = NULL; + delete [] fCentralWire; fCentralWire = NULL; + delete [] fPlaneTimeZero; fPlaneTimeZero = NULL; + delete [] fSigma; fSigma = NULL; + + // Efficiency arrays + delete [] fNChamHits; fNChamHits = NULL; + delete [] fPlaneEvents; fPlaneEvents = NULL; + +} + +//_____________________________________________________________________________ +inline +void THcDC::ClearEvent() +{ + // Reset per-event data. + fNhits = 0; + fNthits = 0; + fN_True_RawHits=0; + + for(UInt_t i=0;i<fNChambers;i++) { + fChambers[i]->Clear(); + } + + for(Int_t i=0;i<fNPlanes;i++) { + fResiduals[i] = 1000.0; + } + + // fTrackProj->Clear(); +} + +//_____________________________________________________________________________ +Int_t THcDC::Decode( const THaEvData& evdata ) +{ + + ClearEvent(); + Int_t num_event = evdata.GetEvNum(); + if (fdebugprintrawdc ||fdebugprintdecodeddc || fdebuglinkstubs || fdebugtrackprint) cout << " event num = " << num_event << endl; + // Get the Hall C style hitlist (fRawHitList) for this event + fNhits = DecodeToHitList(evdata); + + if(!gHaCuts->Result("Pedestal_event")) { + // Let each plane get its hits + Int_t nexthit = 0; + for(Int_t ip=0;ip<fNPlanes;ip++) { + nexthit = fPlanes[ip]->ProcessHits(fRawHitList, nexthit); + fN_True_RawHits += fPlanes[ip]->GetNRawhits(); + + } + + // Let each chamber get its hits + for(UInt_t ic=0;ic<fNChambers;ic++) { + fChambers[ic]->ProcessHits(); + fNthits += fChambers[ic]->GetNHits(); + } + // fRawHitList is TClones array of THcRawDCHit objects + Int_t counter=0; + if (fdebugprintrawdc) { + cout << " RAW_TOT_HITS = " << fNRawHits << endl; + cout << " Hit # " << "Plane " << " Wire " << " Raw TDC " << endl; + for(UInt_t ihit = 0; ihit < fNRawHits ; ihit++) { + THcRawDCHit* hit = (THcRawDCHit *) fRawHitList->At(ihit); + for(UInt_t imhit = 0; imhit < hit->fNHits; imhit++) { + counter++; + cout << counter << " " << hit->fPlane << " " << hit->fCounter << " " << hit->fTDC[imhit] << endl; + } + } + cout << endl; + } + Eff(); // Accumlate statistics + } + return fNhits; +} + +//_____________________________________________________________________________ +Int_t THcDC::ApplyCorrections( void ) +{ + return(0); +} + +//_____________________________________________________________________________ +Int_t THcDC::CoarseTrack( TClonesArray& tracks ) +{ + // Calculation of coordinates of particle track cross point with scint + // plane in the detector coordinate system. For this, parameters of track + // reconstructed in THaVDC::CoarseTrack() are used. + // + // Apply corrections and reconstruct the complete hits. + // + // static const Double_t sqrt2 = TMath::Sqrt(2.); + if (fdebugprintdecodeddc) { + for(UInt_t i=0;i<fNChambers;i++) { + fChambers[i]->PrintDecode(); + } + } + for(UInt_t i=0;i<fNChambers;i++) { + fChambers[i]->FindSpacePoints(); + fChambers[i]->CorrectHitTimes(); + fChambers[i]->LeftRight(); + } + if (fdebugflagpr) PrintSpacePoints(); + if (fdebugflagstubs) PrintStubs(); + // Now link the stubs between chambers + LinkStubs(); + if(fNDCTracks > 0) { + TrackFit(); + // Copy tracks into podd tracks list + for(UInt_t itrack=0;itrack<fNDCTracks;itrack++) { + THaTrack* theTrack = NULL; + theTrack = AddTrack(tracks, 0.0, 0.0, 0.0, 0.0); // Leaving off trackID + // Should we add stubs with AddCluster? Could we do this + // by having stubs inherit from cluster + + THcDCTrack *tr = static_cast<THcDCTrack*>( fDCTracks->At(itrack)); + theTrack->Set(tr->GetX(), tr->GetY(), tr->GetXP(), tr->GetYP()); + theTrack->SetFlag((UInt_t) 0); + // Need to look at how engine does chi2 and track selection. Reduced? + theTrack->SetChi2(tr->GetChisq(),tr->GetNFree()); + // CalcFocalPlaneCoords. Aren't our tracks already in focal plane coords + // We should have some kind of track ID so that the THaTrack can be + // associate back with the DC track + } + } + + // Check for internal TrackFit errors + // Histogram the focal plane tracks + // Histograms made in h_fill_dc_fp_hist + // The following are one hist per track + // x_fp + // y_fp + // xp_fp + // yp_fp + // log chi2 + // reduced chi2 + // For each plane: + // double residual + // single residual + // Will need to make a track class that has all these things. Need to + // move the structure out of THcDC into it's own class which should probably + // inherit from a podd track class + + ApplyCorrections(); + + return 0; +} + +//_____________________________________________________________________________ +Int_t THcDC::FineTrack( TClonesArray& tracks ) +{ + // Reconstruct coordinates of particle track cross point with scintillator + // plane, and copy the data into the following local data structure: + // + // Units of measurements are meters. + + // Calculation of coordinates of particle track cross point with scint + // plane in the detector coordinate system. For this, parameters of track + // reconstructed in THaVDC::FineTrack() are used. + + return 0; +} +// +void THcDC::PrintSpacePoints() +{ + for(UInt_t ich=0;ich<fNChambers;ich++) { + printf("%s %2d %s %3d %s %3d \n"," chamber = ",fChambers[ich]->GetChamberNum()," number of hits = ",fChambers[ich]->GetNHits()," number of spacepoints = ",fChambers[ich]->GetNSpacePoints()); + printf("%6s %-8s %-8s %6s %6s %10s \n"," "," "," ","Number","Number","Plane Wire"); + printf("%6s %-8s %-8s %6s %6s %10s \n","Point","x","y"," hits ","combos"," for each hit"); + TClonesArray* spacepointarray = fChambers[ich]->GetSpacePointsP(); + for(Int_t isp=0;isp<fChambers[ich]->GetNSpacePoints();isp++) { + THcSpacePoint* sp = (THcSpacePoint*)(spacepointarray->At(isp)); + printf("%5d %8.5f %8.5f %5d %5d ",isp+1,sp->GetX(),sp->GetY(),sp->GetNHits(),sp->GetCombos()) ; + for (Int_t ii=0;ii<sp->GetNHits();ii++) { + THcDCHit* hittemp = (THcDCHit*)(sp->GetHit(ii)); + printf("%3d %3d",hittemp->GetPlaneNum(),hittemp->GetWireNum()); + } + printf("\n"); + } + } +} +// +// +void THcDC::PrintStubs() +{ + for(UInt_t ich=0;ich<fNChambers;ich++) { + printf("%s %3d \n"," Stub fit results Chamber = ",ich+1); + printf("%-5s %-18s %-18s %-18s %-18s\n","point","x_t","y_t","xp_t","yp_t"); + printf("%-5s %-18s %-18s %-18s %-18s\n"," ","[cm]","[cm]","[cm]","[cm]"); + TClonesArray* spacepointarray = fChambers[ich]->GetSpacePointsP(); + for(Int_t isp=0;isp<fChambers[ich]->GetNSpacePoints();isp++) { + THcSpacePoint* sp = (THcSpacePoint*)(spacepointarray->At(isp)); + Double_t *spstubt=sp->GetStubP(); + printf("%-5d % 15.10e % 15.10e % 15.10e % 15.10e \n",isp+1,spstubt[0],spstubt[1],spstubt[2],spstubt[3]); + } + } +} +// +//_____________________________________________________________________________ +void THcDC::LinkStubs() +{ + // The logic is + // 0) Put all space points in a single list + // 1) loop over all space points as seeds isp1 + // 2) Check if this space point is all ready in a track + // 3) loop over all succeeding space pointss isp2 + // 4) check if there is a track-criterion match + // either add to existing track + // or if there is another point in same chamber + // make a copy containing isp2 rather than + // other point in same chamber + // 5) If hsingle_stub is set, make a track of all single + // stubs. + + std::vector<THcSpacePoint*> fSp; + fNSp=0; + fSp.clear(); + fSp.reserve(10); + // Make a vector of pointers to the SpacePoints + for(UInt_t ich=0;ich<fNChambers;ich++) { + Int_t nchamber=fChambers[ich]->GetChamberNum(); + TClonesArray* spacepointarray = fChambers[ich]->GetSpacePointsP(); + for(Int_t isp=0;isp<fChambers[ich]->GetNSpacePoints();isp++) { + fSp.push_back(static_cast<THcSpacePoint*>(spacepointarray->At(isp))); + fSp[fNSp]->fNChamber = nchamber; + fNSp++; + } + } + fNDCTracks=0; // Number of Focal Plane tracks found + fDCTracks->Clear("C"); + Double_t stubminx = 999999; + Double_t stubminy = 999999; + Double_t stubminxp = 999999; + Double_t stubminyp = 999999; + Int_t stub_tracks[MAXTRACKS]; + if(!fSingleStub) { + for(Int_t isp1=0;isp1<fNSp-1;isp1++) { // isp1 is index/id in total list of space points + THcSpacePoint* sp1 = fSp[isp1]; + Int_t sptracks=0; + // Now make sure this sp is not already used in a sp. + // Could this be done by having a sp point to the track it is in? + Int_t tryflag=1; + for(UInt_t itrack=0;itrack<fNDCTracks;itrack++) { + THcDCTrack *theDCTrack = static_cast<THcDCTrack*>( fDCTracks->At(itrack)); + for(Int_t isp=0;isp<theDCTrack->GetNSpacePoints();isp++) { + // isp is index into list of space points attached to theDCTrack + if(theDCTrack->GetSpacePoint(isp) == sp1) { + tryflag=0; + } + } + } + if(tryflag) { // SP not already part of a track + Int_t newtrack=1; + for(Int_t isp2=isp1+1;isp2<fNSp;isp2++) { + THcSpacePoint* sp2=fSp[isp2]; + if(sp1->fNChamber!=sp2->fNChamber) { + Double_t *spstub1=sp1->GetStubP(); + Double_t *spstub2=sp2->GetStubP(); + Double_t dposx = spstub1[0] - spstub2[0]; + Double_t dposy; + if(fProjectToChamber) { // From SOS s_link_stubs + // Since single chamber resolution is ~50mr, and the maximum y` + // angle is about 30mr, use differenece between y AT CHAMBERS, rather + // than at focal plane. (Project back to chamber, to take out y' uncertainty) + // (Should this be done for SHMS and HMS too?) + Double_t y1=spstub1[1]+fChambers[sp1->fNChamber]->GetZPos()*spstub1[3]; + Double_t y2=spstub2[1]+fChambers[sp2->fNChamber]->GetZPos()*spstub2[3]; + dposy = y1-y2; + } else { + dposy = spstub1[1] - spstub2[1]; + } + Double_t dposxp = spstub1[2] - spstub2[2]; + Double_t dposyp = spstub1[3] - spstub2[3]; + + // What is the point of saving these stubmin values. They + // Don't seem to be used anywhere except that they can be + // printed out if hbypass_track_eff_files is zero. + if(TMath::Abs(dposx)<TMath::Abs(stubminx)) stubminx = dposx; + if(TMath::Abs(dposy)<TMath::Abs(stubminy)) stubminy = dposy; + if(TMath::Abs(dposxp)<TMath::Abs(stubminxp)) stubminxp = dposxp; + if(TMath::Abs(dposyp)<TMath::Abs(stubminyp)) stubminyp = dposyp; + + // if hbypass_track_eff_files == 0 then + // Print out each stubminX that is less that its criterion + + if((TMath::Abs(dposx) < fXtTrCriterion) + && (TMath::Abs(dposy) < fYtTrCriterion) + && (TMath::Abs(dposxp) < fXptTrCriterion) + && (TMath::Abs(dposyp) < fYptTrCriterion)) { + if(newtrack) { + assert(sptracks==0); + //stubtest=1; Used in h_track_tests.f + // Make a new track if there are not to many + if(fNDCTracks < MAXTRACKS) { + sptracks=0; // Number of tracks with this seed + stub_tracks[sptracks++] = fNDCTracks; + THcDCTrack *theDCTrack = new( (*fDCTracks)[fNDCTracks++]) THcDCTrack(fNPlanes); + theDCTrack->AddSpacePoint(sp1); + theDCTrack->AddSpacePoint(sp2); + // Now save the X, Y and XP for the two stubs + // in arrays hx_sp1, hy_sp1, hy_sp1, ... hxp_sp2 + // Why not also YP? + // Skip for here. May be a diagnostic thing + newtrack = 0; // Make no more tracks in this loop + // (But could replace a SP?) + } else { + if (fHMSStyleChambers) { + fNDCTracks=0; + return; + } + } + } else { + // Check if there is another space point in the same chamber + for(Int_t itrack=0;itrack<sptracks;itrack++) { + Int_t track=stub_tracks[itrack]; + THcDCTrack *theDCTrack = static_cast<THcDCTrack*>( fDCTracks->At(track)); + + Int_t spoint=-1; + Int_t duppoint=0; + for(Int_t isp=0;isp<theDCTrack->GetNSpacePoints();isp++) { + // isp is index of space points in theDCTrack + if(sp2->fNChamber == + theDCTrack->GetSpacePoint(isp)->fNChamber) { + spoint=isp; + } + if(sp2==theDCTrack->GetSpacePoint(isp)) { + duppoint=1; + } + } // End loop over sp in tracks with isp1 + // If there is no other space point in this chamber + // add this space point to current track(2) + if(!duppoint) { + if(spoint<0) { + theDCTrack->AddSpacePoint(sp2); + } else { + // If there is another point in the same chamber + // in this track create a new track with all the + // same space points except spoint + if(fNDCTracks < MAXTRACKS) { + stub_tracks[sptracks++] = fNDCTracks; + THcDCTrack *newDCTrack = new( (*fDCTracks)[fNDCTracks++]) THcDCTrack(fNPlanes); + for(Int_t isp=0;isp<theDCTrack->GetNSpacePoints();isp++) { + if(isp!=spoint) { + newDCTrack->AddSpacePoint(theDCTrack->GetSpacePoint(isp)); + } else { + newDCTrack->AddSpacePoint(sp2); + } // End check for dup on copy + } // End copy of track + } else { + if (fHMSStyleChambers) { + if (fdebuglinkstubs) cout << "EPIC FAIL 2: Too many tracks found in THcDC::LinkStubs maxtracks = " << MAXTRACKS << endl; + fNDCTracks=0; + return; // Max # of allowed tracks + } + } + } // end if on same chamber + } // end if on duplicate point + } // end for over tracks with isp1 + } + } + } // end test on same chamber + } // end isp2 loop over new space points + } // end test on tryflag + } // end isp1 outer loop over space points + // + // + } else { // Make track out of each single space point + for(Int_t isp=0;isp<fNSp;isp++) { + if(fNDCTracks<MAXTRACKS) { + // Need some constructed t thingy + THcDCTrack *newDCTrack = new( (*fDCTracks)[fNDCTracks++]) THcDCTrack(fNPlanes); + newDCTrack->AddSpacePoint(fSp[isp]); + } else { + if (fdebuglinkstubs) cout << "EPIC FAIL 3: Too many tracks found in THcDC::LinkStubs" << endl; + fNDCTracks=0; + // Do something here to fail this event + return; // Max # of allowed tracks + } + } + } + /// + if (fdebuglinkstubs) { + cout << " Number of tracks from link stubs = " << fNDCTracks << endl; + printf("%s %s \n","Track","Plane Wire "); + for (UInt_t itrack=0;itrack<fNDCTracks;itrack++) { + THcDCTrack *tempTrack = (THcDCTrack*)( fDCTracks->At(itrack)); + printf("%-5d ",itrack+1); + for (Int_t ihit=0;ihit<tempTrack->GetNHits();ihit++) { + THcDCHit* hit=(THcDCHit*)(tempTrack->GetHit(ihit)); + printf("%3d %3d",hit->GetPlaneNum(),hit->GetWireNum()); + } + printf("\n"); + } + } +} + +//_____________________________________________________________________________ +void THcDC::TrackFit() +{ + // Primary track fitting routine + + // Number of ray parameters in focal plane. + const Int_t raycoeffmap[]={4,5,2,3}; + + // EJB_Note: Why is this here? It does not appear to be used anywhere ... commenting out for now. + // + //// Initialize residuals + //// Need to make these member variables so they can be histogrammed + //// Probably an array of vectors. + //Double_t double_resolution[fNPlanes][fNDCTracks]; + //Double_t single_resolution[fNPlanes][fNDCTracks]; + //Double_t double_res[fNPlanes]; // For the good track + // + // for(Int_t ip=0;ip<fNPlanes;ip++) { + // double_res[ip] = 1000.0; + // for(Int_t itrack=0;itrack<fNDCTracks;itrack++) { + // double_resolution[ip][itrack] = 1000.0; + // single_resolution[ip][itrack] = 1000.0; + // } + // } + + Double_t dummychi2 = 1.0E4; + + for(UInt_t itrack=0;itrack<fNDCTracks;itrack++) { + // Double_t chi2 = dummychi2; + // Int_t htrack_fit_num = itrack; + THcDCTrack *theDCTrack = static_cast<THcDCTrack*>( fDCTracks->At(itrack)); + + Double_t coords[theDCTrack->GetNHits()]; + Int_t planes[theDCTrack->GetNHits()]; + for(Int_t ihit=0;ihit < theDCTrack->GetNHits();ihit++) { + THcDCHit* hit=theDCTrack->GetHit(ihit); + planes[ihit]=hit->GetPlaneNum()-1; + if(fFixLR) { + if(fFixPropagationCorrection) { + coords[ihit] = hit->GetPos() + + theDCTrack->GetHitLR(ihit)*theDCTrack->GetHitDist(ihit); + } else { + coords[ihit] = hit->GetPos() + + theDCTrack->GetHitLR(ihit)*hit->GetDist(); + } + } else { + if(fFixPropagationCorrection) { + coords[ihit] = hit->GetPos() + + hit->GetLR()*theDCTrack->GetHitDist(ihit); + } else { + coords[ihit] = hit->GetCoord(); + } + } + } + + theDCTrack->SetNFree(theDCTrack->GetNHits() - NUM_FPRAY); + Double_t chi2 = dummychi2; + if(theDCTrack->GetNFree() > 0) { + TVectorD TT(NUM_FPRAY); + TMatrixD AA(NUM_FPRAY,NUM_FPRAY); + for(Int_t irayp=0;irayp<NUM_FPRAY;irayp++) { + TT[irayp] = 0.0; + for(Int_t ihit=0;ihit < theDCTrack->GetNHits();ihit++) { + TT[irayp] += (coords[ihit]* + fPlaneCoeffs[planes[ihit]][raycoeffmap[irayp]]) + /pow(fSigma[planes[ihit]],2); + } + } + for(Int_t irayp=0;irayp<NUM_FPRAY;irayp++) { + for(Int_t jrayp=0;jrayp<NUM_FPRAY;jrayp++) { + AA[irayp][jrayp] = 0.0; + if(jrayp<irayp) { // Symmetric + AA[irayp][jrayp] = AA[jrayp][irayp]; + } else { + for(Int_t ihit=0;ihit < theDCTrack->GetNHits();ihit++) { + AA[irayp][jrayp] += fPlaneCoeffs[planes[ihit]][raycoeffmap[irayp]]* + fPlaneCoeffs[planes[ihit]][raycoeffmap[jrayp]]/ + pow(fSigma[planes[ihit]],2); + } + } + } + } + + // Solve 4x4 equations + TVectorD dray(NUM_FPRAY); + // Should check that it is invertable + AA.Invert(); + dray = AA*TT; + // cout << "DRAY: " << dray[0] << " "<< dray[1] << " "<< dray[2] << " "<< dray[3] << " " << endl; + // if(bad_determinant) { + // dray[0] = dray[1] = 10000.; dray[2] = dray[3] = 2.0; + // } + // Calculate hit coordinate for each plane for chi2 and efficiency + // calculations + + // Make sure fCoords, fResiduals, and fDoubleResiduals are clear + for(Int_t iplane=0;iplane < fNPlanes; iplane++) { + Double_t coord=0.0; + for(Int_t ir=0;ir<NUM_FPRAY;ir++) { + coord += fPlaneCoeffs[iplane][raycoeffmap[ir]]*dray[ir]; + } + theDCTrack->SetCoord(iplane,coord); + } + // Compute Chi2 and residuals + chi2 = 0.0; + for(Int_t ihit=0;ihit < theDCTrack->GetNHits();ihit++) { + Double_t residual = coords[ihit] - theDCTrack->GetCoord(planes[ihit]); + theDCTrack->SetResidual(planes[ihit], residual); + chi2 += pow(residual/fSigma[planes[ihit]],2); + } + theDCTrack->SetVector(dray[0], dray[1], 0.0, dray[2], dray[3]); + } + theDCTrack->SetChisq(chi2); + } + + // Calculate residuals for each chamber if in single stub mode + // and there was a track found in each chamber + // Specific for two chambers. Can/should it be generalized? + + if(fSingleStub != 0) { + if(fNDCTracks == 2) { + THcDCTrack *theDCTrack1 = static_cast<THcDCTrack*>( fDCTracks->At(0)); + THcDCTrack *theDCTrack2 = static_cast<THcDCTrack*>( fDCTracks->At(1)); + // Int_t itrack=0; + Int_t ihit=0; + THcDCHit* hit=theDCTrack1->GetHit(ihit); + Int_t plane=hit->GetPlaneNum()-1; + Int_t chamber=fNChamber[plane]; + if(chamber==1) { + // itrack=1; + hit=theDCTrack2->GetHit(ihit); + plane=hit->GetPlaneNum()-1; + chamber=fNChamber[plane]; + if(chamber==2) { + Double_t ray1[4]; + Double_t ray2[4]; + theDCTrack1->GetRay(ray1); + theDCTrack2->GetRay(ray2); + // itrack = 1; + // Loop over hits in second chamber + for(Int_t ihit=0;ihit < theDCTrack2->GetNHits();ihit++) { + // Calculate residual in second chamber from first chamber track + THcDCHit* hit=theDCTrack2->GetHit(ihit); + Int_t plane=hit->GetPlaneNum()-1; + Double_t pos = DpsiFun(ray1,plane); + Double_t coord; + if(fFixLR) { + if(fFixPropagationCorrection) { + coord = hit->GetPos() + + theDCTrack2->GetHitLR(ihit)*theDCTrack2->GetHitDist(ihit); + } else { + coord = hit->GetPos() + + theDCTrack2->GetHitLR(ihit)*hit->GetDist(); + } + } else { + if(fFixPropagationCorrection) { + coord = hit->GetPos() + + hit->GetLR()*theDCTrack2->GetHitDist(ihit); + } else { + coord = hit->GetCoord(); + } + } + theDCTrack1->SetDoubleResidual(plane,coord - pos); + // hdc_dbl_res(pln) = hdc_double_residual(1,pln) for hists + } + // itrack=0; + // Loop over hits in first chamber + for(Int_t ihit=0;ihit < theDCTrack1->GetNHits();ihit++) { + // Calculate residual in first chamber from second chamber track + THcDCHit* hit=theDCTrack1->GetHit(ihit); + Int_t plane=hit->GetPlaneNum()-1; + Double_t pos = DpsiFun(ray1,plane); + Double_t coord; + if(fFixLR) { + if(fFixPropagationCorrection) { + coord = hit->GetPos() + + theDCTrack1->GetHitLR(ihit)*theDCTrack1->GetHitDist(ihit); + } else { + coord = hit->GetPos() + + theDCTrack1->GetHitLR(ihit)*hit->GetDist(); + } + } else { + if(fFixPropagationCorrection) { + coord = hit->GetPos() + + hit->GetLR()*theDCTrack1->GetHitDist(ihit); + } else { + coord = hit->GetCoord(); + } + } + theDCTrack2->SetDoubleResidual(plane,coord - pos); + // hdc_dbl_res(pln) = hdc_double_residual(1,pln) for hists + } + } + } + } + } + if(fNDCTracks>0) { + for(Int_t ip=0;ip<fNPlanes;ip++) { + THcDCTrack *theDCTrack = static_cast<THcDCTrack*>( fDCTracks->At(0)); + fResiduals[ip] = theDCTrack->GetResidual(ip); + } + } + // + if (fdebugtrackprint) { + printf("%5s %-14s %-14s %-14s %-14s %-10s %-10s \n","Track","x_t","y_t","xp_t","yp_t","chi2","DOF"); + printf("%5s %-14s %-14s %-14s %-14s %-10s %-10s \n"," ","[cm]","[cm]","[rad]","[rad]"," "," "); + for(UInt_t itr=0;itr < fNDCTracks;itr++) { + THcDCTrack *theDCTrack = static_cast<THcDCTrack*>( fDCTracks->At(itr)); + printf("%-5d %14.6e %14.6e %14.6e %14.6e %10.3e %3d \n", itr+1,theDCTrack->GetX(),theDCTrack->GetY(),theDCTrack->GetXP(),theDCTrack->GetYP(),theDCTrack->GetChisq(),theDCTrack->GetNFree()); + } + for(UInt_t itr=0;itr < fNDCTracks;itr++) { + printf("%s %5d \n","Hit info for track number = ",itr+1); + printf("%5s %-15s %-15s %-15s \n","Plane","WIRE_COORD","Fit postiion","Residual"); + THcDCTrack *theDCTrack = static_cast<THcDCTrack*>( fDCTracks->At(itr)); + for(Int_t ihit=0;ihit < theDCTrack->GetNHits();ihit++) { + THcDCHit* hit=theDCTrack->GetHit(ihit); + Int_t plane=hit->GetPlaneNum()-1; + Double_t coords_temp; + if(fFixLR) { + if(fFixPropagationCorrection) { + coords_temp = hit->GetPos() + + theDCTrack->GetHitLR(ihit)*theDCTrack->GetHitDist(ihit); + } else { + coords_temp = hit->GetPos() + + theDCTrack->GetHitLR(ihit)*hit->GetDist(); + } + } else { + if(fFixPropagationCorrection) { + coords_temp = hit->GetPos() + + hit->GetLR()*theDCTrack->GetHitDist(ihit); + } else { + coords_temp = hit->GetCoord(); + } + } + printf("%-5d %15.7e %15.7e %15.7e \n",plane+1,coords_temp,theDCTrack->GetCoord(plane),theDCTrack->GetResidual(plane)); + } + } + } + + // +} +Double_t THcDC::DpsiFun(Double_t ray[4], Int_t plane) +{ + /* + this function calculates the psi coordinate of the intersection + of a ray (defined by ray) with a hms wire chamber plane. the geometry + of the plane is contained in the coeff array calculated in the + array hplane_coeff + Note it is call by MINUIT via H_FCNCHISQ and so uses double precision + variables + + the ray is defined by + x = (z-zt)*tan(xp) + xt + y = (z-zt)*tan(yp) + yt + at some fixed value of zt* + ray(1) = xt + ray(2) = yt + ray(3) = tan(xp) + ray(4) = tan(yp) + */ + + Double_t infinity = 1.0E+20; + Double_t cinfinity = 1/infinity; + Double_t DpsiFun = + ray[2]*ray[1]*fPlaneCoeffs[plane][0] + + ray[3]*ray[0]*fPlaneCoeffs[plane][1] + + ray[2]*fPlaneCoeffs[plane][2] + + ray[3]*fPlaneCoeffs[plane][3] + + ray[0]*fPlaneCoeffs[plane][4] + + ray[1]*fPlaneCoeffs[plane][5]; + Double_t denom = ray[2]*fPlaneCoeffs[plane][6] + + ray[3]*fPlaneCoeffs[plane][7] + + fPlaneCoeffs[plane][8]; + if(TMath::Abs(denom) < cinfinity) { + DpsiFun = infinity; + } else { + DpsiFun = DpsiFun/denom; + } + return(DpsiFun); +} + +//_____________________________________________________________________________ +Int_t THcDC::End(THaRunBase* run) +{ + // EffCalc(); + return 0; +} + +//_____________________________________________________________________________ +void THcDC::EffInit() +{ + // Create, and initialize counters used to calculate + // efficiencies. Register the counters in gHcParms so that the + // variables can be used in end of run reports. + + delete [] fNChamHits; fNChamHits = new Int_t [fNChambers]; + delete [] fPlaneEvents; fPlaneEvents = new Int_t [fNPlanes]; + + fTotEvents = 0; + for(UInt_t i=0;i<fNChambers;i++) { + fNChamHits[i] = 0; + } + for(Int_t i=0;i<fNPlanes;i++) { + fPlaneEvents[i] = 0; + } + gHcParms->Define(Form("%sdc_tot_events",fPrefix),"Total DC Events",fTotEvents); + gHcParms->Define(Form("%sdc_cham_hits[%d]",fPrefix,fNChambers),"N events with hits per chamber",*fNChamHits); + gHcParms->Define(Form("%sdc_events[%d]",fPrefix,fNPlanes),"N events with hits per plane",*fPlaneEvents); +} + +//_____________________________________________________________________________ +void THcDC::Eff() +{ + // Accumulate statistics for efficiency calculations + + fTotEvents++; + for(UInt_t i=0;i<fNChambers;i++) { + if(fChambers[i]->GetNHits()>0) fNChamHits[i]++; + } + for(Int_t i=0;i<fNPlanes;i++) { + if(fPlanes[i]->GetNHits() > 0) fPlaneEvents[i]++; + } + return; +} + +ClassImp(THcDC) +//////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcDC.h b/src/THcDC.h new file mode 100644 index 0000000000000000000000000000000000000000..71bd4963ff9de5849de4081579ed0d7bb79ff54b --- /dev/null +++ b/src/THcDC.h @@ -0,0 +1,186 @@ +#ifndef ROOT_THcDC +#define ROOT_THcDC + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDC // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THaTrackingDetector.h" +#include "THcHitList.h" +#include "THcRawDCHit.h" +#include "THcSpacePoint.h" +#include "THcDriftChamberPlane.h" +#include "THcDriftChamber.h" +#include "TMath.h" + +#define NUM_FPRAY 4 + +//class THaScCalib; +class TClonesArray; + +class THcDC : public THaTrackingDetector, public THcHitList { + +public: + THcDC( const char* name, const char* description = "", + THaApparatus* a = NULL ); + virtual ~THcDC(); + + virtual Int_t Decode( const THaEvData& ); + virtual EStatus Init( const TDatime& run_time ); + virtual Int_t CoarseTrack( TClonesArray& tracks ); + virtual Int_t FineTrack( TClonesArray& tracks ); + + virtual Int_t ApplyCorrections( void ); + + // Int_t GetNHits() const { return fNhit; } + + // Int_t GetNTracks() const { return fNDCTracks; } + // const TClonesArray* GetTrackHits() const { return fTrackProj; } + + Int_t GetNWires(Int_t plane) const { return fNWires[plane-1];} + Int_t GetNChamber(Int_t plane) const { return fNChamber[plane-1];} + Int_t GetWireOrder(Int_t plane) const { return fWireOrder[plane-1];} + Double_t GetPitch(Int_t plane) const { return fPitch[plane-1];} + Double_t GetCentralWire(Int_t plane) const { return fCentralWire[plane-1];} + Int_t GetTdcWinMin(Int_t plane) const { return fTdcWinMin[plane-1];} + Int_t GetTdcWinMax(Int_t plane) const { return fTdcWinMax[plane-1];} + + Double_t GetZPos(Int_t plane) const { return fZPos[plane-1];} + Double_t GetAlphaAngle(Int_t plane) const { return fAlphaAngle[plane-1];} + Double_t GetBetaAngle(Int_t plane) const { return fBetaAngle[plane-1];} + Double_t GetGammaAngle(Int_t plane) const { return fGammaAngle[plane-1];} + + Int_t GetMinHits(Int_t chamber) const { return fMinHits[chamber-1];} + Int_t GetMaxHits(Int_t chamber) const { return fMaxHits[chamber-1];} + Int_t GetMinCombos(Int_t chamber) const { return fMinCombos[chamber-1];} + Double_t GetSpacePointCriterion(Int_t chamber) const { return fSpace_Point_Criterion[chamber-1];} + Double_t GetCentralTime(Int_t plane) const { return fCentralTime[plane-1];} + Int_t GetDriftTimeSign(Int_t plane) const { return fDriftTimeSign[plane-1];} + + Double_t GetPlaneTimeZero(Int_t plane) const { return fPlaneTimeZero[plane-1];} + Double_t GetSigma(Int_t plane) const { return fSigma[plane-1];} + Int_t GetFixPropagationCorrectionFlag() const {return fFixPropagationCorrection;} + + Double_t GetNSperChan() const { return fNSperChan;} + + Double_t GetCenter(Int_t plane) const { + Int_t chamber = GetNChamber(plane)-1; + return + fXCenter[chamber]*sin(fAlphaAngle[plane-1]) + + fYCenter[chamber]*cos(fAlphaAngle[plane-1]); + } + // friend class THaScCalib; + + THcDC(); // for ROOT I/O +protected: + Int_t fdebuglinkstubs; + Int_t fdebugprintrawdc; + Int_t fdebugflagpr; + Int_t fdebugflagstubs; + Int_t fdebugtrackprint; + Int_t fdebugprintdecodeddc; + Int_t fHMSStyleChambers; + + UInt_t fNDCTracks; + TClonesArray* fDCTracks; // Tracks found from stubs (THcDCTrack obj) + // Calibration + + // Hall C Parameters + char fPrefix[2]; + Int_t fNPlanes; // Total number of DC planes + char** fPlaneNames; + UInt_t fNChambers; + Int_t fFixLR; // If 1, allow a given hit to have different LR + // for different space points + Int_t fFixPropagationCorrection; // If 1, don't reapply (and accumulate) the + // propagation along the wire correction for + // each space point a hit occurs in. Keep a + // separate correction for each space point. + Int_t fProjectToChamber; // If 1, project y position each stub back to it's own + // chamber before comparing y positions in LinkStubs + // Was used for SOS in ENGINE. + + // Per-event data + Int_t fNhits; + Int_t fNthits; + Int_t fN_True_RawHits; + Int_t fNSp; // Number of space points + Double_t* fResiduals; //[fNPlanes] Array of residuals + + Double_t fNSperChan; /* TDC bin size */ + Double_t fWireVelocity; + Int_t fSingleStub; /* If 1, single stubs make tracks */ + Int_t fNTracksMaxFP; + Double_t fXtTrCriterion; + Double_t fYtTrCriterion; + Double_t fXptTrCriterion; + Double_t fYptTrCriterion; + + // Each of these will be dimensioned with the number of chambers + Double_t* fXCenter; + Double_t* fYCenter; + Int_t* fMinHits; + Int_t* fMaxHits; + Int_t* fMinCombos; + Double_t* fSpace_Point_Criterion; + + // Each of these will be dimensioned with the number of planes + // A THcDCPlane class object will need to access the value for + // its plane number. Should we have a Get method for each or + Int_t* fTdcWinMin; + Int_t* fTdcWinMax; + Double_t* fCentralTime; + Int_t* fNWires; // Number of wires per plane + Int_t* fNChamber; + Int_t* fWireOrder; + Int_t* fDriftTimeSign; + + Double_t* fZPos; + Double_t* fAlphaAngle; + Double_t* fBetaAngle; + Double_t* fGammaAngle; + Double_t* fPitch; + Double_t* fCentralWire; + Double_t* fPlaneTimeZero; + Double_t* fSigma; + Double_t** fPlaneCoeffs; + + // For accumulating statitics for efficiencies + Int_t fTotEvents; + Int_t* fNChamHits; + Int_t* fPlaneEvents; + + // Useful derived quantities + // double tan_angle, sin_angle, cos_angle; + + // Intermediate structure for building + static const char MAXTRACKS = 10; + + std::vector<THcDriftChamberPlane*> fPlanes; // List of plane objects + std::vector<THcDriftChamber*> fChambers; // List of chamber objects + + TClonesArray* fTrackProj; // projection of track onto scintillator plane + // and estimated match to TOF paddle + void ClearEvent(); + void DeleteArrays(); + virtual Int_t ReadDatabase( const TDatime& date ); + virtual Int_t DefineVariables( EMode mode = kDefine ); + void LinkStubs(); + void TrackFit(); + Double_t DpsiFun(Double_t ray[4], Int_t plane); + Int_t End(THaRunBase* run); + void EffInit(); + void Eff(); + + void Setup(const char* name, const char* description); + void PrintSpacePoints(); + void PrintStubs(); + + ClassDef(THcDC,0) // Set of Drift Chambers detector +}; + +//////////////////////////////////////////////////////////////////////////////// + +#endif diff --git a/src/THcDCHit.cxx b/src/THcDCHit.cxx index 261245a6399bd9b4eda92bf35fc3003694676cbd..3b1523c444ce0d4088ab5b422359d7e3d1cfd9ac 100644 --- a/src/THcDCHit.cxx +++ b/src/THcDCHit.cxx @@ -1,78 +1,89 @@ /////////////////////////////////////////////////////////////////////////////// // // -// THcDCHit // +// THcDCHit // // // -// Class representing for drift chamber wire (or other device with // -// a single multihit TDC channel per detector element // +// Class representing a single hit for the VDC // // // /////////////////////////////////////////////////////////////////////////////// #include "THcDCHit.h" +#include "THcDCTimeToDistConv.h" -using namespace std; +#include <iostream> +using std::cout; +using std::endl; -void THcDCHit::SetData(Int_t signal, Int_t data) { - fTDC[fNHits++] = data; -} - -// Return just the first hit -Int_t THcDCHit::GetData(Int_t signal) { - if(fNHits>0) { - return(fTDC[0]); - } else { - return(-1); - } -} - -// Return a requested hit -Int_t THcDCHit::GetData(Int_t signal, Int_t ihit) { - if(ihit >=0 && ihit< fNHits) { - return(fTDC[ihit]); - } else { - return(-1); - } -} +ClassImp(THcDCHit) +const Double_t THcDCHit::kBig = 1.e38; // Arbitrary large value -Int_t THcDCHit::Compare(const TObject* obj) const +//_____________________________________________________________________________ +void THcDCHit::Print( Option_t* opt ) const { - // Compare to sort by plane and counter - // Should we be able to move this into THcRawHit - - const THcDCHit* hit = dynamic_cast<const THcDCHit*>(obj); + // Print hit info - if(!hit) return -1; - Int_t p1 = fPlane; - Int_t p2 = hit->fPlane; - if(p1 < p2) return -1; - else if(p1 > p2) return 1; - else { - Int_t c1 = fCounter; - Int_t c2 = hit->fCounter; - if(c1 < c2) return -1; - else if (c1 == c2) return 0; - else return 1; - } + cout << "Hit: wire=" << GetWireNum() + << "/" << (fWirePlane ? fWirePlane->GetName() : "??") + << " wpos=" << GetPos() + << " time=" << GetTime() + << " drift=" << GetDist(); + // << " res=" << GetResolution() + // << " z=" << GetZ() + if( *opt != 'C' ) + cout << endl; } + //_____________________________________________________________________________ -THcDCHit& THcDCHit::operator=( const THcDCHit& rhs ) +Double_t THcDCHit::ConvertTimeToDist() { - // Assignment operator. - - THcRawHit::operator=(rhs); - if ( this != &rhs ) { - fPlane = rhs.fPlane; - fCounter = rhs.fCounter; - fNHits = rhs.fNHits; - for(Int_t ihit=0;ihit<fNHits;ihit++) { - fTDC[ihit] = rhs.fTDC[ihit]; - } + // Converts TDC time to drift distance + // Takes the (estimated) slope of the track as an argument + + THcDCTimeToDistConv* ttdConv = (fWire) ? fWire->GetTTDConv() : NULL; + + if (ttdConv) { + // If a time to distance algorithm exists, use it to convert the TDC time + // to the drift distance + fDist = ttdConv->ConvertTimeToDist(fTime); + return fDist; } - return *this; + + Error("ConvertTimeToDist()", "No Time to dist algorithm available"); + return 0.0; + } +//_____________________________________________________________________________ +Int_t THcDCHit::Compare( const TObject* obj ) const +{ + // Used to sort hits + // A hit is "less than" another hit if it occurred on a lower wire number. + // Also, for hits on the same wire, the first hit on the wire (the one with + // the smallest time) is "less than" one with a higher time. If the hits + // are sorted according to this scheme, they will be in order of increasing + // wire number and, for each wire, will be in the order in which they hit + // the wire -////////////////////////////////////////////////////////////////////////// -ClassImp(THcDCHit) + if( !obj || IsA() != obj->IsA() || !fWire ) + return -1; + + const THcDCHit* hit = static_cast<const THcDCHit*>( obj ); + + Int_t myWireNum = fWire->GetNum(); + Int_t hitWireNum = hit->GetWire()->GetNum(); + Int_t myPlaneNum = GetPlaneNum(); + Int_t hitPlaneNum = hit->GetPlaneNum(); + if (myPlaneNum < hitPlaneNum) return -1; + if (myPlaneNum > hitPlaneNum) return 1; + // If planes are the same, compare wire numbers + if (myWireNum < hitWireNum) return -1; + if (myWireNum > hitWireNum) return 1; + // If wire numbers are the same, compare times + Double_t hitTime = hit->GetTime(); + if (fTime < hitTime) return -1; + if (fTime > hitTime) return 1; + return 0; +} +//////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcDCHit.h b/src/THcDCHit.h index 5523c79770c9a39f9a83c336faff7a330f4ed50f..c5ca7a74d3e14038ab2fc037cfd7bc31be6adee5 100644 --- a/src/THcDCHit.h +++ b/src/THcDCHit.h @@ -1,37 +1,86 @@ #ifndef ROOT_THcDCHit #define ROOT_THcDCHit -#include "THcRawHit.h" +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDCHit // +// // +/////////////////////////////////////////////////////////////////////////////// -#define MAXHITS 16 +#include "TObject.h" +#include "THcDCWire.h" +#include "THcDriftChamberPlane.h" +#include "THcDriftChamber.h" +#include <cstdio> -class THcDCHit : public THcRawHit { +class THcDCHit : public TObject { - public: - - THcDCHit(Int_t plane=0, Int_t counter=0) : THcRawHit(plane, counter), - fNHits(0) { +public: + THcDCHit( THcDCWire* wire=NULL, Int_t rawtime=0, Double_t time=0.0, + THcDriftChamberPlane* wp=0) : + fWire(wire), fRawTime(rawtime), fTime(time), fWirePlane(wp), + fDist(0.0), ftrDist(kBig) { + ConvertTimeToDist(); + fCorrected = 0; } - THcDCHit& operator=( const THcDCHit& ); virtual ~THcDCHit() {} - virtual void Clear( Option_t* opt="" ) { fNHits=0; } + virtual Double_t ConvertTimeToDist(); + Int_t Compare ( const TObject* obj ) const; + Bool_t IsSortable () const { return kTRUE; } + virtual void Print( Option_t* opt="" ) const; + + // Get and Set Functions + THcDCWire* GetWire() const { return fWire; } + Int_t GetWireNum() const { return fWire->GetNum(); } + Int_t GetRawTime() const { return fRawTime; } + Double_t GetTime() const { return fTime; } + Double_t GetDist() const { return fDist; } + Double_t GetPos() const { return fWire->GetPos(); } //Position of hit wire + Double_t GetCoord() const { return fCoord; } + Double_t GetdDist() const { return fdDist; } + Int_t GetCorrectedStatus() const { return fCorrected; } - void SetData(Int_t signal, Int_t data); - Int_t GetData(Int_t signal); - Int_t GetData(Int_t signal, Int_t ihit); + THcDriftChamberPlane* GetWirePlane() const { return fWirePlane; } + - virtual Bool_t IsSortable () const {return kTRUE; } - virtual Int_t Compare(const TObject* obj) const; + void SetWire(THcDCWire * wire) { fWire = wire; } + void SetRawTime(Int_t time) { fRawTime = time; } + void SetTime(Double_t time) { fTime = time; } + void SetDist(Double_t dist) { fDist = dist; } + void SetLeftRight(Int_t lr) { fCoord = GetPos() + lr*fDist; fLR=lr;} + Int_t GetLR() { return fLR; } + void SetdDist(Double_t ddist) { fdDist = ddist; } + void SetFitDist(Double_t dist) { ftrDist = dist; } + Int_t GetPlaneNum() const { return fWirePlane->GetPlaneNum(); } + Int_t GetPlaneIndex() const { return fWirePlane->GetPlaneIndex(); } + Int_t GetChamberNum() const { return fWirePlane->GetChamberNum(); } + void SetCorrectedStatus(Int_t c) { fCorrected = c; } + +protected: + static const Double_t kBig; //! + + THcDCWire* fWire; // Wire on which the hit occurred + Int_t fRawTime; // TDC value (channels) + Double_t fTime; // Time corrected for time offset of wire (s) + THcDriftChamberPlane* fWirePlane; //! Pointer to parent wire plane + Double_t fDist; // (Perpendicular) Drift Distance + Int_t fLR; // +1/-1 which side of wire + Double_t fCoord; // Actual coordinate of hit + Double_t fdDist; // uncertainty in fDist (for chi2 calc) + Double_t ftrDist; // (Perpendicular) distance from the track + Int_t fCorrected; // Has this hit been corrected? - Int_t fNHits; - Int_t fTDC[MAXHITS]; + THcDriftChamber* fChamber; //! Pointer to parent wire plane - protected: - - private: + +private: + THcDCHit( const THcDCHit& ); + THcDCHit& operator=( const THcDCHit& ); + + ClassDef(THcDCHit,2) // Drift Chamber Hit +}; - ClassDef(THcDCHit, 0); // DC hit class -}; +//////////////////////////////////////////////////////////////////////////////// #endif diff --git a/src/THcDCLookupTTDConv.cxx b/src/THcDCLookupTTDConv.cxx new file mode 100644 index 0000000000000000000000000000000000000000..766545742f99b2742adf2818373980eb09d61570 --- /dev/null +++ b/src/THcDCLookupTTDConv.cxx @@ -0,0 +1,60 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDCLookupTTDConv // +// // +// Upon initialization needs to be given the lookup table for time // +// to distance conversion. // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcDCLookupTTDConv.h" + +ClassImp(THcDCLookupTTDConv) + + +//______________________________________________________________________________ +THcDCLookupTTDConv::THcDCLookupTTDConv(Double_t T0, Double_t MaxDriftDistance, + Double_t BinSize, Int_t NumBins, + Double_t* Table) : +fT0(T0), fMaxDriftDistance(MaxDriftDistance), fBinSize(BinSize), + fNumBins(NumBins) +{ + //Normal constructor + + fTable = new Double_t[fNumBins]; + for(Int_t i=0;i<fNumBins;i++) { + fTable[i] = Table[i]; + } + +} + +//______________________________________________________________________________ +THcDCLookupTTDConv::~THcDCLookupTTDConv() +{ + // Destructor. Remove variables from global list. + +} + +//______________________________________________________________________________ +Double_t THcDCLookupTTDConv::ConvertTimeToDist(Double_t time) +{ + // Lookup in table + Int_t ib = (time-fT0)/fBinSize; + Double_t frac = 0; + if(ib >= 0 && ib+1 < fNumBins) { + Double_t tfrac = (time - (ib*fBinSize + fT0)) / fBinSize; + frac = fTable[ib]*(1-tfrac) + fTable[ib+1]*tfrac; + } else if (ib+1 >= fNumBins) { + frac = 1.0; + } + + Double_t drift_distance = fMaxDriftDistance * frac; + + // Engine subtracts a hdc_card_delay from this. Seems + // to be zero in the PARAM files, bit is it always? Delay implies + // time? Whis is a time subtracted from a distance? + + return(drift_distance); +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcDCLookupTTDConv.h b/src/THcDCLookupTTDConv.h new file mode 100644 index 0000000000000000000000000000000000000000..3d6157436ddca4ab5150af81744fa6e831ef7b23 --- /dev/null +++ b/src/THcDCLookupTTDConv.h @@ -0,0 +1,38 @@ +#ifndef ROOT_THcDCLookupTTDConv +#define ROOT_THcDCLookupTTDConv + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDCLookupTTDConv // +// // +// Uses a drift velocity (um/ns) to convert time (ns) into distance (cm) // +// // +/////////////////////////////////////////////////////////////////////////////// +#include "THcDCTimeToDistConv.h" + +class THcDCLookupTTDConv : public THcDCTimeToDistConv{ + +public: + THcDCLookupTTDConv(Double_t T0, Double_t MaxDriftDistance, Double_t BinSize, + Int_t NumBins, Double_t* Table); + + virtual ~THcDCLookupTTDConv(); + + virtual Double_t ConvertTimeToDist(Double_t time); + + +protected: + + Double_t fT0; + Double_t fMaxDriftDistance; + Double_t fBinSize; + Int_t fNumBins; + Double_t* fTable; + + ClassDef(THcDCLookupTTDConv,0) // Time to Distance conversion lookup +}; + + +//////////////////////////////////////////////////////////////////////////////// + +#endif diff --git a/src/THcDCTimeToDistConv.cxx b/src/THcDCTimeToDistConv.cxx new file mode 100644 index 0000000000000000000000000000000000000000..15965892c2215cc98391b50d80e04c78b3250785 --- /dev/null +++ b/src/THcDCTimeToDistConv.cxx @@ -0,0 +1,21 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDCTimeToDistConv // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcDCTimeToDistConv.h" + + +ClassImp(THcDCTimeToDistConv) + + +//______________________________________________________________________________ +THcDCTimeToDistConv::~THcDCTimeToDistConv() +{ + // Destructor. + +} + + +//////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcDCTimeToDistConv.h b/src/THcDCTimeToDistConv.h new file mode 100644 index 0000000000000000000000000000000000000000..2ff706206455a2e40d4ed6b8cfa574fc1145b800 --- /dev/null +++ b/src/THcDCTimeToDistConv.h @@ -0,0 +1,32 @@ +#ifndef ROOT_THcDCTimeToDistConv +#define ROOT_THcDCTimeToDistConv + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDCTimeToDistConv // +// // +// Base class for algorithms for converting TDC time into perpendicular // +// drift distance // +/////////////////////////////////////////////////////////////////////////////// + +#include "TObject.h" + +class THcDCTimeToDistConv : public TObject { + +public: + THcDCTimeToDistConv() {} + virtual ~THcDCTimeToDistConv(); + + virtual Double_t ConvertTimeToDist(Double_t time) = 0; + +private: + + THcDCTimeToDistConv( const THcDCTimeToDistConv& ); + THcDCTimeToDistConv& operator=( const THcDCTimeToDistConv& ); + + ClassDef(THcDCTimeToDistConv,0) // Time to Distance conversion base class +}; + +//////////////////////////////////////////////////////////////////////////////// + +#endif diff --git a/src/THcDCTrack.cxx b/src/THcDCTrack.cxx new file mode 100644 index 0000000000000000000000000000000000000000..92503b0d1e11b6f1589c03be176445d8faa8a62e --- /dev/null +++ b/src/THcDCTrack.cxx @@ -0,0 +1,59 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDCTrack // +// // +// Class representing a track found from linking DC Space points // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcDCHit.h" +#include "THcDCTrack.h" +#include "THcSpacePoint.h" +THcDCTrack::THcDCTrack(Int_t nplanes) : fnSP(0), fNHits(0) +{ + fHits.clear(); + fCoords.resize(nplanes); + fResiduals.resize(nplanes); + fDoubleResiduals.resize(nplanes); +} + +void THcDCTrack::AddHit(THcDCHit * hit, Double_t dist, Int_t lr) +{ + // Add a hit to the track + Hit newhit; + newhit.dchit = hit; + newhit.distCorr = dist; + newhit.lr = lr; + fHits.push_back(newhit); + fNHits++; +} +void THcDCTrack::AddSpacePoint( THcSpacePoint* sp ) +{ + // Add to list of space points in this track + // Need a check for maximum spacepoints of 10 + fSp[fnSP++] = sp; + // Copy all the hits from the space point into the track + // Will need to also copy the corrected distance and lr information + for(Int_t ihit=0;ihit<sp->GetNHits();ihit++) { + AddHit(sp->GetHit(ihit),sp->GetHitDist(ihit),sp->GetHitLR(ihit)); + } +} + +void THcDCTrack::Clear( const Option_t* ) +{ + // Clear the space point and hit lists + fnSP = 0; + ClearHits(); + // Need to set default values (0 or -100) + //fCoords.clear(); + //fResiduals.clear(); + //fDoubleResiduals.clear(); +} +void THcDCTrack::ClearHits( ) +{ + fNHits = 0; + fHits.clear(); +} + +ClassImp(THcDCTrack) + +/////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcDCTrack.h b/src/THcDCTrack.h new file mode 100644 index 0000000000000000000000000000000000000000..cc97ff1c03c7e924bef06e537b78be51417e3c43 --- /dev/null +++ b/src/THcDCTrack.h @@ -0,0 +1,90 @@ +#ifndef ROOT_THcDCTrack +#define ROOT_THcDCTrack + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDCTrack // +// // +/////////////////////////////////////////////////////////////////////////////// + +//#include "THaCluster.h" +#include "TVector3.h" +#include "TObject.h" + +//class THaVDCCluster; +class THcDCPlane; +class THaTrack; +class THcDCHit; + +class THcDCTrack : public TObject { + +public: + THcDCTrack(Int_t nplanes); + virtual ~THcDCTrack() {}; + + virtual void AddSpacePoint(THcSpacePoint* sp); + + //Get and Set Functions + // Int_t* GetSpacePoints() {return fspID;} + Int_t GetNSpacePoints() const { return fnSP;} + // Int_t GetSpacePointID(Int_t i) const {return fspID[i];} + THcSpacePoint* GetSpacePoint(Int_t i) const {return fSp[i];} + THcDCHit* GetHit(Int_t i) const {return fHits[i].dchit;} + Double_t GetHitDist(Int_t ihit) { return fHits[ihit].distCorr; }; + Int_t GetHitLR(Int_t ihit) { return fHits[ihit].lr; }; + Int_t GetNHits() const {return fNHits;} + Int_t GetNFree() const {return fNfree;} + Double_t GetCoord(Int_t ip) const {return fCoords[ip];} + Double_t GetResidual(Int_t ip) const {return fResiduals[ip];} + Double_t GetResidual1() const {return fResiduals[0];} + void GetRay(Double_t *ray) const {ray[0]=fX_fp; ray[1]=fY_fp; ray[2]=fXp_fp; ray[3]=fYp_fp;} + Double_t GetX() const {return fX_fp;} + Double_t GetY() const {return fY_fp;} + Double_t GetXP() const {return fXp_fp;} + Double_t GetYP() const {return fYp_fp;} + Double_t GetChisq() const {return fChi2_fp;} + void SetNFree(Int_t nfree) {fNfree = nfree;} + void SetCoord(Int_t ip, Double_t coord) {fCoords[ip] = coord;} + void SetResidual(Int_t ip, Double_t coord) {fResiduals[ip] = coord;} + void SetDoubleResidual(Int_t ip, Double_t coord) {fDoubleResiduals[ip] = coord;} + void SetVector(Double_t x, Double_t y, Double_t z, + Double_t xp, Double_t yp) {fX_fp = x; fY_fp=y; fZ_fp=z; fXp_fp=xp; fYp_fp=yp;} + void SetChisq(Double_t chi2) {fChi2_fp = chi2;} + + virtual void ClearHits( ); + + // TObject functions redefined + virtual void Clear( Option_t* opt="" ); + +protected: + Int_t fnSP; /* Number of space points in this track */ + THcSpacePoint* fSp[10]; /* List of space points in this track */ + + Int_t fNHits; + Int_t fNfree; /* Number of degrees of freedom */ + struct Hit { + // This is the same structure as in THcSpacePoint. Can we not + // duplicate this? + THcDCHit* dchit; + Double_t distCorr; + Int_t lr; + }; + std::vector<Hit> fHits; /* List of hits for this track */ + //std::vector<THcDCHit*> fHits; /* List of hits for this track */ + std::vector<Double_t> fCoords; /* Coordinate on each plane */ + std::vector<Double_t> fResiduals; /* Residual on each plane */ + std::vector<Double_t> fDoubleResiduals; /* Residual on each plane for single stub mode */ + Double_t fX_fp, fY_fp, fZ_fp; + Double_t fXp_fp, fYp_fp; + Double_t fChi2_fp; + + virtual void AddHit(THcDCHit * hit, Double_t dist, Int_t lr); + +private: + // Hide copy ctor and op= + THcDCTrack( const THcDCTrack& ); + THcDCTrack& operator=( const THcDCTrack& ); + + ClassDef(THcDCTrack,0) // Full Drift Chamber track +}; +#endif diff --git a/src/THcDCWire.cxx b/src/THcDCWire.cxx new file mode 100644 index 0000000000000000000000000000000000000000..3b6520b68aff85373f8b8102774da3fa4cc871f4 --- /dev/null +++ b/src/THcDCWire.cxx @@ -0,0 +1,14 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDCWire // +// // +// Class to represent a drift chamber wire // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcDCWire.h" + +ClassImp(THcDCWire) + + +/////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcDCWire.h b/src/THcDCWire.h new file mode 100644 index 0000000000000000000000000000000000000000..53f6fcbe39e317c450dfb8440b59c72cfd14c027 --- /dev/null +++ b/src/THcDCWire.h @@ -0,0 +1,51 @@ +#ifndef ROOT_THcDCWire +#define ROOT_THcDCWire + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcDCWire // +// // +/////////////////////////////////////////////////////////////////////////////// +#include "TObject.h" + +class THcDCTimeToDistConv; + +class THcDCWire : public TObject { + +public: + + THcDCWire( Int_t num=0, Double_t pos=0.0, Double_t offset=0.0, + THcDCTimeToDistConv* ttd=NULL ) : + fNum(num), fFlag(0), fPos(pos), fTOffset(offset), fTTDConv(ttd) {} + virtual ~THcDCWire() {} + + // Get and Set Functions + Int_t GetNum() const { return fNum; } + Int_t GetFlag() const { return fFlag; } + Double_t GetPos() const { return fPos; } + Double_t GetTOffset() const { return fTOffset; } + THcDCTimeToDistConv * GetTTDConv() { return fTTDConv; } + + void SetNum (Int_t num) {fNum = num;} + void SetFlag (Int_t flag) {fFlag = flag;} + void SetPos (Double_t pos) { fPos = pos; } + void SetTOffset (Double_t tOffset){ fTOffset = tOffset; } + void SetTTDConv (THcDCTimeToDistConv * ttdConv){ fTTDConv = ttdConv;} + +protected: + Int_t fNum; //Wire Number + Int_t fFlag; //Flag for errors (e.g. Bad wire) + Double_t fPos; //Position within the plane + Double_t fTOffset; //Timing Offset + THcDCTimeToDistConv* fTTDConv; //!Time to Distance Converter + +private: + THcDCWire( const THcDCWire& ); + THcDCWire& operator=( const THcDCWire& ); + + ClassDef(THcDCWire,0) // Drift Chamber Wire class +}; + +//////////////////////////////////////////////////////////////////////////////// + +#endif diff --git a/src/THcDetectorMap.cxx b/src/THcDetectorMap.cxx index 24ba354a105a37ccbc7ecffe62f500a5324a2137..647cbae045bbaf833812e8f20aea9f1b097f2eb9 100644 --- a/src/THcDetectorMap.cxx +++ b/src/THcDetectorMap.cxx @@ -4,12 +4,8 @@ // // THcDetectorMap // -// Class to read and hold Hall C style detector map -// -// Will need method to retrieve all map entries for a given -// detector id. -// -// Not sure we will keep this class, but still need the parsing of the map file +// Class to read and Hall C style detector map +// FillMap method builds a map for a specific detector // ////////////////////////////////////////////////////////////////////////// @@ -54,8 +50,11 @@ struct Functor }; //_____________________________________________________________________________ Int_t THcDetectorMap::FillMap(THaDetMap *detmap, const char *detectorname) -// Should probably return a status { + // Build a DAQ hardware to detector element map for detector detectorname + // Reads through the entire list of mappings, adding one element to + // detmap for each electronics channel that maps to detectorname. + list<ModChanList>::iterator imod; list<ChaninMod>::iterator ichan; ChaninMod Achan; @@ -110,7 +109,8 @@ Int_t THcDetectorMap::FillMap(THaDetMap *detmap, const char *detectorname) } } } - if(mlist.size() <= 0) { +// if(mlist.size() <= 0) { + if(mlist.empty()) { return(-1); } Functor f; @@ -170,15 +170,42 @@ Int_t THcDetectorMap::FillMap(THaDetMap *detmap, const char *detectorname) return(0); } +//_____________________________________________________________________________ void THcDetectorMap::Load(const char *fname) { - static const char* const here = "THcDetectorMap::Load"; +// Load a Hall C ENGINE style detector map file. The map file maps +// a given roc, slot/module, and channel # into a given detector id#, plane +// number, counter number and signal type. The mapping between detector +// names and ids is found in the comments at the begging of the map file. +// This method looks for those comments, of the form: +// XXX_ID = n +// to establish that mapping between detector name and detector ID. +// +// Lines of the form +// DETECTOR = n +// ROC = n +// SLOT = n +// are used to establish the module (roc and slot) and the detector +// for the mapping lines that follow. +// The actual mappings are of the form +// subadd, plane, counter [, signal] +// Each of these lines, combined with the detector, roc, slot values +// establish the roc, slot, subadess -> detector, plane, counter#, sigtype map +// Other lines that may be in the map file are +// NSUBADD = n +// BSUB = n +// MASK = hex value +// These define characteristics of the electronics module (# channels, +// The bit number specifying the location of the subaddress in a data word +// and hex mask that the data word is anded with to retrieve data) + static const char* const whtspc = " \t"; ifstream ifile; ifile.open(fname); if(!ifile.is_open()) { + static const char* const here = "THcDetectorMap::Load"; Error(here, "error opening detector map file %s",fname); return; // Need a success/failure argument? } @@ -186,7 +213,7 @@ void THcDetectorMap::Load(const char *fname) Int_t roc=0; Int_t nsubadd=0; - Int_t mask=0; + // Int_t mask=0; Int_t bsub=0; Int_t detector=0; Int_t slot=0; @@ -251,8 +278,8 @@ void THcDetectorMap::Load(const char *fname) roc = value; } else if (strcasecmp(varname,"nsubadd")==0) { nsubadd = value; - } else if (strcasecmp(varname,"mask")==0) { - mask = value; + } else if (strcasecmp(varname,"mask")==0) { // mask not used here + //mask = value; } else if (strcasecmp(varname,"bsub")==0) { bsub = value; } else if (strcasecmp(varname,"slot")==0) { @@ -288,6 +315,7 @@ void THcDetectorMap::Load(const char *fname) if(nvals==4) { signal= ((TObjString*)vararr->At(3))->GetString().Atoi(); } + delete vararr; // Discard result of Tokenize fTable[fNchans].roc=roc; fTable[fNchans].slot=slot; @@ -301,9 +329,9 @@ void THcDetectorMap::Load(const char *fname) fNchans++; } } - cout << endl << " Detector ID Map" << endl << endl; + cout << endl << " Detector ID Map" << endl << endl; for(Int_t i=0; i < fNIDs; i++) { - cout << i << " "; + cout << " "; cout << fIDMap[i].name << " " << fIDMap[i].id << endl; } cout << endl; diff --git a/src/THcDetectorMap.h b/src/THcDetectorMap.h index 1dd95b2471267ffd7dee8ef096caf6e381b2091b..420f7de84400227c5352079a1a88d4b938e5d8de 100644 --- a/src/THcDetectorMap.h +++ b/src/THcDetectorMap.h @@ -60,7 +60,7 @@ class THcDetectorMap : public TObject { protected: - ClassDef(THcDetectorMap,0); + ClassDef(THcDetectorMap,0); // Map electronics channels to Detector, Plane, Counter, Signal }; #endif diff --git a/src/THcDriftChamber.cxx b/src/THcDriftChamber.cxx index 2e8881df5333d56685e8084833ba368f400d9c54..61f5c02c76029a2d72c04ee6863822dd009e1fdf 100644 --- a/src/THcDriftChamber.cxx +++ b/src/THcDriftChamber.cxx @@ -1,18 +1,17 @@ /////////////////////////////////////////////////////////////////////////////// // // -// THcDriftChamber // +// THcDriftChamber // // // -// Class for a generic hodoscope consisting of multiple // -// planes with multiple paddles with phototubes on both ends. // -// This differs from Hall A scintillator class in that it is the whole // -// hodoscope array, not just one plane. // +// Subdetector class to hold a bunch of planes constituting a chamber // +// This class will be created by the THcDC class which will also create // +// the plane objects. // +// The THcDC class will then pass this class a list of the planes. // // // /////////////////////////////////////////////////////////////////////////////// #include "THcDriftChamber.h" -#include "THaEvData.h" -#include "THaDetMap.h" -#include "THcDetectorMap.h" +#include "THcDC.h" +#include "THcDCHit.h" #include "THcGlobals.h" #include "THcParmList.h" #include "VarDef.h" @@ -20,6 +19,8 @@ #include "THaTrack.h" #include "TClonesArray.h" #include "TMath.h" +#include "TVectorD.h" +#include "THcSpacePoint.h" #include "THaTrackProj.h" @@ -27,105 +28,188 @@ #include <cstdio> #include <cstdlib> #include <iostream> +#include <iomanip> using namespace std; //_____________________________________________________________________________ -THcDriftChamber::THcDriftChamber( const char* name, const char* description, - THaApparatus* apparatus ) : - THaNonTrackingDetector(name,description,apparatus) +THcDriftChamber::THcDriftChamber( + const char* name, const char* description, + const Int_t chambernum, THaDetectorBase* parent ) : + THaSubDetector(name,description,parent) { // Constructor - fTrackProj = new TClonesArray( "THaTrackProj", 5 ); + // fTrackProj = new TClonesArray( "THaTrackProj", 5 ); + fTrackProj = NULL; + fNPlanes = 0; // No planes until we make them + + fChamberNum = chambernum; + + fSpacePoints = new TClonesArray("THcSpacePoint",10); + + fHMSStyleChambers = 0; // Default } //_____________________________________________________________________________ -THcDriftChamber::THcDriftChamber( ) : - THaNonTrackingDetector() +THcDriftChamber::THcDriftChamber() : + THaSubDetector() { // Constructor -} + fTrackProj = NULL; + fSpacePoints = NULL; + fIsInit = 0; +} //_____________________________________________________________________________ -THaAnalysisObject::EStatus THcDriftChamber::Init( const TDatime& date ) +void THcDriftChamber::Setup(const char* name, const char* description) { - static const char* const here = "Init()"; - if( THaNonTrackingDetector::Init( date ) ) - return fStatus; - - // Replace with what we need for Hall C - // const DataDest tmp[NDEST] = { - // { &fRTNhit, &fRANhit, fRT, fRT_c, fRA, fRA_p, fRA_c, fROff, fRPed, fRGain }, - // { &fLTNhit, &fLANhit, fLT, fLT_c, fLA, fLA_p, fLA_c, fLOff, fLPed, fLGain } - // }; - // memcpy( fDataDest, tmp, NDEST*sizeof(DataDest) ); +} - // Should probably put this in ReadDatabase as we will know the - // maximum number of hits after setting up the detector map +//_____________________________________________________________________________ +Int_t THcDriftChamber::Decode( const THaEvData& evdata ) +{ + return 0; +} - THcHitList::InitHitList(fDetMap, "THcDCHit", 1000); +//_____________________________________________________________________________ +THaAnalysisObject::EStatus THcDriftChamber::Init( const TDatime& date ) +{ + // static const char* const here = "Init()"; - // Will need to determine which apparatus it belongs to and use the - // appropriate detector ID in the FillMap call - if( gHcDetectorMap->FillMap(fDetMap, "HDC") < 0 ) { - Error( Here(here), "Error filling detectormap for %s.", - "HSCIN"); - return kInitError; - } + Setup(GetName(), GetTitle()); + + EStatus status; + // This triggers call of ReadDatabase and DefineVariables + if( (status = THaSubDetector::Init( date )) ) + return fStatus=status; return fStatus = kOK; } +void THcDriftChamber::AddPlane(THcDriftChamberPlane *plane) +{ + plane->SetPlaneIndex(fNPlanes); + fPlanes.push_back(plane); + // HMS Specific + // Hard code Y plane numbers. Eventually need to get from database + if (fHMSStyleChambers) { + if(fChamberNum == 1) { + YPlaneNum=2; + YPlanePNum=5; + if(plane->GetPlaneNum() == 2) YPlaneInd = fNPlanes; + if(plane->GetPlaneNum() == 5) YPlanePInd = fNPlanes; + } else { + YPlaneNum=8; + YPlanePNum=11; + if(plane->GetPlaneNum() == 8) YPlaneInd = fNPlanes; + if(plane->GetPlaneNum() == 11) YPlanePInd = fNPlanes; + } + } else { + // SOS Specific + // Hard code X plane numbers. Eventually need to get from database + if(fChamberNum == 1) { + XPlaneNum=3; + XPlanePNum=4; + if(plane->GetPlaneNum() == 3) XPlaneInd = fNPlanes; + if(plane->GetPlaneNum() == 4) XPlanePInd = fNPlanes; + } else { + XPlaneNum=9; + XPlanePNum=10; + if(plane->GetPlaneNum() == 9) XPlaneInd = fNPlanes; + if(plane->GetPlaneNum() == 10) XPlanePInd = fNPlanes; + } + } + fNPlanes++; + return; +} + //_____________________________________________________________________________ Int_t THcDriftChamber::ReadDatabase( const TDatime& date ) { - // Read this detector's parameters from the database file 'fi'. - // This function is called by THaDetectorBase::Init() once at the - // beginning of the analysis. - // 'date' contains the date/time of the run being analyzed. - - // static const char* const here = "ReadDatabase()"; - - // Read data from database - // Pull values from the THcParmList instead of reading a database - // file like Hall A does. - - // DBRequest list[] = { - // { "TDC_offsetsL", fLOff, kDouble, fNelem }, - // { "TDC_offsetsR", fROff, kDouble, fNelem }, - // { "ADC_pedsL", fLPed, kDouble, fNelem }, - // { "ADC_pedsR", fRPed, kDouble, fNelem }, - // { "ADC_coefL", fLGain, kDouble, fNelem }, - // { "ADC_coefR", fRGain, kDouble, fNelem }, - // { "TDC_res", &fTdc2T }, - // { "TransSpd", &fCn }, - // { "AdcMIP", &fAdcMIP }, - // { "NTWalk", &fNTWalkPar, kInt }, - // { "Timewalk", fTWalkPar, kDouble, 2*fNelem }, - // { "ReTimeOff", fTrigOff, kDouble, fNelem }, - // { "AvgRes", &fResolution }, - // { "Atten", &fAttenuation }, - // { 0 } - // }; - - // We will probably want to add some kind of method to gHcParms to allow - // bulk retrieval of parameters of interest. - - // Will need to determine which spectrometer in order to construct - // the parameter names (e.g. hscin_1x_nr vs. sscin_1x_nr) - - fNPlanes = *(Int_t *)gHcParms->Find("hdc_num_planes")->GetValuePointer(); - - fNWires = new Int_t [fNPlanes]; - Int_t* p= (Int_t *)gHcParms->Find("hdc_nrwire")->GetValuePointer(); - for(Int_t i=0;i<fNPlanes;i++) { - fNWires[i] = p[i]; + + cout << "THcDriftChamber::ReadDatabase()" << endl; + char prefix[2]; + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + DBRequest list[]={ + {"_remove_sppt_if_one_y_plane",&fRemove_Sppt_If_One_YPlane, kInt,0,1}, + {"dc_wire_velocity", &fWireVelocity, kDouble}, + {"SmallAngleApprox", &fSmallAngleApprox, kInt}, + {"stub_max_xpdiff", &fStubMaxXPDiff, kDouble,0,1}, + {"debugflagpr", &fhdebugflagpr, kInt}, + {"debugstubchisq", &fdebugstubchisq, kInt}, + {Form("dc_%d_zpos",fChamberNum), &fZPos, kDouble}, + {0} + }; + fRemove_Sppt_If_One_YPlane = 0; // Default + fStubMaxXPDiff = 0.05; // The HMS default. Not used for SOS. + gHcParms->LoadParmValues((DBRequest*)&list,prefix); + + // Get parameters parent knows about + THcDC* fParent; + fParent = (THcDC*) GetParent(); + fMinHits = fParent->GetMinHits(fChamberNum); + fMaxHits = fParent->GetMaxHits(fChamberNum); + fMinCombos = fParent->GetMinCombos(fChamberNum); + fFixPropagationCorrection = fParent->GetFixPropagationCorrectionFlag(); + + fSpacePointCriterion = fParent->GetSpacePointCriterion(fChamberNum); + fMaxDist = TMath::Sqrt(fSpacePointCriterion/2.0); // For easy space points + + if (fhdebugflagpr) cout << " cham = " << fChamberNum << " Set yplane num " << YPlaneNum << " "<< YPlanePNum << endl; + // Generate the HAA3INV matrix for all the acceptable combinations + // of hit planes. Try to make it as generic as possible + // pindex=0 -> Plane 1 missing, pindex5 -> plane 6 missing. Won't + // replicate the exact values used in the ENGINE, because the engine + // had one big list of matrices for both chambers, while here we will + // have a list just for one chamber. Also, call pindex, pmindex as + // we tend to use pindex as a plane index. + fCosBeta = new Double_t [fNPlanes]; + fSinBeta = new Double_t [fNPlanes]; + fTanBeta = new Double_t [fNPlanes]; + fSigma = new Double_t [fNPlanes]; + fPsi0 = new Double_t [fNPlanes]; + fStubCoefs = new Double_t* [fNPlanes]; + Int_t allplanes=0; + for(Int_t ip=0;ip<fNPlanes;ip++) { + fCosBeta[ip] = TMath::Cos(fPlanes[ip]->GetBeta()); + fSinBeta[ip] = TMath::Sin(fPlanes[ip]->GetBeta()); + fTanBeta[ip] = fSinBeta[ip]/fCosBeta[ip]; + fSigma[ip] = fPlanes[ip]->GetSigma(); + fPsi0[ip] = fPlanes[ip]->GetPsi0(); + fStubCoefs[ip] = fPlanes[ip]->GetStubCoef(); + allplanes |= 1<<ip; + } + // Unordered map introduced in C++-11 + // Can use unordered_map if using C++-11 + // May not want to use map a all for performance, but using it now + // for code clarity + for(Int_t ipm1=0;ipm1<fNPlanes+1;ipm1++) { // Loop over missing plane1 + for(Int_t ipm2=ipm1;ipm2<fNPlanes+1;ipm2++) { + if(ipm1==ipm2 && ipm1<fNPlanes) continue; + TMatrixD* AA3 = new TMatrixD(3,3); + for(Int_t i=0;i<3;i++) { + for(Int_t j=i;j<3;j++) { + (*AA3)[i][j] = 0.0; + for(Int_t ip=0;ip<fNPlanes;ip++) { + if(ipm1 != ip && ipm2 != ip) { + (*AA3)[i][j] += fStubCoefs[ip][i]*fStubCoefs[ip][j]; + } + } + (*AA3)[j][i] = (*AA3)[i][j]; + } + } + Int_t bitpat = allplanes & ~(1<<ipm1) & ~(1<<ipm2); + // Should check that it is invertable + // if (fhdebugflagpr) cout << bitpat << " Determinant: " << AA3->Determinant() << endl; + AA3->Invert(); + fAA3Inv[bitpat] = AA3; + } } fIsInit = true; - return kOK; } @@ -136,161 +220,1056 @@ Int_t THcDriftChamber::DefineVariables( EMode mode ) if( mode == kDefine && fIsSetup ) return kOK; fIsSetup = ( mode == kDefine ); - // Register variables in global list - // RVarDef vars[] = { - // { "nlthit", "Number of Left paddles TDC times", "fLTNhit" }, - // { "nrthit", "Number of Right paddles TDC times", "fRTNhit" }, - // { "nlahit", "Number of Left paddles ADCs amps", "fLANhit" }, - // { "nrahit", "Number of Right paddles ADCs amps", "fRANhit" }, - // { "lt", "TDC values left side", "fLT" }, - // { "lt_c", "Corrected times left side", "fLT_c" }, - // { "rt", "TDC values right side", "fRT" }, - // { "rt_c", "Corrected times right side", "fRT_c" }, - // { "la", "ADC values left side", "fLA" }, - // { "la_p", "Corrected ADC values left side", "fLA_p" }, - // { "la_c", "Corrected ADC values left side", "fLA_c" }, - // { "ra", "ADC values right side", "fRA" }, - // { "ra_p", "Corrected ADC values right side", "fRA_p" }, - // { "ra_c", "Corrected ADC values right side", "fRA_c" }, - // { "nthit", "Number of paddles with l&r TDCs", "fNhit" }, - // { "t_pads", "Paddles with l&r coincidence TDCs", "fHitPad" }, - // { "y_t", "y-position from timing (m)", "fYt" }, - // { "y_adc", "y-position from amplitudes (m)", "fYa" }, - // { "time", "Time of hit at plane (s)", "fTime" }, - // { "dtime", "Est. uncertainty of time (s)", "fdTime" }, - // { "dedx", "dEdX-like deposited in paddle", "fAmpl" }, - // { "troff", "Trigger offset for paddles", "fTrigOff"}, - // { "trn", "Number of tracks for hits", "GetNTracks()" }, - // { "trx", "x-position of track in det plane", "fTrackProj.THaTrackProj.fX" }, - // { "try", "y-position of track in det plane", "fTrackProj.THaTrackProj.fY" }, - // { "trpath", "TRCS pathlen of track to det plane","fTrackProj.THaTrackProj.fPathl" }, - // { "trdx", "track deviation in x-position (m)", "fTrackProj.THaTrackProj.fdX" }, - // { "trpad", "paddle-hit associated with track", "fTrackProj.THaTrackProj.fChannel" }, - // { 0 } - // }; - // return DefineVarsFromList( vars, mode ); - return kOK; + RVarDef vars[] = { + { "nhit", "Number of DC hits", "fNhits" }, + { "trawhit", "Number of True Raw hits", "fN_True_RawHits" }, + { 0 } + }; + return DefineVarsFromList( vars, mode ); + //return kOK; + +} +void THcDriftChamber::ProcessHits( void) +{ + // Make a list of hits for whole chamber + fNhits = 0; + fHits.clear(); + fHits.reserve(10); + + for(Int_t ip=0;ip<fNPlanes;ip++) { + TClonesArray* hitsarray = fPlanes[ip]->GetHits(); + for(Int_t ihit=0;ihit<fPlanes[ip]->GetNHits();ihit++) { + fHits.push_back(static_cast<THcDCHit*>(hitsarray->At(ihit))); + fNhits++; + } + } + // if (fhdebugflagpr) cout << "ThcDriftChamber::ProcessHits() " << fNhits << " hits" << endl; +} + + +void THcDriftChamber::PrintDecode( void ) +{ + cout << " Num of nits = " << fNhits << endl; + cout << " Num " << " Plane " << " Wire " << " Wire-Center " << " RAW TDC " << " Drift time" << endl; + for(Int_t ihit=0;ihit<fNhits;ihit++) { + THcDCHit* thishit = fHits[ihit]; + cout << ihit << " " <<thishit->GetPlaneNum() << " " << thishit->GetWireNum() << " " << thishit->GetPos() << " " << thishit->GetRawTime() << " " << thishit->GetTime() << endl; + } +} + + +Int_t THcDriftChamber::FindSpacePoints( void ) +{ + + fSpacePoints->Clear(); + + Int_t plane_hitind=0; + Int_t planep_hitind=0; + + + fNSpacePoints=0; + fEasySpacePoint = 0; + if(fNhits >= fMinHits && fNhits < fMaxHits) { + for(Int_t ihit=0;ihit<fNhits;ihit++) { + THcDCHit* thishit = fHits[ihit]; + Int_t ip=thishit->GetPlaneNum(); // This is the absolute plane mumber + if(ip==YPlaneNum && fHMSStyleChambers) plane_hitind = ihit; + if(ip==YPlanePNum && fHMSStyleChambers) planep_hitind = ihit; + if(ip==XPlaneNum && !fHMSStyleChambers) plane_hitind = ihit; + if(ip==XPlanePNum && !fHMSStyleChambers) planep_hitind = ihit; + } + Int_t PlaneInd=0,PlanePInd=0; + if (fHMSStyleChambers) { + PlaneInd=YPlaneInd; + PlanePInd=YPlanePInd; + } else { + PlaneInd=XPlaneInd; + PlanePInd=XPlanePInd; + } + if(fPlanes[PlaneInd]->GetNHits() == 1 && fPlanes[PlanePInd]->GetNHits() == 1 + && pow( (fHits[plane_hitind]->GetPos() - fHits[planep_hitind]->GetPos()),2) + < fSpacePointCriterion + && fNhits <= 6) { // An easy case, probably one hit per plane + if(fHMSStyleChambers) fEasySpacePoint = FindEasySpacePoint_HMS(plane_hitind, planep_hitind); + if(!fHMSStyleChambers) fEasySpacePoint = FindEasySpacePoint_SOS(plane_hitind, planep_hitind); + } + if(!fEasySpacePoint) { // It's not easy + FindHardSpacePoints(); + } + + // We have our space points for this chamber + if(fNSpacePoints > 0) { + if(fHMSStyleChambers) { + if(fRemove_Sppt_If_One_YPlane == 1) { + // The routine is specific to HMS + //Int_t ndest= + DestroyPoorSpacePoints(); // Only for HMS? + // Loop over space points and remove those with less than 4 planes + // hit and missing hits in Y,Y' planes + } + Int_t nadded=SpacePointMultiWire(); // Only for HMS? + if (nadded) if (fhdebugflagpr) cout << nadded << " Space Points added with SpacePointMultiWire()" << endl; + } + ChooseSingleHit(); + SelectSpacePoints(); + // if(fNSpacePoints == 0) if (fhdebugflagpr) cout << "SelectSpacePoints() killed SP" << endl; + } + // if (fhdebugflagpr) cout << fNSpacePoints << " Space Points remain" << endl; + } + return(fNSpacePoints); } //_____________________________________________________________________________ -THcDriftChamber::~THcDriftChamber() +// HMS Specific +Int_t THcDriftChamber::FindEasySpacePoint_HMS(Int_t yplane_hitind,Int_t yplanep_hitind) { - // Destructor. Remove variables from global list. + // Simplified HMS find_space_point routing. It is given all y hits and + // checks to see if all x-like hits are close enough together to make + // a space point. - if( fIsSetup ) - RemoveVariables(); - if( fIsInit ) - DeleteArrays(); - if (fTrackProj) { - fTrackProj->Clear(); - delete fTrackProj; fTrackProj = 0; + Int_t easy_space_point=0; + Double_t yt = (fHits[yplane_hitind]->GetPos() + fHits[yplanep_hitind]->GetPos())/2.0; + Double_t xt = 0.0; + Int_t num_xhits = 0; + Double_t x_pos[MAX_HITS_PER_POINT]; + + for(Int_t ihit=0;ihit<fNhits;ihit++) { + THcDCHit* thishit = fHits[ihit]; + if(ihit!=yplane_hitind && ihit!=yplanep_hitind) { // x-like hit + // ysp and xsp are from h_generate_geometry + x_pos[ihit] = (thishit->GetPos() + -yt*thishit->GetWirePlane()->GetYsp()) + /thishit->GetWirePlane()->GetXsp(); + xt += x_pos[ihit]; + num_xhits++; + } else { + x_pos[ihit] = 0.0; + } + } + xt = (num_xhits>0?xt/num_xhits:0.0); + easy_space_point = 1; // Assume we have an easy space point + // Rule it out if x points don't cluster well enough + for(Int_t ihit=0;ihit<fNhits;ihit++) { + if(ihit!=yplane_hitind && ihit!=yplanep_hitind) { // select x-like hit + if(TMath::Abs(xt-x_pos[ihit]) >= fMaxDist) + { easy_space_point=0; break;} + } } + if(easy_space_point) { // Register the space point + THcSpacePoint* sp = (THcSpacePoint*)fSpacePoints->ConstructedAt(fNSpacePoints++); + sp->Clear(); + sp->SetXY(xt, yt); + sp->SetCombos(0); + for(Int_t ihit=0;ihit<fNhits;ihit++) { + sp->AddHit(fHits[ihit]); + } + } + return(easy_space_point); +} +// SOS Specific +Int_t THcDriftChamber::FindEasySpacePoint_SOS(Int_t xplane_hitind,Int_t xplanep_hitind) +{ + // Simplified SOS find_space_point routing. It is given all x hits and + // checks to see if all y-like hits are close enough together to make + // a space point. + + Int_t easy_space_point=0; + Double_t xt = (fHits[xplane_hitind]->GetPos() + fHits[xplanep_hitind]->GetPos())/2.0; + Double_t yt = 0.0; + Int_t num_yhits = 0; + Double_t y_pos[MAX_HITS_PER_POINT]; + + for(Int_t ihit=0;ihit<fNhits;ihit++) { + THcDCHit* thishit = fHits[ihit]; + if(ihit!=xplane_hitind && ihit!=xplanep_hitind) { // y-like hit + // ysp and xsp are from h_generate_geometry + y_pos[ihit] = (thishit->GetPos() + -xt*thishit->GetWirePlane()->GetXsp()) + /thishit->GetWirePlane()->GetYsp(); + yt += y_pos[ihit]; + num_yhits++; + } else { + y_pos[ihit] = 0.0; + } + } + yt = (num_yhits>0?yt/num_yhits:0.0); + easy_space_point = 1; // Assume we have an easy space point + // Rule it out if x points don't cluster well enough + for(Int_t ihit=0;ihit<fNhits;ihit++) { + if(ihit!=xplane_hitind && ihit!=xplanep_hitind) { // select y-like hit + if(TMath::Abs(yt-y_pos[ihit]) >= fMaxDist) + { easy_space_point=0; break;} + } + } + if(easy_space_point) { // Register the space point + THcSpacePoint* sp = (THcSpacePoint*)fSpacePoints->ConstructedAt(fNSpacePoints++); + sp->Clear(); + sp->SetXY(xt, yt); + sp->SetCombos(0); + for(Int_t ihit=0;ihit<fNhits;ihit++) { + sp->AddHit(fHits[ihit]); + } + } + return(easy_space_point); } //_____________________________________________________________________________ -void THcDriftChamber::DeleteArrays() +// Generic +Int_t THcDriftChamber::FindHardSpacePoints() { - // Delete member arrays. Used by destructor. + Int_t MAX_NUMBER_PAIRS=1000; // Where does this get set? + struct Pair { + THcDCHit* hit1; + THcDCHit* hit2; + Double_t x, y; + }; + Pair pairs[MAX_NUMBER_PAIRS]; + // + Int_t ntest_points=0; + for(Int_t ihit1=0;ihit1<fNhits-1;ihit1++) { + THcDCHit* hit1=fHits[ihit1]; + THcDriftChamberPlane* plane1 = hit1->GetWirePlane(); + for(Int_t ihit2=ihit1+1;ihit2<fNhits;ihit2++) { + if(ntest_points < MAX_NUMBER_PAIRS) { + THcDCHit* hit2=fHits[ihit2]; + THcDriftChamberPlane* plane2 = hit2->GetWirePlane(); + Double_t determinate = plane1->GetXsp()*plane2->GetYsp() + -plane1->GetYsp()*plane2->GetXsp(); + if(TMath::Abs(determinate) > 0.3) { // 0.3 is sin(alpha1-alpha2)=sin(17.5) + pairs[ntest_points].hit1 = hit1; + pairs[ntest_points].hit2 = hit2; + pairs[ntest_points].x = (hit1->GetPos()*plane2->GetYsp() + - hit2->GetPos()*plane1->GetYsp()) + /determinate; + pairs[ntest_points].y = (hit2->GetPos()*plane1->GetXsp() + - hit1->GetPos()*plane2->GetXsp()) + /determinate; + ntest_points++; + } + } + } + } + Int_t ncombos=0; + struct Combo { + Pair* pair1; + Pair* pair2; + }; + Combo combos[10*MAX_NUMBER_PAIRS]; + for(Int_t ipair1=0;ipair1<ntest_points-1;ipair1++) { + for(Int_t ipair2=ipair1+1;ipair2<ntest_points;ipair2++) { + if(ncombos < 10*MAX_NUMBER_PAIRS) { + Double_t dist2 = pow(pairs[ipair1].x - pairs[ipair2].x,2) + + pow(pairs[ipair1].y - pairs[ipair2].y,2); + if(dist2 <= fSpacePointCriterion) { + combos[ncombos].pair1 = &pairs[ipair1]; + combos[ncombos].pair2 = &pairs[ipair2]; + ncombos++; + } + } + } + } + // Loop over all valid combinations and build space points + //if (fhdebugflagpr) cout << "looking for hard Space Point combos = " << ncombos << endl; + for(Int_t icombo=0;icombo<ncombos;icombo++) { + THcDCHit* hits[4]; + hits[0]=combos[icombo].pair1->hit1; + hits[1]=combos[icombo].pair1->hit2; + hits[2]=combos[icombo].pair2->hit1; + hits[3]=combos[icombo].pair2->hit2; + // Get Average Space point xt, yt + Double_t xt = (combos[icombo].pair1->x + combos[icombo].pair2->x)/2.0; + Double_t yt = (combos[icombo].pair1->y + combos[icombo].pair2->y)/2.0; + // Loop over space points + if(fNSpacePoints > 0) { + Int_t add_flag=1; + for(Int_t ispace=0;ispace<fNSpacePoints;ispace++) { + THcSpacePoint* sp = (THcSpacePoint*)(*fSpacePoints)[ispace]; + if(sp->GetNHits() > 0) { + Double_t sqdist_test = pow(xt - sp->GetX(),2) + pow(yt - sp->GetY(),2); + // I (who is I) want to be careful if sqdist_test is bvetween 1 and + // 3 fSpacePointCriterion. Let me ignore not add a new point the + if(sqdist_test < 3*fSpacePointCriterion) { + add_flag = 0; // do not add a new space point + } + if(sqdist_test < fSpacePointCriterion) { + // This is a real match + // Add the new hits to the existing space point + Int_t iflag[4]; + iflag[0]=0;iflag[1]=0;iflag[2]=0;iflag[3]=0; + // Find out which of the four hits in the combo are already + // in the space point under consideration so that we don't + // add duplicate hits to the space point + for(Int_t isp_hit=0;isp_hit<sp->GetNHits();isp_hit++) { + for(Int_t icm_hit=0;icm_hit<4;icm_hit++) { // Loop over combo hits + if(sp->GetHit(isp_hit)==hits[icm_hit]) { + iflag[icm_hit] = 1; + } + } + } + // Remove duplicated pionts in the combo so we don't add + // duplicate hits to the space point + for(Int_t icm1=0;icm1<3;icm1++) { + for(Int_t icm2=icm1+1;icm2<4;icm2++) { + if(hits[icm1]==hits[icm2]) { + iflag[icm2] = 1; + } + } + } + // Add the unique combo hits to the space point + for(Int_t icm=0;icm<4;icm++) { + if(iflag[icm]==0) { + sp->AddHit(hits[icm]); + } + } + sp->IncCombos(); + // cout << " number of combos = " << sp->GetCombos() << endl; + // Terminate loop since this combo can only belong to one space point + break; + } + } + }// End of loop over existing space points + // Create a new space point if more than 2*space_point_criteria + if(fNSpacePoints < MAX_SPACE_POINTS) { + if(add_flag) { + //if (fhdebugflagpr) cout << " add glag = " << add_flag << " space pts = " << fNSpacePoints << endl ; + THcSpacePoint* sp = (THcSpacePoint*)fSpacePoints->ConstructedAt(fNSpacePoints++); + sp->Clear(); + sp->SetXY(xt, yt); + sp->SetCombos(1); + sp->AddHit(hits[0]); + sp->AddHit(hits[1]); + if(hits[0] != hits[2] && hits[1] != hits[2]) { + sp->AddHit(hits[2]); + } + if(hits[0] != hits[3] && hits[1] != hits[3]) { + sp->AddHit(hits[3]); + } + } + } + } else {// Create first space point + // This duplicates code above. Need to see if we can restructure + // to avoid + THcSpacePoint* sp = (THcSpacePoint*)fSpacePoints->ConstructedAt(fNSpacePoints++); + sp->Clear(); + sp->SetXY(xt, yt); + sp->SetCombos(1); + sp->AddHit(hits[0]); + sp->AddHit(hits[1]); + if(hits[0] != hits[2] && hits[1] != hits[2]) { + sp->AddHit(hits[2]); + } + if(hits[0] != hits[3] && hits[1] != hits[3]) { + sp->AddHit(hits[3]); + } + //if (fhdebugflagpr) cout << "1st hard Space Point " << xt << " " << yt << " Space point # =" << fNSpacePoints << " combos = " << sp->GetCombos() << endl; + }//End check on 0 space points + }//End loop over combos + //if (fhdebugflagpr) cout << " finished findspacept # of sp pts = " << fNSpacePoints << endl; + return(fNSpacePoints); +} - delete [] fNWires; fNWires = NULL; - // delete [] fSpacing; fSpacing = NULL; - // delete [] fCenter; fCenter = NULL; // This 2D. What is correct way to delete? - - // delete [] fRA_c; fRA_c = NULL; - // delete [] fRA_p; fRA_p = NULL; - // delete [] fRA; fRA = NULL; - // delete [] fLA_c; fLA_c = NULL; - // delete [] fLA_p; fLA_p = NULL; - // delete [] fLA; fLA = NULL; - // delete [] fRT_c; fRT_c = NULL; - // delete [] fRT; fRT = NULL; - // delete [] fLT_c; fLT_c = NULL; - // delete [] fLT; fLT = NULL; - - // delete [] fRGain; fRGain = NULL; - // delete [] fLGain; fLGain = NULL; - // delete [] fRPed; fRPed = NULL; - // delete [] fLPed; fLPed = NULL; - // delete [] fROff; fROff = NULL; - // delete [] fLOff; fLOff = NULL; - // delete [] fTWalkPar; fTWalkPar = NULL; - // delete [] fTrigOff; fTrigOff = NULL; - - // delete [] fHitPad; fHitPad = NULL; - // delete [] fTime; fTime = NULL; - // delete [] fdTime; fdTime = NULL; - // delete [] fYt; fYt = NULL; - // delete [] fYa; fYa = NULL; +//_____________________________________________________________________________ +// HMS Specific? +Int_t THcDriftChamber::DestroyPoorSpacePoints() +{ + Int_t nhitsperplane[fNPlanes]; + + Int_t spacepointsgood[fNSpacePoints]; + Int_t ngood=0; + + for(Int_t i=0;i<fNSpacePoints;i++) { + spacepointsgood[i] = 0; + } + for(Int_t isp=0;isp<fNSpacePoints;isp++) { + Int_t nplanes_hit = 0; + for(Int_t ip=0;ip<fNPlanes;ip++) { + nhitsperplane[ip] = 0; + } + // Count # hits in each plane for this space point + THcSpacePoint* sp = (THcSpacePoint*)(*fSpacePoints)[isp]; + for(Int_t ihit=0;ihit<sp->GetNHits();ihit++) { + THcDCHit* hit=sp->GetHit(ihit); + // hit_order(hit) = ihit; + Int_t ip = hit->GetPlaneIndex(); + nhitsperplane[ip]++; + } + // Count # planes that have hits + for(Int_t ip=0;ip<fNPlanes;ip++) { + if(nhitsperplane[ip] > 0) { + nplanes_hit++; + } + } + if(nplanes_hit >= fMinHits && nhitsperplane[YPlaneInd]>0 + && nhitsperplane[YPlanePInd] > 0) { + spacepointsgood[ngood++] = isp; // Build list of good points + } else { + // if (fhdebugflagpr) cout << "Missing Y-hit!!"; + } + } + + // Remove the bad space points + Int_t nremoved=fNSpacePoints-ngood; + fNSpacePoints = ngood; + for(Int_t isp=0;isp<fNSpacePoints;isp++) { // New index num ber + Int_t osp=spacepointsgood[isp]; // Original index number + if(osp > isp) { + // Does this work, or do we have to copy each member? + // If it doesn't we should overload the = operator + //(*fSpacePoints)[isp] = (*fSpacePoints)[osp]; + THcSpacePoint* spi = (THcSpacePoint*)(*fSpacePoints)[isp]; + THcSpacePoint* spo = (THcSpacePoint*)(*fSpacePoints)[osp]; + spi->Clear(); + Double_t xt,yt; + xt=spo->GetX(); + yt=spo->GetY(); + spi->SetXY(xt, yt); + for(Int_t ihit=0;ihit<spo->GetNHits();ihit++) { + THcDCHit* hit = spo->GetHit(ihit); + spi->AddHit(hit); + } + } + } + return nremoved; +} + +//_____________________________________________________________________________ +// HMS Specific? + /* + Purpose and Methods : This routine loops over space points and + looks at all hits in the space + point. If more than 1 hit is in the same + plane then the space point is cloned with + all combinations of 1 wire per plane. The + requirements for cloning are: 1) at least + 4 planes fire, and 2) no more than 6 planes + have multiple hits. + */ +Int_t THcDriftChamber::SpacePointMultiWire() +{ + Int_t nhitsperplane[fNPlanes]; + THcDCHit* hits_plane[fNPlanes][MAX_HITS_PER_POINT]; + + Int_t nsp_check; + //Int_t nplanes_single; + + Int_t nsp_tot=fNSpacePoints; + Int_t nsp_totl=fNSpacePoints; + //if (fhdebugflagpr) cout << "Start Multiwire # of sp pts = " << nsp_totl << endl; + + for(Int_t isp=0;isp<nsp_totl;isp++) { + Int_t nplanes_hit = 0; // Number of planes with hits + Int_t nplanes_mult = 0; // Number of planes with multiple hits + Int_t nsp_new = 1; + Int_t newsp_num=0; + //if (fhdebugflagpr) cout << "Looping thru space pts at # = " << isp << " total = " << fNSpacePoints << endl; + + for(Int_t ip=0;ip<fNPlanes;ip++) { + nhitsperplane[ip] = 0; + for(Int_t ih=0;ih<MAX_HITS_PER_POINT;ih++) { + hits_plane[ip][ih] = 0; + } + } + // Sort Space Points hits by plane + THcSpacePoint* sp = (THcSpacePoint*)(*fSpacePoints)[isp]; + for(Int_t ihit=0;ihit<sp->GetNHits();ihit++) { // All hits in SP + THcDCHit* hit=sp->GetHit(ihit); + // hit_order Make a hash + // hash(hit) = ihit; + Int_t ip = hit->GetPlaneIndex(); + hits_plane[ip][nhitsperplane[ip]++] = hit; + //if (fhdebugflagpr) cout << " hit = " << ihit+1 << " plane index = " << ip << " nhitsperplane = " << nhitsperplane[ip] << endl; + } + for(Int_t ip=0;ip<fNPlanes;ip++) { + if(nhitsperplane[ip] > 0) { + nplanes_hit++; + nsp_new *= nhitsperplane[ip]; + if(nhitsperplane[ip] > 1) nplanes_mult++; + //if (fhdebugflagpr) cout << "Found plane with multi hits plane =" << ip+1 << " nplane_hit = "<< nplanes_hit << " nsp_new = " <<nsp_new << " nplane_mult = "<< nplanes_mult << endl; + } + } + --nsp_new; + nsp_check=nsp_tot + nsp_new; + //nplanes_single = nplanes_hit - nplanes_mult; + //if (fhdebugflagpr) cout << " # of new space points = " << nsp_new << " total now = " << nsp_tot<< endl; + // Check if cloning conditions are met + Int_t ntot = 0; + if(nplanes_hit >= 4 && nplanes_mult < 4 && nplanes_mult >0 + && nsp_check < 20) { + //if (fhdebugflagpr) cout << " Cloning space point " << endl; + // Order planes by decreasing # of hits + + Int_t maxplane[fNPlanes]; + for(Int_t ip=0;ip<fNPlanes;ip++) { + maxplane[ip] = ip; + } + // Sort by decreasing # of hits + for(Int_t ip1=0;ip1<fNPlanes-1;ip1++) { + for(Int_t ip2=ip1+1;ip2<fNPlanes;ip2++) { + if(nhitsperplane[maxplane[ip2]] > nhitsperplane[maxplane[ip1]]) { + Int_t temp = maxplane[ip1]; + maxplane[ip1] = maxplane[ip2]; + maxplane[ip2] = temp; + } + } + } + // First fill clones with 1 hit each from the 3 planes with the most hits + for(Int_t n1=0;n1<nhitsperplane[maxplane[0]];n1++) { + for(Int_t n2=0;n2<nhitsperplane[maxplane[1]];n2++) { + for(Int_t n3=0;n3<nhitsperplane[maxplane[2]];n3++) { + ntot++; + newsp_num = fNSpacePoints; // + //if (fhdebugflagpr) cout << " new space pt num = " << newsp_num << " " << fNSpacePoints << endl; + //THcSpacePoint* newsp; + if(n1==0 && n2==0 && n3==0) { + newsp_num = isp; // Copy over the original SP + THcSpacePoint* newsp = (THcSpacePoint*)fSpacePoints->ConstructedAt(newsp_num);//= (THcSpacePoint*)(*fSpacePoints)[newsp_num]; + //if (fhdebugflagpr) cout << " Copy over original SP " << endl; + // newsp = sp; + Int_t combos_save=sp->GetCombos(); + newsp->Clear(); // Clear doesn't clear X, Y + // if (fhdebugflagpr) cout << " original sp #hits combos X y " << sp->GetCombos() << sp->GetNHits() << sp->GetX() << " " << sp->GetY() << endl; + newsp->SetXY(sp->GetX(), sp->GetY()); + newsp->SetCombos(combos_save); + newsp->AddHit(hits_plane[maxplane[0]][n1]); + newsp->AddHit(hits_plane[maxplane[1]][n2]); + newsp->AddHit(hits_plane[maxplane[2]][n3]); + newsp->AddHit(hits_plane[maxplane[3]][0]); + if(nhitsperplane[maxplane[4]] == 1) { + newsp->AddHit(hits_plane[maxplane[4]][0]); + if(nhitsperplane[maxplane[5]] == 1) + newsp->AddHit(hits_plane[maxplane[5]][0]); + } + } else { + // if (fhdebugflagpr) cout << " setting other sp " << "# space pts now = " << fNSpacePoints << endl; + THcSpacePoint* newsp = (THcSpacePoint*)fSpacePoints->ConstructedAt(newsp_num); + fNSpacePoints++; + Int_t combos_save=sp->GetCombos(); + newsp->Clear(); + newsp->SetXY(sp->GetX(), sp->GetY()); + newsp->SetCombos(combos_save); + newsp->AddHit(hits_plane[maxplane[0]][n1]); + newsp->AddHit(hits_plane[maxplane[1]][n2]); + newsp->AddHit(hits_plane[maxplane[2]][n3]); + newsp->AddHit(hits_plane[maxplane[3]][0]); + if(nhitsperplane[maxplane[4]] == 1) { + newsp->AddHit(hits_plane[maxplane[4]][0]); + if(nhitsperplane[maxplane[5]] == 1) + newsp->AddHit(hits_plane[maxplane[5]][0]); + } + } + } + } + } + // In the ENGINE, we loop over the clones and order the hits in the + // same order as the parent SP. It is not done here because it is a little + // tricky. Is it necessary? + nsp_tot += (ntot-1); + } else { + ntot=1; // space point not to be cloned + } + } + assert (nsp_tot > 0); // program terminates if nsp_tot <=0 + Int_t nadded=0; + if(nsp_tot <= 20) { + nadded = nsp_tot - fNSpacePoints; + // fNSpacePoints = nsp_tot; + } + //if (fhdebugflagpr) cout << " Added space pts " << nadded << " total space pts = " << fNSpacePoints << endl; + + // In Fortran, fill in zeros. + return(nadded); } //_____________________________________________________________________________ -inline -void THcDriftChamber::ClearEvent() +// Generic +void THcDriftChamber::ChooseSingleHit() { - // Reset per-event data. + // Look at all hits in a space point. If two hits are in the same plane, + // reject the one with the longer drift time. - fTrackProj->Clear(); + for(Int_t isp=0;isp<fNSpacePoints;isp++) { + THcSpacePoint* sp = (THcSpacePoint*)(*fSpacePoints)[isp]; + Int_t startnum = sp->GetNHits(); + Int_t goodhit[startnum]; + + for(Int_t ihit=0;ihit<startnum;ihit++) { + goodhit[ihit] = 1; + } + // For each plane, mark all hits longer than the shortest drift time + for(Int_t ihit1=0;ihit1<startnum-1;ihit1++) { + THcDCHit* hit1 = sp->GetHit(ihit1); + Int_t plane1=hit1->GetPlaneIndex(); + Double_t tdrift1 = hit1->GetTime(); + for(Int_t ihit2=ihit1+1;ihit2<startnum;ihit2++) { + THcDCHit* hit2 = sp->GetHit(ihit2); + Int_t plane2=hit2->GetPlaneIndex(); + Double_t tdrift2 = hit2->GetTime(); + if(plane1 == plane2) { + if(tdrift1 > tdrift2) { + goodhit[ihit1] = 0; + } else { + goodhit[ihit2] = 0; + } + // if (fhdebugflagpr) cout << " Rejecting hit " << ihit1 << " " << tdrift1 << " " << ihit2 << " " << tdrift2 << endl; + } + } + } + // Gather the remaining hits + Int_t finalnum = 0; + for(Int_t ihit=0;ihit<startnum;ihit++) { + //THcDCHit* hit = sp->GetHit(ihit); + // if (fhdebugflagpr) cout << " good hit = "<< ihit << " " << goodhit[ihit] << " time = " << hit->GetTime() << endl; + if(goodhit[ihit] > 0) { // Keep this hit + if (ihit > finalnum) { // Move hit + sp->ReplaceHit(finalnum++, sp->GetHit(ihit)); + } else { + finalnum++ ; + } + } + } + sp->SetNHits(finalnum); + // if (fhdebugflagpr) cout << " choose single hit start # of hits = " << startnum << " final # = " <<finalnum << endl; + } +} +//_____________________________________________________________________________ +// Generic +void THcDriftChamber::SelectSpacePoints() +// This routine goes through the list of space_points and space_point_hits +// found by find_space_points and only accepts those with +// number of hits > min_hits +// number of combinations > min_combos +{ + Int_t sp_count=0; + for(Int_t isp=0;isp<fNSpacePoints;isp++) { + // Include fEasySpacePoint because ncombos not filled in + THcSpacePoint* sp = (THcSpacePoint*)(*fSpacePoints)[isp]; + // if (fhdebugflagpr) cout << " looping sp points " << sp->GetCombos() << " " << fMinCombos << " " << fEasySpacePoint << " " << sp->GetNHits() << " " << fMinHits << endl; + if(sp->GetCombos() >= fMinCombos || fEasySpacePoint) { + if(sp->GetNHits() >= fMinHits) { + if(isp > sp_count) { + // (*fSpacePoints)[sp_count] = (*fSpacePoints)[isp]; + THcSpacePoint* sp1 = (THcSpacePoint*)(*fSpacePoints)[sp_count]; + //if (fhdebugflagpr) cout << " select space pt = " << isp << endl; + sp1->Clear(); + Double_t xt,yt; + xt=sp->GetX(); + yt=sp->GetY(); + sp1->SetXY(xt, yt); + sp1->SetCombos(sp->GetCombos()); + for(Int_t ihit=0;ihit<sp->GetNHits();ihit++) { + THcDCHit* hit = sp->GetHit(ihit); + sp1->AddHit(hit); + } + } + sp_count++; + } + } + } + // if(sp_count < fNSpacePoints) if (fhdebugflagpr) cout << "Reduced from " << fNSpacePoints << " to " << sp_count << " space points" << endl; + fNSpacePoints = sp_count; + //for(Int_t isp=0;isp<fNSpacePoints;isp++) { + // THcSpacePoint* sp = (THcSpacePoint*)(*fSpacePoints)[isp]; + //if (fhdebugflagpr) cout << " sp pt = " << isp+1 << " # of hits = " << sp->GetNHits() << endl; + //for(Int_t ihit=0;ihit<sp->GetNHits();ihit++) { + //THcDCHit* hit = sp->GetHit(ihit); + //THcDriftChamberPlane* plane=hit->GetWirePlane(); + // if (fhdebugflagpr) cout << ihit+1 << "selecting " << plane->GetPlaneNum() << " " << plane->GetChamberNum() << " " << hit->GetTime() << " " << hit->GetDist() << " " << plane->GetCentralTime() << " " << plane->GetDriftTimeSign() << endl; + // } + // } +} + +void THcDriftChamber::CorrectHitTimes() +{ + // Use the rough hit positions in the chambers to correct the drift time + // for hits in the space points. + + // Assume all wires for a plane are read out on the same side (l/r or t/b). + // If the wire is closer to horizontal, read out left/right. If nearer + // vertical, assume top/bottom. (Note, this is not always true for the + // SOS u and v planes. They have 1 card each on the side, but the overall + // time offset per card will cancel much of the error caused by this. The + // alternative is to check by card, rather than by plane and this is harder. + //if (fhdebugflagpr) cout << "In correcthittimes fNSpacePoints = " << fNSpacePoints << endl; + for(Int_t isp=0;isp<fNSpacePoints;isp++) { + THcSpacePoint* sp = (THcSpacePoint*)(*fSpacePoints)[isp]; + Double_t x = sp->GetX(); + Double_t y = sp->GetY(); + for(Int_t ihit=0;ihit<sp->GetNHits();ihit++) { + THcDCHit* hit = sp->GetHit(ihit); + THcDriftChamberPlane* plane=hit->GetWirePlane(); + + // How do we know this correction only gets applied once? Is + // it determined that a given hit can only belong to one space point? + Double_t time_corr = plane->GetReadoutX() ? + y*plane->GetReadoutCorr()/fWireVelocity : + x*plane->GetReadoutCorr()/fWireVelocity; + + // if (fhdebugflagpr) cout << "Correcting hit " << hit << " " << plane->GetPlaneNum() << " " << isp << "/" << ihit << " " << x << "," << y << endl; + // Fortran ENGINE does not do this check, so hits can get "corrected" + // multiple times if they belong to multiple space points. + // To reproduce the precise ENGINE behavior, remove this if condition. + if(fFixPropagationCorrection==0) { // ENGINE behavior + hit->SetTime(hit->GetTime() - plane->GetCentralTime() + + plane->GetDriftTimeSign()*time_corr); + hit->ConvertTimeToDist(); + // hit->SetCorrectedStatus(1); + } else { + // New behavior: Save corrected distance with the hit in the space point + // so that the same hit can have a different correction depending on + // which space point it is in. + // + // This is a hack now because the converttimetodist method is connected to the hit + // so I compute the corrected time and distance, and then restore the original + // time and distance. Can probably add a method to hit that does a conversion on a time + // but does not modify the hit data. + Double_t time=hit->GetTime(); + Double_t dist=hit->GetDist(); + hit->SetTime(time - plane->GetCentralTime() + + plane->GetDriftTimeSign()*time_corr); + hit->ConvertTimeToDist(); + sp->SetHitDist(ihit, hit->GetDist()); + hit->SetTime(time); // Restore time + hit->SetDist(dist); // Restore distance + } + } + } +} +UInt_t THcDriftChamber::Count1Bits(UInt_t x) +// From http://graphics.stanford.edu/~seander/bithacks.html +{ + x = x - ((x >> 1) & 0x55555555); + x = (x & 0x33333333) + ((x >> 2) & 0x33333333); + return (((x + (x >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24; } //_____________________________________________________________________________ -Int_t THcDriftChamber::Decode( const THaEvData& evdata ) +void THcDriftChamber::LeftRight() { + // For each space point, + // Fit stubs to all possible left-right combinations of drift distances + // and choose the set with the minimum chi**2. + + for(Int_t isp=0; isp<fNSpacePoints; isp++) { + // Build a bit pattern of which planes are hit + THcSpacePoint* sp = (THcSpacePoint*)(*fSpacePoints)[isp]; + Int_t nhits = sp->GetNHits(); + UInt_t bitpat = 0; // Bit pattern of which planes are hit + Double_t minchi2 = 1.0e10; + Double_t tmp_minchi2; + Double_t minxp = 0.25; + Int_t hasy1 = -1; + Int_t hasy2 = -1; + Int_t plusminusknown[nhits]; + Int_t plusminusbest[nhits]; + Int_t plusminus[nhits]; // ENGINE makes this array float. Why? + Int_t tmp_plusminus[nhits]; + Int_t plane_list[nhits]; + Double_t stub[4]; + Double_t tmp_stub[4]; + Int_t nplusminus; + + if(nhits < 0) { + if (fhdebugflagpr) cout << "THcDriftChamber::LeftRight() nhits < 0" << endl; + } else if (nhits==0) { + if (fhdebugflagpr) cout << "THcDriftChamber::LeftRight() nhits = 0" << endl; + } + for(Int_t ihit=0;ihit < nhits;ihit++) { + THcDCHit* hit = sp->GetHit(ihit); + Int_t pindex = hit->GetPlaneIndex(); + plane_list[ihit] = pindex; - // Get the Hall C style hitlist (fRawHitList) for this event - Int_t nhits = THcHitList::DecodeToHitList(evdata); + bitpat |= 1<<pindex; - // fRawHitList is TClones array of THcDCHit objects - for(Int_t ihit = 0; ihit < fNRawHits ; ihit++) { - THcDCHit* hit = (THcDCHit *) fRawHitList->At(ihit); - cout << ihit << " : " << hit->fPlane << ":" << hit->fCounter << " : " - << endl; - for(Int_t imhit = 0; imhit < hit->fNHits; imhit++) { - cout << " " << imhit << " " << hit->fTDC[imhit] - << endl; + plusminusknown[ihit] = 0; + + if(pindex == YPlaneInd) hasy1 = ihit; + if(pindex == YPlanePInd) hasy2 = ihit; + } + nplusminus = 1<<nhits; + if(fHMSStyleChambers) { + Int_t smallAngOK = (hasy1>=0) && (hasy2>=0); + if(fSmallAngleApprox !=0 && smallAngOK) { // to small Angle L/R for Y,Y' planes + if(sp->GetHit(hasy2)->GetPos() <= + sp->GetHit(hasy1)->GetPos()) { + plusminusknown[hasy1] = -1; + plusminusknown[hasy2] = 1; + } else { + plusminusknown[hasy1] = 1; + plusminusknown[hasy2] = -1; + } + nplusminus = 1<<(nhits-2); + // if (fhdebugflagpr) cout << " Small angle approx = " << smallAngOK << " " << plusminusknown[hasy1] << endl; + //if (fhdebugflagpr) cout << "pm = " << plusminusknown[hasy2] << " " << hasy1 << " " << hasy2 << endl; + //if (fhdebugflagpr) cout << " Plane index " << YPlaneInd << " " << YPlanePInd << endl; + } + } else { // SOS Style + if(fSmallAngleApprox !=0) { + // Brookhaven style chamber L/R code + Int_t npaired=0; + for(Int_t ihit1=0;ihit1 < nhits;ihit1++) { + THcDCHit* hit1 = sp->GetHit(ihit1); + Int_t pindex1=hit1->GetPlaneIndex(); + if((pindex1%2)==0) { // Odd plane (or even index) + for(Int_t ihit2=0;ihit2<nhits;ihit2++) { + THcDCHit* hit2 = sp->GetHit(ihit2); + if(hit2->GetPlaneIndex()-pindex1 == 1) { // Adjacent plane + if(hit2->GetPos() <= hit1->GetPos()) { + plusminusknown[ihit1] = -1; + plusminusknown[ihit2] = 1; + } else { + plusminusknown[ihit1] = 1; + plusminusknown[ihit2] = -1; + } + npaired+=2; + } + } + } + } + nplusminus = 1 << (nhits-npaired); + } + } + if(nhits < 2) { + if (fdebugstubchisq) cout << "THcDriftChamber::LeftRight: numhits-2 < 0" << endl; + } else if (nhits == 2) { + if (fdebugstubchisq) cout << "THcDriftChamber::LeftRight: numhits-2 = 0" << endl; + } + Int_t nplaneshit = Count1Bits(bitpat); + //if (fhdebugflagpr) cout << " num of pm = " << nplusminus << " num of hits =" << nhits << endl; + // Use bit value of integer word to set + or - + // Loop over all combinations of left right. + for(Int_t pmloop=0;pmloop<nplusminus;pmloop++) { + Int_t iswhit = 1; + for(Int_t ihit=0;ihit<nhits;ihit++) { + if(plusminusknown[ihit]!=0) { + plusminus[ihit] = plusminusknown[ihit]; + } else { + // Max hits per point has to be less than 32. + if(pmloop & iswhit) { + plusminus[ihit] = 1; + } else { + plusminus[ihit] = -1; + } + iswhit <<= 1; + } + } + if (nplaneshit >= fNPlanes-1) { + Double_t chi2 = FindStub(nhits, sp, + plane_list, bitpat, plusminus, stub); + if (fdebugstubchisq) cout << " pmloop = " << pmloop << " chi2 = " << chi2 << endl; + if(chi2 < minchi2) { + if(fHMSStyleChambers) { // Perhaps a different flag here + // Take best chi2 IF x' of the stub agrees with x' as expected from x. + // Sometimes an incorrect x' gives a good chi2 for the stub, even though it is + // not the correct left/right combination for the real track. + // Rotate x'(=stub(3)) to hut coordinates and compare to x' expected from x. + // THIS ASSUMES STANDARD HMS TUNE!!!!, for which x' is approx. x/875. + if(stub[2]*fTanBeta[plane_list[0]]==-1.0) { + if (fhdebugflagpr) cout << "THcDriftChamber::LeftRight() Error 3" << endl; + } + Double_t xp_fit=stub[2]-fTanBeta[plane_list[0]] + /(1+stub[2]*fTanBeta[plane_list[0]]); + // Tune depdendent. Definitely HMS specific + Double_t xp_expect = sp->GetX()/875.0; + if(TMath::Abs(xp_fit-xp_expect)<fStubMaxXPDiff) { + minchi2 = chi2; + for(Int_t ihit=0;ihit<nhits;ihit++) { + plusminusbest[ihit] = plusminus[ihit]; + } + Double_t *spstub = sp->GetStubP(); + for(Int_t i=0;i<4;i++) { + spstub[i] = stub[i]; + } + } else { // Record best stub failing angle cut + tmp_minchi2 = chi2; + for(Int_t ihit=0;ihit<nhits;ihit++) { + tmp_plusminus[ihit] = plusminus[ihit]; + } + for(Int_t i=0;i<4;i++) { + tmp_stub[i] = stub[i]; + } + } + } else { // Not HMS specific + minchi2 = chi2; + for(Int_t ihit=0;ihit<nhits;ihit++) { + plusminusbest[ihit] = plusminus[ihit]; + } + Double_t *spstub = sp->GetStubP(); + for(Int_t i=0;i<4;i++) { + spstub[i] = stub[i]; + } + } + } + } else if (nplaneshit >= fNPlanes-2 && fHMSStyleChambers) { // Two planes missing + Double_t chi2 = FindStub(nhits, sp, + plane_list, bitpat, plusminus, stub); + //if(debugging) + //if (fhdebugflagpr) cout << "pmloop=" << pmloop << " Chi2=" << chi2 << endl; + // Isn't this a bad idea, doing == with reals + if(stub[2]*fTanBeta[plane_list[0]] == -1.0) { + if (fhdebugflagpr) cout << "THcDriftChamber::LeftRight() Error 3" << endl; + } + Double_t xp_fit=stub[2]-fTanBeta[plane_list[0]] + /(1+stub[2]*fTanBeta[plane_list[0]]); + if(TMath::Abs(xp_fit) <= minxp) { + minxp = TMath::Abs(xp_fit); + minchi2 = chi2; + for(Int_t ihit=0;ihit<nhits;ihit++) { + plusminusbest[ihit] = plusminus[ihit]; + } + Double_t *spstub = sp->GetStubP(); + for(Int_t i=0;i<4;i++) { + spstub[i] = stub[i]; + } + } + } else { + if (fhdebugflagpr) cout << "Insufficient planes hit in THcDriftChamber::LeftRight()" << bitpat <<endl; + } + } // End loop of pm combinations + + Double_t *spstub = sp->GetStubP(); + if(minchi2 > 9.9e9) { // No track passed angle cut + minchi2 = tmp_minchi2; + for(Int_t ihit=0;ihit<nhits;ihit++) { + plusminusbest[ihit] = tmp_plusminus[ihit]; + } + for(Int_t i=0;i<4;i++) { + spstub[i] = tmp_stub[i]; + } + + } + + // Calculate final coordinate based on plusminusbest + // Update the hit positions in the space points + for(Int_t ihit=0; ihit<nhits; ihit++) { + // Save left/right status with the hit and in the space point + // In THcDC will decide which to used based on fix_lr flag + sp->GetHit(ihit)->SetLeftRight(plusminusbest[ihit]); + sp->SetHitLR(ihit, plusminusbest[ihit]); + } + + // Stubs are calculated in rotated coordinate system + // (I think this rotates in case chambers not perpendicular to central ray) + Int_t pindex=plane_list[0]; + if(spstub[2] - fTanBeta[pindex] == -1.0) { + if (fhdebugflagpr) cout << "THcDriftChamber::LeftRight(): stub3 error" << endl; + } + stub[2] = (spstub[2] - fTanBeta[pindex]) + / (1.0 + spstub[2]*fTanBeta[pindex]); + if(spstub[2]*fSinBeta[pindex] == -fCosBeta[pindex]) { + if (fhdebugflagpr) cout << "THcDriftChamber::LeftRight(): stub4 error" << endl; + } + stub[3] = spstub[3] + / (spstub[2]*fSinBeta[pindex]+fCosBeta[pindex]); + stub[0] = spstub[0]*fCosBeta[pindex] + - spstub[0]*stub[2]*fSinBeta[pindex]; + stub[1] = spstub[1] + - spstub[1]*stub[3]*fSinBeta[pindex]; + for(Int_t i=0;i<4;i++) { + spstub[i] = stub[i]; + } + //if (fhdebugflagpr) cout << " Left/Right space pt " << isp+1 << " " << stub[0]<< " " << stub[1] << " " << stub[2]<< " " << stub[3] << endl; + } + // Option to print stubs +} +//_____________________________________________________________________________ +Double_t THcDriftChamber::FindStub(Int_t nhits, THcSpacePoint *sp, + Int_t* plane_list, UInt_t bitpat, + Int_t* plusminus, Double_t* stub) +{ + // For a given combination of L/R, fit a stub to the space point + // This method does a linear least squares fit of a line to the + // hits in an individual chamber. It assumes that the y slope is 0 + // The wire coordinate is calculated by + // wire center + plusminus*(drift distance). + // Method is called in a loop over all combinations of plusminus + Double_t zeros[] = {0.0,0.0,0.0}; + TVectorD TT; TT.Use(3, zeros); // X, X', Y + Double_t dpos[nhits]; + + for(Int_t ihit=0;ihit<nhits; ihit++) { + dpos[ihit] = sp->GetHit(ihit)->GetPos() + + plusminus[ihit]*sp->GetHit(ihit)->GetDist() + - fPsi0[plane_list[ihit]]; + for(Int_t index=0;index<3;index++) { + TT[index]+= dpos[ihit]*fStubCoefs[plane_list[ihit]][index] + /fSigma[plane_list[ihit]]; } } - cout << endl; + // fAA3Inv[bitpat]->Print(); + // if (fhdebugflagpr) cout << TT[0] << " " << TT[1] << " " << TT[2] << endl; + // TT->Print(); + + TT *= *fAA3Inv[bitpat]; + // if (fhdebugflagpr) cout << TT[0] << " " << TT[1] << " " << TT[2] << endl; - return nhits; + // Calculate Chi2. Remember one power of sigma is in fStubCoefs + stub[0] = TT[0]; + stub[1] = TT[1]; + stub[2] = TT[2]; + stub[3] = 0.0; + Double_t chi2=0.0; + for(Int_t ihit=0;ihit<nhits; ihit++) { + chi2 += pow( dpos[ihit]/fSigma[plane_list[ihit]] + - fStubCoefs[plane_list[ihit]][0]*stub[0] + - fStubCoefs[plane_list[ihit]][1]*stub[1] + - fStubCoefs[plane_list[ihit]][2]*stub[2] + , 2); + } + return(chi2); } //_____________________________________________________________________________ -Int_t THcDriftChamber::ApplyCorrections( void ) +THcDriftChamber::~THcDriftChamber() { - return(0); + // Destructor. Remove variables from global list. + + if (fhdebugflagpr) cout << fChamberNum << ": delete fSpacePoints: " << hex << fSpacePoints << endl; + delete fSpacePoints; + // Should delete the matrices + + if( fIsSetup ) + RemoveVariables(); + if( fIsInit ) + DeleteArrays(); + if (fTrackProj) { + fTrackProj->Clear(); + delete fTrackProj; fTrackProj = 0; + } } //_____________________________________________________________________________ -Int_t THcDriftChamber::CoarseProcess( TClonesArray& /* tracks */ ) +void THcDriftChamber::DeleteArrays() { - // Calculation of coordinates of particle track cross point with scint - // plane in the detector coordinate system. For this, parameters of track - // reconstructed in THaVDC::CoarseTrack() are used. - // - // Apply corrections and reconstruct the complete hits. - // - // static const Double_t sqrt2 = TMath::Sqrt(2.); - - ApplyCorrections(); + // Delete member arrays. Used by destructor. + delete fCosBeta; fCosBeta = NULL; + delete fSinBeta; fSinBeta = NULL; + delete fTanBeta; fTanBeta = NULL; + delete fSigma; fSigma = NULL; + delete fPsi0; fPsi0 = NULL; + delete fStubCoefs; fStubCoefs = NULL; + + // Need to delete each element of the fAA3Inv map - return 0; } //_____________________________________________________________________________ -Int_t THcDriftChamber::FineProcess( TClonesArray& tracks ) +inline +void THcDriftChamber::Clear( const Option_t* ) { - // Reconstruct coordinates of particle track cross point with scintillator - // plane, and copy the data into the following local data structure: - // - // Units of measurements are meters. + // Reset per-event data. + // fNhits = 0; - // Calculation of coordinates of particle track cross point with scint - // plane in the detector coordinate system. For this, parameters of track - // reconstructed in THaVDC::FineTrack() are used. + // fTrackProj->Clear(); + fNhits = 0; - return 0; +} + +//_____________________________________________________________________________ +Int_t THcDriftChamber::ApplyCorrections( void ) +{ + return(0); } ClassImp(THcDriftChamber) diff --git a/src/THcDriftChamber.h b/src/THcDriftChamber.h index b9f7be4e68c9e8ddd9899a9af31cc7ac90237e73..f20daa4649d978830e2eef3426a96f9f4de777ed 100644 --- a/src/THcDriftChamber.h +++ b/src/THcDriftChamber.h @@ -7,71 +7,136 @@ // // /////////////////////////////////////////////////////////////////////////////// +#include "THaSubDetector.h" +#include "THcDriftChamberPlane.h" #include "TClonesArray.h" -#include "THaNonTrackingDetector.h" -#include "THcHitList.h" -#include "THcDCHit.h" +#include "TMatrixD.h" -class THaScCalib; +#include <map> +#include <vector> -class THcDriftChamber : public THaNonTrackingDetector, public THcHitList { +#define MAX_SPACE_POINTS 100 +#define MAX_HITS_PER_POINT 20 + +//#include "TMath.h" + +//class THaScCalib; +class TClonesArray; +class THcSpacePoint; + +class THcDriftChamber : public THaSubDetector { public: - THcDriftChamber( const char* name, const char* description = "", - THaApparatus* a = NULL ); + THcDriftChamber( const char* name, const char* description, Int_t chambernum, + THaDetectorBase* parent = NULL ); virtual ~THcDriftChamber(); - virtual Int_t Decode( const THaEvData& ); + virtual Int_t Decode( const THaEvData& ); virtual EStatus Init( const TDatime& run_time ); - virtual Int_t CoarseProcess( TClonesArray& tracks ); - virtual Int_t FineProcess( TClonesArray& tracks ); + virtual void AddPlane(THcDriftChamberPlane *plane); virtual Int_t ApplyCorrections( void ); + virtual void ProcessHits( void ); + virtual Int_t FindSpacePoints( void ) ; + virtual void PrintDecode( void ) ; + virtual void CorrectHitTimes( void ) ; + virtual void LeftRight(void); - // Int_t GetNHits() const { return fNhit; } - + + virtual void Clear( Option_t* opt="" ); + + Int_t GetNHits() const { return fNhits; } + Int_t GetNSpacePoints() const { return(fNSpacePoints);} Int_t GetNTracks() const { return fTrackProj->GetLast()+1; } const TClonesArray* GetTrackHits() const { return fTrackProj; } - - friend class THaScCalib; + TClonesArray* GetSpacePointsP() const { return(fSpacePoints);} + Int_t GetChamberNum() const { return fChamberNum;} + Double_t GetZPos() const {return fZPos;} + // friend class THaScCalib; + void SetHMSStyleFlag(Int_t flag) {fHMSStyleChambers = flag;} - THcDriftChamber(); // for ROOT I/O + THcDriftChamber(); // for ROOT I/O protected: + Int_t f; // Calibration // Per-event data - - - // Potential Hall C parameters. Mostly here for demonstration - Int_t fNPlanes; - Int_t* fNWires; // Number of wires per plane + Int_t fNhits; + Int_t fNthits; + Int_t fN_True_RawHits; + + Int_t fNPlanes; // Number of planes in the chamber + + Int_t fChamberNum; + + // HMS Specific + Int_t YPlaneInd; // Index of Yplane for this chamber + Int_t YPlanePInd; // Index of Yplanep for this chamber + Int_t YPlaneNum; // Absolute plane number of Yplane + Int_t YPlanePNum; // Absolute plane number of Yplanep + // SOS Specific + Int_t XPlaneInd; // Index of Xplane for this chamber + Int_t XPlanePInd; // Index of Xplanep for this chamber + Int_t XPlaneNum; // Absolute plane number of Xplane + Int_t XPlanePNum; // Absolute plane number of Xplanep + + // Parameters + Int_t fMinHits; // Minimum hits required to do something + Int_t fMaxHits; // Maximum required to do something + Int_t fMinCombos; // Minimum # pairs in a space point + Int_t fRemove_Sppt_If_One_YPlane; + Double_t fWireVelocity; + Int_t fSmallAngleApprox; + Double_t fStubMaxXPDiff; + Int_t fFixPropagationCorrection; + Int_t fHMSStyleChambers; + Int_t fhdebugflagpr; + Int_t fdebugstubchisq; + Double_t fZPos; + Double_t fXCenter; + Double_t fYCenter; + Double_t fSpacePointCriterion; + Double_t fMaxDist; // Max dist used in EasySpacePoint methods + Double_t* fSinBeta; + Double_t* fCosBeta; + Double_t* fTanBeta; + Double_t* fSigma; + Double_t* fPsi0; + Double_t** fStubCoefs; + + std::vector<THcDriftChamberPlane*> fPlanes; + // THcDriftChamberPlane* fPlanes[20]; // List of plane objects TClonesArray* fTrackProj; // projection of track onto scintillator plane // and estimated match to TOF paddle - // Useful derived quantities - // double tan_angle, sin_angle, cos_angle; - - // static const char NDEST = 2; - // struct DataDest { - // Int_t* nthit; - // Int_t* nahit; - // Double_t* tdc; - // Double_t* tdc_c; - // Double_t* adc; - // Double_t* adc_p; - // Double_t* adc_c; - // Double_t* offset; - // Double_t* ped; - // Double_t* gain; - // } fDataDest[NDEST]; // Lookup table for decoder - - void ClearEvent(); + // void ClearEvent(); void DeleteArrays(); virtual Int_t ReadDatabase( const TDatime& date ); virtual Int_t DefineVariables( EMode mode = kDefine ); - ClassDef(THcDriftChamber,0) // Generic hodoscope class + void Setup(const char* name, const char* description); + Int_t FindEasySpacePoint_HMS(Int_t yplane_hitind, Int_t yplanep_hitind); + Int_t FindEasySpacePoint_SOS(Int_t xplane_hitind, Int_t xplanep_hitind); + Int_t FindHardSpacePoints(void); + Int_t DestroyPoorSpacePoints(void); + Int_t SpacePointMultiWire(void); + void ChooseSingleHit(void); + void SelectSpacePoints(void); + UInt_t Count1Bits(UInt_t x); + Double_t FindStub(Int_t nhits, THcSpacePoint *sp, + Int_t* plane_list, UInt_t bitpat, + Int_t* plusminus, Double_t* stub); + + std::vector<THcDCHit*> fHits; /* All hits for this chamber */ + TClonesArray *fSpacePoints; + Int_t fNSpacePoints; + Int_t fEasySpacePoint; /* This event is an easy space point */ + + Double_t* stubcoef[4]; + std::map<int,TMatrixD*> fAA3Inv; + + ClassDef(THcDriftChamber,0) // A single drift chamber }; //////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcDriftChamberPlane.cxx b/src/THcDriftChamberPlane.cxx new file mode 100644 index 0000000000000000000000000000000000000000..59516413f569d69fc356f030059fb0b0b19337cf --- /dev/null +++ b/src/THcDriftChamberPlane.cxx @@ -0,0 +1,346 @@ +//*-- Author : + +////////////////////////////////////////////////////////////////////////// +// +// THcDriftChamberPlane +// +////////////////////////////////////////////////////////////////////////// + +#include "THcDriftChamberPlane.h" +#include "THcDCWire.h" +#include "THcDCHit.h" +#include "THcDCLookupTTDConv.h" +#include "THcSignalHit.h" +#include "THcGlobals.h" +#include "THcParmList.h" +#include "THcHitList.h" +#include "THcDC.h" +#include "THcHodoscope.h" +#include "TClass.h" + +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> + +using namespace std; + +ClassImp(THcDriftChamberPlane) + +//______________________________________________________________________________ +THcDriftChamberPlane::THcDriftChamberPlane( const char* name, + const char* description, + const Int_t planenum, + THaDetectorBase* parent ) + : THaSubDetector(name,description,parent) +{ + // Normal constructor with name and description + fHits = new TClonesArray("THcDCHit",100); + fWires = new TClonesArray("THcDCWire", 100); + fTTDConv = NULL; + + fPlaneNum = planenum; +} + +//_____________________________________________________________________________ +THcDriftChamberPlane::THcDriftChamberPlane() : + THaSubDetector() +{ + // Constructor + fHits = NULL; + fWires = NULL; + fTTDConv = NULL; +} +//______________________________________________________________________________ +THcDriftChamberPlane::~THcDriftChamberPlane() +{ + // Destructor + delete fWires; + delete fHits; + delete fTTDConv; + +} +THaAnalysisObject::EStatus THcDriftChamberPlane::Init( const TDatime& date ) +{ + // Extra initialization for scintillator plane: set up DataDest map + + cout << "THcDriftChamberPlane::Init called " << GetName() << endl; + + if( IsZombie()) + return fStatus = kInitError; + + // How to get information for parent + // if( GetParent() ) + // fOrigin = GetParent()->GetOrigin(); + + EStatus status; + if( (status=THaSubDetector::Init( date )) ) + return fStatus = status; + + return fStatus = kOK; + +} + +//_____________________________________________________________________________ +Int_t THcDriftChamberPlane::ReadDatabase( const TDatime& date ) +{ + + // See what file it looks for + + char prefix[2]; + UInt_t NumDriftMapBins; + Double_t DriftMapFirstBin; + Double_t DriftMapBinSize; + + prefix[0]=tolower(GetParent()->GetPrefix()[0]); + prefix[1]='\0'; + DBRequest list[]={ + {"driftbins", &NumDriftMapBins, kInt}, + {"drift1stbin", &DriftMapFirstBin, kDouble}, + {"driftbinsz", &DriftMapBinSize, kDouble}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list,prefix); + + Double_t *DriftMap = new Double_t[NumDriftMapBins]; + DBRequest list2[]={ + {Form("wc%sfract",GetName()),DriftMap,kDouble,NumDriftMapBins}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list2,prefix); + + // Retrieve parameters we need from parent class + THcDC* fParent; + + fParent = (THcDC*) GetParent(); + // These are single variables here, but arrays in THcDriftChamber. + fSigma = fParent->GetSigma(fPlaneNum); + fChamberNum = fParent->GetNChamber(fPlaneNum); + fNWires = fParent->GetNWires(fPlaneNum); + fWireOrder = fParent->GetWireOrder(fPlaneNum); + fPitch = fParent->GetPitch(fPlaneNum); + fCentralWire = fParent->GetCentralWire(fPlaneNum); + fTdcWinMin = fParent->GetTdcWinMin(fPlaneNum); + fTdcWinMax = fParent->GetTdcWinMax(fPlaneNum); + fPlaneTimeZero = fParent->GetPlaneTimeZero(fPlaneNum); + fCenter = fParent->GetCenter(fPlaneNum); + fCentralTime = fParent->GetCentralTime(fPlaneNum); + fDriftTimeSign = fParent->GetDriftTimeSign(fPlaneNum); + + fNSperChan = fParent->GetNSperChan(); + + // Calculate Geometry Constants + // Do we want to move all this to the Chamber of DC Package leve + // as that is where these things will be needed? + Double_t z0 = fParent->GetZPos(fPlaneNum); + Double_t alpha = fParent->GetAlphaAngle(fPlaneNum); + Double_t beta = fParent->GetBetaAngle(fPlaneNum); + fBeta = beta; + Double_t gamma = fParent->GetGammaAngle(fPlaneNum); + Double_t cosalpha = TMath::Cos(alpha); + Double_t sinalpha = TMath::Sin(alpha); + Double_t cosbeta = TMath::Cos(beta); + Double_t sinbeta = TMath::Sin(beta); + Double_t cosgamma = TMath::Cos(gamma); + Double_t singamma = TMath::Sin(gamma); + + Double_t hzchi = -cosalpha*sinbeta + sinalpha*cosbeta*singamma; + Double_t hzpsi = sinalpha*sinbeta + cosalpha*cosbeta*singamma; + Double_t hxchi = -cosalpha*cosbeta - sinalpha*sinbeta*singamma; + Double_t hxpsi = sinalpha*cosbeta - cosalpha*sinbeta*singamma; + Double_t hychi = sinalpha*cosgamma; + Double_t hypsi = cosalpha*cosgamma; + Double_t stubxchi = -cosalpha; + Double_t stubxpsi = sinalpha; + Double_t stubychi = sinalpha; + Double_t stubypsi = cosalpha; + + if(cosalpha <= 0.707) { // x-like wire, need dist from x=0 line + fReadoutX = 1; + fReadoutCorr = 1/sinalpha; + } else { + fReadoutX = 0; + fReadoutCorr = 1/cosalpha; + } + + Double_t sumsqupsi = hzpsi*hzpsi+hxpsi*hxpsi+hypsi*hypsi; + Double_t sumsquchi = hzchi*hzchi+hxchi*hxchi+hychi*hychi; + Double_t sumcross = hzpsi*hzchi + hxpsi*hxchi + hypsi*hychi; + Double_t denom1 = sumsqupsi*sumsquchi-sumcross*sumcross; + fPsi0 = (-z0*hzpsi*sumsquchi + +z0*hzchi*sumcross) / denom1; + Double_t hchi0 = (-z0*hzchi*sumsqupsi + +z0*hzpsi*sumcross) / denom1; + Double_t hphi0 = TMath::Sqrt(pow(z0+hzpsi*fPsi0+hzchi*hchi0,2) + + pow(hxpsi*fPsi0+hxchi*hchi0,2) + + pow(hypsi*fPsi0+hychi*hchi0,2) ); + if(z0 < 0.0) hphi0 = -hphi0; + + Double_t denom2 = stubxpsi*stubychi - stubxchi*stubypsi; + + // Why are there 4, but only 3 used? + fStubCoef[0] = stubychi/(fSigma*denom2); // sin(a)/sigma + fStubCoef[1] = -stubxchi/(fSigma*denom2); // cos(a)/sigma + fStubCoef[2] = hphi0*fStubCoef[0]; // z0*sin(a)/sig + fStubCoef[3] = hphi0*fStubCoef[1]; // z0*cos(a)/sig + + fXsp = hychi/denom2; // sin(a) + fYsp = -hxchi/denom2; // cos(a) + + // Comput track fitting coefficients +#define LOCRAYZT 0.0 + fPlaneCoef[0]= hzchi; // = 0. + fPlaneCoef[1]=-hzchi; // = 0. + fPlaneCoef[2]= hychi*(z0-LOCRAYZT); // sin(a)*(z-hlocrayzt) + fPlaneCoef[3]= hxchi*(LOCRAYZT-z0); // cos(a)*(z-hlocrayzt) + fPlaneCoef[4]= hychi; // sin(a) + fPlaneCoef[5]=-hxchi; // cos(a) + fPlaneCoef[6]= hzchi*hypsi - hychi*hzpsi; // 0. + fPlaneCoef[7]=-hzchi*hxpsi + hxchi*hzpsi; // 0. + fPlaneCoef[8]= hychi*hxpsi - hxchi*hypsi; // 1. + + // cout << fPlaneNum << " " << fNWires << " " << fWireOrder << endl; + + fTTDConv = new THcDCLookupTTDConv(DriftMapFirstBin,fPitch/2,DriftMapBinSize, + NumDriftMapBins,DriftMap); + delete [] DriftMap; + + Int_t nWires = fParent->GetNWires(fPlaneNum); + // For HMS, wire numbers start with one, but arrays start with zero. + // So wire number is index+1 + for (int i=0; i<nWires; i++) { + Double_t pos = fPitch*( (fWireOrder==0?(i+1):fNWires-i) + - fCentralWire) - fCenter; + new((*fWires)[i]) THcDCWire( i+1, pos , 0.0, fTTDConv); + //if( something < 0 ) wire->SetFlag(1); + } + + THaApparatus* app = GetApparatus(); + const char* nm = "hod"; + if( !app || + !(fglHod = dynamic_cast<THcHodoscope*>(app->GetDetector(nm))) ) { + static const char* const here = "ReadDatabase()"; + Warning(Here(here),"Hodoscope \"%s\" not found. " + "Event-by-event time offsets will NOT be used!!",nm); + } + + return kOK; +} +//_____________________________________________________________________________ +Int_t THcDriftChamberPlane::DefineVariables( EMode mode ) +{ + // Initialize global variables and lookup table for decoder + + // cout << "THcDriftChamberPlane::DefineVariables called " << GetName() << endl; + + if( mode == kDefine && fIsSetup ) return kOK; + fIsSetup = ( mode == kDefine ); + + // Register variables in global list + RVarDef vars[] = { + {"tdchits", "List of TDC hits", + "fHits.THcDCHit.GetWireNum()"}, + {"rawtdc", "Raw TDC Values", + "fHits.THcDCHit.GetRawTime()"}, + {"time","Drift times", + "fHits.THcDCHit.GetTime()"}, + {"dist","Drift distancess", + "fHits.THcDCHit.GetDist()"}, + {"nhit", "Number of hits", "GetNHits()"}, + { 0 } + }; + + return DefineVarsFromList( vars, mode ); +} + +//_____________________________________________________________________________ +void THcDriftChamberPlane::Clear( Option_t* ) +{ + //cout << " Calling THcDriftChamberPlane::Clear " << GetName() << endl; + // Clears the hit lists + fHits->Clear(); +} + +//_____________________________________________________________________________ +Int_t THcDriftChamberPlane::Decode( const THaEvData& evdata ) +{ + // Doesn't actually get called. Use Fill method instead + cout << " Calling THcDriftChamberPlane::Decode " << GetName() << endl; + + return 0; +} +//_____________________________________________________________________________ +Int_t THcDriftChamberPlane::CoarseProcess( TClonesArray& tracks ) +{ + + // HitCount(); + + return 0; +} + +//_____________________________________________________________________________ +Int_t THcDriftChamberPlane::FineProcess( TClonesArray& tracks ) +{ + return 0; +} +Int_t THcDriftChamberPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit) +{ + // Extract the data for this plane from hit list + // Assumes that the hit list is sorted by plane, so we stop when the + // plane doesn't agree and return the index for the next hit. + + Double_t StartTime = 0.0; + // Would be nice to have a way to determine that the hodoscope decode was + // actually called for this event. + if( fglHod ) StartTime = fglHod->GetStartTime(); + //cout << "Start time " << StartTime << endl; + + //Int_t nTDCHits=0; + fHits->Clear(); + + Int_t nrawhits = rawhits->GetLast()+1; + // cout << "THcDriftChamberPlane::ProcessHits " << fPlaneNum << " " << nexthit << "/" << nrawhits << endl; + fNRawhits=0; + Int_t ihit = nexthit; + Int_t nextHit = 0; + while(ihit < nrawhits) { + THcRawDCHit* hit = (THcRawDCHit *) rawhits->At(ihit); + if(hit->fPlane > fPlaneNum) { + break; + } + Int_t wireNum = hit->fCounter; + THcDCWire* wire = GetWire(wireNum); + Int_t wire_last = -1; + for(UInt_t mhit=0; mhit<hit->fNHits; mhit++) { + fNRawhits++; + /* Sort into early, late and ontime */ + Int_t rawtdc = hit->fTDC[mhit]; + if(rawtdc < fTdcWinMin) { + // Increment early counter (Actually late because TDC is backward) + } else if (rawtdc > fTdcWinMax) { + // Increment late count + } else { + // A good hit + if(wire_last == wireNum) { + // Increment extra hit counter + // Are we choosing the correct hit in the case of multiple hits? + // Are we choose the same hit that ENGINE chooses? + // cout << "Extra hit " << fPlaneNum << " " << wireNum << " " << rawtdc << endl; + } else { + Double_t time = -StartTime // (comes from h_trans_scin + - rawtdc*fNSperChan + fPlaneTimeZero; + // How do we get this start time from the hodoscope to here + // (or at least have it ready by coarse process) + new( (*fHits)[nextHit++] ) THcDCHit(wire, rawtdc, time, this); + } + wire_last = wireNum; + } + } + ihit++; + } + return(ihit); +} + + + + diff --git a/src/THcDriftChamberPlane.h b/src/THcDriftChamberPlane.h new file mode 100644 index 0000000000000000000000000000000000000000..95c793cd6be99252e97756fc68909d927f3696ac --- /dev/null +++ b/src/THcDriftChamberPlane.h @@ -0,0 +1,118 @@ +#ifndef ROOT_THcDriftChamberPlane +#define ROOT_THcDriftChamberPlane + +////////////////////////////////////////////////////////////////////////////// +// +// THcDriftChamberPlane +// +// A Hall C scintillator plane +// +// May want to later inherit from a THcPlane class if there are similarities +// in what a plane is shared with other detector types (shower, etc.) +// +////////////////////////////////////////////////////////////////////////////// + +#include "THaSubDetector.h" +#include "TClonesArray.h" +#include <cassert> + +class THaEvData; +class THcDCWire; +class THcDCHit; +class THcDCTimeToDistConv; +class THcHodoscope; + +/*class THaSignalHit;*/ + +class THcDriftChamberPlane : public THaSubDetector { + +public: + THcDriftChamberPlane( const char* name, const char* description, + Int_t planenum, THaDetectorBase* parent = NULL); + virtual ~THcDriftChamberPlane(); + + virtual void Clear( Option_t* opt="" ); + virtual Int_t Decode( const THaEvData& ); + virtual EStatus Init( const TDatime& run_time ); + + virtual Int_t CoarseProcess( TClonesArray& tracks ); + virtual Int_t FineProcess( TClonesArray& tracks ); + Bool_t IsTracking() { return kFALSE; } + virtual Bool_t IsPid() { return kFALSE; } + + virtual Int_t ProcessHits(TClonesArray* rawhits, Int_t nexthit); + + // Get and Set functions + Int_t GetNWires() const { return fWires->GetLast()+1; } + THcDCWire* GetWire(Int_t i) const + { assert( i>=1 && i<=GetNWires() ); + return (THcDCWire*)fWires->UncheckedAt(i-1); } + + Int_t GetNHits() const { return fHits->GetLast()+1; } + Int_t GetNRawhits() const {return fNRawhits; } + TClonesArray* GetHits() const { return fHits; } + + Int_t GetPlaneNum() const { return fPlaneNum; } + Int_t GetChamberNum() const { return fChamberNum; } + void SetPlaneIndex(Int_t index) { fPlaneIndex = index; } + Int_t GetPlaneIndex() { return fPlaneIndex; } + Double_t GetXsp() const { return fXsp; } + Double_t GetYsp() const { return fYsp; } + Int_t GetReadoutX() { return fReadoutX; } + Double_t GetReadoutCorr() { return fReadoutCorr; } + Double_t GetCentralTime() { return fCentralTime; } + Int_t GetDriftTimeSign() { return fDriftTimeSign; } + Double_t GetBeta() { return fBeta; } + Double_t GetSigma() { return fSigma; } + Double_t GetPsi0() { return fPsi0; } + Double_t* GetStubCoef() { return fStubCoef; } + Double_t* GetPlaneCoef() { return fPlaneCoef; } + + THcDriftChamberPlane(); // for ROOT I/O +protected: + + TClonesArray* fParentHitList; + + TClonesArray* fHits; + TClonesArray* fWires; + + Int_t fPlaneNum; + Int_t fPlaneIndex; /* Index of this plane within it's chamber */ + Int_t fChamberNum; + Int_t fNRawhits; + Int_t fNWires; + Int_t fWireOrder; + Int_t fTdcWinMin; + Int_t fTdcWinMax; + Double_t fPitch; + Double_t fCentralWire; + Double_t fPlaneTimeZero; + Double_t fXsp; + Double_t fYsp; + Double_t fSigma; + Double_t fPsi0; + Double_t fStubCoef[4]; + Double_t fBeta; + Double_t fPlaneCoef[9]; + + Int_t fReadoutX; + Double_t fReadoutCorr; + Double_t fCentralTime; + Int_t fDriftTimeSign; + + Double_t fCenter; + + Double_t fNSperChan; /* TDC bin size */ + + virtual Int_t ReadDatabase( const TDatime& date ); + virtual Int_t DefineVariables( EMode mode = kDefine ); + + THcDCTimeToDistConv* fTTDConv; // Time-to-distance converter for this plane's wires + + THcHodoscope* fglHod; // Hodoscope to get start time + + ClassDef(THcDriftChamberPlane,0); // A single plane within a THcDriftChamber +}; +#endif + + diff --git a/src/THcFormula.cxx b/src/THcFormula.cxx new file mode 100644 index 0000000000000000000000000000000000000000..7740c06948fb0d75bcd6c1924e4d81c985d25c1e --- /dev/null +++ b/src/THcFormula.cxx @@ -0,0 +1,217 @@ +//*-- Author : Stephen Wood 17-Oct-2013 + +////////////////////////////////////////////////////////////////////////// +// +// THcFormula +// +// Tweaked THaFormula. If cutname.scaler is used in a formula, then +// it is evaluated as the number of times that the cut passed. +// Use EVariableType of kUndefined to indicate cut scaler in list of +// variables used in the formula +// +////////////////////////////////////////////////////////////////////////// + +#include "THcFormula.h" +#include "THcParmList.h" +#include "THaVarList.h" +#include "THaCutList.h" +#include "THaCut.h" + +#include <iostream> + +using namespace std; + +static const Double_t kBig = 1e38; // Error value + +//_____________________________________________________________________________ +THcFormula::THcFormula(const char* name, const char* expression, + const THcParmList* plst, const THaVarList* vlst, + const THaCutList* clst ) : + THaFormula() +{ + + // We have to duplicate the TFormula constructor code here because of + // the calls DefinedVariable. Our version will only get called if + // to Compile(). Compile() only works if fParmList is set. + fParmList = plst; + fVarList = vlst; + fCutList = clst; + + SetName(name); + + //eliminate blanks in expression + Int_t nch = strlen(expression); + char *expr = new char[nch+1]; + Int_t j = 0; + for (Int_t i=0;i<nch;i++) { + if (expression[i] == ' ') continue; + if (i > 0 && (expression[i] == '*') && (expression[i-1] == '*')) { + expr[j-1] = '^'; + continue; + } + expr[j] = expression[i]; j++; + } + expr[j] = 0; + if (j) SetTitle(expr); + delete [] expr; + + Compile(); // This calls our own Compile() +} + +//_____________________________________________________________________________ +THcFormula& THcFormula::operator=( const THcFormula& rhs ) +{ + if( this != &rhs ) { + TFormula::operator=(rhs); + fNcodes = rhs.fNcodes; + fParmList = rhs.fParmList; + fVarList = rhs.fVarList; + fCutList = rhs.fCutList; + fError = rhs.fError; + fRegister = rhs.fRegister; + delete [] fVarDef; + fVarDef = new FVarDef_t[ kMAXCODES ]; + memcpy( fVarDef, rhs.fVarDef, kMAXCODES*sizeof(FVarDef_t)); + } + return *this; +} + +//_____________________________________________________________________________ +THcFormula::~THcFormula() +{ + // Destructor +} + +//_____________________________________________________________________________ +Int_t THcFormula::DefinedCut( const TString& name ) +{ + // Check if 'name' is a known cut. If so, enter it in the local list of + // variables used in this formula. + + EVariableType thistype; + TString realname; + Int_t period = name.Index('.'); + if(period < 0) { + realname = name; + thistype = kCut; + } else { + realname = name(0,period); + TString attribute(name(period+1,name.Length()-period-1)); + if(attribute.CompareTo("scaler")==0 || attribute.CompareTo("npassed")==0) { + thistype = (EVariableType) kCutScaler; + } else if (attribute.CompareTo("ncalled")==0) { + thistype = (EVariableType) kCutNCalled; + } else { + thistype = kUndefined; + } + } + + // Cut names are obviously only valid if there is a list of existing cuts + if( fCutList ) { + const THaCut* pcut = fCutList->FindCut( realname ); + if( pcut ) { + if( fNcodes >= kMAXCODES ) return -1; + // See if this cut already used earlier in this new cut + FVarDef_t* def = fVarDef; + for( Int_t i=0; i<fNcodes; i++, def++ ) { + if( def->type == thistype && pcut == def->code ) + return i; + } + def->type = thistype; + def->code = pcut; + def->index = 0; + fNpar = 0; + return fNcodes++; + } + } + return -1; +} + +//_____________________________________________________________________________ +Double_t THcFormula::DefinedValue( Int_t i ) +{ + // Get value of i-th variable in the formula + // If the i-th variable is a cut, return its last result + // (calculated at the last evaluation). + // If the variable is a string, return value of its character value + +#ifdef WITH_DEBUG + R__ASSERT( i>=0 && i<fNcodes ); +#endif + FVarDef_t* def = fVarDef+i; + const void* ptr = def->code; + if( !ptr ) return kBig; + switch( (Int_t) def->type ) { + case kVariable: + case kString: + return reinterpret_cast<const THaVar*>(ptr)->GetValue( def->index ); + break; + case kCut: + return reinterpret_cast<const THaCut*>(ptr)->GetResult(); + break; + case kCutScaler: + return reinterpret_cast<const THaCut*>(ptr)->GetNPassed(); + break; + case kCutNCalled: + return reinterpret_cast<const THaCut*>(ptr)->GetNCalled(); + break; + default: + return kBig; + } +} + + +//_____________________________________________________________________________ +Int_t THcFormula::DefinedGlobalVariable( const TString& name ) +{ + // Check if 'name' is a known global variable. If so, enter it in the + // local list of variables used in this formula. + + // No list of variables or too many variables in this formula? + if( (!fVarList && !fParmList) || fNcodes >= kMAXCODES ) + return -2; + + + // Parse name for array syntax + THaArrayString var(name); + if( var.IsError() ) + return -1; + + // First check if this name is a Parameter + const THaVar* obj = fParmList->Find( var.GetName() ); + if ( !obj) { // If not, find a global variable with this name + obj = fVarList->Find( var.GetName() ); + if( !obj ) + return -1; + } + + // Error if array requested but the corresponding variable is not an array + if( var.IsArray() && !obj->IsArray() ) + return -2; + + // Subscript(s) within bounds? + Int_t index = 0; + if( var.IsArray() + && (index = obj->Index( var )) <0 ) return -2; + + // Check if this variable already used in this formula + FVarDef_t* def = fVarDef; + for( Int_t i=0; i<fNcodes; i++, def++ ) { + if( obj == def->code && index == def->index ) + return i; + } + // If this is a new variable, add it to the list + def->type = kVariable; + def->code = obj; + def->index = index; + + // No parameters ever for a THaFormula + fNpar = 0; + + return fNcodes++; +} + + +//_____________________________________________________________________________ + +ClassImp(THcFormula) diff --git a/src/THcFormula.h b/src/THcFormula.h new file mode 100644 index 0000000000000000000000000000000000000000..0294ee6417a21b59cbb21a388ad301d79225eb9a --- /dev/null +++ b/src/THcFormula.h @@ -0,0 +1,37 @@ +#ifndef ROOT_THcFormula +#define ROOT_THcFormula + +////////////////////////////////////////////////////////////////////////// +// +// THcFormula +// +////////////////////////////////////////////////////////////////////////// + +#include "THcGlobals.h" +#include "THaFormula.h" + +class THaParmList; + +class THcFormula : public THaFormula { + +public: + + THcFormula( const char* name, const char* formula, + const THcParmList*, const THaVarList*, + const THaCutList* clst); + THcFormula& operator=( const THcFormula& rhs ); + virtual ~THcFormula(); + + virtual Double_t DefinedValue( Int_t i); + virtual Int_t DefinedCut( const TString& variable); + virtual Int_t DefinedGlobalVariable( const TString& variable); + +protected: + + enum {kCutScaler = kString+1}; + enum {kCutNCalled = kCutScaler+1}; + const THcParmList* fParmList; // Pointer to list of parameters + ClassDef(THcFormula,0) // Formula with cut scalers +}; + +#endif diff --git a/src/THcHallCSpectrometer.cxx b/src/THcHallCSpectrometer.cxx index 53c141cfde5b35821d78c79b122cc8f84557b82a..7ec7c3c017881253a7d82ae8c2b769a909d1992c 100644 --- a/src/THcHallCSpectrometer.cxx +++ b/src/THcHallCSpectrometer.cxx @@ -40,23 +40,52 @@ // 'reference distance', corresponding to the pathlength correction // matrix. // +// +// Golden track using scin. Zafar Ahmed. August 19 2014 +// Goldent track is moved to THcHallCSpectrometer::TrackCalc() +// if fSelUsingScin == 0 then golden track is calculated just +// like podd. i.e. it is the first track with minimum chi2/ndf +// with sorting ON +// +// if fSelUsingScin == 1 then golden track is calculetd just like +// engine/HTRACKING/h_select_best_track_using_scin.h. This method +// gives the best track with minimum value of chi2/ndf but with +// additional cuts on the tracks. These cuts are on dedx, beta +// and on energy. +// +// Golden track using prune. Zafar Ahmed. September 23 2014 +// Selection of golden track using prune method is added. +// A bug is also fixed in THcHodoscope class +// Number of pmts hits, focal plane time, good time for plane 4 +// and good time for plane 3 are set to the tracks in +// THcHodoscope class. +// ////////////////////////////////////////////////////////////////////////// #include "THcHallCSpectrometer.h" #include "THaTrackingDetector.h" +#include "THcGlobals.h" +#include "THcParmList.h" #include "THaTrack.h" #include "THaTrackProj.h" #include "THaTriggerTime.h" #include "TMath.h" #include "TList.h" -#include "TList.h" -#include "TMath.h" +#include "THcRawShowerHit.h" +#include "THcSignalHit.h" +#include "THcShower.h" +#include "THcHitList.h" +#include "THcHodoscope.h" -#ifdef WITH_DEBUG +#include <vector> +#include <cstring> +#include <cstdio> +#include <cstdlib> #include <iostream> -#endif +#include <fstream> +using std::vector; using namespace std; //_____________________________________________________________________________ @@ -68,13 +97,32 @@ THcHallCSpectrometer::THcHallCSpectrometer( const char* name, const char* descri //sc_ref = static_cast<THaScintillator*>(GetDetector("s1")); - SetTrSorting(kFALSE); + SetTrSorting(kTRUE); } //_____________________________________________________________________________ THcHallCSpectrometer::~THcHallCSpectrometer() { // Destructor + + DefineVariables( kDelete ); +} + +//_____________________________________________________________________________ +Int_t THcHallCSpectrometer::DefineVariables( EMode mode ) +{ + // Define/delete standard variables for a spectrometer (tracks etc.) + // Can be overridden or extended by derived (actual) apparatuses + if( mode == kDefine && fIsSetup ) return kOK; + THaSpectrometer::DefineVariables( mode ); + fIsSetup = ( mode == kDefine ); + RVarDef vars[] = { + { "tr.betachisq", "Chi2 of beta", "fTracks.THaTrack.GetBetaChi2()"}, + { 0 } + }; + + + return DefineVarsFromList( vars, mode ); } //_____________________________________________________________________________ @@ -95,25 +143,270 @@ Bool_t THcHallCSpectrometer::GetTrSorting() const } //_____________________________________________________________________________ -Int_t THcHallCSpectrometer::FindVertices( TClonesArray& tracks ) +void THcHallCSpectrometer::InitializeReconstruction() +{ + fNReconTerms = 0; + fReconTerms.clear(); + fAngSlope_x = 0.0; + fAngSlope_y = 0.0; + fAngOffset_x = 0.0; + fAngOffset_y = 0.0; + fDetOffset_x = 0.0; + fDetOffset_y = 0.0; + fZTrueFocus = 0.0; +} +//_____________________________________________________________________________ +Int_t THcHallCSpectrometer::ReadDatabase( const TDatime& date ) { - // Reconstruct target coordinates for all tracks found in the focal plane. - TIter nextTrack( fTrackingDetectors ); + static const char* const here = "THcHallCSpectrometer::ReadDatabase"; - nextTrack.Reset(); - while( THaTrackingDetector* theTrackDetector = - static_cast<THaTrackingDetector*>( nextTrack() )) { #ifdef WITH_DEBUG - if( fDebug>1 ) cout << "Call FineTrack() for " - << theTrackDetector->GetName() << "... "; -#endif - theTrackDetector->FindVertices( tracks ); -#ifdef WITH_DEBUG - if( fDebug>1 ) cout << "done.\n"; + cout << "In THcHallCSpectrometer::ReadDatabase()" << endl; #endif + + // --------------- To get energy from THcShower ---------------------- + + const char* detector_name = "hod"; + //THaApparatus* app = GetDetector(); + THaDetector* det = GetDetector("hod"); + // THaDetector* det = app->GetDetector( shower_detector_name ); + + if( !dynamic_cast<THcHodoscope*>(det) ) { + Error("THcHallCSpectrometer", "Cannot find hodoscope detector %s", + detector_name ); + return fStatus = kInitError; + } + + fHodo = static_cast<THcHodoscope*>(det); // fHodo is a membervariable + + // fShower = static_cast<THcShower*>(det); // fShower is a membervariable + + // --------------- To get energy from THcShower ---------------------- + + + // Get the matrix element filename from the variable store + // Read in the matrix + + InitializeReconstruction(); + + char prefix[2]; + + cout << " GetName() " << GetName() << endl; + + prefix[0]=tolower(GetName()[0]); + prefix[1]='\0'; + + string reconCoeffFilename; + DBRequest list[]={ + {"_recon_coeff_filename", &reconCoeffFilename, kString }, + {"theta_offset", &fThetaOffset, kDouble }, + {"phi_offset", &fPhiOffset, kDouble }, + {"delta_offset", &fDeltaOffset, kDouble }, + {"thetacentral_offset", &fThetaCentralOffset, kDouble }, + {"_oopcentral_offset", &fOopCentralOffset, kDouble }, + {"pcentral_offset", &fPCentralOffset, kDouble }, + {"pcentral", &fPcentral, kDouble }, + {"theta_lab", &fTheta_lab, kDouble }, + {"partmass", &fPartMass, kDouble }, + {"sel_using_scin", &fSelUsingScin, kInt, 0, 1}, + {"sel_using_prune", &fSelUsingPrune, kInt, 0, 1}, + {"sel_ndegreesmin", &fSelNDegreesMin, kDouble, 0, 1}, + {"sel_dedx1min", &fSeldEdX1Min, kDouble, 0, 1}, + {"sel_dedx1max", &fSeldEdX1Max, kDouble, 0, 1}, + {"sel_betamin", &fSelBetaMin, kDouble, 0, 1}, + {"sel_betamax", &fSelBetaMax, kDouble, 0, 1}, + {"sel_etmin", &fSelEtMin, kDouble, 0, 1}, + {"sel_etmax", &fSelEtMax, kDouble, 0, 1}, + {"hodo_num_planes", &fNPlanes, kInt }, + {"scin_2x_zpos", &fScin2XZpos, kDouble, 0, 1}, + {"scin_2x_dzpos", &fScin2XdZpos, kDouble, 0, 1}, + {"scin_2y_zpos", &fScin2YZpos, kDouble, 0, 1}, + {"scin_2y_dzpos", &fScin2YdZpos, kDouble, 0, 1}, + {"prune_xp", &fPruneXp, kDouble, 0, 1}, + {"prune_yp", &fPruneYp, kDouble, 0, 1}, + {"prune_ytar", &fPruneYtar, kDouble, 0, 1}, + {"prune_delta", &fPruneDelta, kDouble, 0, 1}, + {"prune_beta", &fPruneBeta, kDouble, 0, 1}, + {"prune_df", &fPruneDf, kDouble, 0, 1}, + {"prune_chibeta", &fPruneChiBeta, kDouble, 0, 1}, + {"prune_npmt", &fPruneNPMT, kDouble, 0, 1}, + {"prune_fptime", &fPruneFpTime, kDouble, 0, 1}, + {0} + }; + + // Default values + fSelUsingScin = 0; + fSelUsingPrune = 0; + + gHcParms->LoadParmValues((DBRequest*)&list,prefix); + + EnforcePruneLimits(); + + cout << "\n\n\nhodo planes = " << fNPlanes << endl; + cout << "sel using scin = " << fSelUsingScin << endl; + cout << "fPruneXp = " << fPruneXp << endl; + cout << "fPruneYp = " << fPruneYp << endl; + cout << "fPruneYtar = " << fPruneYtar << endl; + cout << "fPruneDelta = " << fPruneDelta << endl; + cout << "fPruneBeta = " << fPruneBeta << endl; + cout << "fPruneDf = " << fPruneDf << endl; + cout << "fPruneChiBeta = " << fPruneChiBeta << endl; + cout << "fPruneFpTime = " << fPruneFpTime << endl; + cout << "fPruneNPMT = " << fPruneNPMT << endl; + cout << "sel using prune = " << fSelUsingPrune << endl; + cout << "fPartMass = " << fPartMass << endl; + cout << "fPcentral = " << fPcentral << " " <<fPCentralOffset << endl; + cout << "fThate_lab = " << fTheta_lab << " " <<fThetaCentralOffset << endl; + fPcentral= fPcentral*(1.+fPCentralOffset/100.); + // Check that these offsets are in radians + fTheta_lab=fTheta_lab + fThetaCentralOffset*TMath::RadToDeg(); + Double_t ph = 0.0+fPhiOffset*TMath::RadToDeg(); + + SetCentralAngles(fTheta_lab, ph, false); + Double_t off_x = 0.0, off_y = 0.0, off_z = 0.0; + fPointingOffset.SetXYZ( off_x, off_y, off_z ); + + // + ifstream ifile; + ifile.open(reconCoeffFilename.c_str()); + if(!ifile.is_open()) { + Error(here, "error opening reconstruction coefficient file %s",reconCoeffFilename.c_str()); + return kInitError; // Is this the right return code? + } + + string line="!"; + int good=1; + while(good && line[0]=='!') { + good = getline(ifile,line).good(); + // cout << line << endl; + } + // Read in focal plane rotation coefficients + // Probably not used, so for now, just paste in fortran code as a comment + while(good && line.compare(0,4," ---")!=0) { + // if(line(1:13).eq.'h_ang_slope_x')read(line,1201,err=94)h_ang_slope_x + // if(line(1:13).eq.'h_ang_slope_y')read(line,1201,err=94)h_ang_slope_y + // if(line(1:14).eq.'h_ang_offset_x')read(line,1201,err=94)h_ang_offset_x + // if(line(1:14).eq.'h_ang_offset_y')read(line,1201,err=94)h_ang_offset_y + // if(line(1:14).eq.'h_det_offset_x')read(line,1201,err=94)h_det_offset_x + // if(line(1:14).eq.'h_det_offset_y')read(line,1201,err=94)h_det_offset_y + // if(line(1:14).eq.'h_z_true_focus')read(line,1201,err=94)h_z_true_focus + good = getline(ifile,line).good(); + } + // Read in reconstruction coefficients and exponents + line=" "; + good = getline(ifile,line).good(); + // cout << line << endl; + fNReconTerms = 0; + fReconTerms.clear(); + fReconTerms.reserve(500); + //cout << "Reading matrix elements" << endl; + while(good && line.compare(0,4," ---")!=0) { + fReconTerms.push_back(reconTerm()); + sscanf(line.c_str()," %le %le %le %le %1d%1d%1d%1d%1d" + ,&fReconTerms[fNReconTerms].Coeff[0],&fReconTerms[fNReconTerms].Coeff[1] + ,&fReconTerms[fNReconTerms].Coeff[2],&fReconTerms[fNReconTerms].Coeff[3] + ,&fReconTerms[fNReconTerms].Exp[0] + ,&fReconTerms[fNReconTerms].Exp[1] + ,&fReconTerms[fNReconTerms].Exp[2] + ,&fReconTerms[fNReconTerms].Exp[3] + ,&fReconTerms[fNReconTerms].Exp[4]); + fNReconTerms++; + good = getline(ifile,line).good(); + } + cout << "Read " << fNReconTerms << " matrix element terms" << endl; + if(!good) { + Error(here, "Error processing reconstruction coefficient file %s",reconCoeffFilename.c_str()); + return kInitError; // Is this the right return code? + } + return kOK; +} + +//_____________________________________________________________________________ +void THcHallCSpectrometer::EnforcePruneLimits() +{ + // Enforce minimum values for the prune cuts + + fPruneXp = TMath::Max( 0.08, fPruneXp); + fPruneYp = TMath::Max( 0.04, fPruneYp); + fPruneYtar = TMath::Max( 4.0, fPruneYtar); + fPruneDelta = TMath::Max( 13.0, fPruneDelta); + fPruneBeta = TMath::Max( 0.1, fPruneBeta); + fPruneDf = TMath::Max( 1.0, fPruneDf); + fPruneChiBeta = TMath::Max( 2.0, fPruneChiBeta); + fPruneFpTime = TMath::Max( 5.0, fPruneFpTime); + fPruneNPMT = TMath::Max( 6.0, fPruneNPMT); +} + +//_____________________________________________________________________________ +Int_t THcHallCSpectrometer::FindVertices( TClonesArray& tracks ) +{ + // Reconstruct target coordinates for all tracks found in the focal plane. + + // In Hall A, this is passed off to the tracking detectors. + // In Hall C, we do the target traceback here since the traceback should + // not depend on which tracking detectors are used. + + fNtracks = tracks.GetLast()+1; + + for (Int_t it=0;it<tracks.GetLast()+1;it++) { + THaTrack* track = static_cast<THaTrack*>( tracks[it] ); + + Double_t hut[5]; + Double_t hut_rot[5]; + + hut[0] = track->GetX()/100.0 + fZTrueFocus*track->GetTheta() + fDetOffset_x;//m + hut[1] = track->GetTheta() + fAngOffset_x;//radians + hut[2] = track->GetY()/100.0 + fZTrueFocus*track->GetPhi() + fDetOffset_y;//m + hut[3] = track->GetPhi() + fAngOffset_y;//radians + + Double_t gbeam_y = 0.0;// This will be the y position from the fast raster + + hut[4] = -gbeam_y/100.0; + + // Retrieve the focal plane coordnates + // Do the transpormation + // Stuff results into track + hut_rot[0] = hut[0]; + hut_rot[1] = hut[1] + hut[0]*fAngSlope_x; + hut_rot[2] = hut[2]; + hut_rot[3] = hut[3] + hut[2]*fAngSlope_y; + hut_rot[4] = hut[4]; + + // Compute COSY sums + Double_t sum[4]; + for(Int_t k=0;k<4;k++) { + sum[k] = 0.0; + } + for(Int_t iterm=0;iterm<fNReconTerms;iterm++) { + Double_t term=1.0; + for(Int_t j=0;j<5;j++) { + if(fReconTerms[iterm].Exp[j]!=0) { + term *= pow(hut_rot[j],fReconTerms[iterm].Exp[j]); + } + } + for(Int_t k=0;k<4;k++) { + sum[k] += term*fReconTerms[iterm].Coeff[k]; + } + } + // Transfer results to track + // No beam raster yet + //; In transport coordinates phi = hyptar = dy/dz and theta = hxptar = dx/dz + //; but for unknown reasons the yp offset is named htheta_offset + //; and the xp offset is named hphi_offset + + track->SetTarget(0.0, sum[1]*100.0, sum[0]+fPhiOffset, sum[2]+fThetaOffset); + track->SetDp(sum[3]*100.0+fDeltaOffset); // Percent. (Don't think podd cares if it is % or fraction) + // There is an hpcentral_offset that needs to be applied somewhere. + // (happly_offs) + track->SetMomentum(fPcentral*(1+track->GetDp()/100.0)); + } + + // ------------------ Moving it to TrackCalc -------------------- + + /* // If enabled, sort the tracks by chi2/ndof if( GetTrSorting() ) fTracks->Sort(); @@ -138,102 +431,456 @@ Int_t THcHallCSpectrometer::FindVertices( TClonesArray& tracks ) } else fGoldenTrack = NULL; + */ + // ------------------ Moving it to TrackCalc -------------------- + return 0; } //_____________________________________________________________________________ Int_t THcHallCSpectrometer::TrackCalc() { - // Additioal track calculations. At present, we only calculate beta here. + + if ( ( fSelUsingScin == 0 ) && ( fSelUsingPrune == 0 ) ) { + BestTrackSimple(); + } else if (fSelUsingPrune !=0) { + BestTrackUsingPrune(); + } else { + BestTrackUsingScin(); + } return TrackTimes( fTracks ); } //_____________________________________________________________________________ -Int_t THcHallCSpectrometer::TrackTimes( TClonesArray* Tracks ) { - // Do the actual track-timing (beta) calculation. - // Use multiple scintillators to average together and get "best" time at S1. - // - // To be useful, a meaningful timing resolution should be assigned - // to each Scintillator object (part of the database). +Int_t THcHallCSpectrometer::BestTrackSimple() +{ - if ( !Tracks ) return -1; + if( GetTrSorting() ) + fTracks->Sort(); - THaTrack *track=0; - Int_t ntrack = GetNTracks(); + // Find the "Golden Track". + // if( GetNTracks() > 0 ) { + if( fNtracks > 0 ) { + // Select first track in the array. If there is more than one track + // and track sorting is enabled, then this is the best fit track + // (smallest chi2/ndof). Otherwise, it is the track with the best + // geometrical match (smallest residuals) between the U/V clusters + // in the upper and lower VDCs (old behavior). + // + // Chi2/dof is a well-defined quantity, and the track selected in this + // way is immediately physically meaningful. The geometrical match + // criterion is mathematically less well defined and not usually used + // in track reconstruction. Hence, chi2 sortiing is preferable, albeit + // obviously slower. + + fGoldenTrack = static_cast<THaTrack*>( fTracks->At(0) ); + fTrkIfo = *fGoldenTrack; + fTrk = fGoldenTrack; + } else + fGoldenTrack = NULL; - // linear regression to: t = t0 + pathl/(beta*c) - // where t0 is the time of the track at the reference plane (sc_ref). - // t0 and beta are solved for. - // -#if 0 - for ( Int_t i=0; i < ntrack; i++ ) { - track = static_cast<THaTrack*>(Tracks->At(i)); - THaTrackProj* tr_ref = static_cast<THaTrackProj*> - (sc_ref->GetTrackHits()->At(i)); - - Double_t pathlref = tr_ref->GetPathLen(); - - Double_t wgt_sum=0.,wx2=0.,wx=0.,wxy=0.,wy=0.; - Int_t ncnt=0; + return(0); +} + +//_____________________________________________________________________________ +Int_t THcHallCSpectrometer::BestTrackUsingScin() +{ + Double_t chi2Min; + + if( fNtracks > 0 ) { + fGoodTrack = -1; + chi2Min = 10000000000.0; + Int_t y2Dmin = 100; + Int_t x2Dmin = 100; + + Bool_t* x2Hits = new Bool_t [fHodo->GetNPaddles(2)]; + Bool_t* y2Hits = new Bool_t [fHodo->GetNPaddles(3)]; + for (UInt_t j = 0; j < fHodo->GetNPaddles(2); j++ ){ + x2Hits[j] = kFALSE; + } + for (UInt_t j = 0; j < fHodo->GetNPaddles(3); j++ ){ + y2Hits[j] = kFALSE; + } + + for (Int_t rawindex=0; rawindex<fHodo->GetTotHits(); rawindex++) { + Int_t ip = fHodo->GetGoodRawPlane(rawindex); + if(ip==2) { // X2 + Int_t goodRawPad = fHodo->GetGoodRawPad(rawindex); + x2Hits[goodRawPad] = kTRUE; + } else if (ip==3) { // Y2 + Int_t goodRawPad = fHodo->GetGoodRawPad(rawindex); + y2Hits[goodRawPad] = kTRUE; + } + } + + for (Int_t itrack = 0; itrack < fNtracks; itrack++ ){ + Double_t chi2PerDeg; + + THaTrack* aTrack = static_cast<THaTrack*>( fTracks->At(itrack) ); + if (!aTrack) return -1; + + if ( aTrack->GetNDoF() > fSelNDegreesMin ){ + chi2PerDeg = aTrack->GetChi2() / aTrack->GetNDoF(); + + if( ( aTrack->GetDedx() > fSeldEdX1Min ) && + ( aTrack->GetDedx() < fSeldEdX1Max ) && + ( aTrack->GetBeta() > fSelBetaMin ) && + ( aTrack->GetBeta() < fSelBetaMax ) && + ( aTrack->GetEnergy() > fSelEtMin ) && + ( aTrack->GetEnergy() < fSelEtMax ) ) + { + Int_t x2D, y2D; + + if ( fNtracks > 1 ){ + Double_t hitpos3 = aTrack->GetX() + aTrack->GetTheta() * ( fScin2XZpos + 0.5 * fScin2XdZpos ); + Int_t icounter3 = TMath::Nint( ( hitpos3 - fHodo->GetPlaneCenter(2) ) / fHodo->GetPlaneSpacing(2) ) + 1; + Int_t hitCnt3 = TMath::Max( TMath::Min(icounter3, (Int_t) fHodo->GetNPaddles(2) ) , 1); // scin_2x_nr = 16 + // fHitDist3 = fHitPos3 - ( fHodo->GetPlaneSpacing(2) * ( hitCnt3 - 1 ) + fHodo->GetPlaneCenter(2) ); + Double_t hitpos4 = aTrack->GetY() + aTrack->GetPhi() * ( fScin2YZpos + 0.5 * fScin2YdZpos ); + Int_t icounter4 = TMath::Nint( ( fHodo->GetPlaneCenter(3) - hitpos4 ) / fHodo->GetPlaneSpacing(3) ) + 1; + Int_t hitCnt4 = TMath::Max( TMath::Min(icounter4, (Int_t) fHodo->GetNPaddles(3) ) , 1); // scin_2y_nr = 10 + // fHitDist4 = fHitPos4 - ( fHodo->GetPlaneCenter(3) - fHodo->GetPlaneSpacing(3) * ( hitCnt4 - 1 ) ); + // Plane 3 + Int_t mindiff=1000; + for (UInt_t i = 0; i < fHodo->GetNPaddles(2); i++ ){ + if ( x2Hits[i] ) { + Int_t diff = TMath::Abs((Int_t)hitCnt3-(Int_t)i-1); + if (diff < mindiff) mindiff = diff; + } + } + if(mindiff < 1000) { + x2D = mindiff; + } else { + x2D = 0; // Is this what we really want if there were no hits on this plane? + } + + // Plane 4 + mindiff = 1000; + for (UInt_t i = 0; i < fHodo->GetNPaddles(3); i++ ){ + if ( y2Hits[i] ) { + Int_t diff = TMath::Abs((Int_t)hitCnt4-(Int_t)i-1); + if (diff < mindiff) mindiff = diff; + } + } + if(mindiff < 1000) { + y2D = mindiff; + } else { + y2D = 0; // Is this what we really want if there were no hits on this plane? + } + } else { // Only a single track + x2D = 0.; + y2D = 0.; + } + + if ( y2D <= y2Dmin ) { + if ( y2D < y2Dmin ) { + x2Dmin = 100; + chi2Min = 10000000000.; + } // y2D min + + if ( x2D <= x2Dmin ){ + if ( x2D < x2Dmin ){ + chi2Min = 10000000000.0; + } // condition x2D + if ( chi2PerDeg < chi2Min ){ + + fGoodTrack = itrack; // fGoodTrack = itrack + y2Dmin = y2D; + x2Dmin = x2D; + chi2Min = chi2PerDeg; + + fGoldenTrack = static_cast<THaTrack*>( fTracks->At( fGoodTrack ) ); + fTrkIfo = *fGoldenTrack; + fTrk = fGoldenTrack; + } + } // condition x2D + } // condition y2D + } // conditions for dedx, beta and trac energy + } // confition for fNFreeFP greater than fSelNDegreesMin + } // loop over tracks + + // Fall back to using track with minimum chi2 + if ( fGoodTrack == -1 ){ + + chi2Min = 10000000000.0; + for (Int_t iitrack = 0; iitrack < fNtracks; iitrack++ ){ + Double_t chi2PerDeg; + THaTrack* aTrack = dynamic_cast<THaTrack*>( fTracks->At(iitrack) ); + if (!aTrack) return -1; + + if ( aTrack->GetNDoF() > fSelNDegreesMin ){ + chi2PerDeg = aTrack->GetChi2() / aTrack->GetNDoF(); + + if ( chi2PerDeg < chi2Min ){ + + fGoodTrack = iitrack; + chi2Min = chi2PerDeg; + + fGoldenTrack = aTrack; + fTrkIfo = *fGoldenTrack; + fTrk = fGoldenTrack; + + } + } + } // loop over trakcs + + } + + } else // Condition for fNtrack > 0 + fGoldenTrack = NULL; + + return(0); +} - // linear regression to get beta and time at ref. - TIter nextSc( fNonTrackingDetectors ); - THaNonTrackingDetector *det; - while ( ( det = static_cast<THaNonTrackingDetector*>(nextSc()) ) ) { - THaScintillator *sc = dynamic_cast<THaScintillator*>(det); - if ( !sc ) continue; - - const THaTrackProj *trh = static_cast<THaTrackProj*>(sc->GetTrackHits()->At(i)); +//_____________________________________________________________________________ +Int_t THcHallCSpectrometer::BestTrackUsingPrune() +{ + Int_t nGood; + Double_t chi2Min; + + if ( fNtracks > 0 ) { + chi2Min = 10000000000.0; + fGoodTrack = 0; + Bool_t* keep = new Bool_t [fNtracks]; + Int_t* reject = new Int_t [fNtracks]; + + THaTrack *testTracks[fNtracks]; + + // ! Initialize all tracks to be good + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + keep[ptrack] = kTRUE; + reject[ptrack] = 0; + testTracks[ptrack] = static_cast<THaTrack*>( fTracks->At(ptrack) ); + if (!testTracks[ptrack]) return -1; + } - Int_t pad = trh->GetChannel(); - if (pad<0) continue; - Double_t pathl = (trh->GetPathLen()-pathlref); - Double_t time = (sc->GetTimes())[pad]; - Double_t wgt = (sc->GetTuncer())[pad]; + // ! Prune on xptar + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( TMath::Abs( testTracks[ptrack]->GetTTheta() ) < fPruneXp ) && ( keep[ptrack] ) ){ + nGood ++; + } + } + if ( nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( TMath::Abs( testTracks[ptrack]->GetTTheta() ) >= fPruneXp ){ + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 1; + } + } + } - if (pathl>.5*kBig || time>.5*kBig) continue; - if (wgt>0) wgt = 1./(wgt*wgt); - else continue; + // ! Prune on yptar + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( TMath::Abs( testTracks[ptrack]->GetTPhi() ) < fPruneYp ) && ( keep[ptrack] ) ){ + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( TMath::Abs( testTracks[ptrack]->GetTPhi() ) >= fPruneYp ){ + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 2; + + } + } + } - wgt_sum += wgt; - wx2 += wgt*pathl*pathl; - wx += wgt*pathl; - wxy += wgt*pathl*time; - wy += wgt*time; - ncnt++; - } - - Double_t beta = kBig; - Double_t dbeta = kBig; - Double_t time = kBig; - Double_t dt = kBig; - - Double_t delta = wgt_sum*wx2-wx*wx; - - if (delta != 0.) { - time = (wx2*wy-wx*wxy)/delta; - dt = TMath::Sqrt(wx2/delta); - Double_t invbeta = (wgt_sum*wxy-wx*wy)/delta; - if (invbeta != 0.) { -#if ROOT_VERSION_CODE >= ROOT_VERSION(3,4,0) - Double_t c = TMath::C(); -#else - Double_t c = 2.99792458e8; -#endif - beta = 1./(c*invbeta); - dbeta = TMath::Sqrt(wgt_sum/delta)/(c*invbeta*invbeta); + // ! Prune on ytar + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( TMath::Abs( testTracks[ptrack]->GetTY() ) < fPruneYtar ) && ( keep[ptrack] ) ){ + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( TMath::Abs( testTracks[ptrack]->GetTY() ) >= fPruneYtar ){ + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 10; + } } - } + } + + // ! Prune on delta + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( TMath::Abs( testTracks[ptrack]->GetDp() ) < fPruneDelta ) && ( keep[ptrack] ) ){ + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( TMath::Abs( testTracks[ptrack]->GetDp() ) >= fPruneDelta ){ + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 20; + } + } + } + + // ! Prune on beta + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + Double_t p = testTracks[ptrack]->GetP(); + Double_t betaP = p / TMath::Sqrt( p * p + fPartMass * fPartMass ); + if ( ( TMath::Abs( testTracks[ptrack]->GetBeta() - betaP ) < fPruneBeta ) && ( keep[ptrack] ) ){ + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + Double_t p = testTracks[ptrack]->GetP(); + Double_t betaP = p / TMath::Sqrt( p * p + fPartMass * fPartMass ); + if ( TMath::Abs( testTracks[ptrack]->GetBeta() - betaP ) >= fPruneBeta ) { + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 100; + } + } + } + + // ! Prune on deg. freedom for track chisq + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( testTracks[ptrack]->GetNDoF() >= fPruneDf ) && ( keep[ptrack] ) ){ + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( testTracks[ptrack]->GetNDoF() < fPruneDf ){ + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 200; + } + } + } - track->SetBeta(beta); - track->SetdBeta(dbeta); - track->SetTime(time); - track->SetdTime(dt); - } -#endif + //! Prune on num pmt hits + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( testTracks[ptrack]->GetNPMT() >= fPruneNPMT ) && ( keep[ptrack] ) ){ + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( testTracks[ptrack]->GetNPMT() < fPruneNPMT ){ + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 100000; + } + } + } + + // ! Prune on beta chisqr + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( testTracks[ptrack]->GetBetaChi2() < fPruneChiBeta ) && + ( testTracks[ptrack]->GetBetaChi2() > 0.01 ) && ( keep[ptrack] ) ){ + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( testTracks[ptrack]->GetBetaChi2() >= fPruneChiBeta ) || + ( testTracks[ptrack]->GetBetaChi2() <= 0.01 ) ){ + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 1000; + } + } + } + + // ! Prune on fptime + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( TMath::Abs( testTracks[ptrack]->GetFPTime() - fHodo->GetStartTimeCenter() ) < fPruneFpTime ) && + ( keep[ptrack] ) ){ + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( TMath::Abs( testTracks[ptrack]->GetFPTime() - fHodo->GetStartTimeCenter() ) >= fPruneFpTime ) { + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 2000; + } + } + } + + // ! Prune on Y2 being hit + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( testTracks[ptrack]->GetGoodPlane4() == 1 ) && keep[ptrack] ) { + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( testTracks[ptrack]->GetGoodPlane4() != 1 ) { + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 10000; + } + } + } + + // ! Prune on X2 being hit + nGood = 0; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( ( testTracks[ptrack]->GetGoodPlane3() == 1 ) && keep[ptrack] ) { + nGood ++; + } + } + if (nGood > 0 ) { + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + if ( testTracks[ptrack]->GetGoodPlane3() != 1 ) { + keep[ptrack] = kFALSE; + reject[ptrack] = reject[ptrack] + 20000; + } + } + } + + // ! Pick track with best chisq if more than one track passed prune tests + Double_t chi2PerDeg = 0.; + for (Int_t ptrack = 0; ptrack < fNtracks; ptrack++ ){ + + chi2PerDeg = testTracks[ptrack]->GetChi2() / testTracks[ptrack]->GetNDoF(); + + if ( ( chi2PerDeg < chi2Min ) && ( keep[ptrack] ) ){ + fGoodTrack = ptrack; + chi2Min = chi2PerDeg; + } + } + + fGoldenTrack = static_cast<THaTrack*>( fTracks->At(fGoodTrack) ); + fTrkIfo = *fGoldenTrack; + fTrk = fGoldenTrack; + + } else // Condition for fNtrack > 0 + fGoldenTrack = NULL; + + return(0); +} + +//_____________________________________________________________________________ +Int_t THcHallCSpectrometer::TrackTimes( TClonesArray* Tracks ) { + // Do the actual track-timing (beta) calculation. + // Use multiple scintillators to average together and get "best" time at S1. + // + // To be useful, a meaningful timing resolution should be assigned + // to each Scintillator object (part of the database). + + return 0; } +//_____________________________________________________________________________ +Int_t THcHallCSpectrometer::ReadRunDatabase( const TDatime& date ) +{ + // Override THaSpectrometer with nop method. All needed kinamatics + // read in ReadDatabase. + + return kOK; +} + //_____________________________________________________________________________ ClassImp(THcHallCSpectrometer) diff --git a/src/THcHallCSpectrometer.h b/src/THcHallCSpectrometer.h index f560bbff1dba69b8887ebcee648add6c155bfd2e..cfb1335defedc56c6de3d2d0659e89b5926d86be 100644 --- a/src/THcHallCSpectrometer.h +++ b/src/THcHallCSpectrometer.h @@ -9,6 +9,28 @@ #include "THaSpectrometer.h" +#include <vector> + +#include "TClonesArray.h" +#include "THaNonTrackingDetector.h" +#include "THcHitList.h" +#include "THcRawHodoHit.h" +#include "THcScintillatorPlane.h" +#include "THcShower.h" + +//#include "THaTrackingDetector.h" +//#include "THcHitList.h" +#include "THcSpacePoint.h" +#include "THcDriftChamberPlane.h" +#include "THcDriftChamber.h" +#include "TMath.h" + +#include "THaSubDetector.h" +#include "TClonesArray.h" +#include <iostream> +#include <fstream> + + //class THaScintillator; class THcHallCSpectrometer : public THaSpectrometer { @@ -17,20 +39,106 @@ public: THcHallCSpectrometer( const char* name, const char* description ); virtual ~THcHallCSpectrometer(); + virtual Int_t ReadDatabase( const TDatime& date ); + virtual void EnforcePruneLimits(); virtual Int_t FindVertices( TClonesArray& tracks ); virtual Int_t TrackCalc(); + virtual Int_t BestTrackSimple(); + virtual Int_t BestTrackUsingScin(); + virtual Int_t BestTrackUsingPrune(); virtual Int_t TrackTimes( TClonesArray* tracks ); + virtual Int_t ReadRunDatabase( const TDatime& date ); + virtual Int_t DefineVariables( EMode mode = kDefine ); + Bool_t SetTrSorting( Bool_t set = kFALSE ); Bool_t GetTrSorting() const; - + + // Mass of nominal detected particle type + Double_t GetParticleMass() const {return fPartMass; } + Double_t GetBetaAtPcentral() const { return + fPcentral/TMath::Sqrt(fPcentral*fPcentral+fPartMass*fPartMass);} + protected: + void InitializeReconstruction(); + + // Bool_t* fKeep; + // Int_t* fReject; + + Double_t fPartMass; + Double_t fPruneXp; + Double_t fPruneYp; + Double_t fPruneYtar; + Double_t fPruneDelta; + Double_t fPruneBeta; + Double_t fPruneDf; + Double_t fPruneChiBeta; + Double_t fPruneFpTime; + Double_t fPruneNPMT; + + Int_t fGoodTrack; + Int_t fSelUsingScin; + Int_t fSelUsingPrune; + Int_t fNPlanes; + Int_t fNtracks; + + Double_t fSelNDegreesMin; + Double_t fSeldEdX1Min; + Double_t fSeldEdX1Max; + Double_t fSelBetaMin; + Double_t fSelBetaMax; + Double_t fSelEtMin; + Double_t fSelEtMax; + Double_t fScin2XZpos; + Double_t fScin2XdZpos; + Double_t fScin2YZpos; + Double_t fScin2YdZpos; + + Double_t fHodoCenter4, fHodoCenter3; + Double_t fScin2YSpacing, fScin2XSpacing; + + // Int_t** fHodScinHit; // [4] Array + + THcShower* fShower; + THcHodoscope* fHodo; + + Int_t fNReconTerms; + struct reconTerm { + Double_t Coeff[4]; + Int_t Exp[5]; + reconTerm() { + for(Int_t i=0;i<4;i++) { + Coeff[i] = 0.0; + } + for(Int_t i=0;i<5;i++) { + Exp[i] = 0; + } + } + }; + std::vector<reconTerm> fReconTerms; + // Double_t fReconCoeff[fMaxReconElements][4]; + // Int_t fReconExponents[fMaxReconElements][5]; + Double_t fAngSlope_x; + Double_t fAngSlope_y; + Double_t fAngOffset_x; + Double_t fAngOffset_y; + Double_t fDetOffset_x; + Double_t fDetOffset_y; + Double_t fZTrueFocus; + Double_t fThetaOffset; // Zero order term in yptar optics matrix (rad) + Double_t fPhiOffset; // Zero order term in xptar optics matrix (rad) + Double_t fDeltaOffset; // Zero order term in delta optics matrix (%) + Double_t fThetaCentralOffset; // Offset of Central spectrometer angle (rad) + Double_t fOopCentralOffset; //Offset of central out-of-plane angle (rad) + Double_t fPCentralOffset; // Offset Central spectrometer momentum (%) + Double_t fTheta_lab; // Central spectrometer angle (deg) + // For spectrometer central momentum use fPcentral in THaSpectrometer.h // THaScintillator *sc_ref; // calculate time track hits this plane // Flag for fProperties indicating that tracks are to be sorted by chi2 static const UInt_t kSortTracks = BIT(16); - ClassDef(THcHallCSpectrometer,0) //A Hall A High Resolution Spectrometer + ClassDef(THcHallCSpectrometer,0) //A Hall C Spectrometer }; #endif diff --git a/src/THcHitList.cxx b/src/THcHitList.cxx index 81464d6ec6aff6984bc571bb88a2ef3ef62674f4..cc18bcff15f96fa8d5275380870e57027e467399 100644 --- a/src/THcHitList.cxx +++ b/src/THcHitList.cxx @@ -4,9 +4,9 @@ // // THcHitList // -// Add hitlist to the Hall A detector base -// May not need to inherit from THaDetectorBase since we may end up -// replacing most of the methods +// Class to build a Hall C ENGINE style list of raw hits from the raw data. +// Detectors that use hit lists need to inherit from this class +// as well as THaTrackingDetector or THaNonTrackingDetector // ////////////////////////////////////////////////////////////////////////// @@ -30,31 +30,31 @@ THcHitList::~THcHitList() { void THcHitList::InitHitList(THaDetMap* detmap, const char *hitclass, Int_t maxhits) { - // Probably called by ReadDatabase + // Save the electronics to detector mapping + // Initialize a hit array of hits of class hitclass fRawHitList = new TClonesArray(hitclass, maxhits); fRawHitClass = fRawHitList->GetClass(); fNMaxRawHits = maxhits; fNRawHits = 0; for(Int_t i=0;i<maxhits;i++) { -#if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0) fRawHitList->ConstructedAt(i); -#else - // The essence of the ConstructedAt code explictly - TObject* obj = (*fRawHitList)[i]; - R__ASSERT( obj ); // should never happen ... - if( !obj->TestBit(TObject::kNotDeleted) ) - fRawHitClass->New(obj); -#endif } fdMap = detmap; } Int_t THcHitList::DecodeToHitList( const THaEvData& evdata ) { - THcRawHit* rawhit; + // Clear the hit list + // Find all populated channels belonging to the detector and add + // the data to the hitlist. A given counter in the detector can have + // at most one entry in the hit list. However, the raw "hit" can contain + // multiple signal types (e.g. ADC+, ADC-, TDC+, TDC-), or multiple + // hits for multihit tdcs. + // The hit list is sorted (by plane, counter) after filling. + // cout << " Clearing TClonesArray " << endl; - fRawHitList->Clear("C"); + fRawHitList->Clear( ); fNRawHits = 0; for ( Int_t i=0; i < fdMap->GetSize(); i++ ) { @@ -63,6 +63,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata ) { // Loop over all channels that have a hit. // cout << "Crate/Slot: " << d->crate << "/" << d->slot << endl; for ( Int_t j=0; j < evdata.GetNumChan( d->crate, d->slot); j++) { + THcRawHit* rawhit=0; Int_t chan = evdata.GetNextChan( d->crate, d->slot, j ); if( chan < d->lo || chan > d->hi ) continue; // Not one of my channels @@ -76,7 +77,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata ) { // << counter << " " << signal << endl; // Search hit list for plane and counter // We could do sorting - Int_t thishit = 0; + UInt_t thishit = 0; while(thishit < fNRawHits) { rawhit = (THcRawHit*) (*fRawHitList)[thishit]; if (plane == rawhit->fPlane @@ -89,6 +90,7 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata ) { if(thishit == fNRawHits) { rawhit = (THcRawHit*) (*fRawHitList)[thishit]; + rawhit->Clear(); // Blank out hit contents fNRawHits++; rawhit->fPlane = plane; rawhit->fCounter = counter; diff --git a/src/THcHitList.h b/src/THcHitList.h index be90264a614912a2c85122ea76367863040ce356..27c299745591c5ade46900c7ccf638f6057eb5fd 100644 --- a/src/THcHitList.h +++ b/src/THcHitList.h @@ -20,7 +20,7 @@ using namespace std; class THcHitList { - public: +public: virtual ~THcHitList(); @@ -30,19 +30,17 @@ class THcHitList { void InitHitList(THaDetMap* detmap, const char *hitclass, Int_t maxhits); - // This is a list of pointers to hit objects - // Instead should we have a list of the actual objects so that we are - // no delting and creating objects all the time. - // - Int_t fNRawHits; + TClonesArray* GetHitList() const {return fRawHitList; } + + UInt_t fNRawHits; Int_t fNMaxRawHits; TClonesArray* fRawHitList; // List of raw hits TClass* fRawHitClass; // Class of raw hit object to use THaDetMap* fdMap; - protected: +protected: - ClassDef(THcHitList,0) + ClassDef(THcHitList,0); // List of raw hits sorted by plane, counter }; #endif diff --git a/src/THcHodoscope.cxx b/src/THcHodoscope.cxx index 7606f76074a360de5a0c12d71d8aff3066f17459..849eab2d107bc61062a31024b07b6efa17588226 100644 --- a/src/THcHodoscope.cxx +++ b/src/THcHodoscope.cxx @@ -7,12 +7,30 @@ // This differs from Hall A scintillator class in that it is the whole // // hodoscope array, not just one plane. // // // +// Date July 8 2014: // +// Zafr Ahmed // +// Beta and chis square are calculated for each of the hodoscope track. // +// Two new variables are added. fBeta and fBetaChisq // +// // /////////////////////////////////////////////////////////////////////////////// +#include "THcSignalHit.h" +#include "THcShower.h" +#include "THcCherenkov.h" +#include "THcHallCSpectrometer.h" + +#include "THcHitList.h" +#include "THcRawShowerHit.h" +#include "TClass.h" +#include "math.h" +#include "THaSubDetector.h" + #include "THcHodoscope.h" #include "THaEvData.h" #include "THaDetMap.h" #include "THcDetectorMap.h" +#include "THaGlobals.h" +#include "THaCutList.h" #include "THcGlobals.h" #include "THcParmList.h" #include "VarDef.h" @@ -22,13 +40,16 @@ #include "TMath.h" #include "THaTrackProj.h" +#include <vector> #include <cstring> #include <cstdio> #include <cstdlib> #include <iostream> +#include <fstream> using namespace std; +using std::vector; //_____________________________________________________________________________ THcHodoscope::THcHodoscope( const char* name, const char* description, @@ -37,7 +58,11 @@ THcHodoscope::THcHodoscope( const char* name, const char* description, { // Constructor - fTrackProj = new TClonesArray( "THaTrackProj", 5 ); + //fTrackProj = new TClonesArray( "THaTrackProj", 5 ); + // Construct the planes + fNPlanes = 0; // No planes until we make them + fStartTime=-1e5; + fGoodStartTime=kFALSE; } //_____________________________________________________________________________ @@ -48,25 +73,130 @@ THcHodoscope::THcHodoscope( ) : } //_____________________________________________________________________________ -THaAnalysisObject::EStatus THcHodoscope::Init( const TDatime& date ) +void THcHodoscope::Setup(const char* name, const char* description) { - static const char* const here = "Init()"; - if( THaNonTrackingDetector::Init( date ) ) - return fStatus; + // static const char* const here = "Setup()"; + // static const char* const message = + // "Must construct %s detector with valid name! Object construction failed."; - // Construct the planes - fPlane = new THcScintillatorPlane* [fNPlanes]; - for(Int_t ip=0; ip<fNPlanes; ip++) { - // Create a name and description - // Is it going to be a problem that I create these object in init? - // I could actually do it in the constructor, since the parameters - // will already have been read. Then I don't have to manually call - // ReadDatabase for each plane - GetTitle() - fPlane[ip] = THcScintillatorPlane( name, description); + cout << "In THcHodoscope::Setup()" << endl; + // Base class constructor failed? + if( IsZombie()) return; + + fDebug = 1; // Keep this at one while we're working on the code + + char prefix[2]; + + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + + string planenamelist; + DBRequest listextra[]={ + {"hodo_num_planes", &fNPlanes, kInt}, + {"hodo_plane_names",&planenamelist, kString}, + {0} + }; + //fNPlanes = 4; // Default if not defined + gHcParms->LoadParmValues((DBRequest*)&listextra,prefix); + + cout << "Plane Name List : " << planenamelist << endl; + + vector<string> plane_names = vsplit(planenamelist); + // Plane names + if(plane_names.size() != (UInt_t) fNPlanes) { + cout << "ERROR: Number of planes " << fNPlanes << " doesn't agree with number of plane names " << plane_names.size() << endl; + // Should quit. Is there an official way to quit? + } + fPlaneNames = new char* [fNPlanes]; + for(Int_t i=0;i<fNPlanes;i++) { + fPlaneNames[i] = new char[plane_names[i].length()+1]; + strcpy(fPlaneNames[i], plane_names[i].c_str()); + } + + // Probably shouldn't assume that description is defined + char* desc = new char[strlen(description)+100]; + fPlanes = new THcScintillatorPlane* [fNPlanes]; + for(Int_t i=0;i < fNPlanes;i++) { + strcpy(desc, description); + strcat(desc, " Plane "); + strcat(desc, fPlaneNames[i]); + fPlanes[i] = new THcScintillatorPlane(fPlaneNames[i], desc, i+1, this); // Number planes starting from zero!! + cout << "Created Scintillator Plane " << fPlaneNames[i] << ", " << desc << endl; } + // --------------- To get energy from THcShower ---------------------- + const char* shower_detector_name = "cal"; + // THaApparatus* app; + THcHallCSpectrometer *app = dynamic_cast<THcHallCSpectrometer*>(GetApparatus()); + THaDetector* det = app->GetDetector( shower_detector_name ); + + if( dynamic_cast<THcShower*>(det) ) { + fShower = dynamic_cast<THcShower*>(det); + } + else if( !dynamic_cast<THcShower*>(det) ) { + cout << "Warining: calorimeter analysis module " + << shower_detector_name << " not loaded for spectrometer " + << prefix << endl; + + fShower = NULL; + } + + // --------------- To get energy from THcShower ---------------------- + + // --------------- To get NPEs from THcCherenkov ------------------- + const char* chern_detector_name = "cher"; + THaDetector* detc = app->GetDetector( chern_detector_name ); + + if( dynamic_cast<THcCherenkov*>(detc) ) { + fChern = dynamic_cast<THcCherenkov*>(detc); + } + else if( !dynamic_cast<THcCherenkov*>(detc) ) { + cout << "Warining: Cherenkov detector analysis module " + << chern_detector_name << " not loaded for spectrometer " + << prefix << endl; + + fChern = NULL; + } + + // --------------- To get NPEs from THcCherenkov ------------------- + + fScinShould = 0; + fScinDid = 0; + gHcParms->Define(Form("%shodo_did",prefix),"Total hodo tracks",fScinDid); + gHcParms->Define(Form("%shodo_should",prefix),"Total hodo triggers",fScinShould); + + // Save the nominal particle mass + fPartMass = app->GetParticleMass(); + fBetaNominal = app->GetBetaAtPcentral(); + + delete [] desc; +} + +//_____________________________________________________________________________ +THaAnalysisObject::EStatus THcHodoscope::Init( const TDatime& date ) +{ + cout << "In THcHodoscope::Init()" << endl; + Setup(GetName(), GetTitle()); + + // Should probably put this in ReadDatabase as we will know the + // maximum number of hits after setting up the detector map + // But it needs to happen before the sub detectors are initialized + // so that they can get the pointer to the hitlist. + + + InitHitList(fDetMap, "THcRawHodoHit", 100); + + EStatus status; + // This triggers call of ReadDatabase and DefineVariables + if( (status = THaNonTrackingDetector::Init( date )) ) + return fStatus=status; + + for(Int_t ip=0;ip<fNPlanes;ip++) { + if((status = fPlanes[ip]->Init( date ))) { + return fStatus=status; + } + } // Replace with what we need for Hall C // const DataDest tmp[NDEST] = { @@ -75,122 +205,333 @@ THaAnalysisObject::EStatus THcHodoscope::Init( const TDatime& date ) // }; // memcpy( fDataDest, tmp, NDEST*sizeof(DataDest) ); - // Should probably put this in ReadDatabase as we will know the - // maximum number of hits after setting up the detector map - - THcHitList::InitHitList(fDetMap, "THcHodoscopeHit", 100); - - // Will need to determine which apparatus it belongs to and use the - // appropriate detector ID in the FillMap call - if( gHcDetectorMap->FillMap(fDetMap, "HSCIN") < 0 ) { + char EngineDID[]="xSCIN"; + EngineDID[0] = toupper(GetApparatus()->GetName()[0]); + if( gHcDetectorMap->FillMap(fDetMap, EngineDID) < 0 ) { + static const char* const here = "Init()"; Error( Here(here), "Error filling detectormap for %s.", - "HSCIN"); + EngineDID); return kInitError; } + fNScinHits = new Int_t [fNPlanes]; + fGoodPlaneTime = new Bool_t [fNPlanes]; + fNPlaneTime = new Int_t [fNPlanes]; + fSumPlaneTime = new Double_t [fNPlanes]; + + // Double_t fHitCnt4 = 0., fHitCnt3 = 0.; + + // Int_t m = 0; + // fScinHit = new Double_t*[fNPlanes]; + // for ( m = 0; m < fNPlanes; m++ ){ + // fScinHit[m] = new Double_t[fNPaddle[0]]; + // } + + return fStatus = kOK; } +//_____________________________________________________________________________ +Double_t THcHodoscope::DefineDoubleVariable(const char* fName) +{ + // Define a variale of type double by looking it up in the THcParmList + char prefix[2]; + char parname[100]; + Double_t tmpvar=-1e6; + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + strcpy(parname,prefix); + strcat(parname,fName); + if (gHcParms->Find(parname)) { + tmpvar=*(Double_t *)gHcParms->Find(parname)->GetValuePointer(); + if (fDebug>=1) cout << parname << " "<< tmpvar << endl; + } else { + cout << "*** ERROR!!! Could not find " << parname << " in the list of variables! ***" << endl; + } + return tmpvar; +} + +//_____________________________________________________________________________ +Int_t THcHodoscope::DefineIntVariable(const char* fName) +{ + // Define a variale of type int by looking it up in the THcParmList + char prefix[2]; + char parname[100]; + Int_t tmpvar=-100000; + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + strcpy(parname,prefix); + strcat(parname,fName); + if (gHcParms->Find(parname)) { + tmpvar=*(Int_t *)gHcParms->Find(parname)->GetValuePointer(); + if (fDebug>=1) cout << parname << " "<< tmpvar << endl; + } else { + cout << "*** ERROR!!! Could not find " << parname << " in the list of variables! ***" << endl; + } + return tmpvar; +} + +//_____________________________________________________________________________ +void THcHodoscope::DefineArray(const char* fName, const Int_t index, Double_t *myArray) +{ + char prefix[2]; + char parname[100]; + // Int_t tmpvar=-100000; + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + strcpy(parname,prefix); + strcat(parname,fName); + if (gHcParms->Find(parname)) { + if (fDebug >=1) cout <<parname; + Double_t* p = (Double_t *)gHcParms->Find(parname)->GetValuePointer(); + for(Int_t i=0;i<index;i++) { + myArray[i] = p[i]; + if (fDebug>=1) cout << " " << myArray[i]; + } + if (fDebug>=1) cout << endl; + + } + else { + cout <<" Could not find "<<parname<<" in the DataBase!!!\n"; + } +} + +//_____________________________________________________________________________ +void THcHodoscope::DefineArray(const char* fName, char** Suffix, const Int_t index, Double_t *myArray) +{ + // Try to read an array made up of what used to be (in the f77 days) a number of variables + // example: hscin_1x_center, hscin_1y_center, hscin_2x_center, hscin_2y_center will become scin_center + // + char prefix[2]; + char parname[100],parname2[100]; + // + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + strcpy(parname,prefix); + strcat(parname,fName); + for(Int_t i=0;i<index;i++) { + strcpy(parname2,Form(parname,Suffix[i])); + if (gHcParms->Find(parname2)) { + if (fDebug >=1) cout <<parname2; + myArray[i] = *(Double_t *)gHcParms->Find(parname2)->GetValuePointer(); + if (fDebug>=1) cout << " " << myArray[i]; + } + if (fDebug>=1) cout << endl; + else { + cout <<" Could not find "<<parname2<<" in the DataBase!!!\n"; + } + } +} + +//_____________________________________________________________________________ +void THcHodoscope::DefineArray(const char* fName, char** Suffix, const Int_t index, Int_t *myArray) +{ + // Try to read an array made up of what used to be (in the f77 days) a number of variables + // example: hscin_1x_center, hscin_1y_center, hscin_2x_center, hscin_2y_center will become scin_center + // + char prefix[2]; + char parname[100],parname2[100]; + // + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + strcpy(parname,prefix); + strcat(parname,fName); + for(Int_t i=0;i<index;i++) { + strcpy(parname2,Form(parname,Suffix[i])); + if (gHcParms->Find(parname2)) { + if (fDebug >=1) cout <<parname2; + myArray[i] = *(Int_t *)gHcParms->Find(parname2)->GetValuePointer(); + if (fDebug>=1) cout << " " << myArray[i]; + } + if (fDebug>=1) cout << endl; + else { + cout <<" Could not find "<<parname2<<" in the DataBase!!!\n"; + } + } +} //_____________________________________________________________________________ Int_t THcHodoscope::ReadDatabase( const TDatime& date ) { + // Read this detector's parameters from the database file 'fi'. // This function is called by THaDetectorBase::Init() once at the // beginning of the analysis. // 'date' contains the date/time of the run being analyzed. // static const char* const here = "ReadDatabase()"; + char prefix[2]; + char parname[100]; // Read data from database // Pull values from the THcParmList instead of reading a database // file like Hall A does. - // DBRequest list[] = { - // { "TDC_offsetsL", fLOff, kDouble, fNelem }, - // { "TDC_offsetsR", fROff, kDouble, fNelem }, - // { "ADC_pedsL", fLPed, kDouble, fNelem }, - // { "ADC_pedsR", fRPed, kDouble, fNelem }, - // { "ADC_coefL", fLGain, kDouble, fNelem }, - // { "ADC_coefR", fRGain, kDouble, fNelem }, - // { "TDC_res", &fTdc2T }, - // { "TransSpd", &fCn }, - // { "AdcMIP", &fAdcMIP }, - // { "NTWalk", &fNTWalkPar, kInt }, - // { "Timewalk", fTWalkPar, kDouble, 2*fNelem }, - // { "ReTimeOff", fTrigOff, kDouble, fNelem }, - // { "AvgRes", &fResolution }, - // { "Atten", &fAttenuation }, - // { 0 } - // }; - - // We will probably want to add some kind of method to gHcParms to allow - // bulk retrieval of parameters of interest. - // Will need to determine which spectrometer in order to construct // the parameter names (e.g. hscin_1x_nr vs. sscin_1x_nr) - fNPlanes = 4; // Hardwire for now - - fNPaddle = new Int_t [4]; + prefix[0]=tolower(GetApparatus()->GetName()[0]); + // + prefix[1]='\0'; + strcpy(parname,prefix); + strcat(parname,"scin_"); + // Int_t plen=strlen(parname); + cout << " readdatabse hodo fnplanes = " << fNPlanes << endl; - fNPaddle[0] = *(Int_t *)gHcParms->Find("hscin_1x_nr")->GetValuePointer(); - fNPaddle[1] = *(Int_t *)gHcParms->Find("hscin_1y_nr")->GetValuePointer(); - fNPaddle[2] = *(Int_t *)gHcParms->Find("hscin_2x_nr")->GetValuePointer(); - fNPaddle[3] = *(Int_t *)gHcParms->Find("hscin_2y_nr")->GetValuePointer(); + fNPaddle = new UInt_t [fNPlanes]; - fSpacing = new Double_t [4]; - fSpacing[0] = gHcParms->Find("hscin_1x_spacing")->GetValue(0); - fSpacing[1] = gHcParms->Find("hscin_1y_spacing")->GetValue(0); - fSpacing[2] = gHcParms->Find("hscin_2x_spacing")->GetValue(0); - fSpacing[3] = gHcParms->Find("hscin_2y_spacing")->GetValue(0); + fFPTime = new Double_t [fNPlanes]; + fPlaneCenter = new Double_t[fNPlanes]; + fPlaneSpacing = new Double_t[fNPlanes]; - fCenter = new Double_t* [4]; - Double_t* p; - Int_t iplane; + prefix[0]=tolower(GetApparatus()->GetName()[0]); + // + prefix[1]='\0'; - iplane = 0; - p = (Double_t *)gHcParms->Find("hscin_1x_center")->GetValuePointer(); - fCenter[iplane] = new Double_t [fNPaddle[iplane]]; - // Print out some parameters just to demonstrate that it works - cout << iplane; - for(Int_t i=0;i<fNPaddle[iplane];i++) { - fCenter[iplane][i] = p[i]; - cout << " " << fCenter[iplane][i]; + for(Int_t i=0;i<fNPlanes;i++) { + + DBRequest list[]={ + {Form("scin_%s_nr",fPlaneNames[i]), &fNPaddle[i], kInt}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list,prefix); } - cout << endl; - iplane = 1; - p = (Double_t *)gHcParms->Find("hscin_1y_center")->GetValuePointer(); - fCenter[iplane] = new Double_t [fNPaddle[iplane]]; - cout << iplane; - for(Int_t i=0;i<fNPaddle[iplane];i++) { - fCenter[iplane][i] = p[i]; - cout << " " << fCenter[iplane][i]; + // GN added + // reading variables from *hodo.param + fMaxScinPerPlane=fNPaddle[0]; + for (Int_t i=1;i<fNPlanes;i++) { + fMaxScinPerPlane=(fMaxScinPerPlane > fNPaddle[i])? fMaxScinPerPlane : fNPaddle[i]; } - cout << endl; +// need this for "padded arrays" i.e. 4x16 lists of parameters (GN) + fMaxHodoScin=fMaxScinPerPlane*fNPlanes; + if (fDebug>=1) cout <<"fMaxScinPerPlane = "<<fMaxScinPerPlane<<" fMaxHodoScin = "<<fMaxHodoScin<<endl; + + fHodoVelLight=new Double_t [fMaxHodoScin]; + fHodoPosSigma=new Double_t [fMaxHodoScin]; + fHodoNegSigma=new Double_t [fMaxHodoScin]; + fHodoPosMinPh=new Double_t [fMaxHodoScin]; + fHodoNegMinPh=new Double_t [fMaxHodoScin]; + fHodoPosPhcCoeff=new Double_t [fMaxHodoScin]; + fHodoNegPhcCoeff=new Double_t [fMaxHodoScin]; + fHodoPosTimeOffset=new Double_t [fMaxHodoScin]; + fHodoNegTimeOffset=new Double_t [fMaxHodoScin]; + fHodoPosPedLimit=new Int_t [fMaxHodoScin]; + fHodoNegPedLimit=new Int_t [fMaxHodoScin]; + fHodoPosInvAdcOffset=new Double_t [fMaxHodoScin]; + fHodoNegInvAdcOffset=new Double_t [fMaxHodoScin]; + fHodoPosInvAdcLinear=new Double_t [fMaxHodoScin]; + fHodoNegInvAdcLinear=new Double_t [fMaxHodoScin]; + fHodoPosInvAdcAdc=new Double_t [fMaxHodoScin]; + fHodoNegInvAdcAdc=new Double_t [fMaxHodoScin]; + + fNHodoscopes = 2; + fxLoScin = new Int_t [fNHodoscopes]; + fxHiScin = new Int_t [fNHodoscopes]; + fyLoScin = new Int_t [fNHodoscopes]; + fyHiScin = new Int_t [fNHodoscopes]; + fHodoSlop = new Double_t [fNPlanes]; - iplane = 2; - p = (Double_t *)gHcParms->Find("hscin_2x_center")->GetValuePointer(); - fCenter[iplane] = new Double_t [fNPaddle[iplane]]; - cout << iplane; - for(Int_t i=0;i<fNPaddle[iplane];i++) { - fCenter[iplane][i] = p[i]; - cout << " " << fCenter[iplane][i]; - } - cout << endl; + DBRequest list[]={ + {"start_time_center", &fStartTimeCenter, kDouble}, + {"start_time_slop", &fStartTimeSlop, kDouble}, + {"scin_tdc_to_time", &fScinTdcToTime, kDouble}, + {"scin_tdc_min", &fScinTdcMin, kDouble}, + {"scin_tdc_max", &fScinTdcMax, kDouble}, + {"tof_tolerance", &fTofTolerance, kDouble, 0, 1}, + {"pathlength_central", &fPathLengthCentral, kDouble}, + {"hodo_vel_light", &fHodoVelLight[0], kDouble, fMaxHodoScin}, + {"hodo_pos_sigma", &fHodoPosSigma[0], kDouble, fMaxHodoScin}, + {"hodo_neg_sigma", &fHodoNegSigma[0], kDouble, fMaxHodoScin}, + {"hodo_pos_minph", &fHodoPosMinPh[0], kDouble, fMaxHodoScin}, + {"hodo_neg_minph", &fHodoNegMinPh[0], kDouble, fMaxHodoScin}, + {"hodo_pos_phc_coeff", &fHodoPosPhcCoeff[0], kDouble, fMaxHodoScin}, + {"hodo_neg_phc_coeff", &fHodoNegPhcCoeff[0], kDouble, fMaxHodoScin}, + {"hodo_pos_time_offset", &fHodoPosTimeOffset[0], kDouble, fMaxHodoScin}, + {"hodo_neg_time_offset", &fHodoNegTimeOffset[0], kDouble, fMaxHodoScin}, + {"hodo_pos_ped_limit", &fHodoPosPedLimit[0], kInt, fMaxHodoScin}, + {"hodo_neg_ped_limit", &fHodoNegPedLimit[0], kInt, fMaxHodoScin}, + {"tofusinginvadc", &fTofUsingInvAdc, kInt, 0, 1}, + {"xloscin", &fxLoScin[0], kInt, (UInt_t) fNHodoscopes}, + {"xhiscin", &fxHiScin[0], kInt, (UInt_t) fNHodoscopes}, + {"yloscin", &fyLoScin[0], kInt, (UInt_t) fNHodoscopes}, + {"yhiscin", &fyHiScin[0], kInt, (UInt_t) fNHodoscopes}, + {"track_eff_test_num_scin_planes", &fTrackEffTestNScinPlanes, kInt}, + {"cer_npe", &fNCerNPE, kDouble, 0, 1}, + {"normalized_energy_tot", &fNormETot, kDouble, 0, 1}, + {"hodo_slop", fHodoSlop, kDouble, fNPlanes}, + {0} + }; + + fTofUsingInvAdc = 0; // Default if not defined + fTofTolerance = 3.0; // Default if not defined + fNCerNPE = 2.0; + fNormETot = 0.7; - iplane = 3; - p = (Double_t *)gHcParms->Find("hscin_2y_center")->GetValuePointer(); - fCenter[iplane] = new Double_t [fNPaddle[iplane]]; - cout << iplane; - for(Int_t i=0;i<fNPaddle[iplane];i++) { - fCenter[iplane][i] = p[i]; - cout << " " << fCenter[iplane][i]; - } - cout << endl; + gHcParms->LoadParmValues((DBRequest*)&list,prefix); - fIsInit = true; + cout << " x1 lo = " << fxLoScin[0] + << " x2 lo = " << fxLoScin[1] + << " x1 hi = " << fxHiScin[0] + << " x2 hi = " << fxHiScin[1] + << endl; + + cout << " y1 lo = " << fyLoScin[0] + << " y2 lo = " << fyLoScin[1] + << " y1 hi = " << fyHiScin[0] + << " y2 hi = " << fyHiScin[1] + << endl; + cout << "Hdososcope planes hits for trigger = " << fTrackEffTestNScinPlanes + << " normalized energy min = " << fNormETot + << " number of photo electrons = " << fNCerNPE + << endl; + + if (fTofUsingInvAdc) { + DBRequest list2[]={ + {"hodo_pos_invadc_offset",&fHodoPosInvAdcOffset[0],kDouble,fMaxHodoScin}, + {"hodo_neg_invadc_offset",&fHodoNegInvAdcOffset[0],kDouble,fMaxHodoScin}, + {"hodo_pos_invadc_linear",&fHodoPosInvAdcLinear[0],kDouble,fMaxHodoScin}, + {"hodo_neg_invadc_linear",&fHodoNegInvAdcLinear[0],kDouble,fMaxHodoScin}, + {"hodo_pos_invadc_adc",&fHodoPosInvAdcAdc[0],kDouble,fMaxHodoScin}, + {"hodo_neg_invadc_adc",&fHodoNegInvAdcAdc[0],kDouble,fMaxHodoScin}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list2,prefix); + }; + if (fDebug >=1) { + cout <<"******* Testing Hodoscope Parameter Reading ***\n"; + cout<<"StarTimeCenter = "<<fStartTimeCenter<<endl; + cout<<"StartTimeSlop = "<<fStartTimeSlop<<endl; + cout <<"ScintTdcToTime = "<<fScinTdcToTime<<endl; + cout <<"TdcMin = "<<fScinTdcMin<<" TdcMax = "<<fScinTdcMax<<endl; + cout <<"TofTolerance = "<<fTofTolerance<<endl; + cout <<"*** VelLight ***\n"; + for (Int_t i1=0;i1<fNPlanes;i1++) { + cout<<"Plane "<<i1<<endl; + for (UInt_t i2=0;i2<fMaxScinPerPlane;i2++) { + cout<<fHodoVelLight[GetScinIndex(i1,i2)]<<" "; + } + cout <<endl; + } + cout <<endl<<endl; + // check fHodoPosPhcCoeff + /* + cout <<"fHodoPosPhcCoeff = "; + for (int i1=0;i1<fMaxHodoScin;i1++) { + cout<<this->GetHodoPosPhcCoeff(i1)<<" "; + } + cout<<endl; + */ + } + // + if ((fTofTolerance > 0.5) && (fTofTolerance < 10000.)) { + cout << "USING "<<fTofTolerance<<" NSEC WINDOW FOR FP NO_TRACK CALCULATIONS.\n"; + } + else { + fTofTolerance= 3.0; + cout << "*** USING DEFAULT 3 NSEC WINDOW FOR FP NO_TRACK CALCULATIONS!! ***\n"; + } + fIsInit = true; return kOK; } @@ -198,51 +539,25 @@ Int_t THcHodoscope::ReadDatabase( const TDatime& date ) Int_t THcHodoscope::DefineVariables( EMode mode ) { // Initialize global variables and lookup table for decoder - + cout << "THcHodoscope::DefineVariables called " << GetName() << endl; if( mode == kDefine && fIsSetup ) return kOK; fIsSetup = ( mode == kDefine ); // Register variables in global list - // RVarDef vars[] = { - // hpostdc1 HMS s1x+ TDC hits - // hnegtdc1 HMS s1x+ TDC hits - //... - // hnegtdc4 HMS s2y- TDC hits - - // RVarDef vars[] = { - // { "nlthit", "Number of Left paddles TDC times", "fLTNhit" }, - // { "nrthit", "Number of Right paddles TDC times", "fRTNhit" }, - // { "nlahit", "Number of Left paddles ADCs amps", "fLANhit" }, - // { "nrahit", "Number of Right paddles ADCs amps", "fRANhit" }, - // { "lt", "TDC values left side", "fLT" }, - // { "lt_c", "Corrected times left side", "fLT_c" }, - // { "rt", "TDC values right side", "fRT" }, - // { "rt_c", "Corrected times right side", "fRT_c" }, - // { "la", "ADC values left side", "fLA" }, - // { "la_p", "Corrected ADC values left side", "fLA_p" }, - // { "la_c", "Corrected ADC values left side", "fLA_c" }, - // { "ra", "ADC values right side", "fRA" }, - // { "ra_p", "Corrected ADC values right side", "fRA_p" }, - // { "ra_c", "Corrected ADC values right side", "fRA_c" }, - // { "nthit", "Number of paddles with l&r TDCs", "fNhit" }, - // { "t_pads", "Paddles with l&r coincidence TDCs", "fHitPad" }, - // { "y_t", "y-position from timing (m)", "fYt" }, - // { "y_adc", "y-position from amplitudes (m)", "fYa" }, - // { "time", "Time of hit at plane (s)", "fTime" }, - // { "dtime", "Est. uncertainty of time (s)", "fdTime" }, - // { "dedx", "dEdX-like deposited in paddle", "fAmpl" }, - // { "troff", "Trigger offset for paddles", "fTrigOff"}, - // { "trn", "Number of tracks for hits", "GetNTracks()" }, - // { "trx", "x-position of track in det plane", "fTrackProj.THaTrackProj.fX" }, - // { "try", "y-position of track in det plane", "fTrackProj.THaTrackProj.fY" }, - // { "trpath", "TRCS pathlen of track to det plane","fTrackProj.THaTrackProj.fPathl" }, - // { "trdx", "track deviation in x-position (m)", "fTrackProj.THaTrackProj.fdX" }, - // { "trpad", "paddle-hit associated with track", "fTrackProj.THaTrackProj.fChannel" }, - // { 0 } - // }; - // return DefineVarsFromList( vars, mode ); - return kOK; + RVarDef vars[] = { + // Move these into THcHallCSpectrometer using track fTracks + {"fpHitsTime", "Time at focal plane from all hits", "fFPTime"}, + {"starttime", "Hodoscope Start Time", "fStartTime"}, + {"goodstarttime", "Hodoscope Good Start Time", "fGoodStartTime"}, + {"goodscinhit", "Hit in fid area", "fGoodScinHits"}, + // {"goodscinhitx", "Hit in fid x range", "fGoodScinHitsX"}, + {"scinshould", "Total scin Hits in fid area", "fScinShould"}, + {"scindid", "Total scin Hits in fid area with a track", "fScinDid"}, + { 0 } + }; + return DefineVarsFromList( vars, mode ); + // return kOK; } //_____________________________________________________________________________ @@ -250,6 +565,10 @@ THcHodoscope::~THcHodoscope() { // Destructor. Remove variables from global list. + delete [] fFPTime; + delete [] fPlaneCenter; + delete [] fPlaneSpacing; + if( fIsSetup ) RemoveVariables(); if( fIsInit ) @@ -264,36 +583,38 @@ THcHodoscope::~THcHodoscope() void THcHodoscope::DeleteArrays() { // Delete member arrays. Used by destructor. - - delete [] fNPaddle; fNPaddle = NULL; - delete [] fSpacing; fSpacing = NULL; - delete [] fCenter; fCenter = NULL; // This 2D. What is correct way to delete? - - // delete [] fRA_c; fRA_c = NULL; - // delete [] fRA_p; fRA_p = NULL; - // delete [] fRA; fRA = NULL; - // delete [] fLA_c; fLA_c = NULL; - // delete [] fLA_p; fLA_p = NULL; - // delete [] fLA; fLA = NULL; - // delete [] fRT_c; fRT_c = NULL; - // delete [] fRT; fRT = NULL; - // delete [] fLT_c; fLT_c = NULL; - // delete [] fLT; fLT = NULL; + // Int_t k; + // for( k = 0; k < fNPlanes; k++){ + // delete [] fScinHit[k]; + // } + // delete [] fScinHit; - // delete [] fRGain; fRGain = NULL; - // delete [] fLGain; fLGain = NULL; - // delete [] fRPed; fRPed = NULL; - // delete [] fLPed; fLPed = NULL; - // delete [] fROff; fROff = NULL; - // delete [] fLOff; fLOff = NULL; - // delete [] fTWalkPar; fTWalkPar = NULL; - // delete [] fTrigOff; fTrigOff = NULL; - - // delete [] fHitPad; fHitPad = NULL; - // delete [] fTime; fTime = NULL; - // delete [] fdTime; fdTime = NULL; - // delete [] fYt; fYt = NULL; - // delete [] fYa; fYa = NULL; + delete [] fxLoScin; fxLoScin = NULL; + delete [] fxHiScin; fxHiScin = NULL; + delete [] fHodoSlop; fHodoSlop = NULL; + + delete [] fNPaddle; fNPaddle = NULL; + delete [] fHodoVelLight; fHodoVelLight = NULL; + delete [] fHodoPosSigma; fHodoPosSigma = NULL; + delete [] fHodoNegSigma; fHodoNegSigma = NULL; + delete [] fHodoPosMinPh; fHodoPosMinPh = NULL; + delete [] fHodoNegMinPh; fHodoNegMinPh = NULL; + delete [] fHodoPosPhcCoeff; fHodoPosPhcCoeff = NULL; + delete [] fHodoNegPhcCoeff; fHodoNegPhcCoeff = NULL; + delete [] fHodoPosTimeOffset; fHodoPosTimeOffset = NULL; + delete [] fHodoNegTimeOffset; fHodoNegTimeOffset = NULL; + delete [] fHodoPosPedLimit; fHodoPosPedLimit = NULL; + delete [] fHodoNegPedLimit; fHodoNegPedLimit = NULL; + delete [] fHodoPosInvAdcOffset; fHodoPosInvAdcOffset = NULL; + delete [] fHodoNegInvAdcOffset; fHodoNegInvAdcOffset = NULL; + delete [] fHodoPosInvAdcLinear; fHodoPosInvAdcLinear = NULL; + delete [] fHodoNegInvAdcLinear; fHodoNegInvAdcLinear = NULL; + delete [] fHodoPosInvAdcAdc; fHodoPosInvAdcAdc = NULL; + delete [] fGoodPlaneTime; fGoodPlaneTime = NULL; + delete [] fNPlaneTime; fNPlaneTime = NULL; + delete [] fSumPlaneTime; fSumPlaneTime = NULL; + delete [] fNScinHits; fNScinHits = NULL; + } //_____________________________________________________________________________ @@ -302,24 +623,100 @@ void THcHodoscope::ClearEvent() { // Reset per-event data. - fTrackProj->Clear(); + // for ( Int_t imaxhit = 0; imaxhit < MAXHODHITS; imaxhit++ ){ + // fBeta[imaxhit] = 0.; + // fBetaChisq[imaxhit] = 0.; + // } + + for(Int_t ip=0;ip<fNPlanes;ip++) { + fPlanes[ip]->Clear(); + fFPTime[ip]=0.; + fPlaneCenter[ip]=0.; + fPlaneSpacing[ip]=0.; + } + fdEdX.clear(); + fScinHitPaddle.clear(); + fNScinHit.clear(); + fNClust.clear(); + fThreeScin.clear(); + fGoodScinHitsX.clear(); } //_____________________________________________________________________________ Int_t THcHodoscope::Decode( const THaEvData& evdata ) { - + ClearEvent(); // Get the Hall C style hitlist (fRawHitList) for this event - Int_t nhits = THcHitList::DecodeToHitList(evdata); + Int_t nhits = DecodeToHitList(evdata); + // + // GN: print event number so we can cross-check with engine + // if (evdata.GetEvNum()>1000) + // cout <<"\nhcana_event " << evdata.GetEvNum()<<endl; + + fCheckEvent = evdata.GetEvNum(); + fEventType = evdata.GetEvType(); - // fRawHitList is TClones array of THcHodoscopeHit objects + if(gHaCuts->Result("Pedestal_event")) { + Int_t nexthit = 0; + for(Int_t ip=0;ip<fNPlanes;ip++) { + + nexthit = fPlanes[ip]->AccumulatePedestals(fRawHitList, nexthit); + } + fAnalyzePedestals = 1; // Analyze pedestals first normal events + return(0); + } + if(fAnalyzePedestals) { + for(Int_t ip=0;ip<fNPlanes;ip++) { + + fPlanes[ip]->CalculatePedestals(); + } + fAnalyzePedestals = 0; // Don't analyze pedestals next event + } + + // Let each plane get its hits + Int_t nexthit = 0; + + fStartTime=0; + fNfptimes=0; + for(Int_t ip=0;ip<fNPlanes;ip++) { + + fPlaneCenter[ip] = fPlanes[ip]->GetPosCenter(0) + fPlanes[ip]->GetPosOffset(); + fPlaneSpacing[ip] = fPlanes[ip]->GetSpacing(); + + // nexthit = fPlanes[ip]->ProcessHits(fRawHitList, nexthit); + // GN: select only events that have reasonable TDC values to start with + // as per the Engine h_strip_scin.f + nexthit = fPlanes[ip]->ProcessHits(fRawHitList,nexthit); + if (fPlanes[ip]->GetNScinHits()>0) { + fPlanes[ip]->PulseHeightCorrection(); + // GN: allow for more than one fptime per plane!! + for (Int_t i=0;i<fPlanes[ip]->GetNScinGoodHits();i++) { + if (TMath::Abs(fPlanes[ip]->GetFpTime(i)-fStartTimeCenter)<=fStartTimeSlop) { + fStartTime=fStartTime+fPlanes[ip]->GetFpTime(i); + // GN write stuff out so I can compare with engine + /// cout<<"hcana event= "<<evdata.GetEvNum()<<" fNfptimes= "<<fNfptimes<<" fptime= "<<fPlanes[ip]->GetFpTime(i)<<endl; + fNfptimes++; + } + } + } + } + if (fNfptimes>0) { + fStartTime=fStartTime/fNfptimes; + fGoodStartTime=kTRUE; + } else { + fGoodStartTime=kFALSE; + fStartTime=fStartTimeCenter; + } +#if 0 for(Int_t ihit = 0; ihit < fNRawHits ; ihit++) { - THcHodoscopeHit* hit = (THcHodoscopeHit *) fRawHitList->At(ihit); + THcRawHodoHit* hit = (THcRawHodoHit *) fRawHitList->At(ihit); cout << ihit << " : " << hit->fPlane << ":" << hit->fCounter << " : " << hit->fADC_pos << " " << hit->fADC_neg << " " << hit->fTDC_pos << " " << hit->fTDC_neg << endl; } cout << endl; +#endif + /// fStartTime = 500; // Drift Chamber will need this return nhits; } @@ -329,7 +726,6 @@ Int_t THcHodoscope::ApplyCorrections( void ) { return(0); } - //_____________________________________________________________________________ Double_t THcHodoscope::TimeWalkCorrection(const Int_t& paddle, const ESide side) @@ -338,35 +734,818 @@ Double_t THcHodoscope::TimeWalkCorrection(const Int_t& paddle, } //_____________________________________________________________________________ -Int_t THcHodoscope::CoarseProcess( TClonesArray& /* tracks */ ) +Int_t THcHodoscope::CoarseProcess( TClonesArray& tracks ) { - // Calculation of coordinates of particle track cross point with scint - // plane in the detector coordinate system. For this, parameters of track - // reconstructed in THaVDC::CoarseTrack() are used. - // - // Apply corrections and reconstruct the complete hits. - // - // static const Double_t sqrt2 = TMath::Sqrt(2.); - - ApplyCorrections(); + ApplyCorrections(); + return 0; } //_____________________________________________________________________________ Int_t THcHodoscope::FineProcess( TClonesArray& tracks ) { - // Reconstruct coordinates of particle track cross point with scintillator - // plane, and copy the data into the following local data structure: + + Int_t ntracks = tracks.GetLast()+1; // Number of reconstructed tracks + Int_t timehist[200]; + // ------------------------------------------------- + + fGoodScinHits = 0; + fScinShould = 0; fScinDid = 0; + + if (tracks.GetLast()+1 > 0 ) { + + // **MAIN LOOP: Loop over all tracks and get corrected time, tof, beta... + Double_t* nPmtHit = new Double_t [ntracks]; + Double_t* timeAtFP = new Double_t [ntracks]; + for ( Int_t itrack = 0; itrack < ntracks; itrack++ ) { // Line 133 + nPmtHit[itrack]=0; + timeAtFP[itrack]=0; + + THaTrack* theTrack = dynamic_cast<THaTrack*>( tracks.At(itrack) ); + if (!theTrack) return -1; + + for (Int_t ip = 0; ip < fNPlanes; ip++ ){ + fGoodPlaneTime[ip] = kFALSE; + fNScinHits[ip] = 0; + fNPlaneTime[ip] = 0; + fSumPlaneTime[ip] = 0.; + } + std::vector<Double_t> dedx_temp; + fdEdX.push_back(dedx_temp); // Create array of dedx per hit + + Int_t nFPTime = 0; + Double_t betaChiSq = -3; + Double_t beta = 0; + // timeAtFP[itrack] = 0.; + Double_t sumFPTime = 0.; // Line 138 + fNScinHit.push_back(0); + Double_t p = theTrack->GetP(); // Line 142 + Double_t betaP = p/( TMath::Sqrt( p * p + fPartMass * fPartMass) ); + + //! Calculate all corrected hit times and histogram + //! This uses a copy of code below. Results are save in time_pos,neg + //! including the z-pos. correction assuming nominal value of betap + //! Code is currently hard-wired to look for a peak in the + //! range of 0 to 100 nsec, with a group of times that all + //! agree withing a time_tolerance of time_tolerance nsec. The normal + //! peak position appears to be around 35 nsec. + //! NOTE: if want to find farticles with beta different than + //! reference particle, need to make sure this is big enough + //! to accomodate difference in TOF for other particles + //! Default value in case user hasnt definedd something reasonable + // Line 162 to 171 is already done above in ReadDatabase + + for (Int_t j=0; j<200; j++) { timehist[j]=0; } // Line 176 + + // Loop over scintillator planes. + // In ENGINE, its loop over good scintillator hits. + + fTOFCalc.clear(); + Int_t ihhit = 0; // Hit # overall + for(Int_t ip = 0; ip < fNPlanes; ip++ ) { + + fNScinHits[ip] = fPlanes[ip]->GetNScinHits(); + TClonesArray* scinPosADC = fPlanes[ip]->GetPosADC(); + TClonesArray* scinNegADC = fPlanes[ip]->GetNegADC(); + TClonesArray* scinPosTDC = fPlanes[ip]->GetPosTDC(); + TClonesArray* scinNegTDC = fPlanes[ip]->GetNegTDC(); + + // first loop over hits with in a single plane + fTOFPInfo.clear(); + for (Int_t iphit = 0; iphit < fNScinHits[ip]; iphit++ ){ + // iphit is hit # within a plane + + fTOFPInfo.push_back(TOFPInfo()); + // Can remove these as we will initialize in the constructor + fTOFPInfo[iphit].time_pos = -99.0; + fTOFPInfo[iphit].time_neg = -99.0; + fTOFPInfo[iphit].keep_pos = kFALSE; + fTOFPInfo[iphit].keep_neg = kFALSE; + fTOFPInfo[iphit].scin_pos_time = 0.0; + fTOFPInfo[iphit].scin_neg_time = 0.0; + + Int_t paddle = ((THcSignalHit*)scinPosTDC->At(iphit))->GetPaddleNumber()-1; + + Double_t xHitCoord = theTrack->GetX() + theTrack->GetTheta() * + ( fPlanes[ip]->GetZpos() + + ( paddle % 2 ) * fPlanes[ip]->GetDzpos() ); // Line 183 + + Double_t yHitCoord = theTrack->GetY() + theTrack->GetPhi() * + ( fPlanes[ip]->GetZpos() + + ( paddle % 2 ) * fPlanes[ip]->GetDzpos() ); // Line 184 + + Double_t scinTrnsCoord, scinLongCoord; + if ( ( ip == 0 ) || ( ip == 2 ) ){ // !x plane. Line 185 + scinTrnsCoord = xHitCoord; + scinLongCoord = yHitCoord; + } + + else if ( ( ip == 1 ) || ( ip == 3 ) ){ // !y plane. Line 188 + scinTrnsCoord = yHitCoord; + scinLongCoord = xHitCoord; + } + else { return -1; } // Line 195 + + Double_t scinCenter = fPlanes[ip]->GetPosCenter(paddle) + fPlanes[ip]->GetPosOffset(); + + // Index to access the 2d arrays of paddle/scintillator properties + Int_t fPIndex = fNPlanes * paddle + ip; + + + if ( TMath::Abs( scinCenter - scinTrnsCoord ) < + ( fPlanes[ip]->GetSize() * 0.5 + fPlanes[ip]->GetHodoSlop() ) ){ // Line 293 + + if ( ( ((THcSignalHit*)scinPosTDC->At(iphit))->GetData() > fScinTdcMin ) && + ( ((THcSignalHit*)scinPosTDC->At(iphit))->GetData() < fScinTdcMax ) ) { // Line 199 + + Double_t adcPh = ((THcSignalHit*)scinPosADC->At(iphit))->GetData(); + fTOFPInfo[iphit].adcPh = adcPh; + Double_t path = fPlanes[ip]->GetPosLeft() - scinLongCoord; + fTOFPInfo[iphit].path = path; + Double_t time = ((THcSignalHit*)scinPosTDC->At(iphit))->GetData() * fScinTdcToTime; + time = time - fHodoPosPhcCoeff[fPIndex] * + TMath::Sqrt( TMath::Max( 0., ( ( adcPh / fHodoPosMinPh[fPIndex] ) - 1 ) ) ); + time = time - ( path / fHodoVelLight[fPIndex] ) - ( fPlanes[ip]->GetZpos() + + ( paddle % 2 ) * fPlanes[ip]->GetDzpos() ) / ( 29.979 * betaP ) * + TMath::Sqrt( 1. + theTrack->GetTheta() * theTrack->GetTheta() + + theTrack->GetPhi() * theTrack->GetPhi() ); + fTOFPInfo[iphit].time = time; + fTOFPInfo[iphit].time_pos = time - fHodoPosTimeOffset[fPIndex]; + + for ( Int_t k = 0; k < 200; k++ ){ // Line 211 + Double_t tmin = 0.5 * ( k + 1 ) ; + if ( ( fTOFPInfo[iphit].time_pos > tmin ) && ( fTOFPInfo[iphit].time_pos < ( tmin + fTofTolerance ) ) ) + timehist[k] ++; + } + } // TDC pos hit condition + + + if ( ( ((THcSignalHit*)scinNegTDC->At(iphit))->GetData() > fScinTdcMin ) && + ( ((THcSignalHit*)scinNegTDC->At(iphit))->GetData() < fScinTdcMax ) ) { // Line 218 + + Double_t adcPh = ((THcSignalHit*)scinNegADC->At(iphit))->GetData(); + fTOFPInfo[iphit].adcPh = adcPh; + Double_t path = scinLongCoord - fPlanes[ip]->GetPosRight(); + fTOFPInfo[iphit].path = path; + Double_t time = ((THcSignalHit*)scinNegTDC->At(iphit))->GetData() * fScinTdcToTime; + time =time - fHodoNegPhcCoeff[fPIndex] * + TMath::Sqrt( TMath::Max( 0., ( ( adcPh / fHodoNegMinPh[fPIndex] ) - 1 ) ) ); + time = time - ( path / fHodoVelLight[fPIndex] ) - ( fPlanes[ip]->GetZpos() + + ( paddle % 2 ) * fPlanes[ip]->GetDzpos() ) / ( 29.979 * betaP ) * + TMath::Sqrt( 1. + theTrack->GetTheta() * theTrack->GetTheta() + + theTrack->GetPhi() * theTrack->GetPhi() ); + fTOFPInfo[iphit].time = time; + fTOFPInfo[iphit].time_neg = time - fHodoNegTimeOffset[fPIndex]; + + for ( Int_t k = 0; k < 200; k++ ){ // Line 230 + Double_t tmin = 0.5 * ( k + 1 ); + if ( ( fTOFPInfo[iphit].time_neg > tmin ) && ( fTOFPInfo[iphit].time_neg < ( tmin + fTofTolerance ) ) ) + timehist[k] ++; + } + } // TDC neg hit condition + } // condition for cenetr on a paddle + } // First loop over hits in a plane <--------- + + //----------------------------------------------------------------------------------------------- + //------------- First large loop over scintillator hits in a plane ends here -------------------- + //----------------------------------------------------------------------------------------------- + + Int_t jmax = 0; // Line 240 + Int_t maxhit = 0; + + for ( Int_t k = 0; k < 200; k++ ){ + if ( timehist[k] > maxhit ){ + jmax = k+1; + maxhit = timehist[k]; + } + } + + if ( jmax > 0 ){ // Line 248. Here I followed the code of THcSCintilaltorPlane::PulseHeightCorrection + Double_t tmin = 0.5 * jmax; + for(Int_t iphit = 0; iphit < fNScinHits[ip]; iphit++) { // Loop over sinc. hits. in plane + if ( ( fTOFPInfo[iphit].time_pos > tmin ) && ( fTOFPInfo[iphit].time_pos < ( tmin + fTofTolerance ) ) ) { + fTOFPInfo[iphit].keep_pos=kTRUE; + } + if ( ( fTOFPInfo[iphit].time_neg > tmin ) && ( fTOFPInfo[iphit].time_neg < ( tmin + fTofTolerance ) ) ){ + fTOFPInfo[iphit].keep_neg=kTRUE; + } + } + } // jmax > 0 condition + + //--------------------------------------------------------------------------------------------- + // ---------------------- Scond loop over scint. hits in a plane ------------------------------ + //--------------------------------------------------------------------------------------------- + + for (Int_t iphit = 0; iphit < fNScinHits[ip]; iphit++ ){ + + fTOFCalc.push_back(TOFCalc()); + // Do we set back to false for each track, or just once per event? + fTOFCalc[ihhit].good_scin_time = kFALSE; + // These need a track index too to calculate efficiencies + fTOFCalc[ihhit].good_tdc_pos = kFALSE; + fTOFCalc[ihhit].good_tdc_neg = kFALSE; + fTOFCalc[ihhit].pindex = ip; + + // ihhit ++; + // fRawIndex ++; // Is fRawIndex ever different from ihhit + Int_t rawindex = ihhit; + + Int_t paddle = ((THcSignalHit*)scinPosTDC->At(iphit))->GetPaddleNumber()-1; + fTOFCalc[ihhit].hit_paddle = paddle; + fTOFCalc[rawindex].good_raw_pad = paddle; + + Double_t xHitCoord = theTrack->GetX() + theTrack->GetTheta() * + ( fPlanes[ip]->GetZpos() + ( paddle % 2 ) * fPlanes[ip]->GetDzpos() ); // Line 277 + Double_t yHitCoord = theTrack->GetY() + theTrack->GetPhi() * + ( fPlanes[ip]->GetZpos() + ( paddle % 2 ) * fPlanes[ip]->GetDzpos() ); // Line 278 + + Double_t scinTrnsCoord, scinLongCoord; + if ( ( ip == 0 ) || ( ip == 2 ) ){ // !x plane. Line 278 + scinTrnsCoord = xHitCoord; + scinLongCoord = yHitCoord; + } + else if ( ( ip == 1 ) || ( ip == 3 ) ){ // !y plane. Line 281 + scinTrnsCoord = yHitCoord; + scinLongCoord = xHitCoord; + } + else { return -1; } // Line 288 + + Double_t scinCenter = fPlanes[ip]->GetPosCenter(paddle) + fPlanes[ip]->GetPosOffset(); + Int_t fPIndex = fNPlanes * paddle + ip; + + // ** Check if scin is on track + if ( TMath::Abs( scinCenter - scinTrnsCoord ) > + ( fPlanes[ip]->GetSize() * 0.5 + fPlanes[ip]->GetHodoSlop() ) ){ // Line 293 + } + else{ + // * * Check for good TDC + if ( ( ((THcSignalHit*)scinPosTDC->At(iphit))->GetData() > fScinTdcMin ) && + ( ((THcSignalHit*)scinPosTDC->At(iphit))->GetData() < fScinTdcMax ) && + ( fTOFPInfo[iphit].keep_pos ) ) { // 301 + + // ** Calculate time for each tube with a good tdc. 'pos' side first. + fTOFCalc[ihhit].good_tdc_pos = kTRUE; + Double_t adcPh = ((THcSignalHit*)scinPosADC->At(iphit))->GetData(); + fTOFPInfo[iphit].adcPh = adcPh; + Double_t path = fPlanes[ip]->GetPosLeft() - scinLongCoord; + fTOFPInfo[iphit].path = path; + + // * Convert TDC value to time, do pulse height correction, correction for + // * propogation of light thru scintillator, and offset. + Double_t time = ((THcSignalHit*)scinPosTDC->At(iphit))->GetData() * fScinTdcToTime; + time = time - ( fHodoPosPhcCoeff[fPIndex] * TMath::Sqrt( TMath::Max( 0. , + ( ( adcPh / fHodoPosMinPh[fPIndex] ) - 1 ) ) ) ); + time = time - ( path / fHodoVelLight[fPIndex] ); + fTOFPInfo[iphit].time = time; + fTOFPInfo[iphit].scin_pos_time = time - fHodoPosTimeOffset[fPIndex]; + + } // check for good pos TDC condition + + // ** Repeat for pmts on 'negative' side + if ( ( ((THcSignalHit*)scinNegTDC->At(iphit))->GetData() > fScinTdcMin ) && + ( ((THcSignalHit*)scinNegTDC->At(iphit))->GetData() < fScinTdcMax ) && + ( fTOFPInfo[iphit].keep_neg ) ) { // + + // ** Calculate time for each tube with a good tdc. 'pos' side first. + fTOFCalc[ihhit].good_tdc_neg = kTRUE; + // fNtof ++; + Double_t adcPh = ((THcSignalHit*)scinNegADC->At(iphit))->GetData(); + fTOFPInfo[iphit].adcPh = adcPh; + // Double_t path = fPlanes[ip]->GetPosRight() - scinLongCoord; + Double_t path = scinLongCoord - fPlanes[ip]->GetPosRight(); + fTOFPInfo[iphit].path = path; + + // * Convert TDC value to time, do pulse height correction, correction for + // * propogation of light thru scintillator, and offset. + Double_t time = ((THcSignalHit*)scinNegTDC->At(iphit))->GetData() * fScinTdcToTime; + time = time - ( fHodoNegPhcCoeff[fPIndex] * + TMath::Sqrt( TMath::Max( 0. , ( ( adcPh / fHodoNegMinPh[fPIndex] ) - 1 ) ) ) ); + time = time - ( path / fHodoVelLight[fPIndex] ); + fTOFPInfo[iphit].time = time; + fTOFPInfo[iphit].scin_neg_time = time - fHodoNegTimeOffset[fPIndex]; + + } // check for good neg TDC condition + + // ** Calculate ave time for scin and error. + if ( fTOFCalc[ihhit].good_tdc_pos ){ + if ( fTOFCalc[ihhit].good_tdc_neg ){ + fTOFCalc[ihhit].scin_time = ( fTOFPInfo[iphit].scin_pos_time + + fTOFPInfo[iphit].scin_neg_time ) / 2.; + fTOFCalc[ihhit].scin_sigma = TMath::Sqrt( fHodoPosSigma[fPIndex] * fHodoPosSigma[fPIndex] + + fHodoNegSigma[fPIndex] * fHodoNegSigma[fPIndex] )/2.; + fTOFCalc[ihhit].good_scin_time = kTRUE; + } + else{ + fTOFCalc[ihhit].scin_time = fTOFPInfo[iphit].scin_pos_time; + fTOFCalc[ihhit].scin_sigma = fHodoPosSigma[fPIndex]; + fTOFCalc[ihhit].good_scin_time = kTRUE; + } + } + else { + if ( fTOFCalc[ihhit].good_tdc_neg ){ + fTOFCalc[ihhit].scin_time = fTOFPInfo[iphit].scin_neg_time; + fTOFCalc[ihhit].scin_sigma = fHodoNegSigma[fPIndex]; + fTOFCalc[ihhit].good_scin_time = kTRUE; + } + } // In h_tof.f this includes the following if condition for time at focal plane + // // because it is written in FORTRAN code + + // c Get time at focal plane + if ( fTOFCalc[ihhit].good_scin_time ){ + + // scin_time_fp doesn't need to be an array + Double_t scin_time_fp = fTOFCalc[ihhit].scin_time - + ( fPlanes[ip]->GetZpos() + ( paddle % 2 ) * fPlanes[ip]->GetDzpos() ) / + ( 29.979 * betaP ) * + TMath::Sqrt( 1. + theTrack->GetTheta() * theTrack->GetTheta() + + theTrack->GetPhi() * theTrack->GetPhi() ); + + sumFPTime = sumFPTime + scin_time_fp; + nFPTime ++; + + fSumPlaneTime[ip] = fSumPlaneTime[ip] + scin_time_fp; + fNPlaneTime[ip] ++; + fNScinHit[itrack] ++; + + if ( ( fTOFCalc[ihhit].good_tdc_pos ) && ( fTOFCalc[ihhit].good_tdc_neg ) ){ + nPmtHit[itrack] = nPmtHit[itrack] + 2; + } + else { + nPmtHit[itrack] = nPmtHit[itrack] + 1; + } + + fdEdX[itrack].push_back(0.0); + + // -------------------------------------------------------------------------------------------- + if ( fTOFCalc[ihhit].good_tdc_pos ){ + if ( fTOFCalc[ihhit].good_tdc_neg ){ + fdEdX[itrack][fNScinHit[itrack]-1]= + TMath::Sqrt( TMath::Max( 0., ((THcSignalHit*)scinPosADC->At(iphit))->GetData() * + ((THcSignalHit*)scinNegADC->At(iphit))->GetData() ) ); + } + else{ + fdEdX[itrack][fNScinHit[itrack]-1]= + TMath::Max( 0., ((THcSignalHit*)scinPosADC->At(iphit))->GetData() ); + } + } + else{ + if ( fTOFCalc[ihhit].good_tdc_neg ){ + fdEdX[itrack][fNScinHit[itrack]-1]= + TMath::Max( 0., ((THcSignalHit*)scinNegADC->At(iphit))->GetData() ); + } + else{ + fdEdX[itrack][fNScinHit[itrack]-1]=0.0; + } + } + // -------------------------------------------------------------------------------------------- + + + } // time at focal plane condition + } // on track else condition + + // ** See if there are any good time measurements in the plane. + if ( fTOFCalc[ihhit].good_scin_time ){ + fGoodPlaneTime[ip] = kTRUE; + fTOFCalc[ihhit].dedx = fdEdX[itrack][fNScinHit[itrack]-1]; + } else { + fTOFCalc[ihhit].dedx = 0.0; + } + + // Can this be done after looping over hits and planes? + if ( fGoodPlaneTime[2] ) theTrack->SetGoodPlane3( 1 ); + if ( !fGoodPlaneTime[2] ) theTrack->SetGoodPlane3( 0 ); + if ( fGoodPlaneTime[3] ) theTrack->SetGoodPlane4( 1 ); + if ( !fGoodPlaneTime[3] ) theTrack->SetGoodPlane4( 0 ); + + ihhit ++; + + } // Second loop over hits of a scintillator plane ends here + } // Loop over scintillator planes ends here + + //------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ + //------------------------------------------------------------------------------ + + // * * Fit beta if there are enough time measurements (one upper, one lower) + // From h_tof_fit + if ( ( ( fGoodPlaneTime[0] ) || ( fGoodPlaneTime[1] ) ) && + ( ( fGoodPlaneTime[2] ) || ( fGoodPlaneTime[3] ) ) ){ + + Double_t sumW = 0.; + Double_t sumT = 0.; + Double_t sumZ = 0.; + Double_t sumZZ = 0.; + Double_t sumTZ = 0.; + + ihhit = 0; + for (Int_t ip = 0; ip < fNPlanes; ip++ ){ + + if (!fPlanes[ip]) + return -1; + + fNScinHits[ip] = fPlanes[ip]->GetNScinHits(); + for (Int_t iphit = 0; iphit < fNScinHits[ip]; iphit++ ){ + + if ( fTOFCalc[ihhit].good_scin_time ) { + + Double_t scinWeight = 1 / ( fTOFCalc[ihhit].scin_sigma * fTOFCalc[ihhit].scin_sigma ); + Double_t zPosition = ( fPlanes[ip]->GetZpos() + ( fTOFCalc[ihhit].hit_paddle % 2 ) * + fPlanes[ip]->GetDzpos() ); + + sumW += scinWeight; + sumT += scinWeight * fTOFCalc[ihhit].scin_time; + sumZ += scinWeight * zPosition; + sumZZ += scinWeight * ( zPosition * zPosition ); + sumTZ += scinWeight * zPosition * fTOFCalc[ihhit].scin_time; + + } // condition of good scin time + ihhit ++; + } // loop over hits of plane + } // loop over planes + + Double_t tmp = sumW * sumZZ - sumZ * sumZ ; + Double_t t0 = ( sumT * sumZZ - sumZ * sumTZ ) / tmp ; + Double_t tmpDenom = sumW * sumTZ - sumZ * sumT; + + if ( TMath::Abs( tmpDenom ) > ( 1 / 10000000000.0 ) ) { + + beta = tmp / tmpDenom; + betaChiSq = 0.; + ihhit = 0; + + for (Int_t ip = 0; ip < fNPlanes; ip++ ){ // Loop over planes + if (!fPlanes[ip]) + return -1; + + fNScinHits[ip] = fPlanes[ip]->GetNScinHits(); + for (Int_t iphit = 0; iphit < fNScinHits[ip]; iphit++ ){ // Loop over hits of a plane + + if ( fTOFCalc[ihhit].good_scin_time ){ + + Double_t zPosition = ( fPlanes[ip]->GetZpos() + ( fTOFCalc[ihhit].hit_paddle % 2 ) * + fPlanes[ip]->GetDzpos() ); + Double_t timeDif = ( fTOFCalc[ihhit].scin_time - t0 ); + betaChiSq += ( ( zPosition / beta - timeDif ) * + ( zPosition / beta - timeDif ) ) / + ( fTOFCalc[ihhit].scin_sigma * fTOFCalc[ihhit].scin_sigma ); + + } // condition for good scin time + ihhit++; + } // loop over hits of a plane + } // loop over planes + + Double_t pathNorm = TMath::Sqrt( 1. + theTrack->GetTheta() * theTrack->GetTheta() + + theTrack->GetPhi() * theTrack->GetPhi() ); + + beta = beta / pathNorm; + beta = beta / 29.979; // velocity / c + + } // condition for fTmpDenom + else { + beta = 0.; + betaChiSq = -2.; + } // else condition for fTmpDenom + } + else { + beta = 0.; + betaChiSq = -1; + } + + if ( nFPTime != 0 ){ + timeAtFP[itrack] = ( sumFPTime / nFPTime ); + } + // + // --------------------------------------------------------------------------- + + Double_t FPTimeSum=0.0; + Int_t nFPTimeSum=0; + for (Int_t ip = 0; ip < fNPlanes; ip++ ){ + if ( fNPlaneTime[ip] != 0 ){ + fFPTime[ip] = ( fSumPlaneTime[ip] / fNPlaneTime[ip] ); + FPTimeSum += fSumPlaneTime[ip]; + nFPTimeSum += fNPlaneTime[ip]; + } + else{ + fFPTime[ip] = 1000. * ( ip + 1 ); + } + } + Double_t fptime = FPTimeSum/nFPTimeSum; + + Double_t dedx=0.0; + for(UInt_t ih=0;ih<fTOFCalc.size();ih++) { + if(fTOFCalc[ih].good_scin_time) { + dedx = fTOFCalc[ih].dedx; + break; + } + } + theTrack->SetDedx(dedx); + theTrack->SetFPTime(fptime); + theTrack->SetBeta(beta); + theTrack->SetBetaChi2( betaChiSq ); + theTrack->SetNPMT(nPmtHit[itrack]); + theTrack->SetFPTime( timeAtFP[itrack]); + + + } // Main loop over tracks ends here. + + } // If condition for at least one track + + //----------------------------------------------------------------------- // - // Units of measurements are meters. + // Trnslation of h_track_tests.f file for tracking efficiency + // + //----------------------------------------------------------------------- + + //************************now look at some hodoscope tests + // *second, we move the scintillators. here we use scintillator cuts to see + // *if a track should have been found. + + for(Int_t ip = 0; ip < fNPlanes; ip++ ) { + + std::vector<Double_t> scin_temp; + fScinHitPaddle.push_back(scin_temp); // Create array of hits per plane + + for (UInt_t ipaddle = 0; ipaddle < fNPaddle[0]; ipaddle++ ){ + fScinHitPaddle[ip].push_back(0.0); + fScinHitPaddle[ip][ipaddle] = 0.0; + } + } + + for(Int_t ip = 0; ip < fNPlanes; ip++ ) { + if (!fPlanes[ip]) + return -1; + + TClonesArray* scinPosTDC = fPlanes[ip]->GetPosTDC(); + TClonesArray* scinNegTDC = fPlanes[ip]->GetNegTDC(); + + fNScinHits[ip] = fPlanes[ip]->GetNScinHits(); + for (Int_t iphit = 0; iphit < fNScinHits[ip]; iphit++ ){ + Int_t paddlePos = ((THcSignalHit*)scinPosTDC->At(iphit))->GetPaddleNumber()-1; + Int_t paddleNeg = ((THcSignalHit*)scinNegTDC->At(iphit))->GetPaddleNumber()-1; + if ( paddlePos != paddleNeg ) + return -1; + + fScinHitPaddle[ip][paddlePos] = 1; + } + } + + // *next, look for clusters of hits in a scin plane. a cluster is a group of + // *adjacent scintillator hits separated by a non-firing scintillator. + // *Wwe count the number of three adjacent scintillators too. (A signle track + // *shouldn't fire three adjacent scintillators. + + for(Int_t ip = 0; ip < fNPlanes; ip++ ) { + // Planes ip = 0 = 1X + // Planes ip = 2 = 2X + if (!fPlanes[ip]) return -1; + fNClust.push_back(0); + fThreeScin.push_back(0); + } + + // *look for clusters in x planes... (16 scins) !this assume both x planes have same + // *number of scintillators. + Int_t icount; + for (Int_t ip = 0; ip < 3; ip +=2 ) { + icount = 0; + if ( fScinHitPaddle[ip][0] == 1 ) + icount ++; + + for (Int_t ipaddle = 0; ipaddle < (Int_t) fNPaddle[0] - 1; ipaddle++ ){ + // !look for number of clusters of 1 or more hits + + if ( ( fScinHitPaddle[ip][ipaddle] == 0 ) && + ( fScinHitPaddle[ip][ipaddle + 1] == 1 ) ) + icount ++; + + } // Loop over paddles + + fNClust[ip] = icount; + icount = 0; + + for (Int_t ipaddle = 0; ipaddle < (Int_t) fNPaddle[0] - 2; ipaddle++ ){ + // !look for three or more adjacent hits + + if ( ( fScinHitPaddle[ip][ipaddle] == 1 ) && + ( fScinHitPaddle[ip][ipaddle + 1] == 1 ) && + ( fScinHitPaddle[ip][ipaddle + 2] == 1 ) ) + icount ++; + } // Second loop over paddles + + if ( icount > 0 ) + fThreeScin[ip] = 1; + + } // Loop over X plane + + // *look for clusters in y planes... (10 scins) !this assume both y planes have same + // *number of scintillators. + + for (Int_t ip = 1; ip < 4; ip +=2 ) { + // Planes ip = 1 = 1Y + // Planes ip = 3 = 2Y + if (!fPlanes[ip]) return -1; + + icount = 0; + if ( fScinHitPaddle[ip][0] == 1 ) + icount ++; + + for (Int_t ipaddle = 0; ipaddle < (Int_t) fNPaddle[1] - 1; ipaddle++ ){ + // !look for number of clusters of 1 or more hits + + if ( ( fScinHitPaddle[ip][ipaddle] == 0 ) && + ( fScinHitPaddle[ip][ipaddle + 1] == 1 ) ) + icount ++; - // Calculation of coordinates of particle track cross point with scint - // plane in the detector coordinate system. For this, parameters of track - // reconstructed in THaVDC::FineTrack() are used. + } // Loop over Y paddles + fNClust[ip] = icount; + icount = 0; + + for (Int_t ipaddle = 0; ipaddle < (Int_t) fNPaddle[1] - 2; ipaddle++ ){ + // !look for three or more adjacent hits + + if ( ( fScinHitPaddle[ip][ipaddle] == 1 ) && + ( fScinHitPaddle[ip][ipaddle + 1] == 1 ) && + ( fScinHitPaddle[ip][ipaddle + 2] == 1 ) ) + icount ++; + + } // Second loop over Y paddles + + if ( icount > 0 ) + fThreeScin[ip] = 1; + + }// Loop over Y planes + + // *now put some "tracking" like cuts on the hslopes, based only on scins... + // *by "slope" here, I mean the difference in the position of scin hits in two + // *like-planes. For example, a track that those great straight through will + // *have a slope of zero. If it moves one scin over from s1x to s2x it has an + // *x-slope of 1... I pick the minimum slope if there are multiple scin hits. + + Double_t bestXpScin = 100.0; + Double_t bestYpScin = 100.0; + + for (Int_t ipaddle = 0; ipaddle < (Int_t) fNPaddle[0]; ipaddle++ ){ + for (Int_t ipaddle2 = 0; ipaddle2 < (Int_t) fNPaddle[0]; ipaddle2++ ){ + + if ( ( fScinHitPaddle[0][ipaddle] == 1 ) && + ( fScinHitPaddle[2][ipaddle2] == 1 ) ){ + + Double_t slope = TMath::Abs(ipaddle - ipaddle2); + + if ( slope < bestXpScin ) { + bestXpScin = slope; + + } + } + } // Second loop over X paddles + } // First loop over X paddles + + + for (Int_t ipaddle = 0; ipaddle < (Int_t) fNPaddle[1]; ipaddle++ ){ + for (Int_t ipaddle2 = 0; ipaddle2 < (Int_t) fNPaddle[1]; ipaddle2++ ){ + + if ( ( fScinHitPaddle[1][ipaddle] == 1 ) && + ( fScinHitPaddle[3][ipaddle2] == 1 ) ){ + + Double_t slope = TMath::Abs(ipaddle - ipaddle2); + + if ( slope < bestYpScin ) { + bestYpScin = slope; + } + } + } // Second loop over Y paddles + } // First loop over Y paddles + + // *next we mask out the edge scintillators, and look at triggers that happened + // *at the center of the acceptance. To change which scins are in the mask + // *change the values of h*loscin and h*hiscin in htracking.param + + // fGoodScinHits = 0; + for (Int_t ifidx = fxLoScin[0]; ifidx < (Int_t) fxHiScin[0]; ifidx ++ ){ + fGoodScinHitsX.push_back(0); + } + + // *first x plane. first see if there are hits inside the scin region + for (Int_t ifidx = fxLoScin[0]-1; ifidx < fxHiScin[0]; ifidx ++ ){ + if ( fScinHitPaddle[0][ifidx] == 1 ){ + fHitSweet1X = 1; + fSweet1XScin = ifidx + 1; + } + } + + // * next make sure nothing fired outside the good region + for (Int_t ifidx = 0; ifidx < fxLoScin[0]-1; ifidx ++ ){ + if ( fScinHitPaddle[0][ifidx] == 1 ){ fHitSweet1X = -1; } + } + for (Int_t ifidx = fxHiScin[0]; ifidx < (Int_t) fNPaddle[0]; ifidx ++ ){ + if ( fScinHitPaddle[0][ifidx] == 1 ){ fHitSweet1X = -1; } + } + + // *second x plane. first see if there are hits inside the scin region + for (Int_t ifidx = fxLoScin[1]-1; ifidx < fxHiScin[1]; ifidx ++ ){ + if ( fScinHitPaddle[2][ifidx] == 1 ){ + fHitSweet2X = 1; + fSweet2XScin = ifidx + 1; + } + } + // * next make sure nothing fired outside the good region + for (Int_t ifidx = 0; ifidx < fxLoScin[1]-1; ifidx ++ ){ + if ( fScinHitPaddle[2][ifidx] == 1 ){ fHitSweet2X = -1; } + } + for (Int_t ifidx = fxHiScin[1]; ifidx < (Int_t) fNPaddle[2]; ifidx ++ ){ + if ( fScinHitPaddle[2][ifidx] == 1 ){ fHitSweet2X = -1; } + } + + // *first y plane. first see if there are hits inside the scin region + for (Int_t ifidx = fyLoScin[0]-1; ifidx < fyHiScin[0]; ifidx ++ ){ + if ( fScinHitPaddle[1][ifidx] == 1 ){ + fHitSweet1Y = 1; + fSweet1YScin = ifidx + 1; + } + } + // * next make sure nothing fired outside the good region + for (Int_t ifidx = 0; ifidx < fyLoScin[0]-1; ifidx ++ ){ + if ( fScinHitPaddle[1][ifidx] == 1 ){ fHitSweet1Y = -1; } + } + for (Int_t ifidx = fyHiScin[0]; ifidx < (Int_t) fNPaddle[1]; ifidx ++ ){ + if ( fScinHitPaddle[1][ifidx] == 1 ){ fHitSweet1Y = -1; } + } + + // *second y plane. first see if there are hits inside the scin region + for (Int_t ifidx = fyLoScin[1]-1; ifidx < fyHiScin[1]; ifidx ++ ){ + if ( fScinHitPaddle[3][ifidx] == 1 ){ + fHitSweet2Y = 1; + fSweet2YScin = ifidx + 1; + } + } + + // * next make sure nothing fired outside the good region + for (Int_t ifidx = 0; ifidx < fyLoScin[1]-1; ifidx ++ ){ + if ( fScinHitPaddle[3][ifidx] == 1 ){ fHitSweet2Y = -1; } + } + for (Int_t ifidx = fyHiScin[1]; ifidx < (Int_t) fNPaddle[3]; ifidx ++ ){ + if ( fScinHitPaddle[3][ifidx] == 1 ){ fHitSweet2Y = -1; } + } + + fTestSum = fHitSweet1X + fHitSweet2X + fHitSweet1Y + fHitSweet2Y; + + // * now define a 3/4 or 4/4 trigger of only good scintillators the value + // * is specified in htracking.param... + if ( fTestSum > fTrackEffTestNScinPlanes ){ + fGoodScinHits = 1; + for (Int_t ifidx = fxLoScin[0]; ifidx < fxHiScin[0]; ifidx ++ ){ + if ( fSweet1XScin == ifidx ) + fGoodScinHitsX[ifidx] = 1; + } + } + + // * require front/back hodoscopes be close to each other + if ( ( fGoodScinHits == 1 ) && ( fTrackEffTestNScinPlanes == 4 ) ){ + if ( TMath::Abs( fSweet1XScin - fSweet2XScin ) > 3 ) + fGoodScinHits = 0; + if ( TMath::Abs( fSweet1YScin - fSweet2YScin ) > 2 ) + fGoodScinHits = 0; + } + + + if ( !fChern || !fShower ) { + return 0; + } + + + if ( ( fGoodScinHits == 1 ) && ( fShower->GetNormETot() > fNormETot ) && + ( fChern->GetCerNPE() > fNCerNPE ) ) + fScinShould = 1; + + if ( ( fGoodScinHits == 1 ) && ( fShower->GetNormETot() > fNormETot ) && + ( fChern->GetCerNPE() > fNCerNPE ) && ( tracks.GetLast() + 1 > 0 ) ) { + fScinDid = 1; + } + return 0; + +} +//_____________________________________________________________________________ +Int_t THcHodoscope::GetScinIndex( Int_t nPlane, Int_t nPaddle ) { + // GN: Return the index of a scintillator given the plane # and the paddle # + // This assumes that both planes and + // paddles start counting from 0! + // Result also counts from 0. + return fNPlanes*nPaddle+nPlane; +} +//_____________________________________________________________________________ +Int_t THcHodoscope::GetScinIndex( Int_t nSide, Int_t nPlane, Int_t nPaddle ) { + return nSide*fMaxHodoScin+fNPlanes*nPaddle+nPlane-1; +} +//_____________________________________________________________________________ +Double_t THcHodoscope::GetPathLengthCentral() { + return fPathLengthCentral; } - ClassImp(THcHodoscope) //////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcHodoscope.h b/src/THcHodoscope.h index df56b5376606de6b139ca51eafc5514e3f828beb..b0af34fba9f647f4acb7cdfa0247247037bebc0a 100644 --- a/src/THcHodoscope.h +++ b/src/THcHodoscope.h @@ -7,11 +7,29 @@ // // /////////////////////////////////////////////////////////////////////////////// +#include <vector> + #include "TClonesArray.h" #include "THaNonTrackingDetector.h" #include "THcHitList.h" -#include "THcHodoscopeHit.h" +#include "THcRawHodoHit.h" #include "THcScintillatorPlane.h" +#include "THcShower.h" +#include "THcCherenkov.h" + +#include "THaTrackingDetector.h" +#include "THcHitList.h" +#include "THcRawDCHit.h" +#include "THcSpacePoint.h" +#include "THcDriftChamberPlane.h" +#include "THcDriftChamber.h" +#include "TMath.h" + +#include "THaSubDetector.h" +#include "TClonesArray.h" +#include <iostream> +#include <fstream> + class THaScCalib; @@ -24,36 +42,168 @@ public: virtual Int_t Decode( const THaEvData& ); virtual EStatus Init( const TDatime& run_time ); + virtual Int_t CoarseProcess( TClonesArray& tracks ); virtual Int_t FineProcess( TClonesArray& tracks ); virtual Int_t ApplyCorrections( void ); - - // Int_t GetNHits() const { return fNhit; } - + Double_t GetStartTime() const { return fStartTime; } + Bool_t IsStartTimeGood() const {return fGoodStartTime;}; + Int_t GetNfptimes() const {return fNfptimes;}; + Int_t GetScinIndex(Int_t nPlane, Int_t nPaddle); + Int_t GetScinIndex(Int_t nSide, Int_t nPlane, Int_t nPaddle); + Double_t GetPathLengthCentral(); Int_t GetNTracks() const { return fTrackProj->GetLast()+1; } + Double_t GetTdcMin() const {return fScinTdcMin;} + Double_t GetTdcMax() const {return fScinTdcMax;} + Double_t GetTofTolerance() const {return fTofTolerance;} + Double_t GetTdcToTime() const {return fScinTdcToTime;} + Double_t GetBetaNominal() const {return fBetaNominal;} + Double_t GetHodoPosPhcCoeff(Int_t iii) const {return fHodoPosPhcCoeff[iii];} + Double_t GetHodoNegPhcCoeff(Int_t iii) const {return fHodoNegPhcCoeff[iii];} + Double_t GetHodoPosMinPh(Int_t iii) const {return fHodoPosMinPh[iii];} + Double_t GetHodoNegMinPh(Int_t iii) const {return fHodoNegMinPh[iii];} + Double_t GetHodoPosTimeOffset(Int_t iii) const {return fHodoPosTimeOffset[iii];} + Double_t GetHodoNegTimeOffset(Int_t iii) const {return fHodoNegTimeOffset[iii];} + Double_t GetHodoVelLight(Int_t iii) const {return fHodoVelLight[iii];} + Double_t GetStartTimeCenter() const {return fStartTimeCenter;} + Double_t GetStartTimeSlop() const {return fStartTimeSlop;} + Double_t GetBetaNotrk() const {return fBetaNotrk;} + + Int_t GetGoodRawPad(Int_t iii){return fTOFCalc[iii].good_raw_pad;} + Int_t GetGoodRawPlane(Int_t iii){return fTOFCalc[iii].pindex;} + Int_t GetNScinHits(Int_t iii){return fNScinHits[iii];} + Int_t GetTotHits(){return fTOFCalc.size();} + + UInt_t GetNPaddles(Int_t iii) { return fNPaddle[iii];} + Double_t GetHodoSlop(Int_t iii) { return fHodoSlop[iii];} + Double_t GetPlaneCenter(Int_t iii) { return fPlaneCenter[iii];} + Double_t GetPlaneSpacing(Int_t iii) { return fPlaneSpacing[iii];} + + // Double_t GetBeta() const {return fBeta[];} + + // Not used + //Double_t GetBeta(Int_t itrack) const {return fBeta[itrack];} // Ahmed + // Int_t GetEvent(){ return fCheckEvent;} + + Double_t GetHodoPosSigma(Int_t iii) const {return fHodoPosSigma[iii];} + Double_t GetHodoNegSigma(Int_t iii) const {return fHodoNegSigma[iii];} + + const TClonesArray* GetTrackHits() const { return fTrackProj; } - + friend class THaScCalib; THcHodoscope(); // for ROOT I/O protected: + Int_t fAnalyzePedestals; + // Calibration // Per-event data + Bool_t fGoodStartTime; + Double_t fStartTime; + Int_t fNfptimes; + Double_t fBetaNotrk; + // Per-event data // Potential Hall C parameters. Mostly here for demonstration - Int_t fNPlanes; - Int_t* fNPaddle; // Number of paddles per plane - Double_t* fSpacing; // Paddle spacing in cm - Double_t** fCenter; // Center position of each paddle + Int_t fNPlanes; // Number of planes + UInt_t fMaxScinPerPlane,fMaxHodoScin; // max number of scin/plane; product of the first two + Double_t fStartTimeCenter, fStartTimeSlop, fScinTdcToTime; + Double_t fTofTolerance; + Double_t fPathLengthCentral; + Double_t fScinTdcMin, fScinTdcMax; // min and max TDC values + char** fPlaneNames; + UInt_t* fNPaddle; // Number of paddles per plane + + Double_t* fHodoVelLight; + Double_t* fHodoPosSigma; + Double_t* fHodoNegSigma; + + Double_t* fHodoPosMinPh; + Double_t* fHodoNegMinPh; + Double_t* fHodoPosPhcCoeff; + Double_t* fHodoNegPhcCoeff; + Double_t* fHodoPosTimeOffset; + Double_t* fHodoNegTimeOffset; + Int_t* fHodoPosPedLimit; + Int_t* fHodoNegPedLimit; + Int_t fTofUsingInvAdc; + Double_t* fHodoPosInvAdcOffset; + Double_t* fHodoNegInvAdcOffset; + Double_t* fHodoPosInvAdcLinear; + Double_t* fHodoNegInvAdcLinear; + Double_t* fHodoPosInvAdcAdc; + Double_t* fHodoNegInvAdcAdc; - THcScintillatorPlane** fPlane; // List of plane objects + Double_t fPartMass; // Nominal particle mass + Double_t fBetaNominal; // Beta for central ray of nominal particle type + + THcScintillatorPlane** fPlanes; // List of plane objects TClonesArray* fTrackProj; // projection of track onto scintillator plane // and estimated match to TOF paddle + + //-------------------------- Ahmed ----------------------------- + + THcShower* fShower; + THcCherenkov* fChern; + + + Int_t fCheckEvent; + Int_t fEventType; + + Int_t fGoodTrack; + Double_t fScin2XZpos; + Double_t fScin2XdZpos; + Double_t fScin2YZpos; + Double_t fScin2YdZpos; + + Double_t fChi2Min; + Double_t* fPlaneCenter; + Double_t* fPlaneSpacing; + + Double_t fNormETot; + Double_t fNCerNPE; + Double_t* fHodoSlop; + Int_t fTestSum; + Int_t fTrackEffTestNScinPlanes; + Int_t fGoodScinHits; + Int_t fScinShould; + Int_t fScinDid; + Int_t* fxLoScin; + Int_t* fxHiScin; + Int_t* fyLoScin; + Int_t* fyHiScin; + Int_t fNHodoscopes; + + Int_t fHitSweet1X; + Int_t fHitSweet1Y; + Int_t fHitSweet2X; + Int_t fHitSweet2Y; + + Int_t fSweet1XScin; + Int_t fSweet1YScin; + Int_t fSweet2XScin; + Int_t fSweet2YScin; + + // Double_t** fScinHit; // [fNPlanes] Array + + Double_t* fFPTime; // [fNPlanes] Array + + + Double_t* fSumPlaneTime; // [fNPlanes] + + Int_t* fNScinHits; // [fNPlanes] + Int_t* fNPlaneTime; // [fNPlanes] + + Bool_t* fGoodPlaneTime; // [fNPlanes] + + //---------------------------------------------------------------- + // Useful derived quantities // double tan_angle, sin_angle, cos_angle; @@ -71,17 +221,67 @@ protected: // Double_t* gain; // } fDataDest[NDEST]; // Lookup table for decoder + // Used in TOF calculation (FineProcess) to hold information about hits + // within a given plane + struct TOFPInfo { + Double_t time_pos; + Double_t time_neg; + Bool_t keep_pos; + Bool_t keep_neg; + Double_t adcPh; + Double_t path; + Double_t time; + Double_t scin_pos_time; + Double_t scin_neg_time; + TOFPInfo () : time_pos(-99.0), time_neg(-99.0), keep_pos(kFALSE), + keep_neg(kFALSE), scin_pos_time(0.0), scin_neg_time(0.0) {} + }; + std::vector<TOFPInfo> fTOFPInfo; + + // Used to hold information about all hits within the hodoscope for the TOF + struct TOFCalc { + Int_t hit_paddle; + Int_t pindex; // Plane index + Int_t good_raw_pad; + Bool_t good_scin_time; + Bool_t good_tdc_pos; + Bool_t good_tdc_neg; + Double_t scin_time; + Double_t scin_sigma; + Double_t dedx; + TOFCalc() : good_scin_time(kFALSE), good_tdc_pos(kFALSE), + good_tdc_neg(kFALSE) {} + }; + std::vector<TOFCalc> fTOFCalc; + // This doesn't work because we clear this structure each track + // Do we need an vector of vectors of structures? + // Start with a separate vector of vectors for now. + std::vector<std::vector<Double_t> > fdEdX; // Vector over track # + std::vector<Int_t > fNScinHit; // # scins hit for the track + std::vector<std::vector<Double_t> > fScinHitPaddle; // Vector over hits in a plane # + std::vector<Int_t > fNClust; // # scins clusters for the plane + std::vector<Int_t > fThreeScin; // # scins three clusters for the plane + std::vector<Int_t > fGoodScinHitsX; // # hits in fid x range + // Could combine the above into a structure + + // + void ClearEvent(); void DeleteArrays(); virtual Int_t ReadDatabase( const TDatime& date ); virtual Int_t DefineVariables( EMode mode = kDefine ); - + Double_t DefineDoubleVariable(const char* fName); + Int_t DefineIntVariable(const char* fName); + void DefineArray(const char* fName, const Int_t index, Double_t *myArray); + void DefineArray(const char* fName, char** Suffix, const Int_t index, Double_t *myArray); + void DefineArray(const char* fName, char** Suffix, const Int_t index, Int_t *myArray); enum ESide { kLeft = 0, kRight = 1 }; virtual Double_t TimeWalkCorrection(const Int_t& paddle, const ESide side); + void Setup(const char* name, const char* description); - ClassDef(THcHodoscope,0) // Generic hodoscope class + ClassDef(THcHodoscope,0) // Hodoscope detector }; //////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcInterface.cxx b/src/THcInterface.cxx index 887c578e365631a327e1fcc1ad3b40faf65f01f9..e7c1d5b2e7631c6da07be1c5fa9148e655ea5442 100644 --- a/src/THcInterface.cxx +++ b/src/THcInterface.cxx @@ -38,15 +38,15 @@ using namespace std; -THaVarList* gHaVars = NULL; // List of symbolic analyzer variables -THaCutList* gHaCuts = NULL; // List of global analyzer cuts/tests -TList* gHaApps = NULL; // List of Apparatuses -TList* gHaScalers = NULL; // List of scaler groups -TList* gHaPhysics = NULL; // List of physics modules -THaRunBase* gHaRun = NULL; // The currently active run -TClass* gHaDecoder = NULL; // Class(!) of decoder to use -THaDB* gHaDB = NULL; // Database system to use -THaTextvars* gHaTextvars = NULL; // Text variable definitions +//THaVarList* gHaVars = NULL; // List of symbolic analyzer variables +//THaCutList* gHaCuts = NULL; // List of global analyzer cuts/tests +//TList* gHaApps = NULL; // List of Apparatuses +//TList* gHaScalers = NULL; // List of scaler groups +//TList* gHaPhysics = NULL; // List of physics modules +//THaRunBase* gHaRun = NULL; // The currently active run +//TClass* gHaDecoder = NULL; // Class(!) of decoder to use +//THaDB* gHaDB = NULL; // Database system to use +//THaTextvars* gHaTextvars = NULL; // Text variable definitions THcParmList* gHcParms = NULL; // List of symbolic analyzer variables THcDetectorMap* gHcDetectorMap = NULL; // Global (Hall C style) detector map @@ -73,7 +73,7 @@ THcInterface::THcInterface( const char* appClassName, int* argc, char** argv, if( !noLogo ) PrintLogo(); - SetPrompt("analyzer [%d] "); + SetPrompt("analyzerThcInterface [%d] "); gHaVars = new THaVarList; gHcParms = new THcParmList; gHaCuts = new THaCutList( gHaVars ); @@ -86,6 +86,9 @@ THcInterface::THcInterface( const char* appClassName, int* argc, char** argv, // gHaDB = new THaFileDB(); gHaTextvars = new THaTextvars; + // cout << "In THcInterface ... " << endl; + // cout << "Decoder => " << gHaDecoder << endl; + // Set the maximum size for a file written by Podd contained by the TTree // putting it to 1.5 GB, down from the default 1.9 GB since something odd // happens for larger files @@ -231,6 +234,7 @@ void THcInterface::PrintLogo( Bool_t lite ) TClass* THcInterface::GetDecoder() { // Get class of the current decoder + cout << "In THcInterface::GetDecoder ... " << gHaDecoder << endl; return gHaDecoder; } @@ -251,6 +255,8 @@ TClass* THcInterface::SetDecoder( TClass* c ) return NULL; } + cout << "In THcInterface::SetDecoder ... " << c << endl; + gHaDecoder = c; return gHaDecoder; } diff --git a/src/THcParmList.cxx b/src/THcParmList.cxx index 33087c882e7971c8d6f03013ff9bd2e9d9188e6d..e6caee667ac2d9aaf70b92790fbd6acdad46678a 100644 --- a/src/THcParmList.cxx +++ b/src/THcParmList.cxx @@ -10,11 +10,13 @@ #include "TObjArray.h" #include "TObjString.h" +#include "TSystem.h" #include "THcParmList.h" #include "THaVar.h" #include "THaFormula.h" +#include "TMath.h" /* #incluce <algorithm> include <fstream> include <cstring> */ #include <iostream> @@ -23,19 +25,35 @@ #include <cstdlib> using namespace std; +Int_t fDebug = 1; // Keep this at one while we're working on the code ClassImp(THcParmList) +THcParmList::THcParmList() : THaVarList() +{ + TextList = new THaTextvars; +} + inline static bool IsComment( const string& s, string::size_type pos ) { return ( pos != string::npos && pos < s.length() && (s[pos] == '#' || s[pos] == ';' || s.substr(pos,2) == "//") ); } -void THcParmList::Load( const char* fname ) +void THcParmList::Load( const char* fname, Int_t RunNumber ) { + // Read a CTP style parameter file. + // + // Parameter values and arrays of values are cached in a THaVarList + // and are available for use elsewhere in the analyzer. + // Text strings are saved in a THaTextvars list. + // Parameter files can contain "include" statements of the form + // #include "filename" + // + // If a run number is given, ignore input until a line with a matching + // run number or run number range is found. All parameters following + // the are read until a non matching run number or range is encountered. - static const char* const here = "THcParmList::LoadFromFile"; static const char* const whtspc = " \t"; ifstream ifiles[100]; // Should use stack instead @@ -43,30 +61,40 @@ void THcParmList::Load( const char* fname ) Int_t nfiles=0; ifiles[nfiles].open(fname); if(ifiles[nfiles].is_open()) { - cout << nfiles << ": " << "Opened \"" << fname << "\"" << endl; + cout << "Opening parameter file: [" << nfiles << "] " << fname << endl; nfiles++; } if(!nfiles) { + static const char* const here = "THcParmList::LoadFromFile"; Error (here, "error opening parameter file %s",fname); return; // Need a success argument returned } string line; - Int_t nlines_read = 0, nparameters_read = 0; char varname[100]; + Int_t InRunRange; + Int_t currentindex = 0; varname[0] = '\0'; + if(RunNumber > 0) { + InRunRange = 0; // Wait until run number range matching RunNumber is found + cout << "Reading Parameters for run " << RunNumber << endl; + } else { + InRunRange = 1; // Interpret all lines + } + while(nfiles) { string current_comment(""); - string existing_comment(""); + // EJB_Note: existing_comment is never used. + // string existing_comment(""); string::size_type start, pos = 0; if(!getline(ifiles[nfiles-1],line)) { ifiles[nfiles-1].close(); nfiles--; - cout << nfiles << ": " << "Closed" << endl; + // cout << nfiles << ": " << "Closed" << endl; continue; } // Look for include statement @@ -84,16 +112,15 @@ void THcParmList::Load( const char* fname ) } else { line.erase(line.find_first_of(whtspc)); } - cout << line << endl; + // cout << line << endl; ifiles[nfiles].open(line.c_str()); if(ifiles[nfiles].is_open()) { - cout << nfiles << ": " << "Opened \"" << line << "\"" << endl; + cout << "Opening parameter file: [" << nfiles << "] " << line << endl; nfiles++; } continue; } - // Blank line or comment? if( line.empty() || (start = line.find_first_not_of( whtspc )) == string::npos @@ -108,12 +135,12 @@ void THcParmList::Load( const char* fname ) current_comment.assign(line,pos+1,line.length()); line.erase(pos); // Strip off comment // Strip leading white space from comment - cout << "CommentA: " << current_comment << endl; + //cout << "CommentA: " << current_comment << endl; pos = current_comment.find_first_not_of(whtspc); if(pos!=string::npos && pos > 0 && pos < current_comment.length()) { current_comment.erase(0,pos); } - cout << "CommentB: " << current_comment << endl; + //cout << "CommentB: " << current_comment << endl; break; } } @@ -132,33 +159,103 @@ void THcParmList::Load( const char* fname ) cout << "Skipping: " << line << endl; continue; } - // Ignore string assingments - if(line.find_first_of("\"'")!=string::npos) { - cout << "Skipping string assignment: " << line << endl; - continue; - } - // Get rid of all white space - while((pos=line.find_first_of(whtspc)) != string::npos) { - line.erase(pos,1); + // Get rid of all white space not in quotes + // Step through one char at a time + pos = 0; + int inquote=0; + char quotechar=' '; + // cout << "Unstripped line: |" << line << "|" << endl; + while(pos<line.length()) { + if(inquote) { + if(line[pos++] == quotechar) { // Possibly end of quoted string + if(line[pos] == quotechar) { // Protected quote + pos++; // Skip the protected quote + } else { // End of quoted string + inquote = 0; + quotechar = ' '; + pos++; + } + } + } else { + if(line[pos] == ' ' || line[pos] == '\t') { + line.erase(pos,1); + } else if(line[pos] == '"' || line[pos] == '\'') { + quotechar = line[pos++];\ + inquote = 1; + } else { + pos++; + } + } } + // cout << "Stripped line: |" << line << "|" << endl; + // Need to do something to bug out if line is empty + // If in Engine database mode, check if line is a number range AAAA-BBBB + if(RunNumber>0) { + if(line.find_first_not_of("0123456789-")==string::npos) { // Interpret as runnum range + if( (pos=line.find_first_of("-")) != string::npos) { + Int_t RangeStart=atoi(line.substr(0,pos).c_str()); + Int_t RangeEnd=atoi(line.substr(pos+1,string::npos).c_str()); + if(RunNumber >= RangeStart && RunNumber <= RangeEnd) { + InRunRange = 1; + } else { + InRunRange = 0; + } + } else { // A single number. Run + if(atoi(line.c_str()) == RunNumber) { + InRunRange = 1; + } else { + InRunRange = 0; + } + } + continue; // Skip to next line + } + } + + if(!InRunRange) continue; + // Interpret left of = as var name Int_t valuestartpos=0; // Stays zero if no = found - Int_t existinglength=0; Int_t ttype = 0; // Are any of the values floating point? if((pos=line.find_first_of("="))!=string::npos) { strcpy(varname, (line.substr(0,pos)).c_str()); valuestartpos = pos+1; + currentindex = 0; } + // If first char after = is a quote, then this is a string assignment + if(line[valuestartpos] == '"' || line[valuestartpos] == '\'') { + quotechar = line[valuestartpos++]; + // Scan until end of line or terminating quote + // valuestartpos++; + pos = valuestartpos; + while(pos<line.length()) { + if(line[pos++] == quotechar) { // Possibly end of quoted string + if(line[pos] == quotechar) { // Protected quote + pos++; + } else { + pos--; + break; + } + } + } + if(TextList) { + // Should check that a numerical assignment doesn't exist, but for + // now, the same variable name can be used for strings and numbers + string varnames(varname); + AddString(varnames, line.substr(valuestartpos,pos-valuestartpos)); + } + continue; + } + TString values((line.substr(valuestartpos)).c_str()); TObjArray *vararr = values.Tokenize(","); Int_t nvals = vararr->GetLast()+1; - Int_t* ip; - Double_t* fp; + Int_t* ip=0; + Double_t* fp=0; // or expressions for(Int_t i=0;(ttype==0&&i<nvals);i++) { TString valstr = ((TObjString *)vararr->At(i))->GetString(); @@ -173,20 +270,43 @@ void THcParmList::Load( const char* fname ) } } - if(valuestartpos==0) { // We are adding to an existing array - // Copy out the array and delete the variable to be recreated - THaVar* existingvar=Find(varname); - if(existingvar) { - string existingcomment; - existingcomment.assign(existingvar->GetTitle()); - if(!existingcomment.empty()) { - current_comment.assign(existingcomment); - } - existinglength=existingvar->GetLen(); - Int_t existingtype=existingvar->GetType(); + // New pseudo code + // currentindex = where next item goes + // nvals = number of new items on line + // newlength = curentindex+nvals + + // if (variable already exists) (valuestartpos is 0 or a find succeeded) + // get existinglegnth + // if (existinglength > newlength && type doesn't change) { + // copy nvals values directly into array + // else + // make new longer array of length max(existinglength, newlength) + // copy existinglength values into longer array changing type if needed + // delete old varname + // recreate varname of proper length + // else (variable doesn't exist) + // make array of newlength + // create varname + // + // There is some code duplication here. Refactor later + + Int_t newlength = currentindex + nvals; + THaVar* existingvar=Find(varname); + if(existingvar) { + string existingcomment; + existingcomment.assign(existingvar->GetTitle()); + if(!existingcomment.empty()) { + current_comment.assign(existingcomment); + } + Int_t existingtype=existingvar->GetType(); + Int_t existinglength=existingvar->GetLen(); + if(newlength > existinglength || + (existingtype == kInt && ttype > 0)) { // Length or type change needed + if(newlength < existinglength) newlength = existinglength; + Int_t newtype=-1; if(ttype>0 || existingtype == kDouble) { - ttype = 1; - fp = new Double_t[nvals+existinglength]; + newtype = kDouble; + fp = new Double_t[newlength]; if(existingtype == kDouble) { Double_t* existingp= (Double_t*) existingvar->GetValuePointer(); for(Int_t i=0;i<existinglength;i++) { @@ -201,7 +321,8 @@ void THcParmList::Load( const char* fname ) cout << "Whoops!" << endl; } } else if(existingtype == kInt) { // Stays int - ip = new Int_t[nvals+existinglength]; + newtype = kInt; + ip = new Int_t[newlength]; Int_t* existingp= (Int_t*) existingvar->GetValuePointer(); for(Int_t i=0;i<existinglength;i++) { ip[i] = existingp[i]; @@ -209,49 +330,100 @@ void THcParmList::Load( const char* fname ) } else { cout << "Whoops!" << endl; } + // Now copy new values in + for(Int_t i=0;i<nvals;i++) { + TString valstr = ((TObjString *)vararr->At(i))->GetString(); + if(newtype == kInt) { + ip[currentindex+i] = valstr.Atoi(); + } else { + if(valstr.IsFloat()) { + fp[currentindex+i] = valstr.Atof(); + } else { + THaFormula* formula = new THaFormula("temp",valstr.Data() + ,this, 0); + fp[currentindex+i] = formula->Eval(); + delete formula; + } + } + } + currentindex += nvals; + // Remove old variable and recreate + if(existingtype == kDouble) { + delete [] (Double_t*) existingvar->GetValuePointer(); + } else if (existingtype == kInt) { + delete [] (Int_t*) existingvar->GetValuePointer(); + } RemoveName(varname); - } - } - - if(nvals > 0) { // It's an array - // Type the array floating unless all are ints. (if any variables - // or expressions, go floating) - // Allocate the array - if(existinglength==0) { - if(ttype==0) { - ip = new Int_t[nvals]; + char *arrayname=new char [strlen(varname)+20]; + sprintf(arrayname,"%s[%d]",varname,newlength); + if(newtype == kInt) { + Define(arrayname, current_comment.c_str(), *ip); + } else { + Define(arrayname, current_comment.c_str(), *fp); + } + delete[] arrayname; + } else { + // Existing array long enough and of right type, just copy to it. + if(ttype == 0 && existingtype == kInt) { + Int_t* existingp= (Int_t*) existingvar->GetValuePointer(); + for(Int_t i=0;i<nvals;i++) { + TString valstr = ((TObjString *)vararr->At(i))->GetString(); + existingp[currentindex+i] = valstr.Atoi(); + } } else { - fp = new Double_t[nvals]; + Double_t* existingp= (Double_t*) existingvar->GetValuePointer(); + for(Int_t i=0;i<nvals;i++) { + TString valstr = ((TObjString *)vararr->At(i))->GetString(); + if(valstr.IsFloat()) { + existingp[currentindex+i] = valstr.Atof(); + } else { + THaFormula* formula = new THaFormula("temp",valstr.Data() + ,this, 0); + existingp[currentindex+i] = formula->Eval(); + delete formula; + } + } } + currentindex += nvals; + } + } else { + if(currentindex !=0) { + cout << "currentindex=" << currentindex << " shouldn't be!" << endl; + } + if(ttype==0) { + ip = new Int_t[nvals]; + } else { + fp = new Double_t[nvals]; } for(Int_t i=0;i<nvals;i++) { TString valstr = ((TObjString *)vararr->At(i))->GetString(); if(ttype==0) { - ip[existinglength+i] = valstr.Atoi(); + ip[i] = valstr.Atoi(); } else { if(valstr.IsFloat()) { - fp[existinglength+i] = valstr.Atof(); + fp[i] = valstr.Atof(); } else { THaFormula* formula = new THaFormula("temp",valstr.Data() ,this, 0); - fp[existinglength+i] = formula->Eval(); + fp[i] = formula->Eval(); delete formula; } } - // cout << i << " " << valstr << endl;; } + currentindex = nvals; + char *arrayname=new char [strlen(varname)+20]; - sprintf(arrayname,"%s[%d]",varname,nvals+existinglength); + sprintf(arrayname,"%s[%d]",varname,nvals); if(ttype==0) { Define(arrayname, current_comment.c_str(), *ip); } else { Define(arrayname, current_comment.c_str(), *fp); } delete[] arrayname; - } else { - cout << "nvals is zero?? Maybe continued on next line" << endl; } + delete vararr; // Discard result of Tokenize + // cout << line << endl; } @@ -259,4 +431,274 @@ void THcParmList::Load( const char* fname ) return; } -// +//_____________________________________________________________________________ +Int_t THcParmList::LoadParmValues(const DBRequest* list, const char* prefix) +{ + // Load a number of entries from the database. + // For array entries, the number of elements to be read in + // must be given, and the memory already allocated + // NOTE: initial code taken wholesale from THaDBFile. + // GN 2012 + // If prefix is specified, prepend each requested parameter name with + // the prefix. + + const DBRequest *ti = list; + Int_t cnt=0; + Int_t this_cnt=0; + + if( !prefix ) prefix = ""; + + while ( ti && ti->name ) { + string keystr(prefix); keystr.append(ti->name); + const char* key = keystr.c_str(); + /// cout <<"Now at "<<ti->name<<endl; + this_cnt = 0; + if(this->Find(key)) { + VarType ty = this->Find(key)->GetType(); + if (ti->nelem>1) { + // it is an array, use the appropriateinterface + switch (ti->type) { + case (kDouble) : + this_cnt = GetArray(key,static_cast<Double_t*>(ti->var),ti->nelem); + break; + case (kInt) : + this_cnt = GetArray(key,static_cast<Int_t*>(ti->var),ti->nelem); + break; + default: + Error("THcParmList","Invalid type to read %s",key); + break; + } + + } else { + switch (ti->type) { + case (kDouble) : + if(ty == kInt) { + *static_cast<Double_t*>(ti->var)=*(Int_t *)this->Find(key)->GetValuePointer(); + } else if (ty == kDouble) { + *static_cast<Double_t*>(ti->var)=*(Double_t *)this->Find(key)->GetValuePointer(); + } else { + cout << "*** ERROR!!! Type Mismatch " << key << endl; + } + this_cnt=1; + + break; + case (kInt) : + if(ty == kInt) { + *static_cast<Int_t*>(ti->var)=*(Int_t *)this->Find(key)->GetValuePointer(); + } else if (ty == kDouble) { + *static_cast<Int_t*>(ti->var)=TMath::Nint(*(Double_t *)this->Find(key)->GetValuePointer()); + cout << "*** WARNING!!! Rounded " << key << " to nearest integer " << endl; + } else { + cout << "*** ERROR!!! Type Mismatch " << key << endl; + } + this_cnt=1; + break; + default: + Error("THcParmList","Invalid type to read %s",key); + break; + } + } + } else { // See if it is a text variable + const char* value = GetString(key); + if(value) { + this_cnt = 1; + if(ti->type == kString) { + *((string*)ti->var) = string(value); + } else if (ti->type == kTString) { + *((TString*)ti->var) = (TString) value; + } else { + Error("THcParmList","No conversion for strings: %s",key); + } + } + } + if (this_cnt<=0) { + if ( !ti->optional ) { + Fatal("THcParmList","Could not find %s in database!",key); + } + } + cnt += this_cnt; + ti++; + } + return cnt; +} + +// READING AN ARRAY INTO A C-style ARRAY +//_____________________________________________________________________________ +Int_t THcParmList::GetArray(const char* attr, Int_t* array, Int_t size) +{ + // Read in a set of Int_t's in to a C-style array. + + return ReadArray(attr,array,size); +} +//_____________________________________________________________________________ +Int_t THcParmList::GetArray(const char* attr, Double_t* array, Int_t size) +{ + // Read in a set of Double_t's in to a vector. + + return ReadArray(attr,array,size); +} + +//_____________________________________________________________________________ +template<class T> +Int_t THcParmList::ReadArray(const char* attrC, T* array, Int_t size) +{ + // Copy values from parameter store to array + // No resizing is done, so only 'size' elements may be stored. + + Int_t cnt=0; + + THaVar *var = Find(attrC); + if(!var) return(cnt); + VarType ty = var->GetType(); + if( ty != kInt && ty != kDouble) { + cout << "*** ERROR: " << attrC << " has unsupported type " << ty << endl; + return(cnt); + } + Int_t sz = var->GetLen(); + const void *vp = var->GetValuePointer(); + if(size != sz) { + cout << "*** WARNING: requested " << size << " elements of " << attrC << + " which has length " << sz << endl; + } + if(size<sz) sz = size; + Int_t donint = 0; + if(ty == kDouble && typeid(array[0]) == typeid(Int_t)) { + donint = 1; // Use nint when putting doubles in nint + cout << "*** WARNING!!! Rounded " << attrC << " elements to nearest integer " << endl; + } + for(cnt=0;cnt<sz;cnt++) { + if(ty == kInt) { + array[cnt] = ((Int_t*)vp)[cnt]; + } else + if(donint) { + array[cnt] = TMath::Nint(((Double_t*)vp)[cnt]); + } else { + array[cnt] = ((Double_t*)vp)[cnt]; + } + } + return(cnt); +} + +//_____________________________________________________________________________ +void THcParmList::PrintFull( Option_t* option ) const +{ + // Print all the numeric parameter desciptions and values. + // Print all the text parameters + THaVarList::PrintFull(option); + TextList->Print(); +} +#ifdef WITH_CCDB +//_____________________________________________________________________________ +Int_t THcParmList::OpenCCDB(Int_t runnum) +{ + // Use the Environment variable "CCDB_CONNECTION" as the + // connection string + const char* connection_string = gSystem->Getenv("CCDB_CONNECTION"); + + return(OpenCCDB(runnum,connection_string)); +} +Int_t THcParmList::OpenCCDB(Int_t runnum, const char* connection_string) +{ + // Connect to a CCDB database pointed to by connection_string + + std::string s (connection_string); + CCDB_obj = new SQLiteCalibration(runnum); + Int_t result = CCDB_obj->Connect(s); + if(!result) return -1; // Need some error codes + cout << "Opened " << s << " for run " << runnum << endl; + return 0; +} +Int_t THcParmList::CloseCCDB() +{ + delete CCDB_obj; + return(0); +} +Int_t THcParmList::LoadCCDBDirectory(const char* directory, + const char* prefix) +{ + // Load all parameters in directory + // Prepend prefix onto the name of each + + std::string dirname (directory); + + if(dirname[dirname.length()-1]!='/') { + dirname.append("/"); + } + Int_t dirlen=dirname.length(); + + vector<string> namepaths; + CCDB_obj->GetListOfNamepaths(namepaths); + for(UInt_t iname=0;iname<namepaths.size();iname++) { + std::string varname (namepaths[iname]); + if(varname.compare(0,dirlen,dirname) == 0) { + varname.replace(0,dirlen,prefix); + // cout << namepaths[iname] << " -> " << varname << endl; + + // To what extent is there duplication here with Load() method? + + // Retrieve assignment + Assignment* assignment = CCDB_obj->GetAssignment(namepaths[iname], true); + ConstantsTypeColumn::ColumnTypes ccdbtype=assignment->GetValueType(0); + Int_t ccdbncolumns=assignment->GetColumnsCount(); + Int_t ccdbnrows=assignment->GetRowsCount(); + std::string title = assignment->GetTypeTable()->GetComment(); + + // Only load single column tables + if(ccdbncolumns == 1) { + + THaVar* existingvar=Find(varname.c_str()); + // Need to append [size] to end of varname + char sizestring[20]; + sprintf(sizestring,"[%d]",ccdbnrows); + std::string size_str (sizestring); + std::string varnamearray (varname); + varnamearray.append(size_str); + + // Select data type + if(ccdbtype==ConstantsTypeColumn::cIntColumn) { + vector<vector<int> > data; + CCDB_obj->GetCalib(data, namepaths[iname]); + + if(existingvar) { + RemoveName(varname.c_str()); + } + + Int_t* ip = new Int_t[data.size()]; + for(UInt_t row=0;row<data.size(); row++) { + ip[row] = data[row][0]; + } + Define(varnamearray.c_str(), title.c_str(), *ip); + + } else if (ccdbtype==ConstantsTypeColumn::cDoubleColumn) { + vector<vector<double> > data; + CCDB_obj->GetCalib(data, namepaths[iname]); + + if(existingvar) { + RemoveName(varname.c_str()); + } + + Double_t* fp = new Double_t[data.size()]; + for(UInt_t row=0;row<data.size(); row++) { + fp[row] = data[row][0]; + } + Define(varnamearray.c_str(), title.c_str(), *fp); + } else if (ccdbtype==ConstantsTypeColumn::cStringColumn) { + if(ccdbnrows > 1) { + cout << namepaths[iname] << ": Only first element of CCDB string array loaded." << endl; + } + vector<vector<string> > data; + CCDB_obj->GetCalib(data, namepaths[iname]); + AddString(varname, data[0][0]); + } else { + cout << namepaths[iname] << ": Unsupported CCDB data type: " << ccdbtype << endl; + } + } else { + cout << namepaths[iname] << ": Multicolumn CCDB variables not supported" << endl; + } + } + } + return 0; +} + +#endif + diff --git a/src/THcParmList.h b/src/THcParmList.h index 03e0f4c67fd40d912c4386b3e5a66847bcb869ab..d1a2fd667976fdfb3c5dbcafb5af2417d541b37d 100644 --- a/src/THcParmList.h +++ b/src/THcParmList.h @@ -8,15 +8,67 @@ ////////////////////////////////////////////////////////////////////////// #include "THaVarList.h" +#include "THaTextvars.h" + +#ifdef WITH_CCDB +#ifdef __CINT__ +struct pthread_cond_t; +struct pthread_mutex_t; +#endif +#include <CCDB/Calibration.h> +#include <CCDB/SQLiteCalibration.h> +using namespace ccdb; +#endif + +using namespace std; + + class THcParmList : public THaVarList { public: - THcParmList() : THaVarList() {} - virtual ~THcParmList() { Clear(); } + THcParmList(); + virtual ~THcParmList() { Clear(); delete TextList; } + + virtual void Load( const char *fname, Int_t RunNumber=0); + + virtual void PrintFull(Option_t *opt="") const; + + const char* GetString(const std::string& name) const { + return(TextList->Get(name, 0)); + } + + Int_t AddString(const std::string& name, const std::string& value) { + return(TextList->Add(name, value)); + } + void RemoveString(const std::string& name) { + TextList->Remove(name); + } + + Int_t LoadParmValues(const DBRequest* list, const char* prefix=""); // assign values to the variables in list + + Int_t GetArray(const char* attr, Int_t* array, Int_t size); + Int_t GetArray(const char* attr, Double_t* array, Int_t size); + +#ifdef WITH_CCDB + Int_t OpenCCDB(Int_t runnum); + Int_t OpenCCDB(Int_t runnum, const char* connection_string); + Int_t CloseCCDB(); + Int_t LoadCCDBDirectory(const char* directory, + const char* prefix); +#endif + +private: + + THaTextvars* TextList; + +#ifdef WITH_CCDB + SQLiteCalibration* CCDB_obj; +#endif - virtual void Load( const char *fname); + template<class T> + Int_t ReadArray(const char* attrC, T* array, Int_t size); protected: diff --git a/src/THcRaster.cxx b/src/THcRaster.cxx new file mode 100644 index 0000000000000000000000000000000000000000..2afed7eee17915da369a572239b15155b4a20254 --- /dev/null +++ b/src/THcRaster.cxx @@ -0,0 +1,312 @@ +// Author : Buddhini Waidyawansa +// Date : 12-09-2013 + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcRaster // +// // +// A class to decode the fast raster signals. // +// Measures the two magnet currents which are propotioanl to horizontal and // +// vertical beam position // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcRaster.h" +#include "THaEvData.h" +#include "THaDetMap.h" + + +#include "THcParmList.h" +#include "THcGlobals.h" +#include "THaGlobals.h" + + +//#include "THcHitList.h" + +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> +#include <fstream> + + +using namespace std; + +//_____________________________________________________________________________ +THcRaster::THcRaster( const char* name, const char* description, + THaApparatus* apparatus ) : + THaBeamDet(name,description,apparatus) +{ + + fAnalyzePedestals = 0; + fNPedestalEvents = 0; + fRawXADC = 0; + fRawYADC = 0; + fXADC = 0; + fYADC = 0; + fXpos = 0; + fYpos = 0; + fFrCalMom = 0; + fFrXADCperCM = 0; + fFrXADCperCM = 0; + + for(Int_t i=0;i<2;i++){ + fPedADC[i] = 0; + fAvgPedADC[i] = 0; + } +} + + +//_____________________________________________________________________________ +THcRaster::~THcRaster() +{ +} + + + + +//_____________________________________________________________________________ +Int_t THcRaster::ReadDatabase( const TDatime& date ) +{ + + // Read parameters such as calibration factor, of this detector from the database. + cout << "THcRaster::ReadDatabase()" << endl; + + char prefix[2]; + + //cout << " THcRaster::ReadDatabase GetName() called " << GetName() << endl; + // prefix[0]=tolower(GetName()[0]); + // bpw- The prefix is hardcoded so that we don't have to change the gbeam.param file. o/w to get the following variables, we need to change to parameter names to rfr_cal_mom, etc where "r" comes from prefix[0]=tolower(GetName()[0]). + prefix[0]='g'; + prefix[1]='\0'; + + + // string names; + DBRequest list[]={ + {"fr_cal_mom",&fFrCalMom, kDouble}, + {"frx_adcpercm",&fFrXADCperCM, kDouble}, + {"fry_adcpercm",&fFrYADCperCM, kDouble}, + {"pbeam",&fgpbeam, kDouble}, + {0} + }; + + // get the calibration factors from gbeam.param file + gHcParms->LoadParmValues((DBRequest*)&list,prefix); + + return kOK; + +} + + +//_____________________________________________________________________________ +Int_t THcRaster::DefineVariables( EMode mode ) +{ + // Initialize global variables for histogramming and tree + + cout << "THcRaster::DefineVariables called " << GetName() << endl; + + if( mode == kDefine && fIsSetup ) return kOK; + fIsSetup = ( mode == kDefine ); + + // Register variables in global list + + RVarDef vars[] = { + {"frx_raw_adc", "Raster X raw ADC", "fRawXADC"}, + {"fry_raw_adc", "Raster Y raw ADC", "fRawYADC"}, + {"frx_adc", "Raster X ADC", "fXADC"}, + {"fry_adc", "Raster Y ADC", "fYADC"}, + {"frx", "Raster X position", "fXpos"}, + {"fry", "Raster Y position", "fYpos"}, + { 0 } + }; + + return DefineVarsFromList( vars, mode ); +} + +//_____________________________________________________________________________ +THaAnalysisObject::EStatus THcRaster::Init( const TDatime& date ) +{ + cout << "THcRaster::Init()" << endl; + + THcHitList::InitHitList(fDetMap,"THcRasterRawHit",4); + + EStatus status; + if( (status = THaBeamDet::Init( date )) ) + return fStatus=status; + + // Fill detector map with RASTER type channels + if( gHcDetectorMap->FillMap(fDetMap, "RASTER") < 0 ) { + static const char* const here = "Init()"; + Error( Here(here), "Error filling detectormap for %s.", + "RASTER"); + return kInitError; + } + + return fStatus = kOK; + +} + + +//_____________________________________________________________________________ +void THcRaster::AccumulatePedestals(TClonesArray* rawhits) +{ + /* + Extract data from the hit list, accumulating into arrays for + calculating pedestals. + From ENGINE/g_analyze_misc.f - + + * JRA: Code to check FR pedestals. Since the raster is a fixed frequency + * and the pedestals come at a fixed rate, it is possible to keep getting + * the same value for each pedestal event, and get the wrong zero value. + * (see HCLOG #28325). So calculate pedestal from first 1000 REAL + * events and compare to value from pedestal events. Error on each + * measurement is RMS/sqrt(1000), error on diff is *sqrt(2), so 3 sigma + * check is 3*sqrt(2)*RMS/sqrt(1000) = .13*RMS + ! + ! Can't use RMS, since taking sum of pedestal**2 for these signals + ! gives rollover for integer*4. Just assume signal is +/-2000 + ! channels, gives sigma of 100 channels, so check for diff>130. + ! + */ + + Int_t nrawhits = rawhits->GetLast()+1; + + Int_t ihit=0; + + while(ihit<nrawhits) { + THcRasterRawHit* hit = (THcRasterRawHit *) fRawHitList->At(ihit); + if(hit->fADC_xsig>0) { + fPedADC[0] += hit->fADC_xsig; + //std::cout<<" raster x pedestal collect "<<fPedADC[0]<<std::endl; + } + if(hit->fADC_ysig>0) { + fPedADC[1] += hit->fADC_ysig; + //std::cout<<" raster y pedestal collect "<<fPedADC[1]<<std::endl; + } + + ihit++; + } + +} + + +//_____________________________________________________________________________ +void THcRaster::CalculatePedestals( ) +{ + /* + Use the accumulated pedestal data to calculate pedestals + From ENGINE/g_analyze_misc.f - + + if (numfr.eq.1000) then + avefrx = sumfrx / float(numfr) + avefry = sumfry / float(numfr) + if (abs(avefrx-gfrx_adc_ped).gt.130.) then + write(6,*) 'FRPED: peds give <frx>=',gfrx_adc_ped, + $ ' realevents give <frx>=',avefrx + endif + if (abs(avefry-gfry_adc_ped).gt.130.) then + write(6,*) 'FRPED: peds give <fry>=',gfry_adc_ped, + $ ' realevents give <fry>=',avefry + endif + endif + */ + for(Int_t i=0;i<2;i++){ + fAvgPedADC[i] = fPedADC[i]/ fNPedestalEvents; + // std::cout<<" raster pedestal "<<fAvgPedADC[i]<<std::endl; + } + +} + + +//_____________________________________________________________________________ +Int_t THcRaster::Decode( const THaEvData& evdata ) +{ + + // loops over all channels defined in the detector map + // copies raw data into local variables + // performs pedestal subtraction + + + // Get the Hall C style hitlist (fRawHitList) for this event + Int_t fNhits = THcHitList::DecodeToHitList(evdata); + + // Get the pedestals from the first 1000 events + //if(fNPedestalEvents < 10) + if((gHaCuts->Result("Pedestal_event")) & (fNPedestalEvents < 1000)){ + AccumulatePedestals(fRawHitList); + fAnalyzePedestals = 1; // Analyze pedestals first normal events + fNPedestalEvents++; + + return(0); + } + if(fAnalyzePedestals) { + CalculatePedestals(); + fAnalyzePedestals = 0; // Don't analyze pedestals next event + } + + Int_t ihit = 0; + + while(ihit < fNhits) { + THcRasterRawHit* hit = (THcRasterRawHit *) fRawHitList->At(ihit); + + if(hit->fADC_xsig>0) { + fRawXADC = hit->fADC_xsig; + //std::cout<<" Raw X ADC = "<<fRawXADC<<std::endl; + } + + if(hit->fADC_ysig>0) { + fRawYADC = hit->fADC_ysig; + //std::cout<<" Raw Y ADC = "<<fRawYADC<<std::endl; + } + ihit++; + } + + return 0; + +} + + + + + +//_____________________________________________________________________________ +Int_t THcRaster::Process( ){ + + Double_t eBeam = 0.001; + /* + calculate raster position from ADC value. + From ENGINE/g_analyze_misc.f - + + gfrx_adc = gfrx_raw_adc - gfrx_adc_ped + gfry_adc = gfry_raw_adc - gfry_adc_ped + */ + + // calculate the raster currents + fXADC = fRawXADC-fAvgPedADC[0]; + fYADC = fRawYADC-fAvgPedADC[1]; + //std::cout<<" Raw X ADC = "<<fXADC<<" Raw Y ADC = "<<fYADC<<std::endl; + + /* + calculate the raster positions + + gfrx = (gfrx_adc/gfrx_adcpercm)*(gfr_cal_mom/ebeam) + gfry = (gfry_adc/gfry_adcpercm)*(gfr_cal_mom/ebeam) + */ + + if(gHcParms->Find("gpbeam")){ + eBeam=*(Double_t *)gHcParms->Find("gpbeam")->GetValuePointer(); + } + fXpos = (fXADC/fFrXADCperCM)*(fFrCalMom/eBeam); + fYpos = (fYADC/fFrYADCperCM)*(fFrCalMom/eBeam); + + // std::cout<<" X = "<<fXpos<<" Y = "<<fYpos<<std::endl; + + fDirection.SetXYZ(0.0,0.0,1.0); // Set arbitrarily to avoid run time warnings + + return 0; +} + + + +ClassImp(THcRaster) +//////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcRaster.h b/src/THcRaster.h new file mode 100644 index 0000000000000000000000000000000000000000..29d3f0829b1f2fe273a78c8d173e1cef45891b4a --- /dev/null +++ b/src/THcRaster.h @@ -0,0 +1,77 @@ +#ifndef ROOT_THcRaster +#define ROOT_THcRaster + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcRaster // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THaBeamDet.h" +#include "TVector.h" +#include "TClonesArray.h" +#include "THcHitList.h" +#include "THcDetectorMap.h" +#include "THcRasterRawHit.h" +#include "THaCutList.h" + +class THcRaster : public THaBeamDet, public THcHitList { + + public: + + THcRaster(const char* name, const char* description ="",THaApparatus* a = NULL ); + + ~THcRaster(); + EStatus Init( const TDatime& run_time ); + + Int_t Decode( const THaEvData& ); + Int_t Process(); + + // TVector3 GetPosition() const { return fPosition[2]; } + TVector3 GetPosition() const { return fPosition[0]; } + TVector3 GetDirection() const { return fDirection; } // Hall C we don't use raster direction yet. + + Double_t GetCurrentX() { return fRawPos[0]; } + Double_t GetCurrentY() { return fRawPos[1]; } + + protected: + + /* void InitializeReconstruction(); */ + Int_t ReadDatabase( const TDatime& date ); + Int_t DefineVariables( EMode mode ); + + Double_t fgpbeam; //beam momentum + + Double_t fRawXADC; // X raw ADC + Double_t fRawYADC; // Y raw ADC + Double_t fXADC; // X ADC + Double_t fYADC; // Y ADC + Double_t fXpos; // X position + Double_t fYpos; // Y position + + + Double_t fPedADC[2]; // ADC poedestals + Double_t fAvgPedADC[2]; // Avergage ADC poedestals + + Double_t fRawPos[2]; // current in Raster ADCs for position + TVector3 fPosition[2]; // Beam position at 1st, 2nd BPM or at the target (meters) + TVector3 fDirection; + + private: + Bool_t fAnalyzePedestals; + Int_t fNPedestalEvents; + Double_t fFrCalMom; + Double_t fFrXADCperCM; + Double_t fFrYADCperCM; + + + void CalculatePedestals(); + void AccumulatePedestals(TClonesArray* rawhits); + + ClassDef(THcRaster, 0); // add THcRaster to ROOT library +}; + +//////////////////////////////////////////////////////////////////////////////// + + +#endif diff --git a/src/THcRasterRawHit.cxx b/src/THcRasterRawHit.cxx new file mode 100644 index 0000000000000000000000000000000000000000..3603d358e1898b8e3666d0763e6227416253dddd --- /dev/null +++ b/src/THcRasterRawHit.cxx @@ -0,0 +1,92 @@ +// Author : Buddhini Waidyawansa +// Date : 23-01-2014 + + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcRasterRawHit // +// // +// Class representing a single raw hit for the raster // +// // +// Contains the X, Y raster voltage signals and sync signals // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> + +#include "THcRasterRawHit.h" + +using namespace std; + + +void THcRasterRawHit::SetData(Int_t signal, Int_t data) { + if(signal==0) { + fADC_xsync = data; + } else if (signal==1) { + fADC_xsig = data; + } else if(signal==2) { + fADC_ysync = data; + } else if (signal==3) { + fADC_ysig = data; + } + + // std::cout<<" xsync = "<<fADC_xsync + // <<" xsig = "<<fADC_xsig + // <<" ysync = "<<fADC_ysync + // <<" ysig = "<<fADC_ysig << std::endl; + +} + +Int_t THcRasterRawHit::GetData(Int_t signal) { + + if(signal==1) { + return(fADC_xsync); + } else if (signal==2) { + return(fADC_xsig); + } else if(signal==3) { + return(fADC_ysync); + } else if (signal==4) { + return(fADC_ysig); + } + return(-1); +} + +// Int_t THcRasterRawHit::Compare(const TObject* obj) const +// { +// // Compare to sort by the plane +// // There is only one raster so no need for an additional check on the counter + +// const THcRasterRawHit* hit = dynamic_cast<const THcRasterRawHit*>(obj); + +// if(!hit) return -1; +// Int_t p1 = fPlane; +// Int_t p2 = hit->fPlane; +// if(p1 < p2) return -1; +// else if(p1 > p2) return 1; + +// } + +//_____________________________________________________________________________ +THcRasterRawHit& THcRasterRawHit::operator=( const THcRasterRawHit& rhs ) +{ + // Assignment operator. + + THcRawHit::operator=(rhs); + if ( this != &rhs ) { + fPlane = rhs.fPlane; + fCounter = rhs.fCounter; + fADC_xsync = rhs.fADC_xsync; + fADC_xsig = rhs.fADC_xsig; + fADC_ysync = rhs.fADC_ysync; + fADC_ysig = rhs.fADC_ysig; + } + return *this; +} + + +////////////////////////////////////////////////////////////////////////// +ClassImp(THcRasterRawHit) + diff --git a/src/THcRasterRawHit.h b/src/THcRasterRawHit.h new file mode 100644 index 0000000000000000000000000000000000000000..c35f51e2f7c9985392104ae938800681d534814e --- /dev/null +++ b/src/THcRasterRawHit.h @@ -0,0 +1,44 @@ +#ifndef ROOT_THcRasterRawHit +#define ROOT_THcRasterRawHit + + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcRasterRawHit // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcRawHit.h" + +class THcRasterRawHit : public THcRawHit { + + public: + + THcRasterRawHit(Int_t plane=0, Int_t counter=0) : THcRawHit(plane, counter), + fADC_xsig(-1), fADC_ysig(-1), + fADC_xsync(-1), fADC_ysync(-1) { + } + + THcRasterRawHit& operator=( const THcRasterRawHit& ); + ~THcRasterRawHit() {} + + void Clear( Option_t* opt="" ) + { fADC_xsig = -1; fADC_ysig = -1; fADC_xsync = -1; fADC_ysync = -1; } + + void SetData(Int_t signal, Int_t data); + Int_t GetData(Int_t signal); + + // signals + Int_t fADC_xsig; + Int_t fADC_ysig; + Int_t fADC_xsync; + Int_t fADC_ysync; + + protected: + + private: + + ClassDef(THcRasterRawHit, 0); // Raw hit class for raster data +}; + +#endif diff --git a/src/THcRasteredBeam.cxx b/src/THcRasteredBeam.cxx new file mode 100644 index 0000000000000000000000000000000000000000..b29ce6b5ce13d9028d06a66960a60b346cecbc5c --- /dev/null +++ b/src/THcRasteredBeam.cxx @@ -0,0 +1,73 @@ +// Author : Buddhini Waidyawansa +// Date : 01-08-2014 + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcRasteredBeam // +// // +// A class to handle the raster processing tasks // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcRasteredBeam.h" +#include "THcRaster.h" +#include "TMath.h" +#include "TDatime.h" +#include "TList.h" + +#include "VarDef.h" + +//_____________________________________________________________________________ +THcRasteredBeam::THcRasteredBeam( const char* name, const char* description ) : + THaBeam( name, description ) +{ + AddDetector( new THcRaster("raster","raster",this) ); +} + + +//_____________________________________________________________________________ +Int_t THcRasteredBeam::Reconstruct() +{ + + TIter nextDet( fDetectors ); + + nextDet.Reset(); + + // This apparatus assumes that there is only one detector + // in the list. If someone adds detectors by hand, the first + // detector in the list will be used to get the beam position + // the others will be processed + // -- Iam not sure why the code is written like this. But for now, I am + // going to work with this code as it is since all I need for is to + // decode the raster - Buddhini + + + if (THaBeamDet* theBeamDet= + static_cast<THaBeamDet*>( nextDet() )) { + theBeamDet->Process(); + fPosition = theBeamDet->GetPosition(); + fDirection = theBeamDet->GetDirection(); + } + else { + Error( Here("THcRasteredBeam::Reconstruct"), + "Beamline Detectors Missing in Detector List" ); + } + + + // Process any other detectors that may have been added (by default none) + while (THaBeamDet * theBeamDet= + static_cast<THaBeamDet*>( nextDet() )) { + theBeamDet->Process(); + } + + Update(); + + return 0; + +} + +//_____________________________________________________________________________ +ClassImp(THcRasteredBeam) + + +//////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcRasteredBeam.h b/src/THcRasteredBeam.h new file mode 100644 index 0000000000000000000000000000000000000000..2e78151771d201122d5db71c9004931bde1b2884 --- /dev/null +++ b/src/THcRasteredBeam.h @@ -0,0 +1,31 @@ +#ifndef ROOT_THcRasteredBeam +#define ROOT_THcRasteredBeam + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcRasteredBeam // +// A beam with rastered beam, analyzed event by event using raster currents // +// This is identical to THaRasteredBeam except that we need to use THcRaster // +// For raster signal processing. // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THaBeam.h" + + +class THcRasteredBeam : public THaBeam { + + public: + + THcRasteredBeam( const char* name, const char* description) ; + + virtual ~THcRasteredBeam(){}; + + virtual Int_t Reconstruct() ; + + ClassDef(THcRasteredBeam, 0); // add THcRasteredBeam to ROOT library +}; + +//////////////////////////////////////////////////////////////////////////////// + +#endif diff --git a/src/THcRawDCHit.cxx b/src/THcRawDCHit.cxx new file mode 100644 index 0000000000000000000000000000000000000000..46ce22abc87269a4290f7af7888264e624adaf38 --- /dev/null +++ b/src/THcRawDCHit.cxx @@ -0,0 +1,78 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcRawDCHit // +// // +// Class representing for drift chamber wire (or other device with // +// a single multihit TDC channel per detector element // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcRawDCHit.h" + +using namespace std; + + +void THcRawDCHit::SetData(Int_t signal, Int_t data) { + fTDC[fNHits++] = data; +} + +// Return just the first hit +Int_t THcRawDCHit::GetData(Int_t signal) { + if(fNHits>0) { + return(fTDC[0]); + } else { + return(-1); + } +} + +// Return a requested hit +Int_t THcRawDCHit::GetData(Int_t signal, UInt_t ihit) { + if(ihit >=0 && ihit< fNHits) { + return(fTDC[ihit]); + } else { + return(-1); + } +} + + +Int_t THcRawDCHit::Compare(const TObject* obj) const +{ + // Compare to sort by plane and counter + // Should we be able to move this into THcRawHit + + const THcRawDCHit* hit = dynamic_cast<const THcRawDCHit*>(obj); + + if(!hit) return -1; + Int_t p1 = fPlane; + Int_t p2 = hit->fPlane; + if(p1 < p2) return -1; + else if(p1 > p2) return 1; + else { + Int_t c1 = fCounter; + Int_t c2 = hit->fCounter; + if(c1 < c2) return -1; + else if (c1 == c2) return 0; + else return 1; + } +} +//_____________________________________________________________________________ +THcRawDCHit& THcRawDCHit::operator=( const THcRawDCHit& rhs ) +{ + // Assignment operator. + + THcRawHit::operator=(rhs); + if ( this != &rhs ) { + fPlane = rhs.fPlane; + fCounter = rhs.fCounter; + fNHits = rhs.fNHits; + for(UInt_t ihit=0;ihit<fNHits;ihit++) { + fTDC[ihit] = rhs.fTDC[ihit]; + } + } + return *this; +} + + +////////////////////////////////////////////////////////////////////////// +ClassImp(THcRawDCHit) + diff --git a/src/THcRawDCHit.h b/src/THcRawDCHit.h new file mode 100644 index 0000000000000000000000000000000000000000..18668d65a5ebd7464b2b1bb856f832d405b0fbef --- /dev/null +++ b/src/THcRawDCHit.h @@ -0,0 +1,39 @@ +#ifndef ROOT_THcRawDCHit +#define ROOT_THcRawDCHit + +#include "THcRawHit.h" + +#define MAXHITS 16 + +class THcRawDCHit : public THcRawHit { + +public: + friend class THcDriftChamberPlane; + friend class THcDC; + + THcRawDCHit(Int_t plane=0, Int_t counter=0) : THcRawHit(plane, counter), + fNHits(0) { + } + THcRawDCHit& operator=( const THcRawDCHit& ); + virtual ~THcRawDCHit() {} + + virtual void Clear( Option_t* opt="" ) { fNHits=0; } + + void SetData(Int_t signal, Int_t data); + Int_t GetData(Int_t signal); + Int_t GetData(Int_t signal, UInt_t ihit); + + virtual Bool_t IsSortable () const {return kTRUE; } + virtual Int_t Compare(const TObject* obj) const; + + +protected: + UInt_t fNHits; + Int_t fTDC[MAXHITS]; + +private: + + ClassDef(THcRawDCHit, 0); // Raw Drift Chamber hit +}; + +#endif diff --git a/src/THcRawHit.cxx b/src/THcRawHit.cxx index 3e37972a189932d7dd987a50bcbdf8ec59388f37..e2cd54e6116145954a70011f6c9888519cec4dd6 100644 --- a/src/THcRawHit.cxx +++ b/src/THcRawHit.cxx @@ -10,12 +10,10 @@ #include "THcRawHit.h" -//THcRawHit::~THcRawHit() -//{} Int_t THcRawHit::Compare(const TObject* obj) const { - // Compare to sort by plane and counter + // Comparision function for Sort(). const THcRawHit* hit = dynamic_cast<const THcRawHit*>(obj); diff --git a/src/THcRawHit.h b/src/THcRawHit.h index 7372463c724a5e66229e48ad9bfb3b3bf270a6af..1ee7d16431cc7d2d6e95b32e2750e5ccdabdf3f4 100644 --- a/src/THcRawHit.h +++ b/src/THcRawHit.h @@ -39,7 +39,7 @@ public: private: - ClassDef(THcRawHit,0) // Track ID abstract base class + ClassDef(THcRawHit,0) // Raw Hit Base Class }; #endif diff --git a/src/THcHodoscopeHit.cxx b/src/THcRawHodoHit.cxx similarity index 66% rename from src/THcHodoscopeHit.cxx rename to src/THcRawHodoHit.cxx index 9e3ea84e1dc023c6da80218f36b880d638c7ea1c..dc2021a921514093a133e2b80a0caf1fe7621b26 100644 --- a/src/THcHodoscopeHit.cxx +++ b/src/THcRawHodoHit.cxx @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // // -// THcHodoscopeHit // +// THcRawHodoHit // // // // Class representing a single raw hit for a hodoscope paddle // // // @@ -8,12 +8,17 @@ // // /////////////////////////////////////////////////////////////////////////////// -#include "THcHodoscopeHit.h" +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> + +#include "THcRawHodoHit.h" using namespace std; -void THcHodoscopeHit::SetData(Int_t signal, Int_t data) { +void THcRawHodoHit::SetData(Int_t signal, Int_t data) { if(signal==0) { fADC_pos = data; } else if (signal==1) { @@ -25,7 +30,7 @@ void THcHodoscopeHit::SetData(Int_t signal, Int_t data) { } } -Int_t THcHodoscopeHit::GetData(Int_t signal) { +Int_t THcRawHodoHit::GetData(Int_t signal) { if(signal==0) { return(fADC_pos); } else if (signal==1) { @@ -38,29 +43,8 @@ Int_t THcHodoscopeHit::GetData(Int_t signal) { return(-1); // Actually should throw exception } -#if 0 -Int_t THcHodoscopeHit::Compare(const TObject* obj) const -{ - // Compare to sort by plane and counter - - const THcHodoscopeHit* hit = dynamic_cast<const THcHodoscopeHit*>(obj); - - if(!hit) return -1; - Int_t p1 = fPlane; - Int_t p2 = hit->fPlane; - if(p1 < p2) return -1; - else if(p1 > p2) return 1; - else { - Int_t c1 = fCounter; - Int_t c2 = hit->fCounter; - if(c1 < c2) return -1; - else if (c1 == c2) return 0; - else return 1; - } -} -#endif //_____________________________________________________________________________ -THcHodoscopeHit& THcHodoscopeHit::operator=( const THcHodoscopeHit& rhs ) +THcRawHodoHit& THcRawHodoHit::operator=( const THcRawHodoHit& rhs ) { // Assignment operator. @@ -78,5 +62,5 @@ THcHodoscopeHit& THcHodoscopeHit::operator=( const THcHodoscopeHit& rhs ) ////////////////////////////////////////////////////////////////////////// -ClassImp(THcHodoscopeHit) +ClassImp(THcRawHodoHit) diff --git a/src/THcHodoscopeHit.h b/src/THcRawHodoHit.h similarity index 60% rename from src/THcHodoscopeHit.h rename to src/THcRawHodoHit.h index 0bac2d1a1f9a231325dfb83a2a31e58f1ef95e67..e0c56a657ea31c19082e54bea225f2ce292d8bbf 100644 --- a/src/THcHodoscopeHit.h +++ b/src/THcRawHodoHit.h @@ -1,18 +1,19 @@ -#ifndef ROOT_THcHodoscopeHit -#define ROOT_THcHodoscopeHit +#ifndef ROOT_THcRawHodoHit +#define ROOT_THcRawHodoHit #include "THcRawHit.h" -class THcHodoscopeHit : public THcRawHit { +class THcRawHodoHit : public THcRawHit { public: + friend class THcScintillatorPlane; - THcHodoscopeHit(Int_t plane=0, Int_t counter=0) : THcRawHit(plane, counter), + THcRawHodoHit(Int_t plane=0, Int_t counter=0) : THcRawHit(plane, counter), fADC_pos(-1), fADC_neg(-1), fTDC_pos(-1), fTDC_neg(-1) { } - THcHodoscopeHit& operator=( const THcHodoscopeHit& ); - virtual ~THcHodoscopeHit() {} + THcRawHodoHit& operator=( const THcRawHodoHit& ); + virtual ~THcRawHodoHit() {} virtual void Clear( Option_t* opt="" ) { fADC_pos = -1; fADC_neg = -1; fTDC_pos = -1; fTDC_neg = -1; } @@ -23,16 +24,15 @@ class THcHodoscopeHit : public THcRawHit { // virtual Bool_t IsSortable () const {return kTRUE; } // virtual Int_t Compare(const TObject* obj) const; + protected: Int_t fADC_pos; Int_t fADC_neg; Int_t fTDC_pos; Int_t fTDC_neg; - protected: - private: - ClassDef(THcHodoscopeHit, 0); // Hodoscope hit class + ClassDef(THcRawHodoHit, 0); // Raw Hodoscope hit }; #endif diff --git a/src/THcRawShowerHit.cxx b/src/THcRawShowerHit.cxx new file mode 100644 index 0000000000000000000000000000000000000000..8ced5a70365be362f8dda2cab007c67edc0861c1 --- /dev/null +++ b/src/THcRawShowerHit.cxx @@ -0,0 +1,54 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcRawShowerHit // +// // +// Class representing a single raw hit for a hodoscope paddle // +// // +// Contains plane, counter and pos/neg adc and tdc values // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcRawShowerHit.h" + +using namespace std; + + +void THcRawShowerHit::SetData(Int_t signal, Int_t data) { + if(signal==0) { + fADC_pos = data; + } else if (signal==1) { + fADC_neg = data; + } +} + +Int_t THcRawShowerHit::GetData(Int_t signal) { + if(signal==0) { + return(fADC_pos); + } else if (signal==1) { + return(fADC_neg); + } + + return(-1); // Actually should throw exception +} + +//_____________________________________________________________________________ +THcRawShowerHit& THcRawShowerHit::operator=( const THcRawShowerHit& rhs ) +{ + // Assignment operator. + + THcRawHit::operator=(rhs); + if ( this != &rhs ) { + fPlane = rhs.fPlane; + fCounter = rhs.fCounter; + fADC_pos = rhs.fADC_pos; + fADC_neg = rhs.fADC_neg; + + } + return *this; +} + + +////////////////////////////////////////////////////////////////////////// +ClassImp(THcRawShowerHit) + + diff --git a/src/THcRawShowerHit.h b/src/THcRawShowerHit.h new file mode 100644 index 0000000000000000000000000000000000000000..76f0d140a5cae64d1dbff7ce837d276ee6da002f --- /dev/null +++ b/src/THcRawShowerHit.h @@ -0,0 +1,36 @@ +#ifndef ROOT_THcRawShowerHit +#define ROOT_THcRawShowerHit + +#include "THcRawHit.h" + +class THcRawShowerHit : public THcRawHit { + + public: + friend class THcShowerPlane; + + THcRawShowerHit(Int_t plane=0, Int_t counter=0) : THcRawHit(plane, counter), + fADC_pos(-1), fADC_neg(-1){ + } + THcRawShowerHit& operator=( const THcRawShowerHit& ); + virtual ~THcRawShowerHit() {} + + virtual void Clear( Option_t* opt="" ) + { fADC_pos = -1; fADC_neg = -1; } + + void SetData(Int_t signal, Int_t data); + Int_t GetData(Int_t signal); + + // virtual Bool_t IsSortable () const {return kTRUE; } + // virtual Int_t Compare(const TObject* obj) const; + + protected: + Int_t fADC_pos; + Int_t fADC_neg; + + private: + + ClassDef(THcRawShowerHit, 0); // Raw Shower counter hit +}; + +#endif + diff --git a/src/THcScintillatorPlane.cxx b/src/THcScintillatorPlane.cxx index a2b30d01727ee7741520c2c852c94ea9864870d3..e9355f94f3e51ab1d5c1bed7387e9395ac3538b6 100644 --- a/src/THcScintillatorPlane.cxx +++ b/src/THcScintillatorPlane.cxx @@ -5,24 +5,672 @@ // THcScintillatorPlane // ////////////////////////////////////////////////////////////////////////// - +#include "TMath.h" #include "THcScintillatorPlane.h" +#include "TClonesArray.h" +#include "THcSignalHit.h" +#include "THcGlobals.h" +#include "THcParmList.h" +#include "THcHitList.h" +#include "THcHodoscope.h" +#include "TClass.h" + +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> + +using namespace std; ClassImp(THcScintillatorPlane) //______________________________________________________________________________ THcScintillatorPlane::THcScintillatorPlane( const char* name, - const char* description, - THaApparatus* apparatus ) - : THaNonTrackingDetector(name,description,apparatus) + const char* description, + const Int_t planenum, + THaDetectorBase* parent ) + : THaSubDetector(name,description,parent) { // Normal constructor with name and description + fPosTDCHits = new TClonesArray("THcSignalHit",16); + fNegTDCHits = new TClonesArray("THcSignalHit",16); + fPosADCHits = new TClonesArray("THcSignalHit",16); + fNegADCHits = new TClonesArray("THcSignalHit",16); + frPosTDCHits = new TClonesArray("THcSignalHit",16); + frNegTDCHits = new TClonesArray("THcSignalHit",16); + frPosADCHits = new TClonesArray("THcSignalHit",16); + frNegADCHits = new TClonesArray("THcSignalHit",16); + fPlaneNum = planenum; + fTotPlanes = planenum; + fNScinHits = 0; + // + fMaxHits=53; + fpTimes = new Double_t [fMaxHits]; + fScinTime = new Double_t [fMaxHits]; + fScinSigma = new Double_t [fMaxHits]; + fScinZpos = new Double_t [fMaxHits]; + fPosCenter = NULL; } //______________________________________________________________________________ THcScintillatorPlane::~THcScintillatorPlane() { // Destructor + delete fPosTDCHits; + delete fNegTDCHits; + delete fPosADCHits; + delete fNegADCHits; + delete frPosTDCHits; + delete frNegTDCHits; + delete frPosADCHits; + delete frNegADCHits; + delete fpTimes; + delete fScinTime; + delete fScinSigma; + delete fScinZpos; + delete fPosCenter; + +} + +//______________________________________________________________________________ +THaAnalysisObject::EStatus THcScintillatorPlane::Init( const TDatime& date ) +{ + // Extra initialization for scintillator plane: set up DataDest map + + cout << "THcScintillatorPlane::Init called " << GetName() << endl; + + if( IsZombie()) + return fStatus = kInitError; + + // How to get information for parent + // if( GetParent() ) + // fOrigin = GetParent()->GetOrigin(); + + EStatus status; + if( (status=THaSubDetector::Init( date )) ) + return fStatus = status; + + // Get the Hodoscope hitlist + // Can't seem to cast to THcHitList. What to do if we want to use + // THcScintillatorPlane as a subdetector to other than THcHodoscope? + // fParentHitList = static_cast<THcHodoscope*>(GetParent())->GetHitList(); + + return fStatus = kOK; + +} + +//_____________________________________________________________________________ +Int_t THcScintillatorPlane::ReadDatabase( const TDatime& date ) +{ + + // See what file it looks for + + // static const char* const here = "ReadDatabase()"; + char prefix[2]; + char parname[100]; + + prefix[0]=tolower(GetParent()->GetPrefix()[0]); + prefix[1]='\0'; + + // need this further down so read them first! GN + strcpy(parname,prefix); + strcat(parname,"scin_"); + strcat(parname,GetName()); + strcat(parname,"_nr"); + fNelem = *(Int_t *)gHcParms->Find(parname)->GetValuePointer(); + // + // Based on the signs of these quantities in the .pos file the correspondence + // should be bot=>left and top=>right when comparing x and y-type scintillators + char tmpleft[6], tmpright[6]; + if (fPlaneNum==1 || fPlaneNum==3) { + strcpy(tmpleft,"left"); + strcpy(tmpright,"right"); + } + else { + strcpy(tmpleft,"bot"); + strcpy(tmpright,"top"); + } + + delete [] fPosCenter; fPosCenter = new Double_t[fNelem]; + + DBRequest list[]={ + {Form("scin_%s_zpos",GetName()), &fZpos, kDouble}, + {Form("scin_%s_dzpos",GetName()), &fDzpos, kDouble}, + {Form("scin_%s_size",GetName()), &fSize, kDouble}, + {Form("scin_%s_spacing",GetName()), &fSpacing, kDouble}, + {Form("scin_%s_%s",GetName(),tmpleft), &fPosLeft,kDouble}, + {Form("scin_%s_%s",GetName(),tmpright), &fPosRight,kDouble}, + {Form("scin_%s_offset",GetName()), &fPosOffset, kDouble}, + {Form("scin_%s_center",GetName()), fPosCenter,kDouble,fNelem}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list,prefix); + // fetch the parameter from the temporary list + + // Retrieve parameters we need from parent class + fHodoSlop= ((THcHodoscope*) GetParent())->GetHodoSlop(fPlaneNum-1); + + cout <<" plane num = "<<fPlaneNum<<endl; + cout <<" nelem = "<<fNelem<<endl; + cout <<" zpos = "<<fZpos<<endl; + cout <<" dzpos = "<<fDzpos<<endl; + cout <<" spacing = "<<fSpacing<<endl; + cout <<" size = "<<fSize<<endl; + cout <<" hodoslop = "<<fHodoSlop<<endl; + cout <<"PosLeft = "<<fPosLeft<<endl; + cout <<"PosRight = "<<fPosRight<<endl; + cout <<"PosOffset = "<<fPosOffset<<endl; + cout <<"PosCenter[0] = "<<fPosCenter[0]<<endl; + + // Think we will make special methods to pass most + // How generic do we want to make this class? + // The way we get parameter data is going to be pretty specific to + // our parameter file naming conventions. But on the other hand, + // the Hall A analyzer read database is pretty specific. + // Is there any way for this class to know which spectrometer he + // belongs too? + + + // Create arrays to hold results here + InitializePedestals(); + + return kOK; +} +//_____________________________________________________________________________ +Int_t THcScintillatorPlane::DefineVariables( EMode mode ) +{ + // Initialize global variables and lookup table for decoder + + cout << "THcScintillatorPlane::DefineVariables called " << GetName() << endl; + + if( mode == kDefine && fIsSetup ) return kOK; + fIsSetup = ( mode == kDefine ); + + // Register variables in global list + RVarDef vars[] = { + {"postdchits", "List of Positive TDC hits", + "frPosTDCHits.THcSignalHit.GetPaddleNumber()"}, + {"negtdchits", "List of Negative TDC hits", + "frNegTDCHits.THcSignalHit.GetPaddleNumber()"}, + {"posadchits", "List of Positive ADC hits", + "frPosADCHits.THcSignalHit.GetPaddleNumber()"}, + {"negadchits", "List of Negative ADC hits", + "frNegADCHits.THcSignalHit.GetPaddleNumber()"}, + {"fptime", "Time at focal plane", + "GetFpTime()"}, + { 0 } + }; + + return DefineVarsFromList( vars, mode ); +} + +//_____________________________________________________________________________ +void THcScintillatorPlane::Clear( Option_t* ) +{ + //cout << " Calling THcScintillatorPlane::Clear " << GetName() << endl; + // Clears the hit lists + fPosTDCHits->Clear(); + fNegTDCHits->Clear(); + fPosADCHits->Clear(); + fNegADCHits->Clear(); + frPosTDCHits->Clear(); + frNegTDCHits->Clear(); + frPosADCHits->Clear(); + frNegADCHits->Clear(); + fpTime = -1.e4; +} + +//_____________________________________________________________________________ +Int_t THcScintillatorPlane::Decode( const THaEvData& evdata ) +{ + // Doesn't actually get called. Use Fill method instead + cout << " Calling THcScintillatorPlane::Decode " << GetName() << endl; + + return 0; +} +//_____________________________________________________________________________ +Int_t THcScintillatorPlane::CoarseProcess( TClonesArray& tracks ) +{ + + cout <<"*******************************\n"; + cout <<"NOW IN THcScintilatorPlane::CoarseProcess!!!!\n"; + cout <<"*******************************\n"; + // HitCount(); + + return 0; +} + +//_____________________________________________________________________________ +Int_t THcScintillatorPlane::FineProcess( TClonesArray& tracks ) +{ + return 0; +} +//_____________________________________________________________________________ +Int_t THcScintillatorPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit) +{ + // Extract the data for this plane from hit list + // Assumes that the hit list is sorted by plane, so we stop when the + // plane doesn't agree and return the index for the next hit. + // GN: Select only events that have at least one of their TDC signals in the + // right range. + // Also subtract the pedestals from the adc signal (as per the ENGINE) we're not checking here + // if the actual ADC is larger than the pedestal value we subtract!! + + Double_t mintdc, maxtdc; + //raw + Int_t nrPosTDCHits=0; + Int_t nrNegTDCHits=0; + Int_t nrPosADCHits=0; + Int_t nrNegADCHits=0; + frPosTDCHits->Clear(); + frNegTDCHits->Clear(); + frPosADCHits->Clear(); + frNegADCHits->Clear(); + //stripped + Int_t nPosTDCHits=0; + Int_t nNegTDCHits=0; + Int_t nPosADCHits=0; + Int_t nNegADCHits=0; + fNScinHits=0; + fPosTDCHits->Clear(); + fNegTDCHits->Clear(); + fPosADCHits->Clear(); + fNegADCHits->Clear(); + Int_t nrawhits = rawhits->GetLast()+1; + // cout << "THcScintillatorPlane::ProcessHits " << fPlaneNum << " " << nexthit << "/" << nrawhits << endl; + mintdc=((THcHodoscope *)GetParent())->GetTdcMin(); + maxtdc=((THcHodoscope *)GetParent())->GetTdcMax(); + Int_t ihit = nexthit; + + // cout << "THcScintillatorPlane: raw htis = " << nrawhits << endl; + + while(ihit < nrawhits) { + THcRawHodoHit* hit = (THcRawHodoHit *) rawhits->At(ihit); + if(hit->fPlane > fPlaneNum) { + break; + } + Int_t padnum=hit->fCounter; + + Int_t index=padnum-1; + if (hit->fTDC_pos > 0) + ((THcSignalHit*) frPosTDCHits->ConstructedAt(nrPosTDCHits++))->Set(padnum, hit->fTDC_pos); + if (hit->fTDC_neg > 0) + ((THcSignalHit*) frNegTDCHits->ConstructedAt(nrNegTDCHits++))->Set(padnum, hit->fTDC_neg); + if ((hit->fADC_pos-fPosPed[index]) >= 50) + ((THcSignalHit*) frPosADCHits->ConstructedAt(nrPosADCHits++))->Set(padnum, hit->fADC_pos-fPosPed[index]); + if ((hit->fADC_neg-fNegPed[index]) >= 50) + ((THcSignalHit*) frNegADCHits->ConstructedAt(nrNegADCHits++))->Set(padnum, hit->fADC_neg-fNegPed[index]); + // check TDC values + if (((hit->fTDC_pos >= mintdc) && (hit->fTDC_pos <= maxtdc)) || + ((hit->fTDC_neg >= mintdc) && (hit->fTDC_neg <= maxtdc))) { + + //TDC positive hit + THcSignalHit *sighit = (THcSignalHit*) fPosTDCHits->ConstructedAt(nPosTDCHits++); + sighit->Set(padnum, hit->fTDC_pos); + // TDC negative hit + THcSignalHit *sighit2 = (THcSignalHit*) fNegTDCHits->ConstructedAt(nNegTDCHits++); + sighit2->Set(padnum, hit->fTDC_neg); + // ADC positive hit + THcSignalHit *sighit3 = (THcSignalHit*) fPosADCHits->ConstructedAt(nPosADCHits++); + sighit3->Set(padnum, hit->fADC_pos-fPosPed[index]); + // ADC negative hit + THcSignalHit *sighit4 = (THcSignalHit*) fNegADCHits->ConstructedAt(nNegADCHits++); + sighit4->Set(padnum, hit->fADC_neg-fNegPed[index]); + fNScinHits++; + } + else { + } + ihit++; + } + // cout << "THcScintillatorPlane: ihit = " << ihit << endl; + + return(ihit); +} +//________________________________________________________________________________ + +Int_t THcScintillatorPlane::PulseHeightCorrection() +{ + // Perform pulse height correction of the TDC values as in the original h_trans_scin + // see original comments below + /*! Calculate all corrected hit times and histogram + ! This uses a copy of code below. Results are save in time_pos,neg + ! including the z-pos. correction assuming nominal value of betap + ! Code is currently hard-wired to look for a peak in the + ! range of 0 to 100 nsec, with a group of times that all + ! agree withing a time_tolerance of time_tolerance nsec. The normal + ! peak position appears to be around 35 nsec (SOS0 or 31 nsec (HMS) + ! NOTE: if want to find particles with beta different than + ! reference particle, need to make sure this is big enough + ! to accomodate difference in TOF for other particles + ! Default value in case user hasn't defined something reasonable */ + Int_t i,j,index; + Double_t mintdc, maxtdc,tdctotime,toftolerance; + Double_t pos_ph[53],neg_ph[53],postime[53],negtime[53],scin_corrected_time[53]; // the 53 should go in a param file (was hmax_scin_hits originally) + // Bool_t keep_pos[53],keep_neg[53]; // are these all really needed? + Bool_t two_good_times[53]; + Double_t dist_from_center,scint_center,hit_position,time_pos[100],time_neg[100]; + Int_t timehist[200],jmax,maxhit,nfound=0; // This seems as a pretty old-fashioned way of doing things. Is there a better way? + + + // protect against spam events + if (fNScinHits>1000) { + cout <<"Too many hits "<<fNScinHits<<" in this event! Skipping!\n"; + return -1; + } + // zero out histogram + for (i=0;i<200;i++) { + timehist[i]=0; + } + for (i=0;i<fMaxHits;i++) { + // keep_pos[i]=kFALSE; + // keep_neg[i]=kFALSE; + two_good_times[i]=kFALSE; + } + + mintdc=((THcHodoscope *)GetParent())->GetTdcMin(); + maxtdc=((THcHodoscope *)GetParent())->GetTdcMax(); + tdctotime=((THcHodoscope *)GetParent())->GetTdcToTime(); + toftolerance=((THcHodoscope *)GetParent())->GetTofTolerance(); + Double_t betanominal=((THcHodoscope *)GetParent())->GetBetaNominal(); + + fpTime=-1e5; + for (i=0;i<fNScinHits;i++) { + if ((((THcSignalHit*) fPosTDCHits->At(i))->GetData()>=mintdc) && + (((THcSignalHit*) fPosTDCHits->At(i))->GetData()<=maxtdc) && + (((THcSignalHit*) fNegTDCHits->At(i))->GetData()>=mintdc) && + (((THcSignalHit*) fNegTDCHits->At(i))->GetData()<=maxtdc)) { + pos_ph[i]=((THcSignalHit*) fPosADCHits->At(i))->GetData(); + postime[i]=((THcSignalHit*) fPosTDCHits->At(i))->GetData()*tdctotime; + j=((THcSignalHit*)fPosTDCHits->At(i))->GetPaddleNumber()-1; + index=((THcHodoscope *)GetParent())->GetScinIndex(fPlaneNum-1,j); + postime[i]=postime[i]-((THcHodoscope *)GetParent())->GetHodoPosPhcCoeff(index)* + TMath::Sqrt(TMath::Max(0.,(pos_ph[i]/((THcHodoscope *)GetParent())->GetHodoPosMinPh(index)-1))); + postime[i]=postime[i]-((THcHodoscope *)GetParent())->GetHodoPosTimeOffset(index); + + neg_ph[i]=((THcSignalHit*) fNegADCHits->At(i))->GetData(); + negtime[i]=((THcSignalHit*) fNegTDCHits->At(i))->GetData()*tdctotime; + j=((THcSignalHit*)fNegTDCHits->At(i))->GetPaddleNumber()-1; + index=((THcHodoscope *)GetParent())->GetScinIndex(fPlaneNum-1,j); + negtime[i]=negtime[i]-((THcHodoscope *)GetParent())->GetHodoNegPhcCoeff(index)* + TMath::Sqrt(TMath::Max(0.,(neg_ph[i]/((THcHodoscope *)GetParent())->GetHodoNegMinPh(index)-1))); + negtime[i]=negtime[i]-((THcHodoscope *)GetParent())->GetHodoNegTimeOffset(index); + + // *************** + /// cout <<"hcana i = "<<i<<endl; + /// cout <<"hcana tdc_pos = "<<((THcSignalHit*) fPosTDCHits->At(i))->GetData()<<endl; + ///cout <<"hcana pos_ph = "<<pos_ph[i]<<endl; + // cout <<"hcana pos_phc_coeff = "<<((THcHodoscope *)GetParent())->GetHodoPosPhcCoeff(index)<<endl; + // cout <<"hcana postime = "<<postime[i]<<endl; + //cout <<"hcana negtime = "<<negtime[i]<<endl; + //************* + + // Find hit position. If postime larger, then hit was nearer negative side. + dist_from_center=0.5*(negtime[i]-postime[i])*((THcHodoscope *)GetParent())->GetHodoVelLight(index); + scint_center=0.5*(fPosLeft+fPosRight); + hit_position=scint_center+dist_from_center; + hit_position=TMath::Min(hit_position,fPosLeft); + hit_position=TMath::Max(hit_position,fPosRight); + postime[i]=postime[i]-(fPosLeft-hit_position)/((THcHodoscope *)GetParent())->GetHodoVelLight(index); + negtime[i]=negtime[i]-(hit_position-fPosRight)/((THcHodoscope *)GetParent())->GetHodoVelLight(index); + + time_pos[i]=postime[i]-(fZpos+(j%2)*fDzpos)/(29.979*betanominal); + time_neg[i]=negtime[i]-(fZpos+(j%2)*fDzpos)/(29.979*betanominal); + nfound++; + for (int k=0;k<200;k++) { + Double_t tmin=0.5*(k+1); + if ((time_pos[i]> tmin) && (time_pos[i] < tmin+toftolerance)) { + timehist[k]++; + } + if ((time_neg[i]> tmin) && (time_neg[i] < tmin+toftolerance)) { + timehist[k]++; + } + } + nfound++; + } + } + // Find the bin with most hits + jmax=0; + maxhit=0; + for (i=0;i<200;i++) { + if (timehist[i]>maxhit) { + jmax=i; + maxhit=timehist[i]; + } + } + // Resume regular tof code, now using time filer(?) from above + // Check for TWO good TDC hits + for (i=0;i<fNScinHits;i++) { + if ((((THcSignalHit*) fPosTDCHits->At(i))->GetData()>=mintdc) && + (((THcSignalHit*) fPosTDCHits->At(i))->GetData()<=maxtdc) && + (((THcSignalHit*) fNegTDCHits->At(i))->GetData()>=mintdc) && + (((THcSignalHit*) fNegTDCHits->At(i))->GetData()<=maxtdc)) { + if(jmax>0) { + Double_t tmin = 0.5*jmax; + if ((time_pos[i]>tmin) && (time_pos[i]<tmin+toftolerance) && + (time_neg[i]>tmin) && (time_neg[i]<tmin+toftolerance)) + two_good_times[i]=kTRUE; + } + } + } // end of loop that finds tube setting time + for (i=0;i<fNScinHits;i++) { + if (two_good_times[i]) { // both tubes fired + // correct time for everything except veloc. correction in order + // to find hit location from difference in TDC. + pos_ph[i]=((THcSignalHit*) fPosADCHits->At(i))->GetData(); + postime[i]=((THcSignalHit*) fPosTDCHits->At(i))->GetData()*tdctotime; + j=((THcSignalHit*)fPosTDCHits->At(i))->GetPaddleNumber()-1; + index=((THcHodoscope *)GetParent())->GetScinIndex(fPlaneNum-1,j); + postime[i]=postime[i]-((THcHodoscope *)GetParent())->GetHodoPosPhcCoeff(index)* + TMath::Sqrt(TMath::Max(0.,(pos_ph[i]/((THcHodoscope *)GetParent())->GetHodoPosMinPh(index)-1))); + postime[i]=postime[i]-((THcHodoscope *)GetParent())->GetHodoPosTimeOffset(index); + // + neg_ph[i]=((THcSignalHit*) fNegADCHits->At(i))->GetData(); + negtime[i]=((THcSignalHit*) fNegTDCHits->At(i))->GetData()*tdctotime; + j=((THcSignalHit*)fNegTDCHits->At(i))->GetPaddleNumber()-1; + index=((THcHodoscope *)GetParent())->GetScinIndex(fPlaneNum-1,j); + negtime[i]=negtime[i]-((THcHodoscope *)GetParent())->GetHodoNegPhcCoeff(index)* + TMath::Sqrt(TMath::Max(0.,(neg_ph[i]/((THcHodoscope *)GetParent())->GetHodoNegMinPh(index)-1))); + negtime[i]=negtime[i]-((THcHodoscope *)GetParent())->GetHodoNegTimeOffset(index); + // find hit position. If postime larger, then hit was nearer negative side + dist_from_center=0.5*(negtime[i]-postime[i])*((THcHodoscope *)GetParent())->GetHodoVelLight(index); + scint_center=0.5*(fPosLeft+fPosRight); + hit_position=scint_center+dist_from_center; + hit_position=TMath::Min(hit_position,fPosLeft); + hit_position=TMath::Max(hit_position,fPosRight); + postime[i]=postime[i]-(fPosLeft-hit_position)/((THcHodoscope *)GetParent())->GetHodoVelLight(index); + negtime[i]=negtime[i]-(hit_position-fPosRight)/((THcHodoscope *)GetParent())->GetHodoVelLight(index); + scin_corrected_time[i]=0.5*(postime[i]+negtime[i]); + } + else { // only one tube fired + scin_corrected_time[i]=0.0; // not a very good "flag" but there is the logical two_good_hits... + // no fpTimes for U! + } + } + //start time calculation. assume xp=yp=0 radians. project all + //time values to focal plane. use average for start time. + + fNScinGoodHits=0; + for (i=0;i<fNScinHits;i++) { + j=((THcSignalHit*)fNegTDCHits->At(i))->GetPaddleNumber()-1; + index=((THcHodoscope *)GetParent())->GetScinIndex(fPlaneNum-1,j); + if (two_good_times[i]) { // both tubes fired + fpTimes[fNScinGoodHits]=scin_corrected_time[i]-(fZpos+(j%2)*fDzpos)/(29.979*betanominal); + fScinTime[fNScinGoodHits]=scin_corrected_time[i]; + fScinSigma[fNScinGoodHits]=TMath::Sqrt(((THcHodoscope *)GetParent())->GetHodoPosSigma(index)*((THcHodoscope *)GetParent())->GetHodoPosSigma(index)+((THcHodoscope *)GetParent())->GetHodoNegSigma(index)*((THcHodoscope *)GetParent())->GetHodoNegSigma(index)); // not ideal by any stretch!!! + fScinZpos[fNScinGoodHits]=fZpos+(j%2)*fDzpos; // see comment above + // h_rfptime(hscin_plane_num(ihit))=fptime + fNScinGoodHits++; // increment the number of good hits + } + } + CalcFpTime(); + return 0; } +//_____________________________________________________________________________ +Int_t THcScintillatorPlane::AccumulatePedestals(TClonesArray* rawhits, Int_t nexthit) +{ + // Extract the data for this plane from hit list, accumulating into + // arrays for calculating pedestals. + + Int_t nrawhits = rawhits->GetLast()+1; + // cout << "THcScintillatorPlane::AcculatePedestals " << fPlaneNum << " " << nexthit << "/" << nrawhits << endl; + + Int_t ihit = nexthit; + while(ihit < nrawhits) { + THcRawHodoHit* hit = (THcRawHodoHit *) rawhits->At(ihit); + if(hit->fPlane > fPlaneNum) { + break; + } + Int_t element = hit->fCounter - 1; // Should check if in range + Int_t adcpos = hit->fADC_pos; + Int_t adcneg = hit->fADC_neg; + + if(adcpos <= fPosPedLimit[element]) { + fPosPedSum[element] += adcpos; + fPosPedSum2[element] += adcpos*adcpos; + fPosPedCount[element]++; + if(fPosPedCount[element] == fMinPeds/5) { + fPosPedLimit[element] = 100 + fPosPedSum[element]/fPosPedCount[element]; + } + } + if(adcneg <= fNegPedLimit[element]) { + fNegPedSum[element] += adcneg; + fNegPedSum2[element] += adcneg*adcneg; + fNegPedCount[element]++; + if(fNegPedCount[element] == fMinPeds/5) { + fNegPedLimit[element] = 100 + fNegPedSum[element]/fNegPedCount[element]; + } + } + ihit++; + } + + fNPedestalEvents++; + + return(ihit); +} + +//_____________________________________________________________________________ +void THcScintillatorPlane::CalculatePedestals( ) +{ + // Use the accumulated pedestal data to calculate pedestals + // Later add check to see if pedestals have drifted ("Danger Will Robinson!") + // cout << "Plane: " << fPlaneNum << endl; + for(UInt_t i=0; i<fNelem;i++) { + + // Positive tubes + fPosPed[i] = ((Double_t) fPosPedSum[i]) / TMath::Max(1, fPosPedCount[i]); + fPosThresh[i] = fPosPed[i] + 15; + + // Negative tubes + fNegPed[i] = ((Double_t) fNegPedSum[i]) / TMath::Max(1, fNegPedCount[i]); + fNegThresh[i] = fNegPed[i] + 15; + + // cout <<"Pedestals "<< i+1 << " " << fPosPed[i] << " " << fNegPed[i] << endl; + } + // cout << " " << endl; + +} + +//_____________________________________________________________________________ +void THcScintillatorPlane::InitializePedestals( ) +{ + fNPedestalEvents = 0; + fMinPeds = 500; // In engine, this is set in parameter file + fPosPedSum = new Int_t [fNelem]; + fPosPedSum2 = new Int_t [fNelem]; + fPosPedLimit = new Int_t [fNelem]; + fPosPedCount = new Int_t [fNelem]; + fNegPedSum = new Int_t [fNelem]; + fNegPedSum2 = new Int_t [fNelem]; + fNegPedLimit = new Int_t [fNelem]; + fNegPedCount = new Int_t [fNelem]; + + fPosPed = new Double_t [fNelem]; + fNegPed = new Double_t [fNelem]; + fPosThresh = new Double_t [fNelem]; + fNegThresh = new Double_t [fNelem]; + for(UInt_t i=0;i<fNelem;i++) { + fPosPedSum[i] = 0; + fPosPedSum2[i] = 0; + fPosPedLimit[i] = 1000; // In engine, this are set in parameter file + fPosPedCount[i] = 0; + fNegPedSum[i] = 0; + fNegPedSum2[i] = 0; + fNegPedLimit[i] = 1000; // In engine, this are set in parameter file + fNegPedCount[i] = 0; + } +} +//____________________________________________________________________________ +Int_t THcScintillatorPlane::GetNelem() +{ + return fNelem; +} +//____________________________________________________________________________ +Int_t THcScintillatorPlane::GetNScinHits() +{ + return fNScinHits; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::GetSpacing() +{ + return fSpacing; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::GetSize() +{ + return fSize; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::GetHodoSlop() +{ + return fHodoSlop; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::GetZpos() +{ + return fZpos; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::GetDzpos() +{ + return fDzpos; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::GetPosLeft() { + return fPosLeft; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::GetPosRight() { + return fPosRight; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::GetPosOffset() { + return fPosOffset; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::GetPosCenter(Int_t PaddleNo) { + return fPosCenter[PaddleNo]; +} +//____________________________________________________________________________ +Double_t THcScintillatorPlane::CalcFpTime() +{ + Double_t tmp=0; + Int_t i,counter=0; + for (i=0;i<fNScinGoodHits;i++) { + if (TMath::Abs(fpTimes[i]-((THcHodoscope *)GetParent())->GetStartTimeCenter())<=((THcHodoscope *)GetParent())->GetStartTimeSlop()) { + tmp+=fpTimes[i]; + counter++; + } + } + if (counter>0) { + fpTime=tmp/counter; + } else { + fpTime=-10000.; + } + return fpTime; +} +//____________________________________________________________________________ +ClassImp(THcScintillatorPlane) +//////////////////////////////////////////////////////////////////////////////// + diff --git a/src/THcScintillatorPlane.h b/src/THcScintillatorPlane.h index ce546684471fefb9bc8a518b01ef22f4a7bba198..106794e04fc9b3f36db612657e0ccd4a3f246e9a 100644 --- a/src/THcScintillatorPlane.h +++ b/src/THcScintillatorPlane.h @@ -12,24 +12,121 @@ // ////////////////////////////////////////////////////////////////////////////// -#include "THaNonTrackingDetector.h" +#include "THaSubDetector.h" +#include "TClonesArray.h" -class THcScintillatorPlane : public THaNonTrackingDetector { +class THaEvData; +class THaSignalHit; + +class THcScintillatorPlane : public THaSubDetector { public: + THcScintillatorPlane( const char* name, const char* description, + Int_t planenum, THaDetectorBase* parent = NULL); virtual ~THcScintillatorPlane(); - THcScintillatorPlane( const char* name, const char* description, - THaApparatus* a = NULL); + virtual void Clear( Option_t* opt="" ); + virtual Int_t Decode( const THaEvData& ); + virtual EStatus Init( const TDatime& run_time ); - virtual Int_t CoarseProcess( TClonesArray& tracks ) = 0; - virtual Int_t FineProcess( TClonesArray& tracks ) = 0; + virtual Int_t CoarseProcess( TClonesArray& tracks ); + virtual Int_t FineProcess( TClonesArray& tracks ); Bool_t IsTracking() { return kFALSE; } virtual Bool_t IsPid() { return kFALSE; } + virtual Int_t ProcessHits(TClonesArray* rawhits, Int_t nexthit); + virtual Int_t PulseHeightCorrection(); + + virtual Int_t AccumulatePedestals(TClonesArray* rawhits, Int_t nexthit); + virtual void CalculatePedestals( ); + + Int_t GetNelem(); // return number of paddles in this plane + Int_t GetNScinHits(); // return the number of hits in this plane (that pass min/max TDC cuts) + Double_t GetSpacing(); // return the spacing of paddles + Double_t GetSize(); // return paddle size + Double_t GetHodoSlop(); // return the hodo slop + Double_t GetZpos(); //return the z position + Double_t GetDzpos(); + Double_t GetPosLeft(); + Double_t GetPosRight(); + Double_t GetPosOffset(); + Double_t GetPosCenter(Int_t PaddleNo); // here we're counting from zero! + Double_t CalcFpTime(); + Double_t GetFpTime() {return fpTime;}; + Double_t GetFpTime(Int_t index) { return fpTimes[index];}; + Double_t GetScinTime(Int_t index) { return fScinTime[index];}; + Double_t GetScinSigma(Int_t index) { return fScinSigma[index];}; + Double_t GetScinZpos(Int_t index) { return fScinZpos[index];}; + Int_t GetNScinGoodHits() const {return fNScinGoodHits;}; + + TClonesArray* fParentHitList; + + TClonesArray* GetPosADC() { return fPosADCHits;}; // Ahmed + TClonesArray* GetNegADC() { return fNegADCHits;}; // Ahmed + TClonesArray* GetPosTDC() { return fPosTDCHits;}; // Ahmed + TClonesArray* GetNegTDC() { return fNegTDCHits;}; // Ahmed + protected: - ClassDef(THcScintillatorPlane,0) + TClonesArray* frPosTDCHits; + TClonesArray* frNegTDCHits; + TClonesArray* frPosADCHits; + TClonesArray* frNegADCHits; + TClonesArray* fPosTDCHits; + TClonesArray* fNegTDCHits; + TClonesArray* fPosADCHits; + TClonesArray* fNegADCHits; + + Int_t fPlaneNum; /* Which plane am I 1-4 */ + UInt_t fTotPlanes; /* so we can read variables that are not indexed by plane id */ + UInt_t fNelem; /* Need since we don't inherit from + detector base class */ + Int_t fNScinHits; /* Number of hits in this plane */ + Int_t fMaxHits; /* maximum number of hits to be considered - useful for dimensioning arrays */ + Double_t fSpacing; /* paddle spacing */ + Double_t fSize; /* paddle size */ + Double_t fZpos; /* z position */ + Double_t fDzpos; + Double_t fHodoSlop; /* max allowed slop for this plane */ + Double_t fPosLeft; /* NOTE: "left" = "top" for a Y scintillator */ + Double_t fPosRight; /* NOTE: "right" = "bottom" for a Y scintillator */ + Double_t fPosOffset; + Double_t *fPosCenter; /* array with centers for all scintillators in the plane */ + + + Double_t fTolerance; /* need this for PulseHeightCorrection */ + /* Pedestal Quantities */ + Int_t fNPedestalEvents; /* Number of pedestal events */ + Int_t fMinPeds; /* Only analyze/update if num events > */ + Int_t *fPosPedSum; /* Accumulators for pedestals */ + Int_t *fPosPedSum2; + Int_t *fPosPedLimit; + Int_t *fPosPedCount; + Int_t *fNegPedSum; + Int_t *fNegPedSum2; + Int_t *fNegPedLimit; + Int_t *fNegPedCount; + + Double_t *fPosPed; + Double_t *fPosSig; + Double_t *fPosThresh; + Double_t *fNegPed; + Double_t *fNegSig; + Double_t *fNegThresh; + + // + Int_t fNScinGoodHits; // number of hits for which both ends of the paddle fired in time! + Double_t fpTime; // the original code only has one fpTime per plane! + Double_t *fpTimes; // ... but also allows for more than one hit per plane + Double_t *fScinTime; // array of scintillator times (only filled for goodhits) + Double_t *fScinSigma; // errors for the above + Double_t *fScinZpos; // zpositions for the above + + virtual Int_t ReadDatabase( const TDatime& date ); + virtual Int_t DefineVariables( EMode mode = kDefine ); + virtual void InitializePedestals( ); + + ClassDef(THcScintillatorPlane,0); // Scintillator bars in a plane }; #endif diff --git a/src/THcShower.cxx b/src/THcShower.cxx new file mode 100644 index 0000000000000000000000000000000000000000..b547562d5563abb45c72a9d14751ff16836c980d --- /dev/null +++ b/src/THcShower.cxx @@ -0,0 +1,1048 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcShower // +// // +// Shower counter class, describing a generic segmented shower detector. // +// // +// // +// // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcShower.h" +#include "THcHallCSpectrometer.h" +#include "THaEvData.h" +#include "THaDetMap.h" +#include "THcDetectorMap.h" +#include "THcGlobals.h" +#include "THaCutList.h" +#include "THcParmList.h" +#include "VarDef.h" +#include "VarType.h" +#include "THaTrack.h" +#include "TClonesArray.h" +#include "THaTrackProj.h" +#include "TMath.h" + +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> +#include <numeric> + +using namespace std; + +//_____________________________________________________________________________ +THcShower::THcShower( const char* name, const char* description, + THaApparatus* apparatus ) : + THaNonTrackingDetector(name,description,apparatus) +{ + // Constructor + fNLayers = 0; // No layers until we make them + + fClusterList = new THcShowerClusterList; +} + +//_____________________________________________________________________________ +THcShower::THcShower( ) : + THaNonTrackingDetector() +{ + // Constructor +} + +//_____________________________________________________________________________ +void THcShower::Setup(const char* name, const char* description) +{ + char prefix[2]; + + prefix[0] = tolower(GetApparatus()->GetName()[0]); + prefix[1] = '\0'; + + string layernamelist; + DBRequest list[]={ + {"cal_num_layers", &fNLayers, kInt}, + {"cal_layer_names", &layernamelist, kString}, + {0} + }; + + gHcParms->LoadParmValues((DBRequest*)&list,prefix); + + vector<string> layer_names = vsplit(layernamelist); + + if(layer_names.size() != (UInt_t) fNLayers) { + cout << "THcShower::Setup ERROR: Number of layers " << fNLayers + << " doesn't agree with number of layer names " + << layer_names.size() << endl; + // Should quit. Is there an official way to quit? + } + + fLayerNames = new char* [fNLayers]; + for(UInt_t i=0;i<fNLayers;i++) { + fLayerNames[i] = new char[layer_names[i].length()+1]; + strcpy(fLayerNames[i], layer_names[i].c_str()); + } + + char *desc = new char[strlen(description)+100]; + fPlanes = new THcShowerPlane* [fNLayers]; + + for(UInt_t i=0;i < fNLayers;i++) { + strcpy(desc, description); + strcat(desc, " Plane "); + strcat(desc, fLayerNames[i]); + + fPlanes[i] = new THcShowerPlane(fLayerNames[i], desc, i+1, this); + + } + delete [] desc; + + cout << "---------------------------------------------------------------\n"; + cout << "From THcShower::Setup: created Shower planes for " + << GetApparatus()->GetName() << ": "; + + for(UInt_t i=0;i < fNLayers;i++) { + cout << fLayerNames[i]; + i < fNLayers-1 ? cout << ", " : cout << ".\n"; + } + cout << "---------------------------------------------------------------\n"; + +} + + +//_____________________________________________________________________________ +THaAnalysisObject::EStatus THcShower::Init( const TDatime& date ) +{ + Setup(GetName(), GetTitle()); + + // Should probably put this in ReadDatabase as we will know the + // maximum number of hits after setting up the detector map + + InitHitList(fDetMap, "THcRawShowerHit", 100); + + EStatus status; + if( (status = THaNonTrackingDetector::Init( date )) ) + return fStatus=status; + + for(UInt_t ip=0;ip<fNLayers;ip++) { + if((status = fPlanes[ip]->Init( date ))) { + return fStatus=status; + } + } + + char EngineDID[] = " CAL"; + EngineDID[0] = toupper(GetApparatus()->GetName()[0]); + + if( gHcDetectorMap->FillMap(fDetMap, EngineDID) < 0 ) { + static const char* const here = "Init()"; + Error( Here(here), "Error filling detectormap for %s.", + EngineDID); + return kInitError; + } + + + cout << "---------------------------------------------------------------\n"; + cout << "From THcShower::Init: initialized " << GetApparatus()->GetName() + << GetName() << endl; + cout << "---------------------------------------------------------------\n"; + + return fStatus = kOK; +} + +//_____________________________________________________________________________ +Int_t THcShower::ReadDatabase( const TDatime& date ) +{ + // Read this detector's parameters from the database file 'fi'. + // This function is called by THaDetectorBase::Init() once at the + // beginning of the analysis. + // 'date' contains the date/time of the run being analyzed. + + // static const char* const here = "ReadDatabase()"; + char prefix[2]; + + // Read data from database + // Pull values from the THcParmList instead of reading a database + // file like Hall A does. + + // We will probably want to add some kind of method to gHcParms to allow + // bulk retrieval of parameters of interest. + + // Will need to determine which spectrometer in order to construct + // the parameter names (e.g. hscin_1x_nr vs. sscin_1x_nr) + + prefix[0]=tolower(GetApparatus()->GetName()[0]); + prefix[1]='\0'; + + { + DBRequest list[]={ + {"cal_num_neg_columns", &fNegCols, kInt}, + {"cal_slop", &fSlop, kDouble}, + {"cal_fv_test", &fvTest, kInt,0,1}, + {"cal_fv_delta", &fvDelta, kDouble}, + {"dbg_raw_cal", &fdbg_raw_cal, kInt, 0, 1}, + {"dbg_decoded_cal", &fdbg_decoded_cal, kInt, 0, 1}, + {"dbg_sparsified_cal", &fdbg_sparsified_cal, kInt, 0, 1}, + {"dbg_clusters_cal", &fdbg_clusters_cal, kInt, 0, 1}, + {"dbg_tracks_cal", &fdbg_tracks_cal, kInt, 0, 1}, + {"dbg_init_cal", &fdbg_init_cal, kInt, 0, 1}, + {0} + }; + fvTest = 0; // Default if not defined + fdbg_raw_cal = 0; // Debugging off by default + fdbg_decoded_cal = 0; + fdbg_sparsified_cal = 0; + fdbg_clusters_cal = 0; + fdbg_tracks_cal = 0; + fdbg_init_cal = 0; + + gHcParms->LoadParmValues((DBRequest*)&list, prefix); + } + + // Debug output. + if (fdbg_init_cal) { + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShower::ReadDatabase for " + << GetApparatus()->GetName() << endl; + + cout << " Number of neg. columns = " << fNegCols << endl; + cout << " Slop parameter = " << fSlop << endl; + cout << " Fiducial volume test flag = " << fvTest << endl; + cout << " Fiducial volume excl. width = " << fvDelta << endl; + cout << " Initialize debug flag = " << fdbg_init_cal << endl; + cout << " Raw hit debug flag = " << fdbg_raw_cal << endl; + cout << " Decode debug flag = " << fdbg_decoded_cal << endl; + cout << " Sparsify debug flag = " << fdbg_sparsified_cal << endl; + cout << " Cluster debug flag = " << fdbg_clusters_cal << endl; + cout << " Tracking debug flag = " << fdbg_tracks_cal << endl; + } + + { + DBRequest list[]={ + {"cal_a_cor", &fAcor, kDouble}, + {"cal_b_cor", &fBcor, kDouble}, + {"cal_c_cor", fCcor, kDouble, 2}, + {"cal_d_cor", fDcor, kDouble, 2}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list, prefix); + } + + // Debug output. + if (fdbg_init_cal) { + cout << " Coordinate correction constants:\n"; + cout << " fAcor = " << fAcor << endl; + cout << " fBcor = " << fBcor << endl; + cout << " fCcor = " << fCcor[0] << ", " << fCcor[1] << endl; + cout << " fDcor = " << fDcor[0] << ", " << fDcor[1] << endl; + } + + BlockThick = new Double_t [fNLayers]; + fNBlocks = new UInt_t [fNLayers]; + fNLayerZPos = new Double_t [fNLayers]; + YPos = new Double_t [2*fNLayers]; + + for(UInt_t i=0;i<fNLayers;i++) { + DBRequest list[]={ + {Form("cal_%s_thick",fLayerNames[i]), &BlockThick[i], kDouble}, + {Form("cal_%s_nr",fLayerNames[i]), &fNBlocks[i], kInt}, + {Form("cal_%s_zpos",fLayerNames[i]), &fNLayerZPos[i], kDouble}, + {Form("cal_%s_right",fLayerNames[i]), &YPos[2*i], kDouble}, + {Form("cal_%s_left",fLayerNames[i]), &YPos[2*i+1], kDouble}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list, prefix); + } + + //Caution! Z positions (fronts) are off in hcal.param! Correct later on. + + XPos = new Double_t* [fNLayers]; + for(UInt_t i=0;i<fNLayers;i++) { + XPos[i] = new Double_t [fNBlocks[i]]; + DBRequest list[]={ + {Form("cal_%s_top",fLayerNames[i]),XPos[i], kDouble, fNBlocks[i]}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list, prefix); + } + + // Debug output. + if (fdbg_init_cal) { + for(UInt_t i=0;i<fNLayers;i++) { + cout << " Plane " << fLayerNames[i] << ":" << endl; + cout << " Block thickness: " << BlockThick[i] << endl; + cout << " NBlocks : " << fNBlocks[i] << endl; + cout << " Z Position : " << fNLayerZPos[i] << endl; + cout << " Y Positions : " << YPos[2*i] << ", " << YPos[2*i+1] + <<endl; + cout << " X Positions :"; + for(UInt_t j=0; j<fNBlocks[i]; j++) { + cout << " " << XPos[i][j]; + } + cout << endl; + } + } + + // Fiducial volume limits, based on Plane 1 positions. + // + + fvXmin = XPos[0][0] + fvDelta; + fvXmax = XPos[0][fNBlocks[0]-1] + BlockThick[0] - fvDelta; + fvYmin = YPos[0] + fvDelta; + fvYmax = YPos[1] - fvDelta; + + // Debug output. + if (fdbg_init_cal) { + cout << " Fiducial volume limits:" << endl; + cout << " Xmin = " << fvXmin << " Xmax = " << fvXmax << endl; + cout << " Ymin = " << fvYmin << " Ymax = " << fvYmax << endl; + } + + //Calibration related parameters (from hcal.param). + + fNtotBlocks=0; //total number of blocks + for (UInt_t i=0; i<fNLayers; i++) fNtotBlocks += fNBlocks[i]; + + // Debug output. + if (fdbg_init_cal) + cout << " Total number of blocks in the calorimeter: " << fNtotBlocks + << endl; + + //Pedestal limits from hcal.param. + fShPosPedLimit = new Int_t [fNtotBlocks]; + fShNegPedLimit = new Int_t [fNtotBlocks]; + + //Calibration constants + fPosGain = new Double_t [fNtotBlocks]; + fNegGain = new Double_t [fNtotBlocks]; + + //Read in parameters from hcal.param + Double_t hcal_pos_cal_const[fNtotBlocks]; + // Double_t hcal_pos_gain_ini[fNtotBlocks]; not used + // Double_t hcal_pos_gain_cur[fNtotBlocks]; not used + // Int_t hcal_pos_ped_limit[fNtotBlocks]; not used + Double_t hcal_pos_gain_cor[fNtotBlocks]; + + Double_t hcal_neg_cal_const[fNtotBlocks]; + // Double_t hcal_neg_gain_ini[fNtotBlocks]; not used + // Double_t hcal_neg_gain_cur[fNtotBlocks]; not used + // Int_t hcal_neg_ped_limit[fNtotBlocks]; not used + Double_t hcal_neg_gain_cor[fNtotBlocks]; + + DBRequest list[]={ + {"cal_pos_cal_const", hcal_pos_cal_const, kDouble, fNtotBlocks}, + // {"cal_pos_gain_ini", hcal_pos_gain_ini, kDouble, fNtotBlocks}, + // {"cal_pos_gain_cur", hcal_pos_gain_cur, kDouble, fNtotBlocks}, + {"cal_pos_ped_limit", fShPosPedLimit, kInt, fNtotBlocks}, + {"cal_pos_gain_cor", hcal_pos_gain_cor, kDouble, fNtotBlocks}, + {"cal_neg_cal_const", hcal_neg_cal_const, kDouble, fNtotBlocks}, + // {"cal_neg_gain_ini", hcal_neg_gain_ini, kDouble, fNtotBlocks}, + // {"cal_neg_gain_cur", hcal_neg_gain_cur, kDouble, fNtotBlocks}, + {"cal_neg_ped_limit", fShNegPedLimit, kInt, fNtotBlocks}, + {"cal_neg_gain_cor", hcal_neg_gain_cor, kDouble, fNtotBlocks}, + {"cal_min_peds", &fShMinPeds, kInt}, + {0} + }; + gHcParms->LoadParmValues((DBRequest*)&list, prefix); + + // Debug output. + if (fdbg_init_cal) { + + cout << " hcal_pos_cal_const:" << endl; + for (UInt_t j=0; j<fNLayers; j++) { + cout << " "; + for (UInt_t i=0; i<fNBlocks[j]; i++) { + cout << hcal_pos_cal_const[j*fNBlocks[j]+i] << " "; + }; + cout << endl; + }; + + cout << " fShPosPedLimit:" << endl; + for (UInt_t j=0; j<fNLayers; j++) { + cout << " "; + for (UInt_t i=0; i<fNBlocks[j]; i++) { + cout << fShPosPedLimit[j*fNBlocks[j]+i] << " "; + }; + cout << endl; + }; + + cout << " hcal_pos_gain_cor:" << endl; + for (UInt_t j=0; j<fNLayers; j++) { + cout << " "; + for (UInt_t i=0; i<fNBlocks[j]; i++) { + cout << hcal_pos_gain_cor[j*fNBlocks[j]+i] << " "; + }; + cout << endl; + }; + + cout << " hcal_neg_cal_const:" << endl; + for (UInt_t j=0; j<fNLayers; j++) { + cout << " "; + for (UInt_t i=0; i<fNBlocks[j]; i++) { + cout << hcal_neg_cal_const[j*fNBlocks[j]+i] << " "; + }; + cout << endl; + }; + + cout << " fShNegPedLimit:" << endl; + for (UInt_t j=0; j<fNLayers; j++) { + cout << " "; + for (UInt_t i=0; i<fNBlocks[j]; i++) { + cout << fShNegPedLimit[j*fNBlocks[j]+i] << " "; + }; + cout << endl; + }; + + cout << " hcal_neg_gain_cor:" << endl; + for (UInt_t j=0; j<fNLayers; j++) { + cout << " "; + for (UInt_t i=0; i<fNBlocks[j]; i++) { + cout << hcal_neg_gain_cor[j*fNBlocks[j]+i] << " "; + }; + cout << endl; + }; + + } // end of debug output + + // Calibration constants (GeV / ADC channel). + + for (UInt_t i=0; i<fNtotBlocks; i++) { + fPosGain[i] = hcal_pos_cal_const[i] * hcal_pos_gain_cor[i]; + fNegGain[i] = hcal_neg_cal_const[i] * hcal_neg_gain_cor[i]; + } + + // Debug output. + if (fdbg_init_cal) { + + cout << " fPosGain:" << endl; + for (UInt_t j=0; j<fNLayers; j++) { + cout << " "; + for (UInt_t i=0; i<fNBlocks[j]; i++) { + cout << fPosGain[j*fNBlocks[j]+i] << " "; + }; + cout << endl; + }; + + cout << " fNegGain:" << endl; + for (UInt_t j=0; j<fNLayers; j++) { + cout << " "; + for (UInt_t i=0; i<fNBlocks[j]; i++) { + cout << fNegGain[j*fNBlocks[j]+i] << " "; + }; + cout << endl; + }; + + } + + // Origin of the calorimeter, at the centre of the face of the detector, + // or at the centre of the front of the 1-st layer. + // + Double_t xOrig = (XPos[0][0] + XPos[0][fNBlocks[0]-1])/2 + BlockThick[0]/2; + Double_t yOrig = (YPos[0] + YPos[1])/2; + Double_t zOrig = fNLayerZPos[0]; + + fOrigin.SetXYZ(xOrig, yOrig, zOrig); + + // Debug output. + if (fdbg_init_cal) { + cout << " Origin of the Calorimeter:" << endl; + cout << " Xorig = " << GetOrigin().X() << endl; + cout << " Yorig = " << GetOrigin().Y() << endl; + cout << " Zorig = " << GetOrigin().Z() << endl; + cout << "---------------------------------------------------------------\n"; + } + + // Detector axes. Assume no rotation. + // + DefineAxes(0.); + + fIsInit = true; + + return kOK; +} + + +//_____________________________________________________________________________ +Int_t THcShower::DefineVariables( EMode mode ) +{ + // Initialize global variables and lookup table for decoder + + if( mode == kDefine && fIsSetup ) return kOK; + fIsSetup = ( mode == kDefine ); + + // Register variables in global list + + RVarDef vars[] = { + { "nhits", "Number of hits", "fNhits" }, + { "nclust", "Number of clusters", "fNclust" }, + { "etot", "Total energy", "fEtot" }, + { "etotnorm", "Total energy divided by Central Momentum", "fEtotNorm" }, + { "ntracks", "Number of shower tracks", "fNtracks" }, + { 0 } + }; + return DefineVarsFromList( vars, mode ); + +} + +//_____________________________________________________________________________ +THcShower::~THcShower() +{ + // Destructor. Remove variables from global list. + + if( fIsSetup ) + RemoveVariables(); + if( fIsInit ) + DeleteArrays(); + if (fTrackProj) { + fTrackProj->Clear(); + delete fTrackProj; fTrackProj = 0; + } +} + +//_____________________________________________________________________________ +void THcShower::DeleteArrays() +{ + // Delete member arrays. Used by destructor. + + delete [] BlockThick; BlockThick = NULL; + delete [] fNBlocks; fNBlocks = NULL; + delete [] fNLayerZPos; fNLayerZPos = NULL; + delete [] XPos; XPos = NULL; + delete [] ZPos; ZPos = NULL; +} + +//_____________________________________________________________________________ +inline +void THcShower::Clear(Option_t* opt) +{ + +// Reset per-event data. + + for(UInt_t ip=0;ip<fNLayers;ip++) { + fPlanes[ip]->Clear(opt); + } + + fNhits = 0; + fNclust = 0; + fNtracks = 0; + fEtot = 0.; + fEtotNorm = 0.; + + // Purge cluster list + + for (THcShowerClusterListIt i=fClusterList->begin(); i!=fClusterList->end(); + ++i) { + delete *i; + *i = 0; + } + fClusterList->clear(); + +} + +//_____________________________________________________________________________ +Int_t THcShower::Decode( const THaEvData& evdata ) +{ + + Clear(); + + // Get the Hall C style hitlist (fRawHitList) for this event + Int_t nhits = DecodeToHitList(evdata); + + fEvent = evdata.GetEvNum(); + + if(gHaCuts->Result("Pedestal_event")) { + Int_t nexthit = 0; + for(UInt_t ip=0;ip<fNLayers;ip++) { + nexthit = fPlanes[ip]->AccumulatePedestals(fRawHitList, nexthit); + } + fAnalyzePedestals = 1; // Analyze pedestals first normal events + return(0); + } + + if(fAnalyzePedestals) { + for(UInt_t ip=0;ip<fNLayers;ip++) { + fPlanes[ip]->CalculatePedestals(); + } + fAnalyzePedestals = 0; // Don't analyze pedestals next event + } + + Int_t nexthit = 0; + for(UInt_t ip=0;ip<fNLayers;ip++) { + nexthit = fPlanes[ip]->ProcessHits(fRawHitList, nexthit); + fEtot += fPlanes[ip]->GetEplane(); + } + THcHallCSpectrometer *app = static_cast<THcHallCSpectrometer*>(GetApparatus()); + fEtotNorm=fEtot/(app->GetPcentral()); + + return nhits; +} + +//_____________________________________________________________________________ +Int_t THcShower::CoarseProcess( TClonesArray& tracks) +{ + // Calculation of coordinates of particle track cross point with shower + // plane in the detector coordinate system. For this, parameters of track + // reconstructed in THaVDC::CoarseTrack() are used. + // + // Apply corrections and reconstruct the complete hits. + + // Clustering of hits. + // + + // Fill set of unclustered hits. + + THcShowerHitSet HitSet; + + for(UInt_t j=0; j < fNLayers; j++) { + + for (UInt_t i=0; i<fNBlocks[j]; i++) { + + //May be should be done this way. + // + // Double_t Edep = fPlanes[j]->GetEmean(i); + // if (Edep > 0.) { //hit + // Double_t x = YPos[j][i] + BlockThick[j]/2.; //top + thick/2 + // Double_t z = fNLayerZPos[j] + BlockThick[j]/2.;//front + thick/2 + // THcShowerHit* hit = new THcShowerHit(i,j,x,z,Edep); + + //ENGINE way. + // + if (fPlanes[j]->GetApos(i) - fPlanes[j]->GetPosPed(i) > + fPlanes[j]->GetPosThr(i) - fPlanes[j]->GetPosPed(i) || + fPlanes[j]->GetAneg(i) - fPlanes[j]->GetNegPed(i) > + fPlanes[j]->GetNegThr(i) - fPlanes[j]->GetNegPed(i)) { //hit + + Double_t Edep = fPlanes[j]->GetEmean(i); + Double_t Epos = fPlanes[j]->GetEpos(i); + Double_t Eneg = fPlanes[j]->GetEneg(i); + Double_t x = XPos[j][i] + BlockThick[j]/2.; //top + thick/2 + Double_t z = fNLayerZPos[j] + BlockThick[j]/2.; //front + thick/2 + + THcShowerHit* hit = new THcShowerHit(i,j,x,z,Edep,Epos,Eneg); + + HitSet.insert(hit); //<set> version + } + + } + } + + fNhits = HitSet.size(); + + //Debug output, print out hits before clustering. + + if (fdbg_clusters_cal) { + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShower::CoarseProcess for " + << GetApparatus()->GetName() << endl; + + cout << " List of unclustered hits. Total hits: " << fNhits << endl; + THcShowerHitIt it = HitSet.begin(); //<set> version + for (Int_t i=0; i!=fNhits; i++) { + cout << " hit " << i << ": "; + (*(it++))->show(); + } + } + + // Fill list of clusters. + + ClusterHits(HitSet); + + fNclust = (*fClusterList).size(); //number of clusters + + //Debug output, print out the cluster list. + + if (fdbg_clusters_cal) { + + cout << " Clustered hits. Number of clusters: " << fNclust << endl; + + UInt_t i = 0; + for (THcShowerClusterListIt ppcl = (*fClusterList).begin(); + ppcl != (*fClusterList).end(); ppcl++) { + + cout << " Cluster #" << i++ + <<": E=" << clE(*ppcl) + << " Epr=" << clEpr(*ppcl) + << " X=" << clX(*ppcl) + << " Z=" << clZ(*ppcl) + << " size=" << (**ppcl).size() + << endl; + + Int_t j=0; + for (THcShowerClusterIt pph=(**ppcl).begin(); pph!=(**ppcl).end(); + pph++) { + cout << " hit " << j++ << ": "; + (**pph).show(); + } + + } + + cout << "---------------------------------------------------------------\n"; + } + + return 0; +} + +//----------------------------------------------------------------------------- + +void THcShower::ClusterHits(THcShowerHitSet& HitSet) { + + // Collect hits from the HitSet into the clusters. The resultant clusters + // of hits are saved in the fClusterList. + + while (HitSet.size() != 0) { + + THcShowerCluster* cluster = new THcShowerCluster; + + THcShowerHitIt it = HitSet.end(); + (*cluster).insert(*(--it)); //Move the last hit from the hit list + HitSet.erase(it); //into the 1st cluster + + bool clustered = true; + + while (clustered) { //Proceed while a hit is clustered + + clustered = false; + + for (THcShowerHitIt i=HitSet.begin(); i!=HitSet.end(); ++i) { + + for (THcShowerClusterIt k=(*cluster).begin(); k!=(*cluster).end(); + k++) { + + if ((**i).isNeighbour(*k)) { + + (*cluster).insert(*i); //If the hit #i is neighbouring a hit + HitSet.erase(i); //in the cluster, then move it + //into the cluster. + clustered = true; + } + + if (clustered) break; + } //k + + if (clustered) break; + } //i + + } //while clustered + + fClusterList->push_back(cluster); //Put the cluster in the cluster list + + } //While hit_list not exhausted + +}; + +//----------------------------------------------------------------------------- + +// Various helper functions to accumulate hit related quantities. + +Double_t addE(Double_t x, THcShowerHit* h) { + return x + h->hitE(); +} + +Double_t addX(Double_t x, THcShowerHit* h) { + return x + h->hitE() * h->hitX(); +} + +Double_t addZ(Double_t x, THcShowerHit* h) { + return x + h->hitE() * h->hitZ(); +} + +Double_t addEpr(Double_t x, THcShowerHit* h) { + return h->hitColumn() == 0 ? x + h->hitE() : x; +} + +Double_t addEpos(Double_t x, THcShowerHit* h) { + return x + h->hitEpos(); +} + +Double_t addEneg(Double_t x, THcShowerHit* h) { + return x + h->hitEneg(); +} + +// X coordinate of center of gravity of cluster, calculated as hit energy +// weighted average. Put X out of the calorimeter (-75 cm), if there is no +// energy deposition in the cluster. +// +Double_t clX(THcShowerCluster* cluster) { + Double_t Etot = accumulate((*cluster).begin(),(*cluster).end(),0.,addE); + return (Etot != 0. ? + accumulate((*cluster).begin(),(*cluster).end(),0.,addX)/Etot : -75.); +} + +// Z coordinate of center of gravity of cluster, calculated as a hit energy +// weighted average. Put Z out of the calorimeter (0 cm), if there is no energy +// deposition in the cluster. +// +Double_t clZ(THcShowerCluster* cluster) { + Double_t Etot = accumulate((*cluster).begin(),(*cluster).end(),0.,addE); + return (Etot != 0. ? + accumulate((*cluster).begin(),(*cluster).end(),0.,addZ)/Etot : 0.); +} + +//Energy depostion in a cluster +// +Double_t clE(THcShowerCluster* cluster) { + return accumulate((*cluster).begin(),(*cluster).end(),0.,addE); +} + +//Energy deposition in the Preshower (1st plane) for a cluster +// +Double_t clEpr(THcShowerCluster* cluster) { + return accumulate((*cluster).begin(),(*cluster).end(),0.,addEpr); +} + +//Cluster energy deposition in plane iplane=0,..,3: +// side=0 -- from positive PMTs only; +// side=1 -- from negative PMTs only; +// side=2 -- from postive and negative PMTs. +// + +Double_t clEplane(THcShowerCluster* cluster, Int_t iplane, Int_t side) { + + if (side!=0&&side!=1&&side!=2) { + cout << "*** Wrong Side in clEplane:" << side << " ***" << endl; + return -1; + } + + THcShowerHitSet pcluster; + for (THcShowerHitIt it=(*cluster).begin(); it!=(*cluster).end(); ++it) { + if ((*it)->hitColumn() == iplane) pcluster.insert(*it); + } + + Double_t Eplane; + switch (side) { + case 0 : + Eplane = accumulate(pcluster.begin(),pcluster.end(),0.,addEpos); + break; + case 1 : + Eplane = accumulate(pcluster.begin(),pcluster.end(),0.,addEneg); + break; + case 2 : + Eplane = accumulate(pcluster.begin(),pcluster.end(),0.,addE); + break; + default : + Eplane = 0. ; + } + + return Eplane; +} + +//----------------------------------------------------------------------------- + +Int_t THcShower::MatchCluster(THaTrack* Track, + Double_t& XTrFront, Double_t& YTrFront) +{ + // Match a cluster to a given track. Return the cluster number, + // and track coordinates at the front of calorimeter. + + XTrFront = kBig; + YTrFront = kBig; + Double_t pathl = kBig; + + // Track interception with face of the calorimeter. The coordinates are + // in the calorimeter's local system. + + fOrigin = fPlanes[0]->GetOrigin(); + + CalcTrackIntercept(Track, pathl, XTrFront, YTrFront); + + // Transform coordiantes to the spectrometer's coordinate system. + + XTrFront += GetOrigin().X(); + YTrFront += GetOrigin().Y(); + + Bool_t inFidVol = true; // In Fiducial Volume flag + + // Re-evaluate Fid. Volume Flag if fid. volume test is requested + + if (fvTest) { + + // Track coordinates at the back of the detector. + + // Origin at the front of the last layer. + fOrigin = fPlanes[fNLayers-1]->GetOrigin(); + + Double_t XTrBack = kBig; + Double_t YTrBack = kBig; + + CalcTrackIntercept(Track, pathl, XTrBack, YTrBack); + + XTrBack += GetOrigin().X(); // from local coord. system + YTrBack += GetOrigin().Y(); // to the spectrometer system + + inFidVol = (XTrFront <= fvXmax) && (XTrFront >= fvXmin) && + (YTrFront <= fvYmax) && (YTrFront >= fvYmin) && + (XTrBack <= fvXmax) && (XTrBack >= fvXmin) && + (YTrBack <= fvYmax) && (YTrBack >= fvYmin); + + } + + // Match a cluster to the track. + + Int_t mclust = -1; // The match cluster #, initialize with a bogus value. + Double_t deltaX = kBig; // Track to cluster distance + + if (inFidVol) { + + // Since hits and clusters are in reverse order (with respect to Engine), + // search backwards to be consistent with Engine. + // + for (Int_t i=fNclust-1; i>-1; i--) { + + THcShowerCluster* cluster = *(fClusterList->begin()+i); + + Double_t dx = TMath::Abs( clX(cluster) - XTrFront ); + + if (dx <= (0.5*BlockThick[0] + fSlop)) { + fNtracks++; // number of shower tracks (Consistent with engine) + if (dx < deltaX) { + mclust = i; + deltaX = dx; + } + } + } + } + + //Debug output. + + if (fdbg_tracks_cal) { + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShower::MatchCluster for " + << GetApparatus()->GetName() << endl; + + cout << " Track at DC:" + << " X = " << Track->GetX() + << " Y = " << Track->GetY() + << " Theta = " << Track->GetTheta() + << " Phi = " << Track->GetPhi() + << endl; + cout << " Track at the front of Calorimeter:" + << " X = " << XTrFront + << " Y = " << YTrFront + << " Pathl = " << pathl + << endl; + if (fvTest) + cout << " Fiducial volume test: inFidVol = " << inFidVol << endl; + + cout << " Matched cluster #" << mclust << ", delatX= " << deltaX + << endl; + cout << "---------------------------------------------------------------\n"; + } + + return mclust; +} + +//_____________________________________________________________________________ +Float_t THcShower::GetShEnergy(THaTrack* Track) { + + // Get total energy deposited in the cluster matched to the given + // spectrometer Track. + + // Track coordinates at front of the calorimeter, initialize out of + // acceptance. + Double_t Xtr = -75.; + Double_t Ytr = -40.; + + // Associate a cluster to the track. + + Int_t mclust = MatchCluster(Track, Xtr, Ytr); + + // Coordinate corrected total energy deposition in the cluster. + + Float_t Etrk = 0.; + if (mclust >= 0) { // if there is a matched cluster + + // Get matched cluster. + + THcShowerCluster* cluster = *(fClusterList->begin()+mclust); + + // Correct track energy depositions for the impact coordinate. + + for (UInt_t ip=0; ip<fNLayers; ip++) { + + // Coordinate correction factors for positive and negative sides, + // different for double PMT counters in the 1-st two layes and for + // single PMT counters in the rear two layers. + Float_t corpos = 1.; + Float_t corneg = 1.; + if (ip < fNegCols) { + corpos = Ycor(Ytr,0); + corneg = Ycor(Ytr,1); + } + else { + corpos = Ycor(Ytr); + corneg = 0.; + } + + Etrk += clEplane(cluster,ip,0) * corpos; + Etrk += clEplane(cluster,ip,1) * corneg; + + } //over planes + + } //mclust>=0 + + //Debug output. + + if (fdbg_tracks_cal) { + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShower::GetShEnergy for " + << GetApparatus()->GetName() << endl; + + cout << " Track at the calorimeter: X = " << Xtr << " Y = " << Ytr; + if (mclust >= 0) + cout << ", matched cluster #" << mclust << "." << endl; + else + cout << ", no matched cluster found." << endl; + + cout << " Coordinate corrected track energy = " << Etrk << "." << endl; + cout << "---------------------------------------------------------------\n"; + } + + return Etrk; +} + +//_____________________________________________________________________________ +Int_t THcShower::FineProcess( TClonesArray& tracks ) +{ + + // Shower energy assignment to the spectrometer tracks. + // + + Int_t Ntracks = tracks.GetLast()+1; // Number of reconstructed tracks + + for (Int_t itrk=0; itrk<Ntracks; itrk++) { + + THaTrack* theTrack = static_cast<THaTrack*>( tracks[itrk] ); + + Float_t energy = GetShEnergy(theTrack); + theTrack->SetEnergy(energy); + + } //over tracks + + //Debug output. + + if (fdbg_tracks_cal) { + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShower::FineProcess for " + << GetApparatus()->GetName() << endl; + + cout << " Number of tracks = " << Ntracks << endl; + + for (Int_t itrk=0; itrk<Ntracks; itrk++) { + THaTrack* theTrack = static_cast<THaTrack*>( tracks[itrk] ); + cout << " Track " << itrk << ": " + << " X = " << theTrack->GetX() + << " Y = " << theTrack->GetY() + << " Theta = " << theTrack->GetTheta() + << " Phi = " << theTrack->GetPhi() + << " Energy = " << theTrack->GetEnergy() << endl; + } + + cout << "---------------------------------------------------------------\n"; + } + + return 0; +} + +Double_t THcShower::GetNormETot( ){ + return fEtotNorm; +} + +ClassImp(THcShower) +//////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcShower.h b/src/THcShower.h new file mode 100644 index 0000000000000000000000000000000000000000..b2dddb9a6b82576837c62f73e9d8fb015f228d06 --- /dev/null +++ b/src/THcShower.h @@ -0,0 +1,327 @@ +#ifndef ROOT_THcShower +#define ROOT_THcShower + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcShower // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "TClonesArray.h" +#include "THaNonTrackingDetector.h" +#include "THcHitList.h" +#include "THcShowerPlane.h" +#include "TMath.h" + + +// HMS calorimeter hits, version 2 + +#include <set> +#include <iterator> +#include <iostream> +#include <memory> + +using namespace std; + +class THcShowerHit { //HMS calorimeter hit class + +private: + Int_t fCol, fRow; //hit colomn and row + Double_t fX, fZ; //hit X (vert.) and Z (along spect.axis) coordinates + Double_t fE; //hit mean energy deposition + Double_t fEpos; //hit energy deposition from positive PMT + Double_t fEneg; //hit energy deposition from negative PMT + +public: + + THcShowerHit() { //default constructor + fCol=fRow=0; + fX=fZ=0.; + fE=0.; + fEpos=0.; + fEneg=0.; + } + + THcShowerHit(Int_t hRow, Int_t hCol, Double_t hX, Double_t hZ, + Double_t hE, Double_t hEpos, Double_t hEneg) { + fRow=hRow; + fCol=hCol; + fX=hX; + fZ=hZ; + fE=hE; + fEpos=hEpos; + fEneg=hEneg; + } + + ~THcShowerHit() { + // cout << " hit destructed" << endl; + } + + Int_t hitColumn() { + return fCol; + } + + Int_t hitRow() { + return fRow; + } + + Double_t hitX() { + return fX; + } + + Double_t hitZ() { + return fZ; + } + + Double_t hitE() { + return fE; + } + + Double_t hitEpos() { + return fEpos; + } + + Double_t hitEneg() { + return fEneg; + } + + // Decide if a hit is neighbouring the current hit. + // Two hits are neighbours if share a side or a corner, + // or in the same row but separated by no more than a block. + // + bool isNeighbour(THcShowerHit* hit1) { //Is hit1 neighbouring this hit? + Int_t dRow = fRow-(*hit1).fRow; + Int_t dCol = fCol-(*hit1).fCol; + return (TMath::Abs(dRow)<2 && TMath::Abs(dCol)<2) || + (dRow==0 && TMath::Abs(dCol)<3); + } + + //Print out hit information + // + void show() { + cout << "row=" << fRow << " column=" << fCol + << " x=" << fX << " z=" << fZ + << " E=" << fE << " Epos=" << fEpos << " Eneg=" << fEneg << endl; + } + + // Define < operator in order to fill in set of hits in a sorted manner. + // + bool operator<(THcShowerHit rhs) const { + if (fCol != rhs.fCol) + return fCol < rhs.fCol; + else + return fRow < rhs.fRow; + } + +}; + + +//____________________________________________________________________________ + +// Container (collection) of hits and its iterator. +// +typedef set<THcShowerHit*> THcShowerHitSet; +typedef THcShowerHitSet::iterator THcShowerHitIt; + +typedef THcShowerHitSet THcShowerCluster; +typedef THcShowerCluster::iterator THcShowerClusterIt; + +//______________________________________________________________________________ + +//Alias for container of clusters and for its iterator +// +typedef vector<THcShowerCluster*> THcShowerClusterList; +typedef THcShowerClusterList::iterator THcShowerClusterListIt; + +//______________________________________________________________________________ + +class THcShower : public THaNonTrackingDetector, public THcHitList { + +public: + THcShower( const char* name, const char* description = "", + THaApparatus* a = NULL ); + virtual ~THcShower(); + virtual void Clear( Option_t* opt="" ); + virtual Int_t Decode( const THaEvData& ); + virtual EStatus Init( const TDatime& run_time ); + virtual Int_t CoarseProcess( TClonesArray& tracks ); + virtual Int_t FineProcess( TClonesArray& tracks ); + + Double_t GetNormETot(); + + Int_t GetNHits() const { return fNhits; } + + Int_t GetNBlocks(Int_t NLayer) const { return fNBlocks[NLayer];} + + Double_t GetXPos(Int_t NLayer, Int_t NRaw) const { + return XPos[NLayer][NRaw]; + } + + Double_t GetYPos(Int_t NLayer, Int_t Side) const { + + //Side = 0 for postive (right) side + //Side = 1 for negative (left) side + + return YPos[2*NLayer+(1-Side)]; + } + + Double_t GetZPos(Int_t NLayer) const {return fNLayerZPos[NLayer];} + + Double_t GetBlockThick(Int_t NLayer) {return BlockThick[NLayer];} + + Int_t GetPedLimit(Int_t NBlock, Int_t NLayer, Int_t Side) { + if (Side!=0&&Side!=1) { + cout << "*** Wrong Side in GetPedLimit:" << Side << " ***" << endl; + return -1; + } + Int_t nelem = 0; + for (Int_t i=0; i<NLayer; i++) nelem += fNBlocks[i]; + nelem += NBlock; + return ( Side == 0 ? fShPosPedLimit[nelem] : fShNegPedLimit[nelem]); + } + + Double_t GetGain(Int_t NBlock, Int_t NLayer, Int_t Side) { + if (Side!=0&&Side!=1) { + cout << "*** Wrong Side in GetGain:" << Side << " ***" << endl; + return -1; + } + Int_t nelem = 0; + for (Int_t i=0; i<NLayer; i++) nelem += fNBlocks[i]; + nelem += NBlock; + return ( Side == 0 ? fPosGain[nelem] : fNegGain[nelem]); + } + + Int_t GetMinPeds() { + return fShMinPeds; + } + + Int_t GetNLayers() { + return fNLayers; + } + + //Coordinate correction for single PMT modules. + //PMT attached at right (positive) side. + + Float_t Ycor(Double_t y) { + return TMath::Exp(y/fAcor)/(1. + y*y/fBcor); + } + + //Coordinate correction for double PMT modules. + // + + Float_t Ycor(Double_t y, Int_t side) { + if (side!=0&&side!=1) { + cout << "THcShower::Ycor : wrong side " << side << endl; + return 0.; + } + Int_t sign = 1 - 2*side; + // return (fCcor + sign*y)/(fCcor + sign*y/fDcor); + return (fCcor[side] + sign*y)/(fCcor[side] + sign*y/fDcor[side]); + } + + // Get total energy deposited in the cluster matched to the given + // spectrometer Track. + + Float_t GetShEnergy(THaTrack*); + + THcShower(); // for ROOT I/O + +protected: + + Int_t fEvent; + + Int_t fAnalyzePedestals; // Flag for pedestal analysis. + + Int_t* fShPosPedLimit; // [fNtotBlocks] ADC limits for pedestal calc.-s. + Int_t* fShNegPedLimit; + + Int_t fShMinPeds; // Min.number of events to analyze pedestals. + + Double_t* fPosGain; // [fNtotBlocks] Gain constants from calibration + Double_t* fNegGain; + + // Per-event data + + Int_t fNhits; // Total number of hits + Int_t fNclust; // Number of clusters + Int_t fNtracks; // Number of shower tracks, i.e. number of + // cluster-to-track association + Double_t fEtot; // Total energy + Double_t fEtotNorm; // Total energy divided by spec central momentum + + THcShowerClusterList* fClusterList; // List of hit clusters + + + // Geometrical parameters. + + char** fLayerNames; + UInt_t fNLayers; // Number of layers in the calorimeter + Double_t* fNLayerZPos; // Z positions of fronts of layers + Double_t* BlockThick; // Thickness of blocks + UInt_t* fNBlocks; // [fNLayers] number of blocks per layer + UInt_t fNtotBlocks; // Total number of shower counter blocks + Double_t** XPos; // [fNLayers] X,Y,Z positions of blocks + Double_t* YPos; + Double_t* ZPos; + UInt_t fNegCols; // # of columns with neg. side PMTs only. + Double_t fSlop; // Track to cluster vertical slop distance. + Int_t fvTest; // fiducial volume test flag for tracking + Double_t fvDelta; // Exclusion band width for fiducial volume + + Double_t fvXmin; // Fiducial volume limits + Double_t fvXmax; + Double_t fvYmin; + Double_t fvYmax; + + Int_t fdbg_raw_cal; // Shower debug flags + Int_t fdbg_decoded_cal; + Int_t fdbg_sparsified_cal; + Int_t fdbg_clusters_cal; + Int_t fdbg_tracks_cal; + Int_t fdbg_init_cal; // No counterpart in engine, added to debug + // calorimeter initialization + + Double_t fAcor; // Coordinate correction constants + Double_t fBcor; + Double_t fCcor[2]; // for positive ad negative side PMTs + Double_t fDcor[2]; + + THcShowerPlane** fPlanes; // [fNLayers] Shower Plane objects + + TClonesArray* fTrackProj; // projection of track onto plane + + void ClearEvent(); + void DeleteArrays(); + virtual Int_t ReadDatabase( const TDatime& date ); + virtual Int_t DefineVariables( EMode mode = kDefine ); + + void Setup(const char* name, const char* description); + + // Cluster to track association method. + Int_t MatchCluster(THaTrack*, Double_t&, Double_t&); + + void ClusterHits(THcShowerHitSet& HitSet); + + friend class THcShowerPlane; //to access debug flags. + + ClassDef(THcShower,0) // Shower counter detector +}; + +/////////////////////////////////////////////////////////////////////////////// + +// Various helper functions to accumulate hit related quantities. + +Double_t addE(Double_t x, THcShowerHit* h); +Double_t addX(Double_t x, THcShowerHit* h); +Double_t addZ(Double_t x, THcShowerHit* h); +Double_t addEpr(Double_t x, THcShowerHit* h); + +// Methods to calculate coordinates and energy depositions for a given cluster. + +Double_t clX(THcShowerCluster* cluster); +Double_t clZ(THcShowerCluster* cluster); +Double_t clE(THcShowerCluster* cluster); +Double_t clEpr(THcShowerCluster* cluster); +Double_t clEplane(THcShowerCluster* cluster, Int_t iplane, Int_t side); + +#endif diff --git a/src/THcShowerCluster.h.float b/src/THcShowerCluster.h.float new file mode 100644 index 0000000000000000000000000000000000000000..796fb39469414920ed7fa89cfe3e459e2eaa1b0e --- /dev/null +++ b/src/THcShowerCluster.h.float @@ -0,0 +1,254 @@ +#ifndef ROOT_THcShowerCluster +#define ROOT_THcShowerCluster + +//HMS calorimeter hit cluster, version 3. + +//#include "THcShower.h" +#include "THcShowerHit.h" + +//HMS calorimeter hit cluster +// +class THcShowerCluster : THcShowerHitList { + + public: + + THcShowerCluster() { + // cout << "Dummy THcShowerCluster object created" << endl; + } + + ~THcShowerCluster() { + for (THcShowerHitIt i = THcShowerHitList::begin(); + i != THcShowerHitList::end(); ++i) { + delete *i; + *i = 0; + } + } + + // Add a hit to the cluster hit list + // + void grow(THcShowerHit* hit) { + THcShowerHitList::push_back(hit); + } + + //Pointer to the hit #i in the cluster hit list + // + THcShowerHit* ClusteredHit(UInt_t i) { + return * (THcShowerHitList::begin()+i); + } + + //Print out a hit in the cluster + // + void showHit(UInt_t num) { + (*(THcShowerHitList::begin()+num))->show(); + } + + // X coordinate of center of gravity of cluster, + // calculated as hit energy weighted average. + // Put X out of the calorimeter (-75 cm), if there is no energy deposition + // in the cluster. + // + Double_t clX() { + // Double_t x_sum=0.; + // Double_t Etot=0.; + float x_sum=0.; + float Etot=0.; + + // for (THcShowerHitIt it=THcShowerHitList::begin(); + // it!=THcShowerHitList::end(); ++it) { + + // Consistent with Engine. + // + for (THcShowerHitIt it=THcShowerHitList::end()-1; + it>=THcShowerHitList::begin(); it--) { + //x_sum += (*it)->hitX() * (*it)->hitE(); + //Etot += (*it)->hitE(); + x_sum += float((*it)->hitX()) * float((*it)->hitE()); + Etot += float((*it)->hitE()); + } + // cout << "x_sum=" << x_sum << " Etot=" << Etot << endl; + return (Etot != 0. ? x_sum/Etot : -75.); + } + + // Z coordinate of center of gravity of cluster, + // calculated as a hit energy weighted average. + // Put Z out of the calorimeter (0 cm), if there is no energy deposition + // in the cluster. + // + Double_t clZ() { + Double_t z_sum=0.; + Double_t Etot=0.; + for (THcShowerHitIt it=THcShowerHitList::begin(); + it!=THcShowerHitList::end(); ++it) { + z_sum += (*it)->hitZ() * (*it)->hitE(); + Etot += (*it)->hitE(); + } + // cout << "z_sum=" << z_sum << " Etot=" << Etot << endl; + return (Etot != 0. ? z_sum/Etot : 0.); + } + + //Energy depostion in a cluster + // + Double_t clE() { + // cout << "In ECl:" << endl; + Double_t Etot=0.; + for (THcShowerHitIt it=THcShowerHitList::begin(); + it!=THcShowerHitList::end(); ++it) { + Etot += (*it)->hitE(); + } + return Etot; + } + + //Energy deposition in the Preshower (1st plane) for a cluster + // + Double_t clEpr() { + Double_t Epr=0.; + for (THcShowerHitIt it=THcShowerHitList::begin(); + it!=THcShowerHitList::end(); ++it) { + if ((*it)->hitColumn() == 0) { + Epr += (*it)->hitE(); + } + } + return Epr; + } + + //Cluster energy deposition in plane iplane=0,..,3: + // side=0 -- from positive PMTs only; + // side=1 -- from negative PMTs only; + // side=2 -- from postive and negative PMTs. + // + + Double_t clEplane(Int_t iplane, Int_t side) { + + if (side!=0&&side!=1&&side!=2) { + cout << "*** Wrong Side in clEplane:" << side << " ***" << endl; + return -1; + } + + Double_t Eplane=0.; + for (THcShowerHitIt it=THcShowerHitList::begin(); + it!=THcShowerHitList::end(); ++it) { + + if ((*it)->hitColumn() == iplane) + + switch (side) { + case 0 : Eplane += (*it)->hitEpos(); + break; + case 1 : Eplane += (*it)->hitEneg(); + break; + case 2 : Eplane += (*it)->hitE(); + break; + default : ; + } + + } + + return Eplane; + } + + + //Cluster size (number of hits in the cluster). + // + UInt_t clSize() { + return THcShowerHitList::size(); + } + +}; + +//----------------------------------------------------------------------------- + +//Alias for container of clusters and for its iterator +// +typedef vector<THcShowerCluster*> THcShClusterList; +typedef THcShClusterList::iterator THcShClusterIt; + +//List of clusters +// +class THcShowerClusterList : private THcShClusterList { + + public: + + THcShowerClusterList() { + // cout << "Dummy THcShowerClusterList object created" << endl; + } + + ~THcShowerClusterList() { + purge(); + } + + // Purge cluster list + // + void purge() { + for (THcShClusterIt i = THcShClusterList::begin(); + i != THcShClusterList::end(); ++i) { + delete *i; + *i = 0; + } + THcShClusterList::clear(); + } + + //Put a cluster in the cluster list + // + void grow(THcShowerCluster* cluster) { + THcShClusterList::push_back(cluster); + } + + //Pointer to the cluster #i in the cluster list + // + THcShowerCluster* ListedCluster(UInt_t i) { + return *(THcShClusterList::begin()+i); + } + + //Cluster list size. + // + UInt_t NbClusters() { + return THcShClusterList::size(); + } + + //____________________________________________________________________________ + + void ClusterHits(THcShowerHitList HitList) { + + // Collect hits from the HitList into the clusters. The resultant clusters + // of hits are saved in the ClusterList. + + while (HitList.size() != 0) { + + THcShowerCluster* cluster = new THcShowerCluster; + + (*cluster).grow(*(HitList.end()-1)); //Move the last hit from the hit list + HitList.erase(HitList.end()-1); //into the 1st cluster + bool clustered = true; + + while (clustered) { //Proceed while a hit is clustered + + clustered = false; + + for (THcShowerHitIt i=HitList.begin(); i!=HitList.end(); ++i) { + + for (UInt_t k=0; k!=(*cluster).clSize(); k++) { + + if ((**i).isNeighbour((*cluster).ClusteredHit(k))) { + + (*cluster).grow(*i); //If the hit #i is neighbouring a hit + HitList.erase(i); //in the cluster, then move it + //into the cluster. + clustered = true; + } + + if (clustered) break; + } //k + + if (clustered) break; + } //i + + } //while clustered + + grow(cluster); //Put the cluster in the cluster list + + } //While hit_list not exhausted + + } + +}; + +#endif diff --git a/src/THcShowerPlane.cxx b/src/THcShowerPlane.cxx new file mode 100644 index 0000000000000000000000000000000000000000..8bd3d32e3174eeb900654d98766965c8a6a3d756 --- /dev/null +++ b/src/THcShowerPlane.cxx @@ -0,0 +1,544 @@ +//*-- Author : + +////////////////////////////////////////////////////////////////////////// +// +// THcShowerPlane +// +////////////////////////////////////////////////////////////////////////// + +#include "THcShowerPlane.h" +#include "TClonesArray.h" +#include "THcSignalHit.h" +#include "THcGlobals.h" +#include "THcParmList.h" +#include "THcHitList.h" +#include "THcShower.h" +#include "THcRawShowerHit.h" +#include "TClass.h" +#include "math.h" +#include "THaTrack.h" +#include "THaTrackProj.h" + +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> + +#include <fstream> +using namespace std; + +ClassImp(THcShowerPlane) + +//______________________________________________________________________________ +THcShowerPlane::THcShowerPlane( const char* name, + const char* description, + const Int_t layernum, + THaDetectorBase* parent ) + : THaSubDetector(name,description,parent) +{ + // Normal constructor with name and description + fPosADCHits = new TClonesArray("THcSignalHit",fNelem); + fNegADCHits = new TClonesArray("THcSignalHit",fNelem); + + //#if ROOT_VERSION_CODE < ROOT_VERSION(5,32,0) + // fPosADCHitsClass = fPosADCHits->GetClass(); + // fNegADCHitsClass = fNegADCHits->GetClass(); + //#endif + + fLayerNum = layernum; +} + +//______________________________________________________________________________ +THcShowerPlane::~THcShowerPlane() +{ + // Destructor + delete fPosADCHits; + delete fNegADCHits; + + delete [] fA_Pos; + delete [] fA_Neg; + delete [] fA_Pos_p; + delete [] fA_Neg_p; + + delete [] fEpos; + delete [] fEneg; + delete [] fEmean; +} + +//_____________________________________________________________________________ +THaAnalysisObject::EStatus THcShowerPlane::Init( const TDatime& date ) +{ + // Extra initialization for shower layer: set up DataDest map + + if( IsZombie()) + return fStatus = kInitError; + + // How to get information for parent + // if( GetParent() ) + // fOrigin = GetParent()->GetOrigin(); + + EStatus status; + if( (status=THaSubDetector::Init( date )) ) + return fStatus = status; + + return fStatus = kOK; + +} + +//_____________________________________________________________________________ +Int_t THcShowerPlane::ReadDatabase( const TDatime& date ) +{ + // Retrieve parameters we need from parent class + // + + THcShower* fParent; + fParent = (THcShower*) GetParent(); + + // Find the number of elements + fNelem = fParent->GetNBlocks(fLayerNum-1); + + // Origin of the plane: + // + // X is average of top X coordinates of the top and bottom blocks + // shifted by a half of the block thickness; + // Y is average of left and right edges; + // Z is _front_ position of the plane along the beam. + + Double_t BlockThick = fParent->GetBlockThick(fLayerNum-1); + + Double_t xOrig = (fParent->GetXPos(fLayerNum-1,0) + + fParent->GetXPos(fLayerNum-1,fNelem-1))/2 + + BlockThick/2; + + Double_t yOrig = (fParent->GetYPos(fLayerNum-1,0) + + fParent->GetYPos(fLayerNum-1,1))/2; + + Double_t zOrig = fParent->GetZPos(fLayerNum-1); + + fOrigin.SetXYZ(xOrig, yOrig, zOrig); + + // Create arrays to hold results here + // + + // Pedestal limits per channel. + + fPosPedLimit = new Int_t [fNelem]; + fNegPedLimit = new Int_t [fNelem]; + + for(Int_t i=0;i<fNelem;i++) { + fPosPedLimit[i] = fParent->GetPedLimit(i,fLayerNum-1,0); + fNegPedLimit[i] = fParent->GetPedLimit(i,fLayerNum-1,1); + } + + fMinPeds = fParent->GetMinPeds(); + + InitializePedestals(); + + // ADC amplitudes per channel. + + fA_Pos = new Double_t[fNelem]; + fA_Neg = new Double_t[fNelem]; + fA_Pos_p = new Double_t[fNelem]; + fA_Neg_p = new Double_t[fNelem]; + + // Energy depositions per block (not corrected for track coordinate) + + fEpos = new Double_t[fNelem]; + fEneg = new Double_t[fNelem]; + fEmean= new Double_t[fNelem]; + + // Debug output. + + if (fParent->fdbg_init_cal) { + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShowerPlane::ReadDatabase for " + << GetApparatus()->GetName() << ":" << endl; + + cout << " Layer #" << fLayerNum << ", number of elements " << fNelem + << endl; + + cout << " Origin of Layer at X = " << fOrigin.X() + << " Y = " << fOrigin.Y() << " Z = " << fOrigin.Z() << endl; + + cout << " fPosPedLimit:"; + for(Int_t i=0;i<fNelem;i++) cout << " " << fPosPedLimit[i]; + cout << endl; + cout << " fNegPedLimit:"; + for(Int_t i=0;i<fNelem;i++) cout << " " << fNegPedLimit[i]; + cout << endl; + + cout << " fMinPeds = " << fMinPeds << endl; + cout << "---------------------------------------------------------------\n"; + } + + return kOK; +} + +//_____________________________________________________________________________ +Int_t THcShowerPlane::DefineVariables( EMode mode ) +{ + // Initialize global variables and lookup table for decoder + + if( mode == kDefine && fIsSetup ) return kOK; + fIsSetup = ( mode == kDefine ); + + // Register variables in global list + RVarDef vars[] = { + {"posadchits", "List of Positive ADC hits","fPosADCHits.THcSignalHit.GetPaddleNumber()"}, + {"negadchits", "List of Negative ADC hits","fNegADCHits.THcSignalHit.GetPaddleNumber()"}, + {"apos", "Raw Positive ADC Amplitudes", "fA_Pos"}, + {"aneg", "Raw Negative ADC Amplitudes", "fA_Neg"}, + {"apos_p", "Ped-subtracted Positive ADC Amplitudes", "fA_Pos_p"}, + {"aneg_p", "Ped-subtracted Negative ADC Amplitudes", "fA_Neg_p"}, + {"epos", "Energy Depositions from Positive Side PMTs", "fEpos"}, + {"eneg", "Energy Depositions from Negative Side PMTs", "fEneg"}, + {"emean", "Mean Energy Depositions", "fEmean"}, + {"eplane", "Energy Deposition per plane", "fEplane"}, + {"eplane_pos", "Energy Deposition per plane from pos. PMTs","fEplane_pos"}, + {"eplane_neg", "Energy Deposition per plane from neg. PMTs","fEplane_neg"}, + { 0 } + }; + + return DefineVarsFromList( vars, mode ); +} + +//_____________________________________________________________________________ +void THcShowerPlane::Clear( Option_t* ) +{ + // Clears the hit lists + fPosADCHits->Clear(); + fNegADCHits->Clear(); + + // Debug output. + if ( ((THcShower*) GetParent())->fdbg_decoded_cal ) { + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShowerPlane::Clear for " + << GetApparatus()->GetName() << ":" << endl; + + cout << " Cleared ADC hits for plane " << GetName() << endl; + cout << "---------------------------------------------------------------\n"; + } +} + +//_____________________________________________________________________________ +Int_t THcShowerPlane::Decode( const THaEvData& evdata ) +{ + // Doesn't actually get called. Use Fill method instead + + //Debug output. + if ( ((THcShower*) GetParent())->fdbg_decoded_cal ) { + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShowerPlane::Decode for " + << GetApparatus()->GetName() << ":" << endl; + + cout << " Called for plane " << GetName() << endl; + cout << "---------------------------------------------------------------\n"; + } + + return 0; +} + +//_____________________________________________________________________________ +Int_t THcShowerPlane::CoarseProcess( TClonesArray& tracks ) +{ + + // Nothing is done here. See ProcessHits method instead. + // + + return 0; +} + +//_____________________________________________________________________________ +Int_t THcShowerPlane::FineProcess( TClonesArray& tracks ) +{ + return 0; +} + +//_____________________________________________________________________________ +Int_t THcShowerPlane::ProcessHits(TClonesArray* rawhits, Int_t nexthit) +{ + // Extract the data for this layer from hit list + // Assumes that the hit list is sorted by layer, so we stop when the + // plane doesn't agree and return the index for the next hit. + + THcShower* fParent; + fParent = (THcShower*) GetParent(); + + // Initialize variables. + + Int_t nPosADCHits=0; + Int_t nNegADCHits=0; + fPosADCHits->Clear(); + fNegADCHits->Clear(); + + for(Int_t i=0;i<fNelem;i++) { + fA_Pos[i] = 0; + fA_Neg[i] = 0; + fA_Pos_p[i] = 0; + fA_Neg_p[i] = 0; + fEpos[i] = 0; + fEneg[i] = 0; + fEmean[i] = 0; + } + + fEplane = 0; + fEplane_pos = 0; + fEplane_neg = 0; + + // Process raw hits. Get ADC hits for the plane, assign variables for each + // channel. + + Int_t nrawhits = rawhits->GetLast()+1; + + Int_t ihit = nexthit; + + while(ihit < nrawhits) { + THcRawShowerHit* hit = (THcRawShowerHit *) rawhits->At(ihit); + + // This is OK as far as the hit list is sorted by layer. + // + if(hit->fPlane > fLayerNum) { + break; + } + + // Should probably check that counter # is in range + fA_Pos[hit->fCounter-1] = hit->fADC_pos; + fA_Neg[hit->fCounter-1] = hit->fADC_neg; + + // Sparsify positive side hits, fill the hit list, compute the + // energy depostion from positive side for the counter. + + Double_t thresh_pos = fPosThresh[hit->fCounter -1]; + if(hit->fADC_pos > thresh_pos) { + + THcSignalHit *sighit = + (THcSignalHit*) fPosADCHits->ConstructedAt(nPosADCHits++); + sighit->Set(hit->fCounter, hit->fADC_pos); + + fA_Pos_p[hit->fCounter-1] = hit->fADC_pos - fPosPed[hit->fCounter -1]; + + fEpos[hit->fCounter-1] += fA_Pos_p[hit->fCounter-1]* + fParent->GetGain(hit->fCounter-1,fLayerNum-1,0); + } + + // Sparsify negative side hits, fill the hit list, compute the + // energy depostion from negative side for the counter. + + Double_t thresh_neg = fNegThresh[hit->fCounter -1]; + if(hit->fADC_neg > thresh_neg) { + + THcSignalHit *sighit = + (THcSignalHit*) fNegADCHits->ConstructedAt(nNegADCHits++); + sighit->Set(hit->fCounter, hit->fADC_neg); + + fA_Neg_p[hit->fCounter-1] = hit->fADC_neg - fNegPed[hit->fCounter -1]; + + fEneg[hit->fCounter-1] += fA_Neg_p[hit->fCounter-1]* + fParent->GetGain(hit->fCounter-1,fLayerNum-1,1); + } + + // Mean energy in the counter. + + fEmean[hit->fCounter-1] += (fEpos[hit->fCounter-1] + fEneg[hit->fCounter-1]); + + // Accumulate energies in the plane. + + fEplane += fEmean[hit->fCounter-1]; + fEplane_pos += fEpos[hit->fCounter-1]; + fEplane_neg += fEneg[hit->fCounter-1]; + + ihit++; + } + + //Debug output. + + if (fParent->fdbg_decoded_cal) { + + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShowerPlane::ProcessHits for " + << GetApparatus()->GetName() << ":" << endl; + + cout << " nrawhits = " << nrawhits << " nexthit = " << nexthit << endl; + cout << " Sparsified hits for HMS calorimeter plane #" << fLayerNum + << ", " << GetName() << ":" << endl; + + Int_t nspar = 0; + for (Int_t jhit = nexthit; jhit < nrawhits; jhit++) { + + THcRawShowerHit* hit = (THcRawShowerHit *) rawhits->At(jhit); + if(hit->fPlane > fLayerNum) { + break; + } + + if(hit->fADC_pos > fPosThresh[hit->fCounter -1] || + hit->fADC_neg > fNegThresh[hit->fCounter -1]) { + cout << " plane = " << hit->fPlane + << " counter = " << hit->fCounter + << " Emean = " << fEmean[hit->fCounter-1] + << " Epos = " << fEpos[hit->fCounter-1] + << " Eneg = " << fEneg[hit->fCounter-1] + << endl; + nspar++; + } + } + + if (nspar == 0) cout << " No hits\n"; + + cout << " Eplane = " << fEplane + << " Eplane_pos = " << fEplane_pos + << " Eplane_neg = " << fEplane_neg + << endl; + cout << "---------------------------------------------------------------\n"; + } + + return(ihit); +} + +//_____________________________________________________________________________ +Int_t THcShowerPlane::AccumulatePedestals(TClonesArray* rawhits, Int_t nexthit) +{ + // Extract the data for this plane from hit list, accumulating into + // arrays for calculating pedestals. + + Int_t nrawhits = rawhits->GetLast()+1; + + Int_t ihit = nexthit; + while(ihit < nrawhits) { + + THcRawShowerHit* hit = (THcRawShowerHit *) rawhits->At(ihit); + + // OK for hit list sorted by layer. + if(hit->fPlane > fLayerNum) { + break; + } + Int_t element = hit->fCounter - 1; // Should check if in range + Int_t adcpos = hit->fADC_pos; + Int_t adcneg = hit->fADC_neg; + + if(adcpos <= fPosPedLimit[element]) { + fPosPedSum[element] += adcpos; + fPosPedSum2[element] += adcpos*adcpos; + fPosPedCount[element]++; + if(fPosPedCount[element] == fMinPeds/5) { + fPosPedLimit[element] = 100 + fPosPedSum[element]/fPosPedCount[element]; + } + } + if(adcneg <= fNegPedLimit[element]) { + fNegPedSum[element] += adcneg; + fNegPedSum2[element] += adcneg*adcneg; + fNegPedCount[element]++; + if(fNegPedCount[element] == fMinPeds/5) { + fNegPedLimit[element] = 100 + fNegPedSum[element]/fNegPedCount[element]; + } + } + ihit++; + } + + fNPedestalEvents++; + + // Debug output. + + if ( ((THcShower*) GetParent())->fdbg_raw_cal ) { + + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShowerPlane::AcculatePedestals for " + << GetApparatus()->GetName() << ":" << endl; + + cout << "Processed hit list for plane " << GetName() << ":\n"; + + for (Int_t ih=nexthit; ih<nrawhits; ih++) { + + THcRawShowerHit* hit = (THcRawShowerHit *) rawhits->At(ih); + + // OK for hit list sorted by layer. + if(hit->fPlane > fLayerNum) { + break; + } + + cout << " hit " << ih << ":" + << " plane = " << hit->fPlane + << " counter = " << hit->fCounter + << " ADCpos = " << hit->fADC_pos + << " ADCneg = " << hit->fADC_neg + << endl; + } + + cout << "---------------------------------------------------------------\n"; + + } + + return(ihit); +} + +//_____________________________________________________________________________ +void THcShowerPlane::CalculatePedestals( ) +{ + // Use the accumulated pedestal data to calculate pedestals + // Later add check to see if pedestals have drifted ("Danger Will Robinson!") + + for(Int_t i=0; i<fNelem;i++) { + + // Positive tubes + fPosPed[i] = ((Float_t) fPosPedSum[i]) / TMath::Max(1, fPosPedCount[i]); + fPosSig[i] = sqrt(((Float_t)fPosPedSum2[i])/TMath::Max(1, fPosPedCount[i]) + - fPosPed[i]*fPosPed[i]); + fPosThresh[i] = fPosPed[i] + TMath::Min(50., TMath::Max(10., 3.*fPosSig[i])); + + // Negative tubes + fNegPed[i] = ((Float_t) fNegPedSum[i]) / TMath::Max(1, fNegPedCount[i]); + fNegSig[i] = sqrt(((Float_t)fNegPedSum2[i])/TMath::Max(1, fNegPedCount[i]) + - fNegPed[i]*fNegPed[i]); + fNegThresh[i] = fNegPed[i] + TMath::Min(50., TMath::Max(10., 3.*fNegSig[i])); + + } + + // Debug output. + + if ( ((THcShower*) GetParent())->fdbg_raw_cal ) { + + cout << "---------------------------------------------------------------\n"; + cout << "Debug output from THcShowerPlane::CalculatePedestals for" + << GetApparatus()->GetName() << ":" << endl; + + cout << " ADC pedestals and thresholds for calorimeter plane " + << GetName() << endl; + for(Int_t i=0; i<fNelem;i++) { + cout << " element " << i << ": " + << " Pos. pedestal = " << fPosPed[i] + << " Pos. threshold = " << fPosThresh[i] + << " Neg. pedestal = " << fNegPed[i] + << " Neg. threshold = " << fNegThresh[i] + << endl; + } + cout << "---------------------------------------------------------------\n"; + + } + +} + +//_____________________________________________________________________________ +void THcShowerPlane::InitializePedestals( ) +{ + fNPedestalEvents = 0; + fPosPedSum = new Int_t [fNelem]; + fPosPedSum2 = new Int_t [fNelem]; + fPosPedCount = new Int_t [fNelem]; + fNegPedSum = new Int_t [fNelem]; + fNegPedSum2 = new Int_t [fNelem]; + fNegPedCount = new Int_t [fNelem]; + + fPosSig = new Float_t [fNelem]; + fNegSig = new Float_t [fNelem]; + fPosPed = new Float_t [fNelem]; + fNegPed = new Float_t [fNelem]; + fPosThresh = new Float_t [fNelem]; + fNegThresh = new Float_t [fNelem]; + for(Int_t i=0;i<fNelem;i++) { + fPosPedSum[i] = 0; + fPosPedSum2[i] = 0; + fPosPedCount[i] = 0; + fNegPedSum[i] = 0; + fNegPedSum2[i] = 0; + fNegPedCount[i] = 0; + } +} diff --git a/src/THcShowerPlane.h b/src/THcShowerPlane.h new file mode 100644 index 0000000000000000000000000000000000000000..41fecdfcb29768015bca2e7ec96828da94a01e8b --- /dev/null +++ b/src/THcShowerPlane.h @@ -0,0 +1,152 @@ +#ifndef ROOT_THcShowerPlane +#define ROOT_THcShowerPlane + +////////////////////////////////////////////////////////////////////////////// +// +// THcShowerPlane +// +// A Hall C Shower plane +// +// May want to later inherit from a THcPlane class if there are similarities +// in what a plane is shared with other detector types (shower, etc.) +// +////////////////////////////////////////////////////////////////////////////// + +#include "THaSubDetector.h" +#include "TClonesArray.h" + +#include <iostream> + +#include <fstream> + +class THaEvData; +class THaSignalHit; + +class THcShowerPlane : public THaSubDetector { + +public: + THcShowerPlane( const char* name, const char* description, + Int_t planenum, THaDetectorBase* parent = NULL); + virtual ~THcShowerPlane(); + + virtual void Clear( Option_t* opt="" ); + virtual Int_t Decode( const THaEvData& ); + virtual EStatus Init( const TDatime& run_time ); + + virtual Int_t CoarseProcess( TClonesArray& tracks ); + virtual Int_t FineProcess( TClonesArray& tracks ); + Bool_t IsTracking() { return kFALSE; } + virtual Bool_t IsPid() { return kFALSE; } + + virtual Int_t ProcessHits(TClonesArray* rawhits, Int_t nexthit); + virtual Int_t AccumulatePedestals(TClonesArray* rawhits, Int_t nexthit); + virtual void CalculatePedestals( ); + + // Double_t fSpacing; not used + + TClonesArray* fParentHitList; + + TVector3 GetOrigin() { + return fOrigin; + } + + Double_t GetEplane() { + return fEplane; + }; + + Double_t GetEplane_pos() { + return fEplane_pos; + }; + + Double_t GetEplane_neg() { + return fEplane_neg; + }; + + Double_t GetEmean(Int_t i) { + return fEmean[i]; + }; + + Double_t GetEpos(Int_t i) { + return fEpos[i]; + }; + + Double_t GetEneg(Int_t i) { + return fEneg[i]; + }; + + Double_t GetAposP(Int_t i) { + return fA_Pos_p[i]; + }; + + Double_t GetAnegP(Int_t i) { + return fA_Neg_p[i]; + }; + + Double_t GetApos(Int_t i) { + return fA_Pos[i]; + }; + + Double_t GetAneg(Int_t i) { + return fA_Neg[i]; + }; + + Double_t GetPosThr(Int_t i) { + return fPosThresh[i]; + }; + + Double_t GetNegThr(Int_t i) { + return fNegThresh[i]; + }; + + Double_t GetPosPed(Int_t i) { + return fPosPed[i]; + }; + + Double_t GetNegPed(Int_t i) { + return fNegPed[i]; + }; + +protected: + + Double_t* fA_Pos; // [fNelem] ADC amplitudes of blocks + Double_t* fA_Neg; // [fNelem] ADC amplitudes of blocks + Double_t* fA_Pos_p; // [fNelem] pedestal subtracted ADC amplitudes + Double_t* fA_Neg_p; // [fNelem] pedestal subtracted ADC amplitudes + + Double_t* fEpos; // [fNelem] energy depositions seen by positive PMTs + Double_t* fEneg; // [fNelem] energy depositions seen by negative PMTs + Double_t* fEmean; // [fNelem] mean energy depositions (pos + neg) + Double_t fEplane; // Energy deposition in the plane + Double_t fEplane_pos; // Energy deposition in the plane from positive PMTs + Double_t fEplane_neg; // Energy deposition in the plane from negative PMTs + + // These lists are not used actively for now. + TClonesArray* fPosADCHits; // List of positive ADC hits + TClonesArray* fNegADCHits; // List of negative ADC hits + + Int_t fLayerNum; // Layer # 1-4 + + Int_t fNPedestalEvents; /* Pedestal event counter */ + Int_t fMinPeds; /* Only analyze/update if num events > */ + Int_t *fPosPedSum; /* Accumulators for pedestals */ + Int_t *fPosPedSum2; + Int_t *fPosPedLimit; // Analyze pedestal if ADC signal < PedLimit + Int_t *fPosPedCount; // [fNelem] counter of pedestal analysis + Int_t *fNegPedSum; + Int_t *fNegPedSum2; + Int_t *fNegPedLimit; // Analyze pedestal if ADC signal < PedLimit + Int_t *fNegPedCount; // [fNelem] counter of pedestal analysis + + Float_t *fPosPed; // [fNelem] pedestal positions + Float_t *fPosSig; // [fNelem] pedestal rms-s + Float_t *fPosThresh; // [fNelem] ADC thresholds + Float_t *fNegPed; + Float_t *fNegSig; + Float_t *fNegThresh; + + virtual Int_t ReadDatabase( const TDatime& date ); + virtual Int_t DefineVariables( EMode mode = kDefine ); + virtual void InitializePedestals( ); + ClassDef(THcShowerPlane,0); // Calorimeter bars in a plane +}; +#endif diff --git a/src/THcSignalHit.cxx b/src/THcSignalHit.cxx new file mode 100644 index 0000000000000000000000000000000000000000..8400419e5bcb4f482433535ab6bc33b4448404dc --- /dev/null +++ b/src/THcSignalHit.cxx @@ -0,0 +1,11 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcSignalHit // +// // +// Class representing a single signal value and its wire/paddle number // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcSignalHit.h" + +ClassImp(THcSignalHit) diff --git a/src/THcSignalHit.h b/src/THcSignalHit.h new file mode 100644 index 0000000000000000000000000000000000000000..808c730b287d256ade1d35f8dab854c9c0445d7f --- /dev/null +++ b/src/THcSignalHit.h @@ -0,0 +1,35 @@ +#ifndef ROOT_THcSignalHit +#define ROOT_THcSignalHit + +///////////////////////////////////////////////////////////////////////////// +// // +// THcSignalHit // +// // +///////////////////////////////////////////////////////////////////////////// + +#include "TObject.h" +#include <cstdio> + +class THcSignalHit : public TObject { + + public: + THcSignalHit(Int_t paddle=0, Double_t data=0.0) : + fPaddleNumber(paddle), fData(data) {} + virtual ~THcSignalHit() {} + + Int_t GetPaddleNumber() {return fPaddleNumber;} + Double_t GetData() {return fData;} + + virtual void Set(Int_t paddle, Int_t data) + { fPaddleNumber=paddle; fData=data; } + virtual void Set(Int_t paddle, Double_t data) + { fPaddleNumber=paddle; fData=data; } + + private: + Int_t fPaddleNumber; + Double_t fData; + + ClassDef(THcSignalHit,0); // Single signal value and wire/counter number +}; +///////////////////////////////////////////////////////////////// +#endif diff --git a/src/THcSpacePoint.cxx b/src/THcSpacePoint.cxx new file mode 100644 index 0000000000000000000000000000000000000000..eb48ba80c4da486841aa0d1d4a13f46bf528eaed --- /dev/null +++ b/src/THcSpacePoint.cxx @@ -0,0 +1,13 @@ +/////////////////////////////////////////////////////////////////////////////// +// // +// THcSpacePoint // +// // +// Class representing a single hit for the VDC // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "THcSpacePoint.h" + +ClassImp(THcSpacePoint) + +/////////////////////////////////////////////////////////////////////////////// diff --git a/src/THcSpacePoint.h b/src/THcSpacePoint.h new file mode 100644 index 0000000000000000000000000000000000000000..36faa3d347b911c4728e5baab1422ba3459b9b92 --- /dev/null +++ b/src/THcSpacePoint.h @@ -0,0 +1,92 @@ +#ifndef ROOT_THcSpacePoint +#define ROOT_THcSpacePoint + +/////////////////////////////////////////////////////////////////////////////// +// // +// THcSpacePoint // +// // +/////////////////////////////////////////////////////////////////////////////// + +#include "TObject.h" +#include "THcDCHit.h" + +class THcSpacePoint : public TObject { + +public: + + THcSpacePoint(Int_t nhits=0, Int_t ncombos=0) : + fNHits(nhits), fNCombos(ncombos) { + fHits.clear(); + } + virtual ~THcSpacePoint() {} + + struct Hit { + THcDCHit* dchit; + Double_t distCorr; // Drift distance corrected by propagation along wire + Int_t lr; // Left right flag (+/- 1) + // Should we copy into here the information from hit + // this is likely to be often used? + }; + + void SetXY(Double_t x, Double_t y) {fX = x; fY = y;}; + void Clear(Option_t* opt="") {fNHits=0; fNCombos=0; fHits.clear();}; + void AddHit(THcDCHit* hit) { + Hit newhit; + newhit.dchit = hit; + newhit.distCorr = 0.0; + newhit.lr = 0; + fHits.push_back(newhit); + fNHits++; + } + Int_t GetNHits() {return fNHits;}; + void SetNHits(Int_t nhits) {fNHits = nhits;}; + Double_t GetX() {return fX;}; + Double_t GetY() {return fY;}; + THcDCHit* GetHit(Int_t ihit) {return fHits[ihit].dchit;}; + // std::vector<THcDCHit*>* GetHitVectorP() {return &fHits;}; + //std::vector<Hit>* GetHitStuffVectorP() {return &fHits;}; + void ReplaceHit(Int_t ihit, THcDCHit *hit) { + fHits[ihit].dchit = hit; + fHits[ihit].distCorr = 0.0; + fHits[ihit].lr = 0; + }; + void SetHitDist(Int_t ihit, Double_t dist) { + fHits[ihit].distCorr = dist; + }; + void SetHitLR(Int_t ihit, Int_t lr) { + fHits[ihit].lr = lr; + }; + void SetStub(Double_t stub[4]) { + for(Int_t i=0;i<4;i++) { + fStub[i] = stub[i]; + } + }; + Double_t GetHitDist(Int_t ihit) { return fHits[ihit].distCorr; }; + Int_t GetHitLR(Int_t ihit) { return fHits[ihit].lr; }; + Double_t* GetStubP() { return fStub; }; + void IncCombos() { fNCombos++; }; + void SetCombos(Int_t ncombos) { fNCombos=ncombos; }; + Int_t GetCombos() { return fNCombos; }; + + // This is the chamber number (1,2), not index (0,1). Sometime + // we need figure out how to avoid confusion between number and index. + Int_t fNChamber; + +protected: + + Double_t fX; + Double_t fY; + Int_t fNHits; + Int_t fNCombos; + // This adds more indirection to getting hit information. + std::vector<Hit> fHits; + //std::vector<THcDCHit*> fHits; + Double_t fStub[4]; + // Should we also have a pointer back to the chamber object + + ClassDef(THcSpacePoint,0); // Space Point/stub track in a single drift chamber +}; + +//////////////////////////////////////////////////////////////////////////////// + +#endif