File indexing completed on 2025-08-03 08:20:23
0001 #include <cdbobjects/CDBTTree.h>
0002 #include <tpc/TpcMap.h>
0003
0004 R__LOAD_LIBRARY(libcdbobjects.so)
0005 R__LOAD_LIBRARY(libtpc.so)
0006
0007
0008 void TestCDBTTreeTPC(const std::string &fname = "./PadPlane/TPCPadPlaneCDBTTree.root")
0009 {
0010 TpcMap M;
0011
0012
0013
0014 M.setMapNames("../../../../../../../../../../../sphenix/user/shulga/Work/TPCPadPlaneMapping/macros/calibrations/tpc/PadPlane/AutoPad-R1-RevA.sch.ChannelMapping.csv",
0015 "../../../../../../../../../../../sphenix/user/shulga/Work/TPCPadPlaneMapping/macros/calibrations/tpc/PadPlane/AutoPad-R2-RevA-Pads.sch.ChannelMapping.csv",
0016 "../../../../../../../../../../../sphenix/user/shulga/Work/TPCPadPlaneMapping/macros/calibrations/tpc/PadPlane/AutoPad-R3-RevA.sch.ChannelMapping.csv");
0017
0018
0019 CDBTTree *cdbttree = new CDBTTree(fname);
0020
0021 int Nfee = 26;
0022 int Nch = 256;
0023 for(int f=0;f<Nfee;f++){
0024 for(int ch=0;ch<Nch;ch++){
0025 int layer = M.getLayer(f, ch);
0026 int padN = M.getPad(f, ch);
0027 double padR = M.getR(f, ch);
0028 if (f==5 && ch==30){std::cout<<"layer="<<layer<<" padR="<<padR<<std::endl;}
0029 double padPhi = M.getPhi(f, ch);
0030 int mod = 0;
0031 if(f>5) mod = 1;
0032 if(f>15) mod =2;
0033 unsigned int key = 256 * (f) + ch;
0034 string varname = "layer";
0035 cdbttree->SetIntValue(key,varname,layer);
0036 varname = "fee";
0037 cdbttree->SetIntValue(key,varname,f);
0038 varname = "ch";
0039 cdbttree->SetIntValue(key,varname,ch);
0040 varname = "R";
0041 cdbttree->SetDoubleValue(key,varname,padR);
0042 varname = "phi";
0043 cdbttree->SetDoubleValue(key,varname,padPhi);
0044 varname = "pad";
0045 cdbttree->SetIntValue(key,varname,padN);
0046
0047 }
0048 }
0049
0050 std::cout<<"cdbttree->Commit();"<<std::endl;
0051 cdbttree->Commit();
0052 std::cout<<"cdbttree->Print();"<<std::endl;
0053
0054 std::cout<<"cdbttree->WriteCDBTTree()"<<std::endl;
0055 cdbttree->WriteCDBTTree();
0056
0057 std::cout<<"delete cdbttree;"<<std::endl;
0058 delete cdbttree;
0059
0060 std::cout<<"gSystem->Exit(0);"<<std::endl;
0061
0062 gSystem->Exit(0);
0063 }
0064
0065 CDBTTree *TestWrite(const std::string &fname = "test.root")
0066 {
0067 CDBTTree *cdbttree = new CDBTTree(fname);
0068 cdbttree->SetSingleFloatValue("Test",25);
0069 cdbttree->SetSingleFloatValue("Test2",22);
0070 cdbttree->SetSingleFloatValue("Test3",23);
0071 cdbttree->SetSingleFloatValue("Test4",24);
0072 cdbttree->SetSingleIntValue("Tes2",24);
0073 cdbttree->SetSingleDoubleValue("Tes2",TMath::Pi());
0074 cdbttree->SetSingleUInt64Value("Tes2",12486346984672562);
0075 cdbttree->CommitSingle();
0076 cdbttree->SetFloatValue(2,"Tst",25);
0077 cdbttree->SetFloatValue(2,"Tt2",22);
0078 cdbttree->SetFloatValue(2,"Tes",23);
0079 cdbttree->SetFloatValue(2,"gaga",24);
0080 cdbttree->SetFloatValue(4,"Tst",5);
0081 cdbttree->SetFloatValue(4,"Tt2",2);
0082 cdbttree->SetFloatValue(4,"Tes",3);
0083 cdbttree->SetFloatValue(4,"Tara",7);
0084 cdbttree->SetIntValue(10,"blar",2864);
0085 cdbttree->SetUInt64Value(10,"blatr",28);
0086 for (int i=0; i<100; i++)
0087 {
0088 string varname = "dvar";
0089 string varname2 = "dvar2";
0090 string varname3 = "dvar3";
0091 string varname4 = "dvar4";
0092 for (int j=0; j<25; j++)
0093 {
0094 cdbttree->SetDoubleValue(j,varname,28875342.867*j);
0095 cdbttree->SetDoubleValue(j,varname2,2.867*j);
0096 cdbttree->SetDoubleValue(j,varname3,28875.8*j);
0097 cdbttree->SetDoubleValue(j,varname4,28875342*j);
0098 }
0099 }
0100 return cdbttree;
0101 }
0102
0103 void Read(const std::string &fname = "test.root")
0104 {
0105 CDBTTree *cdbttree = new CDBTTree(fname);
0106 cdbttree->LoadCalibrations();
0107 cout << "Test2: " << cdbttree->GetSingleFloatValue("Test2") << endl;
0108 cout << "Tt2(2): " << cdbttree->GetFloatValue(2,"Tt2") << endl;
0109 cout << "Tt2(4): " << cdbttree->GetFloatValue(4,"Tt2") << endl;
0110 cout << "blar: " << cdbttree->GetIntValue(10,"blar") << endl;
0111 cout << "int Tt2(4): " << cdbttree->GetIntValue(4,"Tt2") << endl;
0112 cout << "dvar5: " << cdbttree->GetDoubleValue(23,"dvar5");
0113 cdbttree->Print();
0114 delete cdbttree;
0115 gSystem->Exit(0);
0116 }