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
14
15static const InterfaceID IID_LArParabolaPeakRecoTool("LArParabolaPeakRecoTool", 1 , 0);
16
18
19{
20 public:
21
22 // constructor
23 LArParabolaPeakRecoTool(const std::string& type,
24 const std::string& name,
25 const IInterface* parent);
26
27 // destructor
29
30 static const InterfaceID& interfaceID() { return IID_LArParabolaPeakRecoTool;}
31
32 // returns a vector: vector[0]=ADCReco, vector[1]=TimeReco
33 std::vector<float> peak (const std::vector<float>& samples) const;
34 // short needed for backward compatability
35 std::vector<float> peak (const std::vector<short>& samples) const;
36 // second method in case one want to apply bias correction
37 std::vector<float> peak (const std::vector<float>& samples, int layer, float pedestal) const;
38 std::vector<float> peak (const std::vector<short>& samples, int layer, float pedestal) const;
39
40
41
42 // initialize and finalize methods
43 virtual StatusCode initialize();
44 virtual StatusCode finalize();
45
46 float ParabolaRawToTrueTime(float& QT_fittime, int& layer) const ;
47 float ParabolaRawToTrueADC(float& QT_true_time, double& ADCref, float& PEDref, int& layer) const ;
48
49 // Avoid ambiguity.
50 //static const InterfaceID& interfaceID() { return IAlgTool::interfaceID(); }
51
52 private:
53
54 // jobOptions for bias correction
57
58 // file and tables for corrections
59 FILE* m_fileShape = nullptr, *m_fileADCcor = nullptr;
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