12 #include "canvas/Persistency/Common/FindManyP.h" 14 #include "TPolyMarker3D.h" 31 const art::FindManyP<recob::Hit>*
58 const art::FindManyP<recob::Hit>* hitAssns)
const 63 using HitPosition = std::array<double,6>;
64 std::map<int,std::vector<HitPosition>> colorToHitMap;
66 float minHitChiSquare(0.);
67 float maxHitChiSquare(2.);
70 for(
const auto& spacePoint : hitsVec)
72 const double*
pos = spacePoint->XYZ();
73 const double*
err = spacePoint->ErrXYZ();
75 int chargeColorIdx(0);
76 float spacePointChiSq(spacePoint->Chisq());
78 float hitChiSq =
std::max(minHitChiSquare,
std::min(maxHitChiSquare, spacePointChiSq));
84 colorToHitMap[chargeColorIdx].push_back(HitPosition()={{pos[0],pos[1],pos[2],err[3],err[3],err[5]}});
87 for(
auto& hitPair : colorToHitMap)
89 TPolyMarker3D&
pm = view->AddPolyMarker3D(hitPair.second.size(), hitPair.first, kFullDotLarge, 0.17);
90 for (
const auto&
hit : hitPair.second) pm.SetNextPoint(
hit[0],
hit[1],
hit[2]);
std::vector< double > fRecoQHigh
high edge of ADC values for drawing raw digits
std::vector< double > fRecoQLow
low edge of ADC values for drawing raw digits
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
const evdb::ColorScale & CalQ(geo::SigType_t st) const
static int max(int a, int b)
void err(const char *fmt,...)
Detector simulation of raw signals on wires.
std::size_t color(std::string const &procname)
T min(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Signal from collection planes.