Commit in hps-java/src/main/java/org/lcsim/hps/monitoring/svt on MAIN | |||
SVTHitReconstructionPlots.java | +3 | -1 | 1.10 -> 1.11 |
TrackingReconstructionPlots.java | +93 | -29 | 1.6 -> 1.7 |
+96 | -30 |
Added amplitude for hits on track. Added more plots of track extrapolation.
diff -u -r1.10 -r1.11 --- SVTHitReconstructionPlots.java 14 May 2012 17:50:33 -0000 1.10 +++ SVTHitReconstructionPlots.java 14 May 2012 22:51:35 -0000 1.11 @@ -205,7 +205,8 @@
String sensorName = sensor.getName(); int clusterSize = cluster.getRawHits().size(); aida.histogram1D(sensorName + "_cluster_size").fill(clusterSize);
- double cluAmp = getCluAmp(cluster,fittedrawHits);
+ //double cluAmp = getCluAmp(cluster,fittedrawHits);
+ double cluAmp = cluster.getdEdx();
aida.histogram1D(sensorName + "_cluster_amp").fill(cluAmp); }
@@ -213,6 +214,7 @@
} public double getCluAmp(SiTrackerHitStrip1D stripHits, List<HPSFittedRawTrackerHit> hrths) {
+ stripHits.getdEdx();
List<RawTrackerHit> rawHits = stripHits.getRawHits(); double sum = 0.0; for (RawTrackerHit hit: rawHits) {
diff -u -r1.6 -r1.7 --- TrackingReconstructionPlots.java 14 May 2012 17:56:49 -0000 1.6 +++ TrackingReconstructionPlots.java 14 May 2012 22:51:35 -0000 1.7 @@ -10,6 +10,7 @@
import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger;
+import org.lcsim.detector.tracker.silicon.DopedSilicon;
import org.lcsim.detector.tracker.silicon.SiSensor; import org.lcsim.event.*; import org.lcsim.fit.helicaltrack.HelicalTrackCross;
@@ -61,13 +62,16 @@
IPlotter plotter; IPlotter plotter2; IPlotter plotter22;
+ IPlotter plotter222;
IPlotter plotter3; IPlotter plotter3_1; IPlotter plotter3_2; IPlotter plotter4; IPlotter plotter5; IPlotter plotter6;
- double zEcal = 130;
+ double zEcal = 1500;
+ double zAtDownStrPairSpec = 914.0; //mm
+ double zAtColl = -1500;
IHistogram1D trkPx; IHistogram1D nTracks;
@@ -123,22 +127,51 @@
plotter2 = fac.createPlotterFactory().create("HPS Tracking Plots");
- plotter2.setTitle("Other");
+ plotter2.setTitle("Track extrapolation");
plotterFrame.addPlotter(plotter2); IPlotterStyle style2 = plotter2.style(); style2.dataStyle().fillStyle().setColor("yellow"); style2.dataStyle().errorBarStyle().setVisible(false);
- plotter2.createRegions(2, 3);
+ plotter2.createRegions(2, 4);
IHistogram1D xAtConverter = aida.histogram1D("X (mm) @ Z=-60cm", 25, -50, 50); IHistogram1D yAtConverter = aida.histogram1D("Y (mm) @ Z=-60cm", 50, -50, 100);
+ IHistogram1D xAtColl = aida.histogram1D("X (mm) @ Z=-150cm", 50, -200, 200); + IHistogram1D yAtColl = aida.histogram1D("Y (mm) @ Z=-150cm", 50, -200, 200); + IHistogram1D xAtEcal = aida.histogram1D("X (mm) @ Z=150cm", 50, -700, 700); + IHistogram1D yAtEcal = aida.histogram1D("Y (mm) @ Z=150cm", 50, -50, 150); + IHistogram1D xAtEcal2 = aida.histogram1D("X (mm) @ Z=150cm (Pz>1)", 50, -50, 50); + IHistogram1D yAtEcal2 = aida.histogram1D("Y (mm) @ Z=150cm (Pz>1)", 50, -50, 150); + + plotter2.region(0).plot(xAtConverter); + plotter2.region(4).plot(yAtConverter); + plotter2.region(1).plot(xAtColl); + plotter2.region(5).plot(yAtColl); + plotter2.region(2).plot(xAtEcal); + plotter2.region(6).plot(yAtEcal); + plotter2.region(3).plot(xAtEcal2); + plotter2.region(7).plot(yAtEcal2); + + plotter222 = fac.createPlotterFactory().create("HPS Tracking Plots"); + plotter222.setTitle("Other"); + plotterFrame.addPlotter(plotter222); + IPlotterStyle style222 = plotter222.style(); + style222.dataStyle().fillStyle().setColor("yellow"); + style222.dataStyle().errorBarStyle().setVisible(false); + plotter222.createRegions(2, 3); +
IHistogram1D nHits = aida.histogram1D("Hits per Track", 2, 4, 6);
- IHistogram1D amp = aida.histogram1D("Amp (HitOnTrack)", 35, 0, 3500);
+ IHistogram1D amp = aida.histogram1D("Amp (HitOnTrack)", 50, 0, 5000);
+ IHistogram1D ampcl = aida.histogram1D("Amp (CluOnTrack)", 50, 0, 5000);
+ IHistogram1D amp2 = aida.histogram1D("Amp Pz>1000 (HitOnTrack)", 50, 0, 5000);
+ IHistogram1D ampcl2 = aida.histogram1D("Amp Pz>1000 (CluOnTrack)", 50, 0, 5000);
nTracks = aida.histogram1D("Tracks per Event", 3, 0, 3);
- plotter2.region(0).plot(xAtConverter); - plotter2.region(3).plot(yAtConverter); - plotter2.region(1).plot(nHits); - plotter2.region(4).plot(nTracks); - plotter2.region(2).plot(amp);
+ + plotter222.region(0).plot(nHits); + plotter222.region(3).plot(nTracks); + plotter222.region(1).plot(amp); + plotter222.region(4).plot(amp2); + plotter222.region(2).plot(ampcl); + plotter222.region(5).plot(ampcl2);
plotter3 = fac.createPlotterFactory().create("HPS Residual Plots");
@@ -265,18 +298,23 @@
style4.dataStyle().fillStyle().setParameter("colorMapScheme", "rainbow"); style4.dataStyle().fillStyle().setColor("yellow"); style4.dataStyle().errorBarStyle().setVisible(false);
- plotter4.createRegions(2, 2);
+ plotter4.createRegions(2, 3);
- IHistogram2D eVsP = aida.histogram2D("Energy Vs Momentum", 50, 0, 5000, 50, 0, 3500);
+ IHistogram2D eVsP = aida.histogram2D("Energy Vs Momentum", 50, 0, 3500, 50, 0, 3500);
IHistogram1D eOverP = aida.histogram1D("Energy Over Momentum", 50, 0, 5);
- IHistogram1D distX = aida.histogram1D("deltaX", 50, -50, 50); - IHistogram1D distY = aida.histogram1D("deltaY", 50, -50, 50);
+ IHistogram1D distX = aida.histogram1D("deltaX", 50, -400, 400); + IHistogram1D distY = aida.histogram1D("deltaY", 50, -100, 100);
+ IHistogram1D distX2 = aida.histogram1D("deltaX (Pz>1)", 50, -400, 400); + IHistogram1D distY2 = aida.histogram1D("deltaY (Pz>1)", 50, -100, 100); +
plotter4.region(0).plot(eVsP);
- plotter4.region(1).plot(eOverP); - plotter4.region(2).plot(distX); - plotter4.region(3).plot(distY);
+ plotter4.region(3).plot(eOverP); + plotter4.region(1).plot(distX); + plotter4.region(4).plot(distY); + plotter4.region(2).plot(distX2); + plotter4.region(5).plot(distY2);
@@ -461,8 +499,23 @@
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...
+ //double sECAL = HelixUtils.PathToXPlane(ht, zEcal, 3000, 1).get(0); + aida.histogram1D("X (mm) @ Z=-150cm").fill(slt.getYZAtX(zAtColl)[1]); + aida.histogram1D("Y (mm) @ Z=-150cm").fill(slt.getYZAtX(zAtColl)[0]);
-
+
+ //Straight line after field-region???
+ //HelixConverter converterEcal = new HelixConverter(zAtDownStrPairSpec);
+ //StraightLineTrack sltEcal = converterEcal.Convert(ht);
+ double sECAL = HelixUtils.PathToXPlane(ht, zEcal, 3000, 1).get(0);
+ Hep3Vector posonhelix = HelixUtils.PointOnHelix(ht, sECAL);//position in tracker coordinates!
+
+ aida.histogram1D("X (mm) @ Z=150cm").fill(posonhelix.y());
+ aida.histogram1D("Y (mm) @ Z=150cm").fill(posonhelix.z());
+ if(trk.getPX()>1.0) {
+ aida.histogram1D("X (mm) @ Z=150cm (Pz>1)").fill(slt.getYZAtX(zAtColl)[1]);
+ aida.histogram1D("Y (mm) @ Z=150cm (Pz>1)").fill(slt.getYZAtX(zAtColl)[0]);
+ }
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()));
@@ -476,7 +529,8 @@
for (TrackerHit hit : hitsOnTrack) { HelicalTrackHit htc = (HelicalTrackHit) hit; double sHit = ht.PathMap().get(htc);
- Hep3Vector posonhelix = HelixUtils.PointOnHelix(ht, sHit);
+ posonhelix = HelixUtils.PointOnHelix(ht, sHit); +
double yTr = posonhelix.y(); double zTr = posonhelix.z(); int layer = htc.Layer();
@@ -513,17 +567,21 @@
}
- - - List<RawTrackerHit> rawHits = hit.getRawHits(); - for(RawTrackerHit rawHit : rawHits){
+ 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); - }
+ 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); + if(trk.getPX()>1) aida.histogram1D("Amp Pz>1000 (HitOnTrack)").fill(amp); + }
+ //Fill the cluster energy directly + //This should return energyin GeV but without gain I should get + // sum(ADC)*[energy of hole pair] + aida.histogram1D("Amp (CluOnTrack)").fill(hit.getdEdx()/DopedSilicon.ENERGY_EHPAIR); + if(trk.getPX()>1) aida.histogram1D("Amp Pz>1000 (CluOnTrack)").fill(hit.getdEdx()/DopedSilicon.ENERGY_EHPAIR);
@@ -532,14 +590,20 @@
} List<HPSEcalCluster> clusters = event.get(HPSEcalCluster.class, ecalCollectionName); // System.out.println("Number of ECAL clusters=" + clusters.size());
- double sECAL = HelixUtils.PathToXPlane(ht, zEcal, 3000, 1).get(0); - Hep3Vector posonhelix = HelixUtils.PointOnHelix(ht, sECAL);//position in tracker coordinates!
+// sECAL = HelixUtils.PathToXPlane(ht, zEcal, 3000, 1).get(0); + posonhelix = HelixUtils.PointOnHelix(ht, sECAL);//position in tracker coordinates!
HPSEcalCluster clust = findClosestCluster(posonhelix, clusters); if (clust != null) { aida.histogram2D("Energy Vs Momentum").fill(clust.getEnergy(), trk.getPX() * 1000.0); aida.histogram1D("Energy Over Momentum").fill(clust.getEnergy() / (trk.getPX() * 1000.0)); aida.histogram1D("deltaX").fill(clust.getPosition()[0] - posonhelix.y()); aida.histogram1D("deltaY").fill(clust.getPosition()[1] - posonhelix.z());
+ if(trk.getPX()>1.0) { + aida.histogram1D("deltaX (Pz>1)").fill(clust.getPosition()[0] - posonhelix.y()); + aida.histogram1D("deltaY (Pz>1)").fill(clust.getPosition()[1] - posonhelix.z()); + + } +
} } }
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