10 #include <tracking/trackFindingCDC/findlets/minimal/TrackInspector.h>
12 #include <tracking/trackFindingCDC/eventdata/tracks/CDCTrack.h>
14 #include <framework/core/ModuleParamList.templateDetails.h>
15 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
17 #include <TMultiGraph.h>
24 using namespace TrackFindingCDC;
28 return "Findlet for printing out CDCtracks";
33 moduleParamList->
addParameter(prefixed(prefix,
"debugDraw"),
35 "Draw found hit positions of the track",
43 if (tracks.size() == 0) {
48 TCanvas canvA(
"axialCanvas",
"CDC axial hits in an event", 0, 0, 1440, 1080);
49 TCanvas canvS(
"stereoCanvas",
"CDC stereo hits in an event", 0, 0, 1440, 1080);
50 TMultiGraph* mgA =
new TMultiGraph(
"axialTracks",
"CDC axial tracks in the event;X, cm;Y, cm");
51 TMultiGraph* mgS =
new TMultiGraph(
"stereoTracks",
"CDC stereo tracks in the event;Z, cm;R, cm");
53 TGraph* grA =
new TGraph();
54 TGraph* grS =
new TGraph();
61 const double R = std::sqrt(pos.x() * pos.x() + pos.y() * pos.y());
62 const double X = pos.x();
63 const double Y = pos.y();
64 const double Z = pos.z();
65 if (Z == 0 and hit.isAxial()) {
66 grA->SetPoint(grA->GetN(), X, Y);
68 grS->SetPoint(grS->GetN(), Z, R);
80 if (mgA->GetXaxis()) {
81 mgA->GetXaxis()->SetLimits(-120, 120);
82 mgA->GetYaxis()->SetRangeUser(-120, 120);
83 canvA.SaveAs(Form(
"CDCaxialTracks_%i.png", nevent));
85 if (mgS->GetXaxis()) {
86 mgS->GetXaxis()->SetLimits(-180, 180);
87 mgS->GetYaxis()->SetRangeUser(0, 120);
88 canvS.SaveAs(Form(
"CDCstereoTracks_%i.png", nevent));
95 for (
auto it = tracks.begin(); it != tracks.end();) {
96 bool stereoHitsPresent =
99 if (not hit.isAxial()) stereoHitsPresent =
true;
101 if (not stereoHitsPresent) {
102 it = tracks.erase(it);