ATLAS Offline Software
Loading...
Searching...
No Matches
L1CaloRampData.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7void L1CaloRampStep::addEvent(double energy)
8{
10 m_w += energy;
11 m_w2 += (energy * energy);
12}
13
14double L1CaloRampStep::mean() const
15{
16 if(!m_nEntries) return 0.;
17 return m_w / double(m_nEntries);
18}
19
20double L1CaloRampStep::rms() const
21{
22 if(!m_nEntries) return 1.;
23 if(m_nEntries == 1) return 1.;
24 double mean = this->mean();
25 return std::sqrt((m_w2 / double(m_nEntries))) - mean;
26}
27
28void L1CaloRampData::addData(unsigned int step, const std::pair<double, double>& energies)
29{
30 this->addData(step, energies.first, energies.second);
31}
32
33void L1CaloRampData::addData(unsigned int step, double calorimeter, double level1)
34{
35 if(m_rampDataVector.size() <= step) {
36 m_rampDataVector.resize(step + 1);
37 }
38
39 m_rampDataVector[step].first.addEvent(calorimeter);
40 m_rampDataVector[step].second.addEvent(level1);
41}
42
43void L1CaloRampData::addData(unsigned int step, const L1CaloRampDataPoint& data)
44{
45 if(m_rampDataVector.size() <= step) {
46 m_rampDataVector.resize(step + 1);
47 }
48 m_rampDataVector[step] = data;
49}
50
51void L1CaloRampData::addData(const std::pair<double, double>& energies) {
52 this->addData(energies.first, energies.second);
53}
54
55void L1CaloRampData::addData(double calorimeter, double level1) {
56 m_rampDataVector[m_iStep].first.addEvent(calorimeter);
57 m_rampDataVector[m_iStep].second.addEvent(level1);
58}
59
60void L1CaloRampData::setStep(unsigned int step) {
61 m_iStep = step;
62
63 if(m_rampDataVector.size() <= step) {
64 m_rampDataVector.resize(step + 1);
65 }
66}
67
69 ++m_iStep;
70 if(m_rampDataVector.size() <= m_iStep) {
71 m_rampDataVector.resize(m_iStep + 1);
72 }
73}
74
75unsigned int L1CaloRampData::getNSteps() const {
76 return m_rampDataVector.size();
77}
78
80 if(m_rampDataVector.size() <= step) return 0;
81 return &(m_rampDataVector[step]);
82}
83
84const L1CaloRampStep* L1CaloRampData::getCalo(unsigned int step) const {
85 if(m_rampDataVector.size() <= step) return 0;
86 return &(m_rampDataVector[step].first);
87}
88
89const L1CaloRampStep* L1CaloRampData::getLevel1(unsigned int step) const {
90 if(m_rampDataVector.size() <= step) return 0;
91 return &(m_rampDataVector[step].second);
92}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
unsigned int getNSteps() const
unsigned int m_iStep
std::pair< L1CaloRampStep, L1CaloRampStep > L1CaloRampDataPoint
void setStep(unsigned int step)
const L1CaloRampStep * getLevel1(unsigned int step) const
const L1CaloRampStep * getCalo(unsigned int step) const
void addData(unsigned int step, const std::pair< double, double > &energy)
L1CaloRampDataVector m_rampDataVector
const L1CaloRampDataPoint * getStep(unsigned int step) const
Class to store the measured energy per step for either calorimeter or level-1.
void addEvent(double energy)
double rms() const
unsigned int m_nEntries
double mean() const