IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 7, 2020, 9:30:05 AM (6 years ago)
Author:
eugene
Message:

updates to get tgroups working

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/relphot.20200519/src/liststats.c

    r40291 r41387  
    172172  for (i = ks; i < ke; i++) {
    173173    M  = SQ (value[i] - Mo);
    174     dM = SQ (dvalue[i]);
    175     X2 += M / dM;
     174    if (dvalue) {
     175      dM = SQ (dvalue[i]);
     176      X2 += M / dM;
     177    }
    176178    dS += M;
    177179  }
    178   X2 = X2 / (Nm - 1);
     180  X2 = dvalue ? X2 / (Nm - 1) : NAN;
    179181  dS = sqrt (dS / (Nm - 1));
    180182
     
    187189  return (TRUE);
    188190}
     191
     192int liststats_fit1d (double *value, double *err, double *x, int Npts, StatType *stats, double *dk) {
     193
     194  double M = 0.0, MZ = 0.0, Z1 = 0.0, Z2 = 0.0, R = 0.0;
     195
     196  for (int i = 0; i < Npts; i++) {
     197    double wt = 1.0 / (err[i]*err[i]);
     198    double V = value[i];
     199    double Z = x[i];
     200    M  += V   * wt;
     201    MZ += V*Z * wt;
     202    Z1 += Z   * wt;
     203    Z2 += Z*Z * wt;
     204    R  += 1.0 * wt;
     205  }
     206
     207  double DetInv = (R*Z2 - Z1*Z1);
     208  double Det = (fabs(DetInv) < -1e6) ? 0.0 : 1.0 / DetInv; // do not allow unstable solutions
     209
     210  double zp = (M*Z2 - Z1*MZ)*Det;
     211  *dk = (MZ*R - M*Z1)*Det;
     212
     213  stats->mean = zp;
     214  stats->chisq = NAN;
     215  return TRUE;
     216}
     217
    189218
    190219// These should probably be tunable:
Note: See TracChangeset for help on using the changeset viewer.