Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection on MAIN
DetectorConfiguration.java+103added 1.1
Resolution.java+31-351.3 -> 1.4
+134-35
1 added + 1 modified, total 2 files
 add DetectorConfiguration class

lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection
DetectorConfiguration.java added at 1.1
diff -N DetectorConfiguration.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ DetectorConfiguration.java	15 Dec 2009 20:19:03 -0000	1.1
@@ -0,0 +1,103 @@
+package org.lcsim.contrib.HansWenzel.DualCorrection;
+
+/**
+ *
+ * @author wenzel
+ */
+public class DetectorConfiguration {
+
+    private String Detector;
+    private String Material;
+    private Double Density;
+    private Double rindex;
+    private String CollectionName;
+    private Double CerenkovThres;
+    private Double IonizationThres;
+    private String PhysicsList;
+
+    public DetectorConfiguration(String d, String m, Double den, Double r, String n, Double Ct, Double It, String pl) {
+        Detector = d;
+        Material = m;
+        Density = den;
+        rindex = r;
+        CollectionName = n;
+        CerenkovThres = Ct;
+        IonizationThres = It;
+        PhysicsList = pl;
+    }
+
+    public void print() {
+        System.out.println("Detector:            " + Detector);
+        System.out.println("Material:            " + Material);
+        System.out.println("Density:             " + Density);
+        System.out.println("Refraction Index:    " + rindex);
+        System.out.println("Collection Name:     " + CollectionName);
+        System.out.println("Cerenkov Threshold:  " + CerenkovThres);
+        System.out.println("Ionization Theshold: " + IonizationThres);
+        System.out.println("Physics List:        " + PhysicsList);
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if ((o instanceof DetectorConfiguration) &&
+                (((DetectorConfiguration) o).getDetector().equals(Detector)) &&
+                (((DetectorConfiguration) o).getMaterial().equals(Material)) &&
+                (((DetectorConfiguration) o).getDensity().compareTo(Density) == 0) &&
+                (((DetectorConfiguration) o).getrindex().compareTo(rindex) == 0) &&
+                (((DetectorConfiguration) o).getCollectionName().equals(CollectionName)) &&
+                (((DetectorConfiguration) o).getCerenkovThres().compareTo(CerenkovThres) == 0) &&
+                (((DetectorConfiguration) o).getIonizationThres().compareTo(IonizationThres) == 0) &&
+                (((DetectorConfiguration) o).getPhysicsList().equals(PhysicsList))) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = 7;
+        hash = 53 * hash + (this.Detector != null ? this.Detector.hashCode() : 0);
+        hash = 53 * hash + (this.Material != null ? this.Material.hashCode() : 0);
+        hash = 53 * hash + (this.Density != null ? this.Density.hashCode() : 0);
+        hash = 53 * hash + (this.rindex != null ? this.rindex.hashCode() : 0);
+        hash = 53 * hash + (this.CollectionName != null ? this.CollectionName.hashCode() : 0);
+        hash = 53 * hash + (this.CerenkovThres != null ? this.CerenkovThres.hashCode() : 0);
+        hash = 53 * hash + (this.IonizationThres != null ? this.IonizationThres.hashCode() : 0);
+        hash = 53 * hash + (this.PhysicsList != null ? this.PhysicsList.hashCode() : 0);
+        return hash;
+    }
+
+    public String getDetector() {
+        return Detector;
+    }
+
+    public String getMaterial() {
+        return Material;
+    }
+
+    public Double getDensity() {
+        return Density;
+    }
+
+    public Double getrindex() {
+        return rindex;
+    }
+
+    public String getCollectionName() {
+        return CollectionName;
+    }
+
+    public Double getCerenkovThres() {
+        return CerenkovThres;
+    }
+
+    public Double getIonizationThres() {
+        return IonizationThres;
+    }
+
+    public String getPhysicsList() {
+        return PhysicsList;
+    }
+}
+

lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection
Resolution.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- Resolution.java	14 Dec 2009 21:53:15 -0000	1.3
+++ Resolution.java	15 Dec 2009 20:19:03 -0000	1.4
@@ -36,7 +36,7 @@
     BufferedWriter out;
     IFunctionFactory functionFactory;
     IFitFactory fitFactory;
-    IDataPointSetFactory dpsf;
+    IDataPointSetFactory dpsFactory;
     IFunction gauss;
     static boolean first;
     static boolean firstEvent;
@@ -49,7 +49,6 @@
     ICloud1D ECeren;
     ICloud1D Edep_cor;
     ICloud1D Edep_dcor;
-    ICloud1D Edep_dcor_new;
     ICloud1D Eceren_cor;
     double nsigmas;
     int nbins;
@@ -76,16 +75,15 @@
         point_Correctede = new int[Fitters.length];
         fitFactory = aida.analysisFactory().createFitFactory();
         functionFactory = aida.analysisFactory().createFunctionFactory(aida.tree());
-        dpsf = aida.analysisFactory().createDataPointSetFactory(aida.tree());
+        dpsFactory = aida.analysisFactory().createDataPointSetFactory(aida.tree());
         for (int i = 0; i < Fitters.length; i++) {
             String dpsname = "dps_Correctede_" + Fitters[i];
             point_Correctede[i] = 0;
-            dps_Correctede[i] = dpsf.create(dpsname, "electron response mean", 2);
+            dps_Correctede[i] = dpsFactory.create(dpsname, "electron response mean", 2);
         }
         E_cor = Electron_digisCorrection();
         //Electron_digis_QGSP_BERT_Correction();
         C_cor = Cerenkov_digisCorrection();
-        //Cerenkov_digis_QGSP_BERT_Correction();
         D_cor = Dual_Correction();
         D_cor_digis = Dual_Correction_digis_ccal02_d15();
         //Dual_Correction_digis_QGSP_BERT();
@@ -109,7 +107,6 @@
     protected void process(EventHeader event) {
         E_in = 0.0;
         E_kin = 0.0;
-        //       System.out.println(event.getEventNumber());
         String DirName = null;
         List<MCParticle> particles = event.get(MCParticle.class, event.MC_PARTICLES);
         for (MCParticle particle : particles) {
@@ -124,7 +121,7 @@
         }
         Ein = (int) Math.floor(E_kin + 0.5d);
         String E_str = Ein.toString();
- 
+
         DirName = Particlename.concat(E_str);
         if (Ein != Ein_prev) {
             if (first) {
@@ -147,8 +144,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", "dual readout corrected Energy Cloud", 100000, "autoConvert = false");
-            Edep_dcor_new = aida.histogramFactory().createCloud1D("Edep_dcor_new", "new dual readout corrected Energy Cloud", 100000, "autoConvert = false");
+            Edep_dcor = aida.histogramFactory().createCloud1D("Edep_dcor", "new 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);
         }
@@ -181,14 +177,14 @@
         Eceren_cor.fill(sumECeren_cor);
         double ratio = sumECeren_cor / sumEEdep_cor;
         double fraction = sumEEdep_cor / E_in;
-        if (ratio>1.) {
-                  System.out.println(ratio);
+        double cfac;
+        if (ratio < 1.) {
+            xval[0] = ratio;
+            cfac = D_cor_digis.value(xval);
+        } else {
+            cfac = 1.0;
         }
-        xval[0] = ratio;
-//        double cfac = D_cor.value(xval);
-//        Edep_dcor.fill(sumEEdep_cor / cfac);
-        double cfac = D_cor_digis.value(xval);
-        Edep_dcor_new.fill(sumEEdep_cor / cfac);
+        Edep_dcor.fill(sumEEdep_cor / cfac);
     }
 
     @Override
@@ -205,47 +201,47 @@
     @Override
     protected void resume() {
         System.out.println("resume:");
-        firstEvent =true;
+        firstEvent = true;
         aida.cloud1D("c_Edep_energy").reset();
     }
 
     protected void convertandfit() {
         System.out.println("convert and fit:");
-        IHistogram1D Edep_dcor_new_conv;
+        IHistogram1D Edep_dcor_conv;
 
-        if (Edep_dcor_new.isConverted()) {
-            Edep_dcor_new_conv = Edep_dcor_new.histogram();
+        if (Edep_dcor.isConverted()) {
+            Edep_dcor_conv = Edep_dcor.histogram();
         } else {
-            System.out.println("Converting Edep_dcor_new");
+            System.out.println("Converting Edep_dcor");
 
-            double meanc = Edep_dcor_new.mean();
-            double rmsc = Edep_dcor_new.rms();
+            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_new.setConversionParameters(nbins, minx, maxx);
-            Edep_dcor_new.convertToHistogram();
-            Edep_dcor_new_conv = Edep_dcor_new.histogram();
+            Edep_dcor.setConversionParameters(nbins, minx, maxx);
+            Edep_dcor.convertToHistogram();
+            Edep_dcor_conv = Edep_dcor.histogram();
         }
 
-        gauss.setParameter("amplitude", Edep_dcor_new_conv.maxBinHeight());
-        gauss.setParameter("mean", Edep_dcor_new_conv.mean());
-        gauss.setParameter("sigma", Edep_dcor_new_conv.rms());
+        gauss.setParameter("amplitude", Edep_dcor_conv.maxBinHeight());
+        gauss.setParameter("mean", Edep_dcor_conv.mean());
+        gauss.setParameter("sigma", Edep_dcor_conv.rms());
         try {
             out.write(Particlename + "  " + Ein_prev + " GeV\n");
-            out.write(Edep_dcor_new_conv.maxBinHeight() + "," + Edep_dcor_new_conv.mean() + "," + Edep_dcor_new_conv.rms() + "\n");
+            out.write(Edep_dcor_conv.maxBinHeight() + "," + Edep_dcor_conv.mean() + "," + Edep_dcor_conv.rms() + "\n");
         } catch (IOException ex) {
             Logger.getLogger(Resolution.class.getName()).log(Level.SEVERE, null, ex);
         }
 
-        for (int i = 0; i <Fitters.length; i++) {
+        for (int i = 0; i < Fitters.length; i++) {
             System.out.println("Fitter:  " + Fitters[i]);
-            gauss.setParameter("amplitude", Edep_dcor_new_conv.maxBinHeight());
-            gauss.setParameter("mean", Edep_dcor_new_conv.mean());
-            gauss.setParameter("sigma", Edep_dcor_new_conv.rms());
+            gauss.setParameter("amplitude", Edep_dcor_conv.maxBinHeight());
+            gauss.setParameter("mean", Edep_dcor_conv.mean());
+            gauss.setParameter("sigma", Edep_dcor_conv.rms());
             jminuit = fitFactory.createFitter(Fitters[i], "jminuit");
-            jminuitResult = jminuit.fit(Edep_dcor_new_conv, gauss);
+            jminuitResult = jminuit.fit(Edep_dcor_conv, gauss);
             System.out.println("jminuit " + Fitters[i] + ":  " + jminuitResult.quality());
             result = jminuitResult.fittedParameters();
             errors = jminuitResult.errors();
CVSspam 0.2.8