lcsim/src/org/lcsim/recon/muon
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(),