CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
EMECALShowerParametrization Class Reference

#include <EMECALShowerParametrization.h>

Public Member Functions

double correlationAlphaT (double lny) const
 
const ECALPropertiesecalProperties () const
 
 EMECALShowerParametrization (const ECALProperties *ecal, const HCALProperties *hcal, const PreshowerLayer1Properties *layer1, const PreshowerLayer2Properties *layer2, const std::vector< double > &coreIntervals, const std::vector< double > &tailIntervals, double RCFact=1., double RTFact=1.)
 
const std::vector< double > & getCoreIntervals () const
 
const std::vector< double > & getTailIntervals () const
 
const HCALPropertieshcalProperties () const
 
const PreshowerLayer1Propertieslayer1Properties () const
 
const PreshowerLayer2Propertieslayer2Properties () const
 
double meanAlpha (double lny) const
 
double meanAlphaSpot (double alpha) const
 
double meanLnAlpha (double lny) const
 
double meanLnT (double lny) const
 
double meanT (double lny) const
 
double meanTSpot (double T) const
 
double nSpots (double E) const
 
double p (double tau, double E) const
 
double rC (double tau, double E) const
 
double rT (double tau, double E) const
 
double sigmaLnAlpha (double lny) const
 
double sigmaLnT (double lny) const
 
virtual ~EMECALShowerParametrization ()
 

Private Member Functions

double k1 () const
 
double k2 () const
 
double k3 () const
 
double k4 (double E) const
 
double p1 () const
 
double p2 () const
 
double p3 (double E) const
 
double z1 (double E) const
 
double z2 () const
 

Private Attributes

const std::vector< double > & theCore
 
const ECALPropertiestheECAL
 
const HCALPropertiestheHCAL
 
const PreshowerLayer1PropertiestheLayer1
 
const PreshowerLayer2PropertiestheLayer2
 
double theRcfactor
 
double theRtfactor
 
const std::vector< double > & theTail
 

Detailed Description

Electromagnetic Shower parametrization utilities according to G. Grindhammer and S. Peters, hep-ex/0001020, Appendix A

Author
Patrick Janot
Date
: 25-Jan-2004

Definition at line 19 of file EMECALShowerParametrization.h.

Constructor & Destructor Documentation

EMECALShowerParametrization::EMECALShowerParametrization ( const ECALProperties ecal,
const HCALProperties hcal,
const PreshowerLayer1Properties layer1,
const PreshowerLayer2Properties layer2,
const std::vector< double > &  coreIntervals,
const std::vector< double > &  tailIntervals,
double  RCFact = 1.,
double  RTFact = 1. 
)
inline

Definition at line 23 of file EMECALShowerParametrization.h.

30  :
31  theECAL(ecal),
32  theHCAL(hcal),
33  theLayer1(layer1),
34  theLayer2(layer2),
35  theCore(coreIntervals),
36  theTail(tailIntervals),
37  theRcfactor(RCFact),
38  theRtfactor(RTFact){}
const PreshowerLayer1Properties * theLayer1
const PreshowerLayer2Properties * theLayer2
const std::vector< double > & theCore
const std::vector< double > & theTail
virtual EMECALShowerParametrization::~EMECALShowerParametrization ( )
inlinevirtual

Definition at line 40 of file EMECALShowerParametrization.h.

40 { }

Member Function Documentation

double EMECALShowerParametrization::correlationAlphaT ( double  lny) const
inline

Definition at line 60 of file EMECALShowerParametrization.h.

Referenced by EMShower::EMShower().

60  {
61  return 0.705-0.023*lny; }
const ECALProperties* EMECALShowerParametrization::ecalProperties ( ) const
inline

Definition at line 86 of file EMECALShowerParametrization.h.

References theECAL.

Referenced by EMShower::EMShower().

86  {
87  return theECAL;
88  }
const std::vector<double>& EMECALShowerParametrization::getCoreIntervals ( ) const
inline

Definition at line 102 of file EMECALShowerParametrization.h.

References theCore.

Referenced by EMShower::setIntervals().

102 { return theCore;}
const std::vector< double > & theCore
const std::vector<double>& EMECALShowerParametrization::getTailIntervals ( ) const
inline

Definition at line 104 of file EMECALShowerParametrization.h.

References theTail.

Referenced by EMShower::setIntervals().

104 { return theTail;}
const std::vector< double > & theTail
const HCALProperties* EMECALShowerParametrization::hcalProperties ( ) const
inline

Definition at line 90 of file EMECALShowerParametrization.h.

References theHCAL.

Referenced by EMShower::EMShower().

90  {
91  return theHCAL;
92  }
double EMECALShowerParametrization::k1 ( ) const
inlineprivate

Definition at line 126 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by rT().

126 { return 0.6590-0.00309*theECAL->theZeff(); }
double theZeff() const
Effective Z.
double EMECALShowerParametrization::k2 ( ) const
inlineprivate

Definition at line 127 of file EMECALShowerParametrization.h.

Referenced by rT().

127 { return 0.6450; }
double EMECALShowerParametrization::k3 ( ) const
inlineprivate

Definition at line 128 of file EMECALShowerParametrization.h.

Referenced by rT().

128 { return -2.59; }
double EMECALShowerParametrization::k4 ( double  E) const
inlineprivate

Definition at line 129 of file EMECALShowerParametrization.h.

References funct::log().

Referenced by rT().

129 { return 0.3585+0.0421*std::log(E); }
Log< T >::type log(const T &t)
Definition: Log.h:22
const PreshowerLayer1Properties* EMECALShowerParametrization::layer1Properties ( ) const
inline

Definition at line 94 of file EMECALShowerParametrization.h.

References theLayer1.

Referenced by EMShower::EMShower().

94  {
95  return theLayer1;
96  }
const PreshowerLayer1Properties * theLayer1
const PreshowerLayer2Properties* EMECALShowerParametrization::layer2Properties ( ) const
inline

Definition at line 98 of file EMECALShowerParametrization.h.

References theLayer2.

Referenced by EMShower::EMShower().

98  {
99  return theLayer2;
100  }
const PreshowerLayer2Properties * theLayer2
double EMECALShowerParametrization::meanAlpha ( double  lny) const
inline

Definition at line 45 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by EMShower::EMShower().

45  {
46  return 0.21+(0.492+2.38/theECAL->theZeff())*lny; }
double theZeff() const
Effective Z.
double EMECALShowerParametrization::meanAlphaSpot ( double  alpha) const
inline

Definition at line 66 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by EMShower::EMShower().

66  {
67  return alpha*(0.639+0.00334*theECAL->theZeff()); }
float alpha
Definition: AMPTWrapper.h:95
double theZeff() const
Effective Z.
double EMECALShowerParametrization::meanLnAlpha ( double  lny) const
inline

Definition at line 54 of file EMECALShowerParametrization.h.

References funct::log(), theECAL, and ECALProperties::theZeff().

Referenced by EMShower::EMShower().

54  {
55  return std::log(0.81+(0.458+2.26/theECAL->theZeff())*lny); }
double theZeff() const
Effective Z.
Log< T >::type log(const T &t)
Definition: Log.h:22
double EMECALShowerParametrization::meanLnT ( double  lny) const
inline

Definition at line 48 of file EMECALShowerParametrization.h.

References funct::log().

Referenced by EMShower::EMShower().

48  {
49  return std::log(lny-0.812); }
Log< T >::type log(const T &t)
Definition: Log.h:22
double EMECALShowerParametrization::meanT ( double  lny) const
inline

Definition at line 42 of file EMECALShowerParametrization.h.

Referenced by EMShower::EMShower().

42  {
43  return lny-0.858; }
double EMECALShowerParametrization::meanTSpot ( double  T) const
inline

Definition at line 69 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by EMShower::EMShower().

69  {
70  return T*(0.698+0.00212*theECAL->theZeff()); }
double theZeff() const
Effective Z.
double EMECALShowerParametrization::nSpots ( double  E) const
inline

Definition at line 63 of file EMECALShowerParametrization.h.

References funct::log(), funct::pow(), theECAL, and ECALProperties::theZeff().

Referenced by EMShower::EMShower().

63  {
64  return 93.*std::log(theECAL->theZeff()) * std::pow(E,0.876); }
double theZeff() const
Effective Z.
Log< T >::type log(const T &t)
Definition: Log.h:22
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
double EMECALShowerParametrization::p ( double  tau,
double  E 
) const
inline

Definition at line 72 of file EMECALShowerParametrization.h.

References funct::exp(), p1(), p2(), p3(), and metsig::tau.

Referenced by EMShower::compute().

72  {
73  double arg = (p2()-tau)/p3(E);
74  return p1()* std::exp(arg-std::exp(arg));
75  }
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
A arg
Definition: Factorize.h:36
double EMECALShowerParametrization::p1 ( ) const
inlineprivate

Definition at line 119 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by p().

119 { return 2.632-0.00094*theECAL->theZeff(); }
double theZeff() const
Effective Z.
double EMECALShowerParametrization::p2 ( ) const
inlineprivate

Definition at line 120 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by p().

120 { return 0.401+0.00187*theECAL->theZeff(); }
double theZeff() const
Effective Z.
double EMECALShowerParametrization::p3 ( double  E) const
inlineprivate

Definition at line 121 of file EMECALShowerParametrization.h.

References funct::log().

Referenced by p().

121 { return 1.313-0.0686*std::log(E); }
Log< T >::type log(const T &t)
Definition: Log.h:22
double EMECALShowerParametrization::rC ( double  tau,
double  E 
) const
inline

Definition at line 82 of file EMECALShowerParametrization.h.

References metsig::tau, theRcfactor, z1(), and z2().

Referenced by EMShower::compute().

double EMECALShowerParametrization::rT ( double  tau,
double  E 
) const
inline

Definition at line 77 of file EMECALShowerParametrization.h.

References funct::exp(), k1(), k2(), k3(), k4(), and theRtfactor.

Referenced by EMShower::compute().

77  {
78  return theRtfactor*k1() * ( std::exp(k3()*(tau-k2()))+
79  std::exp(k4(E)*(tau-k2())) );
80  }
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
double EMECALShowerParametrization::sigmaLnAlpha ( double  lny) const
inline

Definition at line 57 of file EMECALShowerParametrization.h.

Referenced by EMShower::EMShower().

57  {
58  return 1./(-0.58+0.86*lny); }
double EMECALShowerParametrization::sigmaLnT ( double  lny) const
inline

Definition at line 51 of file EMECALShowerParametrization.h.

Referenced by EMShower::EMShower().

51  {
52  return 1./(-1.4+1.26*lny); }
double EMECALShowerParametrization::z1 ( double  E) const
inlineprivate

Definition at line 123 of file EMECALShowerParametrization.h.

References funct::log().

Referenced by rC().

123 { return 0.0251+0.00319*std::log(E); }
Log< T >::type log(const T &t)
Definition: Log.h:22
double EMECALShowerParametrization::z2 ( ) const
inlineprivate

Definition at line 124 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by rC().

124 { return 0.1162-0.000381*theECAL->theZeff(); }
double theZeff() const
Effective Z.

Member Data Documentation

const std::vector<double>& EMECALShowerParametrization::theCore
private

Definition at line 113 of file EMECALShowerParametrization.h.

Referenced by getCoreIntervals().

const ECALProperties* EMECALShowerParametrization::theECAL
private
const HCALProperties* EMECALShowerParametrization::theHCAL
private

Definition at line 109 of file EMECALShowerParametrization.h.

Referenced by hcalProperties().

const PreshowerLayer1Properties* EMECALShowerParametrization::theLayer1
private

Definition at line 110 of file EMECALShowerParametrization.h.

Referenced by layer1Properties().

const PreshowerLayer2Properties* EMECALShowerParametrization::theLayer2
private

Definition at line 111 of file EMECALShowerParametrization.h.

Referenced by layer2Properties().

double EMECALShowerParametrization::theRcfactor
private

Definition at line 116 of file EMECALShowerParametrization.h.

Referenced by rC().

double EMECALShowerParametrization::theRtfactor
private

Definition at line 117 of file EMECALShowerParametrization.h.

Referenced by rT().

const std::vector<double>& EMECALShowerParametrization::theTail
private

Definition at line 114 of file EMECALShowerParametrization.h.

Referenced by getTailIntervals().