154 std::cout <<
"\t" << geo.DetHalfWidth() <<
" " << geo.DetHalfHeight() <<
" " << geo.DetLength() << std::endl;
156 <<
"\t y:(" << -1.*geo.DetHalfHeight()+
fYBuffer <<
"," << geo.DetHalfHeight()-
fYBuffer <<
")"
157 <<
"\t x:(" << 0+
fXBuffer <<
"," << 2*geo.DetHalfWidth()-
fXBuffer <<
")" << std::endl;
161 int containment_level=0;
162 bool track_linked =
false;
163 std::size_t n_tracks=0;
178 for(
size_t i_tc=0; i_tc<tracksVec.size(); ++i_tc){
182 n_tracks += tracksVec[i_tc].size();
183 for(
size_t i_t=0; i_t<tracksVec[i_tc].size(); ++i_t){
186 if(!track_linked) track_linked=
true;
190 std::cout <<
"\tTrack (" << i_tc <<
"," << i_t <<
")"
191 <<
" " << containment_level << std::endl;
209 for(
size_t i_tc=0; i_tc<tracksVec.size(); ++i_tc){
210 for(
size_t i_t=0; i_t<tracksVec[i_tc].size(); ++i_t){
231 if(!track_linked) track_linked=
true;
236 std::cout <<
"\tTrackPair (" << i_tc <<
"," << i_t <<
") and (" << i_tr.first <<
"," << i_tr.second <<
")"
237 <<
" " << containment_level << std::endl;
252 std::cout <<
"All done! Now let's make the tree and tags!" << std::endl;
255 for(
size_t i_tc=0; i_tc<tracksVec.size(); ++i_tc){
256 for(
size_t i_t=0; i_t<tracksVec[i_tc].size(); ++i_t){
284 anab::CosmicTag(std::vector<float>{(float)tracksVec[i_tc][i_t].Vertex().X(),
285 (float)tracksVec[i_tc][i_t].Vertex().Y(),
286 (float)tracksVec[i_tc][i_t].Vertex().Z()},
287 std::vector<float>{(float)tracksVec[i_tc][i_t].End().X(),
288 (float)tracksVec[i_tc][i_t].End().Y(),
289 (float)tracksVec[i_tc][i_t].End().Z()},
296 std::cout <<
"Track (" << i_tc <<
"," << i_t <<
")"
300 << tracksVec[i_tc][i_t].Vertex().X() <<
","
301 << tracksVec[i_tc][i_t].Vertex().Y() <<
","
302 << tracksVec[i_tc][i_t].Vertex().Z() <<
")" << std::endl;
303 std::cout <<
"\tNearest wire ..." << std::endl;
304 for(
size_t i_p=0; i_p<geo.Nplanes(); ++i_p)
305 std::cout <<
"\t\tPlane " << i_p <<
" " << geo.NearestWireID(tracksVec[i_tc][i_t].Vertex(),i_p).Wire << std::endl;
307 << tracksVec[i_tc][i_t].End().X() <<
","
308 << tracksVec[i_tc][i_t].End().Y() <<
","
309 << tracksVec[i_tc][i_t].End().Z() <<
")" << std::endl;
310 std::cout <<
"\tNearest wire ..." << std::endl;
311 for(
size_t i_p=0; i_p<geo.Nplanes(); ++i_p)
312 std::cout <<
"\t\tPlane " << i_p <<
" " << geo.NearestWireID(tracksVec[i_tc][i_t].End(),i_p).Wire << std::endl;
313 std::cout <<
"\tLength=" << tracksVec[i_tc][i_t].Length() << std::endl;
314 std::cout <<
"\tSimple_length=" << (tracksVec[i_tc][i_t].End()-tracksVec[i_tc][i_t].Vertex()).R() << std::endl;
std::vector< std::vector< int > > fTrackContainmentLevel
double MinDistanceStartPt(recob::Track const &, recob::Track const &)
BEGIN_PROLOG or score(default)}sbnd_crttrackmatchingalg_crID
std::vector< std::vector< double > > fMinDistances
std::size_t size(FixedBins< T, C > const &) noexcept
anab::CosmicTagID_t GetCosmicTagID(recob::Track const &, geo::GeometryCore const &)
std::vector< std::vector< std::pair< int, int > > > fTrackContainmentIndices
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
struct trk::TrackTree TrackTree_t
double MinDistanceEndPt(recob::Track const &, recob::Track const &)
std::vector< std::vector< anab::CosmicTag > > fCosmicTags
TrackTree_t fTrackTreeObj
BEGIN_PROLOG could also be cout
bool IsContained(recob::Track const &, geo::GeometryCore const &)