Print

Print


Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection on lcsim-contrib-1_1
DualCorrection.java+18-181.1.2.2 -> 1.1.2.3
work in progress:

lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection
DualCorrection.java 1.1.2.2 -> 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- DualCorrection.java	25 Sep 2009 19:33:38 -0000	1.1.2.2
+++ DualCorrection.java	25 Sep 2009 21:02:07 -0000	1.1.2.3
@@ -143,7 +143,7 @@
                 first = false;
             } else {
                 fitprofile(aida.profile1D("ratio"));
-                convertandfit();
+                convertandfit(slice,conv_slice);
             }
             Ein_prev = Ein;
             System.out.println("First Event:");
@@ -228,10 +228,10 @@
     protected void endOfData() {
         System.out.println("End of Data:");
         fitprofile(aida.profile1D("ratio"));
-        convertandfit();
+        convertandfit(slice,conv_slice);
         aida.tree().cd("/");
         fitprofile(prof_combined);
-        convertandfit();
+        convertandfit(slice_comb,conv_slice_comb);
         try {
             out.close();
         } catch (IOException ex) {
@@ -284,41 +284,41 @@
         }
     }
 
-    protected void convertandfit() {
+    protected void convertandfit(ICloud1D[] slices,IHistogram1D[] conv_slices) {
         System.out.println("convert and fit:");
         try {
             out.write(Particlename + "  " + Ein_prev + " GeV\n");
         } catch (IOException ex) {
             Logger.getLogger(DualCorrection.class.getName()).log(Level.SEVERE, null, ex);
         }
-        for (int i = 0; i < slice.length - 3; i++) {
-            if (slice[i].isConverted()) {
-                conv_slice[i] = slice[i].histogram();
+        for (int i = 0; i < slices.length - 3; i++) {
+            if (slices[i].isConverted()) {
+                conv_slices[i] = slices[i].histogram();
             } else {
                 System.out.println("Converting EDep");
-                double meanc = slice[i].mean();
-                double rmsc = slice[i].rms();
+                double meanc = slices[i].mean();
+                double rmsc = slices[i].rms();
                 nsigmas = 3.;
                 nbins = 100;
                 double minx = meanc - nsigmas * rmsc;
                 double maxx = meanc + nsigmas * rmsc;
-                slice[i].setConversionParameters(nbins, minx, maxx);
-                slice[i].convertToHistogram();
-                conv_slice[i] = slice[i].histogram();
+                slices[i].setConversionParameters(nbins, minx, maxx);
+                slices[i].convertToHistogram();
+                conv_slices[i] = slices[i].histogram();
             }
-            int entries = conv_slice[i].entries();
+            int entries = conv_slices[i].entries();
             if (entries > 100) {
                 for (int ii = 0; ii < Fitters.length; ii++) {
                     System.out.println("Fitter:  " + Fitters[ii]);
-                    gauss.setParameter("amplitude", conv_slice[i].maxBinHeight());
-                    gauss.setParameter("mean", conv_slice[i].mean());
-                    gauss.setParameter("sigma", conv_slice[i].rms());
+                    gauss.setParameter("amplitude", conv_slices[i].maxBinHeight());
+                    gauss.setParameter("mean", conv_slices[i].mean());
+                    gauss.setParameter("sigma", conv_slices[i].rms());
                     jminuit = fitFactory.createFitter(Fitters[ii], "jminuit");
-                    jminuitResult = jminuit.fit(conv_slice[i], gauss);
+                    jminuitResult = jminuit.fit(conv_slices[i], gauss);
                     System.out.println("jminuit " + Fitters[ii] + ":  " + jminuitResult.quality());
                     result = jminuitResult.fittedParameters();
                     errors = jminuitResult.errors();
-                    String functionname = "ratio fitted gauss  slice: " + i + "  " + Fitters[ii];
+                    String functionname = "ratio fitted gauss  slices: " + i + "  " + Fitters[ii];
                     System.out.println(functionname);
                     functionFactory.cloneFunction(functionname, jminuitResult.fittedFunction());
                     System.out.println(result[0] + "," + result[1] + "," + result[2]);
CVSspam 0.2.8