13 std::ifstream instream(incsv.
fullPath());
14 if (!instream.is_open()) {
20 for (
unsigned int ireplica = 0; ireplica<nreplicas; ++ireplica) {
22 getline(instream,linestr);
23 std::istringstream
line(linestr);
24 for (
unsigned int ieigen = 0; ieigen<
neigenvectors; ++ieigen) {
26 getline(line,valstr,
',');
27 std::istringstream
val(valstr);
39 Eigen::VectorXd inweightv(nreplicas);
40 for (
unsigned int irep=0; irep<nreplicas; ++irep) {
41 inweightv[irep] = inweights[irep] - nomweight;
47 outweights[ieig] = outweightv[ieig] + nomweight;
void Init(unsigned int nreplicas, unsigned int neigenvectors, const edm::FileInPath &incsv)
void DoMC2Hessian(double nomweight, const double *inweights, double *outweights) const
unsigned int neigenvectors() const
Eigen::MatrixXd transformation_
std::string fullPath() const
std::string relativePath() const