File indexing completed on 2026-04-17 07:52:39
0001 #include <map>
0002 #include <string>
0003 #include <vector>
0004
0005 void processMicrotrack(const char* filename = "microtrack.root")
0006 {
0007 TFile* f = new TFile(filename, "UPDATE");
0008 if (!f || f->IsZombie()) {
0009 Error("processMicrotrack", "Cannot open file %s", filename);
0010 return;
0011 }
0012
0013
0014 std::map<std::string, std::pair<const char*, const char*>> h1Axis = {
0015 {"fe", {"#varepsilon_{1} (keV)", "f(#varepsilon_{1})"}},
0016 {"efe", {"#varepsilon_{1} (keV)", "#varepsilon_{1} f(#varepsilon_{1})"}},
0017 {"e2fe", {"#varepsilon_{1} (keV)", "#varepsilon^{2}_{1} f(#varepsilon_{1})"}},
0018 {"fy", {"y (keV/#mum)", "f(y)"}},
0019 {"yfy", {"y (keV/#mum)", "y f(y)"}},
0020 {"y2fy", {"y (keV/#mum)", "y^{2} f(y)"}},
0021 {"fz", {"z_{1} (Gy)", "f(z_{1})"}},
0022 {"zfz", {"z_{1} (Gy)", "z_{1} f(z_{1})"}},
0023 {"z2fz", {"z_{1} (Gy)", "z^{2}_{1} f(z_{1})"}},
0024 {"Nsel", {"N_{sel}", "Counts"}},
0025 {"Nsite", {"N_{site}", "Counts"}},
0026 {"Nint", {"N_{int}", "Counts"}},
0027 {"KinE_in", {"T_{in} (MeV)", "Counts"}},
0028 {"KinE_out", {"T_{out} (MeV)", "Counts"}},
0029 };
0030
0031
0032 for (const auto& kv : h1Axis) {
0033 if (TH1* h = (TH1*)f->Get(kv.first.c_str())) {
0034 h->GetXaxis()->SetTitle(kv.second.first);
0035 h->GetYaxis()->SetTitle(kv.second.second);
0036 h->Write("", TObject::kOverwrite);
0037 }
0038 }
0039
0040 f->Close();
0041 }
0042