[Brahms-dev-l] brat version 2.17.10

From: Djamel Ouerdane <ouerdane@nbi.dk>
Date: Wed Jun 16 2004 - 11:00:53 EDT
Hello,

Surprise! a new brat version : 2.17.10 and tag BRAT-2-17-10.
What's new ? Quite a lot of stuff but mainly dealing with track matching:

* BrMatchedTrack:
added member fFidPoint (storable) with proper setter and getter
class number is now 3.
This member contains the coordinates x,y of the nearest point to the 
magnet gap. It's a vector 3D and also has a Z component but this one does 
not matter. The x and y do not necessarily belong to the same 
physical point, they only indicate that the track is close to the magnet 
at x and at y. It is certainly useful to include this info in the DSTs and 
apply fiducial cuts at this level (i.e. dy = dx = 0 at the reconstruction 
level - remember, these fidicucial values only imply a flag to the matched 
track).

The fFidPoint member is active only if you use the new way to set fiducial
cuts (using BrMagnetVolume::GetSwimStatus(...)). If you stick to the old
way (optional), then this is not used (new and old ways are options in 
BrModuleMatchTrack).

* BrModuleMatchTrack updated accordingly. Apply now an "elliptical" 
cut in the matching parameter space for setting the flag 
depending on fSigmaCut. This was done for fSigmaRange only. Now we are 
consistent. 

* BrMagnetVolume: Cleaned up the GetSwimStatus method, removed a bug that 
affected zero field run (all matched tracks had status 9, meaning that 
they were ok before fiducial cut but outside the fiducial volume, it's 
because the condition included something about the helix radius that 
should have been greater than some value...if no field, radius was 0 by 
initialization, thus the bug).

* all global tracking modules (FFS,BFS,FS,DC-enchancement,FS-Fitter) are 
updated accordingly.

* BrFsTrackingModule: major clean up, removed lots of useless methods,
removed "old" T2T3 matching method that was anyway never used, the
UseBbVertex method has been removed as well (if you use it in your
bratmain config script, remove it). The momentum average of the BrFsTrack
(which is as far as I know not used in the DSTs) is now always valid 
(there was no check that the BFS momentum was ok, pretty bad...). The 
average is still done in a wrong way but not as wrong as before (it used 
to give more weight to the D2 mom - 1/2, 1/4, 1/4 were the weights!). Now 
they are 1/3, 1/3, 1/3 when all momenta are valid, which is anyway still 
wrong... the resolutions are different, aren't they :)

* BrRichPidmodule: now uses BrFsTrack instead of BFS only. Why ? Because 
it turns out to be really useful when D2 is on but D3 and D4 are off 
(but DCs on), cf last data set of the AuAu 63 GeV run. I made a test, it 
can be checked here:

http://www.nbi.dk/~ouerdane/richMassD2P.gif
http://www.nbi.dk/~ouerdane/richPidD2P.gif
http://www.nbi.dk/~ouerdane/richRingCenters.gif

still some problems visible (mass vs p not flat) because of either the
momentum or index of refraction or geo...


* BrRunInfoManager : added a public method to reset the internal array of
run numbers. This will never be used in our production stuff. It's only
useful in a certain context, e.g. when you use a bratroot macro that
connects to the DB, register some run numbers, finishes a job and restart
again.  Before, it only added run numbers on top of the stack...pretty
annoying. One thing I still don't understand is: the first time the magnet
volume is initialized, it picks the right field value from the run info.
The second time you initialize (that is, if you don't quit bratroot), it
is not done, it keeps the old value even though you go through the init
methods, etc.  Weird...

-----------------------------

Now, something interesting :
I quickly wrote a track matching display macro that can be used in 
bratroot. It can be found in 

brahms_app/do_app/track/trackmatchDisplay.C

The usage is very easy: provided you have some official local track files 
(according to the file catalog naming convention), open bratroot and do 
the following, for example :

 .L trackmatchDisplay.C                                        
 Init("D2", 11375, "/brahms/data19/data/run04/auau/63")        
 // magnet names can be D2, D3, D4 or D5
 
 SetFiducialCuts(1, 1)  
 // can set it to something else afterwards if u wish

 Event(1)  
 // it trigs on at least 1 matching (can be more, default 0)
 // repeat typing Event(<n>) as long as you wish
 // you can also skip event: Skipevent(<nevent>)
 // there is a second argument to Event, namely a simplistic trigger 
 // filter: Event(<n>, <t>) <t> = 0 by default
 //
 // if you put e.g. 6, then you always want to check events with trigger
 // bit 6 on, if -6, you want to disregard such events.

 // then

 Finish() 
 // necessary to reinitialize with another run number or input directory 
 // or magnet


The colors in the display are :

pink  : forbidden areas (fiducial cuts)
green : local tracks
blue  : good matching
red   : ghost
grey  : outside fiducial cuts

The markers you see are the closest points to the gap walls.

Snapshots are here:

http://www.nbi.dk/~ouerdane/d2match.gif
http://www.nbi.dk/~ouerdane/d2match.eps
http://www.nbi.dk/~ouerdane/d5match.gif
http://www.nbi.dk/~ouerdane/d5match.eps
http://www.nbi.dk/~ouerdane/d5match2.gif
http://www.nbi.dk/~ouerdane/d5match2.eps


This macro is very useful to check what is going on at this level. I could 
debug the swim status thanks to it :)

That's all folks.

Djam

-- 
Djamel Ouerdane ------------------------------------------o
|  Niels Bohr Institute      |  Home:                     |
|  Blegdamsvej 17, DK-2100 Ø |  Jagtvej 141 2D,           |
|  Fax: +45 35 32 50 16      |  DK-2200 Copenhagen N      |
|  Tel: +45 35 32 52 69      |  +45 35 86 19 74           |
|                  http://www.nbi.dk/~ouerdane            |
|                  ouerdane@nbi.dk                        |
o---------------------------------------------------------o



_______________________________________________
Brahms-dev-l mailing list
Brahms-dev-l@lists.bnl.gov
http://lists.bnl.gov/mailman/listinfo/brahms-dev-l
Received on Wed Jun 16 11:01:12 2004

This archive was generated by hypermail 2.1.8 : Wed Jun 16 2004 - 11:01:36 EDT