122 fHM->Create2<TH2D>(
"fhHitsXY",
"fhHitsXY;X [cm];Y [cm];Counter", nBinsX, xMin, xMax, nBinsY, yMin, yMax);
123 fHM->Create2<TH2D>(
"fhPointsXY",
"fhPointsXY;X [cm];Y [cm];Counter", nBinsX, xMin, xMax, nBinsY, yMin, yMax);
124 fHM->Create2<TH2D>(
"fhPointsXYNoRotation",
"fhPointsXYNoRotation;X [cm];Y [cm];Counter", nBinsX, xMin, xMax, nBinsY,
126 fHM->Create1<TH1D>(
"fhHitsZ",
"fhHitsZ;Z [cm];Yield", 150, 100, 250);
127 fHM->Create1<TH1D>(
"fhPointsZ",
"fhPointsZ;Z [cm];Yield", 150, 100, 250);
128 fHM->Create1<TH1D>(
"fhMcVertexZEl",
"fhMcVertexZEl;Z [cm];Counter", 250, -100., 150);
129 fHM->Create2<TH2D>(
"fhMcVertexXYEl",
"fhMcVertexXYEl;X [cm];Y [cm];Counter", 50, -5., 5., 50, -5., 5.);
131 vector<string> hp = {
"_hits",
"_points"};
132 for (
size_t i = 0; i < hp.size(); i++) {
134 if (i == 0)
fHM->Create1<TH1D>(
"fhNofHits" + t,
"fhNofHits" + t +
";# hits/ring;Yield", 50, -.5, 49.5);
135 if (i == 1)
fHM->Create1<TH1D>(
"fhNofHits" + t,
"fhNofHits" + t +
";# points/ring;Yield", 400, -.5, 399.5);
137 fHM->Create2<TH2D>(
"fhBoAVsMom" + t,
"fhBoAVsMom" + t +
";P [GeV/c];B/A;Yield", 40, 0., 10, 100, 0, 1);
138 fHM->Create2<TH2D>(
"fhXcYcEllipse" + t,
"fhXcYcEllipse" + t +
";X [cm];Y [cm];Yield", nBinsX, xMin, xMax, nBinsY,
140 fHM->Create2<TH2D>(
"fhBaxisVsMom" + t,
"fhBaxisVsMom" + t +
";P [GeV/c];B axis [cm];Yield", 40, 0., 10, 200, 0.,
142 fHM->Create2<TH2D>(
"fhAaxisVsMom" + t,
"fhAaxisVsMom" + t +
";P [GeV/c];A axis [cm];Yield", 40, 0., 10, 200, 0.,
144 fHM->Create2<TH2D>(
"fhChi2EllipseVsMom" + t,
"fhChi2EllipseVsMom" + t +
";P [GeV/c];#Chi^{2};Yield", 40, 0., 10.,
147 fHM->Create2<TH2D>(
"fhXcYcCircle" + t,
"fhXcYcCircle" + t +
";X [cm];Y [cm];Yield", nBinsX, xMin, xMax, nBinsY,
149 fHM->Create2<TH2D>(
"fhRadiusVsMom" + t,
"fhRadiusVsMom" + t +
";P [GeV/c];Radius [cm];Yield", 40, 0., 10, 200, 0.,
151 fHM->Create2<TH2D>(
"fhChi2CircleVsMom" + t,
"fhChi2CircleVsMom" + t +
";P [GeV/c];#Chi^{2};Yield", 40, 0., 10., 50,
153 fHM->Create2<TH2D>(
"fhDRVsMom" + t,
"fhDRVsMom" + t +
";P [GeV/c];dR [cm];Yield", 40, 0, 10, 200, -2., 2.);
155 fHM->Create1<TH1D>(
"fhBaxisUpHalf" + t,
"fhBaxisUpHalf" + t +
";B axis [cm];Yield", 200, 0., 10.);
156 fHM->Create1<TH1D>(
"fhBaxisDownHalf" + t,
"fhBaxisDownHalf" + t +
";B axis [cm];Yield", 200, 0., 10.);
159 fHM->Create1<TH1D>(
"fhNofPhotonsPerHit",
"fhNofPhotonsPerHit;Number of photons per hit;Yield", 10, -0.5, 9.5);
162 fHM->Create2<TH2D>(
"fhDiffAaxis",
"fhDiffAaxis;# hits/ring;A_{point}-A_{hit} [cm];Yield", 25, 0., 50., 100, -1., 1.);
163 fHM->Create2<TH2D>(
"fhDiffBaxis",
"fhDiffBaxis;# hits/ring;B_{point}-B_{hit} [cm];Yield", 25, 0., 50., 100, -1., 1.);
164 fHM->Create2<TH2D>(
"fhDiffXcEllipse",
"fhDiffXcEllipse;# hits/ring;Xc_{point}-Xc_{hit} [cm];Yield", 25, 0., 50., 100,
166 fHM->Create2<TH2D>(
"fhDiffYcEllipse",
"fhDiffYcEllipse;# hits/ring;Yc_{point}-Yc_{hit} [cm];Yield", 25, 0., 50., 100,
168 fHM->Create2<TH2D>(
"fhDiffXcCircle",
"fhDiffXcCircle;# hits/ring;Xc_{point}-Xc_{hit} [cm];Yield", 25, 0., 50., 100,
170 fHM->Create2<TH2D>(
"fhDiffYcCircle",
"fhDiffYcCircle;# hits/ring;Yc_{point}-Yc_{hit} [cm];Yield", 25, 0., 50., 100,
172 fHM->Create2<TH2D>(
"fhDiffRadius",
"fhDiffRadius;# hits/ring;Radius_{point}-Radius_{hit} [cm];Yield", 25, 0., 50.,
176 fHM->Create2<TH2D>(
"fhRadiusVsNofHits",
"fhRadiusVsNofHits;# hits/ring;Radius [cm];Yield", 40, 0., 40., 100, 0., 10.);
177 fHM->Create2<TH2D>(
"fhAaxisVsNofHits",
"fhAaxisVsNofHits;# hits/ring;A axis [cm];Yield", 40, 0., 40., 100, 0., 10.);
178 fHM->Create2<TH2D>(
"fhBaxisVsNofHits",
"fhBaxisVsNofHits;# hits/ring;B axis [cm];Yield", 40, 0., 40., 100, 0., 10.);
179 fHM->Create2<TH2D>(
"fhDRVsNofHits",
"fhDRVsNofHits;# hits/ring;dR [cm];Yield", 40, 0., 40., 200, -2., 2.);
182 fHM->Create1<TH1D>(
"fhDiffXhit",
"fhDiffXhit;X_{point}-X_{hit} [cm];Yield", 200, -.5, .5);
183 fHM->Create1<TH1D>(
"fhDiffYhit",
"fhDiffYhit;Y_{point}-Y_{hit} [cm];Yield", 200, -.5, .5);
186 fHM->Create1<TH1D>(
"fhNofHitsAll",
"fhNofHitsAll;# hits/ring;Yield", 50, 0., 50.);
187 fHM->Create1<TH1D>(
"fhNofHitsCircleFit",
"fhNofHitsCircleFit;# hits/ring;Yield", 50, 0., 50.);
188 fHM->Create1<TH1D>(
"fhNofHitsEllipseFit",
"fhNofHitsEllipseFit;# hits/ring;Yield", 50, 0., 50.);
189 fHM->Create1<TH1D>(
"fhNofHitsCircleFitEff",
"fhNofHitsCircleFitEff;# hits/ring;Efficiency [%]", 50, 0., 50.);
190 fHM->Create1<TH1D>(
"fhNofHitsEllipseFitEff",
"fhNofHitsEllipseFitEff;# hits/ring;Efficiency [%]", 50, 0., 50.);
193 vector<string> mcAccTypes{
"Mc",
"Acc"};
194 for (
const string& t : mcAccTypes) {
195 fHM->Create1<TH1D>(
"fhMomEl" + t,
"fhMomEl" + t +
";p [GeV/c];Yield", 50, 0., 10.);
196 fHM->Create2<TH2D>(
"fhPtYEl" + t,
"fhPtYEl" + t +
";Rapidity;P_{t} [GeV/c];Yield", 25, 0., 4., 25, 0., 3.);
197 fHM->Create2<TH2D>(
"fhPYEl" + t,
"fhPYEl" + t +
";Rapidity;P [GeV/c];Yield", 25, 0., 4., 25, 0., 10.);
200 fHM->Create1<TH1D>(
"fhMcMomPi",
"fhMcMomPi;p [GeV/c];Yield", 50, 0., 10.);
201 fHM->Create2<TH2D>(
"fhMcPtyPi",
"fhMcPtyPi;Rapidity;P_{t} [GeV/c];Yield", 25, 0., 4., 25, 0., 3.);
204 fHM->Create3<TH3D>(
"fhNofHitsXYZ",
"fhNofHitsXYZ;X [cm];Y [cm];# hits/ring", nBinsX, xMin, xMax, nBinsY, yMin, yMax,
206 fHM->Create3<TH3D>(
"fhNofPointsXYZ",
"fhNofPointsXYZ;X [cm];Y [cm];# points/ring", nBinsX, xMin, xMax, nBinsY, yMin,
207 yMax, 50, 100., 300.);
208 fHM->Create3<TH3D>(
"fhBoAXYZ",
"fhBoAXYZ;X [cm];Y [cm];B/A", nBinsX, xMin, xMax, nBinsY, yMin, yMax, 100, 0., 1.);
209 fHM->Create3<TH3D>(
"fhBaxisXYZ",
"fhBaxisXYZ;X [cm];Y [cm];B axis [cm]", nBinsX, xMin, xMax, nBinsY, yMin, yMax, 80,
211 fHM->Create3<TH3D>(
"fhAaxisXYZ",
"fhAaxisXYZ;X [cm];Y [cm];A axis [cm]", nBinsX, xMin, xMax, nBinsY, yMin, yMax, 80,
213 fHM->Create3<TH3D>(
"fhRadiusXYZ",
"fhRadiusXYZ;X [cm];Y [cm];Radius [cm]", nBinsX, xMin, xMax, nBinsY, yMin, yMax, 80,
215 fHM->Create3<TH3D>(
"fhdRXYZ",
"fhdRXYZ;X [cm];Y [cm];dR [cm]", nBinsX, xMin, xMax, nBinsY, yMin, yMax, 100, -1., 1.);
224 fHM->Create2<TH2D>(
"fhNofHitsVsX",
"fhNofHitsVsX;X [cm];# hits/ring", nBinsX1, xMin1, xMax1, 50, 0., 50);
225 fHM->Create2<TH2D>(
"fhNofHitsVsY",
"fhNofHitsVsY;Abs(Y) [cm];# hits/ring", nBinsY1, yMin1, yMax1, 50, 0., 50);
227 fHM->Create2<TH2D>(
"fhNofPointsVsX",
"fhNofPointsVsX;X [cm];# points/ring", nBinsX1, xMin1, xMax1, 50, 100., 300.);
228 fHM->Create2<TH2D>(
"fhNofPointsVsY",
"fhNofPointsVsY;Abs(Y) [cm];# points/ring", nBinsY1, yMin1, yMax1, 50, 100.,
231 fHM->Create2<TH2D>(
"fhBoAVsX",
"fhBoAVsX;X [cm];B/A", nBinsX1, xMin1, xMax1, 100, 0., 1.);
232 fHM->Create2<TH2D>(
"fhBoAVsY",
"fhBoAVsY;Abs(Y) [cm];B/A", nBinsY1, yMin1, yMax1, 100, 0., 1.);
234 fHM->Create2<TH2D>(
"fhBaxisVsX",
"fhBaxisVsX;X [cm];B axis [cm]", nBinsX1, xMin1, xMax1, 80, 3., 7.);
235 fHM->Create2<TH2D>(
"fhBaxisVsY",
"fhBaxisVsY;Abs(Y) [cm];B axis [cm]", nBinsY1, yMin1, yMax1, 80, 3., 7.);
237 fHM->Create2<TH2D>(
"fhAaxisVsX",
"fhAaxisVsX;X [cm];A axis [cm]", nBinsX1, xMin1, xMax1, 80, 3., 7.);
238 fHM->Create2<TH2D>(
"fhAaxisVsY",
"fhAaxisVsY;Abs(Y) [cm];A axis [cm]", nBinsY1, yMin1, yMax1, 80, 3., 7.);
240 fHM->Create2<TH2D>(
"fhRadiusVsX",
"fhRadiusVsX;X [cm];Radius [cm]", nBinsX1, xMin1, xMax1, 80, 3., 7.);
241 fHM->Create2<TH2D>(
"fhRadiusVsY",
"fhRadiusVsY;Abs(Y) [cm];Radius [cm]", nBinsY1, yMin1, yMax1, 80, 3., 7.);
243 fHM->Create2<TH2D>(
"fhdRVsX",
"fhdRVsX;X [cm];dR [cm]", nBinsX1, xMin1, xMax1, 100, -1., 1.);
244 fHM->Create2<TH2D>(
"fhdRVsY",
"fhdRVsY;Abs(Y) [cm];dR [cm]", nBinsY1, yMin1, yMax1, 100, -1., 1.);
247 vector<string> photonECat = {
"PlaneZ+",
"PlaneZ-",
"PmtPoint",
"PmtHit"};
248 for (
const auto& t : photonECat) {
249 fHM->Create1<TH1D>(
"fhPhotonE" + t,
"fhPhotonE" + t +
";Photon energy [eV];Counter", 100, 0., 10.);
250 fHM->Create1<TH1D>(
"fhLambda" + t,
"fhLambda" + t +
";Photon wavelength [nm];Counter", 100, 0., 700.);
657 TCanvas* c =
fHM->CreateCanvas(
"richgeo_vertex_el",
"richgeo_vertex_el", 2000, 1000);
666 TCanvas* c =
fHM->CreateCanvas(
"richgeo_hits_xy",
"richgeo_hits_xy", 1200, 1200);
671 TCanvas* c =
fHM->CreateCanvas(
"richgeo_points_xy",
"richgeo_points_xy", 1200, 1200);
676 TCanvas* c =
fHM->CreateCanvas(
"richgeo_points_xy_no_rotation",
"richgeo_points_xy_no_rotation", 1200, 1200);
681 fHM->CreateCanvas(
"richgeo_hits_z",
"richgeo_hits_z", 1200, 1200);
682 fHM->NormalizeToIntegral(
"fhHitsZ");
687 fHM->CreateCanvas(
"richgeo_points_z",
"richgeo_points_z", 1200, 1200);
688 fHM->NormalizeToIntegral(
"fhPointsZ");
692 vector<string> ph = {
"_hits",
"_points"};
693 for (
const string& t : ph) {
695 DrawH2MeanRms(
fHM->H2(
"fhBoAVsMom" + t),
"richgeo" + t +
"_ellipse_boa_vs_mom");
696 fHM->H2(
"fhBoAVsMom" + t)->GetYaxis()->SetRangeUser(0.8, 1.0);
699 string name =
"richgeo" + t +
"_ellipse_xc_yc";
700 fHM->CreateCanvas(name.c_str(), name.c_str(), 1200, 1200);
704 DrawH2MeanRms(
fHM->H2(
"fhChi2EllipseVsMom" + t),
"richgeo" + t +
"_chi2_ellipse_vs_mom");
709 string name =
"richgeo" + t +
"_b_up_down_halves";
710 TCanvas* c =
fHM->CreateCanvas(name.c_str(), name.c_str(), 2000, 1000);
713 TH1* hUp =
fHM->H1Clone(
"fhBaxisUpHalf" + t);
717 TH1* hDown =
fHM->H1Clone(
"fhBaxisDownHalf" + t);
719 hDown->SetStats(
true);
723 string name =
"richgeo" + t +
"_circle";
724 TCanvas* c =
fHM->CreateCanvas(name.c_str(), name.c_str(), 2000, 1000);
728 LOG(info) <<
"Number of hits/points = " <<
fHM->H1(
"fhNofHits" + t)->GetMean();
734 DrawH2MeanRms(
fHM->H2(
"fhChi2CircleVsMom" + t),
"richgeo" + t +
"_chi2_circle_vs_mom");
737 fHM->H2(
"fhDRVsMom" + t)->GetYaxis()->SetRangeUser(-1.05, 1.05);
741 fHM->CreateCanvas(
"richgeo_nof_photons_per_hit",
"richgeo_nof_photons_per_hit", 1200, 1200);
742 fHM->NormalizeToIntegral(
"fhNofPhotonsPerHit");
747 TCanvas* c =
fHM->CreateCanvas(
"richgeo_diff_ellipse",
"richgeo_diff_ellipse", 2000, 1000);
768 TCanvas* c =
fHM->CreateCanvas(
"richgeo_diff_circle",
"richgeo_diff_circle", 1500, 1000);
785 TCanvas* c =
fHM->CreateCanvas(
"richgeo_hits_residual",
"richgeo_hits", 2000, 1000);
788 fHM->NormalizeToIntegral(
"fhDiffXhit");
791 fHM->NormalizeToIntegral(
"fhDiffYhit");
796 TCanvas* c =
fHM->CreateCanvas(
"richgeo_fit_eff",
"richgeo_fit_eff", 1800, 600);
799 DrawH1({
fHM->H1Clone(
"fhNofHitsAll"),
fHM->H1Clone(
"fhNofHitsCircleFit"),
fHM->H1Clone(
"fhNofHitsEllipseFit")},
800 {
"All",
"Circle fit",
"Ellipse fit"},
kLinear,
kLog,
true, 0.7, 0.7, 0.99, 0.99,
"hist");
801 TH1D* fhNofHitsCircleFitEff =
Cbm::DivideH1(
fHM->H1(
"fhNofHitsCircleFit"),
fHM->H1(
"fhNofHitsAll"));
802 TH1D* fhNofHitsEllipseFitEff =
Cbm::DivideH1(
fHM->H1(
"fhNofHitsEllipseFit"),
fHM->H1(
"fhNofHitsAll"));
804 DrawH1(fhNofHitsCircleFitEff);
806 TLatex* circleFitEffTxt =
new TLatex(15, 0.5, circleEff.c_str());
807 LOG(info) <<
"Circle fit efficiency:" << circleEff <<
"%";
808 circleFitEffTxt->Draw();
810 DrawH1(fhNofHitsEllipseFitEff);
812 TLatex* ellipseFitEffTxt =
new TLatex(15, 0.5, ellipseFitEff.c_str());
813 LOG(info) <<
"Ellipse fit efficiency:" << ellipseFitEff <<
"%";
814 ellipseFitEffTxt->Draw();
818 TCanvas* c =
fHM->CreateCanvas(
"richgeo_acc_el",
"richgeo_acc_el", 1800, 1200);
821 DrawH1(
fHM->H1Vector({string(
"fhMomElMc"),
"fhMomElAcc"}), {
"MC",
"ACC"},
kLinear,
kLog,
true, 0.8, 0.8, 0.99, 0.99,
825 fHM->H2(
"fhPtYElMc")->SetMinimum(0.);
828 fHM->H2(
"fhPtYElAcc")->SetMinimum(0.);
831 fHM->H2(
"fhPYElMc")->SetMinimum(0.);
834 fHM->H2(
"fhPYElAcc")->SetMinimum(0.);
838 TH1D* pxEff =
Cbm::DivideH1(
fHM->H1Clone(
"fhMomElAcc"), (TH1D*)
fHM->H1Clone(
"fhMomElMc"),
"", 100.,
839 "Geometrical acceptance [%]");
841 fHM->CreateCanvas(
"richgeo_acc_eff_el_mom",
"richgeo_acc_eff_el_mom", 800, 800);
843 LOG(info) <<
"Geometrical acceptance electrons:" << effEl <<
"%";
849 Cbm::DivideH2(
fHM->H2Clone(
"fhPtYElAcc"),
fHM->H2Clone(
"fhPtYElMc"),
"", 100.,
"Geometrical acceptance [%]");
850 fHM->CreateCanvas(
"richgeo_acc_eff_el_pty",
"richgeo_acc_eff_el_pty", 800, 800);
856 Cbm::DivideH2(
fHM->H2Clone(
"fhPYElAcc"),
fHM->H2Clone(
"fhPYElMc"),
"", 100.,
"Geometrical acceptance [%]");
857 fHM->CreateCanvas(
"richgeo_acc_eff_el_py",
"richgeo_acc_eff_el_py", 800, 800);
862 TCanvas* c =
fHM->CreateCanvas(
"richgeo_acc_eff_el_zoom",
"richgeo_acc_eff_el_zoom", 1000, 500);
865 TH1* fhMcMomEl =
fHM->H1Clone(
"fhMomElMc");
866 TH1* fhAccMomEl =
fHM->H1Clone(
"fhMomElAcc");
867 fhMcMomEl->GetXaxis()->SetRangeUser(0., 3.);
868 fhAccMomEl->GetXaxis()->SetRangeUser(0., 3.);
869 fhMcMomEl->SetMinimum(0.);
870 DrawH1({fhMcMomEl, fhAccMomEl}, {
"MC",
"ACC"},
kLinear,
kLog,
true, 0.8, 0.8, 0.99, 0.99);
871 gPad->SetLogy(
false);
873 TH1D* pxEffClone =
static_cast<TH1D*
>(pxEff->Clone());
874 pxEffClone->GetXaxis()->SetRangeUser(0., 3.);
875 pxEffClone->SetMinimum(0.);
881 TCanvas* c =
fHM->CreateCanvas(
"richgeo_numbers_vs_xy_hits",
"richgeo_numbers_vs_xy_hits", 1800, 600);
892 TCanvas* c =
fHM->CreateCanvas(
"richgeo_numbers_vs_xy_points",
"richgeo_numbers_vs_xy_points", 1800, 600);
903 TCanvas* c =
fHM->CreateCanvas(
"richgeo_numbers_vs_xy_boa",
"richgeo_numbers_vs_xy_boa", 1800, 600);
909 fHM->H2(
"fhBoAVsX")->GetYaxis()->SetRangeUser(0.75, 1.0);
912 fHM->H2(
"fhBoAVsY")->GetYaxis()->SetRangeUser(0.75, 1.0);
916 TCanvas* c =
fHM->CreateCanvas(
"richgeo_numbers_vs_xy_b",
"richgeo_numbers_vs_xy_b", 1800, 600);
927 TCanvas* c =
fHM->CreateCanvas(
"richgeo_numbers_vs_xy_a",
"richgeo_numbers_vs_xy_a", 1800, 600);
938 TCanvas* c =
fHM->CreateCanvas(
"richgeo_numbers_vs_xy_r",
"richgeo_numbers_vs_xy_r", 1800, 600);
949 TCanvas* c =
fHM->CreateCanvas(
"richgeo_numbers_vs_xy_dr",
"richgeo_numbers_vs_xy_dr", 1800, 600);
960 fHM->CreateCanvas(
"richgeo_acc_vs_min_nof_hits",
"richgeo_acc_vs_min_nof_hits", 1000, 1000);
962 h->GetXaxis()->SetRangeUser(0., 40.0);
970 fHM->H2(
"fhDRVsNofHits")->GetYaxis()->SetRangeUser(-1.05, 1.05);
973 TCanvas* c =
fHM->CreateCanvas(
"richgeo_hits_rab",
"richgeo_hits_rab", 1500, 600);
977 fHM->H2(
"fhRadiusVsNofHits")->ProjectionY((
string(
fHM->H2(
"fhRadiusVsNofHits")->GetName()) +
"_py").c_str());
982 fHM->H2(
"fhAaxisVsNofHits")->ProjectionY((
string(
fHM->H2(
"fhAaxisVsNofHits")->GetName()) +
"_py").c_str());
987 fHM->H2(
"fhBaxisVsNofHits")->ProjectionY((
string(
fHM->H2(
"fhBaxisVsNofHits")->GetName()) +
"_py").c_str());
994 TCanvas* c =
fHM->CreateCanvas(
"richgeo_photon_energy",
"richgeo_photon_energy", 2000, 1000);
995 vector<string> labels = {
"Sens plane Z+",
"Sens plane Z-",
"PMT Point",
"PMT hit"};
998 DrawH1(
fHM->H1Vector({
"fhPhotonEPlaneZ+",
"fhPhotonEPlaneZ-",
"fhPhotonEPmtPoint",
"fhPhotonEPmtHit"}), labels);
1000 DrawH1(
fHM->H1Vector({
"fhLambdaPlaneZ+",
"fhLambdaPlaneZ-",
"fhLambdaPmtPoint",
"fhLambdaPmtHit"}), labels);
1007 fHM->Create3<TH3D>(
"fhPointsXYZ",
"fhPointsXYZ;X [cm];Y [cm];Z [cm];Yield", 100, -50, 50, 100, -300, 300, 100, 100,
1009 fHM->Create3<TH3D>(
"fhHitsXYZ",
"fhHitsXYZ;X [cm];Y [cm];Z [cm];Yield", 100, -50, 50, 100, -300, 300, 100, 100, 300);
1014 TCanvas* c =
fHM->CreateCanvas(
"richgeo_pixels_xy",
"richgeo_pixels_xy", 1500, 1500);
1015 c->SetGrid(
true,
true);
1016 TH2D* pad =
new TH2D(
"richgeo_pixels_xy",
";X [cm];Y [cm]", 1, -120, 120, 1, -210, 210);
1018 pad->SetStats(
false);
1024 TCanvas* c =
fHM->CreateCanvas(
"richgeo_pixels_xz",
"richgeo_pixels_xz", 1500, 1500);
1025 c->SetGrid(
true,
true);
1026 TH2D* pad =
new TH2D(
"richgeo_pixels_xz",
";Z [cm];X [cm]", 1, 200, 250, 1, -120., 120.);
1027 pad->SetStats(
false);
1033 fHM->CreateCanvas(
"richgeo_pixels_yz",
"richgeo_pixels_yz", 1500, 1500);
1034 TH2D* pad =
new TH2D(
"richgeo_pixels_yz",
";Z [cm];Y [cm]", 1, 200, 250, 1, -220, 220);
1035 pad->SetStats(
false);
1041 TCanvas* c =
fHM->CreateCanvas(
"richgeo_pmts_xy",
"richgeo_pmts_xy", 1500, 1500);
1042 c->SetGrid(
true,
true);
1043 TH2D* pad =
new TH2D(
"richgeo_pmts_xy",
";X [cm];Y [cm]", 1, -120, 120, 1, -210, 210);
1044 pad->SetStats(
false);
1050 for (
unsigned int i = 0; i < pixels.size(); i++) {
1052 TVector3 inPos(pixelData->
fX, pixelData->
fY, pixelData->
fZ);
1056 fHM->H3(
"fhPointsXYZ")->Fill(inPos.X(), inPos.Y(), inPos.Z());
1057 fHM->H3(
"fhHitsXYZ")->Fill(outPos.X(), outPos.Y(), outPos.Z());
1061 fHM->CreateCanvas(
"richgeo_pixels_points_xyz",
"richgeo_pixels_points_xyz", 1500, 1500);
1062 fHM->H3(
"fhPointsXYZ")->Draw();
1066 fHM->CreateCanvas(
"richgeo_pixels_hits_xyz",
"richgeo_pixels_hits_xyz", 1500, 1500);
1067 fHM->H3(
"fhHitsXYZ")->Draw();