CMS 3D CMS Logo

EMECALShowerParametrization Class Reference

Electromagnetic Shower parametrization utilities according to G. More...

#include <FastSimulation/ShowerDevelopment/interface/EMECALShowerParametrization.h>

List of all members.

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.

00030                                                 : 
00031     theECAL(ecal),  
00032     theHCAL(hcal),
00033     theLayer1(layer1), 
00034     theLayer2(layer2),
00035     theCore(coreIntervals),
00036     theTail(tailIntervals),
00037     theRcfactor(RCFact),
00038     theRtfactor(RTFact){}

virtual EMECALShowerParametrization::~EMECALShowerParametrization (  )  [inline, virtual]

Definition at line 40 of file EMECALShowerParametrization.h.

00040 { }


Member Function Documentation

double EMECALShowerParametrization::correlationAlphaT ( double  lny  )  const [inline]

Definition at line 60 of file EMECALShowerParametrization.h.

00060                                                     {
00061     return 0.705-0.023*lny; }

const ECALProperties* EMECALShowerParametrization::ecalProperties (  )  const [inline]

Definition at line 86 of file EMECALShowerParametrization.h.

References theECAL.

00086                                                       { 
00087     return theECAL; 
00088   }

const std::vector<double>& EMECALShowerParametrization::getCoreIntervals (  )  const [inline]

Definition at line 102 of file EMECALShowerParametrization.h.

References theCore.

Referenced by EMShower::setIntervals().

00102 { return theCore;}

const std::vector<double>& EMECALShowerParametrization::getTailIntervals (  )  const [inline]

Definition at line 104 of file EMECALShowerParametrization.h.

References theTail.

Referenced by EMShower::setIntervals().

00104 { return theTail;}

const HCALProperties* EMECALShowerParametrization::hcalProperties (  )  const [inline]

Definition at line 90 of file EMECALShowerParametrization.h.

References theHCAL.

00090                                                       { 
00091     return theHCAL; 
00092   }

double EMECALShowerParametrization::k1 (  )  const [inline, private]

Definition at line 126 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by rT().

00126 { return 0.6590-0.00309*theECAL->theZeff(); }

double EMECALShowerParametrization::k2 (  )  const [inline, private]

Definition at line 127 of file EMECALShowerParametrization.h.

Referenced by rT().

00127 { return 0.6450; }

double EMECALShowerParametrization::k3 (  )  const [inline, private]

Definition at line 128 of file EMECALShowerParametrization.h.

Referenced by rT().

00128 { return -2.59; }

double EMECALShowerParametrization::k4 ( double  E  )  const [inline, private]

Definition at line 129 of file EMECALShowerParametrization.h.

References funct::log().

Referenced by rT().

00129 { return 0.3585+0.0421*std::log(E); }

const PreshowerLayer1Properties* EMECALShowerParametrization::layer1Properties (  )  const [inline]

Definition at line 94 of file EMECALShowerParametrization.h.

References theLayer1.

00094                                                                    { 
00095     return theLayer1; 
00096   }

const PreshowerLayer2Properties* EMECALShowerParametrization::layer2Properties (  )  const [inline]

Definition at line 98 of file EMECALShowerParametrization.h.

References theLayer2.

00098                                                                    { 
00099     return theLayer2; 
00100   }

double EMECALShowerParametrization::meanAlpha ( double  lny  )  const [inline]

Definition at line 45 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

00045                                             { 
00046     return 0.21+(0.492+2.38/theECAL->theZeff())*lny; }

double EMECALShowerParametrization::meanAlphaSpot ( double  alpha  )  const [inline]

Definition at line 66 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

00066                                                   {
00067     return alpha*(0.639+0.00334*theECAL->theZeff()); }

double EMECALShowerParametrization::meanLnAlpha ( double  lny  )  const [inline]

Definition at line 54 of file EMECALShowerParametrization.h.

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

00054                                               {
00055     return std::log(0.81+(0.458+2.26/theECAL->theZeff())*lny); }

double EMECALShowerParametrization::meanLnT ( double  lny  )  const [inline]

Definition at line 48 of file EMECALShowerParametrization.h.

References funct::log().

00048                                           {
00049     return std::log(lny-0.812); }

double EMECALShowerParametrization::meanT ( double  lny  )  const [inline]

Definition at line 42 of file EMECALShowerParametrization.h.

00042                                         { 
00043     return lny-0.858; }

double EMECALShowerParametrization::meanTSpot ( double  T  )  const [inline]

Definition at line 69 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

00069                                           {
00070     return T*(0.698+0.00212*theECAL->theZeff()); }

double EMECALShowerParametrization::nSpots ( double  E  )  const [inline]

Definition at line 63 of file EMECALShowerParametrization.h.

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

00063                                        {
00064     return 93.*std::log(theECAL->theZeff()) * std::pow(E,0.876); }

double EMECALShowerParametrization::p ( double  tau,
double  E 
) const [inline]

Definition at line 72 of file EMECALShowerParametrization.h.

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

Referenced by EMShower::compute().

00072                                               {
00073     double arg = (p2()-tau)/p3(E);
00074     return p1()* std::exp(arg-std::exp(arg));
00075   }

double EMECALShowerParametrization::p1 (  )  const [inline, private]

Definition at line 119 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by p().

00119 { return 2.632-0.00094*theECAL->theZeff(); }

double EMECALShowerParametrization::p2 (  )  const [inline, private]

Definition at line 120 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by p().

00120 { return 0.401+0.00187*theECAL->theZeff(); }

double EMECALShowerParametrization::p3 ( double  E  )  const [inline, private]

Definition at line 121 of file EMECALShowerParametrization.h.

References funct::log().

Referenced by p().

00121 { return 1.313-0.0686*std::log(E); }

double EMECALShowerParametrization::rC ( double  tau,
double  E 
) const [inline]

Definition at line 82 of file EMECALShowerParametrization.h.

References theRcfactor, z1(), and z2().

Referenced by EMShower::compute().

00082                                                {
00083     return theRcfactor*(z1(E) + z2()*tau);
00084   }                            

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().

00077                                               {
00078     return theRtfactor*k1() * ( std::exp(k3()*(tau-k2()))+
00079                                 std::exp(k4(E)*(tau-k2())) );
00080   }

double EMECALShowerParametrization::sigmaLnAlpha ( double  lny  )  const [inline]

Definition at line 57 of file EMECALShowerParametrization.h.

00057                                                {
00058     return 1./(-0.58+0.86*lny); }

double EMECALShowerParametrization::sigmaLnT ( double  lny  )  const [inline]

Definition at line 51 of file EMECALShowerParametrization.h.

00051                                            {
00052     return 1./(-1.4+1.26*lny); }

double EMECALShowerParametrization::z1 ( double  E  )  const [inline, private]

Definition at line 123 of file EMECALShowerParametrization.h.

References funct::log().

Referenced by rC().

00123 { return 0.0251+0.00319*std::log(E); }

double EMECALShowerParametrization::z2 (  )  const [inline, private]

Definition at line 124 of file EMECALShowerParametrization.h.

References theECAL, and ECALProperties::theZeff().

Referenced by rC().

00124 { return 0.1162-0.000381*theECAL->theZeff(); }


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]

Definition at line 108 of file EMECALShowerParametrization.h.

Referenced by ecalProperties(), k1(), meanAlpha(), meanAlphaSpot(), meanLnAlpha(), meanTSpot(), nSpots(), p1(), p2(), and z2().

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().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:20:22 2009 for CMSSW by  doxygen 1.5.4