(calibration_classes_functions_observations_calibration_classes_running)= # Running the estimate Once the calibration object is constructed and its distance or likelihood function created, the next step is to perform the calibration, that is to estimate the best value(s) or distribution of the parameters given the data. This is done by calling the method ````{only} cpp ```cpp void estimateParameters(Option_t *option=""); ``` ```` ````{only} py ```python estimateParameters(option="") ``` ```` This method is generic and primarily calls an internal method, implemented in each class inheriting from `TCalibration`, where the actual estimate is performed. There are different options that can be applied to the `estimateParameters` method, among which: - **"saveAllEval"**: keeps all individual estimates in the internal dataserver, which can later be used to produce residuals plots (see [](#calibration_classes_functions_observations_calibration_classes_draw_residuals)). This may become impractical, as the number of stored estimates can be extremely large; - **"noAgreement"**: this options removes the *agreement* attribute at the end of the estimate, if that information is deemed unnecessary. Additional options, triggered via methods of the `TDistanceLikelihoodFunction`-inheriting instances, may also be useful for understanding and validating the calibration. For details, see [](#calibration_classes_functions_observations_data_and_distance_option_distance_func). Several methods are available to represent the results. Their basic structure is defined in the `TCalibration` class, though some may not apply to specific methods. This section introduces the general framework while method-specific details are discussed in their respective sections.