class Rivet::PercentileXaxis
Rivet::PercentileXaxis
The PercentileXaxis class for centrality binning. More…
#include <Percentile.hh>
Inherits from Rivet::PercentileTBase< T >, Rivet::PercentileBase
Public Types
Name | |
---|---|
typedef rivet_shared_ptr< Wrapper< T > > | TPtr Convenient typedef. |
Public Functions
Name | |
---|---|
PercentileXaxis(Analysis * ana, string projName) Main constructor. | |
PercentileXaxis() Default constructor. | |
~PercentileXaxis() Empty destructor. | |
template <typename… Args> void | fill(Args… args) |
PercentileXaxis< T > & | operator-=(const PercentileXaxis< T > & rhs) Subtract the contents from another PercentileXaxis. |
PercentileXaxis< T > & | operator+=(const PercentileXaxis< T > & rhs) Add the contents from another PercentileXaxis. |
PercentileXaxis< T > * | operator->() Make this object look like a pointer. |
PercentileXaxis< T > & | operator->*(function< void(T &)> f) Pointer to member operator. |
void | add(TPtr ao, CounterPtr cnt, pair< float, float > cent ={0.0, 100.0}) Add a new percentile bin. |
bool | add(const PercentileBase & other, const vector< TPtr > & tv) Copy the information from an otherPercentile object. |
bool | init(const Event & event) Initialize for a new event. Select which AnalysisObjects should be filled for this event. Keeps track of the number of events seen for each centrality bin and AnalysisAbject. |
void | normalizePerEvent() Normalize each AnalysisObject. |
void | scale(float scale) Simple scaling of each AnalysisObject. |
void | exec(function< void(T &)> f) Execute a function for each AnalysisObject. |
const vector< pair< TPtr, CounterPtr > > & | analysisObjects() const Access the underlyng AnalysisObjects. |
void | selectBins(const Event & ) Initialize the PercentileBase for a new event. |
void | copyFrom(const PercentileBase & other) Copy information from otherPercentileBase. |
bool | compatible(const PercentileBase & other) const check if otherPercentileBase is compatible with this. |
const vector< pair< float, float > > & | centralities() const return the list of centrality bins. |
bool | inRange(double x, pair< float, float > range) Helper function to check if x is within range. |
Additional inherited members
Public Functions inherited from Rivet::PercentileTBase< T >
Name | |
---|---|
PercentileTBase(Analysis * ana, string projName) Main constructor. | |
PercentileTBase() Default constructor. | |
~PercentileTBase() Empty destructor. |
Public Functions inherited from Rivet::PercentileBase
Name | |
---|---|
PercentileBase(Analysis * ana, string projName) Constructor. | |
PercentileBase() Default constructor. |
Detailed Description
template <class T >
class Rivet::PercentileXaxis;
The PercentileXaxis class for centrality binning.
The PercentileXaxis class automatically handles the x-axis of an AnalysisObject when the x-axis is to be the centrality of an event. This could also be done by eg. filling directly a Histo1D with the result of a CentralityProjection. However, since the CentralityProjection may handle several centrality definitions at the same time it is reasonable to instead use PercentileXaxis
Operationally this class works like the Percentile class, but only one centrality bin (0-100) is included. When fill()ed the first argument is always given by the assigned CentralityProjection.
Public Types Documentation
typedef TPtr
typedef rivet_shared_ptr<Wrapper<T> > Rivet::PercentileTBase< T >::TPtr;
Convenient typedef.
Public Functions Documentation
function PercentileXaxis
inline PercentileXaxis(
Analysis * ana,
string projName
)
Main constructor.
Requires a pointer, ana, to the Analysis to which this object belongs and the name of the CentralityProjection, projname, to be used.
function PercentileXaxis
inline PercentileXaxis()
Default constructor.
function ~PercentileXaxis
inline ~PercentileXaxis()
Empty destructor.
function fill
template <typename... Args>
inline void fill(
Args... args
)
Fill each AnalysisObject selected in the last call to PercentileTBase
function operator-=
inline PercentileXaxis< T > & operator-=(
const PercentileXaxis< T > & rhs
)
Subtract the contents from another PercentileXaxis.
function operator+=
inline PercentileXaxis< T > & operator+=(
const PercentileXaxis< T > & rhs
)
Add the contents from another PercentileXaxis.
function operator->
inline PercentileXaxis< T > * operator->()
Make this object look like a pointer.
function operator->*
inline PercentileXaxis< T > & operator->*(
function< void(T &)> f
)
Pointer to member operator.
function add
inline void add(
TPtr ao,
CounterPtr cnt,
pair< float, float > cent ={0.0, 100.0}
)
Add a new percentile bin.
Add an analysis objects which are clones of temp that should be active for events in the given centrality bin cent. Several analysis objects may be added depending on the number of alternative centrality definitions in the CentralityProjectionproj. This function is common for Percentile and PecentileXaxis, but for the latter the cent argument should be left to its default.
function add
inline bool add(
const PercentileBase & other,
const vector< TPtr > & tv
)
Copy the information from an otherPercentile object.
This function differs from a simple assignement as the other analysis objects are not copied, but supplied separately through tv.
function init
inline bool init(
const Event & event
)
Initialize for a new event. Select which AnalysisObjects should be filled for this event. Keeps track of the number of events seen for each centrality bin and AnalysisAbject.
function normalizePerEvent
inline void normalizePerEvent()
Normalize each AnalysisObject.
Normalize by dividing by the sum of the events seen for each centrality bin.
function scale
inline void scale(
float scale
)
Simple scaling of each AnalysisObject.
function exec
inline void exec(
function< void(T &)> f
)
Execute a function for each AnalysisObject.
function analysisObjects
inline const vector< pair< TPtr, CounterPtr > > & analysisObjects() const
Access the underlyng AnalysisObjects.
The returned vector contains a pair, where the first member is the AnalysisObject and the second is a counter keeping track of the sum of event weights for which the AnalysisObject has been active.
function selectBins
void selectBins(
const Event &
)
Initialize the PercentileBase for a new event.
This will perform the assigned CentralityProjection and select out the (indices) of the internal AnalysisObjects that are to be active in this event.
function copyFrom
inline void copyFrom(
const PercentileBase & other
)
Copy information from otherPercentileBase.
function compatible
inline bool compatible(
const PercentileBase & other
) const
check if otherPercentileBase is compatible with this.
function centralities
inline const vector< pair< float, float > > & centralities() const
return the list of centrality bins.
The size of this vector is the same as number of internal analysis objects in the sub class PercentileTBase.
function inRange
static inline bool inRange(
double x,
pair< float, float > range
)
Helper function to check if x is within range.
Updated on 2022-08-07 at 20:17:17 +0100