New release of RAWSCAN software


Subject: New release of RAWSCAN software
Ioanni.Katsavounidis@lngs.infn.it
Date: Thu Dec 09 1999 - 13:33:52 EST


   Ciao a tutti,

   I've spent the last 2-3 days debugging some minor problems with RAWSCAN,
namely:
(a) The program crashed in about 2% of the runs - most cases near the
    begin of run in WFD_LIST_CHAN (or WFD_SWIM_CHAN) and some others due
    to LOG10(0) condition in WFDANA.
(b) The MAX_NDATA parameter was all over the code without a consistent
    way of controlling it throughout.
(c) Unify Ed's original code with Lori's mods and my fixes (to fix the
    timeword wraparound issue) under a common framework.
(d) Find a way to speed it up, since we very much want to run it under
    the _FAST queues (meaning <8min of CPU)
   You can check the result under:
AXPGS0::DISK$SCRAUSA8:[MACROUSA.RAWSCAN.SRC]
   Knowing that probably nobody will bother to go through the following,
I'm including the file AAAREADME.TXT, where a summary of all this effort
is documented.

A presto,

Ioannis
=============================================================================
This directory contains all .FOR and .INC files necessary to build
RAWSCAN. It also includes 5 .COM and 1 .OPT files as follows:
DASHLINKX11_ALPHA.COM
DASH_SETUP.COM
MAKE.COM
RAWSCAN.OPT
VMSBUILD.COM
VMS_MAKE.COM
These files are needed to re-build RAWSCAN if necessary.
You just do @make and it *should* have no problem.
Once built, you need to copy it on [-] to take effect on people's
analyses.
8-DEC-1999, IoK - Created a _OPT.COM version of the above (except
DASHLINKX11_ALPHA.COM) to FORTRAN/NODEBUG/OPTIMIZE it
==================================================================
Short history:
- Dec. 1995: Ed Kearns releases first version (31 .FOR files + .INC files)
- 1997: Lory Gray introduces a number of changes, including 2 new
        modules; LAMOSSKA_ANA.FOR and MONO_ANA.FOR
- 1998/1999: Ioannis Katsavounidis introduces further changes, mainly
             to address timeword wraparoung problem + LAMOSSKA handling
As of today (6-DEC-1999), the following files are different between
Ed Kearns' original release and the most recent one:
( 0) RAWCOMMON.INC -> added /ISPECIAL/MAX_NDATA,MAXBYT to allow for a
                      single place to store max_ndata (4998/9998/12498)
                      added /ISPECIAL/NOFF to allow for offset from
                      NDATA to filter special events (=500 in WFDPLOT)
( 1) DREVEN.FOR -> Modified by Lori Gray to include LAMOSSKA trigger (#11)
                   for all 3 uVAXs.
                   (IoK, 6-DEC-1999) Modified to include *ALL* known trig.
                   decoding
( 2) DUMPEQP.FOR -> Modified by IoK to provide EQP37 (LAMOSSKA Latching
                    Scalar decoding and screen printout)
                    (IoK, 6-DEC-1999) Modified WRITE(*,*) statements to
                    WRITE(LUN,*); could this be the reason it sometimes
                    creates a FOR000.DAT file ???
( 3) EQPDUMP.FOR -> Modified by IoK to include the "timeword wraparound fix"
                    patch from WFD_DECODE.
( 4) LAMOSSKA_ANA.FOR -> Created by Lori Gray to accomodate processing
                         of LAMOSSKA calibration runs. Lots of overlap
                         with WFDANA.FOR.
                         (IoK, 6-DEC-1999) Modified ATRIG DATA statement
                         in accordance with DREVEN.FOR to include
                         decoding of all known triggers
                         Added check to avoid LOG10(0)
                         Compilation complained regarding an assignment
                         to a loop-variable within the loop; re-wrote
                         that part to avoid warning.
                         Compilation complained regarding a RETURN statement
                         in the middle of a SUBROUTINE; left it as is.
                         Modified by IoK to avoid cases where WFD data are
                         broken (readout is shorter than WFD header expects)
                         that crashes the code in ~ 2% of runs.
                         Ported changes made to WFD_SWIM_CHAN
                         Commented delcaration of MAX_NDATA to use common
                         block from RAWCOMMON.INC
                         MOdified WFDPROFI_INIT to accept run number as
                         argument. RUN of WFDPROFI is there initialized.
                         Previously, only for RUNs with WFDs RUN was non zero,
                         thus creating problems with the summary output files.
( 5) MONO_ANA.FOR -> Created by Lori Gray to accomodate processing
                     of LED/MONO calibration runs. Lots of overlap
                     with WFDANA.FOR; uses many routines from
                     LAMOSSKA_ANA, too.
                     Note that current RAWSCAN.FOR has commented out
                     the declaration of the corresponding module
                     (previous version has them active, although)
                     (IoK, 6-DEC-1999) Modified ATRIG DATA statement
                     in accordance with DREVEN.FOR to include
                     decoding of all known triggers
                     Added check to avoid LOG10(0)
                     Compilation complained regarding a RETURN statement
                     in the middle of a SUBROUTINE; left it as is.
                     Commented delcaration of MAX_NDATA to use common
                     block from RAWCOMMON.INC
( 6) RAWSCAN.FOR -> Modified by Lori Gray to include EXTERN declarations
                    and calls to DASH_DECL regarding LAMOSSKA_ANA, MONO_ANA
                    and WFDLED_ANA; some of them had been commented out
                    in intermediate version.
                    (IoK, 6-DEC-1999) First, tried to uncomment all such
                    statements for LAMOSSKA_ANA and MONO_ANA; left it for
                    WFDLED_ANA because linker couldn't find corresponding
                    modules. Then, commented again MONO_ANA because the
                    resulting executable was *very* big (couldn't run it !)
( 7) TRGSEL.FOR -> IoK, 8-DEC-1999 Added a line (taken from WFDSEL.FOR)
                   to give an initial value to IS_EVENT that was used but
                   was never taking a value.
( 8) WFDANA.FOR -> Modified by Erik Katsavounidis to accomodate statistics
                   processing of pedestal, NDATA, HIT/BIT fractions, EQUIP,
                   TRIG, coincidences and anti-coincidences.
                   Modified by LG (including MAX NDATA).
                   (IoK, 6-DEC-1999) Modified ATRIG DATA statement
                   in accordance with DREVEN.FOR to include
                   decoding of all known triggers
                   Added check to avoid LOG10(0)
                   Commented delcaration of MAXDAT,MAXBYT to use common
                   block variable MAX_NDATA,MAXBYT from RAWCOMMON.INC
                   Changed an IF(NDAT(I) .EQ. 4998) (fill a histogram)
                   to IF(NDAT(I) .EQ. MAX_NDATA) (fill a histogram)
( 9) WFDBOXN.FOR -> Modified by IoK to fix "6N01" name to "6S01" !!!
(10) WFDPLOT.FOR -> Modified by Ioannis Katsavounidis that added the
                    TALK WFDPLOT CHPLOT <SM> <CH> option to plot a specific
                    WFD channel (if present) and by LG to change plotting
                    in more than 1 zone and names of talk wfdplot modules.
                    Commented (until I understand better what it does)
                    and IF(NDATA(I).GT.4500) CALL DASH_PASS_EVT() statement
                    Changed it with IT(NDATA(I).GT.MAX_NDATA-NOFF) ... that
                    are controlled through COMMON block statements
(11) WFDSEL.FOR -> Modified by Lori Gray to allow for filtering a particular
                   event/WFD channel and also ndata limit filtering.
                   Commented delcaration of MAXDAT,MAXBYT to use common
                   block variable MAX_NDATA,MAXBYT from RAWCOMMON.INC
                   Changed init values for MAX_NDATA,MAXBYT to be consistent
                   with WFDANA.FOR (4998,20000).
                   Notice that in LAMOSSKA_ANA.FOR and MONO_ANA.FOR set
                   MAX_NDATA=12498, thus changing the MAX_NDATA throughout
                   all subroutines.
(12) WFD_DECODE.FOR -> Modified by Lori Gray to try to fix the wraparound
                       timeword issue, present when last bucket contains less
                       than 4 samples (showing up as a 327.68 usec offset
                       on the picture). This introduces other problems,
                       hopefully fixed by Ioannis Katsavounidis later.
(13) WFD_FIND_CHAN.FOR -> Modified by IoK to avoid cases where WFD data are
                          broken (readout is shorter than WFD header expects)
                          that crashes the code in ~ 2% of runs.
                          Ported changes made to WFD_SWIM_CHAN
(14) WFD_LIST_CHAN.FOR -> Modified by Ioannis Katsavounidis to change the
                          format of writing WFD chan info, added a one
                          line delimiter as "begin of buffer" and another
                          as "end of buffer"; added one line regarding
                          Lamosska trigger info decoding.
                          These modifications were needed by EVENT_BROWSER.
                          (IoK, 6-DEC-1999) Modified WRITE(*,*) statements to
                          WRITE(LUN,*); could this be the reason it sometimes
                          creates a FOR000.DAT file ??? No - there was a call
                          from WFDPLOT.FOR with WFD_LIST_CHAN(0,...). Changed
                          it to check for LUN>0 before writing.
(15) WFD_SANITY.FOR -> Modified by Lori Gray to pass as an argument the
                       MAX_NDATA to compare against when deciding "mangled
                       data"
(16) WFD_SWIM_CHAN.FOR -> Modified by IoK to avoid cases where WFD data are
                          broken (readout is shorter than WFD header expects)
                          that crashes the code in ~ 2% of runs.



This archive was generated by hypermail 2a24 : Thu Dec 09 1999 - 13:33:57 EST