As annouched yesterday I looked at this problem and fixed it. See below for more details. CVS: BrMRSTrackingModule.cxx BrModuleMatchTrack.cxx CVS: BrMRSTrackingModule.h BrModuleMatchTrack.h This is an update of BrModuleMatchTrack to fix the error for infinite loops in the Ghostbusting. By looking at code as well as trine's comments I decided to do a complete re-write of CleanUpTracks(), and works according to specs. In addition the BrMatchedTracks have added members to save important info on the CleanUp procedure (chisq, and trackgroup) in case one wants to go back and redo, ghostbusting etc. The brat version was incremented to 1.16.2 (it should probably have been 1.17.0 since the BrMatchedTrack class was changed. For the experts a few more comments (which really should be in the code too). The BrModuleMatchTrack marks fron/back tracks with a status (really status bits see BrMatchedTrack class def kOk (1) == Best seelcted track of a group kGhostCandidate(2)== had a worse chisq in matching than the best track kSigmaCut (4) = set when match did not fulfill a narrower cut than used for selection kFiducialCut(8) == set independent of others if track is with tyhe fiducialx,y range of magnet gap (typically .5 cm each. The BrMRSTrack status is set to (1) if status==kOk , 2 otherwise. This enable to select tracks that have been marked as best matching as well as well within magnetgap The SetStaus () in BrMatchedTrack is really is misnomer since it in fact on sets the bits (by doing an OR with the var set Should done better (later) ------------------------------------------------------ Flemming Videbaek Physics Department Brookhaven National Laboratory tlf: 631-344-4106 fax 631-344-1334 e-mail: videbaek@bnl.gov
This archive was generated by hypermail 2b29 : Fri Jun 01 2001 - 14:32:54 EDT