A computer-implemented method of automatically removing a step discontinuity in data representing a kinetic Polymerase Chain Reaction process, the method comprising: - receiving a dataset measured during said PCR process representing a kinetic PCR amplification curve, the dataset including a plurality of data points, each data point having a pair of coordinate values (x,y), where the x-axis represents cycle number and the y-axis fluorescence intensity, wherein the dataset comprises a known cycle at which the discontinuity occurs (cac) and wherein said cycle corresponds to a change in annealing temperature; - calculating a first approximation function that fits the dataset by applying a regression process to determine parameters of the first function, said parameters including a step discontinuity parameter, wherein said first function is of the form: a + b ⋅ x + c 1 + exp − d ⋅ x − e 1 + exp − ƒ ⋅ x − g + h ⋅ UnitStep x − UnitStep x − cac, wherein UnitStep is of the form: UnitStep x = { 1 x ≥ 0 0 x < 0, and wherein calculating a first approximation function includes iteratively determining the parameters a, b, c, d, e, f, g and h of the function by applying a Levenberg-Marquardt regression process; - calculating a second approximation function that fits the dataset by applying a second regression process to determine parameters of the second function, said parameters of the second function including a step discontinuity parameter, wherein said second function is of the form: a + b ⋅ x + h ⋅ UnitStep x − UnitStep x − cac, wherein UnitStep is of the form: UnitStep x = { 1 x ≥ 0 0 x < 0, and wherein x is the cycle number, cac is the cycle at which the discontinuity occurs and wherein a, b and h are the parameters, and h is the step discontinuity parameter; - determining an information coefficient for each of the first and second approximations by calculating a modified akaike information coefficient (aic) value specified by the following formula: aic = n ⋅ ln ‖ y ̈ − y ‖ 2 n + 2 ⋅ m + 2 ⋅ m ⋅ m + 1 n − m − 1, wherein ÿ - y is the prediction residual, n is the number of fluorescence acquisition cycles, and m is the number of parameters in the model; - selecting one of the approximations based on the information coefficient; - determining a confidence interval of the step discontinuity parameter for the selected approximation; and - if the confidence interval does not include the value zero, replacing a portion of the dataset with the selected approximation with the corresponding step discontinuity parameter set to zero, wherein the portion of the dataset replaced includes the portion of the dataset beginning with the first data point up to and including the data point at which the step discontinuity occurs. - receiving a dataset measured during said PCR process representing a kinetic PCR amplification curve, the dataset including a plurality of data points, each data point having a pair of coordinate values (x,y), where the x-axis represents cycle number and the y-axis fluorescence intensity, wherein the dataset comprises a known cycle at which the discontinuity occurs (cac) and wherein said cycle corresponds to a change in annealing temperature; - calculating a first approximation function that fits the dataset by applying a regression process to determine parameters of the first function, said parameters including a step discontinuity parameter, wherein said first function is of the form: a + b ⋅ x + c 1 + exp − d ⋅ x − e 1 + exp − ƒ ⋅ x − g + h ⋅ UnitStep x − UnitStep x − cac, wherein UnitStep is of the form: UnitStep x = { 1 x ≥ 0 0 x < 0, and wherein calculating a first approximation function includes iteratively determining the parameters a, b, c, d, e, f, g and h of the function by applying a Levenberg-Marquardt regression process; - calculating a second approximation function that fits the dataset by applying a second regression process to determine parameters of the second function, said parameters of the second function including a step discontinuity parameter, wherein said second function is of the form: a + b ⋅ x + h ⋅ UnitStep x − UnitStep x − cac, wherein UnitStep is of the form: UnitStep x = { 1 x ≥ 0 0 x < 0, and wherein x is the cycle number, cac is the cycle at which the discontinuity occurs and wherein a, b and h are the parameters, and h is the step discontinuity parameter; - determining an information coefficient for each of the first and second approximations by calculating a modified akaike information coefficient (aic) value specified by the following formula: aic = n ⋅ ln ‖ y ̈ − y ‖ 2 n + 2 ⋅ m + 2 ⋅ m ⋅ m + 1 n − m − 1, wherein ÿ - y is the prediction residual, n is the number of fluorescence acquisition cycles, and m is the number of parameters in the model; - selecting one of the approximations based on the information coefficient; - determining a confidence interval of the step discontinuity parameter for the selected approximation; and - if the confidence interval does not include the value zero, replacing a portion of the dataset with the selected approximation with the corresponding step discontinuity parameter set to zero, wherein the portion of the dataset replaced includes the portion of the dataset beginning with the first data point up to and including the data point at which the step discontinuity occurs.