Commit in hps-java/src/main/java/org/lcsim/hps/monitoring/svt on MAIN | |||
TrackingReconstructionPlots.java | +77 | -14 | 1.5 -> 1.6 |
Added raw track parameters plot. Added plot of the fitted amplitude of hits on tracks.
diff -u -r1.5 -r1.6 --- TrackingReconstructionPlots.java 11 May 2012 16:18:04 -0000 1.5 +++ TrackingReconstructionPlots.java 14 May 2012 17:56:49 -0000 1.6 @@ -31,6 +31,9 @@
import org.lcsim.recon.tracking.seedtracker.SeedTrack; import org.lcsim.util.Driver; import org.lcsim.util.aida.AIDA;
+import org.lcsim.event.LCIOParameters.ParameterName; +import org.lcsim.hps.recon.tracking.*; +import org.lcsim.hps.recon.tracking.HPSSVTCalibrationConstants.ChannelConstants;
/** *
@@ -57,6 +60,7 @@
private String outputPlots = null; IPlotter plotter; IPlotter plotter2;
+ IPlotter plotter22;
IPlotter plotter3; IPlotter plotter3_1; IPlotter plotter3_2;
@@ -66,7 +70,10 @@
double zEcal = 130; IHistogram1D trkPx; IHistogram1D nTracks;
-
+ + HPSShaperFitAlgorithm _shaper = new DumbShaperFit(); + +
protected void detectorChanged(Detector detector) { this.detector = detector; aida.tree().cd("/");
@@ -94,22 +101,44 @@
plotter.region(2).plot(trkPz); plotter.region(3).plot(trkChi2);
-
+ + IHistogram1D trkd0 = aida.histogram1D("d0 ", 25, -100.0, 100.0); + IHistogram1D trkphi = aida.histogram1D("phi ", 25, -2.0*Math.PI, 2.0*Math.PI); + IHistogram1D trkomega = aida.histogram1D("omega ", 25, -0.01, 0.01); + IHistogram1D trklam = aida.histogram1D("tan(lambda) ", 25, -0.3,0.3); + IHistogram1D trkz0 = aida.histogram1D("z0 ", 25, -100.0, 100.0); + + plotter22 = fac.createPlotterFactory().create("HPS Track Params"); + plotter22.setTitle("Track parameters"); + plotterFrame.addPlotter(plotter22); + IPlotterStyle style22 = plotter22.style(); + style22.dataStyle().fillStyle().setColor("yellow"); + style22.dataStyle().errorBarStyle().setVisible(false); + plotter22.createRegions(2, 3); + plotter22.region(0).plot(trkd0); + plotter22.region(1).plot(trkphi); + plotter22.region(2).plot(trkomega); + plotter22.region(3).plot(trklam); + plotter22.region(4).plot(trkz0); + +
plotter2 = fac.createPlotterFactory().create("HPS Tracking Plots"); plotter2.setTitle("Other"); plotterFrame.addPlotter(plotter2); IPlotterStyle style2 = plotter2.style(); style2.dataStyle().fillStyle().setColor("yellow"); style2.dataStyle().errorBarStyle().setVisible(false);
- plotter2.createRegions(2, 2); - IHistogram1D xAtConverter = aida.histogram1D("X (mm) @ Z=-60cm", 25, -20, 20); - IHistogram1D yAtConverter = aida.histogram1D("Y (mm) @ Z=-60cm", 25, -50, 50);
+ plotter2.createRegions(2, 3); + IHistogram1D xAtConverter = aida.histogram1D("X (mm) @ Z=-60cm", 25, -50, 50); + IHistogram1D yAtConverter = aida.histogram1D("Y (mm) @ Z=-60cm", 50, -50, 100);
IHistogram1D nHits = aida.histogram1D("Hits per Track", 2, 4, 6);
+ IHistogram1D amp = aida.histogram1D("Amp (HitOnTrack)", 35, 0, 3500);
nTracks = aida.histogram1D("Tracks per Event", 3, 0, 3); plotter2.region(0).plot(xAtConverter);
- plotter2.region(1).plot(yAtConverter); - plotter2.region(2).plot(nHits); - plotter2.region(3).plot(nTracks);
+ plotter2.region(3).plot(yAtConverter); + plotter2.region(1).plot(nHits); + plotter2.region(4).plot(nTracks); + plotter2.region(2).plot(amp);
plotter3 = fac.createPlotterFactory().create("HPS Residual Plots");
@@ -120,11 +149,11 @@
style3.dataStyle().errorBarStyle().setVisible(false); plotter3.createRegions(5, 2);
- double minResidY = -1; - double maxResidY = 1;
+ double minResidY = -5; + double maxResidY = 5;
- double minResidX = -25; - double maxResidX = 25;
+ double minResidX = -50; + double maxResidX = 50;
IHistogram1D mod1ResX = aida.histogram1D("Module 1 Residual X(mm)", 25, minResidX, maxResidX); IHistogram1D mod1ResY = aida.histogram1D("Module 1 Residual Y(mm)", 25, minResidY, maxResidY);
@@ -424,7 +453,6 @@
aida.histogram1D("Track Chi2").fill(trk.getChi2()); aida.histogram1D("Hits per Track").fill(trk.getTrackerHits().size());
-
SeedTrack stEle = (SeedTrack) trk; SeedCandidate seedEle = stEle.getSeedCandidate(); HelicalTrackFit ht = seedEle.getHelix();
@@ -433,6 +461,17 @@
aida.histogram1D("X (mm) @ Z=-60cm").fill(slt.getYZAtX(zAtConverter)[1]); //remember the tracker-->jlab aida.histogram1D("Y (mm) @ Z=-60cm").fill(slt.getYZAtX(zAtConverter)[0]); //coordinate swap...
+ + + aida.histogram1D("d0 ").fill(trk.getTrackParameter(ParameterName.d0.ordinal())); + aida.histogram1D("phi ").fill(trk.getTrackParameter(ParameterName.phi0.ordinal())); + aida.histogram1D("omega ").fill(trk.getTrackParameter(ParameterName.omega.ordinal())); + aida.histogram1D("tan(lambda) ").fill(trk.getTrackParameter(ParameterName.tanLambda.ordinal())); + aida.histogram1D("z0 ").fill(trk.getTrackParameter(ParameterName.z0.ordinal())); + + + +
List<TrackerHit> hitsOnTrack = trk.getTrackerHits(); for (TrackerHit hit : hitsOnTrack) { HelicalTrackHit htc = (HelicalTrackHit) hit;
@@ -457,7 +496,9 @@
// System.out.println("Measured X " + hit.getPosition()[1] + "; Track X = " + yTr); // System.out.println("Measured Y " + hit.getPosition()[2] + "; Track Y = " + zTr); // System.out.println(htc.getCorrectedCovMatrix().toString());
-
+ + +
aida.histogram1D(modNum + "Residual X(mm)").fill(hit.getPosition()[1] - yTr);//these hits should be rotated track hits already aida.histogram1D(modNum + "Residual Y(mm)").fill(hit.getPosition()[2] - zTr);//these hits should be rotated track hits already
@@ -474,6 +515,20 @@
+ List<RawTrackerHit> rawHits = hit.getRawHits(); + for(RawTrackerHit rawHit : rawHits){ + + ChannelConstants constants = HPSSVTCalibrationConstants.getChannelConstants((SiSensor) rawHit.getDetectorElement(), rawHit.getIdentifierFieldValue("strip")); + HPSShapeFitParameters fit = _shaper.fitShape(rawHit, constants); + double amp = fit.getAmp(); + aida.histogram1D("Amp (HitOnTrack)").fill(amp); + } + + + + + +
} List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName); // System.out.println("Number of ECAL clusters=" + clusters.size());
@@ -657,5 +712,13 @@
aida.histogram1D("Energy Over Momentum").reset(); aida.histogram1D("deltaX").reset(); aida.histogram1D("deltaY").reset();
+ + aida.histogram1D("Amp (HitOnTrack)").reset(); + + aida.histogram1D("d0 ").reset(); + aida.histogram1D("phi ").reset(); + aida.histogram1D("omega ").reset(); + aida.histogram1D("tan(lambda) ").reset(); + aida.histogram1D("z0 ").reset();
} }
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1