Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-17 09:23:59

0001 #include <cdbobjects/CDBTTree.h>
0002 
0003 #include <TSystem.h>
0004 
0005 #include <cmath>
0006 #include <iostream>
0007 
0008 R__LOAD_LIBRARY(libcdbobjects.so)
0009 
0010 void TestCDBTTree(const std::string &fname = "test.root")
0011 {
0012   CDBTTree *cdbttree = new CDBTTree(fname);
0013   cdbttree->SetSingleFloatValue("Test",25);
0014   cdbttree->SetSingleFloatValue("Test2",22);
0015   cdbttree->SetSingleFloatValue("Test3",23);
0016   cdbttree->SetSingleFloatValue("Test4",24);
0017   cdbttree->SetSingleIntValue("Tes2",24);
0018   cdbttree->SetSingleDoubleValue("Tes2",M_PI);
0019   cdbttree->SetSingleUInt64Value("Tes2",12486346984672562);
0020   cdbttree->CommitSingle();
0021   cdbttree->SetFloatValue(2,"Tst",25);
0022   cdbttree->SetFloatValue(2,"Tt2",22);
0023   cdbttree->SetFloatValue(2,"Tes",23);
0024   cdbttree->SetFloatValue(2,"gaga",24);
0025   cdbttree->SetFloatValue(4,"Tst",5);
0026   cdbttree->SetFloatValue(4,"Tt2",2);
0027   cdbttree->SetFloatValue(4,"Tes",3);
0028   cdbttree->SetFloatValue(4,"Tara",7);
0029   cdbttree->SetIntValue(10,"blar",2864);
0030   cdbttree->SetUInt64Value(10,"blatr",28);
0031   for (int i=0; i<10; i++)
0032   {
0033     std::string varname = "dvar" + std::to_string(i);
0034     cdbttree->SetDoubleValue(23,varname,28875342.867);
0035   }
0036   cdbttree->Commit();
0037   cdbttree->Print();
0038   cdbttree->WriteCDBTTree();
0039   delete cdbttree;
0040   gSystem->Exit(0);
0041 }
0042 
0043 CDBTTree *TestWrite(const std::string &fname = "test.root")
0044 {
0045   CDBTTree *cdbttree = new CDBTTree(fname);
0046   cdbttree->SetSingleFloatValue("Test",25);
0047   cdbttree->SetSingleFloatValue("Test2",22);
0048   cdbttree->SetSingleFloatValue("Test3",23);
0049   cdbttree->SetSingleFloatValue("Test4",24);
0050   cdbttree->SetSingleIntValue("Tes2",24);
0051   cdbttree->SetSingleDoubleValue("Tes2",M_PI);
0052   cdbttree->SetSingleUInt64Value("Tes2",12486346984672562);
0053   cdbttree->CommitSingle();
0054   cdbttree->SetFloatValue(2,"Tst",25);
0055   cdbttree->SetFloatValue(2,"Tt2",22);
0056   cdbttree->SetFloatValue(2,"Tes",23);
0057   cdbttree->SetFloatValue(2,"gaga",24);
0058   cdbttree->SetFloatValue(4,"Tst",5);
0059   cdbttree->SetFloatValue(4,"Tt2",2);
0060   cdbttree->SetFloatValue(4,"Tes",3);
0061   cdbttree->SetFloatValue(4,"Tara",7);
0062   cdbttree->SetIntValue(10,"blar",2864);
0063   cdbttree->SetUInt64Value(10,"blatr",28);
0064   for (int i=0; i<100; i++)
0065   {
0066     std::string varname = "dvar";
0067     std::string varname2 = "dvar2";
0068     std::string varname3 = "dvar3";
0069     std::string varname4 = "dvar4";
0070     for (int j=0; j<25; j++)
0071     {
0072       cdbttree->SetDoubleValue(j,varname,28875342.867*j);
0073       cdbttree->SetDoubleValue(j,varname2,2.867*j);
0074       cdbttree->SetDoubleValue(j,varname3,28875.8*j);
0075       cdbttree->SetDoubleValue(j,varname4,28875342*j);
0076     }
0077   }
0078   return cdbttree;
0079 }
0080 
0081 void Read(const std::string &fname = "test.root")
0082 {
0083   CDBTTree *cdbttree = new CDBTTree(fname);
0084   cdbttree->LoadCalibrations();
0085   std::cout << "Test2: " << cdbttree->GetSingleFloatValue("Test2") << std::endl;
0086   std::cout << "Tt2(2): " << cdbttree->GetFloatValue(2,"Tt2") << std::endl;
0087   std::cout << "Tt2(4): " << cdbttree->GetFloatValue(4,"Tt2") << std::endl;
0088   std::cout << "blar: " << cdbttree->GetIntValue(10,"blar") << std::endl;
0089   std::cout << "int Tt2(4): " << cdbttree->GetIntValue(4,"Tt2") << std::endl;
0090   std::cout << "dvar5: " << cdbttree->GetDoubleValue(23,"dvar5");
0091   cdbttree->Print();
0092   delete cdbttree;
0093   gSystem->Exit(0);
0094 }