CMS 3D CMS Logo

List of all members | Public Member Functions
ECALEndcapProperties Class Reference

#include <ECALEndcapProperties.h>

Inheritance diagram for ECALEndcapProperties:
ECALProperties CalorimeterProperties

Public Member Functions

 ECALEndcapProperties (const edm::ParameterSet &fastDet)
 
double lightCollectionEfficiency () const override
 Light Collection efficiency [Default : 3.0%]. More...
 
double lightCollectionUniformity () const override
 Light Collection uniformity 0.003 for Standard ECAL. More...
 
double photoStatistics () const override
 Photostatistics (photons/GeV) in the homegeneous material: 50E3 for Standard ECAL. More...
 
double thickness (double eta) const override
 Thickness (in cm): 22.0 for Standard ECAL. More...
 
 ~ECALEndcapProperties () override
 
- Public Member Functions inherited from ECALProperties
double criticalEnergy () const override
 Critical energy in GeV (2.66E-3*(x0*Z/A)^1.1): 8.74E-3 for Standard ECAL. More...
 
double da () const
 the width of the active layer in the case of the homogeneous detector More...
 
double dp () const
 the width of the passive layer in the case of the homogeneous detector More...
 
 ECALProperties ()
 
double ehat () const
 ehat = e/mip of the calorimeter. 0 for homogeneous one More...
 
double interactionLength () const override
 Interaction length in cm: 18.5 for Standard ECAL. More...
 
bool isHom () const
 a rough estimate of ECAL resolution sigma/E = resE/sqrt(E) More...
 
double moliereRadius () const override
 Moliere Radius in cm : 2.190 for Standard ECAL. More...
 
double radLenIncm () const override
 Radiation length in cm. More...
 
double radLenIngcm2 () const override
 Radiation length in cm but static. More...
 
double resE () const
 a rough estimate of ECAL resolution sigma/E = resE/sqrt(E) More...
 
double rho () const override
 Density in g/cm3: 8.280 for Standard ECAL. More...
 
double theAeff () const override
 Effective A: 170.87 for Standard ECAL. More...
 
double theFs () const
 Sampling fraction Fs of the calorimeter. 0 for homogeneous one. More...
 
double theZeff () const override
 Effective Z: 68.36 for Standard ECAL. More...
 
 ~ECALProperties () override
 
- Public Member Functions inherited from CalorimeterProperties
 CalorimeterProperties ()
 
virtual ~CalorimeterProperties ()
 

Additional Inherited Members

- Protected Attributes inherited from ECALProperties
double Aeff_
 
bool bHom_
 
double criticalEnergy_
 
double da_
 
double dp_
 
double ehat_
 
double Fs_
 
double interactionLength_
 
double lightColl_
 
double lightCollUnif_
 
double moliereRadius_
 
double photoStatistics_
 
double radLenIncm_
 
double radLenIngcm2_
 
double resE_
 
double rho_
 
const double scaleEnergy_
 
double thickness_
 
double Zeff_
 

Detailed Description

Definition at line 19 of file ECALEndcapProperties.h.

Constructor & Destructor Documentation

ECALEndcapProperties::ECALEndcapProperties ( const edm::ParameterSet fastDet)

Definition at line 9 of file ECALEndcapProperties.cc.

References ECALProperties::Aeff_, ECALProperties::bHom_, ECALProperties::criticalEnergy_, ECALProperties::da_, debug, ECALProperties::dp_, ECALProperties::ehat_, ECALProperties::Fs_, edm::ParameterSet::getParameter(), ECALProperties::interactionLength_, ECALProperties::lightColl_, ECALProperties::lightCollUnif_, ECALProperties::moliereRadius_, ECALProperties::photoStatistics_, ECALProperties::radLenIncm_, ECALProperties::radLenIngcm2_, ECALProperties::resE_, ECALProperties::rho_, ECALProperties::scaleEnergy_, ECALProperties::thickness_, and ECALProperties::Zeff_.

9  {
10  edm::ParameterSet fastDetEndcap = fastDet.getParameter<edm::ParameterSet>("EndcapCalorimeterProperties");
11 
12  lightColl_ = fastDetEndcap.getParameter<double>("lightColl");
13  lightCollUnif_ = fastDetEndcap.getParameter<double>("lightCollUnif");
14  photoStatistics_ = fastDetEndcap.getParameter<double>("photoStatistics");
15  thickness_ = fastDetEndcap.getParameter<double>("thickness");
16  interactionLength_ = fastDetEndcap.getParameter<double>("interactionLength");
17 
18  Aeff_ = fastDetEndcap.getParameter<double>("Aeff");
19  Zeff_ = fastDetEndcap.getParameter<double>("Zeff");
20  rho_ = fastDetEndcap.getParameter<double>("rho");
21  radLenIngcm2_ = fastDetEndcap.getParameter<double>("radLenIngcm2");
22 
23  // Parameters that might be calculated out of the formulas
24 
25  radLenIncm_ = fastDetEndcap.getParameter<double>("radLenIncm");
26  radLenIncm_ = (radLenIncm_ < 0) ? radLenIngcm2_ / rho_ : radLenIncm_;
27 
28  criticalEnergy_ = fastDetEndcap.getParameter<double>("criticalEnergy");
30  (criticalEnergy_ < 0) ? 2.66E-3 * TMath::Power((radLenIngcm2_ * Zeff_ / Aeff_), 1.1) : criticalEnergy_;
31 
32  moliereRadius_ = fastDetEndcap.getParameter<double>("moliereRadius");
33  moliereRadius_ = (moliereRadius_ < 0) ? scaleEnergy_ / criticalEnergy_ * radLenIncm_ : moliereRadius_;
34 
35  Fs_ = fastDetEndcap.getParameter<double>("Fs");
36  ehat_ = fastDetEndcap.getParameter<double>("ehat");
37  resE_ = fastDetEndcap.getParameter<double>("resE");
38 
39  da_ = fastDetEndcap.getParameter<double>("da");
40  dp_ = fastDetEndcap.getParameter<double>("dp");
41 
42  bHom_ = fastDetEndcap.getParameter<bool>("bHom");
43 
44  bool debug = fastDetEndcap.getParameter<bool>("debug");
45 
46  if (debug)
47  edm::LogInfo("ECALProperties") << " ========== Endcap ========= \n"
48  << " isHom ? " << bHom_ << "\n"
49  << " da = " << da_ << " dp = " << dp_ << " lightColl = " << lightColl_ << "\n"
50  << " lightCollUnif_ = " << lightCollUnif_ << "\n"
51  << " photoStatistics_ = " << photoStatistics_ << " photons/GeV\n"
52  << " thickness_ = " << thickness_ << " in cm \n"
53  << " interactionLength_ = " << interactionLength_ << " cm \n"
54  << " Aeff_ = " << Aeff_ << "\n"
55  << " Zeff_ = " << Zeff_ << "\n"
56  << " rho_ = " << rho_ << " g/cm3\n"
57  << " radLenIngcm2_ = " << radLenIngcm2_ << " g*cm2\n"
58  << " radLenIncm_ = " << radLenIncm_ << " cm\n"
59  << " moliereRadius_ = " << moliereRadius_ << " cm\n"
60  << " criticalEnergy_ = " << criticalEnergy_ << " GeV\n"
61  << " scaleEnergy_ = " << scaleEnergy_ << " GeV\n"
62  << " Fs = " << Fs_ << " ehat = " << ehat_ << " resE = " << resE_ << "\n";
63 }
T getParameter(std::string const &) const
const double scaleEnergy_
double moliereRadius_
double criticalEnergy_
double radLenIngcm2_
#define debug
Definition: HDRShower.cc:19
double lightCollUnif_
double interactionLength_
double photoStatistics_
ECALEndcapProperties::~ECALEndcapProperties ( )
inlineoverride

Definition at line 23 of file ECALEndcapProperties.h.

23 {}

Member Function Documentation

double ECALEndcapProperties::lightCollectionEfficiency ( ) const
inlineoverridevirtual

Light Collection efficiency [Default : 3.0%].

Implements ECALProperties.

Definition at line 32 of file ECALEndcapProperties.h.

32 { return lightColl_; }
double ECALEndcapProperties::lightCollectionUniformity ( ) const
inlineoverridevirtual

Light Collection uniformity 0.003 for Standard ECAL.

Implements ECALProperties.

Definition at line 35 of file ECALEndcapProperties.h.

35 { return lightCollUnif_; }
double lightCollUnif_
double ECALEndcapProperties::photoStatistics ( ) const
inlineoverridevirtual

Photostatistics (photons/GeV) in the homegeneous material: 50E3 for Standard ECAL.

Implements ECALProperties.

Definition at line 29 of file ECALEndcapProperties.h.

29 { return photoStatistics_; }
double photoStatistics_
double ECALEndcapProperties::thickness ( double  eta) const
inlineoverridevirtual

Thickness (in cm): 22.0 for Standard ECAL.

Implements CalorimeterProperties.

Definition at line 26 of file ECALEndcapProperties.h.

26 { return thickness_; }