void DrawMass(TString nSt="") { TStopwatch timer; timer.Start(); // gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C"); // basiclibs(); TStyle *plain = new TStyle("Plain","Plain Style(no colors/fill areas)"); //plain->SetCanvasBorderMode(0); //plain->SetPadBorderMode(0); plain->SetPadColor(0); plain->SetCanvasColor(0); plain->SetTitleColor(0); plain->SetStatColor(0); plain->SetOptStat(110010); plain->SetOptFit(0011); plain->SetStatW(0.225); plain->SetStatH(0.06); //plain->SetStatX(0.7); plain->SetOptTitle(0); plain->cd(); TString name = "out.root"; TFile *dirOld = new TFile("out_old.root","read"); TFile *dirNew = new TFile("out_new.root","read"); TH1D *hResOld, *hResNew; TH1D *hPullOld, *hPullNew; TH1D *hMassOld, *hMassNew; TF1 *fResOld, *fResNew; TF1 *fPullOld, *fPullNew; TF1 *fMassOld, *fMassNew; hResOld = (TH1D*) dirOld->Get("resM"); fResOld = new TF1("resFitOld","gaus"); fResOld->SetLineColor(2); hResOld->Fit("resFitOld","","",hResOld->GetXaxis()->GetXmin(),hResOld->GetXaxis()->GetXmax()); hPullOld = (TH1D*) dirOld->Get("pullM"); fPullOld = new TF1("pullFitOld","gaus"); fPullOld->SetLineColor(2); hPullOld->Fit("pullFitOld","","",hPullOld->GetXaxis()->GetXmin(),hPullOld->GetXaxis()->GetXmax()); hMassOld = (TH1D*) dirOld->Get("massAll"); hMassOld->SetLineColor(1); hMassOld->GetXaxis()->SetRangeUser(1.7, 2.0); fMassOld = new TF1("MassAllFitOld","gaus"); fMassOld->SetLineColor(2); hMassOld->Fit("MassAllFitOld","","",1.7,2); hResNew = (TH1D*) dirNew->Get("resM"); fResNew = new TF1("resFitNew","gaus"); fResNew->SetLineColor(2); hResNew->Fit("resFitNew","","",hResNew->GetXaxis()->GetXmin(),hResNew->GetXaxis()->GetXmax()); hPullNew = (TH1D*) dirNew->Get("pullM"); fPullNew = new TF1("pullFitNew","gaus"); fPullNew->SetLineColor(2); hPullNew->Fit("pullFitNew","","",hPullNew->GetXaxis()->GetXmin(),hPullNew->GetXaxis()->GetXmax()); hMassNew = (TH1D*) dirNew->Get("massAll"); hMassNew->SetLineColor(1); hMassNew->GetXaxis()->SetRangeUser(1.7, 2.0); fMassNew = new TF1("MassAllFitNew","gaus"); fMassNew->SetLineColor(2); hMassNew->Fit("MassAllFitNew","","",1.7, 2.0); TCanvas *c1; c1 = new TCanvas("c1","position",0,0,1200,800); // c1 -> Divide(NParameters-2,2); c1 -> Divide(3,2); c1->UseCurrentStyle(); c1->cd(1); hMassOld->GetXaxis()->SetTitle("Old Mass D^{0} [GeV/c^{2}]"); hMassOld->GetXaxis()->SetTitleOffset(1); hMassOld->Draw(); fMassOld->Draw("same"); c1->cd(2); hResOld->GetXaxis()->SetTitle("Old Residual (M^{reco} - M^{mc}) [GeV/c^{2}]"); hResOld->GetXaxis()->SetTitleOffset(1); hResOld->Draw(); fResOld->Draw("same"); c1->cd(3); hPullOld->GetXaxis()->SetTitle("Old Pull M"); hPullOld->GetXaxis()->SetTitleOffset(1); hPullOld->Draw(); fPullOld->Draw("same"); c1->cd(4); hMassNew->GetXaxis()->SetTitle("New Mass D^{0} [GeV/c^{2}]"); hMassNew->GetXaxis()->SetTitleOffset(1); hMassNew->Draw(); fMassNew->Draw("same"); c1->cd(5); hResNew->GetXaxis()->SetTitle("New Residual (M^{reco} - M^{mc}) [GeV/c^{2}]"); hResNew->GetXaxis()->SetTitleOffset(1); hResNew->Draw(); fResNew->Draw("same"); c1->cd(6); hPullNew->GetXaxis()->SetTitle("New Pull M"); hPullNew->GetXaxis()->SetTitleOffset(1); hPullNew->Draw(); fPullNew->Draw("same"); c1->SaveAs("MassComparison.pdf"); timer.Stop(); Double_t rtime = timer.RealTime(); Double_t ctime = timer.CpuTime(); printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime); }