CMS 3D CMS Logo

QjetsPlugin.h
Go to the documentation of this file.
1 #ifndef RecoJets_JetAlgorithms_QJETSPLUGIN_h
2 #define RecoJets_JetAlgorithms_QJETSPLUGIN_h
3 #include "fastjet/JetDefinition.hh"
4 #include "fastjet/PseudoJet.hh"
5 #include "fastjet/ClusterSequence.hh"
7 
8 class QjetsPlugin : public fastjet::JetDefinition::Plugin {
9 private:
11  unsigned int _seed;
14  CLHEP::HepRandomEngine* _rnEngine;
15 
16 public:
18  double zcut, double dcut_fctr, double exp_min, double exp_max, double rigidity, double truncation_fctr = 0.)
20  _zcut(zcut),
21  _dcut_fctr(dcut_fctr),
22  _exp_min(exp_min),
23  _exp_max(exp_max),
25  _truncation_fctr(truncation_fctr),
26  _rnEngine(nullptr){};
27  void SetRandSeed(unsigned int seed); /* In case you want reproducible behavior */
28  void SetRNEngine(CLHEP::HepRandomEngine* rnEngine) { _rnEngine = rnEngine; };
29  double R() const override;
30  std::string description() const override;
31  void run_clustering(fastjet::ClusterSequence& cs) const override;
32 };
33 #endif
void SetRNEngine(CLHEP::HepRandomEngine *rnEngine)
Definition: QjetsPlugin.h:28
double _dcut_fctr
Definition: QjetsPlugin.h:13
CLHEP::HepRandomEngine * _rnEngine
Definition: QjetsPlugin.h:14
double _rigidity
Definition: QjetsPlugin.h:13
double _zcut
Definition: QjetsPlugin.h:13
int _truncated_length
Definition: QjetsPlugin.h:12
unsigned int _seed
Definition: QjetsPlugin.h:11
void run_clustering(fastjet::ClusterSequence &cs) const override
Definition: QjetsPlugin.cc:17
bool _rand_seed_set
Definition: QjetsPlugin.h:10
double _exp_max
Definition: QjetsPlugin.h:13
std::string description() const override
Definition: QjetsPlugin.cc:12
double _truncation_fctr
Definition: QjetsPlugin.h:13
void SetRandSeed(unsigned int seed)
Definition: QjetsPlugin.cc:5
double _exp_min
Definition: QjetsPlugin.h:13
QjetsPlugin(double zcut, double dcut_fctr, double exp_min, double exp_max, double rigidity, double truncation_fctr=0.)
Definition: QjetsPlugin.h:17
double R() const override
Definition: QjetsPlugin.cc:10