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);
24 
25  bool operator()(const fftjet::Peak& peak) const override;
26  inline bool isValid() const { return ip_; }
27 
28  private:
29  fftjet::LinearInterpolator2d* ip_;
30  };
31 
32  // Similar class which does not perform linear interpolation but
33  // simply looks up in a histogram-like table
34  class EtaAndPtLookupPeakSelector : public fftjet::Functor1<bool, fftjet::Peak> {
35  public:
37  unsigned nx, double xmin, double xmax, unsigned ny, double ymin, double ymax, const std::vector<double>& data);
38 
39  bool operator()(const fftjet::Peak& peak) const override;
40 
41  private:
43  };
44 } // namespace fftjetcms
45 
46 #endif // RecoJets_FFTJetAlgorithm_EtaAndPtDependentPeakSelector_h
fftjetcms::EtaAndPtLookupPeakSelector::EtaAndPtLookupPeakSelector
EtaAndPtLookupPeakSelector(unsigned nx, double xmin, double xmax, unsigned ny, double ymin, double ymax, const std::vector< double > &data)
Definition: EtaAndPtDependentPeakSelector.cc:16
fftjetcms
Definition: AbsPileupCalculator.h:15
fftjetcms::EtaAndPtDependentPeakSelector::operator()
bool operator()(const fftjet::Peak &peak) const override
Definition: EtaAndPtDependentPeakSelector.cc:11
fftjetcms::EtaAndPtDependentPeakSelector::ip_
fftjet::LinearInterpolator2d * ip_
Definition: EtaAndPtDependentPeakSelector.h:29
LookupTable2d.h
L1TOccupancyClient_cfi.ymax
ymax
Definition: L1TOccupancyClient_cfi.py:43
fftjetcms::EtaAndPtDependentPeakSelector::isValid
bool isValid() const
Definition: EtaAndPtDependentPeakSelector.h:26
fftjetcms::EtaAndPtDependentPeakSelector::~EtaAndPtDependentPeakSelector
~EtaAndPtDependentPeakSelector() override
Definition: EtaAndPtDependentPeakSelector.cc:9
fftjetcms::EtaAndPtDependentPeakSelector::operator=
EtaAndPtDependentPeakSelector & operator=(const EtaAndPtDependentPeakSelector &)=delete
fftjetcms::EtaAndPtLookupPeakSelector::lookupTable_
LookupTable2d lookupTable_
Definition: EtaAndPtDependentPeakSelector.h:42
recoMuon::in
Definition: RecoMuonEnumerators.h:6
L1TOccupancyClient_cfi.ymin
ymin
Definition: L1TOccupancyClient_cfi.py:43
TrackerOfflineValidation_Dqm_cff.xmax
xmax
Definition: TrackerOfflineValidation_Dqm_cff.py:11
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
fftjetcms::EtaAndPtLookupPeakSelector::operator()
bool operator()(const fftjet::Peak &peak) const override
Definition: EtaAndPtDependentPeakSelector.cc:20
fftjetcms::LookupTable2d
Definition: LookupTable2d.h:7
fftjetcms::EtaAndPtLookupPeakSelector
Definition: EtaAndPtDependentPeakSelector.h:34
fftjetcms::EtaAndPtDependentPeakSelector::EtaAndPtDependentPeakSelector
EtaAndPtDependentPeakSelector()=delete
TrackerOfflineValidation_Dqm_cff.xmin
xmin
Definition: TrackerOfflineValidation_Dqm_cff.py:10
fftjetcms::EtaAndPtDependentPeakSelector
Definition: EtaAndPtDependentPeakSelector.h:17