#ifndef VertexFinder_h #define VertexFinder_h /** \class VertexFinder * * Cluster vertices from tracks * * \authors A. Hart, M. Selvaggi * */ #include "classes/DelphesModule.h" #include "classes/DelphesClasses.h" #include #include #include #include #include #include using namespace std; class TObjArray; class Candidate; class TVector3; class VertexFinder: public DelphesModule { public: VertexFinder(); ~VertexFinder(); void Init(); void Process(); void Finish(); static Bool_t secondDescending (pair, pair); static Bool_t secondAscending (pair, pair); private: void createSeeds (); void growCluster (const UInt_t); Double_t weight (const UInt_t); void addTrackToCluster (const UInt_t, const UInt_t); void removeTrackFromCluster (const UInt_t, const UInt_t); Double_t fSigma; Double_t fMinPT; Double_t fMaxEta; Double_t fSeedMinPT; Int_t fMinNDF; Int_t fGrowSeeds; TObjArray *fInputArray; TIterator *fItInputArray; TObjArray *fOutputArray; TObjArray *fVertexOutputArray; map > trackIDToDouble; map > trackIDToInt; map > trackIDToBool; map > clusterIDToDouble; map > clusterIDToInt; map > clusterIDToBool; vector > trackPT; vector > clusterSumPT2; ClassDef(VertexFinder, 1) }; #endif