object Stack extends Factory
Accumulates a suite of aggregators, each filtered with a tighter selection on the same quantity.
This is a generalization of org.dianahep.histogrammar.Fraction, which fills two aggregators, one with a cut, the other without. Stack fills N + 1
aggregators with N
successively tighter cut thresholds. The first is always filled (like the denominator of Fraction), the second is filled if the computed quantity exceeds its threshold, the next is filled if the computed quantity exceeds a higher threshold, and so on.
The thresholds are presented in increasing order and the computed value must be greater than or equal to a threshold to fill the corresponding bin, and therefore the number of entries in each filled bin is greatest in the first and least in the last.
Although this aggregation could be visualized as a stack of histograms, stacked histograms usually represent a different thing: data from different sources, rather than different cuts on the same source. For example, it is common to stack Monte Carlo samples from different backgrounds to show that they add up to the observed data. The Stack aggregator does not make plots of this type because aggregation trees in Histogrammar draw data from exactly one source.
To make plots from different sources in Histogrammar, one must perform separate aggregation runs. It may then be convenient to stack the results of those runs as though they were created with a Stack aggregation, so that plotting code can treat both cases uniformly. For this reason, Stack has an alternate constructor to build a Stack manually from distinct aggregators, even if those aggregators came from different aggregation runs.
Factory produces mutable org.dianahep.histogrammar.Stacking and immutable org.dianahep.histogrammar.Stacked objects.
- Alphabetic
- By Inheritance
- Stack
- Factory
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply[DATUM, V <: Container[V] with Aggregation { type Datum >: DATUM }, N <: Container[N] with Aggregation { type Datum >: DATUM }](bins: Iterable[Double], quantity: UserFcn[DATUM, Double], value: => V = Count(), nanflow: N = Count()): Stacking[DATUM, V, N]
Create an empty, mutable org.dianahep.histogrammar.Stacking.
Create an empty, mutable org.dianahep.histogrammar.Stacking.
- bins
Thresholds that will be used to determine which datum goes into a given container; this list gets sorted, duplicates get removed, and negative infinity gets added as the first element.
- quantity
Numerical quantity whose value is compared with the given thresholds.
- value
Template used to create zero values (by calling this
value
'szero
method).- nanflow
Container for data that resulted in
NaN
.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def build[V <: Container[V]](x: V, xs: Container[_]*): Stacked[V, Counted]
Alternate constructor for org.dianahep.histogrammar.Stacked that builds from N pre-aggregated primitives (N > 0).
Alternate constructor for org.dianahep.histogrammar.Stacked that builds from N pre-aggregated primitives (N > 0).
The first result is the one that gets filled with contributions from all others, and should be plotted behind all others (first, if overlays cover each other in the usual order).
Since this kind of stacked plot is not made from numerical bins, the numerical values of the
bins
are allNaN
. - def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- val detailedHelp: String
Help text that can be queried interactively: more detail than
help
. - def ed[V <: Container[V] with NoAggregation, N <: Container[N] with NoAggregation](entries: Double, bins: Iterable[(Double, V)], nanflow: N): Stacked[V, N]
Create an immutable org.dianahep.histogrammar.Stacked from arguments (instead of JSON).
Create an immutable org.dianahep.histogrammar.Stacked from arguments (instead of JSON).
- entries
Weighted number of entries (sum of all observed weights).
- bins
Lower thresholds and their associated containers, starting with negative infinity.
- nanflow
Container for data that resulted in
NaN
.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fromJsonFragment(json: Json, nameFromParent: Option[String]): Container[_] with NoAggregation
Reconstructs a container of known type from JSON.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- val help: String
Help text that can be queried interactively: a one-liner that can be included in a menu.
- def ing[DATUM, V <: Container[V] with Aggregation { type Datum >: DATUM }, N <: Container[N] with Aggregation { type Datum >: DATUM }](bins: Iterable[Double], quantity: UserFcn[DATUM, Double], value: => V = Count(), nanflow: N = Count()): Stacking[DATUM, V, N]
Synonym for
apply
. - final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val name: String
Name of the concrete
Factory
as a string; used to label the container type in JSON. - final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)