BmnRoot
Loading...
Searching...
No Matches
BmnOfflineQaSteering.cxx
Go to the documentation of this file.
2
6
10
11vector<Double_t> BmnOfflineQaSteering::GetAxisAttributes(TString histoName) {
12 TString gPathConfig = gSystem->Getenv("VMCWORKDIR");
13 TString gPathFull = gPathConfig + "/macro/steering/qaHisto.dat";
14
15 string line;
16 ifstream f(gPathFull.Data(), ios::in);
17
18 vector <Double_t> axisAttr;
19
20 while (!f.eof()) {
21 getline(f, line);
22
23 TString currString(line);
24
25 if (currString.Contains(histoName.Data())) {
26 TObjArray* arr = currString.Tokenize(" ");
27 for (Int_t iEle = 0; iEle < arr->GetEntriesFast(); iEle++) {
28 TString str = ((TObjString*) arr->UncheckedAt(iEle))->GetString();
29 if (str.Contains("nBins") || str.Contains("nBinsX") || str.Contains("nBinsY") ||
30 str.Contains("xLow") || str.Contains("xUp") || str.Contains("yLow") || str.Contains("yUp")) {
31 TString tmp = ((TObjString*) arr->UncheckedAt(iEle + 1))->GetString();
32 axisAttr.push_back(tmp.Atof());
33 }
34 }
35 break;
36 }
37 }
38 return axisAttr;
39}
40
41void BmnOfflineQaSteering::ParseSteerFile(TString fileName) {
42 TString gPathConfig = gSystem->Getenv("VMCWORKDIR");
43 TString gPathFull = gPathConfig + "/macro/steering/" + fileName;
44
45 TString buff = "";
46 string line;
47 ifstream f(gPathFull.Data(), ios::in);
48
49 getline(f, line); // Line with comments
50 getline(f, line); // get number of canvases to be registered ...
51 f >> buff >> fNCanvases;
52
53 for (Int_t iCanvas = 0; iCanvas < fNCanvases; iCanvas++) {
54 TString setup, name;
55 Int_t run, col1d, col2d, rows1d, rows2d;
56 const Int_t nSetups = 3;
57
58 getline(f, line);
59 for (Int_t iSetup = 0; iSetup < nSetups; iSetup++) {
60 if (iSetup == 0) {
61 f >> name >> run >> setup >> rows1d >> col1d >> rows2d >> col2d;
62 fListCanvases.push_back(name);
63 } else
64 f >> run >> setup >> rows1d >> col1d >> rows2d >> col2d;
65 vector <TString> vec = {
66 TString::Format("%d", run),
67 TString::Format("%s", setup.Data()),
68 TString::Format("%s", name.Data()),
69 TString::Format("%d", rows1d),
70 TString::Format("%d", col1d),
71 TString::Format("%d", rows2d),
72 TString::Format("%d", col2d)
73 };
74
75 fCanvasAttributes.push_back(vec);
76 }
77 }
78
79 // Get period, exp. setup, start and finish run id, set of detectors and triggers ...
80 for (Int_t iLine = 0; iLine < 3; iLine++) {
81 getline(f, line);
82 Int_t period, start, finish, Ndets, Ntrigs;
83 TString setup, detector, trigger;
84 f >> period >> setup >> start >> finish >> buff >> Ndets;
85 fBorderRuns[make_pair(period, setup)] = make_pair(start, finish);
86
87 vector <TString> detectors;
88
89 for (Int_t iDet = 0; iDet < Ndets; iDet++) {
90 f >> detector;
91 detectors.push_back(detector);
92 }
93 fDetectors[make_pair(period, setup)] = detectors;
94
95 vector <TString> triggers;
96 f >> buff >> Ntrigs;
97 for (Int_t iTrigger = 0; iTrigger < Ntrigs; iTrigger++) {
98 f >> trigger;
99 triggers.push_back(trigger);
100 }
101 fTriggers[make_pair(period, setup)] = triggers;
102 }
103
104 // Get releases to be published ...
105 getline(f, line);
106 f >> buff >> fNReleases;
107
108 getline(f, line);
109 for (Int_t iRelease = 0; iRelease < fNReleases; iRelease++) {
110 TString releaseName;
111 if (iRelease == 0)
112 f >> buff >> releaseName;
113 else
114 f >> releaseName;
115 fListReleases.push_back(releaseName);
116 }
117}
118
float f
Definition P4_F32vec4.h:21
vector< Double_t > GetAxisAttributes(TString)
-clang-format
Definition setup.py:1
name
Definition setup.py:7