What is the differences among firstModSize, scalingModSize and scalingFactor?

A bit of background information before answering your question.
In CKKS, the ciphertext coefficient modulus at level l is Q_l=q_0 \cdot q_1 \ldots \cdot q_l, where q_i's are prime integers of almost equal size.

firstModSize denotes the size of q_0, a special modulus used to contain the actual payload information (your encrypted data).

scalingModSize denotes the size of the scalingFactor to control the underlying precision of the computation. In CKKS, input real data are scaled by the scalingFactor before getting encoded and encrypted.