5#ifndef T0CALIBRATIONCLASSIC_H
6#define T0CALIBRATIONCLASSIC_H
17#include "GaudiKernel/MsgStream.h"
34 int minEntries,
int initParam,
int numParams, std::array<double, 8> fitParams,
double chiMax,
int printLevel) :
79 log << MSG::INFO <<
"T0ClassicSettings: " <<
endmsg;
80 log << MSG::INFO <<
"booking of Adc histos: min max bins " <<
minAdc() <<
" " <<
maxAdc() <<
" " <<
binAdc() <<
endmsg;
82 log << MSG::INFO <<
"fitting of Time histos: active minentries paramflag chi2cut nparams" <<
fitTime() <<
" " <<
entries()
84 log << MSG::INFO <<
"Parameters: " <<
endmsg;
110 std::unique_ptr<TH1>
time{
nullptr};
111 std::unique_ptr<TH1>
adc{
nullptr};
152 std::vector<std::unique_ptr<T0ClassicHistos>>
m_histos;
Header file for AthHistogramAlgorithm.
Interface to pass calibration output during calibration.
IMdtCalibration(const std::string &name)
constructor, string used to identify the instance
virtual std::string name() const
returns name (region) of instance
std::shared_ptr< IMdtCalibrationOutput > MdtCalibOutputPtr
std::vector< std::shared_ptr< MuonCalibSegment > > MuonSegVec
A MuonCalibSegment is a reconstructed three dimensional track segment in the MuonSpectrometer.
std::string m_name
calibration region name
int m_currentItnum
current iteration (always 1?)
std::unique_ptr< TFile > m_file
pointer to the histogram file
virtual MdtCalibOutputPtr analyseSegments(const MuonSegVec &segs) override
new interface function
bool handleSegment(MuonCalibSegment &seg)
fill tube spectra
virtual MdtCalibOutputPtr getResults() const override
void setInput(const IMdtCalibrationOutput *input) override
unused
void searchParams(TH1 *h, double *p, int np)
estimate initial parameters for time spectrum fit from the spectrum itself
const T0ClassicSettings * m_settings
pointer to the settings
std::unique_ptr< MdtTubeFitContainer > m_result
tube constants
T0CalibrationClassic(const T0CalibrationClassic &)=delete
bool converged() const
return m_converged (always false?)
TDirectory * m_regiondir
pointer to the ROOT directory
~T0CalibrationClassic()
destructor
std::vector< std::unique_ptr< T0ClassicHistos > > m_histos
vector of pointers to tube histograms
void doAdcFit(T0ClassicHistos &, MdtTubeFitContainer::SingleTubeFit &, MdtTubeFitContainer::SingleTubeCalib &)
fit adc spectrum
void doTimeFit(T0ClassicHistos &, MdtTubeFitContainer::SingleTubeFit &, MdtTubeFitContainer::SingleTubeCalib &)
fit time spectrum
T0ClassicHistos * getHistos(unsigned int idtube)
retrieve pointer for tube idtube histograms
bool m_converged
convergence status
T0CalibrationClassic(const std::string &name, const T0ClassicSettings *settings)
constructor
T0ClassicHistos * bookHistos(unsigned int idtube)
booking of histograms
bool analyse()
extract parameters from spectra
T0CalibrationClassic & operator=(const T0CalibrationClassic &right)=delete
Tube histograms used in T0 calibration.
std::unique_ptr< TH1 > adc
adc spectrum
std::unique_ptr< TH1 > time
time spectrum
Settings for the T0 calibration (histogram booking and fitting parameters)
double m_maxAdc
Adc spectrum high edge.
const std::array< double, 8 > & params() const
int m_numParams
number of paramaters for spectrum fit
int m_initParamFlag
fix or search initial parameters for spectrum fit
int m_entries
minimum number of entries per spectrum fitting
double m_maxTime
Time spectrum high edge.
T0ClassicSettings(double minAdc, double maxAdc, int adcBins, double minTime, double maxTime, int timeBins, bool fitTime, int minEntries, int initParam, int numParams, std::array< double, 8 > fitParams, double chiMax, int printLevel)
constructor
std::array< double, 8 > m_params
initial parameters for spectrum fit
void print() const
a method to dump all the settings
bool m_fitTime
flag to select or deselect the fit to Time Spectra
int m_binAdc
Adc spectrum number of bins.
int initParamFlag() const
double m_minAdc
Private settings.
double m_minTime
Time spectrum low edge.
int m_printLevel
output level flag (1 for verbose)
double m_chi2max
normalized chi2 cut
int m_binTime
Time spectrum number of bins.
double minAdc() const
Access functions to values of private settings.
singleton-like access to IMessageSvc via open function and helper
IMessageSvc * getMessageSvc(bool quiet=false)
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.