Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection on MAIN
Resolution.java+59-1311.4 -> 1.5


lcsim-contrib/src/main/java/org/lcsim/contrib/HansWenzel/DualCorrection
Resolution.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- Resolution.java	15 Dec 2009 20:19:03 -0000	1.4
+++ Resolution.java	16 Dec 2009 16:53:55 -0000	1.5
@@ -67,6 +67,17 @@
     IFunction D_cor_new;
     IFunction D_cor_digis;
     double xval[] = {10.};
+    //
+    // default detector configuration:
+    //
+    private String Detector = "ccal02";
+    private String Material = "BGO";
+    private Double Density = 7.13;
+    private Double rindex = 1.65;
+    private String CollectionName = "Digis";
+    private Double CerenkovThres = 0.02;
+    private Double IonizationThres = 0.02;
+    private String PhysicsList = "LCPhys";
 
     @Override
     protected void startOfData() {
@@ -81,12 +92,19 @@
             point_Correctede[i] = 0;
             dps_Correctede[i] = dpsFactory.create(dpsname, "electron response mean", 2);
         }
-        E_cor = Electron_digisCorrection();
-        //Electron_digis_QGSP_BERT_Correction();
-        C_cor = Cerenkov_digisCorrection();
-        D_cor = Dual_Correction();
-        D_cor_digis = Dual_Correction_digis_ccal02_d15();
-        //Dual_Correction_digis_QGSP_BERT();
+        DRFunctionFactory mapoff = DRFunctionFactory.getInstance();
+        DetectorConfiguration dc = new DetectorConfiguration(Detector, Material,
+                Density, rindex,
+                CollectionName, CerenkovThres,
+                IonizationThres, PhysicsList);
+        if (mapoff.checkdc(dc)) {
+            E_cor = mapoff.getccFunction(dc);
+            C_cor = mapoff.getecFunction(dc);
+            D_cor = mapoff.getdcFunction(dc);
+        } else {
+            System.exit(0);
+        }
+
         Ein_prev = 0;
         firstEvent = true;
         first = true;
@@ -153,13 +171,13 @@
         double sumEEdep = 0.0;
         double sumECeren = 0.0;
         for (List<SimCalorimeterHit> simCalorimeterHits : simCalorimeterHitCollections) {
-            String CollectionName = event.getMetaData(simCalorimeterHits).getName();
-            if (CollectionName.startsWith("Edep_") && CollectionName.endsWith("DigiHits")) {
+            String ColName = event.getMetaData(simCalorimeterHits).getName();
+            if (ColName.startsWith("Edep_") && ColName.endsWith("DigiHits")) {
                 for (SimCalorimeterHit calorimeterHit : simCalorimeterHits) {
                     sumEEdep = sumEEdep + calorimeterHit.getRawEnergy();
                 }
             } // end if Edep
-            if (CollectionName.startsWith("Ceren_") && CollectionName.endsWith("DigiHits")) {
+            if (ColName.startsWith("Ceren_") && ColName.endsWith("DigiHits")) {
 
                 for (SimCalorimeterHit calorimeterHit : simCalorimeterHits) {
                     sumECeren = sumECeren + calorimeterHit.getRawEnergy();
@@ -278,128 +296,38 @@
     public void setMyAIDAFilename(String aidafile) {
         AIDAFile = aidafile;
     }
+    public void setMyPhysicsList(String list) {
+        System.out.println("setMyPhysicsList");
+        this.PhysicsList = list;
+        System.out.println(list);
+    }
 
-    IFunction Electron_Correction() {
-        IFunction ECor = functionFactory.createFunctionByName("ECor", "p1");
-        ECor.setParameter("p0", -1.9834e-3);
-        ECor.setParameter("p1", 1.0019);
-        return ECor;
-    }
-
-    IFunction Electron_digisCorrection() {
-        IFunction ECor = functionFactory.createFunctionByName("ECor", "p1");
-        ECor.setParameter("p0", 7.6521e-3);
-        ECor.setParameter("p1", 1.0046);
-        return ECor;
-    }
-
-    IFunction Cerenkov_Correction() {
-        IFunction ECor = functionFactory.createFunctionByName("ECerenCor", "p1");
-        ECor.setParameter("p0", -2.4961e-4);
-        ECor.setParameter("p1", 7655.0);
-        return ECor;
-    }
-
-    IFunction Cerenkov_digisCorrection() {
-        IFunction ECor = functionFactory.createFunctionByName("ECerenCor", "p1");
-        ECor.setParameter("p0", 8.5701e-3);
-        ECor.setParameter("p1", 7677.7);
-        return ECor;
-    }
-
-    IFunction Dual_Correction() {
-        IFunction ECor = functionFactory.createFunctionByName("DualCor", "p3");
-        ECor.setParameter("p0", 1.0900819852754733);
-        ECor.setParameter("p1", -1.72608413712137);
-        ECor.setParameter("p2", 2.602954159670887);
-        ECor.setParameter("p3", -1.0873650332172629);
-        return ECor;
-    }
-
-    IFunction Dual_Correction_new() {
-        IFunction ECor = functionFactory.createFunctionByName("DualCor_new", "p3");
-        ECor.setParameter("p0", 0.65191);
-        ECor.setParameter("p1", 0.37036);
-        ECor.setParameter("p2", -0.69285);
-        ECor.setParameter("p3", 0.62872);
-        return ECor;
-    }
-
-    IFunction Dual_Correction_digis() {
-        IFunction ECor = functionFactory.createFunctionByName("DualCor_new", "p3");
-        ECor.setParameter("p0", 0.52415);
-        ECor.setParameter("p1", 0.37964);
-        ECor.setParameter("p2", -0.60463);
-        ECor.setParameter("p3", 0.66544);
-        return ECor;
-    }
-
-    IFunction Dual_Correction_digis_QGSP_BERT() {
-        IFunction ECor = functionFactory.createFunctionByName("DualCor_new", "p3");
-        ECor.setParameter("p0", 0.53412);
-        ECor.setParameter("p1", 0.56611);
-        ECor.setParameter("p2", -0.57106);
-        ECor.setParameter("p3", 0.37394);
-        return ECor;
-    }
-
-    IFunction Electron_digis_QGSP_BERT_Correction() {
-        IFunction ECor = functionFactory.createFunctionByName("ECor", "p1");
-        ECor.setParameter("p0", 7.6521e-3);
-        ECor.setParameter("p1", 1.0046);
-        return ECor;
-    }
-
-    IFunction Cerenkov_digis_QGSP_BERT_Correction() {
-        IFunction ECor = functionFactory.createFunctionByName("ECerenCor", "p1");
-        ECor.setParameter("p0", 8.5701e-3);
-        ECor.setParameter("p1", 7677.7);
-        return ECor;
-    }
-
-    IFunction Cerenkov_digisCorrection_PBWO() {
-        IFunction ECor = functionFactory.createFunctionByName("ECerenCor", "p1");
-        ECor.setParameter("p0", 7.9705e-3);
-        ECor.setParameter("p1", 8858.5);
-        return ECor;
-    }
-
-    IFunction Electron_digisCorrection_PBWO() {
-        IFunction ECor = functionFactory.createFunctionByName("ECor", "p1");
-        ECor.setParameter("p0", 5.4245e-3);
-        ECor.setParameter("p1", 1.0042);
-        return ECor;
-    }
-
-    IFunction Dual_Correction_digis_PBWO() {
-        IFunction ECor = functionFactory.createFunctionByName("DualCor_new", "p3");
-        ECor.setParameter("p0", 0.52340);
-        ECor.setParameter("p1", 0.37940);
-        ECor.setParameter("p2", -0.60846);
-        ECor.setParameter("p3", 0.66510);
-        return ECor;
-    }
-
-    IFunction Electron_digisCorrection_ccal02_d15() {
-        IFunction ECor = functionFactory.createFunctionByName("ECor", "p1");
-        ECor.setParameter("p0", 1.1773e-3);
-        ECor.setParameter("p1", 1.0033);
-        return ECor;
-    }
-
-    IFunction Cerenkov_digisCorrection_ccal02_d15() {
-        IFunction ECor = functionFactory.createFunctionByName("ECerenCor", "p1");
-        ECor.setParameter("p0", 6.3057e-3);
-        ECor.setParameter("p1", 16584.);
-        return ECor;
-    }
-
-    IFunction Dual_Correction_digis_ccal02_d15() {
-        IFunction ECor = functionFactory.createFunctionByName("DualCor_new", "p3");
-        ECor.setParameter("p0", 0.59275);
-        ECor.setParameter("p1", -0.063934);
-        ECor.setParameter("p2", 0.46452);
-        ECor.setParameter("p3", -0.025751);
-        return ECor;
+    public void setMyDetector(String Detector) {
+        this.Detector = Detector;
     }
+
+    public void setMyMaterial(String Material) {
+        this.Material = Material;
+    }
+
+    public void setMyDensity(Double Density) {
+        this.Density = Density;
+    }
+
+    public void setMyrindex(Double rindex) {
+        this.rindex = rindex;
+    }
+
+    public void setMyCollectionName(String CollectionName) {
+        this.CollectionName = CollectionName;
+    }
+
+    public void setMyCerenkovThres(Double CerenkovThres) {
+        this.CerenkovThres = CerenkovThres;
+    }
+
+    public void setMyIonizationThres(Double IonizationThres) {
+        this.IonizationThres = IonizationThres;
+    }
+
 }
CVSspam 0.2.8