22 #include "fftjet/EquidistantSequence.hh" 23 #include "fftjet/ProximityClusteringTree.hh" 24 #include "fftjet/SparseClusteringTree.hh" 25 #include "fftjet/PeakEtaPhiDistance.hh" 26 #include "fftjet/peakEtLifetime.hh" 44 #define init_param(type, varname) varname (ps.getParameter< type >( #varname )) 55 typedef fftjet::SparseClusteringTree<fftjet::Peak,long>
SparseTree;
69 void endJob()
override;
72 inline void checkConfig(
const Ptr& ptr,
const char* message)
const 74 if (ptr.get() ==
nullptr)
78 inline double peakPt(
const fftjet::Peak& peak)
const 80 const double s = peak.scale();
98 std::unique_ptr<fftjet::AbsDistanceCalculator<fftjet::Peak> >
distanceCalc;
199 const unsigned numNodes =
nodes.size();
201 peaks.reserve(numNodes);
202 for (
unsigned i=0;
i<numNodes; ++
i)
210 double actualScale = 0.0;
216 const unsigned nClusters =
peaks.size();
228 const double ptratio = pt1/pt0;
229 double thirdJetFraction = 0.0;
234 const bool pass = pt0 >
minPt0 &&
constexpr double deltaPhi(double phi1, double phi2)
T getParameter(std::string const &) const
std::vector< fftjet::Peak > peaks
#define init_param(type, varname)
Class for storing FFTJet sparse clustering trees.
bool filter(edm::Event &iEvent, const edm::EventSetup &iSetup) override
bool getByToken(EDGetToken token, Handle< PROD > &result) const
~FFTJetDijetFilter() override
std::unique_ptr< std::vector< double > > iniScales
fftjet::ProximityClusteringTree< fftjet::Peak, long > ClusteringTree
static std::string const input
double completeEventScale
fftjet::SparseClusteringTree< fftjet::Peak, long > SparseTree
#define DEFINE_FWK_MODULE(type)
std::vector< unsigned > nodes
edm::EDGetTokenT< StoredTree > treeToken
Abs< T >::type abs(const T &t)
std::unique_ptr< fftjet::AbsDistanceCalculator< fftjet::Peak > > fftjet_DistanceCalculator_parser(const edm::ParameterSet &ps)
ClusteringTree * clusteringTree
double ptConversionFactor
FFTJetDijetFilter()=delete
reco::PattRecoTree< float, reco::PattRecoPeak< float > > StoredTree
void sparsePeakTreeFromStorable(const reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > &in, const std::vector< double > *scaleSetIfNotAdaptive, double completeEventScale, fftjet::SparseClusteringTree< fftjet::Peak, long > *out)
void densePeakTreeFromStorable(const reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > &in, const std::vector< double > *scaleSetIfNotAdaptive, double completeEventScale, fftjet::AbsClusteringTree< fftjet::Peak, long > *out)
std::unique_ptr< fftjet::AbsDistanceCalculator< fftjet::Peak > > distanceCalc
double maxThirdJetFraction
void checkConfig(const Ptr &ptr, const char *message) const
std::unique_ptr< std::vector< double > > fftjet_ScaleSet_parser(const edm::ParameterSet &ps)
double peakPt(const fftjet::Peak &peak) const