.. _functions: ********* Functions ********* There are three different kinds of functions: * `Processing functions`_ take an event and return a processed event (e.g. ``RemoveBaseline``), and they are meant to be used on :ref:`event iterators `: .. code-block:: python it = vai.MockData().get_event_iterator().with_processing(vai.RemoveBaseline()) * `Scalar functions`_ take an event and return a scalar (e.g. ``MainParameters`` returns main parameters). They are meant to be applied to entire iterators using the ``apply`` function: .. code-block:: python it = vai.MockData().get_event_iterator().with_processing(vai.RemoveBaseline()) mp = vai.apply(vai.MainParameters(dt_us=it.dt_us), it) A cool thing about scalar functions is that they come with ``.names()`` and ``.dtypes()`` functions which lets you conveniently arrange the outputs into an easy to read dictionary: .. code-block:: python mp_dict = {k: v for k, v in zip(f.names(), mp)} * `Utility functions`_ don't fall into those two categories (e.g. ``apply`` or `Trigger functions`_). Processing functions ~~~~~~~~~~~~~~~~~~~~ .. currentmodule:: cait.versatile .. autoclass:: Downsample :member-order: bysource :exclude-members: batch_support .. autoclass:: RemoveBaseline :member-order: bysource :exclude-members: batch_support .. autoclass:: BoxCarSmoothing :member-order: bysource :exclude-members: batch_support .. autoclass:: TukeyWindow :member-order: bysource :exclude-members: batch_support .. autoclass:: OptimumFiltering :member-order: bysource :exclude-members: batch_support .. autoclass:: OptimumFiltering2D :member-order: bysource :exclude-members: batch_support .. autoclass:: FluxQuantumLossCorrection :member-order: bysource :exclude-members: batch_support Scalar functions ~~~~~~~~~~~~~~~~ .. currentmodule:: cait.versatile .. autoclass:: FitBaseline :member-order: bysource :exclude-members: batch_support .. autoclass:: MainParameters :member-order: bysource :exclude-members: batch_support .. autoclass:: CalcMP :member-order: bysource :exclude-members: batch_support .. autoclass:: TemplateFit :member-order: bysource :exclude-members: batch_support .. autoclass:: OFPulseHeight :member-order: bysource :exclude-members: batch_support .. autoclass:: TemplateFitCorrelated :member-order: bysource :exclude-members: batch_support .. autoclass:: TemplateFit_FQLC :member-order: bysource :exclude-members: batch_support .. autoclass:: SaturationTime :member-order: bysource :exclude-members: batch_support .. autoclass:: NPeaks :member-order: bysource :exclude-members: batch_support .. autoclass:: TriggerSurvival :member-order: bysource :exclude-members: batch_support Utility functions ~~~~~~~~~~~~~~~~~ .. currentmodule:: cait.versatile .. autofunction:: apply .. autofunction:: timestamp_coincidence .. autofunction:: sample_noise .. autofunction:: event_building Trigger functions ~~~~~~~~~~~~~~~~~ .. currentmodule:: cait.versatile.functions.trigger.triggerbase .. autofunction:: trigger_base .. currentmodule:: cait.versatile .. autofunction:: trigger_of .. autofunction:: trigger_of2d .. autofunction:: trigger_zscore