hps-java/src/main/java/org/lcsim/hps/users/phansson
diff -u -r1.11 -r1.12
--- MPAlignmentParameters.java 9 Oct 2012 01:17:35 -0000 1.11
+++ MPAlignmentParameters.java 12 Oct 2012 05:59:36 -0000 1.12
@@ -25,6 +25,7 @@
import org.lcsim.fit.helicaltrack.*;
import org.lcsim.hps.event.HPSTransformations;
import org.lcsim.hps.monitoring.AIDAFrame;
+import org.lcsim.hps.recon.tracking.SvtUtils;
import org.lcsim.hps.recon.tracking.TrackUtils;
import org.lcsim.hps.recon.tracking.TrackerHitUtils;
import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHit;
@@ -71,13 +72,18 @@
AlignmentUtils _alignUtils;
TrackUtils trackUtil;
TrackerHitUtils trackerHitUtil;
+ Hep3Vector _bfield = null;
+ WTrackUtils wutils = new WTrackUtils();
+
+ boolean _doSimHitsResiduals = false;
+ boolean _includeMS = false;
private AIDAFrame plotterFrame;
private AIDAFrame plotterFrameHTH;
private AIDAFrame plotterFrameSimHit;
private AIDAFrame plotterFrameSummary;
private boolean hideFrame = false;
- private AIDA aida = AIDA.defaultInstance();
+ private AIDA aida = AIDA.defaultInstance();
private IAnalysisFactory af = aida.analysisFactory();
IDataPointSet dps_t;
IDataPointSet dps_b;
@@ -91,7 +97,7 @@
IDataPointSet dps_pull_hth_y_t;
IDataPointSet dps_pull_hth_z_b;
IDataPointSet dps_pull_hth_z_t;
- IPlotter plotter_resuydiff;
+ IPlotter plotter_resuydiff_t;
IPlotter plotter_resuydiff_b;
IDataPointSet[] dps_resuydiff_t = new IDataPointSet[10];
IDataPointSet[] dps_resuydiff_b = new IDataPointSet[10];
@@ -102,13 +108,15 @@
- public MPAlignmentParameters(String outfile, boolean debug, boolean hidePlots) {
+ public MPAlignmentParameters(String outfile, Hep3Vector bfield_vec, boolean debug, boolean hidePlots) {
_DEBUG = debug;
_detToTrk = new HPSTransformations();
_alignUtils = new AlignmentUtils(_DEBUG);
trackUtil = new TrackUtils();
trackerHitUtil = new TrackerHitUtils(_DEBUG);
hideFrame = hidePlots;
+ _bfield = bfield_vec;
+ this.wutils.setDebug(debug);
try {
//open things up
fWriter = new FileWriter(outfile);
@@ -149,16 +157,22 @@
aida.histogram1D("Track Chi2 "+ half).fill(track.getChi2());
if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": Loop over " + hitsOnTrack.size() + " hitsOnTrack");
for (TrackerHit hit : hitsOnTrack) {
+
HelicalTrackHit htc = (HelicalTrackHit) hit;
+
+ HelicalTrackCross cross = (HelicalTrackCross) htc;
+ cross.setTrackDirection(_trk);
+
double msdrphi = msmap.get(htc).drphi();
double msdz = msmap.get(htc).dz();
double sHit = _trk.PathMap().get(htc);
+
calculateTrackHitResidual(htc,msmap);
- HelicalTrackCross cross = (HelicalTrackCross) htc;
+
List<HelicalTrackStrip> clusterlist = cross.getStrips();
- TrackDirection trkdir = HelixUtils.CalculateTrackDirection(_trk, sHit);
- cross.setTrackDirection(trkdir, _trk.covariance());
+
if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": Loop over " + clusterlist.size() + " clusterlist for this hitontrack");
+
for (HelicalTrackStrip cl : clusterlist) {
if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": cluster size " + cl.rawhits().size());
//if(cl.rawhits().size()>1) continue;
@@ -170,7 +184,8 @@
} else {
CalculateResidual(cl, msdrphi, msdz);
- //CalculateResidualSim(cl, msdrphi, msdz,simhits);
+
+ if(_doSimHitsResiduals) CalculateResidualSim(cl, msdrphi, msdz,simhits);
CalculateLocalDerivatives(cl);
CalculateGlobalDerivatives(cl);
@@ -662,15 +677,27 @@
Hep3Vector u = strip.u();
Hep3Vector v = strip.v();
Hep3Vector w = strip.w();
+ Hep3Vector eta = VecOp.cross(u,v);
Hep3Vector corigin = strip.origin();
+
+ if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": Finding interception point for residual calculation");
+
+ WTrack wtrack = new WTrack(_trk,Math.abs(_bfield.z()),true); //flip the charge since I'm looking at fitted tracks with B negative?
+
+ Hep3Vector trkpos = wutils.getHelixAndPlaneIntercept(wtrack, strip.origin(), eta, new BasicHep3Vector(0,0,1));
+ double xint = trkpos.x();
double phi0 = _trk.phi0();
double R = _trk.R();
//double xint = strip.origin().x();
- double xint = trackUtil.calculateHelixInterceptXPlane(_trk, strip);
double s = HelixUtils.PathToXPlane(_trk, xint, smax, _nlc).get(0);
double phi = -s/R + phi0;
- Hep3Vector trkpos = HelixUtils.PointOnHelix(_trk, s);
-
+ if(_DEBUG) {
+ double xint_wrong = trackUtil.calculateHelixInterceptXPlane(_trk, strip);
+ double s_wrong = HelixUtils.PathToXPlane(_trk, xint_wrong, smax, _nlc).get(0);
+ Hep3Vector trkpos_wrong= HelixUtils.PointOnHelix(_trk, s_wrong);
+ System.out.println(this.getClass().getSimpleName() + ": trkposdiff " + VecOp.sub(trkpos, trkpos_wrong).toString() + " from trkpos_cor " + trkpos.toString() + " trkpos_wrong " + trkpos_wrong.toString());
+ }
+
//System.out.println("trkpos = "+trkpos.toString());
//System.out.println("origin = "+corigin.toString());
@@ -679,16 +706,17 @@
Hep3Matrix trkToStrip = this.trackerHitUtil.getTrackToStripRotation(strip);
Hep3Vector vdiff = VecOp.mult(trkToStrip, vdiffTrk);
//Hep3Vector mserrrot = VecOp.mult(trkToStrip, mserr);
+ //int idiffbin = 0;
- int idiffbin = (int)Math.floor((vdiffTrk.y())/10);
- if(idiffbin<-7) {
- idiffbin = -7;
- System.out.println("WARNING vdiffTrk.y() = " + vdiffTrk.y() + " merge to -> idiffbin= " + idiffbin);
- }
- if(idiffbin>6) {
- idiffbin = 6;
- System.out.println("WARNING vdiffTrk.y() = " + vdiffTrk.y() + " merge to -> idiffbin= " + idiffbin);
- }
+ //double idiffbin = (vdiffTrk.y())/10;
+// if(idiffbin<-2) {
+// idiffbin = -2;
+// System.out.println("WARNING vdiffTrk.y() = " + vdiffTrk.y() + " merge to -> idiffbin= " + idiffbin);
+// }
+// if(idiffbin>2) {
+// idiffbin = 2;
+// System.out.println("WARNING vdiffTrk.y() = " + vdiffTrk.y() + " merge to -> idiffbin= " + idiffbin);
+// }
double umc = vdiff.x();
@@ -703,12 +731,12 @@
double wError = 10.0/Math.sqrt(12); //0.001;
//if(idiffbin==0) {
_resid[0] = umeas - umc;
- _error[0] = Math.sqrt(uError * uError + msuError * msuError);
+ _error[0] = this._includeMS ? Math.sqrt(uError * uError + msuError * msuError) : uError;
_resid[1] = vmeas - vmc;
_error[1] = vError;
_resid[2] = wmeas - wmc;
_error[2] = wError;
- if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": idiffbin= " + idiffbin + " resid[0]=" + _resid[0]);
+ //if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": idiffbin= " + idiffbin + " resid[0]=" + _resid[0]);
//} else {
// _resid[0] = 9999999.9;
//}
@@ -716,8 +744,9 @@
//Calcualte the distance from the center of the sensor
String side = corigin.z()>0. ? "top" : "bottom";
- if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": idiffbin= " + idiffbin + " filling ydiff bist with " + _resid[0]);
- aida.histogram1D("res_u_vs_ydiff_"+idiffbin+"_layer_" + strip.layer() + "_" + side).fill(_resid[0]);
+ //if(_DEBUG) System.out.println(this.getClass().getSimpleName() + ": idiffbin= " + idiffbin + " filling ydiff bist with " + _resid[0]);
+ //aida.histogram1D("res_u_vs_ydiff_"+idiffbin+"_layer_" + strip.layer() + "_" + side).fill(_resid[0]);
+ aida.profile1D("res_u_vs_ydiff_layer_" + strip.layer() + "_" + side).fill(vdiffTrk.y(),_resid[0]);
if (_DEBUG) {
System.out.println("---- " + this.getClass().getSimpleName() + " CalculateResidual ----");
@@ -1031,7 +1060,7 @@
double s = _trk.PathMap().get(hth);
Hep3Vector posOnHelix = HelixUtils.PointOnHelix(_trk, s);
double resy = hth.y() - posOnHelix.y();
- double resypull = resy/wrphi;
+ double resypull = this._includeMS ? resy/wrphi : resy/drphi_res;
String side = "top";
if (hth.getPosition()[2]<0) side = "bottom";
@@ -1059,14 +1088,25 @@
// Take the resolution uncertainty to be dr * |slope|
double dzres = hth.dr() * Math.abs(slope);
// Combine resolution and multiple scattering uncertainties in quadrature
- double dz = Math.sqrt(dzres*dzres + msdz*msdz);
+ double dz = dzres; //Math.sqrt(dzres*dzres + msdz*msdz);
aida.histogram1D("hthres_z_layer" + layer + "_" + side).fill(resz);
aida.histogram1D("hthrespull_z_layer" + layer + "_" + side).fill(resz/dz);
aida.histogram1D("hthreserr_z_layer" + layer + "_" + side).fill(dz);
aida.histogram1D("hthreserrms_z_layer" + layer + "_" + side).fill(msdz);
aida.histogram1D("hthreserrres_z_layer" + layer + "_" + side).fill(dzres);
+
+ //if(this._DEBUG) {
+ if(resy<-0.15) {
+ System.out.println(this.getClass().getSimpleName() + ": LARGE TRACK HIT RESIDUAL yres " + resy + " zres " + resz );
+ double[] pos = hth.getPosition();
+ double[] pos_cor = hth.getCorrectedPosition().v();
+ System.out.println(this.getClass().getSimpleName() + ": HelicalTrackHit at [" + pos[0] + "," + pos[1] + "," + pos[2] + "] cor : [" + pos_cor[0] + "," + pos_cor[1] + "," + pos_cor[2] + "]");
+ System.exit(1);
+ }
+ //}
+
//
// // Store the coordinates and errors for the line fit
@@ -1374,23 +1414,33 @@
plotter_chi2.setTitle("Track Chi2");
plotterFrame.addPlotter(plotter_chi2);
IHistogram hchi2_top = aida.histogram1D("Track Chi2 top",50,0,15);
- IHistogram hchi2_bot = aida.histogram1D("Track Chi2 bottom",50,0,15);
+ IHistogram hchi2_bot = aida.histogram1D("Track Chi2 bottom",50,0,3);
plotter_chi2.region(0).plot(hchi2_top);
plotter_chi2.region(1).plot(hchi2_bot);
String[] direction = {"u"};
double xbins_u_res[][] = {
- {-0.3,0.3},
- {-0.7,0.7},
- {-0.7,0.7},
- {-0.5,0.5},
- {-0.5,0.5},
- {-0.5,0.5},
- {-2,2},
- {-2,2},
- {-2,2},
- {-2,2}
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01}
+// {-0.3,0.3},
+// {-0.7,0.7},
+// {-0.7,0.7},
+// {-0.5,0.5},
+// {-0.5,0.5},
+// {-0.5,0.5},
+// {-2,2},
+// {-2,2},
+// {-2,2},
+// {-2,2}
};
double xbins_u_reserr[][] = {
{0,0.04},
@@ -1463,11 +1513,7 @@
plotter_respull_slope.style().dataStyle().fillStyle().setParameter("colorMapScheme","rainbow");
((PlotterRegion) plotter_respull_slope.region(region)).getPlot().setAllowPopupMenus(true);
- for(int idiff=-10;idiff<10;++idiff) {
-
- IHistogram hvdiff = aida.histogram1D("res_"+direction[d]+"_ydiff_"+idiff+"_layer" + (iLayer) + "_" + side[s] , 50, xbins_u_res[iLayer-1][0], xbins_u_res[iLayer-1][1]);
- }
-
+
}
//plotter_res.show();
@@ -1511,11 +1557,16 @@
plotter_hthresypullslope.setTitle("hthrespullslope_y " + side[s]);
double xbins_hthy_res[][] = {
- {-0.4,0.4},
- {-0.5,0.5},
- {-1.5,1.5},
- {-2.5,2.5},
- {-2.5,2.5}
+ {-0.05,0.05},
+ {-0.05,0.05},
+ {-0.05,0.05},
+ {-0.2,0.2},
+ {-0.05,0.05}
+// {-0.4,0.4},
+// {-0.5,0.5},
+// {-1.5,1.5},
+// {-2.5,2.5},
+// {-2.5,2.5}
};
double xbins_hthy_reserr[][] = {
{0,0.5},
@@ -1532,11 +1583,16 @@
{-4,4}
};
double xbins_hthz_res[][] = {
- {-0.03,0.03},
- {-0.8,0.8},
- {-0.8,0.8},
- {-2,2},
- {-2,2}
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01},
+ {-0.01,0.01}
+// {-0.03,0.03},
+// {-0.8,0.8},
+// {-0.8,0.8},
+// {-2,2},
+// {-2,2}
};
double xbins_hthz_reserr[][] = {
{0,0.05},
@@ -1630,116 +1686,131 @@
}
- IPlotter plotter_simhitstripres_z_t = af.createPlotterFactory().create();
- plotter_simhitstripres_z_t.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_z_b = af.createPlotterFactory().create();
- plotter_simhitstripres_z_b.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_y_t = af.createPlotterFactory().create();
- plotter_simhitstripres_y_t.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_y_b = af.createPlotterFactory().create();
- plotter_simhitstripres_y_b.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_x_t = af.createPlotterFactory().create();
- plotter_simhitstripres_x_t.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_x_b = af.createPlotterFactory().create();
- plotter_simhitstripres_x_b.createRegions(5,2,0);
-
- IPlotter plotter_simhitallstripres_z_t = af.createPlotterFactory().create();
- plotter_simhitallstripres_z_t.createRegions(5,2,0);
- IPlotter plotter_simhitallstripres_z_b = af.createPlotterFactory().create();
- plotter_simhitallstripres_z_b.createRegions(5,2,0);
- IPlotter plotter_simhitallstripres_y_t = af.createPlotterFactory().create();
- plotter_simhitallstripres_y_t.createRegions(5,2,0);
- IPlotter plotter_simhitallstripres_y_b = af.createPlotterFactory().create();
- plotter_simhitallstripres_y_b.createRegions(5,2,0);
- IPlotter plotter_simhitallstripres_x_t = af.createPlotterFactory().create();
- plotter_simhitallstripres_x_t.createRegions(5,2,0);
- IPlotter plotter_simhitallstripres_x_b = af.createPlotterFactory().create();
- plotter_simhitallstripres_x_b.createRegions(5,2,0);
-
- IPlotter plotter_simhitstripres_u_t = af.createPlotterFactory().create();
- plotter_simhitstripres_u_t.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_u_b = af.createPlotterFactory().create();
- plotter_simhitstripres_u_b.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_v_t = af.createPlotterFactory().create();
- plotter_simhitstripres_v_t.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_v_b = af.createPlotterFactory().create();
- plotter_simhitstripres_v_b.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_w_t = af.createPlotterFactory().create();
- plotter_simhitstripres_w_t.createRegions(5,2,0);
- IPlotter plotter_simhitstripres_w_b = af.createPlotterFactory().create();
- plotter_simhitstripres_w_b.createRegions(5,2,0);
-
-
- for (int iLayer=1;iLayer<11;++iLayer) {
- IHistogram h_t = aida.histogram1D("simhitstripres_z_layer" + iLayer + "_top" , 50, -4,4);
- IHistogram h_b = aida.histogram1D("simhitstripres_z_layer" + iLayer + "_bottom" , 50, -4,4);
- IHistogram h1_t = aida.histogram1D("simhitstripres_y_layer" + iLayer + "_top" , 50, -4,4);
- IHistogram h1_b = aida.histogram1D("simhitstripres_y_layer" + iLayer + "_bottom" , 50, -4,4);
- IHistogram h2_t = aida.histogram1D("simhitstripres_x_layer" + iLayer + "_top" , 50, -4,4);
- IHistogram h2_b = aida.histogram1D("simhitstripres_x_layer" + iLayer + "_bottom" , 50, -4,4);
-
- int region = iLayer-1;
- plotter_simhitstripres_z_t.region(region).plot(h_t);
- plotter_simhitstripres_z_b.region(region).plot(h_b);
- plotter_simhitstripres_y_t.region(region).plot(h1_t);
- plotter_simhitstripres_y_b.region(region).plot(h1_b);
- plotter_simhitstripres_x_t.region(region).plot(h2_t);
- plotter_simhitstripres_x_b.region(region).plot(h2_b);
-
- IHistogram ha_t = aida.histogram1D("simhitallstripres_z_layer" + iLayer + "_top" , 50, -4,4);
- IHistogram ha_b = aida.histogram1D("simhitallstripres_z_layer" + iLayer + "_bottom" , 50, -4,4);
- IHistogram ha1_t = aida.histogram1D("simhitallstripres_y_layer" + iLayer + "_top" , 50, -4,4);
- IHistogram ha1_b = aida.histogram1D("simhitallstripres_y_layer" + iLayer + "_bottom" , 50, -4,4);
- IHistogram ha2_t = aida.histogram1D("simhitallstripres_x_layer" + iLayer + "_top" , 50, -4,4);
- IHistogram ha2_b = aida.histogram1D("simhitallstripres_x_layer" + iLayer + "_bottom" , 50, -4,4);
-
-
- plotter_simhitallstripres_z_t.region(region).plot(ha_t);
- plotter_simhitallstripres_z_b.region(region).plot(ha_b);
- plotter_simhitallstripres_y_t.region(region).plot(ha1_t);
- plotter_simhitallstripres_y_b.region(region).plot(ha1_b);
- plotter_simhitallstripres_x_t.region(region).plot(ha2_t);
- plotter_simhitallstripres_x_b.region(region).plot(ha2_b);
-
- IHistogram hh_t = aida.histogram1D("simhitstripres_u_layer" + iLayer + "_top" , 50, -1,1);
- IHistogram hh_b = aida.histogram1D("simhitstripres_u_layer" + iLayer + "_bottom" , 50, -1,1);
- IHistogram hh1_t = aida.histogram1D("simhitstripres_v_layer" + iLayer + "_top" , 50, -1,1);
- IHistogram hh1_b = aida.histogram1D("simhitstripres_v_layer" + iLayer + "_bottom" , 50, -1,1);
- IHistogram hh2_t = aida.histogram1D("simhitstripres_w_layer" + iLayer + "_top" , 50, -1,1);
- IHistogram hh2_b = aida.histogram1D("simhitstripres_w_layer" + iLayer + "_bottom" , 50, -1,1);
-
- //int region = iLayer-1;
- plotter_simhitstripres_u_t.region(region).plot(hh_t);
- plotter_simhitstripres_u_b.region(region).plot(hh_b);
- plotter_simhitstripres_v_t.region(region).plot(hh1_t);
- plotter_simhitstripres_v_b.region(region).plot(hh1_b);
- plotter_simhitstripres_w_t.region(region).plot(hh2_t);
- plotter_simhitstripres_w_b.region(region).plot(hh2_b);
-
-
- }
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_z_t);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_z_b);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_y_t);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_y_b);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_x_t);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_x_b);
-
- plotterFrameSimHit.addPlotter(plotter_simhitallstripres_z_t);
- plotterFrameSimHit.addPlotter(plotter_simhitallstripres_z_b);
- plotterFrameSimHit.addPlotter(plotter_simhitallstripres_y_t);
- plotterFrameSimHit.addPlotter(plotter_simhitallstripres_y_b);
- plotterFrameSimHit.addPlotter(plotter_simhitallstripres_x_t);
- plotterFrameSimHit.addPlotter(plotter_simhitallstripres_x_b);
-
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_u_t);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_u_b);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_v_t);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_v_b);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_w_t);
- plotterFrameSimHit.addPlotter(plotter_simhitstripres_w_b);
+
+
+
+
+
+
+
+
+ if(_doSimHitsResiduals) {
+
+ IPlotter plotter_simhitstripres_z_t = af.createPlotterFactory().create();
+ plotter_simhitstripres_z_t.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_z_b = af.createPlotterFactory().create();
+ plotter_simhitstripres_z_b.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_y_t = af.createPlotterFactory().create();
+ plotter_simhitstripres_y_t.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_y_b = af.createPlotterFactory().create();
+ plotter_simhitstripres_y_b.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_x_t = af.createPlotterFactory().create();
+ plotter_simhitstripres_x_t.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_x_b = af.createPlotterFactory().create();
+ plotter_simhitstripres_x_b.createRegions(5,2,0);
+
+ IPlotter plotter_simhitallstripres_z_t = af.createPlotterFactory().create();
+ plotter_simhitallstripres_z_t.createRegions(5,2,0);
+ IPlotter plotter_simhitallstripres_z_b = af.createPlotterFactory().create();
+ plotter_simhitallstripres_z_b.createRegions(5,2,0);
+ IPlotter plotter_simhitallstripres_y_t = af.createPlotterFactory().create();
+ plotter_simhitallstripres_y_t.createRegions(5,2,0);
+ IPlotter plotter_simhitallstripres_y_b = af.createPlotterFactory().create();
+ plotter_simhitallstripres_y_b.createRegions(5,2,0);
+ IPlotter plotter_simhitallstripres_x_t = af.createPlotterFactory().create();
+ plotter_simhitallstripres_x_t.createRegions(5,2,0);
+ IPlotter plotter_simhitallstripres_x_b = af.createPlotterFactory().create();
+ plotter_simhitallstripres_x_b.createRegions(5,2,0);
+
+ IPlotter plotter_simhitstripres_u_t = af.createPlotterFactory().create();
+ plotter_simhitstripres_u_t.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_u_b = af.createPlotterFactory().create();
+ plotter_simhitstripres_u_b.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_v_t = af.createPlotterFactory().create();
+ plotter_simhitstripres_v_t.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_v_b = af.createPlotterFactory().create();
+ plotter_simhitstripres_v_b.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_w_t = af.createPlotterFactory().create();
+ plotter_simhitstripres_w_t.createRegions(5,2,0);
+ IPlotter plotter_simhitstripres_w_b = af.createPlotterFactory().create();
+ plotter_simhitstripres_w_b.createRegions(5,2,0);
+
+
+ for (int iLayer=1;iLayer<11;++iLayer) {
+ IHistogram h_t = aida.histogram1D("simhitstripres_z_layer" + iLayer + "_top" , 50, -4,4);
+ IHistogram h_b = aida.histogram1D("simhitstripres_z_layer" + iLayer + "_bottom" , 50, -4,4);
+ IHistogram h1_t = aida.histogram1D("simhitstripres_y_layer" + iLayer + "_top" , 50, -4,4);
+ IHistogram h1_b = aida.histogram1D("simhitstripres_y_layer" + iLayer + "_bottom" , 50, -4,4);
+ IHistogram h2_t = aida.histogram1D("simhitstripres_x_layer" + iLayer + "_top" , 50, -4,4);
+ IHistogram h2_b = aida.histogram1D("simhitstripres_x_layer" + iLayer + "_bottom" , 50, -4,4);
+
+ int region = iLayer-1;
+ plotter_simhitstripres_z_t.region(region).plot(h_t);
+ plotter_simhitstripres_z_b.region(region).plot(h_b);
+ plotter_simhitstripres_y_t.region(region).plot(h1_t);
+ plotter_simhitstripres_y_b.region(region).plot(h1_b);
+ plotter_simhitstripres_x_t.region(region).plot(h2_t);
+ plotter_simhitstripres_x_b.region(region).plot(h2_b);
+
+ IHistogram ha_t = aida.histogram1D("simhitallstripres_z_layer" + iLayer + "_top" , 50, -4,4);
+ IHistogram ha_b = aida.histogram1D("simhitallstripres_z_layer" + iLayer + "_bottom" , 50, -4,4);
+ IHistogram ha1_t = aida.histogram1D("simhitallstripres_y_layer" + iLayer + "_top" , 50, -4,4);
+ IHistogram ha1_b = aida.histogram1D("simhitallstripres_y_layer" + iLayer + "_bottom" , 50, -4,4);
+ IHistogram ha2_t = aida.histogram1D("simhitallstripres_x_layer" + iLayer + "_top" , 50, -4,4);
+ IHistogram ha2_b = aida.histogram1D("simhitallstripres_x_layer" + iLayer + "_bottom" , 50, -4,4);
+
+
+ plotter_simhitallstripres_z_t.region(region).plot(ha_t);
+ plotter_simhitallstripres_z_b.region(region).plot(ha_b);
+ plotter_simhitallstripres_y_t.region(region).plot(ha1_t);
+ plotter_simhitallstripres_y_b.region(region).plot(ha1_b);
+ plotter_simhitallstripres_x_t.region(region).plot(ha2_t);
+ plotter_simhitallstripres_x_b.region(region).plot(ha2_b);
+
+ IHistogram hh_t = aida.histogram1D("simhitstripres_u_layer" + iLayer + "_top" , 50, -1,1);
+ IHistogram hh_b = aida.histogram1D("simhitstripres_u_layer" + iLayer + "_bottom" , 50, -1,1);
+ IHistogram hh1_t = aida.histogram1D("simhitstripres_v_layer" + iLayer + "_top" , 50, -1,1);
+ IHistogram hh1_b = aida.histogram1D("simhitstripres_v_layer" + iLayer + "_bottom" , 50, -1,1);
+ IHistogram hh2_t = aida.histogram1D("simhitstripres_w_layer" + iLayer + "_top" , 50, -1,1);
+ IHistogram hh2_b = aida.histogram1D("simhitstripres_w_layer" + iLayer + "_bottom" , 50, -1,1);
+
+ //int region = iLayer-1;
+ plotter_simhitstripres_u_t.region(region).plot(hh_t);
+ plotter_simhitstripres_u_b.region(region).plot(hh_b);
+ plotter_simhitstripres_v_t.region(region).plot(hh1_t);
+ plotter_simhitstripres_v_b.region(region).plot(hh1_b);
+ plotter_simhitstripres_w_t.region(region).plot(hh2_t);
+ plotter_simhitstripres_w_b.region(region).plot(hh2_b);
+
+
+ }
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_z_t);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_z_b);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_y_t);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_y_b);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_x_t);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_x_b);
+
+ plotterFrameSimHit.addPlotter(plotter_simhitallstripres_z_t);
+ plotterFrameSimHit.addPlotter(plotter_simhitallstripres_z_b);
+ plotterFrameSimHit.addPlotter(plotter_simhitallstripres_y_t);
+ plotterFrameSimHit.addPlotter(plotter_simhitallstripres_y_b);
+ plotterFrameSimHit.addPlotter(plotter_simhitallstripres_x_t);
+ plotterFrameSimHit.addPlotter(plotter_simhitallstripres_x_b);
+
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_u_t);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_u_b);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_v_t);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_v_b);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_w_t);
+ plotterFrameSimHit.addPlotter(plotter_simhitstripres_w_b);
+
+ plotterFrameSimHit.pack();
+ plotterFrameSimHit.setVisible(!hideFrame);
+
+ }
IPlotter plotter_prf = af.createPlotterFactory().create();
@@ -1784,30 +1855,44 @@
plotterFrameSummary.addPlotter(plotter_prf);
- plotter_resuydiff = af.createPlotterFactory().create();
- plotter_resuydiff.createRegions(5,2,0);
- plotter_resuydiff.setTitle("res u vs ydiff");
+ plotter_resuydiff_t = af.createPlotterFactory().create();
+ plotter_resuydiff_t.createRegions(5,2,0);
+ plotter_resuydiff_t.setTitle("res u vs ydiff top");
plotter_resuydiff_b = af.createPlotterFactory().create();
plotter_resuydiff_b.createRegions(5,2,0);
- plotter_resuydiff_b.setTitle("distr: res u vs ydiff");
+ plotter_resuydiff_b.setTitle("res u vs ydiff bot");
+ //plotter_resuydiff_t_b.createRegions(5,2,0);
+ //plotter_resuydiff_b.setTitle("distr: res u vs ydiff");
for(int iLayer=1;iLayer<11;++iLayer) {
- for(int i=-7;i<7;++i) {
- IHistogram ht = aida.histogram1D("res_u_vs_ydiff_"+i+"_layer_"+iLayer+"_top",50,-0.5,0.5);
- IHistogram hb = aida.histogram1D("res_u_vs_ydiff_"+i+"_layer_"+iLayer+"_bottom",50,-0.5,0.5);
- if(i==-4) plotter_resuydiff_b.region(iLayer-1).plot(ht);
- else if(i==4||i==0) plotter_resuydiff_b.region(iLayer-1).plot(ht,"mode=overlay");
- }
- dps_resuydiff_t[iLayer-1] = dpsf.create("dps_resuydiff_layer_"+iLayer+"_t", "L"+iLayer+"u residual vs sensor v position (top)",2);
- plotter_resuydiff.region(iLayer-1).plot(dps_resuydiff_t[iLayer-1]);
- dps_resuydiff_b[iLayer-1] = dpsf.create("dps_resuydiff_layer_"+iLayer+"_b", "L"+iLayer+"u residual vs sensor v position (bot)",2);
- plotter_resuydiff.region(iLayer-1).plot(dps_resuydiff_b[iLayer-1]);
- plotter_resuydiff.style().statisticsBoxStyle().setVisible(false);
+ IProfile1D prf_t = aida.profile1D("res_u_vs_ydiff_layer_"+iLayer+"_top",10,-50,50);
+ IProfile1D prf_b = aida.profile1D("res_u_vs_ydiff_layer_"+iLayer+"_bottom",10,-50,50);
+// for(int i=-2;i<3;++i) {
+// IHistogram ht = aida.histogram1D("res_u_vs_ydiff_"+i+"_layer_"+iLayer+"_top",50,-0.5,0.5);
+// IHistogram hb = aida.histogram1D("res_u_vs_ydiff_"+i+"_layer_"+iLayer+"_bottom",50,-0.5,0.5);
+// if(i==0) plotter_resuydiff_b.region(iLayer-1).plot(ht);
+// else if(i==99990) plotter_resuydiff_b.region(iLayer-1).plot(ht,"mode=overlay");
+// }
+
+ plotter_resuydiff_t.region(iLayer-1).plot(prf_t);
+ plotter_resuydiff_b.region(iLayer-1).plot(prf_b);
+
+ ((PlotterRegion) plotter_resuydiff_t.region(iLayer-1)).getPlot().setAllowUserInteraction(true);
+ ((PlotterRegion) plotter_resuydiff_t.region(iLayer-1)).getPlot().setAllowPopupMenus(true);
+ ((PlotterRegion) plotter_resuydiff_b.region(iLayer-1)).getPlot().setAllowUserInteraction(true);
+ ((PlotterRegion) plotter_resuydiff_b.region(iLayer-1)).getPlot().setAllowPopupMenus(true);
+
+ //plotter_resuydiff_t.style().statisticsBoxStyle().setVisible(false);
+// dps_resuydiff_t[iLayer-1] = dpsf.create("dps_resuydiff_layer_"+iLayer+"_t", "L"+iLayer+"u residual vs sensor v position (top)",2);
+// plotter_resuydiff.region(iLayer-1).plot(dps_resuydiff_t[iLayer-1]);
+// dps_resuydiff_b[iLayer-1] = dpsf.create("dps_resuydiff_layer_"+iLayer+"_b", "L"+iLayer+"u residual vs sensor v position (bot)",2);
+// plotter_resuydiff.region(iLayer-1).plot(dps_resuydiff_b[iLayer-1]);
+// plotter_resuydiff.style().statisticsBoxStyle().setVisible(false);
}
- plotterFrameSummary.addPlotter(plotter_resuydiff);
+ plotterFrameSummary.addPlotter(plotter_resuydiff_t);
plotterFrameSummary.addPlotter(plotter_resuydiff_b);
@@ -1820,8 +1905,6 @@
plotterFrameHTH.setVisible(!hideFrame);
plotterFrameSummary.pack();
plotterFrameSummary.setVisible(!hideFrame);
- plotterFrameSimHit.pack();
- plotterFrameSimHit.setVisible(!hideFrame);
@@ -1974,32 +2057,34 @@
}
-
+ /*
for(int iLayer=1;iLayer<11;++iLayer) {
dps_resuydiff_t[iLayer-1].clear();
dps_resuydiff_b[iLayer-1].clear();
- for(int i=-7;i<7;++i) {
+ for(int i=-2;i<3;++i) {
IHistogram1D h = aida.histogram1D("res_u_vs_ydiff_"+i+"_layer_"+iLayer+"_top");
dps_resuydiff_t[iLayer-1].addPoint();
- dps_resuydiff_t[iLayer-1].point(i+7).coordinate(1).setValue(h.mean());
+ dps_resuydiff_t[iLayer-1].point(i+2).coordinate(1).setValue(h.mean());
double N = h.entries();
double error = N>0 ? h.rms()/Math.sqrt(N) : 0;
- double vdiff = -i*10.0+0.5;
- dps_resuydiff_t[iLayer-1].point(i+7).coordinate(1).setValue(h.mean());
- dps_resuydiff_t[iLayer-1].point(i+7).coordinate(1).setErrorPlus(error);
- dps_resuydiff_t[iLayer-1].point(i+7).coordinate(0).setValue(vdiff);
+ double vdiff = -i*25.0;
+ dps_resuydiff_t[iLayer-1].point(i+2).coordinate(1).setValue(h.mean());
+ dps_resuydiff_t[iLayer-1].point(i+2).coordinate(1).setErrorPlus(error);
+ dps_resuydiff_t[iLayer-1].point(i+2).coordinate(0).setValue(vdiff);
IHistogram1D hb = aida.histogram1D("res_u_vs_ydiff_"+i+"_layer_"+iLayer+"_bottom");
dps_resuydiff_b[iLayer-1].addPoint();
- dps_resuydiff_b[iLayer-1].point(i+7).coordinate(1).setValue(hb.mean());
+ dps_resuydiff_b[iLayer-1].point(i+2).coordinate(1).setValue(hb.mean());
N = hb.entries();
error = N>0 ? hb.rms()/Math.sqrt(N) : 0;
- dps_resuydiff_b[iLayer-1].point(i+7).coordinate(1).setValue(hb.mean());
- dps_resuydiff_b[iLayer-1].point(i+7).coordinate(1).setErrorPlus(error);
- dps_resuydiff_b[iLayer-1].point(i+7).coordinate(0).setValue(vdiff);
+ dps_resuydiff_b[iLayer-1].point(i+2).coordinate(1).setValue(hb.mean());
+ dps_resuydiff_b[iLayer-1].point(i+2).coordinate(1).setErrorPlus(error);
+ dps_resuydiff_b[iLayer-1].point(i+2).coordinate(0).setValue(vdiff);
}
}
+ *
+ */