Our computational framework consists of two steps. In the first step, we apply the maximum entropy principle to adjust the weights of conformations produced by an existing force field such that the reweighted ensemble of conformations matches experimental data. The reweighting is performed independently for each system. In the second step, we employ a technique called potential contrasting to optimize force fields to match the reweighted ensembles of multiple systems. We present the details of the two steps in the following.