22 #ifndef KFPARTICLESPHENIX_KFPARTICLETOOLS_H
23 #define KFPARTICLESPHENIX_KFPARTICLETOOLS_H
61 int calcMinIP(
const KFParticle &track,
const std::vector<KFParticle> &PVs,
float &minimumIP,
float &minimumIPchi2);
63 std::vector<int>
findAllGoodTracks(std::vector<KFParticle> daughterParticles,
const std::vector<KFParticle> &primaryVertices);
65 std::vector<std::vector<int>>
findTwoProngs(std::vector<KFParticle> daughterParticles, std::vector<int> goodTrackIndex,
int nTracks);
67 std::vector<std::vector<int>>
findNProngs(std::vector<KFParticle> daughterParticles,
68 const std::vector<int> &goodTrackIndex,
69 std::vector<std::vector<int>> goodTracksThatMeet,
70 int nRequiredTracks,
unsigned int nProngs);
72 std::vector<std::vector<int>>
appendTracksToIntermediates(
KFParticle intermediateResonances[], std::vector<KFParticle> daughterParticles,
const std::vector<int> &goodTrackIndex,
int num_remaining_tracks);
79 std::tuple<KFParticle, bool>
buildMother(
KFParticle vDaughters[],
std::string daughterOrder[],
bool isIntermediate,
int intermediateNumber,
int nTracks,
bool constrainMass,
float required_vertexID);
84 bool constrain_to_vertex,
bool isIntermediate,
int intermediateNumber,
int nTracks,
bool constrainMass,
float required_vertexID);
190 #endif // KFPARTICLESPHENIX_KFPARTICLETOOLS_H