|
| | DGraph (char *, string, const string &, int, int, bool) |
| |
Definition at line 1927 of file TRTCalib_makeplots.cxx.
◆ DGraph()
| DGraph::DGraph |
( |
char * |
infile, |
|
|
string |
path, |
|
|
const string & |
folder, |
|
|
int |
det, |
|
|
int |
lay, |
|
|
bool |
isinverted |
|
) |
| |
Definition at line 1935 of file TRTCalib_makeplots.cxx.
1938 this->SetName(Form(
"Dv_%i_%i",
det, lay));
1940 vector<string> levels;
1943 if (
const auto f =
path.find(
',');
f==std::string::npos ){
1946 levels.push_back(
path.substr(0,
f));
1950 levels.push_back(
path.substr(0,
path.find(
',')));
1955 cout <<
" In DGraph. Folder: " <<
folder <<
" det " <<
det <<
" lay " << lay << endl;
1956 for (
unsigned int i = 0;
i < levels.size();
i++)
1957 cout <<
" " << levels.at(
i);
1959 cout <<
" infile:" << string(
infile) << endl;
1961 TDirectory *trt = (TDirectory *)
file->FindKey(
"TRT_all")->ReadObj();
1964 TDirectory *thisDet = (TDirectory *)trt->FindKey(
folder.c_str())->ReadObj();
1965 cout <<
"PLOT FOR " <<
folder << endl;
1966 if (thisDet->FindKey(
"rtgraph"))
1968 rtgraph = (TGraphErrors *)thisDet->FindKey(
"rtgraph")->ReadObj();
1969 cout <<
" folder: " <<
folder <<
" found rtgraph " << endl;
1974 cout <<
" folder: " <<
folder <<
" did not find rtgraph " << endl;
1977 else if (trt->FindKey(
"rtgraph"))
1979 rtgraph = (TGraphErrors *)trt->FindKey(
"rtgraph")->ReadObj();
1980 cout <<
" no folder, found rtgraph " << endl;
1985 cout <<
" no folder, no rtgraph " << endl;
1990 TF1 *rtfunc = (TF1 *)
rtgraph->GetListOfFunctions()->First();
1992 double p0 = rtfunc->GetParameter(0);
1993 double p1 = rtfunc->GetParameter(1);
1994 double p2 = rtfunc->GetParameter(2);
1995 double p3 = rtfunc->GetParameter(3);
1997 cout <<
" R-t PARAMETERS: " <<
p0 <<
" " <<
p1 <<
" " <<
p2 <<
" " <<
p3 << endl;
1999 const bool isdines =
false;
2006 vrrelation =
"x*[2]/sqrt([0]*[0]+x*x)";
2008 vrrelation =
"sqrt([0]*[0]+x*x)/(x*[2])";
2010 TF1 *vr1 =
new TF1(
"vr-relation", vrrelation.c_str(), 0.0001, 2.0);
2011 vr1->SetParameters(
p0,
p1,
p2);
2013 for (
int i = 0;
i <= 100;
i++)
2015 float r = 0.1 + (2.0 - 0.1) * (
float)
i / 100;
2016 float v1 = vr1->Eval(
r, 0, 0, 0);
2017 this->SetPoint(
i,
r, v1);
2024 cout <<
" USING POLYNOMIAL R-t RELATION" << endl;
2026 string rtrelation =
"[0]+x*([1]+x*([2]+x*[3]))";
2029 vtrelation =
"1/([0]+2*x*[1]+3*x*x*[2])";
2031 vtrelation =
"[0]+2*x*[1]+3*x*x*[2]";
2033 TF1 *rt1 =
new TF1(
"rt-relation", rtrelation.c_str(), -10000, 10000);
2034 rt1->SetParameters(
p0,
p1,
p2,
p3);
2035 TF1 *vt1 =
new TF1(
"vt-relation", vtrelation.c_str(), -10000, 10000);
2036 vt1->SetParameters(
p1,
p2,
p3);
2038 for (
int i = 0;
i <= 1000;
i++)
2040 float t1 = -5 +
i * 0.05;
2041 float r1 = rt1->Eval(
t1, 0, 0, 0);
2042 this->SetPoint(
i,
t1, r1);
◆ rtgraph
The documentation for this class was generated from the following file: