Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 /**
0002  * Compare reconstructed observables between tau jets and quark jets
0003  *
0004  * Written by nils.feege@stonybrook.edu
0005  */
0006 
0007 int true_kinematics()
0008 {
0009   gStyle->SetOptStat(0);
0010 
0011   unsigned col1 = kOrange+7;
0012   unsigned col2 = kBlue+2;
0013 
0014   /* open inout files and merge trees */
0015   TChain chain("ntp_event");
0016   chain.Add("data_3pions/p250_e20_0events_file1093_LeptoAna_TruthEvent.root");
0017   chain.Add("data_3pions/p250_e20_0events_file1096_LeptoAna_TruthEvent.root");
0018   chain.Add("data_3pions/p250_e20_0events_file1101_LeptoAna_TruthEvent.root");
0019   chain.Add("data_3pions/p250_e20_0events_file1115_LeptoAna_TruthEvent.root");
0020   chain.Add("data_3pions/p250_e20_0events_file1122_LeptoAna_TruthEvent.root");
0021   chain.Add("data_3pions/p250_e20_0events_file1127_LeptoAna_TruthEvent.root");
0022   chain.Add("data_3pions/p250_e20_0events_file1131_LeptoAna_TruthEvent.root");
0023   chain.Add("data_3pions/p250_e20_0events_file1164_LeptoAna_TruthEvent.root");
0024 
0025   TH2F* h2_tau = new TH2F( "h2_tau", "Tau;#eta;p (GeV)", 50, -3, 3, 50, 0, 100 );
0026   TH2F* h2_uds = new TH2F( "h2_uds", "Tau;#eta;p (GeV)", 50, -3, 3, 50, 0, 100 );
0027   TH2F* h2_cor_eta = new TH2F( "h2_cor_eta", ";#eta (tau);#eta (quark)", 50, -3, 3, 50, -3, 3 );
0028   TH2F* h2_cor_phi = new TH2F( "h2_cor_phi", ";#phi (tau);#phi (quark)", 50, -3.14, 3.14, 50, -3.14, 3.14 );
0029 
0030   /* Fill histograms */
0031   chain.Draw( "tau_p : tau_eta >> h2_tau" );
0032   h2_tau->GetYaxis()->SetNdivisions(505);
0033   h2_tau->GetZaxis()->SetNdivisions(505);
0034   h2_tau->Scale(1./ h2_tau->GetEntries() );
0035 
0036   chain.Draw( "uds_p : uds_eta >> h2_uds" );
0037   h2_uds->GetYaxis()->SetNdivisions(505);
0038 
0039   chain.Draw( "uds_eta : tau_eta >> h2_cor_eta" );
0040   h2_cor_eta->GetYaxis()->SetNdivisions(505);
0041 
0042   chain.Draw( "uds_phi : tau_phi >> h2_cor_phi", "" );
0043   //  chain.Draw( "uds_phi : tau_phi >> h2_cor_phi", "(tau_phi - uds_phi) >= 0" );
0044   //  chain.Draw( "uds_phi+3.14 : tau_phi+3.14 >>+ h2_cor_phi", "(tau_phi - uds_phi) < 0" );
0045   h2_cor_phi->GetYaxis()->SetNdivisions(505);
0046 
0047   /* Print some stats */
0048   cout << "Total events in TChain: " << chain.GetEntries() << endl;
0049   cout << "Total events in h2_tau: " << h2_tau->GetEntries() << endl;
0050   cout << "Total events within |eta|<1.0: " << chain.GetEntries("abs(tau_eta)<1.0") << endl;
0051 
0052   /* create Canvas and draw histograms */
0053   TCanvas *c1 = new TCanvas( "c1", h2_tau->GetTitle() );
0054   c1->SetRightMargin(0.14);
0055   h2_tau->Draw("colz");
0056   gPad->RedrawAxis();
0057   c1->Print("plots/true_kinematics_tau_eta.eps");
0058   c1->Print("plots/true_kinematics_tau_eta.png");
0059 
0060   TCanvas *c2 = new TCanvas();
0061   h2_uds->Draw("colz");
0062   gPad->RedrawAxis();
0063 
0064   TCanvas *c3 = new TCanvas();
0065   h2_cor_eta->Draw("colz");
0066   gPad->RedrawAxis();
0067 
0068   TCanvas *c3 = new TCanvas();
0069   h2_cor_phi->Draw("colz");
0070   gPad->RedrawAxis();
0071 
0072   return 0;
0073 }