ATLAS Offline Software
Loading...
Searching...
No Matches
LArParabolaPeakRecoTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARCALIBUTILS_LARPARABOLAPEAKRECOTOOL_H
6#define LARCALIBUTILS_LARPARABOLAPEAKRECOTOOL_H
7
9#include <vector>
10
15
16static const InterfaceID IID_LArParabolaPeakRecoTool("LArParabolaPeakRecoTool", 1 , 0);
17
19
20{
21 public:
22
23 // constructor
24 LArParabolaPeakRecoTool(const std::string& type,
25 const std::string& name,
26 const IInterface* parent);
27
28 // destructor
30
31 static const InterfaceID& interfaceID() { return IID_LArParabolaPeakRecoTool;}
32
33 // returns a vector: vector[0]=ADCReco, vector[1]=TimeReco
34 std::vector<float> peak (const std::vector<float>& samples) const;
35 // short needed for backward compatability
36 std::vector<float> peak (const std::vector<short>& samples) const;
37 // second method in case one want to apply bias correction
38 std::vector<float> peak (const std::vector<float>& samples, int layer, float pedestal) const;
39 std::vector<float> peak (const std::vector<short>& samples, int layer, float pedestal) const;
40
41
42
43 // initialize and finalize methods
44 virtual StatusCode initialize();
45 virtual StatusCode finalize();
46
47 float ParabolaRawToTrueTime(float& QT_fittime, int& layer) const ;
48 float ParabolaRawToTrueADC(float& QT_true_time, double& ADCref, float& PEDref, int& layer) const ;
49
50 // Avoid ambiguity.
51 //static const InterfaceID& interfaceID() { return IAlgTool::interfaceID(); }
52
53 private:
54
55 // jobOptions for bias correction
56 bool m_correctBias{true};
58
59 // file and tables for corrections
60 float m_QT_Shape[4][26]{};
61 float m_QT_ADCcor[4][25]{};
62};
63
64
65#endif
static const InterfaceID IID_LArParabolaPeakRecoTool("LArParabolaPeakRecoTool", 1, 0)
Given a set of multiple samples, this class finds a peak using Parabola fit.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
float ParabolaRawToTrueTime(float &QT_fittime, int &layer) const
LArParabolaPeakRecoTool(const std::string &type, const std::string &name, const IInterface *parent)
static const InterfaceID & interfaceID()
std::vector< float > peak(const std::vector< float > &samples) const
float ParabolaRawToTrueADC(float &QT_true_time, double &ADCref, float &PEDref, int &layer) const