Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
makePlot_xQ2_Studies.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file makePlot_xQ2_Studies.C
1 
10  const TString infile = "data/pythia.ep.100.test.root"
11  )
12 
13 {
14  gStyle->SetOptStat(kFALSE);
15 
16  /*--------------Get Input File--------------*/
17 
18  TFile *f_pyth = new TFile( infile, "OPEN");
19  TTree* T_pyth = (TTree*)f_pyth->Get("tree");
20  T_pyth->Print();
21 
22  /*------------------------------------------*/
23  /*---------------Define Cuts----------------*/
24 
25  TCut electron_cut = "p.fKF == 11";
26 
27  /*------------------------------------------*/
28  /*---------x-Q2 Space for Electrons---------*/
29  /*------------------------------------------*/
30 
31  /*------------------------------------------*/
32  /*------------Create Histogram--------------*/
33  /*------------------------------------------*/
37  /*------------------------------------------*/
38 
39  TH2F* hQ2x_e = new TH2F("hQ2x_e", "", 40, -4, 0, 60, 0, 3);
40  TAxis *xaxis = hQ2x_e->GetXaxis();
41  TAxis *yaxis = hQ2x_e->GetYaxis();
42  int xbins = xaxis->GetNbins();
43  int ybins = yaxis->GetNbins();
44 
45  Axis_t xmin = xaxis->GetXmin();
46  Axis_t xmax = xaxis->GetXmax();
47  Axis_t xwidth = (xmax - xmin ) / xbins;
48  Axis_t *new_xbins = new Axis_t[xbins + 1];
49 
50  for( int i =0; i <= xbins; i++)
51  {
52  new_xbins[i] = TMath::Power( 10, xmin + i*xwidth);
53  }
54  xaxis->Set(xbins, new_xbins);
55 
56  Axis_t ymin = yaxis->GetXmin();
57  Axis_t ymax = yaxis->GetXmax();
58  Axis_t ywidth = (ymax - ymin) / ybins;
59  Axis_t *new_ybins = new Axis_t[ybins + 1];
60 
61  for( int i2 =0; i2 <= ybins; i2++)
62  {
63  new_ybins[i2] = TMath::Power( 10, ymin + i2*ywidth);
64  }
65 
66  yaxis->Set(ybins, new_ybins);
67  /*------------------------------------------*/
68  /*-------------Plot x-Q2 Space--------------*/
69  /*------------------------------------------*/
70 
71  /*------------------------------------------*/
72  /*----------Scattered Lepton Angle----------*/
73  /*------------------------------------------*/
74 
75  TCanvas *cQ2x_e1 = new TCanvas("cQ2x_e1");
76  cQ2x_e1->SetLogx();
77  cQ2x_e1->SetLogy();
78  T_pyth->Draw("Q2:x>>hQ2x_e", electron_cut , "colz");
79 
80  hQ2x_e->GetXaxis()->SetTitle("x");
81  hQ2x_e->GetYaxis()->SetTitle("Q^{2} [GeV^{2}]");
82 
83  TF1 *f_LepA_0 = new TF1("f_LepA_0", "2*[0]*[1]*x*( 1 + cos([2])) / (1 + ((x*[1])/(2*[0]))*(1-cos([2])) - 0.5 * (1 - cos([2])))", 10e-5, 1);
84  f_LepA_0->SetParameter( 0, 10);
85  f_LepA_0->SetParameter( 1, 250);
86  f_LepA_0->SetParameter( 2, (0 * TMath::Pi())/180 );
87  TF1 *f_LepA_90 = (TF1*)f_LepA_0->Clone("f_LepA_90");
88  f_LepA_90->SetParameter( 2, (90 * TMath::Pi())/180 );
89  TF1 *f_LepA_150 = (TF1*)f_LepA_0->Clone("f_LepA_150");
90  f_LepA_150->SetParameter( 2, (150 * TMath::Pi())/180 );
91  TF1 *f_LepA_170 = (TF1*)f_LepA_0->Clone("f_LepA_170");
92  f_LepA_170->SetParameter( 2, (170 * TMath::Pi())/180 );
93 
94  f_LepA_0->Draw("SAME");
95  f_LepA_0->SetLineColor(1);
96  f_LepA_90->Draw("SAME");
97  f_LepA_90->SetLineColor(1);
98  f_LepA_150->Draw("SAME");
99  f_LepA_150->SetLineColor(1);
100  f_LepA_170->Draw("SAME");
101  f_LepA_170->SetLineColor(1);
102 
103  /*---------------Label Lines----------------*/
104 
105  TPaveText *pt_LepA_0 = new TPaveText(0.4, 1.2, 0.6, 1.4);
106  pt_LepA_0->AddText("0^{/circ}");
107  pt_LepA_0->Draw();
108 
109  /*------------------------------------------*/
110  /*---------Scattered Lepton Energy----------*/
111  /*------------------------------------------*/
112 
113  TCanvas *cQ2x_e2 = new TCanvas("cQ2x_e2");
114  cQ2x_e2->SetLogx();
115  cQ2x_e2->SetLogy();
116  T_pyth->Draw("Q2:x>>hQ2x_e", electron_cut , "colz");
117 
118  hQ2x_e->GetXaxis()->SetTitle("x");
119  hQ2x_e->GetYaxis()->SetTitle("Q^{2} [GeV^{2}]");
120 
121  TF1 *f_LepE_5 = new TF1("f_LepE_5", "2*[0]*[2]*( 1 + ((((x*[1]*([2]-[0]))/(x*[1]-[0])) - ([0] - (([0]*([2]-[0]))/(x*[1]-[0])))) / (((x*[1]*([2]-[0]))/(x*[1]-[0])) + ([0] - (([0]*([2]-[0]))/(x*[1]-[0]))))))", 10e-5, 1);
122  f_LepE_5->SetParameter( 0, 10);
123  f_LepE_5->SetParameter( 1, 250);
124  f_LepE_5->SetParameter( 2, 5);
125  TF1 *f_LepE_9 = (TF1*)f_LepE_5->Clone("f_LepE_9");
126  f_LepE_9->SetParameter( 2, 9);
127  TF1 *f_LepE_11 = (TF1*)f_LepE_5->Clone("f_LepE_11");
128  f_LepE_11->SetParameter( 2, 11);
129  TF1 *f_LepE_15 = (TF1*)f_LepE_5->Clone("f_LepE_15");
130  f_LepE_15->SetParameter( 2, 15);
131 
132  f_LepE_5->Draw("SAME");
133  f_LepE_5->SetLineColor(1);
134  f_LepE_9->Draw("SAME");
135  f_LepE_9->SetLineColor(1);
136  f_LepE_11->Draw("SAME");
137  f_LepE_11->SetLineColor(1);
138  f_LepE_15->Draw("SAME");
139  f_LepE_15->SetLineColor(1);
140 
141  /*------------------------------------------*/
142  /*------------Current Jet Angle-------------*/
143  /*------------------------------------------*/
144 
145  TCanvas *cQ2x_e3 = new TCanvas("cQ2x_e3");
146  cQ2x_e3->SetLogx();
147  cQ2x_e3->SetLogy();
148  T_pyth->Draw("Q2:x>>hQ2x_e", electron_cut , "colz");
149 
150  hQ2x_e->GetXaxis()->SetTitle("x");
151  hQ2x_e->GetYaxis()->SetTitle("Q^{2} [GeV^{2}]");
152 
153  TF1 *f_JetA_180 = new TF1("f_JetA_180" ,"(4 * (x**2)*([1]**2)*[0]*(1-cos([2]))) / (cos([2]) * ([0] -x*[1]) + [0] + x*[1])" , 10e-6, 1);
154  f_JetA_180->SetParameter( 0 , 10);
155  f_JetA_180->SetParameter( 1 , 250.);
156  f_JetA_180->SetParameter( 2 , (180 * TMath::Pi())/180 );
157  TF1 *f_JetA_150 = (TF1*)f_JetA_180->Clone("f_JetA_150");
158  f_JetA_150->SetParameter( 2 , (150 * TMath::Pi())/180 );
159  TF1 *f_JetA_30 = (TF1*)f_JetA_180->Clone("f_JetA_30");
160  f_JetA_30->SetParameter( 2 , (30 * TMath::Pi())/180 );
161  TF1 *f_JetA_10 = (TF1*)f_JetA_180->Clone("f_JetA_10");
162  f_JetA_10->SetParameter( 2 , (10 * TMath::Pi())/180 );
163 
164  f_JetA_180->Draw("SAME");
165  f_JetA_180->SetLineColor(1);
166  f_JetA_150->Draw("SAME");
167  f_JetA_150->SetLineColor(1);
168  f_JetA_30->Draw("SAME");
169  f_JetA_30->SetLineColor(1);
170  f_JetA_10->Draw("SAME");
171  f_JetA_10->SetLineColor(1);
172 
173  /*------------------------------------------*/
174  /*------------Current Jet Energy------------*/
175  /*------------------------------------------*/
176 
177  TCanvas *cQ2x_e4 = new TCanvas("cQ2x_e4");
178  cQ2x_e4->SetLogx();
179  cQ2x_e4->SetLogy();
180  T_pyth->Draw("Q2:x>>hQ2x_e", electron_cut , "colz");
181 
182  hQ2x_e->GetXaxis()->SetTitle("x");
183  hQ2x_e->GetYaxis()->SetTitle("Q^{2} [GeV^{2}]");
184 
185  TF1 *f_JetE_5 = new TF1("f_JetE_5" , "(4*x*[0]*[1]*([2]-x*[1])) / ([0] - x*[1])", 10e-6, 1);
186  f_JetE_5->SetParameter( 0 , 10);
187  f_JetE_5->SetParameter( 1 , 250.);
188  f_JetE_5->SetParameter( 2 , 5. );
189  TF1 *f_JetE_7 = (TF1*)f_JetE_5->Clone("f_JetE_7");
190  f_JetE_7->SetParameter( 2 , 7);
191  TF1 *f_JetE_10 = (TF1*)f_JetE_5->Clone("f_JetE_10");
192  f_JetE_10->SetParameter( 2 , 10);
193  TF1 *f_JetE_20 = (TF1*)f_JetE_5->Clone("f_JetE_20");
194  f_JetE_20->SetParameter( 2 , 20);
195 
196  f_JetE_5->Draw("SAME");
197  f_JetE_5->SetLineColor(1);
198  f_JetE_7->Draw("SAME");
199  f_JetE_7->SetLineColor(1);
200  f_JetE_10->Draw("SAME");
201  f_JetE_10->SetLineColor(1);
202  f_JetE_20->Draw("SAME");
203  f_JetE_20->SetLineColor(1);
204 
205  /*------------------------------------------*/
206  /*---------------Inelasticity---------------*/
207  /*------------------------------------------*/
208 
209  TCanvas *cQ2x_e5 = new TCanvas("cQ2x_e5");
210  cQ2x_e5->SetLogx();
211  cQ2x_e5->SetLogy();
212  T_pyth->Draw("Q2:x>>hQ2x_e", electron_cut , "colz");
213 
214  hQ2x_e->GetXaxis()->SetTitle("x");
215  hQ2x_e->GetYaxis()->SetTitle("Q^{2} [GeV^{2}]");
216 
217  TF1 *f_y1 = new TF1("f_y1", "4*x*[0]*[1]*[2]", 10e-5, 1);
218  f_y1->SetParameter( 0, 10);
219  f_y1->SetParameter( 1, 250);
220  f_y1->SetParameter( 2, 1);
221  TF1 *f_y01 = (TF1*)f_y1->Clone("f_y01");
222  f_y01->SetParameter(2 , 0.1);
223  TF1 *f_y001 = (TF1*)f_y1->Clone("f_y001");
224  f_y001->SetParameter(2 , 0.01);
225  TF1 *f_y0001 = (TF1*)f_y1->Clone("f_y0001");
226  f_y0001->SetParameter(2 , 0.001);
227 
228  f_y1->Draw("SAME");
229  f_y1->SetLineColor(1);
230  f_y01->Draw("SAME");
231  f_y01->SetLineColor(1);
232  f_y001->Draw("SAME");
233  f_y001->SetLineColor(1);
234  f_y0001->Draw("SAME");
235  f_y0001->SetLineColor(1);
236 
237  /*------------------------------------------*/
238  /*-----------Final Hadronic Mass------------*/
239  /*------------------------------------------*/
240 
241  TCanvas *cQ2x_e6 = new TCanvas("cQ2x_e6");
242  cQ2x_e6->SetLogx();
243  cQ2x_e6->SetLogy();
244  T_pyth->Draw("Q2:x>>hQ2x_e", electron_cut , "colz");
245 
246  hQ2x_e->GetXaxis()->SetTitle("x");
247  hQ2x_e->GetYaxis()->SetTitle("Q^{2} [GeV^{2}]");
248 
249  TF1 *f_W10 = new TF1("f_W10" , "([1] - [0]**2) / ((1/x) - 1)", 10e-7, 1);
250  f_W10->SetParameter( 0 , 0.938);
251  f_W10->SetParameter( 1 , (10)**2 );
252  TF1 *f_W20 = (TF1*)f_W10->Clone("f_W20");
253  f_W20->SetParameter( 1 , (20)**2 );
254  TF1 *f_W50 = (TF1*)f_W10->Clone("f_W50");
255  f_W50->SetParameter( 1 , (50)**2 );
256  TF1 *f_W100 = (TF1*)f_W10->Clone("f_W100");
257  f_W100->SetParameter( 1 , (100)**2 );
258  TF1 *f_W3 = (TF1*)f_W10->Clone("f_W3");
259  f_W3->SetParameter( 1 , (3)**2 );
260 
261  f_W10->Draw("SAME");
262  f_W10->SetLineColor(1);
263  f_W20->Draw("SAME");
264  f_W20->SetLineColor(1);
265  f_W50->Draw("SAME");
266  f_W50->SetLineColor(1);
267  f_W100->Draw("SAME");
268  f_W100->SetLineColor(1);
269  f_W3->Draw("SAME");
270  f_W3->SetLineColor(1);
271 
272  // cQ2x_e->Print("Plots/Pythia_Q2x_e_10M_250x010.eps");
273  // cQ2x_e1->Print("Plots/Pythia_Q2x_LepA_e_10k_250x010.png");
274  // cQ2x_e2->Print("Plots/Pythia_Q2x_LepE_e_10k_250x010.png");
275  // cQ2x_e3->Print("Plots/Pythia_Q2x_JetA_e_10k_250x010.png");
276  // cQ2x_e4->Print("Plots/Pythia_Q2x_JetE_e_10k_250x010.png");
277  // cQ2x_e5->Print("Plots/Pythia_Q2x_y_e_10k_250x010.png");
278  // cQ2x_e6->Print("Plots/Pythia_Q2x_W_e_10k_250x010.png");
279 
280 
281  return 0;
282 
283 }