1717import org .hps .recon .tracking .TrackData ;
1818import org .hps .recon .tracking .TrackIntersectData ;
1919import org .hps .recon .tracking .TrackResidualsData ;
20- //import org.hps.recon.tracking.KFKinkData;
2120
2221import org .hps .recon .tracking .MaterialSupervisor .ScatteringDetectorVolume ;
2322import org .hps .recon .tracking .MaterialSupervisor .SiStripPlane ;
@@ -354,22 +353,16 @@ public void process(EventHeader event) {
354353 List <LCRelation > trackResidualsRelations = new ArrayList <LCRelation >();
355354 List <TrackIntersectData > trackIntersects = new ArrayList <TrackIntersectData >();
356355 List <LCRelation > trackIntersectsRelations = new ArrayList <LCRelation >();
357-
356+
358357 ArrayList <KalTrack >[] kPatList = prepareTrackCollections (event , outputFullTracks , trackDataCollection , trackDataRelations , allClstrs , gblStripClusterDataRelations ,trackXKinks ,trackXKinksRelations ,trackZKinks ,trackZKinksRelations ,trackResiduals , trackResidualsRelations , trackIntersects , trackIntersectsRelations );
359-
360- // ArrayList<KalTrack>[] kPatList = prepareTrackCollections(event, outputFullTracks, trackDataCollection, trackDataRelations, allClstrs, gblStripClusterDataRelations, trackResiduals, trackResidualsRelations);
361- //mg debug why the track data relations (and others I think) are screwed
362- // for (LCRelation tdRel: trackDataRelations){
363- // System.out.println(tdRel.getFrom()+" ---> " +tdRel.getTo());
364- // }
365358
366359 int flag = 1 << LCIOConstants .TRBIT_HITS ;
367360 event .put (outputFullTrackCollectionName , outputFullTracks , Track .class , flag );
368361 event .put ("KFGBLStripClusterData" , allClstrs , GBLStripClusterData .class , flag );
369362 event .put ("KFGBLStripClusterDataRelations" , gblStripClusterDataRelations , LCRelation .class , flag );
370363 event .put ("KFTrackData" ,trackDataCollection , TrackData .class ,0 );
371364 event .put ("KFTrackDataRelations" ,trackDataRelations ,LCRelation .class ,0 );
372-
365+
373366 if (addKinks ) {
374367 event .put ("KFXKink" , trackXKinks , TrackResidualsData .class ,0 );
375368 event .put ("KFXKinkRelations" , trackXKinksRelations ,LCRelation .class ,0 );
@@ -419,7 +412,8 @@ private ArrayList<KalTrack>[] prepareTrackCollections(EventHeader event, List<Tr
419412 List <TrackResidualsData > trackXKinks , List <LCRelation > trackXKinksRelations ,
420413 List <TrackResidualsData > trackZKinks , List <LCRelation > trackZKinksRelations ,
421414 List <TrackResidualsData > trackResiduals , List <LCRelation > trackResidualsRelations ,
422- List <TrackIntersectData > trackIntersects , List <LCRelation > trackIntersectsRelations ) {
415+ List <TrackIntersectData > trackIntersects , List <LCRelation > trackIntersectsRelations
416+ ) {
423417
424418 int evtNumb = event .getEventNumber ();
425419 String stripHitInputCollectionName = "StripClusterer_SiTrackerHitStrip1D" ;
@@ -444,12 +438,6 @@ private ArrayList<KalTrack>[] prepareTrackCollections(EventHeader event, List<Tr
444438 nEvents ++;
445439 logger .log (Level .FINE ,"KalmanPatRecDriver.process: run time for pattern recognition at event " + evtNumb + " is " + runTime + " milliseconds" );
446440
447- //List<RawTrackerHit> rawhits = event.get(RawTrackerHit.class, "SVTRawTrackerHits");
448- //if (rawhits == null) {
449- // logger.log(Level.FINE, String.format("KalmanPatRecDriver.process: the raw hits collection is missing"));
450- // return null;
451- //}
452-
453441 int nKalTracks = 0 ;
454442 for (int topBottom =0 ; topBottom <2 ; ++topBottom ) {
455443 ArrayList <KalTrack > kPat = kPatList [topBottom ];
@@ -472,11 +460,6 @@ private ArrayList<KalTrack>[] prepareTrackCollections(EventHeader event, List<Tr
472460 Track KalmanTrackHPS = KI .createTrack (kTk , true );
473461 if (KalmanTrackHPS == null ) continue ;
474462
475- //pT cut
476- //double [] hParams_check = kTk.originHelixParms();
477- //double ptInv_check = hParams_check[2];
478- //double pt = Math.abs(1./ptInv_check);
479-
480463 outputFullTracks .add (KalmanTrackHPS );
481464
482465 List <GBLStripClusterData > clstrs = KI .createGBLStripClusterData (kTk );
@@ -500,9 +483,6 @@ private ArrayList<KalTrack>[] prepareTrackCollections(EventHeader event, List<Tr
500483 //if tanLamda<0 set bottom
501484 if (KalmanTrackHPS .getTrackStates ().get (0 ).getTanLambda () < 0 ) trackerVolume = 1 ;
502485
503- //TODO: compute isolations
504- double qualityArray [] = new double [1 ];
505- qualityArray [0 ] = -1 ;
506486
507487 //Get the track momentum and convert it into detector frame and float values
508488 Hep3Vector momentum = new BasicHep3Vector (KalmanTrackHPS .getTrackStates ().get (0 ).getMomentum ());
@@ -537,13 +517,7 @@ private ArrayList<KalTrack>[] prepareTrackCollections(EventHeader event, List<Tr
537517 //Add the TrackResiduals
538518 List <Integer > layers = new ArrayList <Integer >();
539519 List <Double > residuals = new ArrayList <Double >();
540- List <Float > sigmas = new ArrayList <Float >();
541- List <Integer > layersInt = new ArrayList <Integer >();
542- List <Double > intersect = new ArrayList <Double >();
543- List <Float > sigmasInt = new ArrayList <Float >();
544- int uindex = 0 ;
545- int vindex = 1 ;
546- int windex = 2 ;
520+ List <Float > sigmas = new ArrayList <Float >();
547521 for (GBLStripClusterData clstr : clstrs ) {
548522 Pair <Double ,Double > res_and_sigma = kTk .unbiasedResidualMillipede (clstr .getId ());
549523 if (res_and_sigma .getSecondElement () > -1. ) {
@@ -556,17 +530,30 @@ private ArrayList<KalTrack>[] prepareTrackCollections(EventHeader event, List<Tr
556530 sigmas .add (res_and_sigma .getSecondElement ().floatValue ());
557531 }
558532 }
533+ //Add the Track Intersections
534+ List <Integer > layersInt = new ArrayList <Integer >();
535+ List <Double > intersect = new ArrayList <Double >();
536+ List <Float > sigmasInt = new ArrayList <Float >();
537+
538+ int uindex = 0 ;
539+ int vindex = 1 ;
540+ int windex = 2 ;
541+
542+ double [] isolationsArray =new double [14 ];
559543 for (int ilay = 0 ;ilay <14 ;ilay ++){
560544 Pair <Double [], Double > inter_and_sigma = kTk .unbiasedIntersect (ilay , true );
561545 layersInt .add (ilay );
562546 intersect .add (inter_and_sigma .getFirstElement ()[uindex ]);
563547 intersect .add (inter_and_sigma .getFirstElement ()[vindex ]);
564548 intersect .add (inter_and_sigma .getFirstElement ()[windex ]);
565- sigmasInt .add (inter_and_sigma .getSecondElement ().floatValue ());
549+ sigmasInt .add (inter_and_sigma .getSecondElement ().floatValue ());
550+ //get isolations
551+ Pair <Double ,Double > isolation =kTk .getIsoAndT0 (ilay );
552+ isolationsArray [ilay ]=isolation .getFirstElement ();
566553 }//Loop on layers
567554
568555 //Add the Track Data
569- TrackData KFtrackData = new TrackData (trackerVolume , (float ) kTk .getTime (), qualityArray , momentum_f , (float ) origin_bFieldY , (float ) target_bFieldY , (float ) ecal_bFieldY , (float ) svtCenter_bFieldY );
556+ TrackData KFtrackData = new TrackData (trackerVolume , (float ) kTk .getTime (), isolationsArray , momentum_f , (float ) origin_bFieldY , (float ) target_bFieldY , (float ) ecal_bFieldY , (float ) svtCenter_bFieldY );
570557 trackDataCollection .add (KFtrackData );
571558 trackDataRelations .add (new BaseLCRelation (KFtrackData , KalmanTrackHPS ));
572559
@@ -577,7 +564,6 @@ private ArrayList<KalTrack>[] prepareTrackCollections(EventHeader event, List<Tr
577564 trackIntersects .add (intersectData );
578565 trackIntersectsRelations .add (new BaseLCRelation (intersectData , KalmanTrackHPS ));
579566
580-
581567 //Add the Kinks
582568 layers = new ArrayList <Integer >();
583569 List <Double > Xkinks = new ArrayList <Double >();
@@ -598,13 +584,6 @@ private ArrayList<KalTrack>[] prepareTrackCollections(EventHeader event, List<Tr
598584 TrackResidualsData kinkZData = new TrackResidualsData (trackerVolume ,layers ,Zkinks ,sigmas );
599585 trackZKinks .add (kinkZData );
600586 trackZKinksRelations .add (new BaseLCRelation (kinkZData , KalmanTrackHPS ));
601- /*
602- if (KalmanTrackHPS.getTrackerHits().size() != residuals.size()) {
603- System.out.println("KalmanPatRecDriver::Residuals consistency check failed.");
604- System.out.printf("Track has %d hits while I have %d residuals \n", KalmanTrackHPS.getTrackerHits().size(), residuals.size());
605- }
606- */
607-
608587 } // end of loop on tracks
609588 } // end of loop on trackers
610589
0 commit comments