Brat updates

From: videbaek (videbaek@sgs1.hirg.bnl.gov)
Date: Thu Dec 30 1999 - 15:33:13 EST


Over the last month I have incorporated many changes into BRAT quite often when looking at actual TPC data, and realizing that code changes/cleanup is necessary.
The checkout is not tagged as a new version- some more testing of simulated reconstructed is needed at this point.

I enclosed a copy of my notes indicating some of the changes done.

Updates made to Brat
--------------------
November.

11/28/99

 - bb/src

   BrDigitizedBB
    - removed set parameters in .cxx and .h
    - Updated comments

   BrDetectorParamsBB
   - added routine ConvertGeantModuleNo(right, is)
   - .cxx and .h routine;

    - LinkDef ensure no WIN32 of Monitor class that does not work.
 - ana
      /src MakeNT
         BrAnaDigBB ; Added use of DbManager..

- base
    /src
        BrIOModule: Set fEof and fError in constructor.
      
- geant
       BrGeantHit.cxx .h
       - copy constructor
- mult
       Added prototype digitization module.
      BrDigitizeMultTile.cxx .h
      BrDetectorParamsMultTile.cxx .h
      LinkdefBrat..
      BrMult_linkdef.h
      BrDigMultTile.h

- raw
      BrRawDataInput.cxx .h (added TPC stuff)
      MakeNT
      BrIOProxy.cxx
      Notice BrRawDataOutput is very incomplete/wrong.!!
- tpc
               BrTPCSequence.cxx: added debug ctor/dtor statement

Some general Comments:

- Error handling is not done consistently. If the exception handling was better in Root
this is really the way to go. For errors inside module the Error & Warning routines
could be expanded to abort/break.Also errors should go to cerr not cout.

Updates:- December
-------------------

BrLocalTrackingModule

o Added acccess function to get hold of internal ClonesArrays for LocalTracks,
DetectorHits and TrackGroups. These are not needed for the general reconstruction
but can be used for detailed studies of detector and code performance.
o Changed order of methods to be alphabetical.
o

BrTPCTrackingModule:

The internal Clones arrays have restructured access such not to use GetEntries() but
rather a number that keeps track of the number of items.

BrRawDataInput:

Added the new Rawdata formats for TPC (T1,T2 to start with). The Black i.e.
non-suppressed data are given the Table names "TPCSequence T1B" and
"TPCSequence T2B" to be distinguished from the suppressed data i.e.
"TPCSequence T1" and "TPCSequence T2" respectively.
Thus after having read data from the raw-stream one can have access to
both the black event and the pedestals suppressed data.
Note: some sample code to checkout pedestal suppression has been written
and is available in ~videbaek/root_app/tpc in Code.C - ReSequence() function.

Suggestion is to add a new class BrResequenceTPC. It should be a normal module
The options should be rather simple, but can have internal parameters indicating
actions.
-- time-low time-high cuts
-- adc cutoff values
-- delete inputdata; keep mark as non-persistent.

BrCoordinateSystem
-- changed os << operatot to work with references not pointers.
   Compiles better. Work on added SetRelativeSystem as static member function
   i.e. within namespace.
Added pragmas to BrGeometry_LinkDef.h for RotMatrix and CoordinateSystem.
  function operator<<(ostream&, const BrRotMatrix&);
  function operator<<(ostream&, const BrCoordinateSystem&);

The TestCoord.cxx in the brat/test directory checks and compares vector
transformation between different systems. The tests could be further
expanded, to ensure all parts work.
Similar macros / programs should be written for the BrLine3D and BrPlane3D
classes.

December 23.
  rcas node the Code.C goes into infinite segmentation fault loop
  though the same stuff wrk on win. Root and (new) cas configuration
  (default libraries- Recompile root??)

. (win)

-- BrDetectorParamsMultTile
   Set defaults for (dedx to PE) to 10. rather than 1.0
-- BrDigMultTile
   Implement Compare method. Get rid of refs to BB in comments and
   choice of variables.
   Made List() more compact (2 lines instead of 6).

-- Tested digitization code with BramReco in mytest and iodump.
   Takes about 10-12 sec per event !! (many hits tracks? thus time is to a large
   degree reading from disc?
   -- the mult.cdat input is 10.8MByte (hits and tracks) (8 Events)
      the root digitized file is 4KByte. The RawData files should also
   be small.

-- Volume comments
   The BrDetectorVolume is a useful concept
   o Coordinate system i.e. define Local <-> Global coordinates
   o Some residual Volume size info (Use for Drawing) Is this information
     redundant with the DetectorParams. Probably what is needed is a
  DetectorGeometry (Base) class, that in addition to the Local<->Global
  information contains Intrinsic<->Local information. Detailled geometry
  parameters and drawing information. Note that the volume has this in the
  sense it accesses the Geometry Database ( .geo files).
   o The MagnetVolume is similar to the DetectorVolume but has information
     on the magnetic field (extension, kind, map) additionally.
   o The classes should be cleaned up to prepare for a change.

-- BrDetectorParamsBase
   Changed SetDefaultParams,ListParameters() and etASCIIParameters(Char_t *line)
   to be pure virtual methods. The existing code already had error out
   if not overriden - so enforce via compiler and C++ laungage.
   Not supprisingly it implies that all derived classes have to be
   recompiled - particular in regard to rootcint.

-- The rootcint does not find the BrLinkdef.h (in the other directory)
   It works fine on Unix though.
Decmber 30 (pii3)
- Add parameter in de-clustering to stop searching when the next max peak
in a multiclsuter gets below fMaxPixelCutoff (default==10).
  This check also applied to basic cluster (adc < 10) -> noise)
- localtraIDId was not set properly when created in all instances.
-

------------------------------
Flemming Videbaek
Physics Department
Brookhaven National Laboratory
tlf: 516-344-4106
fax: 516-344-1334
videbaek@bnl.gov
 



This archive was generated by hypermail 2b29 : Tue Feb 01 2000 - 20:35:05 EST