14#ifndef R3BNEULANDHITCALIBRATIONBAR_H
15#define R3BNEULANDHITCALIBRATIONBAR_H
21#include "TGraphErrors.h"
39 using DPair = std::array<Double_t, 2>;
40 using IPair = std::array<Int_t, 2>;
60 void Set(
const Int_t side,
const Double_t time,
const Int_t qdc);
61 Bool_t
Add(
const Double_t timeOffset,
62 const Double_t entryPosition,
63 const Double_t exitPosition,
64 const Double_t energy,
65 const UInt_t eventNumber);
67 void Calibrate(TDirectory* histogramDir =
nullptr);
117 std::array<TGraphErrors, 2>
Gain;
135 Int_t
cleanupFit(TGraph& graph, TF1& fit, Double_t maxDifference)
const;
144 void removePoints(Int_t* points, Int_t nPoints, TGraph& graph)
const;
153 Double_t
getMean(
const TGraphErrors& graph, Double_t expectedValue = 0.);
R3B::Neuland::Calibration::HitCalibrationBar::CalibrationStatus CalibrationStatus
static const char * CalibrationStatusAbbreviation[]
static const char * CalibrationStatusDescription[]
HitCalibrationBar(const Int_t id=0)
static const char *const GetCalibrationStatusDescription(const CalibrationStatus status)
std::array< TH1F, 2 > MissedHits
void thresholdCalibration()
std::array< TH1F, 2 > TotalHits
R3BNeulandHitModulePar GetParameters()
void positionCalibration(int firstHit, int nHits)
void removePoints(Int_t *points, Int_t nPoints, TGraph &graph) const
removes points from a graph in an efficient way
Bool_t Add(const Double_t timeOffset, const Double_t entryPosition, const Double_t exitPosition, const Double_t energy, const UInt_t eventNumber)
std::array< Double_t, 2 > DPair
std::array< TGraph, 2 > MissRatio
void Update(const R3BNeulandHitModulePar *par)
Int_t cleanupFit(TGraph &graph, TF1 &fit, Double_t maxDifference) const
std::array< Int_t, 2 > IPair
struct R3B::Neuland::Calibration::HitCalibrationBar::@127153345345016036324103015046211310221211341120 Log
Double_t InvLightAttenuationLength
void SetGlobalTSync(const Double_t value, const Double_t error)
Double_t getMean(const TGraphErrors &graph, Double_t expectedValue=0.)
void pedestalCalibration()
TGraphErrors LightAttenuationLength
CalibrationStatus GetCalibrationStatus() const
std::array< TH1F, 2 > Energy
std::vector< Hit > LastHits
void Calibrate(TDirectory *histogramDir=nullptr)
void Set(const Int_t side, const Double_t time, const Int_t qdc)
void createHistograms(TDirectory *histogramDir)
created and writes histograms to the directory
struct R3B::Neuland::Calibration::HitCalibrationBar::Hit CurrentHit
static const char *const GetCalibrationStatusAbbreviation(const CalibrationStatus status)
void energyCalibration(int firstHit, int nHits)
Double_t GetPosition() const
Simulation of NeuLAND Bar/Paddle.