19 #include "sPhenixStyle.C"
25 const char *qa_file_name_new =
26 "/phenix/u/jinhuang/links/ePHENIX_work/sPHENIX_work/production_analysis_updates/spacal1d/fieldmap/G4Hits_sPHENIX_pi-_eta0.30_32GeV-0000.root_qa.root",
27 const char *qa_file_name_ref =
28 "/phenix/u/jinhuang/links/ePHENIX_work/sPHENIX_work/production_analysis_updates/spacal1d/fieldmap/G4Hits_sPHENIX_pi+_eta0.30_32GeV-0000.root_qa.root")
32 TVirtualFitter::SetDefaultFitter(
"Minuit2");
34 TFile *qa_file_new =
new TFile(qa_file_name_new);
35 assert(qa_file_new->IsOpen());
37 TFile *qa_file_ref = NULL;
40 qa_file_ref =
new TFile(qa_file_name_ref);
41 assert(qa_file_ref->IsOpen());
44 TCanvas *
c1 =
new TCanvas(
"QA_Draw_CEMC_G4Hit",
"QA_Draw_CEMC_G4Hit", 1800, 900);
49 p = (TPad *) c1->cd(idx++);
53 TH2F *h_QAG4Sim_CEMC_G4Hit_XY = (TH2F *) qa_file_new->GetObjectChecked(
54 "h_QAG4Sim_CEMC_G4Hit_XY",
"TH2F");
55 assert(h_QAG4Sim_CEMC_G4Hit_XY);
56 h_QAG4Sim_CEMC_G4Hit_XY->GetYaxis()->SetTitleOffset(1.5);
57 h_QAG4Sim_CEMC_G4Hit_XY->Draw(
"COLZ");
59 p = (TPad *) c1->cd(idx++);
63 TH2F *h_QAG4Sim_CEMC_G4Hit_RZ = (TH2F *) qa_file_new->GetObjectChecked(
64 "h_QAG4Sim_CEMC_G4Hit_RZ",
"TH2F");
65 assert(h_QAG4Sim_CEMC_G4Hit_RZ);
66 h_QAG4Sim_CEMC_G4Hit_RZ->GetYaxis()->SetTitleOffset(1.5);
67 h_QAG4Sim_CEMC_G4Hit_RZ->Draw(
"COLZ");
69 p = (TPad *) c1->cd(idx++);
74 TH2F *h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection =
75 (TH2F *) qa_file_new->GetObjectChecked(
76 "h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection",
"TH2F");
77 assert(h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection);
80 h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection->ProjectionX(
81 "qa_file_new_h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection_px");
83 proj_new->Scale(1. / proj_new->GetSum());
85 TH1D *proj_ref = NULL;
88 TH2F *h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection =
89 (TH2F *) qa_file_ref->GetObjectChecked(
90 "h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection",
"TH2F");
91 assert(h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection);
93 proj_ref = h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection->ProjectionX(
94 "qa_file_ref_h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection_px");
95 proj_ref->Scale(1. / proj_ref->GetSum());
98 proj_new->GetYaxis()->SetTitle(
"Normalized energy distribution");
99 proj_new->GetXaxis()->SetRangeUser(-10, 10);
104 p = (TPad *) c1->cd(idx++);
109 TH2F *h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection =
110 (TH2F *) qa_file_new->GetObjectChecked(
111 "h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection",
"TH2F");
112 assert(h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection);
115 h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection->ProjectionY(
116 "qa_file_new_h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection_py");
118 proj_new->Scale(1. / proj_new->GetSum());
120 TH1D *proj_ref = NULL;
123 TH2F *h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection =
124 (TH2F *) qa_file_ref->GetObjectChecked(
125 "h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection",
"TH2F");
126 assert(h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection);
128 proj_ref = h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection->ProjectionY(
129 "qa_file_ref_h_QAG4Sim_CEMC_G4Hit_LateralTruthProjection_py");
130 proj_ref->Scale(1. / proj_ref->GetSum());
133 proj_new->GetYaxis()->SetTitle(
"Normalized energy distribution");
134 proj_new->GetXaxis()->SetRangeUser(-10, 10);
139 p = (TPad *) c1->cd(idx++);
145 TH1F *h_new = (TH1F *) qa_file_new->GetObjectChecked(
146 "h_QAG4Sim_CEMC_G4Hit_HitTime",
"TH1F");
150 h_new->Scale(1. / h_new->GetSum());
155 h_ref = (TH1F *) qa_file_ref->GetObjectChecked(
156 "h_QAG4Sim_CEMC_G4Hit_HitTime",
"TH1F");
160 h_ref->Scale(1. / h_ref->GetSum());
163 h_new->GetYaxis()->SetTitleOffset(1.5);
164 h_new->GetYaxis()->SetTitle(
"Normalized energy per bin");
170 p = (TPad *) c1->cd(idx++);
176 TH1F *h_new = (TH1F *) qa_file_new->GetObjectChecked(
177 "h_QAG4Sim_CEMC_G4Hit_FractionTruthEnergy",
"TH1F");
182 h_new->Scale(1. / h_new->GetSum());
187 h_ref = (TH1F *) qa_file_ref->GetObjectChecked(
188 "h_QAG4Sim_CEMC_G4Hit_FractionTruthEnergy",
"TH1F");
192 h_ref->Scale(1. / h_ref->GetSum());
195 h_new->GetYaxis()->SetTitleOffset(1.5);
196 h_new->GetYaxis()->SetTitle(
"Probability per bin");
202 p = (TPad *) c1->cd(idx++);
207 TH1F *h_new = (TH1F *) qa_file_new->GetObjectChecked(
208 "h_QAG4Sim_CEMC_G4Hit_VSF",
"TH1F");
213 h_new->Scale(1. / h_new->GetSum());
218 h_ref = (TH1F *) qa_file_ref->GetObjectChecked(
219 "h_QAG4Sim_CEMC_G4Hit_VSF",
"TH1F");
224 h_ref->Scale(1. / h_ref->GetSum());
227 h_new->GetYaxis()->SetTitleOffset(1.5);
228 h_new->GetYaxis()->SetTitle(
"Probability per bin");
229 h_new->GetXaxis()->SetRangeUser(-0, .1);
234 p = (TPad *) c1->cd(idx++);
239 TH1F *h_new = (TH1F *) qa_file_new->GetObjectChecked(
240 "h_QAG4Sim_CEMC_G4Hit_FractionEMVisibleEnergy",
"TH1F");
245 h_new->Scale(1. / h_new->GetSum());
250 h_ref = (TH1F *) qa_file_ref->GetObjectChecked(
251 "h_QAG4Sim_CEMC_G4Hit_FractionEMVisibleEnergy",
"TH1F");
255 h_ref->Scale(1. / h_ref->GetSum());
258 h_new->GetYaxis()->SetTitleOffset(1.5);
259 h_new->GetYaxis()->SetTitle(
"Probability per bin");
266 SaveCanvas(c1, TString(qa_file_name_new) + TString(c1->GetName()),
true);