33import java .util .ArrayList ;
44import java .util .Collection ;
55import java .util .Collections ;
6- import java .util .Comparator ;
76import java .util .HashMap ;
87import java .util .List ;
98import java .util .Map ;
@@ -62,7 +61,6 @@ public class Track extends Trajectory implements Comparable<Track> {
6261 private int secondaryNDF ; // for track with no beamSpot information
6362 private int _status = 0 ;
6463
65-
6664 public Track (Helix helix ) {
6765 super (helix );
6866 if (helix != null ) {
@@ -97,7 +95,6 @@ public Track(Seed seed, KFitter kf) {
9795 this .setStatus (-1 );
9896 }
9997 }
100-
10198
10299 public Track (Seed seed , KFitter kf , int pid ) {
103100 this (seed , kf );
@@ -162,23 +159,23 @@ public Helix getSecondaryHelix() {
162159 return secondaryHelix ;
163160 }
164161
165- public void setSecondaryHelix (Helix secondaryHelix ) {
162+ public final void setSecondaryHelix (Helix secondaryHelix ) {
166163 this .secondaryHelix = secondaryHelix ;
167164 }
168165
169166 public double getSecondaryChi2 () {
170167 return secondaryChi2 ;
171168 }
172169
173- public void setSecondaryChi2 (double secondaryChi2 ) {
170+ public final void setSecondaryChi2 (double secondaryChi2 ) {
174171 this .secondaryChi2 = secondaryChi2 ;
175172 }
176173
177174 public int getSecondaryNDF () {
178175 return secondaryNDF ;
179176 }
180177
181- public void setSecondaryNDF (int secondaryNDF ) {
178+ public final void setSecondaryNDF (int secondaryNDF ) {
182179 this .secondaryNDF = secondaryNDF ;
183180 }
184181
@@ -205,8 +202,7 @@ public final void setPXYZ() {
205202 calcPt = 100 ;
206203 setQ (1 );
207204 }
208- double calcPz = 0 ;
209- calcPz = calcPt * helix .getTanDip ();
205+ double calcPz = calcPt * helix .getTanDip ();
210206 double calcP = Math .sqrt (calcPt * calcPt + calcPz * calcPz );
211207 setPt (calcPt );
212208 setPz (calcPz );
@@ -217,6 +213,8 @@ public final void setPXYZ() {
217213 /**
218214 * Updates the crosses positions based on trajectories or helix
219215 * @param trackId
216+ * @param xb
217+ * @param yb
220218 */
221219 public void update_Crosses (int trackId , double xb , double yb ) {
222220 for (int i = 0 ; i < this .size (); i ++) {
@@ -288,12 +286,7 @@ public boolean equals(Object obj) {
288286 if (getClass () != obj .getClass ()) {
289287 return false ;
290288 }
291- Track other = (Track ) obj ;
292- if (this .getId () != other .getId ()) {
293- return false ;
294- }
295-
296- return true ;
289+ return this .getId () == ((Track )obj ).getId ();
297290 }
298291
299292 @ Override
@@ -328,9 +321,9 @@ else if(this.getChi2() > Constants.CHI2CUT * (this.getNDF() + 5))
328321 return false ;
329322 if (this .getNDF () < Constants .NDFCUT )
330323 return false ;
331- if (this .getHelix ().radius () < Constants .getInstance (). getRCUT ())
324+ if (this .getHelix ().radius () < Constants .getRCUT ())
332325 return false ;
333- if (Math .abs (Geometry .getInstance ().getTargetZOffset ()-this .getHelix ().getZ0 ()) > Geometry .getInstance ().getTargetHalfLength ()+Constants .getInstance (). getZRANGE ())
326+ if (Math .abs (Geometry .getInstance ().getTargetZOffset ()-this .getHelix ().getZ0 ()) > Geometry .getInstance ().getTargetHalfLength ()+Constants .getZRANGE ())
334327 return false ;
335328 else
336329 return true ;
@@ -396,7 +389,7 @@ public int getPID() {
396389 return _PID ;
397390 }
398391
399- public void setPID (int _PID ) {
392+ public final void setPID (int _PID ) {
400393 this ._PID = _PID ;
401394 }
402395
@@ -445,13 +438,14 @@ public final void setKFTrajectories(Map<Integer, HitOnTrack> trajectory) {
445438 public int getStatus () {
446439 return _status ;
447440 }
448- public void setStatus (int passKFFlag ) {
441+ public final void setStatus (int passKFFlag ) {
449442 //for status word:
450443 int nSVT = 0 ;
451444 int nBMTZ = 0 ;
452445 int nBMTC = 0 ;
453446 // fills the list of cross ids for crosses belonging to that reconstructed track
454- for (int j = 0 ; j < this .size (); j ++) {
447+ int size = this .size ();
448+ for (int j = 0 ; j < size ; j ++) {
455449 // counter to get status word
456450 if (this .get (j ).getDetector () == DetectorType .BST ) {
457451 nSVT ++;
@@ -565,7 +559,8 @@ else if(MLayer.getDetectorType(index) == DetectorType.BMT) {
565559
566560 private static int [] getTrackKey (Track track ) {
567561 int [] cids = new int [9 ];
568- for (int i = 0 ; i < track .size (); i ++) {
562+ int size = track .size ();
563+ for (int i = 0 ; i < size ; i ++) {
569564 Cross c = track .get (i );
570565 if (c .getDetector ()==DetectorType .BST ) {
571566 cids [c .getRegion ()-1 ] = c .getId ();
@@ -593,23 +588,25 @@ public static void removeOverlappingTracks(List<Track> tracks) {
593588 return ;
594589 Map <Integer , Track > map = new HashMap <>();
595590 Map <Integer , Track > selectedTracks = new HashMap <>();
596- for (int i = 0 ; i < tracks .size (); i ++) {
591+ final int size = tracks .size ();
592+ for (int i = 0 ; i < size ; i ++) {
597593 Track t1 = tracks .get (i );
598594 t1 .setTempId (i +1 );
599595 map .put (i +1 , t1 );
600596 }
601- for (int i = 0 ; i < tracks . size () ; i ++) {
597+ for (int i = 0 ; i < size ; i ++) {
602598 Track t1 = tracks .get (i );
603599 int [] cids = getTrackKey (t1 );
604600 for (int j = 0 ;j < tracks .size (); j ++) {
605601 boolean ov = false ;
606602 if (i ==j ) continue ;
607603 Track t2 = tracks .get (j );
608604 int [] cids2 = getTrackKey (t2 );
609- for (int k = 0 ; k < 9 ; k ++) {
605+ for (int k = 0 ; k < 9 ; k ++) {
610606 if (cids [k ]!=-1 ) {
611607 if (cids [k ]==cids2 [k ]) {
612608 ov =true ;
609+ break ;
613610 }
614611 }
615612 }
@@ -618,7 +615,7 @@ public static void removeOverlappingTracks(List<Track> tracks) {
618615 }
619616 }
620617 }
621- for (int i = 0 ; i < tracks . size () ; i ++) {
618+ for (int i = 0 ; i < size ; i ++) {
622619 List <Track > ovlTracks = new ArrayList <>();
623620 Track t1 = tracks .get (i );
624621 ovlTracks .add (t1 );
@@ -638,9 +635,10 @@ public static void removeOverlappingTracks(List<Track> tracks) {
638635 }
639636
640637 public static void checkForOverlaps (List <Track > tracks , String msg ) {
641- for (int i = 0 ; i < tracks .size (); i ++) {
638+ int size = tracks .size ();
639+ for (int i = 0 ; i < size ; i ++) {
642640 Track t1 = tracks .get (i );
643- for (int j =0 ; j <tracks . size () ; j ++ ) {
641+ for (int j =0 ; j <size ; j ++ ) {
644642 Track t2 = tracks .get (j );
645643 if (i !=j && t1 .overlapWith (t2 )) {
646644 System .out .println (msg + " " + "overlap" );
@@ -649,7 +647,6 @@ public static void checkForOverlaps(List<Track> tracks, String msg) {
649647 }
650648 }
651649
652-
653650 @ Override
654651 public String toString () {
655652 String str = String .format ("Track id=%d, q=%d, p=%.3f GeV pt=%.3f GeV, d0=%.3f deg, phi=%.3f deg, z0=%.3f deg, tandip=%.3f deg, NDF=%d, chi2=%.3f, seed method=%d, KF iterations=%d, status=%d\n " ,
@@ -661,8 +658,4 @@ public String toString() {
661658 return str ;
662659 }
663660
664-
665-
666-
667-
668661}
0 commit comments