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-lReceived 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