Print

Print


Commit in lcsim/src/org/lcsim/recon/muon on MAIN
MuonReco.java+31-121.6 -> 1.7
 CM: get position and momentum from MCParticle through recon.ztracking.CheatTrack

lcsim/src/org/lcsim/recon/muon
MuonReco.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- MuonReco.java	12 Dec 2005 22:36:46 -0000	1.6
+++ MuonReco.java	27 Dec 2005 16:10:26 -0000	1.7
@@ -2,10 +2,13 @@
 
 import org.lcsim.event.*;
 import java.util.*;
+import hep.physics.vec.BasicHep3Vector; // added Dec-25-05
 import org.lcsim.util.step.*;  //  C.M. Stepper
 import org.lcsim.util.Driver;
 import org.lcsim.event.EventHeader;
 import org.lcsim.geometry.Detector;
+import org.lcsim.recon.ztracking.cheater.CheatTrack; // added Dec-25-05
+import org.lcsim.event.MCParticle;                     // added Dec-25-05
 import org.lcsim.recon.muon.MuonCandidate;
 
 // LCD Muon Reconstruction
@@ -57,20 +60,36 @@
 //         for (Enumeration e = event.getTrackList().getTracks();
 //         e.hasMoreElements();)
 
-	for( Track t : event.getTracks() )
+//	for( Track t : event.getTracks() )
+        // Dec-25-05
+        List<Track> recoTracks = event.get(Track.class, "CombinedTracks");
+	System.out.println("TrackingCheater: # parts="+recoTracks.size());
+	for( Track trk : recoTracks)
         {
-            // Instantiate TrkParams object for this track
-            
-            double [] params = t.getTrackParameters();
-	    System.out.println("MR new trkParms: "+params[0]+" "+params[1]+" "+params[2]+" "+params[3]);
-            TrkParams trkParams = new TrkParams(
-            params[0], params[1], params[2], params[3], params[4]);
-            
-            
+	   
+	    double[] vtx = trk.getReferencePoint() ;
+            double[] pvec =  trk.getMomentum()  ;
+	    int icharge =trk.getCharge();
+	    double massMR = ((CheatTrack)trk).getMCParticle().getMass()  ;
+             	     
+	   // Instantiate TrkParams object for this track
+            double [] params = trk.getTrackParameters();
+	   System.out.println("MR new trkParms: "+params[0]+" "+params[1]+" "+params[2]+" "+params[3]);
+           // TrkParams trkParams = new TrkParams(
+           // params[0], params[1], params[2], params[3], params[4]);
+           // Dec 25-05 -C.M.  
             TrackStepper stpr     = new TrackStepper(); //C.M.- Stepper for dE/dx Calculation
             double []rpVMR = new double[8];
-            double mMuon = 0.106;
-            rpVMR          = stpr.rpFromTrkParams(trkParams);
+            double mMuon = 0.106;	      	       
+	    for(int i=0; i<3;i++)
+	    {
+	        rpVMR [i]=vtx[i] ; rpVMR[i+3]=pvec[i];
+	    }
+	      
+	     rpVMR[7]=icharge; rpVMR[6]= massMR;
+	     stpr.setNewRp(rpVMR); // update phase space point -Dec-25-05-C.M.
+	   //End -Dec 25-05 
+           // rpVMR          = stpr.rpFromTrkParams(trkParams);
             System.out.println("MR: Before EMCal");
 	    System.out.println("MR: from Tkparams xyz="+ rpVMR[0]+" "+rpVMR[1]+" "+rpVMR[2]);
 	    System.out.println("MR: from Tkparams Pxyz="+rpVMR[3]+" "+rpVMR[4]+" "+rpVMR[5]);
@@ -97,7 +116,7 @@
             hcalSegmentFinder.getNHits() >= minHCalHits &&
             muSegmentFinder.getNHits()   >= minMuHits)
             {
-                MuonCandidate muon = new MuonCandidate(t,
+                MuonCandidate muon = new MuonCandidate(trk,
                 ecalSegmentFinder.getNHits(), ecalSegmentFinder.getNLayersHit(), // C.M. Include ECal
                 ecalSegmentFinder.getHits(),									 // C.M.- Include Ecal
                 hcalSegmentFinder.getNHits(), hcalSegmentFinder.getNLayersHit(),
CVSspam 0.2.8