コード例 #1
0
ファイル: fit2DProj.C プロジェクト: Andrej-CMS/cmssw
/// This function sets up the TPaveText with chi2/ndf and parameters values +- errors
void setTPaveText(const TF1 * fit, TPaveText * paveText) {
  Double_t chi2 = fit->GetChisquare();
  Int_t ndf = fit->GetNDF();
  paveText->AddText(setText("#chi^2 / ndf = ", chi2,  " / ", ndf));

  for( int iPar=0; iPar<fit->GetNpar(); ++iPar ) {
    TString parName(fit->GetParName(iPar));
    Double_t parValue = fit->GetParameter(iPar); // value of Nth parameter
    Double_t parError = fit->GetParError(iPar);  // error on Nth parameter
    paveText->AddText(setText(parName + " = ", parValue, " #pm ", parError));
  }
}
コード例 #2
0
void MSM_middleburyImp::loadDataset(const string &path)
{
    train.push_back(vector< Ptr<Object> >());
    test.push_back(vector< Ptr<Object> >());
    validation.push_back(vector< Ptr<Object> >());

    string name(path.substr(0, path.length()-1));
    size_t start = name.rfind('/');
    name = name.substr(start+1, name.length()-start);

    string angName(path + name + "_ang.txt");
    string parName(path + name + "_par.txt");

    ifstream infile(parName.c_str());
    string imageName;
    infile >> imageName; // skip header
    while (infile >> imageName)
    {
        Ptr<MSM_middleburyObj> curr(new MSM_middleburyObj);
        curr->imageName = imageName;

        for (int i=0; i<3; ++i)
        {
            for (int j=0; j<3; ++j)
            {
                infile >> curr->k(i, j);
            }
        }
        for (int i=0; i<3; ++i)
        {
            for (int j=0; j<3; ++j)
            {
                infile >> curr->r(i, j);
            }
        }
        for (int i=0; i<3; ++i)
        {
            infile >> curr->t[i];
        }

        train.back().push_back(curr);
    }
}