CMS 3D CMS Logo

EtaAndPtDependentPeakSelector.h
Go to the documentation of this file.
1 #ifndef RecoJets_FFTJetAlgorithm_EtaAndPtDependentPeakSelector_h
2 #define RecoJets_FFTJetAlgorithm_EtaAndPtDependentPeakSelector_h
3 
4 #include "fftjet/Peak.hh"
5 #include "fftjet/SimpleFunctors.hh"
6 #include "fftjet/LinearInterpolator2d.hh"
7 
9 
10 namespace fftjetcms {
11  //
12  // Interpolation is linear in eta, log(scale), and log(magnitude).
13  // It is assumed that the first variable in the table is eta and
14  // the second is log(scale). It is assumed that the table value
15  // is log(magnitude).
16  //
17  class EtaAndPtDependentPeakSelector : public fftjet::Functor1<bool, fftjet::Peak> {
18  public:
19  explicit EtaAndPtDependentPeakSelector(std::istream& in);
21 
22  bool operator()(const fftjet::Peak& peak) const override;
23  inline bool isValid() const { return ip_; }
24 
25  private:
29 
30  fftjet::LinearInterpolator2d* ip_;
31  };
32 
33  // Similar class which does not perform linear interpolation but
34  // simply looks up in a histogram-like table
35  class EtaAndPtLookupPeakSelector : public fftjet::Functor1<bool, fftjet::Peak> {
36  public:
38  unsigned nx, double xmin, double xmax, unsigned ny, double ymin, double ymax, const std::vector<double>& data);
39 
40  bool operator()(const fftjet::Peak& peak) const override;
41 
42  private:
44  };
45 } // namespace fftjetcms
46 
47 #endif // RecoJets_FFTJetAlgorithm_EtaAndPtDependentPeakSelector_h
bool operator()(const fftjet::Peak &peak) const override
EtaAndPtDependentPeakSelector & operator=(const EtaAndPtDependentPeakSelector &)=delete
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79