lcsim/src/org/lcsim/recon/muon
diff -u -r1.8 -r1.9
--- MuonReco.java 29 Dec 2005 17:25:16 -0000 1.8
+++ MuonReco.java 27 Jan 2006 20:32:19 -0000 1.9
@@ -51,6 +51,9 @@
// and one for the muon calorimeter
BarrelCalSegmentFinder ecalSegmentFinder = new BarrelCalSegmentFinder( // new
event.getDetector(), "EMBarrel");
+
+ event.put("BarrelCalPoints",ecalSegmentFinder.getHitPos());
+
BarrelCalSegmentFinder hcalSegmentFinder = new BarrelCalSegmentFinder(
event.getDetector(), "HADBarrel");
MuonCalSegmentFinder muSegmentFinder = new MuonCalSegmentFinder(
@@ -62,35 +65,36 @@
for( Track trk : event.getTracks() )
// Dec-25-05
- // List<Track> recoTracks = event.get(Track.class, "CombinedTracks");
- // System.out.println("TrackingCheater: # parts="+recoTracks.size());
- // for( Track trk : recoTracks)
+ // List<Track> recoTracks = event.get(Track.class, "CombinedTracks");
+ // System.out.println("TrackingCheater: # parts="+recoTracks.size());
+ // for( Track trk : recoTracks)
{
//double[] vtx = trk.getReferencePoint() ;
//double[] pvec = trk.getMomentum() ;
- //int icharge =trk.getCharge();
- //double massMR = ((CheatTrack)trk).getMCParticle().getMass() ;
+ int icharge =trk.getCharge();
+ // double massM = ((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]);
+ 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 massMR = 0.105658369;
- /*
- 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.
+ double massM = 0.105658369;
+
+ // for(int i=0; i<3;i++)
+ // {
+ // rpVMR [i]=vtx[i] ; rpVMR[i+3]=pvec[i];
+ // }
+
+ // rpVMR[7]=icharge; rpVMR[6]= massM;
+
+ // stpr.setNewRp(rpVMR); // update phase space point -Dec-25-05-C.M.
//End -Dec 25-05
- */
- rpVMR = stpr.rpFromTrkParams(trkParams);
+
+ rpVMR = stpr.rpFromTrkParams(trkParams,massM);
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]);
@@ -122,12 +126,11 @@
{
MuonCandidate muon = new MuonCandidate(trk,
ecalSegmentFinder.getNHits(), ecalSegmentFinder.getNLayersHit(), // C.M. Include ECal
- ecalSegmentFinder.getHits(), // C.M.- Include Ecal
+ ecalSegmentFinder.getHits(),
hcalSegmentFinder.getNHits(), hcalSegmentFinder.getNLayersHit(),
hcalSegmentFinder.getHits(),
muSegmentFinder.getNHits(), muSegmentFinder.getNLayersHit(),
muSegmentFinder.getHits());
- muonList.add(muon);
double x = rpVMR[0];
double y = rpVMR[1];
double rho = Math.sqrt(x*x+y*y);
@@ -141,6 +144,8 @@
+", rho="+rho
+", theta="+theta );
}
+ Vector vtrack = ecalSegmentFinder.getHitPos();
+ System.out.println("vtrack="+vtrack+" "+ (vtrack == null ? 0 : vtrack.size()));
// Reset for the next track
ecalSegmentFinder.reset(); // C.M.- Include the Ecal inthe code
hcalSegmentFinder.reset();
@@ -158,10 +163,12 @@
for( int i=0; i<muonList.getNMuons(); ++i ) {
MuonCandidate muon = muonList.getMuonAt(i);
muons.add(muon);
- }
-
+ }
System.out.println("Writing muons to event: # muons = "+muons.size());
event.put("MuonList", muons, MuonCandidate.class, 0);
+
+ Vector v = ecalSegmentFinder.getHitPos();
+ System.out.println("v="+v+" "+ (v == null ? 0 : v.size()));
}
public int getMinECalHits() // C.M.- Include Ecal in the code