6 std::string stageName) {
8 if(tjList.empty())
return;
13 for(
unsigned short it1 = 0; it1 < tjs.
allTraj.size(); ++it1) {
15 if(tj1.
CTP != inCTP)
continue;
21 bool inShower =
false;
23 for (
size_t l1 = 0; l1 < tjList.size(); ++l1) {
25 for (
size_t l2 = 0; l2 < tjList[l1].size(); ++l2) {
27 if (trajID == tjList[l1][l2]) {
38 for (
int i = 0; i < 8; i++) {
52 if(ss.
ID == 0)
return;
56 for(
unsigned short it1 = 0; it1 < tjs.
allTraj.size(); ++it1) {
67 bool isShowerTj =
false;
68 for (
size_t i = 0; i < tjs.
stv.
TjID.size(); ++i) {
69 if (tjs.
stv.
StageNum.at(i) != (int)stageNum)
continue;
72 if (tjs.
stv.
TjID.at(i) == trajID) {
80 if (isShowerTj)
continue;
83 for (
size_t i = 0; i < ss.
TjIDs.size(); ++i) {
84 if (trajID == ss.
TjIDs[i]) {
114 for (
int i = 0; i < 8; i++) {
143 tjs.
stv.
EndWir.push_back(std::nearbyint(endPoint.
Pos[0]));
167 for(
unsigned short cotIndex = 0; cotIndex < tjs.
cots.size(); ++cotIndex) {
168 auto&
ss = tjs.
cots[cotIndex];
169 if (
ss.CTP != inCTP)
continue;
170 if(
ss.ID == 0)
continue;
178 for(
unsigned short cotIndex = 0; cotIndex < tjs.
cots.size(); ++cotIndex) {
179 auto&
ss = tjs.
cots[cotIndex];
180 if(
ss.ID == 0)
continue;
187 bool existingStage =
false;
188 for (
unsigned short i = 0; i < stv.
StageName.size(); ++i) {
190 existingStage =
true;
195 if (!existingStage) {
std::vector< int > EnvStage
std::vector< int > IsShowerParent
std::vector< float > EndWir
std::vector< float > EndAng
std::bitset< 64 > AlgMod
Bit set if algorithm AlgBit_t modifed the trajectory.
std::vector< float > BeginTim
std::vector< Point2_t > Envelope
std::vector< float > BeginAng
The data type to uniquely identify a Plane.
void ClearShowerTree(ShowerTreeVars &stv)
std::vector< float > EndTim
std::vector< int > ShowerID
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
std::vector< ShowerStruct > cots
std::vector< std::string > StageName
std::vector< short > BeginVtx
CTP_t CTP
Cryostat, TPC, Plane code.
std::vector< TrajPoint > Pts
Trajectory points.
std::vector< Trajectory > allTraj
vector of all trajectories in each plane
std::vector< short > EndVtx
std::array< unsigned short, 2 > EndPt
First and last point in the trajectory that has charge.
void SaveTjInfo(TjStuff &tjs, std::vector< std::vector< int >> &tjList, std::string stageName)
std::vector< float > Envelope
float UnitsPerTick
scale factor from Tick to WSE equivalent units
PlaneID_t Plane
Index of the plane within its TPC.
std::vector< float > BeginChg
std::array< unsigned short, 2 > VtxID
ID of 2D vertex.
std::vector< int > EnvPlane
std::vector< short > MCSMom
void SaveAllCots(TjStuff &tjs, const CTP_t &inCTP, std::string someText)
std::vector< int > StageNum
void SaveTjInfoStuff(TjStuff &tjs, Trajectory &tj, int stageNum, std::string stageName)
std::vector< float > BeginWir
geo::PlaneID DecodeCTP(CTP_t CTP)
std::vector< float > EndChg
int GetStageNum(ShowerTreeVars &stv, std::string stageName)
std::vector< int > EnvShowerID
std::vector< int > IsShowerTj
std::vector< short > PlaneNum