1 #include "../CommonTools.h"
22 std::map<std::string,std::vector<double>> modules;
33 ostringstream canname;
36 double stepsize = 1.07;
39 for(
int i=1;
i <nbins+1;
i++)
41 bins[
i]=bins[
i-1]*stepsize;
45 std::vector<double> totalTime;
46 const int totentries = modules.at(
"MvtxClusterizer").size();
48 for(
int i=0;
i<totentries;
i++)
49 { totalTime.push_back(0); }
51 TFile *
outfile =
new TFile(filename.c_str(),
"recreate");
52 for(
const auto& [moduleName,
values] : modules)
55 canname<<
"can_"<<moduleName.c_str();
56 TCanvas *can =
new TCanvas(canname.str().c_str(),canname.str().c_str(),
59 TH1F *histo =
new TH1F(moduleName.c_str(),moduleName.c_str(),
69 histo->GetXaxis()->SetTitle(
"time [ms]");
77 myText(0.2,0.96,kBlack,moduleName.c_str());
82 TH1F *totalTimes =
new TH1F(
"totalTime",
";time [ms]",nbins,bins);
83 for(
const auto& val : totalTime)
84 { totalTimes->Fill(val); }
97 file.open(filename.c_str());
101 while(getline(file,line)) {
102 for(
auto& [module,
values] : modules) {
103 if(line.find(module) != std::string::npos) {
104 if(line.find(
"TOP") != std::string::npos) {
105 const auto pos = line.find(
"(ms): ");
106 const auto val = line.substr(
pos+7,11);
107 values.push_back(atof(val.c_str()));
109 else if(line.find(
"Acts seed time") != std::string::npos) {
110 const auto apos = line.find(
"time ");
111 const auto aval = line.substr(apos+5,6);
112 values.push_back(atof(aval.c_str()));
123 std::vector<double> mvtx, intt, tpc, tpclean, silseed, caseed, preprop, kfprop, circlefit, clusterMover, tpcresiduals, secondtrkfit, trackmatch, trackfit, vtxfinder, vertexprop, actsseed,
mm, mmmatch, dzcor;
124 modules.insert(std::make_pair(
"MvtxClusterizer",mvtx));
125 modules.insert(std::make_pair(
"InttClusterizer",intt));
126 modules.insert(std::make_pair(
"TpcClusterizer",tpc));
127 modules.insert(std::make_pair(
"MicromegasClusterizer",mm));
128 modules.insert(std::make_pair(
"PHMicromegasTpcTrackMatching",mmmatch));
129 modules.insert(std::make_pair(
"TpcClusterCleaner",tpclean));
130 modules.insert(std::make_pair(
"PHActsSiliconSeeding",silseed));
131 modules.insert(std::make_pair(
"Acts seed time",actsseed));
132 modules.insert(std::make_pair(
"PHCASeeding",caseed));
133 modules.insert(std::make_pair(
"PrePropagatorPHTpcTrackSeedCircleFit",preprop));
134 modules.insert(std::make_pair(
"PHSimpleKFProp",kfprop));
135 modules.insert(std::make_pair(
"PHTpcTrackSeedCircleFit",circlefit));
136 modules.insert(std::make_pair(
"PHSiliconTpcTrackMatching",trackmatch));
137 modules.insert(std::make_pair(
"PHActsFirstTrkFitter",trackfit));
138 modules.insert(std::make_pair(
"PHSimpleVertexFinder",vtxfinder));
139 modules.insert(std::make_pair(
"PHActsVertexPropagator",vertexprop));
140 modules.insert(std::make_pair(
"PHTpcClusterMover",clusterMover));
141 modules.insert(std::make_pair(
"PHTpcResiduals",tpcresiduals));
142 modules.insert(std::make_pair(
"PHActsSecondTrkFitter",secondtrkfit));
143 modules.insert(std::make_pair(
"PHTpcDeltaZCorrection",dzcor));