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