We introduce a software, Torricelli, for the analysis of normal incidence x-ray standing wave data. In particular, given the experimental x-ray reflectivity and photoelectron yield of a data set (photon energy scan), Torricelli provides the corresponding structural parameters. The algorithm and equations on which Torricelli is based are explained here in detail. In particular, the model of the experimental reflectivity takes into account the theoretical reflectivity of the double crystal monochromator as well as the sample crystal, and a Gaussian broadening to account for mosaicity and photon energy spread. If statistical errors are provided together with the photoelectron yield data, these are propagated to produce the statistical errors of the structural parameters. For a more accurate analysis, angle-dependent correction parameters specific to the photoemission process, also beyond the dipole approximation, can be taken into account, especially in the case of non-perfect normal incidence. The obtained structural parameters can be compared, averaged, and displayed in an Argand diagram, along with statistical error bars. Program summaryProgram Title:TorricelliProgram Files doi:http://dx.doi.org/10.17632/xhwn8cygjp.1Licensing provisions: GNU General Public License 3 (GPL)Programming language: Python 2.7External routines/libraries:Numpy, Scipy, Lmfit, Pyqtgraph, PyQtNature of problem: Extraction of adsorption distances to Bragg planes from reflectivity and photoelectron yield data in NIXSW experiments.Solution method: Fast, accurate, easy-to-use and well documented python program including a graphical user interface that, given reflectivity and photoelectron yield as input, provides the corresponding atomic structural parameters.