CMS 3D CMS Logo

HcalTimeSlew.h
Go to the documentation of this file.
1 #ifndef CALIBCALORIMETRY_HCALALGOS_HCALTIMESLEW_H
2 #define CALIBCALORIMETRY_HCALALGOS_HCALTIMESLEW_H 1
3 
4 #include <vector>
5 
19 class HcalTimeSlew {
20 public:
22  public:
23  //M2 Parameters
24  float tzero;
25  float slope;
26  float tmax;
27 
28  HcalTimeSlewM2Parameters(float t0, float m, float tmaximum) : tzero(t0), slope(m), tmax(tmaximum) {}
29  };
30 
32  public:
33  //M3 Parameters
34  double cap;
35  double tspar0;
36  double tspar1;
37  double tspar2;
38  double tspar0_siPM;
39  double tspar1_siPM;
40  double tspar2_siPM;
41 
42  HcalTimeSlewM3Parameters(double capCon,
43  double tspar0Con,
44  double tspar1Con,
45  double tspar2Con,
46  double tspar0_siPMCon,
47  double tspar1_siPMCon,
48  double tspar2_siPMCon)
49  : cap(capCon),
50  tspar0(tspar0Con),
51  tspar1(tspar1Con),
52  tspar2(tspar2Con),
53  tspar0_siPM(tspar0_siPMCon),
54  tspar1_siPM(tspar1_siPMCon),
55  tspar2_siPM(tspar2_siPMCon) {}
56  };
57 
60 
61  void addM2ParameterSet(float tzero, float slope, float tmax);
62  void addM3ParameterSet(double cap,
63  double tspar0,
64  double tspar1,
65  double tspar2,
66  double tspar0_siPM,
67  double tspar1_siPM,
68  double tspar2_siPM);
69 
70  enum ParaSource { TestStand = 0, Data = 1, MC = 2, HBHE = 3 };
71  enum BiasSetting { Slow = 0, Medium = 1, Fast = 2 };
75  float delay(float fC, BiasSetting bias = Medium) const;
76  double delay(double fC, ParaSource source = HBHE, BiasSetting bias = Medium, bool isHPD = true) const;
77 
78 private:
79  std::vector<HcalTimeSlewM2Parameters> parametersM2_;
80  std::vector<HcalTimeSlewM3Parameters> parametersM3_;
81 };
82 
83 #endif
HcalTimeSlew::parametersM3_
std::vector< HcalTimeSlewM3Parameters > parametersM3_
Definition: HcalTimeSlew.h:80
HcalTimeSlew::HcalTimeSlewM2Parameters::slope
float slope
Definition: HcalTimeSlew.h:25
HLT_2018_cff.cap
cap
Definition: HLT_2018_cff.py:5025
HcalTimeSlew::HcalTimeSlewM3Parameters::tspar2_siPM
double tspar2_siPM
Definition: HcalTimeSlew.h:40
HcalTimeSlew::ParaSource
ParaSource
Definition: HcalTimeSlew.h:70
HcalTimeSlew::Medium
Definition: HcalTimeSlew.h:71
HcalTimeSlew::HcalTimeSlewM3Parameters::HcalTimeSlewM3Parameters
HcalTimeSlewM3Parameters(double capCon, double tspar0Con, double tspar1Con, double tspar2Con, double tspar0_siPMCon, double tspar1_siPMCon, double tspar2_siPMCon)
Definition: HcalTimeSlew.h:42
HcalTimeSlew::parametersM2_
std::vector< HcalTimeSlewM2Parameters > parametersM2_
Definition: HcalTimeSlew.h:79
HcalTimeSlew::HcalTimeSlewM3Parameters::tspar1
double tspar1
Definition: HcalTimeSlew.h:36
HcalTimeSlew::HBHE
Definition: HcalTimeSlew.h:70
HLT_2018_cff.tspar2_siPM
tspar2_siPM
Definition: HLT_2018_cff.py:5027
HcalTimeSlew::BiasSetting
BiasSetting
Definition: HcalTimeSlew.h:71
HcalTimeSlew
Definition: HcalTimeSlew.h:19
HcalTimeSlew::delay
float delay(float fC, BiasSetting bias=Medium) const
Returns the amount (ns) by which a pulse of the given number of fC will be delayed by the timeslew ef...
Definition: HcalTimeSlew.cc:20
tmax
static const double tmax[3]
Definition: CastorTimeSlew.cc:7
HcalTimeSlew::addM2ParameterSet
void addM2ParameterSet(float tzero, float slope, float tmax)
Definition: HcalTimeSlew.cc:5
FrontierCondition_GT_autoExpress_cfi.t0
t0
Definition: FrontierCondition_GT_autoExpress_cfi.py:148
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
HcalTimeSlew::HcalTimeSlewM2Parameters
Definition: HcalTimeSlew.h:21
source
static const std::string source
Definition: EdmProvDump.cc:47
HcalTimeSlew::Slow
Definition: HcalTimeSlew.h:71
tzero
static const double tzero[3]
Definition: CastorTimeSlew.cc:5
HLT_2018_cff.tspar2
tspar2
Definition: HLT_2018_cff.py:5021
HcalTimeSlew::HcalTimeSlewM3Parameters
Definition: HcalTimeSlew.h:31
HcalTimeSlew::HcalTimeSlewM3Parameters::tspar2
double tspar2
Definition: HcalTimeSlew.h:37
HcalTimeSlew::HcalTimeSlewM3Parameters::tspar0
double tspar0
Definition: HcalTimeSlew.h:35
HLT_2018_cff.tspar1_siPM
tspar1_siPM
Definition: HLT_2018_cff.py:5024
HLT_2018_cff.tspar0
tspar0
Definition: HLT_2018_cff.py:5022
HcalTimeSlew::HcalTimeSlewM3Parameters::tspar1_siPM
double tspar1_siPM
Definition: HcalTimeSlew.h:39
HcalTimeSlew::Data
Definition: HcalTimeSlew.h:70
HcalTimeSlew::~HcalTimeSlew
~HcalTimeSlew()
Definition: HcalTimeSlew.h:59
HcalTimeSlew::HcalTimeSlewM2Parameters::tmax
float tmax
Definition: HcalTimeSlew.h:26
HcalTimeSlew::HcalTimeSlewM3Parameters::cap
double cap
Definition: HcalTimeSlew.h:34
HcalTimeSlew::HcalTimeSlewM2Parameters::tzero
float tzero
Definition: HcalTimeSlew.h:24
HcalTimeSlew::HcalTimeSlew
HcalTimeSlew()
Definition: HcalTimeSlew.h:58
HcalTimeSlew::HcalTimeSlewM2Parameters::HcalTimeSlewM2Parameters
HcalTimeSlewM2Parameters(float t0, float m, float tmaximum)
Definition: HcalTimeSlew.h:28
HcalTimeSlew::MC
Definition: HcalTimeSlew.h:70
HLT_2018_cff.tspar1
tspar1
Definition: HLT_2018_cff.py:5023
slope
static const double slope[3]
Definition: CastorTimeSlew.cc:6
HLT_2018_cff.tspar0_siPM
tspar0_siPM
Definition: HLT_2018_cff.py:5026
HcalTimeSlew::TestStand
Definition: HcalTimeSlew.h:70
HcalTimeSlew::HcalTimeSlewM3Parameters::tspar0_siPM
double tspar0_siPM
Definition: HcalTimeSlew.h:38
HcalTimeSlew::addM3ParameterSet
void addM3ParameterSet(double cap, double tspar0, double tspar1, double tspar2, double tspar0_siPM, double tspar1_siPM, double tspar2_siPM)
Definition: HcalTimeSlew.cc:9
HcalTimeSlew::Fast
Definition: HcalTimeSlew.h:71