Definition at line 1797 of file TRTCalib_makeplots.cxx.
◆ DvGraph()
DvGraph::DvGraph |
( |
char * |
infile, |
|
|
string |
path, |
|
|
const string & |
folder, |
|
|
int |
det, |
|
|
int |
lay, |
|
|
bool |
isinverted |
|
) |
| |
Definition at line 1805 of file TRTCalib_makeplots.cxx.
1808 this->SetName(Form(
"Dv_%i_%i",
det, lay));
1810 vector<string> levels;
1814 if (
const auto f =
path.find(
',');
f==std::string::npos ){
1817 levels.push_back(
path.substr(0,
f));
1818 path.erase(
f+1,std::string::npos);
1821 levels.push_back(
path.substr(0,
path.find(
",")));
1822 cout <<
" In DvGraph folder: " <<
folder <<
" det " <<
det <<
" lay " << lay << endl;
1823 for (
unsigned int i = 0;
i < levels.size();
i++)
1824 cout <<
" " << levels.at(
i);
1831 TDirectory *trt = (TDirectory *)
file->FindKey(
"TRT_all")->ReadObj();
1834 TDirectory *thisdet = (TDirectory *)trt->FindKey(
folder.c_str())->ReadObj();
1835 cout <<
"PLOT FOR " <<
folder << endl;
1836 if (thisdet->FindKey(
"rtgraph"))
1838 rtgraph = (TGraphErrors *)thisdet->FindKey(
"rtgraph")->ReadObj();
1839 cout <<
"found rtgraph " <<
folder << endl;
1844 cout <<
"did not find rtgraph " <<
folder << endl;
1847 else if (trt->FindKey(
"rtgraph"))
1849 rtgraph = (TGraphErrors *)trt->FindKey(
"rtgraph")->ReadObj();
1850 cout <<
"no folder, but found rtgraph " <<
folder << endl;
1855 cout <<
"no folder, no rtgraph " <<
folder << endl;
1861 TF1 *rtfunc = (TF1 *)
rtgraph->GetListOfFunctions()->First();
1863 double p0 = rtfunc->GetParameter(0);
1864 double p1 = rtfunc->GetParameter(1);
1865 double p2 = rtfunc->GetParameter(2);
1866 double p3 = rtfunc->GetParameter(3);
1868 cout <<
" R-t PARAMETERS: " <<
p0 <<
" " <<
p1 <<
" " <<
p2 <<
" " <<
p3 << endl;
1870 bool isdines =
false;
1876 vrrelation =
"x*[2]/sqrt([0]*[0]+x*x)";
1878 vrrelation =
"sqrt([0]*[0]+x*x)/(x*[2])";
1880 TF1 *vr1 =
new TF1(
"vr-relation", vrrelation.c_str(), 0.0001, 2.0);
1881 vr1->SetParameters(
p0,
p1,
p2);
1883 for (
int i = 0;
i <= 100;
i++)
1885 float r = 0.1 + (2.0 - 0.1) * (
float)
i / 100;
1886 float v1 = vr1->Eval(
r, 0, 0, 0);
1887 this->SetPoint(
i,
r, v1);
1895 cout <<
" USING POLYNOMIAL R-t RELATION" << endl;
1897 string rtrelation =
"[0]+x*([1]+x*([2]+x*[3]))";
1900 vtrelation =
"1/([0]+2*x*[1]+3*x*x*[2])";
1902 vtrelation =
"[0]+2*x*[1]+3*x*x*[2]";
1904 TF1 *rt1 =
new TF1(
"rt-relation", rtrelation.c_str(), -10000, 10000);
1905 rt1->SetParameters(
p0,
p1,
p2,
p3);
1906 TF1 *vt1 =
new TF1(
"vt-relation", vtrelation.c_str(), -10000, 10000);
1907 vt1->SetParameters(
p1,
p2,
p3);
1909 for (
int i = 0;
i <= 100;
i++)
1911 float r = 0.1 + (2.0 - 0.1) * (
float)
i / 100;
1912 float t1 = rt1->GetX(
r, -10000, 10000);
1913 float v1 = vt1->Eval(
t1, 0, 0, 0);
1914 this->SetPoint(
i,
r, v1);
◆ rtgraph
The documentation for this class was generated from the following file: