CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
FFTJetPileupProcessor Class Reference

#include <RecoJets/FFTJetProducers/plugins/FFTJetPileupProcessor.cc>

Inheritance diagram for FFTJetPileupProcessor:
fftjetcms::FFTJetInterface edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 FFTJetPileupProcessor (const edm::ParameterSet &)
 
 ~FFTJetPileupProcessor () override
 
- Public Member Functions inherited from fftjetcms::FFTJetInterface
 ~FFTJetInterface () override
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void beginJob () override
 
void endJob () override
 
void produce (edm::Event &, const edm::EventSetup &) override
 
- Protected Member Functions inherited from fftjetcms::FFTJetInterface
template<class Ptr >
void checkConfig (const Ptr &ptr, const char *message)
 
void discretizeEnergyFlow ()
 
 FFTJetInterface (const edm::ParameterSet &)
 
double getEventScale () const
 
void loadInputCollection (const edm::Event &)
 
bool storeInSinglePrecision () const
 
const reco::Particle::PointvertexUsed () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Private Member Functions

void buildKernelConvolver (const edm::ParameterSet &)
 
 FFTJetPileupProcessor ()=delete
 
 FFTJetPileupProcessor (const FFTJetPileupProcessor &)=delete
 
void loadFlatteningFactors (const edm::EventSetup &iSetup)
 
void mixExtraGrid ()
 
FFTJetPileupProcessoroperator= (const FFTJetPileupProcessor &)=delete
 

Private Attributes

std::unique_ptr< fftjet::Grid2d< fftjetcms::Real > > convolvedFlow
 
std::unique_ptr< fftjet::AbsConvolverBase< Real > > convolver
 
unsigned convolverMaxBin
 
unsigned convolverMinBin
 
unsigned currentFileNum
 
std::unique_ptr< MyFFTEngineengine
 
std::vector< double > etaFlatteningFactors
 
std::vector< std::string > externalGridFiles
 
double externalGridMaxEnergy
 
std::unique_ptr< fftjet::EquidistantInLogSpace > filterScales
 
std::string flatteningTableCategory
 
std::string flatteningTableName
 
std::string flatteningTableRecord
 
std::ifstream gridStream
 
std::unique_ptr< fftjet::AbsFrequencyKernel > kernel2d
 
bool loadFlatteningFactorsFromDB
 
unsigned nPercentiles
 
std::vector< double > percentileData
 
double pileupEtaPhiArea
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Attributes inherited from fftjetcms::FFTJetInterface
const AnomalousTower anomalous
 
std::vector< unsigned > candidateIndex
 
const bool doPVCorrection
 
std::unique_ptr< fftjet::Grid2d< fftjetcms::Real > > energyFlow
 
const std::vector< double > etaDependentMagnutideFactors
 
std::vector< fftjetcms::VectorLikeeventData
 
edm::Handle< reco::CandidateViewinputCollection
 
const edm::InputTag inputLabel
 
const JetType jetType
 
const std::string outputLabel
 
const edm::InputTag srcPVs
 

Detailed Description

Description: Runs FFTJet multiscale pileup filtering code and saves the results

Implementation: [Notes on implementation]

Definition at line 53 of file FFTJetPileupProcessor.cc.

Constructor & Destructor Documentation

◆ FFTJetPileupProcessor() [1/3]

FFTJetPileupProcessor::FFTJetPileupProcessor ( const edm::ParameterSet ps)
explicit

Definition at line 124 of file FFTJetPileupProcessor.cc.

125  : FFTJetInterface(ps),
126  etaFlatteningFactors(ps.getParameter<std::vector<double>>("etaFlatteningFactors")),
127  nPercentiles(ps.getParameter<unsigned>("nPercentiles")),
128  convolverMinBin(ps.getParameter<unsigned>("convolverMinBin")),
129  convolverMaxBin(ps.getParameter<unsigned>("convolverMaxBin")),
130  pileupEtaPhiArea(ps.getParameter<double>("pileupEtaPhiArea")),
131  externalGridFiles(ps.getParameter<std::vector<std::string>>("externalGridFiles")),
132  externalGridMaxEnergy(ps.getParameter<double>("externalGridMaxEnergy")),
134  flatteningTableRecord(ps.getParameter<std::string>("flatteningTableRecord")),
135  flatteningTableName(ps.getParameter<std::string>("flatteningTableName")),
136  flatteningTableCategory(ps.getParameter<std::string>("flatteningTableCategory")),
137  loadFlatteningFactorsFromDB(ps.getParameter<bool>("loadFlatteningFactorsFromDB")) {
138  // Build the discretization grid
140  checkConfig(energyFlow, "invalid discretization grid");
141 
142  // Copy of the grid which will be used for convolutions
143  convolvedFlow = std::make_unique<fftjet::Grid2d<fftjetcms::Real>>(*energyFlow);
144 
145  // Make sure the size of flattening factors is appropriate
146  if (!etaFlatteningFactors.empty()) {
147  if (etaFlatteningFactors.size() != convolvedFlow->nEta())
148  throw cms::Exception("FFTJetBadConfig") << "ERROR in FFTJetPileupProcessor constructor:"
149  " number of elements in the \"etaFlatteningFactors\""
150  " vector is inconsistent with the discretization grid binning"
151  << std::endl;
152  }
153 
154  // Build the FFT engine(s), pattern recognition kernel(s),
155  // and the kernel convolver
157 
158  // Build the set of pattern recognition scales
159  const unsigned nScales = ps.getParameter<unsigned>("nScales");
160  const double minScale = ps.getParameter<double>("minScale");
161  const double maxScale = ps.getParameter<double>("maxScale");
162  if (minScale <= 0.0 || maxScale < minScale || nScales == 0U)
163  throw cms::Exception("FFTJetBadConfig") << "invalid filter scales" << std::endl;
164 
165  filterScales = std::make_unique<fftjet::EquidistantInLogSpace>(minScale, maxScale, nScales);
166 
168 
169  produces<reco::DiscretizedEnergyFlow>(outputLabel);
170  produces<std::pair<double, double>>(outputLabel);
171 }

References buildKernelConvolver(), fftjetcms::FFTJetInterface::checkConfig(), convolvedFlow, fftjetcms::FFTJetInterface::energyFlow, etaFlatteningFactors, Exception, fftjetcms::fftjet_Grid2d_parser(), filterScales, edm::ParameterSet::getParameter(), fftjetcommon_cfi::maxScale, fftjetcommon_cfi::minScale, nPercentiles, fftjetcommon_cfi::nScales, fftjetcms::FFTJetInterface::outputLabel, percentileData, and mitigatedMETSequence_cff::U.

◆ ~FFTJetPileupProcessor()

FFTJetPileupProcessor::~FFTJetPileupProcessor ( )
override

Definition at line 200 of file FFTJetPileupProcessor.cc.

200 {}

◆ FFTJetPileupProcessor() [2/3]

FFTJetPileupProcessor::FFTJetPileupProcessor ( )
privatedelete

◆ FFTJetPileupProcessor() [3/3]

FFTJetPileupProcessor::FFTJetPileupProcessor ( const FFTJetPileupProcessor )
privatedelete

Member Function Documentation

◆ beginJob()

void FFTJetPileupProcessor::beginJob ( void  )
overrideprotectedvirtual

Reimplemented from edm::EDProducer.

Definition at line 322 of file FFTJetPileupProcessor.cc.

322 {}

◆ buildKernelConvolver()

void FFTJetPileupProcessor::buildKernelConvolver ( const edm::ParameterSet ps)
private

Definition at line 173 of file FFTJetPileupProcessor.cc.

173  {
174  // Get the eta and phi scales for the kernel(s)
175  double kernelEtaScale = ps.getParameter<double>("kernelEtaScale");
176  const double kernelPhiScale = ps.getParameter<double>("kernelPhiScale");
177  if (kernelEtaScale <= 0.0 || kernelPhiScale <= 0.0)
178  throw cms::Exception("FFTJetBadConfig") << "invalid kernel scales" << std::endl;
179 
182  throw cms::Exception("FFTJetBadConfig") << "invalid convolver bin range" << std::endl;
183 
184  // FFT assumes that the grid extent in eta is 2*Pi. Adjust the
185  // kernel scale in eta to compensate.
186  kernelEtaScale *= (2.0 * M_PI / (energyFlow->etaMax() - energyFlow->etaMin()));
187 
188  // Build the FFT engine
189  engine = std::make_unique<MyFFTEngine>(energyFlow->nEta(), energyFlow->nPhi());
190 
191  // 2d kernel
192  kernel2d = std::unique_ptr<fftjet::AbsFrequencyKernel>(
193  new fftjet::DiscreteGauss2d(kernelEtaScale, kernelPhiScale, energyFlow->nEta(), energyFlow->nPhi()));
194 
195  // 2d convolver
196  convolver = std::unique_ptr<fftjet::AbsConvolverBase<Real>>(new fftjet::FrequencyKernelConvolver<Real, Complex>(
198 }

References convolver, convolverMaxBin, convolverMinBin, fftjetcms::FFTJetInterface::energyFlow, engine, Exception, edm::ParameterSet::getParameter(), kernel2d, fftjeteflowsmoother_cfi::kernelEtaScale, fftjeteflowsmoother_cfi::kernelPhiScale, and M_PI.

Referenced by FFTJetPileupProcessor().

◆ endJob()

void FFTJetPileupProcessor::endJob ( void  )
overrideprotectedvirtual

Reimplemented from edm::EDProducer.

Definition at line 325 of file FFTJetPileupProcessor.cc.

325 {}

◆ loadFlatteningFactors()

void FFTJetPileupProcessor::loadFlatteningFactors ( const edm::EventSetup iSetup)
private

Definition at line 327 of file FFTJetPileupProcessor.cc.

327  {
330  std::shared_ptr<npstat::StorableMultivariateFunctor> f = (*h)[flatteningTableCategory][flatteningTableName];
331 
332  // Fill out the table of flattening factors as a function of eta
333  const unsigned nEta = energyFlow->nEta();
334  etaFlatteningFactors.clear();
335  etaFlatteningFactors.reserve(nEta);
336  for (unsigned ieta = 0; ieta < nEta; ++ieta) {
337  const double eta = energyFlow->etaBinCenter(ieta);
338  etaFlatteningFactors.push_back((*f)(&eta, 1U));
339  }
340 }

References fftjetcms::FFTJetInterface::energyFlow, PVValHelper::eta, etaFlatteningFactors, f, flatteningTableCategory, flatteningTableName, flatteningTableRecord, h, LEDCalibrationChannels::ieta, StaticFFTJetRcdMapper< Mapper >::instance(), HLT_FULL_cff::nEta, and mitigatedMETSequence_cff::U.

Referenced by produce().

◆ mixExtraGrid()

void FFTJetPileupProcessor::mixExtraGrid ( )
private

Definition at line 268 of file FFTJetPileupProcessor.cc.

268  {
269  const unsigned nFiles = externalGridFiles.size();
270  if (currentFileNum > nFiles) {
271  // This is the first time this function is called
272  currentFileNum = 0;
273  gridStream.open(externalGridFiles[currentFileNum].c_str(), std::ios_base::in | std::ios_base::binary);
274  if (!gridStream.is_open())
275  throw cms::Exception("FFTJetBadConfig") << "ERROR in FFTJetPileupProcessor::mixExtraGrid():"
276  " failed to open external grid file "
277  << externalGridFiles[currentFileNum] << std::endl;
278  }
279 
280  const fftjet::Grid2d<float>* g = nullptr;
281  const unsigned maxFail = 100U;
282  unsigned nEnergyRejected = 0;
283 
284  while (!g) {
286 
287  // If we can't read the grid, we need to switch to another file
288  for (unsigned ntries = 0; ntries < nFiles && g == nullptr; ++ntries) {
289  gridStream.close();
291  gridStream.open(externalGridFiles[currentFileNum].c_str(), std::ios_base::in | std::ios_base::binary);
292  if (!gridStream.is_open())
293  throw cms::Exception("FFTJetBadConfig") << "ERROR in FFTJetPileupProcessor::mixExtraGrid():"
294  " failed to open external grid file "
295  << externalGridFiles[currentFileNum] << std::endl;
297  }
298 
299  if (g)
300  if (g->sum() > externalGridMaxEnergy) {
301  delete g;
302  g = nullptr;
303  if (++nEnergyRejected >= maxFail)
304  throw cms::Exception("FFTJetBadConfig") << "ERROR in FFTJetPileupProcessor::mixExtraGrid():"
305  " too many grids in a row ("
306  << nEnergyRejected << ") failed the maximum energy cut" << std::endl;
307  }
308  }
309 
310  if (g) {
311  add_Grid2d_data(energyFlow.get(), *g);
312  delete g;
313  } else {
314  // Too bad, no useful file found
315  throw cms::Exception("FFTJetBadConfig") << "ERROR in FFTJetPileupProcessor::mixExtraGrid():"
316  " no valid grid records found"
317  << std::endl;
318  }
319 }

References fftjetcms::add_Grid2d_data(), currentFileNum, fftjetcms::FFTJetInterface::energyFlow, Exception, externalGridFiles, externalGridMaxEnergy, g, gridStream, recoMuon::in, cmsBatch::nFiles, mergeAndRegister::ntries, readEcalDQMStatus::read, and mitigatedMETSequence_cff::U.

Referenced by produce().

◆ operator=()

FFTJetPileupProcessor& FFTJetPileupProcessor::operator= ( const FFTJetPileupProcessor )
privatedelete

◆ produce()

void FFTJetPileupProcessor::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Implements edm::EDProducer.

Definition at line 203 of file FFTJetPileupProcessor.cc.

203  {
206 
207  // Determine the average Et density for this event.
208  // Needs to be done here, before mixing in another grid.
209  const fftjet::Grid2d<Real>& g(*energyFlow);
210  const double densityBeforeMixing = g.sum() / pileupEtaPhiArea;
211 
212  // Mix an extra grid (if requested)
213  double densityAfterMixing = -1.0;
214  if (!externalGridFiles.empty()) {
215  mixExtraGrid();
216  densityAfterMixing = g.sum() / pileupEtaPhiArea;
217  }
218 
219  // Various useful variables
220  const unsigned nScales = filterScales->size();
221  const double* scales = &(*filterScales)[0];
222  Real* convData = const_cast<Real*>(convolvedFlow->data());
223  Real* sortData = convData + convolverMinBin * convolvedFlow->nPhi();
224  const unsigned dataLen = convolverMaxBin ? (convolverMaxBin - convolverMinBin) * convolvedFlow->nPhi()
225  : convolvedFlow->nEta() * convolvedFlow->nPhi();
226 
227  // Load flattenning factors from DB (if requested)
229  loadFlatteningFactors(iSetup);
230 
231  // Go over all scales and perform the convolutions
232  convolver->setEventData(g.data(), g.nEta(), g.nPhi());
233  for (unsigned iscale = 0; iscale < nScales; ++iscale) {
234  // Perform the convolution
235  convolver->convolveWithKernel(scales[iscale], convData, convolvedFlow->nEta(), convolvedFlow->nPhi());
236 
237  // Apply the flattening factors
238  if (!etaFlatteningFactors.empty())
240 
241  // Sort the convolved data
242  std::sort(sortData, sortData + dataLen);
243 
244  // Determine the percentile points
245  for (unsigned iper = 0; iper < nPercentiles; ++iper) {
246  // Map percentile 0 into point number 0,
247  // 1 into point number dataLen-1
248  const double q = (iper + 0.5) / nPercentiles;
249  const double dindex = q * (dataLen - 1U);
250  const unsigned ilow = static_cast<unsigned>(std::floor(dindex));
251  const double percentile =
252  fftjet::lin_interpolate_1d(ilow, ilow + 1U, sortData[ilow], sortData[ilow + 1U], dindex);
253 
254  // Store the calculated percentile
255  percentileData[iscale * nPercentiles + iper] = percentile;
256  }
257  }
258 
259  // Convert percentile data into a more convenient storable object
260  // and put it into the event record
261  iEvent.put(std::make_unique<reco::DiscretizedEnergyFlow>(
262  &percentileData[0], "FFTJetPileupProcessor", -0.5, nScales - 0.5, 0.0, nScales, nPercentiles),
263  outputLabel);
264 
265  iEvent.put(std::make_unique<std::pair<double, double>>(densityBeforeMixing, densityAfterMixing), outputLabel);
266 }

References convolvedFlow, convolver, convolverMaxBin, convolverMinBin, fftjetcms::FFTJetInterface::discretizeEnergyFlow(), fftjetcms::FFTJetInterface::energyFlow, etaFlatteningFactors, externalGridFiles, filterScales, g, iEvent, loadFlatteningFactors(), loadFlatteningFactorsFromDB, fftjetcms::FFTJetInterface::loadInputCollection(), mixExtraGrid(), nPercentiles, fftjetcommon_cfi::nScales, fftjetcms::FFTJetInterface::outputLabel, percentileData, pileupEtaPhiArea, submitPVResolutionJobs::q, jetUpdater_cfi::sort, and mitigatedMETSequence_cff::U.

Member Data Documentation

◆ convolvedFlow

std::unique_ptr<fftjet::Grid2d<fftjetcms::Real> > FFTJetPileupProcessor::convolvedFlow
private

Definition at line 83 of file FFTJetPileupProcessor.cc.

Referenced by FFTJetPileupProcessor(), and produce().

◆ convolver

std::unique_ptr<fftjet::AbsConvolverBase<Real> > FFTJetPileupProcessor::convolver
private

Definition at line 80 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver(), and produce().

◆ convolverMaxBin

unsigned FFTJetPileupProcessor::convolverMaxBin
private

Definition at line 97 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver(), and produce().

◆ convolverMinBin

unsigned FFTJetPileupProcessor::convolverMinBin
private

Definition at line 96 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver(), and produce().

◆ currentFileNum

unsigned FFTJetPileupProcessor::currentFileNum
private

Definition at line 106 of file FFTJetPileupProcessor.cc.

Referenced by mixExtraGrid().

◆ engine

std::unique_ptr<MyFFTEngine> FFTJetPileupProcessor::engine
private

Definition at line 74 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver().

◆ etaFlatteningFactors

std::vector<double> FFTJetPileupProcessor::etaFlatteningFactors
private

Definition at line 90 of file FFTJetPileupProcessor.cc.

Referenced by FFTJetPileupProcessor(), loadFlatteningFactors(), and produce().

◆ externalGridFiles

std::vector<std::string> FFTJetPileupProcessor::externalGridFiles
private

Definition at line 103 of file FFTJetPileupProcessor.cc.

Referenced by mixExtraGrid(), and produce().

◆ externalGridMaxEnergy

double FFTJetPileupProcessor::externalGridMaxEnergy
private

Definition at line 105 of file FFTJetPileupProcessor.cc.

Referenced by mixExtraGrid().

◆ filterScales

std::unique_ptr<fftjet::EquidistantInLogSpace> FFTJetPileupProcessor::filterScales
private

Definition at line 86 of file FFTJetPileupProcessor.cc.

Referenced by FFTJetPileupProcessor(), and produce().

◆ flatteningTableCategory

std::string FFTJetPileupProcessor::flatteningTableCategory
private

Definition at line 117 of file FFTJetPileupProcessor.cc.

Referenced by loadFlatteningFactors().

◆ flatteningTableName

std::string FFTJetPileupProcessor::flatteningTableName
private

Definition at line 116 of file FFTJetPileupProcessor.cc.

Referenced by loadFlatteningFactors().

◆ flatteningTableRecord

std::string FFTJetPileupProcessor::flatteningTableRecord
private

Definition at line 115 of file FFTJetPileupProcessor.cc.

Referenced by loadFlatteningFactors().

◆ gridStream

std::ifstream FFTJetPileupProcessor::gridStream
private

Definition at line 104 of file FFTJetPileupProcessor.cc.

Referenced by mixExtraGrid().

◆ kernel2d

std::unique_ptr<fftjet::AbsFrequencyKernel> FFTJetPileupProcessor::kernel2d
private

Definition at line 77 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver().

◆ loadFlatteningFactorsFromDB

bool FFTJetPileupProcessor::loadFlatteningFactorsFromDB
private

Definition at line 118 of file FFTJetPileupProcessor.cc.

Referenced by produce().

◆ nPercentiles

unsigned FFTJetPileupProcessor::nPercentiles
private

Definition at line 93 of file FFTJetPileupProcessor.cc.

Referenced by FFTJetPileupProcessor(), and produce().

◆ percentileData

std::vector<double> FFTJetPileupProcessor::percentileData
private

Definition at line 109 of file FFTJetPileupProcessor.cc.

Referenced by FFTJetPileupProcessor(), and produce().

◆ pileupEtaPhiArea

double FFTJetPileupProcessor::pileupEtaPhiArea
private

Definition at line 100 of file FFTJetPileupProcessor.cc.

Referenced by produce().

FFTJetPileupProcessor::gridStream
std::ifstream gridStream
Definition: FFTJetPileupProcessor.cc:104
fftjetcms::FFTJetInterface::FFTJetInterface
FFTJetInterface()=delete
fftjetcms::FFTJetInterface::checkConfig
void checkConfig(const Ptr &ptr, const char *message)
Definition: FFTJetInterface.h:60
fftjetcommon_cfi.nScales
nScales
Definition: fftjetcommon_cfi.py:111
fftjetcms::FFTJetInterface::loadInputCollection
void loadInputCollection(const edm::Event &)
Definition: FFTJetInterface.cc:40
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
fftjetcms::FFTJetInterface::outputLabel
const std::string outputLabel
Definition: FFTJetInterface.h:76
HLT_FULL_cff.nEta
nEta
Definition: HLT_FULL_cff.py:6586
fftjetcommon_cfi.maxScale
maxScale
Definition: fftjetcommon_cfi.py:110
h
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
Definition: L1TUtmAlgorithmRcd.h:4
FFTJetPileupProcessor::nPercentiles
unsigned nPercentiles
Definition: FFTJetPileupProcessor.cc:93
mergeAndRegister.ntries
ntries
Definition: mergeAndRegister.py:93
FFTJetPileupProcessor::pileupEtaPhiArea
double pileupEtaPhiArea
Definition: FFTJetPileupProcessor.cc:100
fftjetcms::add_Grid2d_data
void add_Grid2d_data(fftjet::Grid2d< F2 > *to, const fftjet::Grid2d< F1 > &from)
Definition: gridConverters.h:51
FFTJetPileupProcessor::kernel2d
std::unique_ptr< fftjet::AbsFrequencyKernel > kernel2d
Definition: FFTJetPileupProcessor.cc:77
FFTJetPileupProcessor::loadFlatteningFactors
void loadFlatteningFactors(const edm::EventSetup &iSetup)
Definition: FFTJetPileupProcessor.cc:327
FFTJetPileupProcessor::filterScales
std::unique_ptr< fftjet::EquidistantInLogSpace > filterScales
Definition: FFTJetPileupProcessor.cc:86
h
FFTJetPileupProcessor::currentFileNum
unsigned currentFileNum
Definition: FFTJetPileupProcessor.cc:106
fftjeteflowsmoother_cfi.kernelEtaScale
kernelEtaScale
Definition: fftjeteflowsmoother_cfi.py:11
PVValHelper::eta
Definition: PVValidationHelpers.h:70
edm::ESHandle
Definition: DTSurvey.h:22
FFTJetPileupProcessor::externalGridMaxEnergy
double externalGridMaxEnergy
Definition: FFTJetPileupProcessor.cc:105
FFTJetPileupProcessor::percentileData
std::vector< double > percentileData
Definition: FFTJetPileupProcessor.cc:109
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
fftjetcms::Real
double Real
Definition: fftjetTypedefs.h:21
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
edm::ParameterSet
Definition: ParameterSet.h:47
FFTJetPileupProcessor::flatteningTableName
std::string flatteningTableName
Definition: FFTJetPileupProcessor.cc:116
FFTJetPileupProcessor::convolver
std::unique_ptr< fftjet::AbsConvolverBase< Real > > convolver
Definition: FFTJetPileupProcessor.cc:80
FFTJetPileupProcessor::etaFlatteningFactors
std::vector< double > etaFlatteningFactors
Definition: FFTJetPileupProcessor.cc:90
FFTJetPileupProcessor::convolverMaxBin
unsigned convolverMaxBin
Definition: FFTJetPileupProcessor.cc:97
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
recoMuon::in
Definition: RecoMuonEnumerators.h:6
FFTJetPileupProcessor::mixExtraGrid
void mixExtraGrid()
Definition: FFTJetPileupProcessor.cc:268
StaticFFTJetRcdMapper::instance
static const Mapper & instance()
Definition: FFTJetRcdMapper.h:86
FFTJetPileupProcessor::buildKernelConvolver
void buildKernelConvolver(const edm::ParameterSet &)
Definition: FFTJetPileupProcessor.cc:173
iEvent
int iEvent
Definition: GenABIO.cc:224
fftjetcms::FFTJetInterface::energyFlow
std::unique_ptr< fftjet::Grid2d< fftjetcms::Real > > energyFlow
Definition: FFTJetInterface.h:100
fftjetcommon_cfi.minScale
minScale
Definition: fftjetcommon_cfi.py:109
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
fftjetcms::fftjet_Grid2d_parser
std::unique_ptr< fftjet::Grid2d< Real > > fftjet_Grid2d_parser(const edm::ParameterSet &ps)
Definition: FFTJetParameterParser.cc:125
FFTJetPileupProcessor::convolvedFlow
std::unique_ptr< fftjet::Grid2d< fftjetcms::Real > > convolvedFlow
Definition: FFTJetPileupProcessor.cc:83
FFTJetPileupProcessor::flatteningTableCategory
std::string flatteningTableCategory
Definition: FFTJetPileupProcessor.cc:117
FFTJetPileupProcessor::flatteningTableRecord
std::string flatteningTableRecord
Definition: FFTJetPileupProcessor.cc:115
FFTJetPileupProcessor::engine
std::unique_ptr< MyFFTEngine > engine
Definition: FFTJetPileupProcessor.cc:74
fftjeteflowsmoother_cfi.kernelPhiScale
kernelPhiScale
Definition: fftjeteflowsmoother_cfi.py:12
readEcalDQMStatus.read
read
Definition: readEcalDQMStatus.py:38
Exception
Definition: hltDiff.cc:245
cmsBatch.nFiles
nFiles
Definition: cmsBatch.py:308
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
fftjetcms::FFTJetInterface::discretizeEnergyFlow
void discretizeEnergyFlow()
Definition: FFTJetInterface.cc:79
cms::Exception
Definition: Exception.h:70
FFTJetPileupProcessor::externalGridFiles
std::vector< std::string > externalGridFiles
Definition: FFTJetPileupProcessor.cc:103
FFTJetPileupProcessor::convolverMinBin
unsigned convolverMinBin
Definition: FFTJetPileupProcessor.cc:96
FFTJetPileupProcessor::loadFlatteningFactorsFromDB
bool loadFlatteningFactorsFromDB
Definition: FFTJetPileupProcessor.cc:118
g
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4