43 TApplication app(
"app",
nullptr,
nullptr);
44 TH1::AddDirectory(
false);
46 std::vector<std::string> objectList;
47 std::vector<std::string> labels;
48 std::stringstream ss(objects);
52 if (filename.rfind(
"alien://", 0) == 0) {
53 TGrid::Connect(
"alien://");
55 while (std::getline(ss, label, delimiter)) {
56 objectList.push_back(label);
63 Printf(
"Opening file '%s' ...", filename.c_str());
66 Printf(
"Error: Cannot open filename %s!", filename.c_str());
70 for (
long unsigned int i = 0; i < objectList.size(); i++) {
71 std::string objTemp = objectList[i].c_str();
72 Printf(
"Object : %s", objTemp.c_str());
73 size_t pos = objTemp.find(dirtoken);
74 labels.push_back(objTemp.substr(pos + dirtoken.length()));
77 fInputHnSparse = (THnSparse *)inputFile->Get(objectList[0].c_str());
79 Printf(
"Error: Cannot find objects %s!", objectList[0].c_str());
84 int nDim = listOfAxes->GetEntries();
86 TH2 * hAxes =
new TH2D(
"hAxes",
"Sparse Axes", nDim, 0., nDim, objectList.size(), 0., objectList.size());
90 for (
int i = 0; i < nDim; i++) {
91 TAxis * a = (TAxis *)listOfAxes->At(i);
92 hAxes->GetXaxis()->SetBinLabel(i + 1, a->GetName());
93 for (
long unsigned int j = 0; j < objects.size(); j++) {
94 hAxes->SetBinContent(i + 1, j + 1, 1);
98 for (
long unsigned int i = 0; i < objects.size(); i++) {
100 hAxes->GetYaxis()->SetBinLabel(i + 1, objectList[i].c_str());
102 hAxes->GetYaxis()->SetBinLabel(i + 1, labels[i].c_str());
105 hAxes->GetYaxis()->SetLabelSize(0.08);
106 hAxes->GetXaxis()->SetLabelSize(0.08);
108 THnSparse * sparseTmp =
nullptr;
109 for (
long unsigned int i = 0; i < objects.size(); i++) {
110 sparseTmp = (THnSparse *)inputFile->Get(objectList[i].c_str());
112 Printf(
"Error: Cannot find objects %s!", objectList[i].c_str());
118 TCanvas * CanvasMap =
new TCanvas(
"CanvasAxes",
"CanvasAxes", 0, 0, 1000, 300);
120 CanvasMap->Connect(
"Highlighted(TVirtualPad*,TObject*,Int_t,Int_t)",
"Ndmspc::HnSparseBrowser",
this,
121 "HighlightMain(TVirtualPad*,TObject*,Int_t,Int_t)");
122 hAxes->SetHighlight(
true);
virtual int DrawBrowser(std::string filename="root://eos.ndmspc.io//eos/ndmspc/scratch/alice/hyperloop/PWGLF-376/222580/AnalysisResults.root", std::string objects="phianalysis-t-hn-sparse_default/unlikepm,phianalysis-t-hn-sparse_default/likepp", std::string dirtoken="/")