00001
00002
00003 #ifndef STCDFCHARGEDCONEJETFINDER_H
00004 #define STCDFCHARGEDCONEJETFINDER_H
00005
00013 #include "StConeJetFinderBase.h"
00014 #include "StCdfChargedConePars.h"
00015
00016 #include "StCdfChargedJetEtCellFactory.h"
00017
00023 class StCdfChargedConeJetFinder : public StConeJetFinderBase
00024 {
00025 public:
00026
00027 StCdfChargedConeJetFinder(const StCdfChargedConePars& pars);
00028 virtual ~StCdfChargedConeJetFinder();
00029
00030 void findJets(JetList& protoJetList, const FourVecList& particleList);
00031
00032 private:
00033
00034 CellList generateLeadingPtOrderedList(JetList& protoJetList);
00035
00036 void clearPreviousResult();
00037
00038 void storeTheResultIn(JetList& protoJetList);
00039
00040 void findProtoJets(CellList& toSearchList);
00041
00042 void findJetAroundThis(StEtaPhiCell* cell);
00043
00044 bool shouldNotAddToTheCell(const StEtaPhiCell& theCell, const StEtaPhiCell& otherCell) const;
00045
00046 bool shouldNotSearchForJetAroundThis(const StEtaPhiCell* cell) const;
00047
00048 void addToPrejets(StEtaPhiCell& cell);
00049
00050 StJetEtCellFactory* makeCellFactory();
00051
00052 CellList _preJets;
00053
00054 };
00055
00056 #endif // STCDFCHARGEDCONEJETFINDER_H
00057