File indexing completed on 2024-04-06 12:11:19
0001 #ifndef HDShowerParametrization_H
0002 #define HDShowerParametrization_H
0003
0004 #include "FastSimulation/CalorimeterProperties/interface/ECALProperties.h"
0005 #include "FastSimulation/CalorimeterProperties/interface/HCALProperties.h"
0006 #include "FastSimulation/ShowerDevelopment/interface/HSParameters.h"
0007
0008
0009
0010
0011
0012
0013
0014
0015 class HDShowerParametrization {
0016 public:
0017 HDShowerParametrization(const ECALProperties* ecal, const HCALProperties* hcal, const HSParameters* hadronshower)
0018 : theECAL(ecal), theHCAL(hcal), theHSParameters(hadronshower) {}
0019
0020 virtual ~HDShowerParametrization() {}
0021
0022 const ECALProperties* ecalProperties() const { return theECAL; }
0023
0024 const HCALProperties* hcalProperties() const { return theHCAL; }
0025
0026 const HSParameters* hsParameters() const { return theHSParameters; }
0027
0028
0029 void setCase(int choice) {
0030 if (choice < 1 || choice > 2)
0031 theCase = 2;
0032 else
0033 theCase = choice;
0034 }
0035
0036
0037 double emin() const { return 2.; }
0038
0039 double emid() const { return 10.; }
0040
0041 double emax() const { return 500.; }
0042
0043 double e1() const { return 0.35; }
0044 double e2() const { return 0.09; }
0045 double alpe1() const {
0046 if (theCase == 1)
0047 return 1.08;
0048 else
0049 return 1.30;
0050 }
0051 double alpe2() const {
0052 if (theCase == 1)
0053 return 0.24;
0054 else
0055 return 0.255;
0056 }
0057 double bete1() const {
0058 if (theCase == 1)
0059 return 0.478;
0060 else
0061 return 0.289;
0062 }
0063 double bete2() const {
0064 if (theCase == 1)
0065 return 0.135;
0066 else
0067 return 0.010;
0068 }
0069 double alph1() const {
0070 if (theCase == 1)
0071 return 1.17;
0072 else
0073 return 0.38;
0074 }
0075 double alph2() const {
0076 if (theCase == 1)
0077 return 0.21;
0078 else
0079 return 0.23;
0080 }
0081 double beth1() const {
0082 if (theCase == 1)
0083 return 2.10;
0084 else
0085 return 0.83;
0086 }
0087 double beth2() const {
0088 if (theCase == 1)
0089 return 0.72;
0090 else
0091 return 0.049;
0092 }
0093 double part1() const {
0094 if (theCase == 1)
0095 return 0.751;
0096 else
0097 return 0.509;
0098 }
0099 double part2() const {
0100 if (theCase == 1)
0101 return 0.177;
0102 else
0103 return 0.021;
0104 }
0105 double r1() const { return 0.0124; }
0106 double r2() const { return 0.359; }
0107 double r3() const { return 0.0511; }
0108
0109 private:
0110 const ECALProperties* theECAL;
0111 const HCALProperties* theHCAL;
0112 const HSParameters* theHSParameters;
0113
0114 int theCase;
0115 };
0116
0117 #endif