Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection on MAIN
DualCorrection.java+4-21.7 -> 1.8
Resolution.java+14-161.7 -> 1.8
+18-18
2 modified files


lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection
DualCorrection.java 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- DualCorrection.java	15 Dec 2009 23:11:36 -0000	1.7
+++ DualCorrection.java	16 Dec 2009 22:43:37 -0000	1.8
@@ -50,6 +50,7 @@
     double E_in;
     Integer Ein;
     Integer Ein_prev;
+    String Part_prev;
     double E_kin;
     String Particlename;
     ICloud1D Edep;
@@ -162,8 +163,7 @@
         Ein = (int) Math.floor(E_kin + 0.5d);
         String E_str = Ein.toString();
         DirName = Particlename.concat(E_str);
-
-        if (Ein != Ein_prev) {
+        if (Ein != Ein_prev||Particlename.equals(Part_prev)!=true) {
             if (first) {
                 first = false;
             } else {
@@ -172,6 +172,7 @@
                 convertandfit(slice, conv_slice);
             }
             Ein_prev = Ein;
+            Part_prev = Particlename;
             System.out.println("First Event:");
             System.out.println("E_in:  " + E_in);
             System.out.println("E_kin:  " + E_kin);
@@ -424,6 +425,7 @@
     public void setMyIonizationThres(Double IonizationThres) {
         this.IonizationThres = IonizationThres;
     }
+
     double roundTwoDecimals(double d) {
         DecimalFormat twoDForm = new DecimalFormat("#.##");
         return Double.valueOf(twoDForm.format(d));

lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection
Resolution.java 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- Resolution.java	16 Dec 2009 17:06:23 -0000	1.7
+++ Resolution.java	16 Dec 2009 22:43:37 -0000	1.8
@@ -50,21 +50,23 @@
     ICloud1D Edep_cor;
     ICloud1D Edep_dcor;
     ICloud1D Eceren_cor;
-    double nsigmas;
-    int nbins;
+    double nsigmas=5.0;
+    int nbins=100;
     IDataPointSet[] dps_Correctede = null;
     int point_Correctede[];
-    int point;
-    int point_Correctedemean;
     double[] result;
     double errors[];
-    String[] Fitters = {"Chi2", "leastsquares", "bml", "cleverchi2"};
+    String[] Fitters = {"Chi2", "leastsquares"};
+    // available are "Chi2", "leastsquares", "bml", "cleverchi2"
+    // but "bml", "cleverchi2" seem to produce rubish
+
     IFitter jminuit;
     IFitResult jminuitResult;
     IFunction E_cor;
     IFunction C_cor;
     IFunction D_cor;
     double xval[] = {10.};
+
     //
     // default detector configuration:
     //
@@ -106,9 +108,6 @@
         Ein_prev = 0;
         firstEvent = true;
         first = true;
-        // Create a two dimensional IDataPointSet.
-        point = 0;
-        point_Correctedemean = 0;
         gauss = functionFactory.createFunctionByName("gauss", "G");
         fstream = null;
         try {
@@ -141,7 +140,6 @@
         DirName = Particlename.concat(E_str);
         if (Ein != Ein_prev) {
             if (first) {
-                System.out.println("Hi Hi");
                 first = false;
             } else {
                 System.out.println("E_in:  " + E_in);
@@ -160,7 +158,7 @@
             ECeren = aida.histogramFactory().createCloud1D("ECeren", "uncorrected Cerenkov Cloud", 100000, "autoConvert = false");
             Edep = aida.histogramFactory().createCloud1D("Edep", "Energy Cloud", 100000, "autoConvert = false");
             Edep_cor = aida.histogramFactory().createCloud1D("Edep_cor", "corrected Energy Cloud", 100000, "autoConvert = false");
-            Edep_dcor = aida.histogramFactory().createCloud1D("Edep_dcor", "new dual readout corrected Energy Cloud", 100000, "autoConvert = false");
+            Edep_dcor = aida.histogramFactory().createCloud1D("Edep_dcor", "dual readout corrected Energy Cloud", 100000, "autoConvert = false");
             Eceren_cor = aida.histogramFactory().createCloud1D("Eceren_cor", "corrected Cerenkov Cloud", 100000, "autoConvert = false");
             System.out.println("DirName:  " + DirName);
         }
@@ -228,19 +226,14 @@
         if (Edep_dcor.isConverted()) {
             Edep_dcor_conv = Edep_dcor.histogram();
         } else {
-            System.out.println("Converting Edep_dcor");
-
             double meanc = Edep_dcor.mean();
             double rmsc = Edep_dcor.rms();
-            nsigmas = 5.;
-            nbins = 100;
             double minx = meanc - nsigmas * rmsc;
             double maxx = meanc + nsigmas * rmsc;
             Edep_dcor.setConversionParameters(nbins, minx, maxx);
             Edep_dcor.convertToHistogram();
             Edep_dcor_conv = Edep_dcor.histogram();
         }
-
         gauss.setParameter("amplitude", Edep_dcor_conv.maxBinHeight());
         gauss.setParameter("mean", Edep_dcor_conv.mean());
         gauss.setParameter("sigma", Edep_dcor_conv.rms());
@@ -327,5 +320,10 @@
     public void setMyIonizationThres(Double IonizationThres) {
         this.IonizationThres = IonizationThres;
     }
-
+    public void setMynsigmas(double nsigmas) {
+        this.nsigmas = nsigmas;
+    }
+      public void setMynbins(int nsigmas) {
+        this.nbins = nbins;
+    }
 }
CVSspam 0.2.8