void mbbarplot() { const Int_t nx = 207; const Int_t np = 26; char *collections[nx+1]; collections[np-1]="All Other Modules"; double sum = 0.; double sum25 = 0.; double collectionV[nx+1]; collectionV[np-1]=sum-sum25; Modules modules; char ch; string line[nx]; string stringcoll[nx]; char collv1[nx+1][200]; char collv2[nx+1][200]; char collv3[nx+1][200]; char collv4[nx+1][200]; double vcollv1[nx+1]; double vcollv2[nx+1]; ifstream myfile ("timingmb.txt"); if (myfile.is_open()){ for(int i=0; i<nx; i++){ int ich=0; int icoll=0; int icollv1=0; int icollv2=0; int icollv3=0; int icollv4=0; int ispace=0; getline(myfile, line[i]); collections[i]=line[i].c_str(); cout<<collections[i]<<endl; while (collections[i][ich]){ ch=collections[i][ich]; if(isspace(ch)) { ch='\n'; ispace++; } if(ispace==0){ collv1[i][icollv1]=collections[i][ich]; icollv1++; } if(ispace==3){ collv2[i][icollv2]=collections[i][ich+1]; icollv2++; } if(ispace==8){ collv3[i][icollv3]=collections[i][ich+1]; icollv3++; } if(ispace==10){ collv4[i][icollv4]=collections[i][ich+1]; icollv4++; } //putchar(ch); ich++; } //coll[i][icoll-1]='\0'; //collv1[i][icollv1-1]='\0'; //collv2[i][icollv2-1]='\0'; cout<<collv1[i]<<" "<<atof(collv2[i])<<" "<<atof(collv3[i])<<" "<<collv4[i]<<endl; modules.SetReportName(string(collv1[i])); modules.SetPerEventTiming(atof(collv2[i])); modules.SetPerVisitTiming(atof(collv3[i])); modules.SetModuleName(string(collv4[i])); //modules[i].(); //cout<<modules[i].GetReportName()<<", "<<modules[i].GetPerEventTiming()<<", "<<modules[i].GetPerVisitTiming()<<", "<<modules[i].GetModuleName()<<endl; cout<<modules.GetReportName()<<", "<<modules.GetPerEventTiming()<<", "<<modules.GetPerVisitTiming()<<", "<<modules.GetModuleName()<<endl; /* stringcoll[i]=string(coll[i]); if(i<np-1)cout<<"stringcoll="<<stringcoll[i]<<endl; vcollv1[i]=atof(collv1[i]); vcollv2[i]=atof(collv2[i]); if(i<np-1) sum25+=vcollv2[i]; sum+=vcollv2[i]; */ } } //cout<<"sum = "<<sum25<<", "<<sum<<endl; //cout<<endl; //stringcoll[np-1]="All Other Modules"; //vcollv2[np-1]=sum-sum25; /* double percent[nx]; TH1D *h0 = new TH1D("h0","",26,0,26); for (int i=0; i<nx; i++) { percent[i]=collectionV[i]*100.0/sum; //h0->Fill(collections[i], collectionV[i]); h0->Fill(collections[i], percent[i]); } h0->SetStats(0); h0->SetFillColor(2); h0->SetBarWidth(0.8); h0->SetBarOffset(0.1); h0->GetYaxis()->SetTitle("Time in percent (%)"); h0->GetYaxis()->SetTitleOffset(1.1); h0->GetYaxis()->CenterTitle(); h0->SetTickLength(0.01); h0->SetMaximum(16); //h0->GetXaxis()->SetUserRange(-0.5, 29.5); TCanvas *c1 = new TCanvas("c1","c1",880,660); gPad->SetGrid(); //gPad->SetLogx(); gPad->SetTicks(); gPad->SetBottomMargin(0.09); gPad->SetLeftMargin(0.30); gPad->SetRightMargin(0.02); gPad->SetTopMargin(0.05); h0->Draw("hbar0"); TLatex tex(0.5,0.5,"u"); tex.SetTextFont(42); tex.SetTextSize(0.04); tex.SetNDC(); tex.DrawLatex(0.555, 0.72, "Timing in the reconstruction step"); tex.DrawLatex(0.555, 0.655, "MiniBias AOD"); c1->SaveAs("timingMBAOD_300events.png"); */ }