19 #include "sPhenixStyle.C"
24 const char *qa_file_name_new =
25 "/phenix/u/jinhuang/links/ePHENIX_work/sPHENIX_work/production_analysis_updates/spacal1d/fieldmap/G4Hits_sPHENIX_pi-_eta0.30_32GeV-0000.root_qa.root",
26 const char *qa_file_name_ref =
27 "/phenix/u/jinhuang/links/ePHENIX_work/sPHENIX_work/production_analysis_updates/spacal1d/fieldmap/G4Hits_sPHENIX_pi+_eta0.30_32GeV-0000.root_qa.root")
30 TVirtualFitter::SetDefaultFitter(
"Minuit2");
32 TFile *qa_file_new =
new TFile(qa_file_name_new);
33 assert(qa_file_new->IsOpen());
35 TFile *qa_file_ref = NULL;
38 qa_file_ref =
new TFile(qa_file_name_ref);
39 assert(qa_file_ref->IsOpen());
42 TCanvas *
c1 =
new TCanvas(
"QA_Draw_HCALOUT_G4Hit",
"QA_Draw_HCALOUT_G4Hit",
48 p = (TPad *) c1->cd(idx++);
52 TH2F *h_QAG4Sim_HCALOUT_G4Hit_XY = (TH2F *) qa_file_new->GetObjectChecked(
53 "h_QAG4Sim_HCALOUT_G4Hit_XY",
"TH2F");
54 assert(h_QAG4Sim_HCALOUT_G4Hit_XY);
55 h_QAG4Sim_HCALOUT_G4Hit_XY->GetYaxis()->SetTitleOffset(1.5);
56 h_QAG4Sim_HCALOUT_G4Hit_XY->Draw(
"COLZ");
58 p = (TPad *) c1->cd(idx++);
62 TH2F *h_QAG4Sim_HCALOUT_G4Hit_RZ = (TH2F *) qa_file_new->GetObjectChecked(
63 "h_QAG4Sim_HCALOUT_G4Hit_RZ",
"TH2F");
64 assert(h_QAG4Sim_HCALOUT_G4Hit_RZ);
65 h_QAG4Sim_HCALOUT_G4Hit_RZ->GetYaxis()->SetTitleOffset(1.5);
66 h_QAG4Sim_HCALOUT_G4Hit_RZ->Draw(
"COLZ");
68 p = (TPad *) c1->cd(idx++);
73 TH2F *h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection =
74 (TH2F *) qa_file_new->GetObjectChecked(
75 "h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection",
"TH2F");
76 assert(h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection);
79 h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection->ProjectionX(
80 "qa_file_new_h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection_px");
82 proj_new->Scale(1. / proj_new->GetSum());
84 TH1D *proj_ref = NULL;
87 TH2F *h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection =
88 (TH2F *) qa_file_ref->GetObjectChecked(
89 "h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection",
"TH2F");
90 assert(h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection);
93 h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection->ProjectionX(
94 "qa_file_ref_h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection_px");
95 proj_ref->Scale(1. / proj_ref->GetSum());
98 proj_new->GetYaxis()->SetTitle(
"Normalized energy distribution");
104 p = (TPad *) c1->cd(idx++);
109 TH2F *h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection =
110 (TH2F *) qa_file_new->GetObjectChecked(
111 "h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection",
"TH2F");
112 assert(h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection);
115 h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection->ProjectionY(
116 "qa_file_new_h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection_py");
118 proj_new->Scale(1. / proj_new->GetSum());
120 TH1D *proj_ref = NULL;
123 TH2F *h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection =
124 (TH2F *) qa_file_ref->GetObjectChecked(
125 "h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection",
"TH2F");
126 assert(h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection);
129 h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection->ProjectionY(
130 "qa_file_ref_h_QAG4Sim_HCALOUT_G4Hit_LateralTruthProjection_py");
131 proj_ref->Scale(1. / proj_ref->GetSum());
134 proj_new->GetYaxis()->SetTitle(
"Normalized energy distribution");
140 p = (TPad *) c1->cd(idx++);
146 TH1F *h_new = (TH1F *) qa_file_new->GetObjectChecked(
147 "h_QAG4Sim_HCALOUT_G4Hit_HitTime",
"TH1F");
150 h_new->Scale(1. / h_new->GetSum());
155 h_ref = (TH1F *) qa_file_ref->GetObjectChecked(
156 "h_QAG4Sim_HCALOUT_G4Hit_HitTime",
"TH1F");
159 h_ref->Scale(1. / h_ref->GetSum());
162 h_new->GetYaxis()->SetTitleOffset(1.5);
163 h_new->GetYaxis()->SetTitle(
"Normalized energy per bin");
169 p = (TPad *) c1->cd(idx++);
175 TH1F *h_new = (TH1F *) qa_file_new->GetObjectChecked(
176 "h_QAG4Sim_HCALOUT_G4Hit_FractionTruthEnergy",
"TH1F");
181 h_new->Scale(1. / h_new->GetSum());
186 h_ref = (TH1F *) qa_file_ref->GetObjectChecked(
187 "h_QAG4Sim_HCALOUT_G4Hit_FractionTruthEnergy",
"TH1F");
191 h_ref->Scale(1. / h_ref->GetSum());
194 h_new->GetYaxis()->SetTitleOffset(1.5);
195 h_new->GetYaxis()->SetTitle(
"Probability per bin");
201 p = (TPad *) c1->cd(idx++);
206 TH1F *h_new = (TH1F *) qa_file_new->GetObjectChecked(
207 "h_QAG4Sim_HCALOUT_G4Hit_VSF",
"TH1F");
212 h_new->Scale(1. / h_new->GetSum());
217 h_ref = (TH1F *) qa_file_ref->GetObjectChecked(
218 "h_QAG4Sim_HCALOUT_G4Hit_VSF",
"TH1F");
221 h_ref->Scale(1. / h_ref->GetSum());
224 h_new->GetYaxis()->SetTitleOffset(1.5);
225 h_new->GetYaxis()->SetTitle(
"Probability per bin");
226 h_new->GetXaxis()->SetRangeUser(-0, .1);
231 p = (TPad *) c1->cd(idx++);
236 TH1F *h_new = (TH1F *) qa_file_new->GetObjectChecked(
237 "h_QAG4Sim_HCALOUT_G4Hit_FractionEMVisibleEnergy",
"TH1F");
242 h_new->Scale(1. / h_new->GetSum());
247 h_ref = (TH1F *) qa_file_ref->GetObjectChecked(
248 "h_QAG4Sim_HCALOUT_G4Hit_FractionEMVisibleEnergy",
"TH1F");
252 h_ref->Scale(1. / h_ref->GetSum());
255 h_new->GetYaxis()->SetTitleOffset(1.5);
256 h_new->GetYaxis()->SetTitle(
"Probability per bin");
263 SaveCanvas(c1, TString(qa_file_name_new) + TString(c1->GetName()),
true);