hps-java/src/main/java/org/lcsim/hps/monitoring/svt
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();
}
}