hps-java/src/main/java/org/lcsim/hps/users/meeg
diff -u -r1.1 -r1.2
--- KinkAnalysisDriver.java 14 Aug 2013 23:23:02 -0000 1.1
+++ KinkAnalysisDriver.java 14 Aug 2013 23:53:39 -0000 1.2
@@ -18,38 +18,35 @@
/*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: KinkAnalysisDriver.java,v 1.1 2013/08/14 23:23:02 meeg Exp $
+ * @version $Id: KinkAnalysisDriver.java,v 1.2 2013/08/14 23:53:39 meeg Exp $
*/
public class KinkAnalysisDriver extends Driver {
private boolean debug = false;
-// private double bfield = 0.5;
private AIDA aida = AIDA.defaultInstance();
-// IHistogram2D sinLayer;
IHistogram2D dThetaLayer;
-// IHistogram1D maxSin;
- IHistogram1D maxDTheta;
-// IHistogram2D sinLayerScatter;
- IHistogram2D dThetaLayerLargest;
+ IHistogram2D dThetaLayerLargestT;
+ IHistogram2D dThetaLayerLargestE;
IHistogram2D dThetaLayerScatter;
IHistogram2D dThetaLayerNoScatter;
- IHistogram1D maxEventDTheta;
- IHistogram1D maxDThetaLayer;
+ IHistogram1D dThetaLargestT;
+ IHistogram1D dThetaLargestE;
+ IHistogram1D layerLargestT;
+ IHistogram1D layerLargestE;
int neventsWithScatter = 0;
int hardScatterIsLargestScatter = 0;
@Override
protected void detectorChanged(Detector detector) {
-// sinLayer = aida.histogram2D("deflection vs. layer", 12, 0.5, 12.5, 1000, 0.0, 0.1);
dThetaLayer = aida.histogram2D("deflection in Y vs. layer", 12, 0.5, 12.5, 1000, -0.02, 0.02);
-// maxSin = aida.histogram1D("largest deflection", 1000, 0.0, 0.1);
- maxDTheta = aida.histogram1D("largest deflection in Y in track", 1000, -0.02, 0.02);
-// sinLayerScatter = aida.histogram2D("deflection vs. layer with hard scatter", 12, 0.5, 12.5, 1000, 0.0, 0.1);
dThetaLayerScatter = aida.histogram2D("deflection in Y vs. layer, with hard scatter", 12, 0.5, 12.5, 1000, -0.02, 0.02);
dThetaLayerNoScatter = aida.histogram2D("deflection in Y vs. layer, no hard scatter", 12, 0.5, 12.5, 1000, -0.02, 0.02);
- dThetaLayerLargest = aida.histogram2D("deflection in Y vs. layer, largest scatter in event", 12, 0.5, 12.5, 1000, -0.02, 0.02);
- maxEventDTheta = aida.histogram1D("largest deflection in Y in event", 1000, -0.02, 0.02);
- maxDThetaLayer = aida.histogram1D("layer of largest deflection in Y in event", 12, 0.5, 12.5);
+ dThetaLayerLargestT = aida.histogram2D("deflection in Y vs. layer, largest scatter in track", 12, 0.5, 12.5, 1000, -0.02, 0.02);
+ dThetaLayerLargestE = aida.histogram2D("deflection in Y vs. layer, largest scatter in event", 12, 0.5, 12.5, 1000, -0.02, 0.02);
+ dThetaLargestT = aida.histogram1D("largest deflection in Y in track", 1000, -0.02, 0.02);
+ dThetaLargestE = aida.histogram1D("largest deflection in Y in event", 1000, -0.02, 0.02);
+ layerLargestT = aida.histogram1D("layer of largest deflection in Y in track", 12, 0.5, 12.5);
+ layerLargestE = aida.histogram1D("layer of largest deflection in Y in event", 12, 0.5, 12.5);
}
@Override
@@ -104,7 +101,7 @@
for (int i = 0; i < layers.size() - 1; i++) {
SimTrackerHit hit = layerMap.get(layers.get(i));
-
+
boolean nearHardScatter = false;
for (Hep3Vector scatter : hardScatters) {
if (VecOp.add(hit.getPositionVec(), scatter).magnitude() < 5.0) {
@@ -138,14 +135,16 @@
} else {
dThetaLayerNoScatter.fill(layers.get(i), deflectionY);
}
- if (Math.abs(outAngle - inAngle) > Math.abs(maxDT)) {
+ if (Math.abs(deflectionY) > Math.abs(maxDT)) {
maxDT = deflectionY;
maxDTLayer = layers.get(i);
maxDTHardScatter = nearHardScatter;
}
}
if (maxDT != 0.0) {
- maxDTheta.fill(maxDT);
+ dThetaLargestT.fill(maxDT);
+ layerLargestT.fill(maxDTLayer);
+ dThetaLayerLargestT.fill(maxDTLayer, maxDT);
}
if (Math.abs(maxDT) > Math.abs(maxEventDT)) {
@@ -156,9 +155,9 @@
}
if (maxEventDT != 0.0) {
- maxEventDTheta.fill(maxEventDT);
- maxDThetaLayer.fill(maxEventDTLayer);
- dThetaLayerLargest.fill(maxEventDTLayer, maxEventDT);
+ dThetaLargestE.fill(maxEventDT);
+ layerLargestE.fill(maxEventDTLayer);
+ dThetaLayerLargestE.fill(maxEventDTLayer, maxEventDT);
neventsWithScatter++;
if (maxEventDTHardScatter) {
hardScatterIsLargestScatter++;