Newer
Older
Presentations / ACFI_2017 / FCC / images / test.C
@Marcin Chrzaszcz Marcin Chrzaszcz on 16 Jul 2017 1 KB uff
// Simple test macro that produces a plot similar to Fig 2 in Supplemental 
// Material of the Letter.
// tau: lifetime [ps]
// type: 0 = relative, 1 = absolute limits
void test(double tau, int type){
  gROOT->ProcessLine(".L getUL.C");

  TFile f("lhcb_2015_036.root");
  TGraph *gm = (TGraph*)f.Get("g_masses");
  char name[100];
  int nm = gm->GetN();
  double ul[2000];
  for(int i=0; i<nm-1; i++){
    ul[i] = getUL(gm->GetX()[i],tau,type);
  }
 
  TCanvas *c1 = new TCanvas("c1","",25,25,1400,500); 
  c1->cd();
  c1->SetBorderMode(0);
  c1->SetTopMargin(0.05);
  c1->SetBottomMargin(0.15);
  c1->SetLeftMargin(0.1);
  c1->SetRightMargin(0.03);  
  gPad->SetLogy();

  TH1F h("h","",1000,214,4350);
  h.GetXaxis()->SetTitleFont(132);
  h.GetXaxis()->SetTitleSize(0.06);
  h.GetYaxis()->SetTitleFont(132);
  h.GetYaxis()->SetTitleSize(0.06);
  h.GetXaxis()->SetTitle("#it{m(#mu^{+}#mu^{-})} [MeV]");
  h.GetXaxis()->SetLabelSize(0.05);
  h.GetYaxis()->SetLabelSize(0.05);
  h.GetXaxis()->SetLabelFont(132);
  h.GetYaxis()->SetLabelFont(132);
  h.GetYaxis()->SetTitleOffset(0.8);
  if(type == 0) h.GetYaxis()->SetTitle("relative UL at 95% CL");
  else h.GetYaxis()->SetTitle("absolute UL at 95% CL");
  if(type == 0){
    h.SetMinimum(2e-3);
    h.SetMaximum(1);
  }
  else{
    h.SetMinimum((2e-3)*(1.6e-7));
    h.SetMaximum(1.6e-7);
  }
  h.DrawCopy();
  TGraph *gul = new TGraph(nm-1,gm->GetX(),ul);
  gul->SetMarkerStyle(20);
  gul->Draw("psame");
}