// created: 25 March 2014 // last modif: 25 March 2014 // Author: Creusot Alexandre #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; void comparisonTimeSlice() { gROOT->Reset(); gROOT->SetStyle("Plain"); gStyle->SetPalette(1); gStyle->SetNumberContours(99); gStyle->SetOptFit(0000); TStopwatch watch; TH1D* hTiming1 = new TH1D("hTiming1", "hTiming1", 1000, 0, 3e11); TH1D* hTiming2 = new TH1D("hTiming2", "hTiming2", 1000, 0, 3e11); TH1D* hHitNumber1 = new TH1D("hHitNumber1", "hHitNumber1", 1000, 0, 1e6); TH1D* hHitNumber2 = new TH1D("hHitNumber2", "hHitNumber2", 1000, 0, 1e6); string line; ifstream in1("../../../../../data/run915-rdatv1-timeSlice.dat"); while (getline(in1, line)) { istringstream iss; iss.clear(); iss.str(line); double temp[11]; if (iss >> temp[0] >> temp[1] >> temp[2] >> temp[3] >> temp[4] >> temp[5] >> temp[6] >> temp[7] >> temp[8] >> temp[9] >> temp[10]) { hTiming1->Fill(temp[3]); hHitNumber1->Fill(temp[7]); } } in1.close(); ifstream in2("../../../../../data/run915-rdatv2-timeSlice.dat"); while (getline(in2, line)) { istringstream iss; iss.clear(); iss.str(line); double temp[2]; if (iss >> temp[0] >> temp[1]) { hTiming2->Fill(temp[0]); hHitNumber2->Fill(temp[1]); } } in2.close(); TH1D* hHitNumberDiff = (TH1D*)hHitNumber1->Clone("hHitNumberDiff"); hHitNumberDiff->Add(hHitNumber2, -1); TCanvas* cTiming = new TCanvas("cTiming", "cTiming", 800, 600); hTiming1->SetTitle(""); hTiming1->GetXaxis()->SetTitle("time [ns]"); hTiming1->GetXaxis()->CenterTitle(); hTiming1->GetXaxis()->SetTitleOffset(1.2); hTiming1->SetLineColor(kBlack); hTiming1->SetLineWidth(4); hTiming1->Draw(); hTiming2->SetLineColor(kRed); hTiming2->SetLineWidth(0.2); hTiming2->Draw("same"); cTiming->SaveAs("../../../../figs/timingComp-v1v2-run915.png"); TCanvas* cHitNumber = new TCanvas("cHitNumber", "cHitNumber", 800, 600); hHitNumber1->SetTitle(""); hHitNumber1->GetXaxis()->SetTitle("slice content [hit]"); hHitNumber1->GetXaxis()->CenterTitle(); hHitNumber1->GetXaxis()->SetTitleOffset(1.2); hHitNumber1->SetLineColor(kBlack); hHitNumber1->SetLineWidth(4); hHitNumber1->Draw(); hHitNumber2->SetLineColor(kRed); hHitNumber2->SetLineWidth(0.2); hHitNumber2->Draw("same"); cHitNumber->SaveAs("../../../../figs/hitNumberComp-v1v2-run915.png"); TCanvas* cHitNumberDiff = new TCanvas("cHitNumberDiff", "cHitNumberDiff", 800, 600); hHitNumberDiff->SetTitle(""); hHitNumberDiff->GetXaxis()->SetTitle("slice content [hit]"); hHitNumberDiff->GetXaxis()->CenterTitle(); hHitNumberDiff->GetXaxis()->SetTitleOffset(1.2); hHitNumberDiff->SetLineColor(kBlack); hHitNumberDiff->SetLineWidth(4); hHitNumberDiff->Draw(); hHitNumberDiff->SetLineColor(kRed); hHitNumberDiff->SetLineWidth(0.2); hHitNumberDiff->Draw("same"); cHitNumber->SaveAs("../../../../figs/hitNumberDiff-v1v2-run915.png"); cout << "time: " << watch.CpuTime() << " s" << endl; }