Skip to content
Snippets Groups Projects
plotQA.C 2.56 KiB
Newer Older
Marc Pelizaeus's avatar
Marc Pelizaeus committed
TFile *f;
int ipad;
Marc Pelizaeus's avatar
Marc Pelizaeus committed
TCanvas* csingle;

Marc Pelizaeus's avatar
Marc Pelizaeus committed
void plotQA(TString fName="./JpsiGamKsKlKK.root"){
  
Marc Pelizaeus's avatar
Marc Pelizaeus committed
    gStyle->SetPadBorderMode(1);
  gStyle->SetPadBorderSize(1);
  gStyle->SetPadColor(0);
  gStyle->SetDrawBorder(0);
  gStyle->SetCanvasBorderMode(1);
  gStyle->SetCanvasBorderSize(1);
  gStyle->SetTitleBorderSize(1);
  gStyle->SetCanvasColor(10);
  gStyle->SetStatBorderSize(1);
  gStyle->SetFrameBorderMode(0);
  gStyle->SetFrameBorderSize(1);

  gStyle->SetTitleColor(1);
  gStyle->SetTitleX(0.15);
  gStyle->SetTitleY(0.975);
  
  gStyle->SetTitleOffset(1.2,"x");
  gStyle->SetTitleOffset(1.8,"y");
  gStyle->SetTitleOffset(1.7,"z");
  
  //gStyle->SetLabelOffset(.02,"x");
  gStyle->SetLabelOffset(.025,"Y");
  //gStyle->SetLabelOffset(.02,"z");
    
  gStyle->SetPadTopMargin(0.1); 
  gStyle->SetPadRightMargin(0.03);
  gStyle->SetPadBottomMargin(0.12);
  gStyle->SetPadLeftMargin(0.18);


  gStyle->SetPalette(1);
  gStyle->SetOptTitle(0);
  gStyle->SetOptStat(0);


Marc Pelizaeus's avatar
Marc Pelizaeus committed
  f = new TFile(fName, "READ");
  if(f==0){
    cout << "Could not open file " << fName << endl;
    return;
  }
  
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  csingle=new TCanvas("cs","s1",450,450);
  

Marc Pelizaeus's avatar
Marc Pelizaeus committed
  ipad=1;
  TCanvas* c1 = new TCanvas("c1","c1",450,600);
  c1->Divide(2,3);
  TCanvas* c2 = new TCanvas("c2","c2",450,600);
  c2->Divide(2,3);
  
  ipad=1;
  
  c1->cd(ipad);
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  plotHist("_PhiPhiMass", "m(#phi#phi) [GeV/c^{2}]", "Entries / %f GeV");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
  c1->cd(ipad);
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  plotHist("_costGamCm", "cos(#theta^{*}_{#gamma})");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
  c1->cd(ipad);
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  plotHist("_costKs_KsKlHeli", "cos(#theta_{K_{S}})" );
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
  c1->cd(ipad);
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  plotHist("_costKp_KpKmHeli", "cos(#theta_{K^{+}})");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
  c1->cd(ipad);
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  plotHist("_phiKs_KsKlHeli", "#phi_{K_{S}}/#pi");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
  c1->cd(ipad);
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  plotHist("_phiKp_KpKmHeli", "#phi_{K^{+}}/#pi");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
  

  ipad=1;
  c2->cd(ipad);
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  plotHist("_costPhi_KpKm", "cos(#theta_{K^{+}K^{-}})");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
  c2->cd(ipad);
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  plotHist("_phiPhi_KpKm", "#phi_{K^{+}K^{-}}");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
  c2->cd(ipad);
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  plotHist("_chi", "#chi_{#phi#phi} [deg]");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  c1->Print("qaPlots.ps(");
  c2->Print("qaPlots.ps)");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
void plotHist(TString base, TString xtitle="", TString ytitle=""){
  
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  TH1F* hd = (TH1F*) f->Get(base+"DataHist");
  TH1F* hf = (TH1F*) f->Get(base+"FittedHist");
  
  hd->SetMinimum(0);
  hf->SetMinimum(0);
  
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  hd->SetXTitle(xtitle);
  char  tmp[1000];
  sprintf(tmp,"Entries / %.3f", hd->GetBinWidth(1) );
  if(ytitle!=""){
    hd->SetYTitle(ytitle);
  }
  hd->SetYTitle(tmp);
  
  
  
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  hf->SetLineWidth(2);
  hf->SetLineColor(kRed);
  
  hd->Draw("E");
  hf->Draw("same");
  
  ipad++;
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  
  csingle->cd();
  hd->Draw("E");
  hf->Draw("same");
  csingle->SaveAs(base+".eps");
Marc Pelizaeus's avatar
Marc Pelizaeus committed
  return;
}