Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:12:52

0001 jet_reco()
0002 {
0003   gStyle->SetOptStat(0);
0004 
0005   unsigned col1 = kOrange+7;
0006   unsigned col2 = kBlue+2;
0007 
0008   /* open inout files and merge trees */
0009   TChain chain_r05("ntp_recojet");
0010   chain_r05.Add("data_3pions/p250_e20_0events_file1093_jeteval_r05.root");
0011   chain_r05.Add("data_3pions/p250_e20_0events_file1096_jeteval_r05.root");
0012   chain_r05.Add("data_3pions/p250_e20_0events_file1101_jeteval_r05.root");
0013   chain_r05.Add("data_3pions/p250_e20_0events_file1115_jeteval_r05.root");
0014   chain_r05.Add("data_3pions/p250_e20_0events_file1122_jeteval_r05.root");
0015   chain_r05.Add("data_3pions/p250_e20_0events_file1127_jeteval_r05.root");
0016   chain_r05.Add("data_3pions/p250_e20_0events_file1131_jeteval_r05.root");
0017   chain_r05.Add("data_3pions/p250_e20_0events_file1164_jeteval_r05.root");
0018 
0019   TChain chain_r10("ntp_recojet");
0020   chain_r10.Add("data_3pions/p250_e20_0events_file1093_jeteval_r10.root");
0021   chain_r10.Add("data_3pions/p250_e20_0events_file1096_jeteval_r10.root");
0022   chain_r10.Add("data_3pions/p250_e20_0events_file1101_jeteval_r10.root");
0023   chain_r10.Add("data_3pions/p250_e20_0events_file1115_jeteval_r10.root");
0024   chain_r10.Add("data_3pions/p250_e20_0events_file1122_jeteval_r10.root");
0025   chain_r10.Add("data_3pions/p250_e20_0events_file1127_jeteval_r10.root");
0026   chain_r10.Add("data_3pions/p250_e20_0events_file1131_jeteval_r10.root");
0027   chain_r10.Add("data_3pions/p250_e20_0events_file1164_jeteval_r10.root");
0028 
0029   /* Jet selection */
0030   TCut select_jet( "abs(eta) < 1 && pt > 5 && ge < 100" );
0031 
0032   /* Jet energy */
0033   TH1F* h1_jet_r05_e = new TH1F("h1_jet_r05_e", ";(E_{reco} - E_{true}) / E_{true};", 100, -1, 1 );
0034   h1_jet_r05_e->GetXaxis()->SetNdivisions(505);
0035   h1_jet_r05_e->GetYaxis()->SetNdivisions(505);
0036   h1_jet_r05_e->SetLineColor(col2);
0037 
0038   TH1F* h1_jet_r10_e = (TH1F*)h1_jet_r05_e->Clone("h1_jet_r10_e");
0039   h1_jet_r10_e->SetLineColor(col1);
0040 
0041   cout << ">>>>> Jet energy: R=0.5" << endl;
0042   chain_r05.Draw("(e-ge) / ge >> h1_jet_r05_e", select_jet );
0043   h1_jet_r05_e->Scale( 1. / h1_jet_r05_e->Integral() );
0044   h1_jet_r05_e->Fit("gaus");
0045 
0046   cout << ">>>>> Jet energy: R=1.0" << endl;
0047   chain_r10.Draw("(e-ge) / ge >> h1_jet_r10_e", select_jet );
0048   h1_jet_r10_e->Scale( 1. / h1_jet_r10_e->Integral() );
0049   h1_jet_r10_e->Fit("gaus");
0050 
0051   /* Jet eta */
0052   TH1F* h1_jet_r05_eta = new TH1F("h1_jet_r05_eta", ";#eta_{reco}-#eta_{true};", 100, -0.25, 0.25 );
0053   h1_jet_r05_eta->GetXaxis()->SetNdivisions(505);
0054   h1_jet_r05_eta->GetYaxis()->SetNdivisions(505);
0055   h1_jet_r05_eta->SetLineColor(col2);
0056 
0057   TH1F* h1_jet_r10_eta = (TH1F*)h1_jet_r05_eta->Clone("h1_jet_r10_eta");
0058   h1_jet_r10_eta->SetLineColor(col1);
0059 
0060   cout << ">>>>> Jet eta: R=0.5" << endl;
0061   chain_r05.Draw("( eta - geta ) >> h1_jet_r05_eta", select_jet );
0062   h1_jet_r05_eta->Scale( 1. / h1_jet_r05_eta->Integral() );
0063   h1_jet_r05_eta->Fit("gaus");
0064 
0065   cout << ">>>>> Jet eta: R=1.0" << endl;
0066   chain_r10.Draw("( eta - geta ) >> h1_jet_r10_eta", select_jet );
0067   h1_jet_r10_eta->Scale( 1. / h1_jet_r10_eta->Integral() );
0068   h1_jet_r10_eta->Fit("gaus");
0069 
0070   /* Jet phi */
0071   TH1F* h1_jet_r05_phi = new TH1F("h1_jet_r05_phi", ";#phi_{reco}-#phi_{true};", 100, -0.25, 0.25 );
0072   h1_jet_r05_phi->GetXaxis()->SetNdivisions(505);
0073   h1_jet_r05_phi->GetYaxis()->SetNdivisions(505);
0074   h1_jet_r05_phi->SetLineColor(col2);
0075 
0076   TH1F* h1_jet_r10_phi = (TH1F*)h1_jet_r05_phi->Clone("h1_jet_r10_phi");
0077   h1_jet_r10_phi->SetLineColor(col1);
0078 
0079   cout << ">>>>> Jet phi: R=0.5" << endl;
0080   chain_r05.Draw("( phi - gphi ) >> h1_jet_r05_phi", select_jet );
0081   h1_jet_r05_phi->Scale( 1. / h1_jet_r05_phi->Integral() );
0082   h1_jet_r05_phi->Fit("gaus");
0083 
0084   cout << ">>>>> Jet phi: R=1.0" << endl;
0085   chain_r10.Draw("( phi - gphi ) >> h1_jet_r10_phi", select_jet );
0086   h1_jet_r10_phi->Scale( 1. / h1_jet_r10_phi->Integral() );
0087   h1_jet_r10_phi->Fit("gaus");
0088 
0089   /* plot histograms */
0090   TCanvas *c1 = new TCanvas();
0091   h1_jet_r05_e->Draw("");
0092   h1_jet_r10_e->Draw("same");
0093   c1->Print("plots/jet_reco_escale.eps");
0094   c1->Print("plots/jet_reco_escale.png");
0095 
0096   TCanvas *c2 = new TCanvas();
0097   h1_jet_r05_eta->Draw("");
0098   h1_jet_r10_eta->Draw("same");
0099   c2->Print("plots/jet_reco_eta.eps");
0100   c2->Print("plots/jet_reco_eta.png");
0101 
0102   TCanvas *c3 = new TCanvas();
0103   h1_jet_r05_phi->Draw("");
0104   h1_jet_r10_phi->Draw("same");
0105   c3->Print("plots/jet_reco_phi.eps");
0106   c3->Print("plots/jet_reco_phi.png");
0107 
0108   TCanvas *c6 = new TCanvas();
0109   chain_r05.Draw("e : ge", select_jet, "colz");
0110 
0111   TCanvas *c4 = new TCanvas();
0112   chain_r05.Draw("eta : geta", select_jet, "colz");
0113 
0114   TCanvas *c5 = new TCanvas();
0115   chain_r05.Draw("phi : gphi", select_jet, "colz");
0116 
0117 }