#include <vector>

using namespace std;

int plot3()
{
  TCanvas *c_pl = new TCanvas("c_pl");
  ifstream in;
  in.open("data.dat");
  Float_t remu, immu, tb, reat, imat, ml, mq, rem2, imm2, ma, mst1, mst2, mh1, mh2, mneu1, mneu2, mneu3, mneu4, xt;
  vector<float> v_xt, v_mst1, v_mh1;
  while (1)
    {
      in >> remu >> immu >> tb >> reat >> imat >> ml >> mq >> rem2 >> imm2 >> ma >> mst1 >> mst2 >> mh1 >> mh2 >> mneu1 >> mneu2 >> mneu3 >> mneu4;
      if (!in.good()) break;
      if (mh1 < 123 || mh1 > 128 || mst1 > 500) continue;
      xt = (reat - remu / tb) / 1500;
      v_xt.push_back(xt);
      v_mst1.push_back(mst1);
      v_mh1.push_back(mh1);
    }
  const unsigned int n = v_xt.size();
  cout << n << endl;
  TGraph2D * pl = new TGraph2D();
  for (Int_t i = 0 ; i < n ; i++)
    {
      pl->SetPoint(i, v_xt.at(i), v_mst1.at(i), v_mh1.at(i));
    }
  pl->Draw("SURF1");
  in.close();
  return 0;
}
