164 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			164 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//Script used to make pretty plots of the Q2 veto
 | 
						|
//Renata Kopecna
 | 
						|
 | 
						|
#include "../GlobalFunctions.hh"
 | 
						|
#include "../Paths.hpp"
 | 
						|
#include "../Utils.hpp"
 | 
						|
#include "../Design.hpp"
 | 
						|
 | 
						|
double phi_low = 0.98;
 | 
						|
double phi_up  = 1.1;
 | 
						|
double jpsi_low= 8.0;
 | 
						|
double jpsi_up = 11.0;
 | 
						|
double psi_low = 12.5;
 | 
						|
double psi_up  = 15.0;
 | 
						|
 | 
						|
int makePrettyQ2plot(){
 | 
						|
 | 
						|
    LHCbStyle();
 | 
						|
 | 
						|
    //Load the files
 | 
						|
    TChain* theTree = new TChain("DecayTree");
 | 
						|
    for (auto &yr: yearsData(12)){
 | 
						|
        theTree->Add(GetBDTinputFile(yr, false, false, false,false).c_str());
 | 
						|
        coutDebug("Reading " + GetBDTinputFile(yr, false, false, false,false));
 | 
						|
    }
 | 
						|
 | 
						|
    //init the histogram
 | 
						|
    string hist_name = "hist";
 | 
						|
    TH2D* hist = new TH2D(hist_name.c_str(),hist_name.c_str(),200,cut_B_plus_M_low,cut_B_plus_M_high,200,0.1,19.0);
 | 
						|
 | 
						|
    //Define the plotting options
 | 
						|
    string B_branch = UseDTF ? "B_plus_M_DTF" : "B_plus_M";
 | 
						|
    string plot_branch = "Q2/1000000:" + B_branch;
 | 
						|
    string plot_opts = "COLZ";
 | 
						|
 | 
						|
    string drawCommand = plot_branch + ">>" + hist_name;
 | 
						|
    coutDebug("Drawing this: " + drawCommand);
 | 
						|
 | 
						|
    //Draw into the histogram
 | 
						|
    theTree->Draw(drawCommand.c_str());
 | 
						|
 | 
						|
    //Design histograms
 | 
						|
    design_TH2F(hist,"K^{+}#pi^{0}#mu^{+}#mu^{-} [MeV]","q^{2} [MeV^{2}]","Entries [a.u.]");
 | 
						|
    hist->GetXaxis()->SetLabelSize(0.05);
 | 
						|
    hist->GetYaxis()->SetLabelSize(0.05);
 | 
						|
    hist->GetYaxis()->SetTitleOffset(1.0);
 | 
						|
    hist->GetZaxis()->SetTitleOffset(1.2);
 | 
						|
 | 
						|
    //Add the resonance lines
 | 
						|
    TLine *linePhiOne  = design_veto_line(cut_B_plus_M_low,phi_low,cut_B_plus_M_high,phi_low,kRed);
 | 
						|
    TLine *linePhiTwo  = design_veto_line(cut_B_plus_M_low,phi_up,cut_B_plus_M_high,phi_up,kRed);
 | 
						|
    TLine *lineJspiOne = design_veto_line(cut_B_plus_M_low,jpsi_low,cut_B_plus_M_high,jpsi_low, kRed);
 | 
						|
    TLine *lineJspiTwo = design_veto_line(cut_B_plus_M_low,jpsi_up,cut_B_plus_M_high,jpsi_up,kRed);
 | 
						|
    TLine *linePsiOne  = design_veto_line(cut_B_plus_M_low,psi_low,cut_B_plus_M_high,psi_low,kRed);
 | 
						|
    TLine *linePsiTwo  = design_veto_line(cut_B_plus_M_low,psi_up,cut_B_plus_M_high,psi_up,kRed);
 | 
						|
 | 
						|
    //Save the histogram
 | 
						|
    TCanvas *canvas = c_TH2F("q2_veto");
 | 
						|
    canvas->SetRightMargin(0.18);
 | 
						|
    canvas->SetLeftMargin(0.12);
 | 
						|
    canvas->cd();
 | 
						|
    canvas->SetLogz();
 | 
						|
    hist->Draw(plot_opts.c_str());
 | 
						|
    linePhiOne->Draw("SAME");
 | 
						|
    linePhiTwo->Draw("SAME");
 | 
						|
    lineJspiOne->Draw("SAME");
 | 
						|
    lineJspiTwo->Draw("SAME");
 | 
						|
    linePsiOne->Draw("SAME");
 | 
						|
    linePsiTwo->Draw("SAME");
 | 
						|
 | 
						|
 | 
						|
    canvas->SaveAs("./q2_veto.eps");
 | 
						|
    canvas->SaveAs("./q2_veto.root");
 | 
						|
 | 
						|
    return 1;
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
int makePrettyQ2dist(){
 | 
						|
 | 
						|
    LHCbStyle();
 | 
						|
 | 
						|
    //Load the files
 | 
						|
    TChain* theTree = new TChain("DecayTree");
 | 
						|
    for (auto &yr: yearsData(12)){
 | 
						|
        theTree->Add(GetBDTinputFile(yr, false, false, false,false).c_str());
 | 
						|
        coutDebug("Reading " + GetBDTinputFile(yr, false, false, false,false));
 | 
						|
    }
 | 
						|
 | 
						|
    //init the histogram
 | 
						|
    string hist_name = "hist";
 | 
						|
    TH1D* hist = new TH1D(hist_name.c_str(),hist_name.c_str(),200,0.1,19.0);
 | 
						|
 | 
						|
    //Define the plotting options
 | 
						|
    string B_branch = UseDTF ? "B_plus_M_DTF" : "B_plus_M";
 | 
						|
    string plot_branch = "Q2/1000000";
 | 
						|
    string plot_opts = "";
 | 
						|
    string plot_cut = to_string(cut_B_plus_M_low) +"<"+ B_branch +" &&  "+ B_branch +"<"+ to_string(cut_B_plus_M_high);
 | 
						|
 | 
						|
    string drawCommand = plot_branch + ">>" + hist_name;
 | 
						|
    coutDebug("Drawing this: " + drawCommand);
 | 
						|
    coutDebug("with a cut: " + plot_cut);
 | 
						|
 | 
						|
    //Draw into the histogram
 | 
						|
    theTree->Draw(drawCommand.c_str(),plot_cut.c_str());
 | 
						|
 | 
						|
    //Design histograms
 | 
						|
    design_lines(hist,"q^{2} [GeV^{2}]","Entries (a.u.)", kAzure+2);
 | 
						|
    hist->GetXaxis()->SetLabelSize(0.05);
 | 
						|
    hist->GetYaxis()->SetLabelSize(0.05);
 | 
						|
    hist->GetYaxis()->SetRangeUser(20,260000);
 | 
						|
    hist->GetYaxis()->SetTitleOffset(1.2);
 | 
						|
 | 
						|
    //Add the resonance lines
 | 
						|
    TH1D* histPhi  = new TH1D("phi", "phi", 1, phi_low, phi_up);
 | 
						|
    TH1D* histJpsi = new TH1D("jpsi","jspi",1, jpsi_low,jpsi_up);
 | 
						|
    TH1D* histPsi  = new TH1D("psi", "psi", 1, psi_low, psi_up);
 | 
						|
 | 
						|
    histPhi->SetBinContent(1,260000);
 | 
						|
    histJpsi->SetBinContent(1,260000);
 | 
						|
    histPsi->SetBinContent(1,260000);
 | 
						|
 | 
						|
    //TLine *linePhiOne  = design_veto_line(phi_low, 20, phi_low, 260000, kRed);
 | 
						|
    //TLine *linePhiTwo  = design_veto_line(phi_up, 20, phi_up, 260000, kRed);
 | 
						|
    //TLine *lineJspiOne = design_veto_line(jpsi_low , 20, jpsi_low,  260000, kRed);
 | 
						|
    //TLine *lineJspiTwo = design_veto_line(jpsi_up, 20, jpsi_up, 260000, kRed);
 | 
						|
    //TLine *linePsiOne  = design_veto_line(psi_low, 20, psi_low, 260000, kRed);
 | 
						|
    //TLine *linePsiTwo  = design_veto_line(psi_up, 20, psi_up, 260000, kRed);
 | 
						|
 | 
						|
    string main_name = "q2_dist";
 | 
						|
    histPhi->SetFillStyle(3444); //3344
 | 
						|
    histPhi->SetFillColor(kRed+1);
 | 
						|
    histPhi->SetLineWidth(0);
 | 
						|
    histJpsi->SetFillStyle(3444); //3344
 | 
						|
    histJpsi->SetFillColor(kRed+1);
 | 
						|
    histJpsi->SetLineWidth(0);
 | 
						|
    histPsi->SetFillStyle(3444); //3344
 | 
						|
    histPsi->SetFillColor(kRed+1);
 | 
						|
    histPsi->SetLineWidth(0);
 | 
						|
 | 
						|
    //Save the histogram
 | 
						|
    TCanvas *canvas = c_canvas(main_name);
 | 
						|
    canvas->SetLeftMargin(0.12);
 | 
						|
    canvas->cd();
 | 
						|
    canvas->SetLogy();
 | 
						|
    hist->Draw(plot_opts.c_str());
 | 
						|
    histPhi->Draw("SAME");
 | 
						|
    histJpsi->Draw("SAME");
 | 
						|
    histPsi->Draw("SAME");
 | 
						|
 | 
						|
    //linePhiOne->Draw("SAME");
 | 
						|
    //linePhiTwo->Draw("SAME");
 | 
						|
    //lineJspiOne->Draw("SAME");
 | 
						|
    //lineJspiTwo->Draw("SAME");
 | 
						|
    //linePsiOne->Draw("SAME");
 | 
						|
    //linePsiTwo->Draw("SAME");
 | 
						|
 | 
						|
    canvas->SaveAs(Form("%s.eps",main_name.c_str()));
 | 
						|
    canvas->SaveAs(Form("%s.root",main_name.c_str()));
 | 
						|
 | 
						|
    return 1;
 | 
						|
 | 
						|
}
 |