NewWave::WaveletEvent< T, momentum_type > Class Template Reference A representation of the event in the wavelet domain. More...
Inheritance diagram for NewWave::WaveletEvent< T, momentum_type >:
Detailed Descriptiontemplate<typename T, typename momentum_type = Momentum<T>>
|
NewWave::WaveletEvent< T, momentum_type >::WaveletEvent | ( | const T & | particles, |
const PixelDefinition & | pixelDefn, | ||
const WaveletEngine & | engine | ||
) | [inline] |
Definition at line 33 of file WaveletEvent.hh.
const WaveletCoefficients& NewWave::WaveletEvent< T, momentum_type >::coefficients | ( | ) | const [inline, virtual] |
Return the wavelet coefficients.
Returns the set of wavelet coefficients, including the effect of any event processing in the wavelet domain, e.g. noise removal, thresholding, level selection.
Implements NewWave::WaveletBaseEvent.
Definition at line 55 of file WaveletEvent.hh.
void NewWave::WaveletEvent< T, momentum_type >::denoise | ( | double | noiseThreshold | ) | [inline] |
De-noise the event using a simple flat threshold.
Event de-noising removes all coefficients whose magnitude is below the given threshold. Note that since different analysis systems use different units (GeV, MeV...) this threshold must be set consistently with that. In other words, if you want a threshold of 1GeV and your units are MeV, the argument is 1000.
noiseThreshold | The threshold for coefficients |
Definition at line 171 of file WaveletEvent.hh.
void NewWave::WaveletEvent< T, momentum_type >::filter | ( | const std::function< bool(const WaveletCoefficient &)> & | select | ) | [inline] |
Filter the event by setting the unselected coefficients to zero.
The std::function passed in here selects WaveletCoefficients and should return true if they are to be kept, or false if rejected. This function is applied to all of the coefficients in the event. Note that it can be called several times, so filters can be combined (e.g. de-noising followed by removal of high-frequency terms).
The WaveletEvent::denoise method calls this to select only coefficients above threshold. It provides a good example of defining a selection function inline using lamdas. Of course, you can also use functors or function pointers.
select | Function that determines whether a single coefficient is kept or set to zero. It should take a NewWave::WaveletCoefficient as the sole argument. |
Definition at line 197 of file WaveletEvent.hh.
const FrequencyBand& NewWave::WaveletEvent< T, momentum_type >::frequencyBand | ( | const WaveletCoefficient & | coeff | ) | const [inline, virtual] |
Implements NewWave::WaveletBaseEvent.
Definition at line 78 of file WaveletEvent.hh.
const FrequencyBands& NewWave::WaveletEvent< T, momentum_type >::frequencyBands | ( | ) | const [inline, virtual] |
Implements NewWave::WaveletBaseEvent.
Definition at line 57 of file WaveletEvent.hh.
const PixelArray& NewWave::WaveletEvent< T, momentum_type >::originalPixels | ( | ) | const [inline, virtual] |
Implements NewWave::WaveletBaseEvent.
Definition at line 110 of file WaveletEvent.hh.
const T& NewWave::WaveletEvent< T, momentum_type >::particles | ( | ) | const [inline] |
Return the particles from the filtered event.
This inverts (if necessary) the wavelet transformation on the (possibly filtered) wavelet coefficients, de-rasterises the event and returns those particles for which the ratio of output to input rasterised event is greater than the pile up threshold (see WaveletEvent<T>::setPileUpThreshold(double)).
The effect of this is to adjust the momenta of the output particles according to the wavelet analysis. Those particles that fail the pile up threshold cut are removed. By default, the pile up threshold is 0, so all particles are kept (barring those with negative pT). The pile up threshold is likely to be dependent on the detector used, and should be tuned experimentally.
Note that the removal of pile up and the removal of soft contributions to the signal event should be performed in separate steps - first one should remove pile up, then run a second wavelet analysis on the remaining particles in order to remove soft activity from the signal.
Definition at line 138 of file WaveletEvent.hh.
HepMC::GenEvent *const & NewWave::WaveletEvent< HepMC::GenEvent * >::particles | ( | ) | const |
const PixelDefinition& NewWave::WaveletEvent< T, momentum_type >::pixelDefn | ( | ) | const [inline, virtual] |
Implements NewWave::WaveletBaseEvent.
Definition at line 89 of file WaveletEvent.hh.
const PixelArray& NewWave::WaveletEvent< T, momentum_type >::pixels | ( | ) | const [inline, virtual] |
Return the event as rasterised pixels in rapidity= space.
Return a copy of the RasterisedEvent that includes the effect of any processing in the wavelet domain (e.g. noise thresholding). This is obtained by inverse transforming the set of coefficients.
Implements NewWave::WaveletBaseEvent.
Definition at line 101 of file WaveletEvent.hh.
void NewWave::WaveletEvent< T, momentum_type >::scale | ( | const std::function< double(const WaveletCoefficient &)> & | scaler | ) | [inline, virtual] |
Implements NewWave::WaveletBaseEvent.
Definition at line 208 of file WaveletEvent.hh.
void NewWave::WaveletEvent< T, momentum_type >::setPileUpThreshold | ( | double | threshold | ) | [inline, virtual] |
Implements NewWave::WaveletBaseEvent.
Definition at line 220 of file WaveletEvent.hh.