|
| DGraph (char *, string, const string &, int, int, bool) |
|
Definition at line 1926 of file TRTCalib_makeplots.cxx.
◆ DGraph()
DGraph::DGraph |
( |
char * |
infile, |
|
|
string |
path, |
|
|
const string & |
folder, |
|
|
int |
det, |
|
|
int |
lay, |
|
|
bool |
isinverted |
|
) |
| |
Definition at line 1934 of file TRTCalib_makeplots.cxx.
1937 this->SetName(Form(
"Dv_%i_%i",
det, lay));
1939 vector<string> levels;
1942 if (
const auto f =
path.find(
',');
f==std::string::npos ){
1945 levels.push_back(
path.substr(0,
f));
1949 levels.push_back(
path.substr(0,
path.find(
',')));
1954 cout <<
" In DGraph. Folder: " <<
folder <<
" det " <<
det <<
" lay " << lay << endl;
1955 for (
unsigned int i = 0;
i < levels.size();
i++)
1956 cout <<
" " << levels.at(
i);
1958 cout <<
" infile:" << string(
infile) << endl;
1960 TDirectory *trt = (TDirectory *)
file->FindKey(
"TRT_all")->ReadObj();
1963 TDirectory *thisDet = (TDirectory *)trt->FindKey(
folder.c_str())->ReadObj();
1964 cout <<
"PLOT FOR " <<
folder << endl;
1965 if (thisDet->FindKey(
"rtgraph"))
1967 rtgraph = (TGraphErrors *)thisDet->FindKey(
"rtgraph")->ReadObj();
1968 cout <<
" folder: " <<
folder <<
" found rtgraph " << endl;
1973 cout <<
" folder: " <<
folder <<
" did not find rtgraph " << endl;
1976 else if (trt->FindKey(
"rtgraph"))
1978 rtgraph = (TGraphErrors *)trt->FindKey(
"rtgraph")->ReadObj();
1979 cout <<
" no folder, found rtgraph " << endl;
1984 cout <<
" no folder, no rtgraph " << endl;
1989 TF1 *rtfunc = (TF1 *)
rtgraph->GetListOfFunctions()->First();
1991 double p0 = rtfunc->GetParameter(0);
1992 double p1 = rtfunc->GetParameter(1);
1993 double p2 = rtfunc->GetParameter(2);
1994 double p3 = rtfunc->GetParameter(3);
1996 cout <<
" R-t PARAMETERS: " <<
p0 <<
" " <<
p1 <<
" " <<
p2 <<
" " <<
p3 << endl;
1998 bool isdines =
false;
2005 vrrelation =
"x*[2]/sqrt([0]*[0]+x*x)";
2007 vrrelation =
"sqrt([0]*[0]+x*x)/(x*[2])";
2009 TF1 *vr1 =
new TF1(
"vr-relation", vrrelation.c_str(), 0.0001, 2.0);
2010 vr1->SetParameters(
p0,
p1,
p2);
2012 for (
int i = 0;
i <= 100;
i++)
2014 float r = 0.1 + (2.0 - 0.1) * (
float)
i / 100;
2015 float v1 = vr1->Eval(
r, 0, 0, 0);
2016 this->SetPoint(
i,
r, v1);
2023 cout <<
" USING POLYNOMIAL R-t RELATION" << endl;
2025 string rtrelation =
"[0]+x*([1]+x*([2]+x*[3]))";
2028 vtrelation =
"1/([0]+2*x*[1]+3*x*x*[2])";
2030 vtrelation =
"[0]+2*x*[1]+3*x*x*[2]";
2032 TF1 *rt1 =
new TF1(
"rt-relation", rtrelation.c_str(), -10000, 10000);
2033 rt1->SetParameters(
p0,
p1,
p2,
p3);
2034 TF1 *vt1 =
new TF1(
"vt-relation", vtrelation.c_str(), -10000, 10000);
2035 vt1->SetParameters(
p1,
p2,
p3);
2037 for (
int i = 0;
i <= 1000;
i++)
2039 float t1 = -5 +
i * 0.05;
2040 float r1 = rt1->Eval(
t1, 0, 0, 0);
2041 this->SetPoint(
i,
t1, r1);
◆ rtgraph
The documentation for this class was generated from the following file: