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);