CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
HcalSiPMRadiationDamage Class Reference

#include <HcalSiPMRadiationDamage.h>

Public Member Functions

double getDarkCurrent (double intlumi, unsigned index) const
 
 HcalSiPMRadiationDamage ()
 
 HcalSiPMRadiationDamage (std::vector< double > darkCurrentBase, const edm::ParameterSet &p)
 
 ~HcalSiPMRadiationDamage ()
 

Private Attributes

std::vector< double > darkCurrentBase_
 
std::vector< double > depVsNeutrons_
 
double depVsTemp_
 
double intlumiOffset_
 
double intlumiToNeutrons_
 
double temperatureBase_
 
double temperatureNew_
 

Detailed Description

Definition at line 14 of file HcalSiPMRadiationDamage.h.

Constructor & Destructor Documentation

HcalSiPMRadiationDamage::HcalSiPMRadiationDamage ( )
HcalSiPMRadiationDamage::HcalSiPMRadiationDamage ( std::vector< double >  darkCurrentBase,
const edm::ParameterSet p 
)

Definition at line 11 of file HcalSiPMRadiationDamage.cc.

11  :
12  darkCurrentBase_(darkCurrentBase),
13  temperatureBase_(p.getParameter<double>("temperatureBase")),
14  temperatureNew_(p.getParameter<double>("temperatureNew")),
15  intlumiOffset_(p.getParameter<double>("intlumiOffset")),
16  depVsTemp_(p.getParameter<double>("depVsTemp")),
17  intlumiToNeutrons_(p.getParameter<double>("intlumiToNeutrons")),
18  depVsNeutrons_(p.getParameter<std::vector<double>>("depVsNeutrons"))
19 {}
T getParameter(std::string const &) const
std::vector< double > depVsNeutrons_
std::vector< double > darkCurrentBase_
HcalSiPMRadiationDamage::~HcalSiPMRadiationDamage ( )
inline

Definition at line 18 of file HcalSiPMRadiationDamage.h.

References getDarkCurrent().

18 {}

Member Function Documentation

double HcalSiPMRadiationDamage::getDarkCurrent ( double  intlumi,
unsigned  index 
) const

Definition at line 22 of file HcalSiPMRadiationDamage.cc.

References darkCurrentBase_, depVsNeutrons_, depVsTemp_, JetChargeProducer_cfi::exp, intlumiOffset_, intlumiToNeutrons_, temperatureBase_, and temperatureNew_.

Referenced by HcalHardcodeParameters::darkCurrent(), and ~HcalSiPMRadiationDamage().

22  {
23  intlumi -= intlumiOffset_;
24  if(intlumi<=0) return darkCurrentBase_.at(index);
25  double darkCurrentNewLumi = darkCurrentBase_.at(index) + depVsNeutrons_.at(index)*(intlumi*intlumiToNeutrons_);
26  double darkCurrentNewTemp = darkCurrentNewLumi*std::exp(depVsTemp_*(temperatureNew_ - temperatureBase_));
27  return darkCurrentNewTemp;
28 }
std::vector< double > depVsNeutrons_
std::vector< double > darkCurrentBase_

Member Data Documentation

std::vector<double> HcalSiPMRadiationDamage::darkCurrentBase_
private

Definition at line 25 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

std::vector<double> HcalSiPMRadiationDamage::depVsNeutrons_
private

Definition at line 31 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::depVsTemp_
private

Definition at line 29 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::intlumiOffset_
private

Definition at line 28 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::intlumiToNeutrons_
private

Definition at line 30 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::temperatureBase_
private

Definition at line 26 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().

double HcalSiPMRadiationDamage::temperatureNew_
private

Definition at line 27 of file HcalSiPMRadiationDamage.h.

Referenced by getDarkCurrent().