|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef T0CALIBRATIONCLASSIC_H
6 #define T0CALIBRATIONCLASSIC_H
17 #include "GaudiKernel/MsgStream.h"
24 class MuonCalibSegment;
25 class IMdtCalibrationOutput;
34 int minEntries,
int initParam,
int numParams, std::array<double, 8> fitParams,
double chiMax,
int printLevel) :
79 log << MSG::INFO <<
"T0ClassicSettings: " <<
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;
T0ClassicHistos * bookHistos(unsigned int idtube)
booking of histograms
int m_currentItnum
current iteration (always 1?)
std::shared_ptr< IMdtCalibrationOutput > MdtCalibOutputPtr
bool m_fitTime
flag to select or deselect the fit to Time Spectra
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::unique_ptr< MdtTubeFitContainer > m_result
tube constants
int m_initParamFlag
fix or search initial parameters for spectrum fit
double m_chi2max
normalized chi2 cut
singleton-like access to IMessageSvc via open function and helper
std::unique_ptr< TFile > m_file
pointer to the histogram file
std::string m_name
calibration region name
int m_entries
minimum number of entries per spectrum fitting
void setInput(const IMdtCalibrationOutput *input) override
unused
virtual MdtCalibOutputPtr getResults() const override
TDirectory * m_regiondir
pointer to the ROOT directory
IMessageSvc * getMessageSvc(bool quiet=false)
bool handleSegment(MuonCalibSegment &seg)
fill tube spectra
std::unique_ptr< TH1 > time
time spectrum
T0CalibrationClassic(const std::string &name, const T0ClassicSettings *settings)
constructor
T0CalibrationClassic(const T0CalibrationClassic &)=delete
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
void print() const
a method to dump all the settings
const T0ClassicSettings * m_settings
pointer to the settings
double m_minTime
Time spectrum low edge.
bool converged() const
return m_converged (always false?)
double m_maxAdc
Adc spectrum high edge.
int initParamFlag() const
bool m_converged
convergence status
virtual std::string name() const
returns name (region) of instance
int m_numParams
number of paramaters for spectrum fit
const std::array< double, 8 > & params() const
T0CalibrationClassic & operator=(const T0CalibrationClassic &right)=delete
double m_minAdc
Private settings.
std::array< double, 8 > m_params
initial parameters for spectrum fit
int m_printLevel
output level flag (1 for verbose)
T0ClassicHistos * getHistos(unsigned int idtube)
retrieve pointer for tube idtube histograms
void doTimeFit(T0ClassicHistos &, MdtTubeFitContainer::SingleTubeFit &, MdtTubeFitContainer::SingleTubeCalib &)
fit time spectrum
std::vector< std::shared_ptr< MuonCalibSegment > > MuonSegVec
double m_maxTime
Time spectrum high edge.
int m_binTime
Time spectrum number of bins.
bool analyse()
extract parameters from spectra
std::unique_ptr< TH1 > adc
adc spectrum
std::vector< std::unique_ptr< T0ClassicHistos > > m_histos
vector of pointers to tube histograms
~T0CalibrationClassic()
destructor
void searchParams(TH1 *h, double *p, int np)
estimate initial parameters for time spectrum fit from the spectrum itself
virtual MdtCalibOutputPtr analyseSegments(const MuonSegVec &segs) override
new interface function
double minAdc() const
Access functions to values of private settings.
int m_binAdc
Adc spectrum number of bins.
void doAdcFit(T0ClassicHistos &, MdtTubeFitContainer::SingleTubeFit &, MdtTubeFitContainer::SingleTubeCalib &)
fit adc spectrum