Commit in hps-java/src/main/java/org/lcsim/hps/users/phansson on MAIN
FastTrackResidualDriver.java+26-121.5 -> 1.6
Fixed bug in selecting ecal cluster.

hps-java/src/main/java/org/lcsim/hps/users/phansson
FastTrackResidualDriver.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- FastTrackResidualDriver.java	9 May 2012 17:24:15 -0000	1.5
+++ FastTrackResidualDriver.java	11 May 2012 15:49:20 -0000	1.6
@@ -86,7 +86,7 @@
         ecalBeamgapCorr = 20.0;
         
         // Position of the conversion
-        conversionZ = -1400.0; 
+        conversionZ = -1500.0; 
         
         ecalClusterSel = 1;
         
@@ -97,8 +97,8 @@
             else side="down";
             
             ncl_ecal.add(hf.createHistogram1D("FT_ncl_ecal_" + side , 20, 0, 20));
-            selcl_ecal_e.add(hf.createHistogram1D("FT_selcl_ecal_e" + side , 100, 0, 20000));
-            cl_ecal_e.add(hf.createHistogram1D("FT_cl_ecal_e" + side , 100, 0, 20000));
+            selcl_ecal_e.add(hf.createHistogram1D("FT_selcl_ecal_e" + side , 100, 0, 4000));
+            cl_ecal_e.add(hf.createHistogram1D("FT_cl_ecal_e" + side , 100, 0, 4000));
            
 
             nhits_tracker.add(hf.createHistogram1D("FT_nhits_tracker_" + side , 15, 0, 15));
@@ -170,7 +170,7 @@
     
     public void setecalBeamgapCorr(double val) {
         this.ecalBeamgapCorr = val;
-        System.out.println("offset set: "  + ecalBeamgapCorr);
+        System.out.println("beamgap corr set: "  + ecalBeamgapCorr);
     }
 
     public void setDebug(boolean flag) {
@@ -183,10 +183,12 @@
 
     public void setEcalZPosition(double val) {
         this.EcalZPosition = val;
+        System.out.println("EcalZPosition set: "  + EcalZPosition);
     }
     
     public void setEcalClusterSel(int id) {
         this.ecalClusterSel = id;
+        System.out.println("ecalClusterSel set: "  + ecalClusterSel);
     }
     
     
@@ -263,22 +265,28 @@
             
             //Fill map of Ecal hits
             for( int icl=0; icl<ecal_cls.size(); ++icl) {
+                if(debug) System.out.println("icl " + icl);
                 int clid = ecal_cls.get(icl); 
+                if(debug) System.out.println("clid " + clid + " all clusters size " + ecal_all_clusters.size());
                 double p_cl[] = ecal_all_clusters.get(clid).getPosition();
                 int clpos[] = getCrystalPair(p_cl);
+                if(debug) System.out.println("clpos " + clpos[0] + "," + clpos[1]);
                 ncl_ecal_map.get(iSide).fill(clpos[0], clpos[1]);
+                if(debug) System.out.println("clpos " + clpos[0] + "," + clpos[1]);
                 cl_ecal_e.get(iSide).fill(ecal_all_clusters.get(icl).getEnergy());
             }
             
             sel_ecal_idx = selectCluster(ecal_cls,ecal_all_clusters); 
             
-            if (debug) System.out.println("Selected clid " + sel_ecal_idx + " is cluster " + ecal_all_clusters.get(sel_ecal_idx).toString() + " and will be used as pointer of fast track ");
             
             if (sel_ecal_idx < 0) {
                 if (debug) System.out.println("No selected cluster!");
                 continue;
             }
             
+            if (debug) System.out.println("Selected clid " + sel_ecal_idx + " is cluster " + ecal_all_clusters.get(sel_ecal_idx).toString() + " and will be used as pointer of fast track ");
+            
+            
              
             selclids = getCrystalPair(ecal_all_clusters.get(sel_ecal_idx).getPosition());
             nselcl_ecal_map.get(iSide).fill(selclids[0], selclids[1]);
@@ -503,6 +511,7 @@
     private int selectCluster(List<Integer> ids, List<HPSEcalCluster> clusters) {
         //need to decide which cluster to take
 
+        
         if (clusters.size()==0) {
             throw new RuntimeException("No clusters to select from!!!");
         }
@@ -511,14 +520,18 @@
             throw new RuntimeException("No idx to clusters to select from!!!");
         }
         
+        if(debug) {
+            System.out.println("Select among " + clusters.size() + " clusters restricted to indexes" + ids.toString());
+        }
+        
         int sel_id = -1;
         
         switch (ecalClusterSel) {
             case 1: 
-                //Require at least 3000MeV cluster
+                //Require at least 1000MeV cluster
                 double E = -1.0;
                 for (int i=0;i<ids.size();++i) {
-                    if (clusters.get(ids.get(i)).getEnergy()>3000.0 && clusters.get(ids.get(i)).getEnergy()>E ) {
+                    if (clusters.get(ids.get(i)).getEnergy()>1000.0 && clusters.get(ids.get(i)).getEnergy()>E ) {
                         sel_id = ids.get(i);
                         E = clusters.get(ids.get(i)).getEnergy();
                     }
@@ -531,7 +544,8 @@
                 }
                 break;
         }
-                
+        if (debug) System.out.println("Selected ecal cluster id  " + sel_id);
+        
         return sel_id;        
            
     }
@@ -609,7 +623,7 @@
         return nhits;
     }   
      
-      private int[] getNAxialHitsPerLayer(List<SiTrackerHitStrip1D> trackerHits, String side) {
+      public int[] getNAxialHitsPerLayer(List<SiTrackerHitStrip1D> trackerHits, String side) {
         int nhits=0;
         String si_side;
         SiSensor siSensor;
@@ -665,9 +679,9 @@
             int ilayer = -1;// = Integer.parseInt(layer.substring(layer.length()-1));
             if (name.contains("layer")) {
                 
-                String l = name.substring(13);
-                l = l.substring(0, l.indexOf("_"));
-                ilayer = Integer.parseInt(l);
+                //String str_l = name.substring(13);
+            String str_l = name.substring(name.indexOf("layer")+5, name.indexOf("_module"));
+            ilayer = Integer.parseInt(str_l);
                
                 if ( ilayer < 1 || ilayer > 10 ) {
                     System.out.println("This layer doesn't exist?");
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