View Javadoc

1   package org.lcsim.mc.fast.cluster.ronan;
2   
3   import org.lcsim.conditions.ConditionsSet;
4   import static java.lang.Math.sqrt;
5   import static java.lang.Math.pow;
6   
7   public class ClusterResolutionTables {
8       private boolean JETParameterization;
9       private double JETResolution;
10      private double JETHadDegradeFraction;
11      private double JETEMEnergyFraction;
12      private double JETHadEnergyFraction;
13      private double Lambda_j;
14  
15      private double EMAlignmentError;
16      private double EMConstantTerm;
17      private double EMPositionError;
18      private double EMResolution;
19      private double EMOnset;
20      private double EMSharpness;
21  
22      private double HADAlignmentError;
23      private double HADConstantTerm;
24      private double HADPositionError;
25      private double HADResolution;
26      private double HADOnset;
27      private double HADSharpness;
28  
29      private double PolarEMInner;
30      private double PolarEMOuter;
31      private double PolarHADInner;
32      private double PolarHADOuter;
33  
34      ClusterResolutionTables(ConditionsSet set) {
35          JETParameterization = Boolean.parseBoolean(set.getString("JETParameterization"));
36          JETResolution = set.getDouble("JETResolution");
37          JETHadDegradeFraction = set.getDouble("JETHadDegradeFraction");
38          JETEMEnergyFraction = set.getDouble("JETEMEnergyFraction");
39          JETHadEnergyFraction = set.getDouble("JETHadEnergyFraction");
40  
41          EMOnset = set.getDouble("EMOnset");
42          EMSharpness = set.getDouble("EMSharpness");
43          PolarEMInner = set.getDouble("PolarEMInner");
44          PolarEMOuter = set.getDouble("PolarEMOuter");
45  
46          EMResolution = set.getDouble("EMResolution");
47          EMConstantTerm = set.getDouble("EMConstantTerm");
48          EMPositionError = set.getDouble("EMPositionError");
49          EMAlignmentError = set.getDouble("EMAlignmentError");
50  
51          HADOnset = set.getDouble("HADOnset");
52          HADSharpness = set.getDouble("HADSharpness");
53          PolarHADInner = set.getDouble("PolarHADInner");
54          PolarHADOuter = set.getDouble("PolarHADOuter");
55  
56          HADResolution = set.getDouble("HADResolution");
57          HADConstantTerm = set.getDouble("HADConstantTerm");
58          HADPositionError = set.getDouble("HADPositionError");
59          HADAlignmentError = set.getDouble("HADAlignmentError");
60          if (JETParameterization) {
61              Lambda_j = (pow(JETResolution, 2) - JETEMEnergyFraction * pow(EMResolution, 2) - JETHadEnergyFraction * pow(HADResolution, 2)) / ((1. - JETHadDegradeFraction) * JETEMEnergyFraction * pow(EMResolution, 2) + JETHadDegradeFraction * JETHadEnergyFraction * pow(HADResolution, 2));
62              EMResolution *= sqrt(1. + Lambda_j * (1. - JETHadDegradeFraction));
63              HADResolution *= sqrt(1. + Lambda_j * JETHadDegradeFraction);
64              System.out.println(" JETParameterization settings    Lamda_j= " + Lambda_j + " EMResolution= " + EMResolution + " HADResolution= " + HADResolution);
65          }
66      }
67  
68      public double getEMAlignmentError() {
69          return EMAlignmentError;
70      }
71  
72      public double getEMConstantTerm() {
73          return EMConstantTerm;
74      }
75  
76      public double getEMPositionError() {
77          return EMPositionError;
78      }
79  
80      public double getEMResolution() {
81          return EMResolution;
82      }
83  
84      public double getEMOnset() {
85          return EMOnset;
86      }
87  
88      public double getEMSharpness() {
89          return EMSharpness;
90      }
91  
92      public double getHADAlignmentError() {
93          return HADAlignmentError;
94      }
95  
96      public double getHADConstantTerm() {
97          return HADConstantTerm;
98      }
99  
100     public double getHADPositionError() {
101         return HADPositionError;
102     }
103 
104     public double getHADResolution() {
105         return HADResolution;
106     }
107 
108     public double getHADOnset() {
109         return HADOnset;
110     }
111 
112     public double getHADSharpness() {
113         return HADSharpness;
114     }
115 
116     public double getPolarEMInner() {
117         return PolarEMInner;
118     }
119 
120     public double getPolarEMOuter() {
121         return PolarEMOuter;
122     }
123 
124     public double getPolarHADInner() {
125         return PolarHADInner;
126     }
127 
128     public double getPolarHADOuter() {
129         return PolarHADOuter;
130     }
131 }