Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-17 09:23:23

0001 // Code to create the optimisation plot
0002 // Shyam Kumar; INFN Bari; shyam055119@gmail.com
0003 
0004 void Plot_D0()
0005 {
0006 gStyle->SetPalette(kRainBow);
0007 gStyle->SetTitleSize(0.045,"XY");   
0008 gStyle->SetTitleSize(0.04,"t"); 
0009 gStyle->SetLabelSize(0.045,"XY");   
0010 gStyle->SetTitleOffset(1.10,"XY");  
0011 gStyle->SetOptStat(0);
0012 gStyle->SetOptFit(1);
0013 gStyle->SetOptTitle(1);
0014 gStyle->SetGridColor(kCyan);     
0015 //gStyle->SetGridWidth(2);        
0016 //gStyle->SetGridStyle(2); 
0017 
0018 const Int_t nPtbins = 5;
0019 const Int_t nYbins = 4;
0020 double pt[nPtbins]={0.,1.,2.,5.,10.};  
0021 double y[nYbins]={-3.0,-1.0,1.0,3.0};
0022     
0023 gSystem->Exec("rm -rf Output && mkdir Output");
0024 
0025 TCanvas *c1 = new TCanvas("c1","c1",0,52,1400,1000);
0026 //c1->SetGrid();
0027 c1->SetMargin(0.10, 0.12 ,0.1,0.06);
0028 
0029 TFile *f = TFile::Open("test.root");
0030 // Project 2D histograms
0031 TH3D *h3D_Sig_All = (TH3D*)f->Get("h3InvMass_signal_all");
0032 c1->cd();
0033 h3D_Sig_All->GetZaxis()->SetRangeUser(1.6,2.0);
0034 TH2D* h3D_Sig_All_XY = (TH2D*)h3D_Sig_All->Project3D("yx");
0035 h3D_Sig_All_XY->Draw("colz");
0036 c1->SaveAs("signal_all.png");
0037 c1->Clear();
0038 
0039 TH3D *h3D_Sig_DCA = (TH3D*)f->Get("h3InvMass_signal_DCA");
0040 c1->cd();
0041 h3D_Sig_DCA->GetZaxis()->SetRangeUser(1.6,2.0);
0042 TH2D* h3D_Sig_DCA_XY = (TH2D*)h3D_Sig_DCA->Project3D("yx");
0043 h3D_Sig_DCA_XY->Draw("colz");
0044 c1->SaveAs("signal_DCA.png");
0045 c1->Clear();
0046 
0047 TH3D *h3D_Bkg_All = (TH3D*)f->Get("h3InvMass_bkg_all");
0048 c1->cd();
0049 h3D_Bkg_All->GetZaxis()->SetRangeUser(1.6,2.0);
0050 TH2D* h3D_Bkg_All_XY = (TH2D*)h3D_Bkg_All->Project3D("yx");
0051 h3D_Bkg_All_XY->Draw("colz");
0052 c1->SaveAs("bkg_all.png");
0053 c1->Clear();
0054 
0055 TH3D *h3D_Bkg_DCA = (TH3D*)f->Get("h3InvMass_bkg_DCA");
0056 c1->cd();
0057 h3D_Bkg_DCA->GetZaxis()->SetRangeUser(1.6,2.0);
0058 TH2D* h3D_Bkg_DCA_XY = (TH2D*)h3D_Bkg_DCA->Project3D("yx");
0059 h3D_Bkg_DCA_XY->Draw("colz");
0060 c1->SaveAs("bkg_dca.png");
0061 c1->Clear();
0062 
0063 // Project 1D histograms
0064 TLegend* legend;
0065 for (int i =0; i < nYbins-1; ++i){
0066     
0067     int bin_eta_min = h3D_Sig_All->GetYaxis()->FindBin(y[i]+0.0001); 
0068     int bin_eta_max = h3D_Sig_All->GetYaxis()->FindBin(y[i+1]-0.0001); 
0069    
0070    for (int j =0; j < nPtbins-1; ++j){
0071    
0072    c1->Clear(); 
0073    int bin_pt_min = h3D_Sig_All->GetXaxis()->FindBin(pt[j]+0.0001); 
0074    int bin_pt_max = h3D_Sig_All->GetXaxis()->FindBin(pt[j+1]-0.0001);  
0075    
0076    TH1D *hSig_all = (TH1D*) h3D_Sig_All->ProjectionZ(Form("hSig_all_eta_%1.1f_%1.1f_pt_%1.1f_%1.1f",y[i],y[i+1],pt[j],pt[j+1]), bin_pt_min, bin_pt_max, bin_eta_min, bin_eta_max,"o");
0077    hSig_all->SetTitle(Form("hSig_all_eta_%1.1f_%1.1f_pt_%1.1f_%1.1fGeV/c",y[i],y[i+1],pt[j],pt[j+1]));
0078    hSig_all->SetLineColor(kBlack);
0079    
0080    TH1D *hSig_DCA = (TH1D*) h3D_Sig_DCA->ProjectionZ(Form("hSig_dca_eta_%1.1f_%1.1f_pt_%1.1f_%1.1f",y[i],y[i+1],pt[j],pt[j+1]), bin_pt_min, bin_pt_max, bin_eta_min, bin_eta_max,"o");
0081    hSig_DCA->SetTitle(Form("hSig_dca_eta_%1.1f_%1.1f_pt_%1.1f_%1.1fGeV/c",y[i],y[i+1],pt[j],pt[j+1]));
0082    hSig_DCA->SetLineColor(kRed);
0083    c1->cd();
0084    hSig_all->Draw("EP");
0085    hSig_DCA->Draw("EP-same");
0086    legend = new TLegend(0.2, 0.75, 0.4, 0.9); 
0087    legend->SetBorderSize(0);   
0088    legend->SetFillColor(0);    
0089    legend->SetTextSize(0.03);  
0090    legend->AddEntry(hSig_all, "All", "l"); 
0091    legend->AddEntry(hSig_DCA, "Topo Cuts", "l"); 
0092     // Draw the legend
0093     legend->Draw();
0094     
0095    c1->SaveAs(Form("Output/hSig_all_eta_%1.1f_%1.1f_pt_%1.1f_%1.1f.png",y[i],y[i+1],pt[j],pt[j+1]));   
0096     
0097 }   
0098     
0099 }
0100 
0101 
0102 
0103 
0104 
0105 }