MFitAmplBaseline Class Reference
[Modules]
List of all members.
Detailed Description
fits the Amplitude vs baseline (or time) plots and extracts stabilization parameters
- Author:
- Elena Guardincerri
NB: this module is meant to be run on a single run: it will behave badly if run on multiple runs
- Parameters:
- InFileName [string = "thermometer.txt"]: ASCII file where the time intervals the measurement has to be broken into are written. If the extension of the file is .stablog the file is interpreted as those written by the shifter They will eventually go in the data base
- GraphicsOn [bool = true]: when true, some plots are produced for debugging
- GraphicsFileName [string = "fitbaseline" if FitVsBaseline = true, else = "fittime"]: when GraphicsOn is true, set the name of the rootfiles containing debug plots
- PolynomialDegree [int = 1]: initial degree of the polynomial used for the Amplitudes vs Baselines(or Times) fit
- MaxNumberOfIterations [int = 4] the fits are repeated with a higher degree polynomial until either the result is found ssatisfactory or the number of iteration is equal to MaxNumberOfIterations
- FitVsBaseline [bool = true]: if true, the data are fitted in the Amplitude vs Baseline domain, otherwise they are fitted only in the Amplitude vs Time domain
- UseCorrectedAmplitudes [bool = false]: set it to false if you need to stabilized non stabilized amplitudes set it to true if you need to stabilize already stabilized amplitudes
- OutFileName [string = "parameters.txt"]: parameters extracted from the fits go into this ascii file they will eventually go to the data base
- InitialParametersFile [ string = "parameters.txt"]: in case FitMethod == lorentz the initial parameters for the fit are read from this file NB!!! if the file is meant to be written and read respectively bu two instances of this class run in the same sequence then the first instance must have MaxNumberOfIteration set to 1, since the file is closed in the Done() method of the first iteration and read in the Done() method of the last iteration
- FitMethod [ string = "graph"]: this is the fit method used for A(b) fit (the A(t) fit is always done with FitMethod == graph) and for all the iterations different from the last one. Possible options are: + graph: the A(b) distribution is fit with a polynomial + lorentz: a dedicated fitter is instantiated which minimizes the following quantity: L = sum( log( 1. + D_k*D_k/2. ) ) where D_k=(y_k-t_k) is the difference between the measured values and their theoretical interpolations in the current implementation of the Fitter, the degree of the polynomial is not limited by MaxNumberOfIterations but it always goes up to 3
- Reads:
- file (will be data base)
- Writes:
- file (will be data base)
|
Public Member Functions |
| MFitAmplBaseline (QSequence *) |
| Constructor.
|
virtual void | Init () |
| Init method: reads parameters and create QStabChannel objects.
|
virtual QEvent * | Do (QEvent *) |
| Do method: fill vectors in fChannels.
|
virtual void | Done () |
| Done method is called after event loop.
|
Private Member Functions |
void | SetupChannels () |
| inizialize fChannels according to the number of discontinuities found in the data base
|
Private Attributes |
std::vector< QStabChannel * > | fChannels |
| array of QStabChannel objects
|
std::vector< int > | fProblematicChannels |
bool | fUseCorrectedAmplitude |
bool | fFitVsBaseline |
std::string | fAsciiOutFileName |
std::string | fInFileName |
std::string | fFitMethod |
double | fAmplitudeTolerance |
double | fSkewnessTolerance |
bool | fGraphicsOn |
std::string | fGraphicsFileName |
int | fNSamples |
unsigned int | fMaxIterationNum |
unsigned int | fPolyDegree |
FILE * | fOutFile |
FILE * | fInitialParametersFile |
std::string | fInitialParametersFileString |
bool | fIsFirstEvent |
int | fRun |
The documentation for this class was generated from the following files:
- /home/cuoresvn/cuore/pkg/modfinddiscont/MFitAmplBaseline.hh
- /home/cuoresvn/cuore/pkg/modfinddiscont/MFitAmplBaseline.cc