コード例 #1
0
void CdfExportTest::exportCdf()
{

    string command = "./apt-cdf-export -c ../../../rawq/test/data/Test3.CDF -ps Pae_16SrRNA_s_at -ps AFFX-Athal-Actin_5_r_at > "
                     + testDir + "/export.Test3.txt";

    vector<RegressionCheck *> checks;
    RegressionTest exportTest ("exportCdf", command.c_str(), checks);
    Verbose::out (1, "\nDoing exportCdf()");
    if (!exportTest.run())
    {
        Verbose::out (1, "Error in CdfExportTest::exportCdf(): " + exportTest.getErrorMsg());
        numFailed++;
    }
    else
    {
        TextFileCheck exportCheck (testDir + "/export.Test3.txt",
                                   "data/export.Test3.txt", 0);
        if (exportCheck.check (errorMsg))
        {
            numPassed++;
        }
        else
        {
            Verbose::out (1, "Error in CdfExportTest::exportCdf(): " + errorMsg);
            numFailed++;
        }
    }
}
コード例 #2
0
ファイル: Schema.cpp プロジェクト: CIB/polli
TEST(RegressionTest, TestFormulate) {
  pqxx::connection C("");
  pqxx::work W(C);
  RegressionTest T;
  T.setName("test.module");
  T.setModule("test.module.foo");
  EXPECT_EQ(T.formulate(W), "INSERT INTO regressions (run_id, name, module) "
                           "VALUES (0, 'test.module', 'test.module.foo');");
}
コード例 #3
0
void MD5CheckTest::testFileNotFound()
{
  string command =  md5app + " -v 2 -i file_does_not_exist";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testFileNotFound", command.c_str(), checks);
  Verbose::out (1, "\nDoing testFileNotFound()");
  if (differencesTest.run() == false)
    ++numPassed;
  else
  {
    Verbose::out (1, "Error in MD5CheckTest::testFileNotFound(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
コード例 #4
0
// ignore column with integer differences Cyto2.AntigenomicProbes.ProbeID
void File5EquivalentTest::testIgnoreListPositive()
{
  string command = "./apt-file5-equivalent -e 0.005 -c 1.1 -d ./data/datasets_integer_diff.txt -i ./data/ignore_columns.txt ./data/demean_false_diff1.ref.a5 ./data/demean_false_diff2.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testIgnoreListPositive", command, checks);
  Verbose::out (1, "\nDoing testIgnoreListPositive()");
  if (differencesTest.run()) {
    ++numPassed;
  }
  else {
    Verbose::out (1, "Error in File5EquivalentTest::testIgnoreListPositive(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
コード例 #5
0
// ddemean_true_diff3.ref.a5 WaveCorrection datasets X7,X8 have NaN values, verify that it ignores differences if the -n option is false
void File5EquivalentTest::testIgnoreNanNumDifferences()
{
  string command = "./apt-file5-equivalent -n false -e 0.00001 -c 0.999999 -d ./data/datasets_correlation.txt -i ./data/ignore_columns_wc-except-x7-x8.txt ./data/demean_true_diff2.ref.a5 ./data/demean_true_diff3.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testIgnoreNanNumDifferences", command, checks);
  Verbose::out (1, "\nDoing testIgnoreNanNumDifferences()");
  if (differencesTest.run()) {
    ++numPassed;
  }
  else {
    Verbose::out (1, "Error in File5EquivalentTest::testIgnoreNanNumDifferences(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
コード例 #6
0
// allowable differences only in checked datasets and header parameters
void File5EquivalentTest::testDifferencesPositive()
{
  string command = "./apt-file5-equivalent --epsilon 0.005 --correlation 1.1 --datasets-file ./data/datasets_similar.txt ./data/demean_false_diff1.ref.a5 ./data/demean_false_diff2.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testDifferencesPositive", command, checks);
  Verbose::out (1, "\nDoing testDifferencesPositive()");
  if (differencesTest.run()) {
    ++numPassed;
  }
  else {
    Verbose::out (1, "Error in File5EquivalentTest::testDifferencesPositive(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
コード例 #7
0
void MD5CheckTest::testFailure()
{
  string command = md5app + " -v 2 -i data/translations_md5.rpt";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testFailure", command.c_str(), checks);
  Verbose::out (1, "\nDoing testFailure()");
  if (differencesTest.run() == false)
    ++numPassed;
  else
  {
    Verbose::out (1, "Error in MD5CheckTest::testFailure(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
コード例 #8
0
// datasets WaveCorrection X1,X2 have all same values with changed sign, X3,X4,X5,X6 have only some values with changed sign
void File5EquivalentTest::testSignAllowNegationPositive1()
{
  string command = "./apt-file5-equivalent -s -e 0.0001 -c 0.9999 -d ./data/datasets_correlation.txt ./data/demean_true_diff2.ref.a5 ./data/demean_true_diff3.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testSignAllowNegationPositive1", command, checks);
  Verbose::out (1, "\nDoing testSignAllowNegationPositive1()");
  if (differencesTest.run()) {
    ++numPassed;
  }
  else {
    Verbose::out (1, "Error in File5EquivalentTest::testSignAllowNegationPositive1(): " + differencesTest.getErrorMsg());
    ++numFailed;
  }
}
コード例 #9
0
// demean_true_diff3.ref.a5 WaveCorrection datasets X7,X8 have NaN values, verify fails if NaN status is different by comparing file without NaN values
void File5EquivalentTest::testReportNanNumDiffNegative()
{
  string command = "./apt-file5-equivalent --report-nan-num-diff true -e 0.00001 -c 0.9999 --datasets-file ./data/datasets_correlation.txt -i ./data/ignore_columns_wc-except-x7-x8.txt ./data/demean_true_diff2.ref.a5 ./data/demean_true_diff3.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testReportNanNumDiffNegative", command, checks);
  Verbose::out (1, "\nDoing testReportNanNumDiffNegative()");
  if (!differencesTest.run()) {
    Verbose::setLevel(2);
    ++numPassed;
  } else {
    Verbose::setLevel(2);
    Verbose::out (1, "Error in File5EquivalentTest::testReportNanNumDiffNegative(): Negative Test SHOULD HAVE FAILED!!!");
    ++numFailed;
  }
}
コード例 #10
0
// dataset AntigenomicProbes.ProbeID int32 values have non-allowed single digit differences: 1037413 vs 1037412, etc.
void File5EquivalentTest::testIntegerNegative()
{
  string command = "./apt-file5-equivalent -e 0.005 -c 0.99 -d ./data/datasets_integer_diff.txt ./data/demean_false_diff1.ref.a5 ./data/demean_false_diff2.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testIntegerNegative", command, checks);
  Verbose::out (1, "\nDoing testIntegerNegative()");
  if (!differencesTest.run()) {
    Verbose::setLevel(2);
    ++numPassed;
  } else {
    Verbose::setLevel(2);
    Verbose::out (1, "Error in File5EquivalentTest::testIntegerNegative(): Negative Test SHOULD HAVE FAILED!!!");
    ++numFailed;
  }
}
コード例 #11
0
// datasets WaveCorrection X1,X2,X3,X4,X5,X6 have values with changed sign; differences fail larger tolerance without -s option
void File5EquivalentTest::testSignAllowNegationNegative2()
{
  string command = "./apt-file5-equivalent -e 0.001 -c 0.999 --datasets-file ./data/datasets_correlation.txt ./data/demean_true_diff2.ref.a5 ./data/demean_true_diff3.ref.a5";
  vector<RegressionCheck *> checks;
  RegressionTest differencesTest ("testSignAllowNegationNegative2", command, checks);
  Verbose::out (1, "\nDoing testSignAllowNegationNegative2()");
  if (!differencesTest.run()) {
    Verbose::setLevel(2);
    ++numPassed;
  } else {
    Verbose::setLevel(2);
    Verbose::out (1, "Error in File5EquivalentTest::testSignAllowNegationNegative2(): Negative Test SHOULD HAVE FAILED!!!");
    ++numFailed;
  }
}
コード例 #12
0
void CelExtractTest::doExtractIntensitiesSubset()
{
  string command = "./apt-cel-extract --probeset-ids=../../../regression-data/data/idata/cel-extract/HG-U133_Plus_2/ps.txt -o " + testDir + "/qt.extract.intensities.sub.txt -s ../../../regression-data/data/idata/lib/HG-U133_Plus_2/HG-U133_Plus_2.spf " + tissueCels;
  vector<RegressionCheck *> checks;
  checks.push_back(new MixedFileCheck(testDir + "/qt.extract.intensities.sub.txt",
                                      "../../../regression-data/data/idata/cel-extract/HG-U133_Plus_2/qt.extract.intensities.sub.txt",
                                      0.1,
                                      0,0));
  RegressionTest extractTest ("qt-doExtractIntensitiesSubset", command.c_str(), checks);
  Verbose::out (1, "Doing qt-doExtractIntensitiesSubset()");
  if (!extractTest.pass()) {
    Verbose::out(1, "Error in qt-doExtractIntensitiesSubset():" + extractTest.getErrorMsg());
    numFailed++;
  }
  else {
    numPassed++;
  }
}
コード例 #13
0
RegTestVec setupTestVector(RegTestMap& availableTests,
                           const RegTestSuite& testsToRun)
{
   RegTestVec res;
   
   for(RegTestSuite::const_iterator itr = testsToRun.begin();
       itr != testsToRun.end();
       itr++)
   {
      const std::string& curTest = *itr;

      std::size_t delim = curTest.find_first_of(' ');

      std::string name;
      std::string arg;

      if(delim == string::npos) {
         name = curTest;
      } else {
         arg = curTest.substr(delim+1);
         name = curTest.substr(0, delim);
      }
      coreprintln("curTest: %s name: %s",
                  curTest.c_str(), name.c_str()); 

         RegTestMap::iterator regItr = availableTests.find(name);

      if(regItr != availableTests.end()) {
         RegressionTest* reg =
            regItr->second(regItr->first.c_str());

         reg->setArg(arg);
         res.push_back(reg);
         coreprintln("push_back: %s", reg->getTestName());
      } else {
         coreprintln_warn("WARNING: Test not found: %s", name.c_str());
      }
   }
   
   return res;
}
コード例 #14
0
ファイル: device.cpp プロジェクト: appleseedhq/appleseed-deps
  ssize_t Device::getProperty(const RTCDeviceProperty prop)
  {
    size_t iprop = (size_t)prop;

    /* get name of internal regression test */
    if (iprop >= 2000000 && iprop < 3000000)
    {
      RegressionTest* test = getRegressionTest(iprop-2000000);
      if (test) return (ssize_t) test->name.c_str();
      else      return 0;
    }

    /* run internal regression test */
    if (iprop >= 3000000 && iprop < 4000000)
    {
      RegressionTest* test = getRegressionTest(iprop-3000000);
      if (test) return test->run();
      else      return 0;
    }

    /* documented properties */
    switch (prop) 
    {
    case RTC_DEVICE_PROPERTY_VERSION_MAJOR: return RTC_VERSION_MAJOR;
    case RTC_DEVICE_PROPERTY_VERSION_MINOR: return RTC_VERSION_MINOR;
    case RTC_DEVICE_PROPERTY_VERSION_PATCH: return RTC_VERSION_PATCH;
    case RTC_DEVICE_PROPERTY_VERSION      : return RTC_VERSION;

#if defined(EMBREE_TARGET_SIMD4) && defined(EMBREE_RAY_PACKETS)
    case RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED:  return hasISA(SSE2);
#else
    case RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED:  return 0;
#endif

#if defined(EMBREE_TARGET_SIMD8) && defined(EMBREE_RAY_PACKETS)
    case RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED:  return hasISA(AVX);
#else
    case RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED:  return 0;
#endif

#if defined(EMBREE_TARGET_SIMD16) && defined(EMBREE_RAY_PACKETS)
    case RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED: return hasISA(AVX512KNL) | hasISA(AVX512SKX);
#else
    case RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED: return 0;
#endif

#if defined(EMBREE_RAY_PACKETS)
    case RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED:  return 1;
#else
    case RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED:  return 0;
#endif
    
#if defined(EMBREE_RAY_MASK)
    case RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: return 0;
#endif

#if defined(EMBREE_BACKFACE_CULLING)
    case RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED: return 1;
#else
    case RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED: return 0;
#endif

#if defined(EMBREE_FILTER_FUNCTION)
    case RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: return 0;
#endif

#if defined(EMBREE_IGNORE_INVALID_RAYS)
    case RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED: return 1;
#else
    case RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED: return 0;
#endif

#if defined(TASKING_INTERNAL)
    case RTC_DEVICE_PROPERTY_TASKING_SYSTEM: return 0;
#endif

#if defined(TASKING_TBB)
    case RTC_DEVICE_PROPERTY_TASKING_SYSTEM: return 1;
#endif

#if defined(TASKING_PPL)
    case RTC_DEVICE_PROPERTY_TASKING_SYSTEM: return 2;
#endif

#if defined(EMBREE_GEOMETRY_TRIANGLE)
    case RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: return 0;
#endif
        
#if defined(EMBREE_GEOMETRY_QUAD)
    case RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED: return 0;
#endif

#if defined(EMBREE_GEOMETRY_CURVE)
    case RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED: return 0;
#endif

#if defined(EMBREE_GEOMETRY_SUBDIVISION)
    case RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED: return 0;
#endif

#if defined(EMBREE_GEOMETRY_USER)
    case RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: return 1;
#else
    case RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: return 0;
#endif

#if defined(TASKING_PPL)
    case RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED: return 0;
#elif defined(TASKING_TBB) && (TBB_INTERFACE_VERSION_MAJOR < 8)
    case RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED: return 0;
#else
    case RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED: return 1;
#endif

    default: throw_RTCError(RTC_ERROR_INVALID_ARGUMENT, "unknown readable property"); break;
    };
  }
コード例 #15
0
ファイル: device.cpp プロジェクト: nyue/embree
  ssize_t Device::getParameter1i(const RTCParameter parm)
  {
    size_t iparm = (size_t)parm;

    /* get name of internal regression test */
    if (iparm >= 2000000 && iparm < 3000000)
    {
      RegressionTest* test = getRegressionTest(iparm-2000000);
      if (test) return (ssize_t) test->name.c_str();
      else      return 0;
    }

    /* run internal regression test */
    if (iparm >= 3000000 && iparm < 4000000)
    {
      RegressionTest* test = getRegressionTest(iparm-3000000);
      if (test) return test->run();
      else      return 0;
    }

    /* documented parameters */
    switch (parm) 
    {
    case RTC_CONFIG_VERSION_MAJOR: return RTCORE_VERSION_MAJOR;
    case RTC_CONFIG_VERSION_MINOR: return RTCORE_VERSION_MINOR;
    case RTC_CONFIG_VERSION_PATCH: return RTCORE_VERSION_PATCH;
    case RTC_CONFIG_VERSION      : return RTCORE_VERSION;

    case RTC_CONFIG_INTERSECT1: return 1;

#if defined(EMBREE_TARGET_SIMD4) && defined(EMBREE_RAY_PACKETS)
    case RTC_CONFIG_INTERSECT4:  return hasISA(SSE2);
#else
    case RTC_CONFIG_INTERSECT4:  return 0;
#endif

#if defined(EMBREE_TARGET_SIMD8) && defined(EMBREE_RAY_PACKETS)
    case RTC_CONFIG_INTERSECT8:  return hasISA(AVX);
#else
    case RTC_CONFIG_INTERSECT8:  return 0;
#endif

#if defined(EMBREE_TARGET_SIMD16) && defined(EMBREE_RAY_PACKETS)
    case RTC_CONFIG_INTERSECT16: return hasISA(AVX512KNL) | hasISA(AVX512SKX);
#else
    case RTC_CONFIG_INTERSECT16: return 0;
#endif

#if defined(EMBREE_RAY_PACKETS)
    case RTC_CONFIG_INTERSECT_STREAM:  return 1;
#else
    case RTC_CONFIG_INTERSECT_STREAM:  return 0;
#endif
    
#if defined(EMBREE_RAY_MASK)
    case RTC_CONFIG_RAY_MASK: return 1;
#else
    case RTC_CONFIG_RAY_MASK: return 0;
#endif

#if defined(EMBREE_BACKFACE_CULLING)
    case RTC_CONFIG_BACKFACE_CULLING: return 1;
#else
    case RTC_CONFIG_BACKFACE_CULLING: return 0;
#endif

#if defined(EMBREE_INTERSECTION_FILTER)
    case RTC_CONFIG_INTERSECTION_FILTER: return 1;
#else
    case RTC_CONFIG_INTERSECTION_FILTER: return 0;
#endif

#if defined(EMBREE_INTERSECTION_FILTER_RESTORE)
    case RTC_CONFIG_INTERSECTION_FILTER_RESTORE: return 1;
#else
    case RTC_CONFIG_INTERSECTION_FILTER_RESTORE: return 0;
#endif

#if defined(EMBREE_IGNORE_INVALID_RAYS)
    case RTC_CONFIG_IGNORE_INVALID_RAYS: return 1;
#else
    case RTC_CONFIG_IGNORE_INVALID_RAYS: return 0;
#endif

#if defined(TASKING_INTERNAL)
    case RTC_CONFIG_TASKING_SYSTEM: return 0;
#endif

#if defined(TASKING_TBB)
    case RTC_CONFIG_TASKING_SYSTEM: return 1;
#endif

#if defined(TASKING_PPL)
    case RTC_CONFIG_TASKING_SYSTEM: return 2;
#endif

#if defined(EMBREE_GEOMETRY_TRIANGLES)
    case RTC_CONFIG_TRIANGLE_GEOMETRY: return 1;
#else
    case RTC_CONFIG_TRIANGLE_GEOMETRY: return 0;
#endif
        
#if defined(EMBREE_GEOMETRY_QUADS)
    case RTC_CONFIG_QUAD_GEOMETRY: return 1;
#else
    case RTC_CONFIG_QUAD_GEOMETRY: return 0;
#endif

#if defined(EMBREE_GEOMETRY_LINES)
    case RTC_CONFIG_LINE_GEOMETRY: return 1;
#else
    case RTC_CONFIG_LINE_GEOMETRY: return 0;
#endif

#if defined(EMBREE_GEOMETRY_HAIR)
    case RTC_CONFIG_HAIR_GEOMETRY: return 1;
#else
    case RTC_CONFIG_HAIR_GEOMETRY: return 0;
#endif

#if defined(EMBREE_GEOMETRY_SUBDIV)
    case RTC_CONFIG_SUBDIV_GEOMETRY: return 1;
#else
    case RTC_CONFIG_SUBDIV_GEOMETRY: return 0;
#endif

#if defined(EMBREE_GEOMETRY_USER)
    case RTC_CONFIG_USER_GEOMETRY: return 1;
#else
    case RTC_CONFIG_USER_GEOMETRY: return 0;
#endif

#if defined(TASKING_TBB) && (TBB_INTERFACE_VERSION_MAJOR < 8)
    case RTC_CONFIG_COMMIT_JOIN: return 0;
    case RTC_CONFIG_COMMIT_THREAD: return 0;
#else
    case RTC_CONFIG_COMMIT_JOIN: return 1;
    case RTC_CONFIG_COMMIT_THREAD: return 1;
#endif

    default: throw_RTCError(RTC_INVALID_ARGUMENT, "unknown readable parameter"); break;
    };
  }
コード例 #16
0
ファイル: Schema.cpp プロジェクト: CIB/polli
TEST(RegressionTest, TestGetRunID) {
  RegressionTest T;
  EXPECT_EQ((uint64_t)0, T.runID());
}
コード例 #17
0
ファイル: Schema.cpp プロジェクト: CIB/polli
TEST(RegressionTest, TestGetSetRunID) {
  RegressionTest T;
  T.setRunID(1);
  EXPECT_EQ((uint64_t)1, T.runID());
}
コード例 #18
0
ファイル: Schema.cpp プロジェクト: CIB/polli
TEST(RegressionTest, TestGetEmptyModule) {
  RegressionTest T;
  EXPECT_EQ("", T.module());
}
コード例 #19
0
ファイル: Schema.cpp プロジェクト: CIB/polli
TEST(RegressionTest, TestSetName) {
  RegressionTest T;
  T.setName("test.module");
  EXPECT_EQ(T.str(), "<RegressionTest (0) Module<test.module>>");
}
コード例 #20
0
int main(int argc, char** argv)
{
    if(argc!=2)
    {
        std::cout<<"Usage: regression.exe configurationFile\n";
        return 1;
    }

    std::string parameterFile(argv[1]);
    RegressionManager manager;
    bool status = true;
    status = manager.init(parameterFile);
    if(status)
    {
        manager.makeRegression();
    }

    if(!status)
        std::cout<<"FATAL: A fatal error occured - QUIT -\n";
    else
        std::cout<<"- Finish - All good -\n";
/*
  TFile *file = new TFile("GBR_Clustering_70pre11_Photons_EG_results.root","READ");
  
  const std::vector<std::string> *varlist = (std::vector<std::string>*)file->Get("varlistEB");
  const GBRForest *forest = (GBRForest*)file->Get("EBCorrection");
  
  int numvars = varlist->size();
  int numtrees = forest->Trees().size();
  
  printf("liste des variables \n");
  for (int ivar = 0; ivar<numvars; ++ivar) {
    printf("%i: %s\n",ivar, varlist->at(ivar).c_str());
  }
  printf("nombre de trees : %i \n",numtrees); 
  
  TTree *dtree;
  TFile *fdin = TFile::Open("~/eos/cms/store/group/phys_egamma/lgray/PhotonRegressionTrees_23012014_v2-runPhotonRegressionTrees_cfg/runPhotonRegressionTrees_cfg-step4_RECO_EI-0006AD69-4A69-E211-922D-002354EF3BE4.root");
  TDirectory *ddir = (TDirectory*)fdin->FindObjectAny("egSCTree");
  dtree = (TTree*)ddir->Get("SuperClusterTree");  
    

  float* Input;
  Input = new float[numvars];
  dtree->SetBranchAddress("scEta",&Input[0]);  
  dtree->SetBranchAddress("scPhi",&Input[1]);  
  dtree->SetBranchAddress("scEtaWidth",&Input[2]);  
  dtree->SetBranchAddress("scPhiWidth",&Input[3]);
  double Output;

  for (int i=0;i<100;i++){
  dtree->GetEntry(i); 
  //printf(" eta =%f phi =%f etawidth = %f phiwidth = %f \n",scEta,scPhi, scEtaWidth, scPhiWidth);
  //Input[0]=scEta;
  //Input[1]=scPhi;
  //Input[2]=scEtaWidth;
  //Input[3]=scPhiWidth;
  Output=forest->GetResponse(Input);
  printf("Ecor/Eraw = %f \n",Output);
  }
*/

    RegressionTest test;
    test.init("GBR_Clustering_70pre11_Photons_EG_results.root","~/eos/cms/store/group/phys_egamma/lgray/PhotonRegressionTrees_23012014_v2-runPhotonRegressionTrees_cfg/runPhotonRegressionTrees_cfg-step4_RECO_EI-FA47A89F-906A-E211-9ABF-003048FFCBB0.root","egSCTree","SuperClusterTree");
    test.PlotResponse();
       
    return status;
}