Main Page
Namespaces
Classes
Package Documentation
CalibCalorimetry
HcalAlgos
src
HcalSiPMRadiationDamage.cc
Go to the documentation of this file.
1
#include "
CalibCalorimetry/HcalAlgos/interface/HcalSiPMRadiationDamage.h
"
2
3
#include <vector>
4
#include <cmath>
5
6
//default constructor
7
HcalSiPMRadiationDamage::HcalSiPMRadiationDamage
() :
8
temperatureBase_(0.0), temperatureNew_(0.0), intlumiOffset_(0.0), depVsTemp_(0.0), intlumiToNeutrons_(0.0)
9
{}
10
11
HcalSiPMRadiationDamage::HcalSiPMRadiationDamage
(std::vector<double> darkCurrentBase,
const
edm::ParameterSet
&
p
) :
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
{}
20
21
//accounts for both lumi dependence and temp dependence
22
double
HcalSiPMRadiationDamage::getDarkCurrent
(
double
intlumi,
unsigned
index
)
const
{
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
}
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
std
Definition:
JetResolutionObject.h:76
HcalSiPMRadiationDamage::HcalSiPMRadiationDamage
HcalSiPMRadiationDamage()
Definition:
HcalSiPMRadiationDamage.cc:7
diffTreeTool.index
index
Definition:
diffTreeTool.py:159
HcalSiPMRadiationDamage::temperatureNew_
double temperatureNew_
Definition:
HcalSiPMRadiationDamage.h:27
HcalSiPMRadiationDamage::depVsTemp_
double depVsTemp_
Definition:
HcalSiPMRadiationDamage.h:29
HcalSiPMRadiationDamage::intlumiOffset_
double intlumiOffset_
Definition:
HcalSiPMRadiationDamage.h:28
HcalSiPMRadiationDamage::depVsNeutrons_
std::vector< double > depVsNeutrons_
Definition:
HcalSiPMRadiationDamage.h:31
HcalSiPMRadiationDamage::temperatureBase_
double temperatureBase_
Definition:
HcalSiPMRadiationDamage.h:26
HcalSiPMRadiationDamage::darkCurrentBase_
std::vector< double > darkCurrentBase_
Definition:
HcalSiPMRadiationDamage.h:25
HcalSiPMRadiationDamage::getDarkCurrent
double getDarkCurrent(double intlumi, unsigned index) const
Definition:
HcalSiPMRadiationDamage.cc:22
HcalSiPMRadiationDamage::intlumiToNeutrons_
double intlumiToNeutrons_
Definition:
HcalSiPMRadiationDamage.h:30
edm::ParameterSet
Definition:
ParameterSet.h:36
JetChargeProducer_cfi.exp
exp
Definition:
JetChargeProducer_cfi.py:6
HcalSiPMRadiationDamage.h
Generated for CMSSW Reference Manual by
1.8.11