Interpolation¶
Interpolation class for \(\eta\) Interpolation.
The Interpolator class provides methods to interpolate the positions of photons based on their \(\eta\) values.
Warning
The interpolation might lead to erroneous photon positions for clusters at the boarders of a frame. Make sure to filter out such cases.
Below is an example of the Eta class of type double. Supported are Etaf of type float and Etai of type int.
- class aare._aare.Etad¶
- property c¶
eta corner value cTopLeft, cTopRight, cBottomLeft, cBottomRight
- property sum¶
photon energy of cluster
- property x¶
eta x value
- property y¶
eta y value
Note
The corner value c is only relevant when one uses calculate_eta_2 or calculate_full_eta2. Otherwise its default value is cTopLeft.
Supported are the following \(\eta\)-functions:
- aare.calculate_eta2(*args, **kwargs)¶
Overloaded function.
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster3x3i) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster3x3i) -> aare::Eta2<int>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster3x3d) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster3x3d) -> aare::Eta2<double>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster3x3f) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster3x3f) -> aare::Eta2<float>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster2x2i) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster2x2i) -> aare::Eta2<int>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster2x2d) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster2x2d) -> aare::Eta2<double>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster2x2f) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster2x2f) -> aare::Eta2<float>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster5x5i) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster5x5i) -> aare::Eta2<int>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster5x5d) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster5x5d) -> aare::Eta2<double>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster5x5f) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster5x5f) -> aare::Eta2<float>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster7x7i) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster7x7i) -> aare::Eta2<int>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster7x7d) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster7x7d) -> aare::Eta2<double>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster7x7f) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster7x7f) -> aare::Eta2<float>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster9x9i) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster9x9i) -> aare::Eta2<int>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster9x9d) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster9x9d) -> aare::Eta2<double>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster9x9f) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster9x9f) -> aare::Eta2<float>
calculates eta2x2
calculate_eta2(clusters: aare._aare.ClusterVector_Cluster3x3i16) -> numpy.ndarray
calculates eta2x2
calculate_eta2(cluster: aare._aare.Cluster3x3i16) -> aare::Eta2<short>
calculates eta2x2
- aare.calculate_full_eta2(*args, **kwargs)¶
Overloaded function.
calculate_full_eta2(cluster: aare._aare.Cluster3x3i) -> aare::Eta2<int>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster3x3i) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster3x3d) -> aare::Eta2<double>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster3x3d) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster3x3f) -> aare::Eta2<float>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster3x3f) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster2x2i) -> aare::Eta2<int>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster2x2i) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster2x2d) -> aare::Eta2<double>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster2x2d) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster2x2f) -> aare::Eta2<float>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster2x2f) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster5x5i) -> aare::Eta2<int>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster5x5i) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster5x5d) -> aare::Eta2<double>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster5x5d) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster5x5f) -> aare::Eta2<float>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster5x5f) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster7x7i) -> aare::Eta2<int>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster7x7i) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster7x7d) -> aare::Eta2<double>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster7x7d) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster7x7f) -> aare::Eta2<float>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster7x7f) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster9x9i) -> aare::Eta2<int>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster9x9i) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster9x9d) -> aare::Eta2<double>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster9x9d) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster9x9f) -> aare::Eta2<float>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster9x9f) -> numpy.ndarray
calculates full eta2x2
calculate_full_eta2(cluster: aare._aare.Cluster3x3i16) -> aare::Eta2<short>
calculates full eta2x2
calculate_full_eta2(clusters: aare._aare.ClusterVector_Cluster3x3i16) -> numpy.ndarray
calculates full eta2x2
- aare.calculate_eta3(*args, **kwargs)¶
Overloaded function.
calculate_eta3(clusters: aare._aare.ClusterVector_Cluster3x3i) -> numpy.ndarray
calculates eta3x3 using entire cluster
calculate_eta3(cluster: aare._aare.Cluster3x3i) -> aare::Eta2<int>
calculates eta3x3 using entire cluster
calculate_eta3(clusters: aare._aare.ClusterVector_Cluster3x3d) -> numpy.ndarray
calculates eta3x3 using entire cluster
calculate_eta3(cluster: aare._aare.Cluster3x3d) -> aare::Eta2<double>
calculates eta3x3 using entire cluster
calculate_eta3(clusters: aare._aare.ClusterVector_Cluster3x3f) -> numpy.ndarray
calculates eta3x3 using entire cluster
calculate_eta3(cluster: aare._aare.Cluster3x3f) -> aare::Eta2<float>
calculates eta3x3 using entire cluster
calculate_eta3(clusters: aare._aare.ClusterVector_Cluster3x3i16) -> numpy.ndarray
calculates eta3x3 using entire cluster
calculate_eta3(cluster: aare._aare.Cluster3x3i16) -> aare::Eta2<short>
calculates eta3x3 using entire cluster
- aare.calculate_cross_eta3(*args, **kwargs)¶
Overloaded function.
calculate_cross_eta3(clusters: aare._aare.ClusterVector_Cluster3x3i) -> numpy.ndarray
calculates eta3x3 taking into account cross pixels in cluster
calculate_cross_eta3(cluster: aare._aare.Cluster3x3i) -> aare::Eta2<int>
calculates eta3x3 taking into account cross pixels in cluster
calculate_cross_eta3(clusters: aare._aare.ClusterVector_Cluster3x3d) -> numpy.ndarray
calculates eta3x3 taking into account cross pixels in cluster
calculate_cross_eta3(cluster: aare._aare.Cluster3x3d) -> aare::Eta2<double>
calculates eta3x3 taking into account cross pixels in cluster
calculate_cross_eta3(clusters: aare._aare.ClusterVector_Cluster3x3f) -> numpy.ndarray
calculates eta3x3 taking into account cross pixels in cluster
calculate_cross_eta3(cluster: aare._aare.Cluster3x3f) -> aare::Eta2<float>
calculates eta3x3 taking into account cross pixels in cluster
calculate_cross_eta3(clusters: aare._aare.ClusterVector_Cluster3x3i16) -> numpy.ndarray
calculates eta3x3 taking into account cross pixels in cluster
calculate_cross_eta3(cluster: aare._aare.Cluster3x3i16) -> aare::Eta2<short>
calculates eta3x3 taking into account cross pixels in cluster
Interpolation class for \(\eta\)-Interpolation¶
Warning
Make sure to use the same \(\eta\)-function during interpolation as given by the joint \(\eta\)-distribution passed to the constructor.
- class aare.Interpolator¶
- __init__(*args, **kwargs)¶
Overloaded function.
__init__(self: aare._aare.Interpolator, etacube: numpy.ndarray[numpy.float64], xbins: numpy.ndarray[numpy.float64], ybins: numpy.ndarray[numpy.float64], ebins: numpy.ndarray[numpy.float64]) -> None
Constructor
Args:
- etacube:
joint distribution of eta_x, eta_y and photon energy (Note: for the joint distribution first dimension is eta_x, second: eta_y, third: energy bins.)
- xbins:
bin edges of etax
- ybins:
bin edges of etay
- ebins:
bin edges of photon energy
__init__(self: aare._aare.Interpolator, xbins: numpy.ndarray[numpy.float64], ybins: numpy.ndarray[numpy.float64], ebins: numpy.ndarray[numpy.float64]) -> None
Constructor
Args:
- xbins:
bin edges of etax
- ybins:
bin edges of etay
- ebins:
bin edges of photon energy
- get_ietax(self: aare._aare.Interpolator) numpy.ndarray¶
conditional CDF of etax conditioned on etay, marginal CDF of etax (if rosenblatt transform applied)
- get_ietay(self: aare._aare.Interpolator) numpy.ndarray¶
conditional CDF of etay conditioned on etax
- interpolate(*args, **kwargs)¶
Overloaded function.
interpolate(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<int, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on eta2
- Returns:
interpolated photons
interpolate(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<float, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on eta2
- Returns:
interpolated photons
interpolate(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<double, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on eta2
- Returns:
interpolated photons
interpolate(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<int, (unsigned char)2, (unsigned char)2, unsigned short>, void>) -> numpy.ndarray
interpolation based on eta2
- Returns:
interpolated photons
interpolate(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<float, (unsigned char)2, (unsigned char)2, unsigned short>, void>) -> numpy.ndarray
interpolation based on eta2
- Returns:
interpolated photons
interpolate(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<double, (unsigned char)2, (unsigned char)2, unsigned short>, void>) -> numpy.ndarray
interpolation based on eta2
- Returns:
interpolated photons
- interpolate_cross_eta3(*args, **kwargs)¶
Overloaded function.
interpolate_cross_eta3(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<int, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on cross eta3
- Returns:
interpolated photons
interpolate_cross_eta3(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<float, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on cross eta3
- Returns:
interpolated photons
interpolate_cross_eta3(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<double, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on cross eta3
- Returns:
interpolated photons
- interpolate_eta3(*args, **kwargs)¶
Overloaded function.
interpolate_eta3(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<int, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on full eta3
- Returns:
interpolated photons
interpolate_eta3(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<float, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on full eta3
- Returns:
interpolated photons
interpolate_eta3(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<double, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on full eta3
- Returns:
interpolated photons
- interpolate_full_eta2(*args, **kwargs)¶
Overloaded function.
interpolate_full_eta2(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<int, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on full eta2
- Returns:
interpolated photons
interpolate_full_eta2(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<float, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on full eta2
- Returns:
interpolated photons
interpolate_full_eta2(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<double, (unsigned char)3, (unsigned char)3, unsigned short>, void>) -> numpy.ndarray
interpolation based on full eta2
- Returns:
interpolated photons
interpolate_full_eta2(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<int, (unsigned char)2, (unsigned char)2, unsigned short>, void>) -> numpy.ndarray
interpolation based on full eta2
- Returns:
interpolated photons
interpolate_full_eta2(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<float, (unsigned char)2, (unsigned char)2, unsigned short>, void>) -> numpy.ndarray
interpolation based on full eta2
- Returns:
interpolated photons
interpolate_full_eta2(self: aare._aare.Interpolator, cluster_vector: aare::ClusterVector<aare::Cluster<double, (unsigned char)2, (unsigned char)2, unsigned short>, void>) -> numpy.ndarray
interpolation based on full eta2
- Returns:
interpolated photons
- rosenblatttransform(self: aare._aare.Interpolator, etacube: numpy.ndarray[numpy.float64]) None¶
calculated the rosenblatttransform for the given distribution
- etacube:
joint distribution of eta_x, eta_y and photon energy (Note: for the joint distribution first dimension is eta_x, second: eta_y, third: energy bins.)