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  //
18  public fftjet::Functor1<bool,fftjet::Peak>
19  {
20  public:
21  explicit EtaAndPtDependentPeakSelector(std::istream& in);
23 
24  bool operator()(const fftjet::Peak& peak) const override;
25  inline bool isValid() const {return ip_;}
26 
27  private:
31  const EtaAndPtDependentPeakSelector&) = delete;
32 
33  fftjet::LinearInterpolator2d* ip_;
34  };
35 
36  // Similar class which does not perform linear interpolation but
37  // simply looks up in a histogram-like table
39  public fftjet::Functor1<bool,fftjet::Peak>
40  {
41  public:
42  EtaAndPtLookupPeakSelector(unsigned nx, double xmin, double xmax,
43  unsigned ny, double ymin, double ymax,
44  const std::vector<double>& data);
45 
46  bool operator()(const fftjet::Peak& peak) const override;
47 
48  private:
50  };
51 }
52 
53 #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:82