Belle II Software  release-05-02-19
ECLDspUtilities.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Sergei Gribanov, Mikhail Remnev *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <vector>
14 #include <ecl/utility/ECLDspEmulator.h>
15 
16 namespace Belle2 {
21  class ECLDigit;
22  class ECLDspData;
23 
24  namespace ECL {
25 
34  typedef struct ECLPedestalFit {
36  int amp;
37  } ECLPedestalFit;
38 
43  class ECLDspUtilities {
44  public:
52  static ECLDspData* readEclDsp(const char* raw_file, int boardNumber);
53 
60  static void writeEclDsp(const char* raw_file, ECLDspData* obj);
61 
77  static ECLShapeFit shapeFitter(int cid, std::vector<int> adc, int ttrig,
78  bool adjusted_timing = true);
79 
88  static void initPedestalFit();
89 
99  static ECLPedestalFit pedestalFit(std::vector<int> adc);
100 
101  private:
103  static int pedestal_fit_initialized;
105  static float pedfit_fg31[768];
107  static float pedfit_fg32[768];
108 
114  };
115  }
117 }
118 
Belle2::ECL::ECLDspUtilities::writeEclDsp
static void writeEclDsp(const char *raw_file, ECLDspData *obj)
Convert ECLDspData from Root object to *.dat file.
Definition: ECLDspUtilities.cc:133
Belle2::ECL::ECLDspUtilities::pedfit_fg32
static float pedfit_fg32[768]
DSP coefficients used to determine time in pedestalFit.
Definition: ECLDspUtilities.h:115
Belle2::ECL::ECLDspUtilities::initPedestalFit
static void initPedestalFit()
Load DSP coefficients used in the pedestal fit function.
Definition: ECLDspUtilities.cc:322
Belle2::ECL::ECLShapeFit
ShaperDSP fit results from _lftda function.
Definition: ECLDspEmulator.h:30
Belle2::ECL::ECLDspUtilities::pedestalFit
static ECLPedestalFit pedestalFit(std::vector< int > adc)
Fit pedestal part of the signal waveform (first 16 samples) This method will fit the first 16 samples...
Definition: ECLDspUtilities.cc:345
Belle2::ECLDspData
This object contains ECL DSP coefs – electromagnetic calorimeter digital signal processing coefficien...
Definition: ECLDspData.h:44
Belle2::ECL::ECLPedestalFit
This struct is returned by the pedestalFit method that fits the first 16 samples of the waveform (ped...
Definition: ECLDspUtilities.h:42
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ECL::ECLPedestalFit::amp
int amp
Fit amplitude, -128..262015, ADC units (20 ADC units ~= 1 MeV)
Definition: ECLDspUtilities.h:44
Belle2::ECL::ECLDspUtilities::pedfit_fg31
static float pedfit_fg31[768]
DSP coefficients used to determine amplitude in pedestalFit.
Definition: ECLDspUtilities.h:113
Belle2::ECL::ECLDspUtilities::ECLDspUtilities
ECLDspUtilities()
Private constructor since class only contains static methods, no need to create an instance.
Definition: ECLDspUtilities.h:121
Belle2::ECL::ECLDspUtilities::pedestal_fit_initialized
static int pedestal_fit_initialized
Flag indicating whether arrays fg31,fg32 are filled.
Definition: ECLDspUtilities.h:111
Belle2::ECL::ECLDspUtilities::readEclDsp
static ECLDspData * readEclDsp(const char *raw_file, int boardNumber)
Convert ECLDspData from *.dat file to Root object.
Definition: ECLDspUtilities.cc:48
Belle2::ECL::ECLDspUtilities::shapeFitter
static ECLShapeFit shapeFitter(int cid, std::vector< int > adc, int ttrig, bool adjusted_timing=true)
Emulate shape fitting algorithm from ShaperDSP using algorithm from ecl/utility/src/ECLDspEmulator....
Definition: ECLDspUtilities.cc:255