1 #ifndef RecoJets_JetAlgorithms_QJets_h 2 #define RecoJets_JetAlgorithms_QJets_h 7 #include "fastjet/JetDefinition.hh" 8 #include "fastjet/PseudoJet.hh" 9 #include "fastjet/ClusterSequence.hh" 14 #include "CLHEP/Random/RandomEngine.h" 33 double _zcut, _dcut, _dcut_fctr, _exp_min, _exp_max, _rigidity, _truncation_fctr;
38 double d_ij(
const fastjet::PseudoJet& v1,
const fastjet::PseudoJet& v2)
const;
39 void computeDCut(fastjet::ClusterSequence&
cs);
44 bool JetUnmerged(
int num)
const;
45 void ComputeNewDistanceMeasures(fastjet::ClusterSequence&
cs,
unsigned int new_jet);
46 void ComputeAllDistances(
const std::vector<fastjet::PseudoJet>& inp);
47 double ComputeMinimumDistance();
48 double ComputeNormalization(
double dmin);
58 double truncation_fctr,
59 CLHEP::HepRandomEngine* rnEngine)
60 : _rand_seed_set(
false),
63 _dcut_fctr(dcut_fctr),
67 _truncation_fctr(truncation_fctr),
68 _rnEngine(rnEngine){};
70 void Cluster(fastjet::ClusterSequence&
cs);
71 void SetRandSeed(
unsigned int seed);
78 virtual double weight()
const {
return _wij; }
unique_ptr< ClusterSequence > cs
bool operator()(const JetDistance &lhs, const JetDistance &rhs) const
std::map< int, bool > _merged_jets
Qjets(double zcut, double dcut_fctr, double exp_min, double exp_max, double rigidity, double truncation_fctr, CLHEP::HepRandomEngine *rnEngine)
CLHEP::HepRandomEngine * _rnEngine
std::priority_queue< JetDistance, std::vector< JetDistance >, JetDistanceCompare > _distances