22 #ifndef KFPARTICLESPHENIX_KFPARTICLETOOLS_H
23 #define KFPARTICLESPHENIX_KFPARTICLETOOLS_H
28 #include <KFParticle.h>
59 int calcMinIP(KFParticle track, std::vector<KFParticle> PVs,
float& minimumIP,
float& minimumIPchi2);
61 std::vector<int>
findAllGoodTracks(std::vector<KFParticle> daughterParticles, std::vector<KFParticle> primaryVertices);
63 std::vector<std::vector<int>>
findTwoProngs(std::vector<KFParticle> daughterParticles, std::vector<int> goodTrackIndex,
int nTracks);
65 std::vector<std::vector<int>>
findNProngs(std::vector<KFParticle> daughterParticles,
66 std::vector<int> goodTrackIndex,
68 int nRequiredTracks,
unsigned int nProngs);
70 std::vector<std::vector<int>>
appendTracksToIntermediates(KFParticle intermediateResonances[], std::vector<KFParticle> daughterParticles, std::vector<int> goodTrackIndex,
int num_remaining_tracks);
77 std::tuple<KFParticle, bool>
buildMother(KFParticle vDaughters[], std::string daughterOrder[],
bool isIntermediate,
int intermediateNumber,
int nTracks,
bool constrainMass,
float required_vertexID);
81 std::tuple<KFParticle, bool>
getCombination(KFParticle vDaughters[], std::string daughterOrder[], KFParticle vertex,
82 bool constrain_to_vertex,
bool isIntermediate,
int intermediateNumber,
int nTracks,
bool constrainMass,
float required_vertexID);
90 float calculateJT(KFParticle mother, KFParticle daughter);
173 #endif //KFPARTICLESPHENIX_KFPARTICLETOOLS_H