ATLAS Offline Software
L1CaloPprPhos4Shape.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // ********************************************************
6 // Name: L1CaloPprPhos4Shape.h
7 // Package: TrigT1CaloCalibConditions
8 //
9 // Author: Taylor Childers (childers@mail.cern.ch)
10 //
11 // This class can be used to store a PPM Signal Shape
12 // in the form of a TProfile acquired from a PHOS4 scan.
13 // Use one of the Fill functions in order order to fill the
14 // TProfile:
15 // 1. Fill(ns_step,adc): ns_step should be the nanosecond
16 // step in the phos4 scan where the nanosecond step runs
17 // from 0 to the number of 25 nanosecond time slices read
18 // out times 25 nanoseconds, i.e. in 15+1 readout mode
19 // ns_step would run from 0 to 25*15. adc is just the value
20 // of the ADC read out for that step.
21 // 2. Fill(timeSlice,rodHeaderStep,adc): timeSlice is the
22 // time slice of the ADC value to be stored. rodHeaderStep
23 // is the step number from the DSS board, which is read out
24 // via the ROD Headers. adc is just the value
25 // of the ADC read out for that step.
26 // 3. Fill(rodHeaderStep,adc): rodHeaderStep is again the step
27 // number from the DSS board, which is read out via the ROD
28 // Headers. This time adc is a vector of the ADC values
29 // with each entry being a different time slice.
30 //
31 // In the Finalize step of the algorithm you should call the
32 // Finalize() function. It is used to process the raw signal
33 // and remove the pedestal variation which comes from the
34 // varrying PHOS4 values. This produces the TH1F histogram
35 // which can be used as a processed or cleaned up signal shape.
36 // It also checks the signal and produces a ChanCalibErroCode
37 // which can be used in the PprChanCalib folder. This function
38 // produces many files:
39 //
40 // pprPhos4SignalShapes,<run number>.root:
41 // This contains a TTree with all the values used in this
42 // analysis, such as the raw and processed signal histograms
43 // and their corresponding peak values and peak bin location.
44 // It also contains the pedestal mean and sigma as caluclated
45 // from the first 50 ns of the pulse shape histogram.
46 // Also the rising slope mean and sigma are included. It also
47 // includes the current and newly calculated FullDelayData.
48 // pprPhos4FullDelayData.<run number>.txt:
49 // This contains the file needed by the database in order
50 // to update the timing offsets for the PPMs using the
51 // FullDelayData attribute.
52 // pprPhos4RawSignalShapes.<run number>.ps:
53 // Contains all the raw signal shapes for viewing.
54 // pprPhos4ProcessedSignalShapes.<run number>.ps:
55 // Contains all the processed signal shapes for viewing.
56 //
57 // The pedestal correction uses the first 2 time slices, which
58 // are assumed to be at the pedestal. This typically means you
59 // need to be in 15+1 mode with the peak at 7. So if you are
60 // analyzing in 5+1 mode the processed histo will not be
61 // correct.
62 //
63 // The Get()-er functions are self explanitory I hope.
64 //
65 // *********************************************************
66 
67 #ifndef L1CALOPPRPHOS4SHAPE_H
68 #define L1CALOPPRPHOS4SHAPE_H
69 
70 #include <string>
71 #include <vector>
72 #include <cmath>
73 
74 // ROOT includes
75 #include "TProfile.h"
76 #include "TFile.h"
77 #include "TH1F.h"
78 #include "TF1.h"
79 #include "TH1.h"
80 
82 
85 
87 
88 public:
91 
92  enum CaloLayer {
94  EM = 1,
95  HAD = 2
96  };
97 
98  void SetMinimumSignalHeight(const unsigned int min) {m_minSignalHeight = min;};
99  unsigned int GetMinimumSignalHeight(void) const {return m_minSignalHeight;};
100 
101  void SetEta(const float eta) {m_eta = eta;};
102  float GetEta(void) const {return m_eta;};
103 
104  void SetPhi(const float phi) {m_phi = phi;};
105  float GetPhi(void) const {return m_phi;};
106 
108  CaloLayer GetLayer(void) const {return m_layer;};
109 
110  StatusCode Fill(const unsigned int ns_step, const unsigned int adc);
111  StatusCode Fill(const unsigned int timeSlice, const unsigned int rodHeaderStep, const int adc);
112  StatusCode Fill(const unsigned int rodHeaderStep, const std::vector<int>& adc);
113 
114  StatusCode Finalize(void);
115 
117  unsigned int GetRawMaxPeakBin(void) {return m_raw_maxPeakBin;};
118  float GetRawMaxPeakValue(void) {return m_raw_maxPeakValue;};
119  unsigned int GetRawMaxFullDelayData(void) {return m_raw_maxFullDelayData;};
120  unsigned int GetRawFitPeakBin(void) {return m_raw_fitPeakBin;};
121  float GetRawFitPeakValue(void) {return m_raw_fitPeakValue;};
122  unsigned int GetRawFitFullDelayData(void) {return m_raw_fitFullDelayData;};
124 
125  TF1* GetRawFit(void) {return m_raw_fit;};
126 
128  unsigned int GetProcessedMaxPeakBin(void) {return m_processed_maxPeakBin;};
131  unsigned int GetProcessedFitPeakBin(void) {return m_processed_fitPeakBin;};
135 
136  TF1* GetProcessedFit(void) {return m_processed_fit;};
137 
138  unsigned int GetRawPhos4Setting(void) {return ((m_processed_maxPeakBin - 1) % 25);};
139 
140  unsigned int GetCoolId(void) {return m_coolId.id();};
141 
142  void SetPedValue(unsigned int value) {m_pedValue = value;};
143  void SetL1aFadcSlice(unsigned int slice) {m_l1aFadcSlice = slice;};
144 
145  unsigned int GetPedValue(void) {return m_pedValue;};
146  unsigned int GetL1aFadcSlice(void) {return m_l1aFadcSlice;};
147 
148  float GetRisingSlopeMean(void) {return m_risingSlopeMean;};
150 
151  unsigned int GetErrorCode(void) {return m_errorCode.errorCode();};
152 
153  float GetPedestalMean(void) {return m_rawPedestalMean;};
154  float GetPedestalSigma(void) {return m_rawPedestalSigma;};
155 
157  unsigned int GetCurrentFullDelayData(void) {return m_currentFullDelayData;};
158 
159  bool IsValidChannel(void) {return m_isValid;};
160  void SetValidChannel(bool validity) {m_isValid = validity;};
161 
162  bool IsEnabled(void) {return m_isEnabled;};
163  void SetEnabled(bool enabled) {m_isEnabled = enabled;};
164 
165  bool IsProcessed(void) {return m_processSignalShape;};
166 
167 
168 private:
169  // don't want C++ implementing these automatically
172  void operator=(const L1CaloPprPhos4Shape& rhs);
173 
174  unsigned int m_minSignalHeight;
175 
177  float m_eta;
178  float m_phi;
180 
181  bool m_isValid; // is this a valid channel (used or unused)
182  bool m_isEnabled; // is this channel enabled
183 
184  unsigned int m_currentFullDelayData; // from PprChanCalib folder
185  unsigned int m_pedValue; // from PprChanCalib folder
186  unsigned int m_l1aFadcSlice; // from ReadoutConfig folder
187 
188  ChanCalibErrorCode m_errorCode; // holds the error bits for the database
189 
190  unsigned int CalculateFullDelayData(const int truePeakPosition);
191 
194  unsigned int m_raw_maxPeakBin;
197  unsigned int m_raw_fitPeakBin;
200 
201  TF1* m_raw_fit;
202 
205 
206  std::vector<unsigned int> m_pedCorrectionSum;
207  std::vector<unsigned int> m_pedCorrectionSum2;
208  std::vector<unsigned int> m_pedCorrectionN;
209  std::vector<float> m_pedCorrectionMean;
210  std::vector<float> m_pedCorrectionSigma;
211 
220 
222 
225 
227 
228  // The maximum number of ADC Time Slices read out
229  static const unsigned int MAX_ADC_TIME_SLICES = 15;
230  static const unsigned int NANOSEC_PER_LHC_CLOCK_TICK = 25;
231 
232  // The cut used to check the pedestal is flat
233  static const unsigned int MAX_PEDESTAL_SIGMA = 4;
234  // The cut used to check if the signal is saturated
235  static const unsigned int SATURATED_ADC = 1000;
236 
237  void CorrectRawPedestal(void);
238  void CalculatePedCorrection(void);
239  void CalculatePedestal(TH1* histo, float& pedMean, float& pedSigma);
240  void FindBinWithMaxValue(TH1* histo, float& peakValue, unsigned int& peakBin);
241  TF1* FitSignalPeak(TH1* histo, const float maxPeakValue, const unsigned int maxPeakBin, const unsigned int pedestal, float& fitPeakValue, unsigned int& fitPeakBin);
242 
243  void FillErrorCode(bool signalIsPresent, bool signalIsSaturated);
244  bool IsSignalPresent(TH1* histo, const unsigned int threshold) const;
245  bool IsSignalSaturated(TH1* histo, const unsigned int saturationPoint) const;
246  void CheckRisingSlope(TH1* histo, unsigned int peakBin, float peakValue);
247 
248  std::string GetPlotName(const std::string& base, const L1CaloCoolChannelId& coolId) const;
249  std::string GetPlotTitle(const std::string& base, const L1CaloCoolChannelId& coolId) const;
250  std::string CoolIdToString(const L1CaloCoolChannelId& coolId) const;
251 
252 };
253 
255 public:
256  double operator() (double *x, double *par) {
257  double x_max = par[0];
258  double ampl = par[1];
259  double sigma_g = par[2];
260  double sigma_l = par[3];
261  double pedestal = par[4];
262 
263  double output = 0;
264  if ( x[0] <= par[0])
265  {
266  output = ampl * exp(((-0.5) * (x[0] - x_max) * (x[0] - x_max) / ((sigma_g) * (sigma_g) ) ) - 0.5) + pedestal;
267  }
268  else if (x[0] > par[0] )
269  {
270  const double inv_sigma_l = 1. / sigma_l;
271  output = ampl * exp((-0.5) * (((x[0] - x_max) *inv_sigma_l) + (exp(-(x[0] - x_max) * inv_sigma_l) ) ) ) + pedestal;
272  }
273 
274  return output;
275  }
276 };
277 
278 
279 
280 #endif
281 
L1CaloPprPhos4Shape::SetMinimumSignalHeight
void SetMinimumSignalHeight(const unsigned int min)
Definition: L1CaloPprPhos4Shape.h:98
L1CaloCoolChannelId.h
L1CaloPprPhos4Shape::m_processed_maxFullDelayData
unsigned int m_processed_maxFullDelayData
Definition: L1CaloPprPhos4Shape.h:215
L1CaloPprPhos4Shape::GetRawFit
TF1 * GetRawFit(void)
Definition: L1CaloPprPhos4Shape.h:125
base
std::string base
Definition: hcg.cxx:78
L1CaloPprPhos4Shape::GetProcessedMaxPeakBin
unsigned int GetProcessedMaxPeakBin(void)
Definition: L1CaloPprPhos4Shape.h:128
L1CaloPprPhos4Shape::GetProcessedFitPeakBin
unsigned int GetProcessedFitPeakBin(void)
Definition: L1CaloPprPhos4Shape.h:131
L1CaloPprPhos4Shape::m_raw_maxFullDelayData
unsigned int m_raw_maxFullDelayData
Definition: L1CaloPprPhos4Shape.h:195
L1CaloPprPhos4Shape::GetL1aFadcSlice
unsigned int GetL1aFadcSlice(void)
Definition: L1CaloPprPhos4Shape.h:146
L1CaloPprPhos4Shape::FillErrorCode
void FillErrorCode(bool signalIsPresent, bool signalIsSaturated)
Definition: L1CaloPprPhos4Shape.cxx:373
L1CaloPprPhos4Shape::m_processSignalShape
bool m_processSignalShape
Definition: L1CaloPprPhos4Shape.h:226
L1CaloPprPhos4Shape::GetRawFitPeakValue
float GetRawFitPeakValue(void)
Definition: L1CaloPprPhos4Shape.h:121
L1CaloPprPhos4Shape::m_processed_maxPeakBin
unsigned int m_processed_maxPeakBin
Definition: L1CaloPprPhos4Shape.h:214
LandGaussFunc::operator()
double operator()(double *x, double *par)
Definition: L1CaloPprPhos4Shape.h:256
L1CaloPprPhos4Shape::IsValidChannel
bool IsValidChannel(void)
Definition: L1CaloPprPhos4Shape.h:159
L1CaloPprPhos4Shape::m_minSignalHeight
unsigned int m_minSignalHeight
Definition: L1CaloPprPhos4Shape.h:174
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
L1CaloPprPhos4Shape::GetProcessedFitFullDelayData
unsigned int GetProcessedFitFullDelayData(void)
Definition: L1CaloPprPhos4Shape.h:133
L1CaloPprPhos4Shape::m_processed_signalShape
TH1F * m_processed_signalShape
Definition: L1CaloPprPhos4Shape.h:212
L1CaloPprPhos4Shape::m_l1aFadcSlice
unsigned int m_l1aFadcSlice
Definition: L1CaloPprPhos4Shape.h:186
L1CaloPprPhos4Shape::m_coolId
L1CaloCoolChannelId m_coolId
Definition: L1CaloPprPhos4Shape.h:176
L1CaloPprPhos4Shape::m_isValid
bool m_isValid
Definition: L1CaloPprPhos4Shape.h:181
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
L1CaloPprPhos4Shape::GetRawPhos4Setting
unsigned int GetRawPhos4Setting(void)
Definition: L1CaloPprPhos4Shape.h:138
L1CaloPprPhos4Shape::m_rawPedestalSigma
float m_rawPedestalSigma
Definition: L1CaloPprPhos4Shape.h:204
L1CaloPprPhos4Shape::m_processed_fit
TF1 * m_processed_fit
Definition: L1CaloPprPhos4Shape.h:221
L1CaloPprPhos4Shape::Fill
StatusCode Fill(const unsigned int ns_step, const unsigned int adc)
Fill the profile with the ADC values at each nanosecond step.
Definition: L1CaloPprPhos4Shape.cxx:78
L1CaloPprPhos4Shape::GetPhi
float GetPhi(void) const
Definition: L1CaloPprPhos4Shape.h:105
L1CaloPprPhos4Shape::m_pedValue
unsigned int m_pedValue
Definition: L1CaloPprPhos4Shape.h:185
L1CaloPprPhos4Shape::IsProcessed
bool IsProcessed(void)
Definition: L1CaloPprPhos4Shape.h:165
L1CaloPprPhos4Shape::m_risingSlopeMean
float m_risingSlopeMean
Definition: L1CaloPprPhos4Shape.h:223
L1CaloPprPhos4Shape::m_currentFullDelayData
unsigned int m_currentFullDelayData
Definition: L1CaloPprPhos4Shape.h:184
L1CaloPprPhos4Shape::GetLayer
CaloLayer GetLayer(void) const
Definition: L1CaloPprPhos4Shape.h:108
L1CaloPprPhos4Shape::NANOSEC_PER_LHC_CLOCK_TICK
static const unsigned int NANOSEC_PER_LHC_CLOCK_TICK
Definition: L1CaloPprPhos4Shape.h:230
athena.value
value
Definition: athena.py:122
ChanCalibErrorCode
ChanCalibErrorCode class for L1Calo error codes Adapted from /LVL1/l1calo/coolL1Calo/coolL1Calo/ChanE...
Definition: ChanCalibErrorCode.h:20
L1CaloPprPhos4Shape::SetL1aFadcSlice
void SetL1aFadcSlice(unsigned int slice)
Definition: L1CaloPprPhos4Shape.h:143
L1CaloPprPhos4Shape::GetCoolId
unsigned int GetCoolId(void)
Definition: L1CaloPprPhos4Shape.h:140
L1CaloPprPhos4Shape::m_phi
float m_phi
Definition: L1CaloPprPhos4Shape.h:178
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
x
#define x
L1CaloPprPhos4Shape::CaloLayer
CaloLayer
Definition: L1CaloPprPhos4Shape.h:92
L1CaloPprPhos4Shape::m_processed_maxPeakValue
float m_processed_maxPeakValue
Definition: L1CaloPprPhos4Shape.h:213
L1CaloPprPhos4Shape::SetPedValue
void SetPedValue(unsigned int value)
Definition: L1CaloPprPhos4Shape.h:142
L1CaloPprPhos4Shape::GetProcessedFit
TF1 * GetProcessedFit(void)
Definition: L1CaloPprPhos4Shape.h:136
L1CaloPprPhos4Shape::CalculatePedCorrection
void CalculatePedCorrection(void)
Definition: L1CaloPprPhos4Shape.cxx:344
L1CaloPprPhos4Shape::SetPhi
void SetPhi(const float phi)
Definition: L1CaloPprPhos4Shape.h:104
L1CaloPprPhos4Shape::operator=
void operator=(const L1CaloPprPhos4Shape &rhs)
L1CaloPprPhos4Shape::m_risingSlopeSigma
float m_risingSlopeSigma
Definition: L1CaloPprPhos4Shape.h:224
L1CaloPprPhos4Shape::GetMinimumSignalHeight
unsigned int GetMinimumSignalHeight(void) const
Definition: L1CaloPprPhos4Shape.h:99
L1CaloPprPhos4Shape::CheckRisingSlope
void CheckRisingSlope(TH1 *histo, unsigned int peakBin, float peakValue)
Definition: L1CaloPprPhos4Shape.cxx:462
L1CaloPprPhos4Shape::LAYER_NOT_SET
@ LAYER_NOT_SET
Definition: L1CaloPprPhos4Shape.h:93
L1CaloPprPhos4Shape::IsSignalPresent
bool IsSignalPresent(TH1 *histo, const unsigned int threshold) const
Definition: L1CaloPprPhos4Shape.cxx:440
L1CaloPprPhos4Shape::SATURATED_ADC
static const unsigned int SATURATED_ADC
Definition: L1CaloPprPhos4Shape.h:235
L1CaloPprPhos4Shape::IsSignalSaturated
bool IsSignalSaturated(TH1 *histo, const unsigned int saturationPoint) const
Definition: L1CaloPprPhos4Shape.cxx:450
L1CaloPprPhos4Shape::SetEta
void SetEta(const float eta)
Definition: L1CaloPprPhos4Shape.h:101
L1CaloPprPhos4Shape::L1CaloPprPhos4Shape
L1CaloPprPhos4Shape()
L1CaloPprPhos4Shape::m_raw_signalShape
TProfile * m_raw_signalShape
Definition: L1CaloPprPhos4Shape.h:192
L1CaloPprPhos4Shape::HAD
@ HAD
Definition: L1CaloPprPhos4Shape.h:95
L1CaloPprPhos4Shape::m_isEnabled
bool m_isEnabled
Definition: L1CaloPprPhos4Shape.h:182
L1CaloPprPhos4Shape::SetCurrentFullDelayData
void SetCurrentFullDelayData(unsigned int delay)
Definition: L1CaloPprPhos4Shape.h:156
L1CaloPprPhos4Shape::m_raw_maxPeakValue
float m_raw_maxPeakValue
Definition: L1CaloPprPhos4Shape.h:193
L1CaloPprPhos4Shape::GetRawSignalShape
TProfile * GetRawSignalShape(void)
Definition: L1CaloPprPhos4Shape.h:116
perfmonmt-refit.slice
slice
Definition: perfmonmt-refit.py:52
L1CaloPprPhos4Shape::GetProcessedFitPerformed
bool GetProcessedFitPerformed(void)
Definition: L1CaloPprPhos4Shape.h:134
L1CaloPprPhos4Shape::m_raw_maxPeakBin
unsigned int m_raw_maxPeakBin
Definition: L1CaloPprPhos4Shape.h:194
L1CaloPprPhos4Shape
Definition: L1CaloPprPhos4Shape.h:86
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
L1CaloPprPhos4Shape::GetRawFitPeakBin
unsigned int GetRawFitPeakBin(void)
Definition: L1CaloPprPhos4Shape.h:120
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
L1CaloPprPhos4Shape::GetProcessedSignalShape
TH1F * GetProcessedSignalShape(void)
Definition: L1CaloPprPhos4Shape.h:127
L1CaloPprPhos4Shape::FitSignalPeak
TF1 * FitSignalPeak(TH1 *histo, const float maxPeakValue, const unsigned int maxPeakBin, const unsigned int pedestal, float &fitPeakValue, unsigned int &fitPeakBin)
Given a signal profile, this finds the maximum value and it's corresponding bin.
Definition: L1CaloPprPhos4Shape.cxx:226
L1CaloCoolChannelId::id
unsigned int id() const
Definition: L1CaloCoolChannelId.h:32
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
L1CaloPprPhos4Shape::MAX_PEDESTAL_SIGMA
static const unsigned int MAX_PEDESTAL_SIGMA
Definition: L1CaloPprPhos4Shape.h:233
delay
double delay(std::size_t d)
Definition: JetTrigTimerTest.cxx:14
L1CaloPprPhos4Shape::m_errorCode
ChanCalibErrorCode m_errorCode
Definition: L1CaloPprPhos4Shape.h:188
L1CaloPprPhos4Shape::m_processed_fitPerformed
bool m_processed_fitPerformed
Definition: L1CaloPprPhos4Shape.h:219
ChanCalibErrorCode::errorCode
unsigned int errorCode(ChanErrorComponent component) const
Definition: ChanCalibErrorCode.cxx:34
L1CaloPprPhos4Shape::GetRawFitFullDelayData
unsigned int GetRawFitFullDelayData(void)
Definition: L1CaloPprPhos4Shape.h:122
L1CaloPprPhos4Shape::GetRawMaxPeakBin
unsigned int GetRawMaxPeakBin(void)
Definition: L1CaloPprPhos4Shape.h:117
min
#define min(a, b)
Definition: cfImp.cxx:40
L1CaloPprPhos4Shape::m_layer
CaloLayer m_layer
Definition: L1CaloPprPhos4Shape.h:179
merge.output
output
Definition: merge.py:17
L1CaloPprPhos4Shape::m_raw_fitPerformed
bool m_raw_fitPerformed
Definition: L1CaloPprPhos4Shape.h:199
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
L1CaloPprPhos4Shape::GetProcessedFitPeakValue
float GetProcessedFitPeakValue(void)
Definition: L1CaloPprPhos4Shape.h:132
L1CaloPprPhos4Shape::m_pedCorrectionMean
std::vector< float > m_pedCorrectionMean
Definition: L1CaloPprPhos4Shape.h:209
L1CaloPprPhos4Shape::GetProcessedMaxFullDelayData
unsigned int GetProcessedMaxFullDelayData(void)
Definition: L1CaloPprPhos4Shape.h:130
threshold
Definition: chainparser.cxx:74
L1CaloPprPhos4Shape::EM
@ EM
Definition: L1CaloPprPhos4Shape.h:94
L1CaloPprPhos4Shape::GetPlotTitle
std::string GetPlotTitle(const std::string &base, const L1CaloCoolChannelId &coolId) const
Definition: L1CaloPprPhos4Shape.cxx:503
TProfile
Definition: rootspy.cxx:515
L1CaloPprPhos4Shape::GetPedestalMean
float GetPedestalMean(void)
Definition: L1CaloPprPhos4Shape.h:153
L1CaloPprPhos4Shape::m_raw_fit
TF1 * m_raw_fit
Definition: L1CaloPprPhos4Shape.h:201
L1CaloPprPhos4Shape::m_processed_fitPeakValue
float m_processed_fitPeakValue
Definition: L1CaloPprPhos4Shape.h:216
L1CaloCoolChannelId
Definition: L1CaloCoolChannelId.h:10
LandGaussFunc
Definition: L1CaloPprPhos4Shape.h:254
L1CaloPprPhos4Shape::Finalize
StatusCode Finalize(void)
In finalize I want the profile to be processed and extract some useful characteristics like the peak ...
Definition: L1CaloPprPhos4Shape.cxx:135
L1CaloPprPhos4Shape::L1CaloPprPhos4Shape
L1CaloPprPhos4Shape(const L1CaloPprPhos4Shape &rhs)
TH1F
Definition: rootspy.cxx:320
ReadFloatFromCool.adc
adc
Definition: ReadFloatFromCool.py:48
L1CaloPprPhos4Shape::FindBinWithMaxValue
void FindBinWithMaxValue(TH1 *histo, float &peakValue, unsigned int &peakBin)
Given a signal profile, this finds the maximum value and it's corresponding bin.
Definition: L1CaloPprPhos4Shape.cxx:214
L1CaloPprPhos4Shape::CoolIdToString
std::string CoolIdToString(const L1CaloCoolChannelId &coolId) const
Definition: L1CaloPprPhos4Shape.cxx:508
L1CaloPprPhos4Shape::GetRawFitPerformed
bool GetRawFitPerformed(void)
Definition: L1CaloPprPhos4Shape.h:123
L1CaloPprPhos4Shape::GetRisingSlopeMean
float GetRisingSlopeMean(void)
Definition: L1CaloPprPhos4Shape.h:148
L1CaloPprPhos4Shape::CalculateFullDelayData
unsigned int CalculateFullDelayData(const int truePeakPosition)
Definition: L1CaloPprPhos4Shape.cxx:352
L1CaloPprPhos4Shape::GetProcessedMaxPeakValue
float GetProcessedMaxPeakValue(void)
Definition: L1CaloPprPhos4Shape.h:129
TH1
Definition: rootspy.cxx:268
L1CaloPprPhos4Shape::CalculatePedestal
void CalculatePedestal(TH1 *histo, float &pedMean, float &pedSigma)
Definition: L1CaloPprPhos4Shape.cxx:292
L1CaloPprPhos4Shape::CorrectRawPedestal
void CorrectRawPedestal(void)
Definition: L1CaloPprPhos4Shape.cxx:312
AthMessaging.h
L1CaloPprPhos4Shape::m_raw_fitFullDelayData
unsigned int m_raw_fitFullDelayData
Definition: L1CaloPprPhos4Shape.h:198
L1CaloPprPhos4Shape::GetRisingSlopeSigma
float GetRisingSlopeSigma(void)
Definition: L1CaloPprPhos4Shape.h:149
L1CaloPprPhos4Shape::m_raw_fitPeakBin
unsigned int m_raw_fitPeakBin
Definition: L1CaloPprPhos4Shape.h:197
L1CaloPprPhos4Shape::GetRawMaxPeakValue
float GetRawMaxPeakValue(void)
Definition: L1CaloPprPhos4Shape.h:118
L1CaloPprPhos4Shape::m_eta
float m_eta
Definition: L1CaloPprPhos4Shape.h:177
L1CaloPprPhos4Shape::GetPedValue
unsigned int GetPedValue(void)
Definition: L1CaloPprPhos4Shape.h:145
L1CaloPprPhos4Shape::SetLayer
void SetLayer(const CaloLayer layer)
Definition: L1CaloPprPhos4Shape.h:107
L1CaloPprPhos4Shape::m_raw_fitPeakValue
float m_raw_fitPeakValue
Definition: L1CaloPprPhos4Shape.h:196
L1CaloPprPhos4Shape::GetEta
float GetEta(void) const
Definition: L1CaloPprPhos4Shape.h:102
L1CaloPprPhos4Shape::GetCurrentFullDelayData
unsigned int GetCurrentFullDelayData(void)
Definition: L1CaloPprPhos4Shape.h:157
L1CaloPprPhos4Shape::SetValidChannel
void SetValidChannel(bool validity)
Definition: L1CaloPprPhos4Shape.h:160
plotBeamSpotCompare.histo
histo
Definition: plotBeamSpotCompare.py:415
L1CaloPprPhos4Shape::m_pedCorrectionN
std::vector< unsigned int > m_pedCorrectionN
Definition: L1CaloPprPhos4Shape.h:208
L1CaloPprPhos4Shape::IsEnabled
bool IsEnabled(void)
Definition: L1CaloPprPhos4Shape.h:162
ChanCalibErrorCode.h
L1CaloPprPhos4Shape::GetPedestalSigma
float GetPedestalSigma(void)
Definition: L1CaloPprPhos4Shape.h:154
L1CaloPprPhos4Shape::m_processed_fitPeakBin
unsigned int m_processed_fitPeakBin
Definition: L1CaloPprPhos4Shape.h:217
L1CaloPprPhos4Shape::m_pedCorrectionSum2
std::vector< unsigned int > m_pedCorrectionSum2
Definition: L1CaloPprPhos4Shape.h:207
L1CaloPprPhos4Shape::m_rawPedestalMean
float m_rawPedestalMean
Definition: L1CaloPprPhos4Shape.h:203
L1CaloPprPhos4Shape::m_pedCorrectionSigma
std::vector< float > m_pedCorrectionSigma
Definition: L1CaloPprPhos4Shape.h:210
L1CaloPprPhos4Shape::GetRawMaxFullDelayData
unsigned int GetRawMaxFullDelayData(void)
Definition: L1CaloPprPhos4Shape.h:119
L1CaloPprPhos4Shape::SetEnabled
void SetEnabled(bool enabled)
Definition: L1CaloPprPhos4Shape.h:163
L1CaloPprPhos4Shape::MAX_ADC_TIME_SLICES
static const unsigned int MAX_ADC_TIME_SLICES
Definition: L1CaloPprPhos4Shape.h:229
L1CaloPprPhos4Shape::m_processed_fitFullDelayData
unsigned int m_processed_fitFullDelayData
Definition: L1CaloPprPhos4Shape.h:218
L1CaloPprPhos4Shape::GetPlotName
std::string GetPlotName(const std::string &base, const L1CaloCoolChannelId &coolId) const
Definition: L1CaloPprPhos4Shape.cxx:498
L1CaloPprPhos4Shape::m_pedCorrectionSum
std::vector< unsigned int > m_pedCorrectionSum
Definition: L1CaloPprPhos4Shape.h:206
L1CaloPprPhos4Shape::~L1CaloPprPhos4Shape
~L1CaloPprPhos4Shape()
Definition: L1CaloPprPhos4Shape.cxx:73
L1CaloPprPhos4Shape::GetErrorCode
unsigned int GetErrorCode(void)
Definition: L1CaloPprPhos4Shape.h:151