CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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:
edm::EDProducer fftjetcms::FFTJetInterface edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 FFTJetPileupProcessor (const edm::ParameterSet &)
 
 ~FFTJetPileupProcessor ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 
- Public Member Functions inherited from fftjetcms::FFTJetInterface
virtual ~FFTJetInterface ()
 

Protected Member Functions

void beginJob () override
 
void endJob () override
 
void produce (edm::Event &, const edm::EventSetup &) override
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
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 ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- 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
 

Private Member Functions

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

Private Attributes

std::auto_ptr< fftjet::Grid2d
< fftjetcms::Real > > 
convolvedFlow
 
std::auto_ptr
< fftjet::AbsConvolverBase
< Real > > 
convolver
 
unsigned convolverMaxBin
 
unsigned convolverMinBin
 
unsigned currentFileNum
 
std::auto_ptr< MyFFTEngineengine
 
std::vector< double > etaFlatteningFactors
 
std::vector< std::string > externalGridFiles
 
double externalGridMaxEnergy
 
std::auto_ptr
< fftjet::EquidistantInLogSpace > 
filterScales
 
std::string flatteningTableCategory
 
std::string flatteningTableName
 
std::string flatteningTableRecord
 
std::ifstream gridStream
 
std::auto_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
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from fftjetcms::FFTJetInterface
const AnomalousTower anomalous
 
std::vector< unsigned > candidateIndex
 
const bool doPVCorrection
 
std::auto_ptr< fftjet::Grid2d
< fftjetcms::Real > > 
energyFlow
 
const std::vector< double > etaDependentMagnutideFactors
 
std::vector
< fftjetcms::VectorLike
eventData
 
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 56 of file FFTJetPileupProcessor.cc.

Constructor & Destructor Documentation

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

Definition at line 128 of file FFTJetPileupProcessor.cc.

References buildKernelConvolver(), fftjetcms::FFTJetInterface::checkConfig(), convolvedFlow, fftjetcms::FFTJetInterface::energyFlow, etaFlatteningFactors, edm::hlt::Exception, fftjetcms::fftjet_Grid2d_parser(), filterScales, edm::ParameterSet::getParameter(), nPercentiles, fftjetcms::FFTJetInterface::outputLabel, and percentileData.

129  : FFTJetInterface(ps),
131  ps.getParameter<std::vector<double> >("etaFlatteningFactors")),
132  nPercentiles(ps.getParameter<unsigned>("nPercentiles")),
133  convolverMinBin(ps.getParameter<unsigned>("convolverMinBin")),
134  convolverMaxBin(ps.getParameter<unsigned>("convolverMaxBin")),
135  pileupEtaPhiArea(ps.getParameter<double>("pileupEtaPhiArea")),
136  externalGridFiles(ps.getParameter<std::vector<std::string> >("externalGridFiles")),
137  externalGridMaxEnergy(ps.getParameter<double>("externalGridMaxEnergy")),
138  currentFileNum(externalGridFiles.size() + 1U),
139  flatteningTableRecord(ps.getParameter<std::string>("flatteningTableRecord")),
140  flatteningTableName(ps.getParameter<std::string>("flatteningTableName")),
141  flatteningTableCategory(ps.getParameter<std::string>("flatteningTableCategory")),
142  loadFlatteningFactorsFromDB(ps.getParameter<bool>("loadFlatteningFactorsFromDB"))
143 {
144  // Build the discretization grid
146  ps.getParameter<edm::ParameterSet>("GridConfiguration"));
147  checkConfig(energyFlow, "invalid discretization grid");
148 
149  // Copy of the grid which will be used for convolutions
150  convolvedFlow = std::auto_ptr<fftjet::Grid2d<fftjetcms::Real> >(
151  new fftjet::Grid2d<fftjetcms::Real>(*energyFlow));
152 
153  // Make sure the size of flattening factors is appropriate
154  if (!etaFlatteningFactors.empty())
155  {
156  if (etaFlatteningFactors.size() != convolvedFlow->nEta())
157  throw cms::Exception("FFTJetBadConfig")
158  << "ERROR in FFTJetPileupProcessor constructor:"
159  " number of elements in the \"etaFlatteningFactors\""
160  " vector is inconsistent with the discretization grid binning"
161  << std::endl;
162  }
163 
164  // Build the FFT engine(s), pattern recognition kernel(s),
165  // and the kernel convolver
167 
168  // Build the set of pattern recognition scales
169  const unsigned nScales = ps.getParameter<unsigned>("nScales");
170  const double minScale = ps.getParameter<double>("minScale");
171  const double maxScale = ps.getParameter<double>("maxScale");
172  if (minScale <= 0.0 || maxScale < minScale || nScales == 0U)
173  throw cms::Exception("FFTJetBadConfig")
174  << "invalid filter scales" << std::endl;
175 
176  filterScales = std::auto_ptr<fftjet::EquidistantInLogSpace>(
177  new fftjet::EquidistantInLogSpace(minScale, maxScale, nScales));
178 
179  percentileData.resize(nScales*nPercentiles);
180 
181  produces<reco::DiscretizedEnergyFlow>(outputLabel);
182  produces<std::pair<double,double> >(outputLabel);
183 }
T getParameter(std::string const &) const
std::auto_ptr< fftjet::Grid2d< fftjetcms::Real > > energyFlow
std::vector< std::string > externalGridFiles
std::auto_ptr< fftjet::EquidistantInLogSpace > filterScales
std::auto_ptr< fftjet::Grid2d< Real > > fftjet_Grid2d_parser(const edm::ParameterSet &ps)
void checkConfig(const Ptr &ptr, const char *message)
std::vector< double > percentileData
std::auto_ptr< fftjet::Grid2d< fftjetcms::Real > > convolvedFlow
void buildKernelConvolver(const edm::ParameterSet &)
std::vector< double > etaFlatteningFactors
const std::string outputLabel
FFTJetPileupProcessor::~FFTJetPileupProcessor ( )

Definition at line 223 of file FFTJetPileupProcessor.cc.

224 {
225 }
FFTJetPileupProcessor::FFTJetPileupProcessor ( )
private
FFTJetPileupProcessor::FFTJetPileupProcessor ( const FFTJetPileupProcessor )
private

Member Function Documentation

void FFTJetPileupProcessor::beginJob ( void  )
overrideprotectedvirtual

Reimplemented from edm::EDProducer.

Definition at line 376 of file FFTJetPileupProcessor.cc.

377 {
378 }
void FFTJetPileupProcessor::buildKernelConvolver ( const edm::ParameterSet ps)
private

Definition at line 186 of file FFTJetPileupProcessor.cc.

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

Referenced by FFTJetPileupProcessor().

187 {
188  // Get the eta and phi scales for the kernel(s)
189  double kernelEtaScale = ps.getParameter<double>("kernelEtaScale");
190  const double kernelPhiScale = ps.getParameter<double>("kernelPhiScale");
191  if (kernelEtaScale <= 0.0 || kernelPhiScale <= 0.0)
192  throw cms::Exception("FFTJetBadConfig")
193  << "invalid kernel scales" << std::endl;
194 
197  convolverMaxBin > energyFlow->nEta())
198  throw cms::Exception("FFTJetBadConfig")
199  << "invalid convolver bin range" << std::endl;
200 
201  // FFT assumes that the grid extent in eta is 2*Pi. Adjust the
202  // kernel scale in eta to compensate.
203  kernelEtaScale *= (2.0*M_PI/(energyFlow->etaMax() - energyFlow->etaMin()));
204 
205  // Build the FFT engine
206  engine = std::auto_ptr<MyFFTEngine>(
207  new MyFFTEngine(energyFlow->nEta(), energyFlow->nPhi()));
208 
209  // 2d kernel
210  kernel2d = std::auto_ptr<fftjet::AbsFrequencyKernel>(
211  new fftjet::DiscreteGauss2d(
212  kernelEtaScale, kernelPhiScale,
213  energyFlow->nEta(), energyFlow->nPhi()));
214 
215  // 2d convolver
216  convolver = std::auto_ptr<fftjet::AbsConvolverBase<Real> >(
217  new fftjet::FrequencyKernelConvolver<Real,Complex>(
218  engine.get(), kernel2d.get(),
220 }
T getParameter(std::string const &) const
std::auto_ptr< fftjet::Grid2d< fftjetcms::Real > > energyFlow
std::auto_ptr< fftjet::AbsConvolverBase< Real > > convolver
std::auto_ptr< fftjet::AbsFrequencyKernel > kernel2d
#define M_PI
Definition: BFit3D.cc:3
std::auto_ptr< MyFFTEngine > engine
fftjet::FFTWDoubleEngine MyFFTEngine
void FFTJetPileupProcessor::endJob ( void  )
overrideprotectedvirtual

Reimplemented from edm::EDProducer.

Definition at line 382 of file FFTJetPileupProcessor.cc.

383 {
384 }
void FFTJetPileupProcessor::loadFlatteningFactors ( const edm::EventSetup iSetup)
private

Definition at line 387 of file FFTJetPileupProcessor.cc.

References fftjetcms::FFTJetInterface::energyFlow, eta(), etaFlatteningFactors, f, flatteningTableCategory, flatteningTableName, flatteningTableRecord, h, and StaticFFTJetRcdMapper< Mapper >::instance().

Referenced by produce().

388 {
391  iSetup, flatteningTableRecord, h);
392  boost::shared_ptr<npstat::StorableMultivariateFunctor> f =
394 
395  // Fill out the table of flattening factors as a function of eta
396  const unsigned nEta = energyFlow->nEta();
397  etaFlatteningFactors.clear();
398  etaFlatteningFactors.reserve(nEta);
399  for (unsigned ieta=0; ieta<nEta; ++ieta)
400  {
401  const double eta = energyFlow->etaBinCenter(ieta);
402  etaFlatteningFactors.push_back((*f)(&eta, 1U));
403  }
404 }
std::auto_ptr< fftjet::Grid2d< fftjetcms::Real > > energyFlow
T eta() const
double f[11][100]
std::vector< double > etaFlatteningFactors
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
static const Mapper & instance()
void FFTJetPileupProcessor::mixExtraGrid ( )
private

Definition at line 308 of file FFTJetPileupProcessor.cc.

References fftjetcms::add_Grid2d_data(), currentFileNum, fftjetcms::FFTJetInterface::energyFlow, edm::hlt::Exception, externalGridFiles, externalGridMaxEnergy, g, gridStream, recoMuon::in, and SiPixelLorentzAngle_cfi::read.

Referenced by produce().

309 {
310  const unsigned nFiles = externalGridFiles.size();
311  if (currentFileNum > nFiles)
312  {
313  // This is the first time this function is called
314  currentFileNum = 0;
316  std::ios_base::in | std::ios_base::binary);
317  if (!gridStream.is_open())
318  throw cms::Exception("FFTJetBadConfig")
319  << "ERROR in FFTJetPileupProcessor::mixExtraGrid():"
320  " failed to open external grid file "
321  << externalGridFiles[currentFileNum] << std::endl;
322  }
323 
324  const fftjet::Grid2d<float>* g = 0;
325  const unsigned maxFail = 100U;
326  unsigned nEnergyRejected = 0;
327 
328  while(!g)
329  {
331 
332  // If we can't read the grid, we need to switch to another file
333  for (unsigned ntries=0; ntries<nFiles && g == 0; ++ntries)
334  {
335  gridStream.close();
336  currentFileNum = (currentFileNum + 1U) % nFiles;
338  std::ios_base::in | std::ios_base::binary);
339  if (!gridStream.is_open())
340  throw cms::Exception("FFTJetBadConfig")
341  << "ERROR in FFTJetPileupProcessor::mixExtraGrid():"
342  " failed to open external grid file "
343  << externalGridFiles[currentFileNum] << std::endl;
345  }
346 
347  if (g)
348  if (g->sum() > externalGridMaxEnergy)
349  {
350  delete g;
351  g = 0;
352  if (++nEnergyRejected >= maxFail)
353  throw cms::Exception("FFTJetBadConfig")
354  << "ERROR in FFTJetPileupProcessor::mixExtraGrid():"
355  " too many grids in a row (" << nEnergyRejected
356  << ") failed the maximum energy cut" << std::endl;
357  }
358  }
359 
360  if (g)
361  {
362  add_Grid2d_data(energyFlow.get(), *g);
363  delete g;
364  }
365  else
366  {
367  // Too bad, no useful file found
368  throw cms::Exception("FFTJetBadConfig")
369  << "ERROR in FFTJetPileupProcessor::mixExtraGrid():"
370  " no valid grid records found" << std::endl;
371  }
372 }
std::auto_ptr< fftjet::Grid2d< fftjetcms::Real > > energyFlow
std::vector< std::string > externalGridFiles
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
void add_Grid2d_data(fftjet::Grid2d< F2 > *to, const fftjet::Grid2d< F1 > &from)
FFTJetPileupProcessor& FFTJetPileupProcessor::operator= ( const FFTJetPileupProcessor )
private
void FFTJetPileupProcessor::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Implements edm::EDProducer.

Definition at line 229 of file FFTJetPileupProcessor.cc.

References convolvedFlow, convolver, convolverMaxBin, convolverMinBin, fftjetcms::FFTJetInterface::discretizeEnergyFlow(), fftjetcms::FFTJetInterface::energyFlow, etaFlatteningFactors, externalGridFiles, filterScales, g, loadFlatteningFactors(), loadFlatteningFactorsFromDB, fftjetcms::FFTJetInterface::loadInputCollection(), mixExtraGrid(), nPercentiles, fftjetcms::FFTJetInterface::outputLabel, percentileData, pileupEtaPhiArea, edm::Event::put(), lumiQueryAPI::q, and python.multivaluedict::sort().

231 {
232  loadInputCollection(iEvent);
234 
235  // Determine the average Et density for this event.
236  // Needs to be done here, before mixing in another grid.
237  const fftjet::Grid2d<Real>& g(*energyFlow);
238  const double densityBeforeMixing = g.sum()/pileupEtaPhiArea;
239 
240  // Mix an extra grid (if requested)
241  double densityAfterMixing = -1.0;
242  if (!externalGridFiles.empty())
243  {
244  mixExtraGrid();
245  densityAfterMixing = g.sum()/pileupEtaPhiArea;
246  }
247 
248  // Various useful variables
249  const unsigned nScales = filterScales->size();
250  const double* scales = &(*filterScales)[0];
251  Real* convData = const_cast<Real*>(convolvedFlow->data());
252  Real* sortData = convData + convolverMinBin*convolvedFlow->nPhi();
253  const unsigned dataLen = convolverMaxBin ?
255  convolvedFlow->nEta()*convolvedFlow->nPhi();
256 
257  // Load flattenning factors from DB (if requested)
259  loadFlatteningFactors(iSetup);
260 
261  // Go over all scales and perform the convolutions
262  convolver->setEventData(g.data(), g.nEta(), g.nPhi());
263  for (unsigned iscale=0; iscale<nScales; ++iscale)
264  {
265  // Perform the convolution
266  convolver->convolveWithKernel(
267  scales[iscale], convData,
268  convolvedFlow->nEta(), convolvedFlow->nPhi());
269 
270  // Apply the flattening factors
271  if (!etaFlatteningFactors.empty())
272  convolvedFlow->scaleData(&etaFlatteningFactors[0],
273  etaFlatteningFactors.size());
274 
275  // Sort the convolved data
276  std::sort(sortData, sortData+dataLen);
277 
278  // Determine the percentile points
279  for (unsigned iper=0; iper<nPercentiles; ++iper)
280  {
281  // Map percentile 0 into point number 0,
282  // 1 into point number dataLen-1
283  const double q = (iper + 0.5)/nPercentiles;
284  const double dindex = q*(dataLen-1U);
285  const unsigned ilow = static_cast<unsigned>(std::floor(dindex));
286  const double percentile = fftjet::lin_interpolate_1d(
287  ilow, ilow+1U, sortData[ilow], sortData[ilow+1U], dindex);
288 
289  // Store the calculated percentile
290  percentileData[iscale*nPercentiles + iper] = percentile;
291  }
292  }
293 
294  // Convert percentile data into a more convenient storable object
295  // and put it into the event record
296  std::auto_ptr<reco::DiscretizedEnergyFlow> pTable(
298  &percentileData[0], "FFTJetPileupProcessor",
299  -0.5, nScales-0.5, 0.0, nScales, nPercentiles));
300  iEvent.put(pTable, outputLabel);
301 
302  std::auto_ptr<std::pair<double,double> > etSum(
303  new std::pair<double,double>(densityBeforeMixing, densityAfterMixing));
304  iEvent.put(etSum, outputLabel);
305 }
std::auto_ptr< fftjet::Grid2d< fftjetcms::Real > > energyFlow
std::vector< std::string > externalGridFiles
std::auto_ptr< fftjet::EquidistantInLogSpace > filterScales
std::auto_ptr< fftjet::AbsConvolverBase< Real > > convolver
void loadInputCollection(const edm::Event &)
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
std::vector< double > percentileData
std::auto_ptr< fftjet::Grid2d< fftjetcms::Real > > convolvedFlow
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:116
std::vector< double > etaFlatteningFactors
void loadFlatteningFactors(const edm::EventSetup &iSetup)
double Real
const std::string outputLabel

Member Data Documentation

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

Definition at line 87 of file FFTJetPileupProcessor.cc.

Referenced by FFTJetPileupProcessor(), and produce().

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

Definition at line 84 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver(), and produce().

unsigned FFTJetPileupProcessor::convolverMaxBin
private

Definition at line 101 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver(), and produce().

unsigned FFTJetPileupProcessor::convolverMinBin
private

Definition at line 100 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver(), and produce().

unsigned FFTJetPileupProcessor::currentFileNum
private

Definition at line 110 of file FFTJetPileupProcessor.cc.

Referenced by mixExtraGrid().

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

Definition at line 78 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver().

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

Definition at line 94 of file FFTJetPileupProcessor.cc.

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

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

Definition at line 107 of file FFTJetPileupProcessor.cc.

Referenced by mixExtraGrid(), and produce().

double FFTJetPileupProcessor::externalGridMaxEnergy
private

Definition at line 109 of file FFTJetPileupProcessor.cc.

Referenced by mixExtraGrid().

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

Definition at line 90 of file FFTJetPileupProcessor.cc.

Referenced by FFTJetPileupProcessor(), and produce().

std::string FFTJetPileupProcessor::flatteningTableCategory
private

Definition at line 121 of file FFTJetPileupProcessor.cc.

Referenced by loadFlatteningFactors().

std::string FFTJetPileupProcessor::flatteningTableName
private

Definition at line 120 of file FFTJetPileupProcessor.cc.

Referenced by loadFlatteningFactors().

std::string FFTJetPileupProcessor::flatteningTableRecord
private

Definition at line 119 of file FFTJetPileupProcessor.cc.

Referenced by loadFlatteningFactors().

std::ifstream FFTJetPileupProcessor::gridStream
private

Definition at line 108 of file FFTJetPileupProcessor.cc.

Referenced by mixExtraGrid().

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

Definition at line 81 of file FFTJetPileupProcessor.cc.

Referenced by buildKernelConvolver().

bool FFTJetPileupProcessor::loadFlatteningFactorsFromDB
private

Definition at line 122 of file FFTJetPileupProcessor.cc.

Referenced by produce().

unsigned FFTJetPileupProcessor::nPercentiles
private

Definition at line 97 of file FFTJetPileupProcessor.cc.

Referenced by FFTJetPileupProcessor(), and produce().

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

Definition at line 113 of file FFTJetPileupProcessor.cc.

Referenced by FFTJetPileupProcessor(), and produce().

double FFTJetPileupProcessor::pileupEtaPhiArea
private

Definition at line 104 of file FFTJetPileupProcessor.cc.

Referenced by produce().