Print

Print


Commit in hps-java/src/main/java/org/lcsim/hps/monitoring/svt on MAIN
SVTHitReconstructionPlots.java+3-11.10 -> 1.11
TrackingReconstructionPlots.java+93-291.6 -> 1.7
+96-30
2 modified files
Added amplitude for hits on track. Added more plots of track extrapolation.

hps-java/src/main/java/org/lcsim/hps/monitoring/svt
SVTHitReconstructionPlots.java 1.10 -> 1.11
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) {

hps-java/src/main/java/org/lcsim/hps/monitoring/svt
TrackingReconstructionPlots.java 1.6 -> 1.7
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());
+                    
+                }
+                
             }
         }
     }
CVSspam 0.2.12


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