17#include <TVirtualPad.h>
48 : mDataSpan(dataspan), mPad(pad)
55 int det = -1,
rob = -1,
mcm = -1;
59 det =
x.getDetector();
64 det =
x.getDetector();
68 O2ERROR(
"found neither digits nor tracklets in MCM");
72 mName = Form(
"det%03d_rob%d_mcm%02d", det,
rob,
mcm);
73 mDesc = Form(
"Detector %02d_%d_%d (%03d) - MCM %d:%02d", det / 30, (det % 30) / 6, det % 6, det,
rob,
mcm);
93 auto adc = digit.getADC();
94 for (
int tb = 0; tb < 30; ++tb) {
112 trkl.SetLineColor(kRed);
113 trkl.SetLineWidth(3);
128 TMarker clustermarker;
129 clustermarker.SetMarkerColor(kRed);
130 clustermarker.SetMarkerStyle(2);
131 clustermarker.SetMarkerSize(1.5);
134 cogmarker.SetMarkerColor(kGreen);
135 cogmarker.SetMarkerStyle(3);
136 cogmarker.SetMarkerSize(1.5);
138 for (
int p = 2; p <=
mDigitsHisto->GetNbinsX() - 1; ++p) {
140 double baseline = 9.5;
142 double centre =
mDigitsHisto->GetBinContent(p, t) - baseline;
152 clustermarker.DrawMarker(clpos, t - 0.5);
162 hitmarker.SetMarkerColor(kBlue);
163 hitmarker.SetMarkerStyle(38);
165 if (hit.getCharge() > 0.0) {
166 hitmarker.SetMarkerSize(log10(hit.getCharge()));
167 hitmarker.DrawMarker(hit.getPadCol(), hit.getTimeBin());
175 line.SetLineColor(kBlue);
176 line.SetLineWidth(2.0);
179 line.DrawLine(trkl.getStartPoint().getPadCol(), trkl.getStartPoint().getTimeBin(), trkl.getEndPoint().getPadCol(), trkl.getEndPoint().getTimeBin());
MCMDisplay(RawDataSpan &mcmdata, TVirtualPad *pad=nullptr)
void drawMCTrackSegments()
RawDisplay(RawDataSpan &dataspan, TVirtualPad *pad=nullptr)
void drawDigits(std::string opt="colz")
constexpr int NMCMROBINCOL
the number of MCMs per ROB in column direction
constexpr float GRANULARITYTRKLSLOPE
granularity of slope in tracklet64 word in pads/timebin
constexpr int NCOLMCM
the number of pads per MCM
constexpr int ADDBITSHIFTSLOPE
in the TRAP the slope is shifted by 3 additional bits compared to the position
constexpr float GRANULARITYTRKLPOS
granularity of position in tracklet64 word in pad-widths
float PadColF(o2::trd::Tracklet64 &tracklet)
Modified version of o2::trd::Tracklet64::getPadCol returning a float.
static int getROBSide(int irob)
boost::iterator_range< std::vector< o2::trd::Tracklet64 >::iterator > tracklets
std::vector< TrackSegment > makeMCTrackSegments()
boost::iterator_range< std::vector< o2::trd::Digit >::iterator > digits
boost::iterator_range< std::vector< HitPoint >::iterator > hits