Print

Print


Commit in lcsim/src/org/lcsim/contrib/NickSinev/event/util on MAIN
SmearTrackerHits.java+26-111.3 -> 1.4
Nick Sinev. Some small modifications (or may be nothing at all, just file was edited during debugging)

lcsim/src/org/lcsim/contrib/NickSinev/event/util
SmearTrackerHits.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- SmearTrackerHits.java	8 Sep 2006 00:51:10 -0000	1.3
+++ SmearTrackerHits.java	2 Dec 2006 02:41:07 -0000	1.4
@@ -23,7 +23,7 @@
 
 /**
  * @author sinev U of Oregon; SLAC x2970; [log in to unmask]
- * @version $Id: SmearTrackerHits.java,v 1.3 2006/09/08 00:51:10 sinev Exp $
+ * @version $Id: SmearTrackerHits.java,v 1.4 2006/12/02 02:41:07 sinev Exp $
  */
 public class SmearTrackerHits extends Driver
 {
@@ -33,7 +33,7 @@
         private double evtxClSpanDS = 0.1;
         private double btrkClSpanR = 0.5;
         private double btrkClSpanCS = 0.5;
-        private double etrkClSpanZ = 0.5;
+        private double etrkClSpanZ = 1.0;
         private double etrkClSpanDS = 0.5;
 	private Vector svbhits = null ;
         private Vector svehits = null;
@@ -90,8 +90,9 @@
         public void setVtxECHitClustTransSpan(double tsp) { evtxClSpanDS = tsp; }
         public void setTrkBarrHitClustRSpan(double rsp) { btrkClSpanR = rsp; }
         public void setTrkBarrHitClustTransSpan(double tsp) { btrkClSpanCS = tsp; }
-        public void setTrkECHitClustRZpan(double zsp) { etrkClSpanZ = zsp; }
+        public void setTrkECHitClustZpan(double zsp) { etrkClSpanZ = zsp; }
         public void setTrkECHitClustTransSpan(double tsp) { etrkClSpanDS = tsp; }
+        public void setDoHist(boolean set) { doHist = set;}
         public double getVtxBarrRPResolution() { return vtxbarRPhism; }
         public double getVtxBarrZResolution() { return vtxbarZsm;}
         public double getVtxECRPResolution() { return vtxecRPhism;}
@@ -128,6 +129,13 @@
 	  {
            nsvbhts++;   
            boolean newcl = true;   
+           double[] htc = th.getPoint();
+           double rht = Math.sqrt(htc[0]*htc[0]+htc[1]*htc[1]);
+           if(doHist)
+           {
+            if((rht < 14.2) && (rht > 14.))
+             aida.cloud1D("SmearTrackerHits/radial positions of VXD bar. hits").fill(rht);
+           }  
            if(svbclst.size()>0)
            {
             for(int i=0; i<svbclst.size(); i++)
@@ -138,9 +146,7 @@
              if(mcpc == mcph)
              {
               double[] clcc = cof.getCenter();
-              double[] htc = th.getPoint();
               double rcl = Math.sqrt(clcc[0]*clcc[0]+clcc[1]*clcc[1]);
-              double rht = Math.sqrt(htc[0]*htc[0]+htc[1]*htc[1]);
               double dr = rcl-rht;
               if(Math.abs(dr)<bvtxClSpanR)
               {
@@ -174,18 +180,23 @@
            {
             ClusterOfHits clhts = (ClusterOfHits) svbclst.get(i);   
            double[] pnt = clhts.getCenter();
+           double[] opnt = new double[3];
+           for(int j=0; j<3; j++) opnt[j]=pnt[j]; 
            double[] cvm = new double[6];
            double r = Math.sqrt(pnt[0]*pnt[0]+pnt[1]*pnt[1]);
            SmearedTrackerHit smht = new SmearedTrackerHit(pnt,cvm,clhts.getTime(),clhts.getdEdx(),1,clhts.getHits());
            smsi = 1.;
            for(int j=0; j<3; j++) oldcor[j]=smht.getPoint()[j];
            sRh = vtxbarRPhism * ran.nextGaussian();
-           if(sRh < 0.) smsi = -1.;    
-           sZ = vtxbarZsm * ran.nextGaussian();
+           if(sRh < 0.) smsi = -1.;
+           double vtxbefzsm = 0.;
+           double tlse = Math.abs(pnt[2])/r;
+           vtxbefzsm = Math.sqrt(vtxbarZsm*vtxbarZsm+(0.000016*tlse*tlse));
+           sZ = vtxbefzsm * ran.nextGaussian();
            sR = 0.;
            if(doSmear) smht.smear(sRh,sZ,sR); 
            V[0] = vtxbarRPhism * vtxbarRPhism;
-           V[1] = vtxbarZsm * vtxbarZsm;
+           V[1] = vtxbefzsm * vtxbefzsm;
            V[2] = 0.;
            tcm = cmt.cyl2Cart(V,smht.getPoint());
            smht.setCovMatrix(tcm);
@@ -193,9 +204,13 @@
            double[] newcor = smht.getPoint();
            if(doHist)
            {
-            aida.cloud1D("SmearTrackerHits/smear in VXD XY-dir").fill(smsi*1000.*Math.sqrt((newcor[0]-oldcor[0])*(newcor[0]-oldcor[0])+
-             (newcor[1]-oldcor[1])*(newcor[1]-oldcor[1])));
-            aida.cloud1D("SmearTrackerHits/smear in VXD Z-dir").fill(1000.*(newcor[2]-oldcor[2]));
+            aida.cloud1D("SmearTrackerHits/smear in VXD XY-dir").fill(smsi*1000.*Math.sqrt((newcor[0]-opnt[0])*(newcor[0]-opnt[0])+
+             (newcor[1]-opnt[1])*(newcor[1]-opnt[1])));
+            aida.cloud1D("SmearTrackerHits/smear in VXD Z-dir").fill(1000.*(newcor[2]-opnt[2]));
+            int nhinc = clhts.getNHits();
+            aida.cloud1D("SmearTrackerHits/nhits in bar. VXD cluster").fill(nhinc);
+            double dedx = clhts.getdEdx();
+            if(dedx < 0.00003) aida.cloud1D("SmearTrackerHits/total dEdx in bar. VXD cluster").fill(dedx);   
            }
           }
           }
CVSspam 0.2.8