![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
67 #ifndef L1CALOPPRPHOS4SHAPE_H
68 #define L1CALOPPRPHOS4SHAPE_H
111 StatusCode Fill(
const unsigned int timeSlice,
const unsigned int rodHeaderStep,
const int adc);
241 TF1*
FitSignalPeak(
TH1*
histo,
const float maxPeakValue,
const unsigned int maxPeakBin,
const unsigned int pedestal,
float& fitPeakValue,
unsigned int& fitPeakBin);
243 void FillErrorCode(
bool signalIsPresent,
bool signalIsSaturated);
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];
266 output = ampl *
exp(((-0.5) * (
x[0] - x_max) * (
x[0] - x_max) / ((sigma_g) * (sigma_g) ) ) - 0.5) + pedestal;
268 else if (
x[0] >
par[0] )
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;
void SetMinimumSignalHeight(const unsigned int min)
unsigned int m_processed_maxFullDelayData
unsigned int GetProcessedMaxPeakBin(void)
unsigned int GetProcessedFitPeakBin(void)
unsigned int m_raw_maxFullDelayData
unsigned int GetL1aFadcSlice(void)
void FillErrorCode(bool signalIsPresent, bool signalIsSaturated)
bool m_processSignalShape
float GetRawFitPeakValue(void)
unsigned int m_processed_maxPeakBin
double operator()(double *x, double *par)
bool IsValidChannel(void)
unsigned int m_minSignalHeight
Scalar phi() const
phi method
unsigned int GetProcessedFitFullDelayData(void)
TH1F * m_processed_signalShape
unsigned int m_l1aFadcSlice
L1CaloCoolChannelId m_coolId
Scalar eta() const
pseudorapidity method
unsigned int GetRawPhos4Setting(void)
StatusCode Fill(const unsigned int ns_step, const unsigned int adc)
Fill the profile with the ADC values at each nanosecond step.
unsigned int m_currentFullDelayData
CaloLayer GetLayer(void) const
static const unsigned int NANOSEC_PER_LHC_CLOCK_TICK
ChanCalibErrorCode class for L1Calo error codes Adapted from /LVL1/l1calo/coolL1Calo/coolL1Calo/ChanE...
void SetL1aFadcSlice(unsigned int slice)
unsigned int GetCoolId(void)
float m_processed_maxPeakValue
void SetPedValue(unsigned int value)
TF1 * GetProcessedFit(void)
void CalculatePedCorrection(void)
void SetPhi(const float phi)
void operator=(const L1CaloPprPhos4Shape &rhs)
unsigned int GetMinimumSignalHeight(void) const
void CheckRisingSlope(TH1 *histo, unsigned int peakBin, float peakValue)
bool IsSignalPresent(TH1 *histo, const unsigned int threshold) const
static const unsigned int SATURATED_ADC
bool IsSignalSaturated(TH1 *histo, const unsigned int saturationPoint) const
void SetEta(const float eta)
TProfile * m_raw_signalShape
void SetCurrentFullDelayData(unsigned int delay)
TProfile * GetRawSignalShape(void)
bool GetProcessedFitPerformed(void)
unsigned int m_raw_maxPeakBin
::StatusCode StatusCode
StatusCode definition for legacy code.
unsigned int GetRawFitPeakBin(void)
TH1F * GetProcessedSignalShape(void)
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.
Class to provide easy MsgStream access and capabilities.
static const unsigned int MAX_PEDESTAL_SIGMA
double delay(std::size_t d)
ChanCalibErrorCode m_errorCode
bool m_processed_fitPerformed
unsigned int errorCode(ChanErrorComponent component) const
unsigned int GetRawFitFullDelayData(void)
unsigned int GetRawMaxPeakBin(void)
float GetProcessedFitPeakValue(void)
std::vector< float > m_pedCorrectionMean
unsigned int GetProcessedMaxFullDelayData(void)
std::string GetPlotTitle(const std::string &base, const L1CaloCoolChannelId &coolId) const
float GetPedestalMean(void)
float m_processed_fitPeakValue
StatusCode Finalize(void)
In finalize I want the profile to be processed and extract some useful characteristics like the peak ...
L1CaloPprPhos4Shape(const L1CaloPprPhos4Shape &rhs)
void FindBinWithMaxValue(TH1 *histo, float &peakValue, unsigned int &peakBin)
Given a signal profile, this finds the maximum value and it's corresponding bin.
std::string CoolIdToString(const L1CaloCoolChannelId &coolId) const
bool GetRawFitPerformed(void)
float GetRisingSlopeMean(void)
unsigned int CalculateFullDelayData(const int truePeakPosition)
float GetProcessedMaxPeakValue(void)
void CalculatePedestal(TH1 *histo, float &pedMean, float &pedSigma)
void CorrectRawPedestal(void)
unsigned int m_raw_fitFullDelayData
float GetRisingSlopeSigma(void)
unsigned int m_raw_fitPeakBin
float GetRawMaxPeakValue(void)
unsigned int GetPedValue(void)
void SetLayer(const CaloLayer layer)
unsigned int GetCurrentFullDelayData(void)
void SetValidChannel(bool validity)
std::vector< unsigned int > m_pedCorrectionN
float GetPedestalSigma(void)
unsigned int m_processed_fitPeakBin
std::vector< unsigned int > m_pedCorrectionSum2
std::vector< float > m_pedCorrectionSigma
unsigned int GetRawMaxFullDelayData(void)
void SetEnabled(bool enabled)
static const unsigned int MAX_ADC_TIME_SLICES
unsigned int m_processed_fitFullDelayData
std::string GetPlotName(const std::string &base, const L1CaloCoolChannelId &coolId) const
std::vector< unsigned int > m_pedCorrectionSum
unsigned int GetErrorCode(void)