I’m not aware of any paper which specifically addresses the hack_elec calculation. You can examine the details of the implementation in src/core/scoring/hackelec/*, if you know a bit of C++.
Basically, it’s a standard Coulombic electrostatic term, but with a distance-dependent dielectric (10r), which makes it so that the interaction drops off rapidly enough that a 5.5 Ang atom-atom cutoff can be imposed. (The potential is also shifted such that there is a smooth transition to 0 energy at 5.5 Ang.) There’s also a close-distance cutoff of 1.5 Ang, so that all atom-atom pairs closer than 1.5 Ang are locked at the 1.5 Ang values, to avoid unrealistically favorable interactions.
I’m uncertain as to how the partial charges for each atom were derived. You can see them in the params file in rosetta_database/chemical/residue_type_sets/fa_standard/residue_types/l-caa/ (or similar directories for non-amino acid residues). If I had to guess, I would surmise they started with CHARMM-type charges, but I don’t know if they’ve been tweaked or adjusted since then. For ligand binding or enzyme design, people frequently use AM1-BCC partial charges (as calculated by OpenEye Omega) for parametrizing non-protein ligands, though I’m not sure how extensively different partial charge sets have been verified.