rivet is hosted by Hepforge, IPPP Durham
Rivet  2.7.0
Rivet::Percentile< T > Class Template Reference

The Percentile class for centrality binning. More...

#include <Percentile.hh>

Inheritance diagram for Rivet::Percentile< T >:
Rivet::PercentileTBase< T > Rivet::PercentileBase

Public Member Functions

 Percentile (Analysis *ana, string projName)
 the main constructor More...
 
 Percentile ()
 Default constructor.
 
 ~Percentile ()
 Empty destructor.
 
template<typename... Args>
void fill (Args... args)
 
Percentile< T > & operator-= (const Percentile< T > &rhs)
 Subtract the contents fro another Pecentile.
 
Percentile< T > & operator+= (const Percentile< T > &rhs)
 Add the contents fro another Pecentile. More...
 
Percentile< T > * operator-> ()
 Make this object look like a pointer.
 
Percentile< T > & operator-> * (function< void(T &)> f)
 Pointer to member operator.
 
- Public Member Functions inherited from Rivet::PercentileTBase< T >
 PercentileTBase (Analysis *ana, string projName)
 the main constructor More...
 
 PercentileTBase ()
 Default constructor.
 
 ~PercentileTBase ()
 Empty destructor.
 
void add (shared_ptr< T > ao, CounterPtr cnt, pair< float, float > cent={0.0, 100.0})
 add a new percentile bin. More...
 
bool add (const PercentileBase &other, const vector< TPtr > &tv)
 Copy the information from an other Percentile object. More...
 
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. More...
 
void scale (float scale)
 Simple scaling of each AnalysisObject.
 
void exec (function< void(T &)> f)
 Execute a function for each AnalysisObject.
 
const vector< pair< shared_ptr< T >, shared_ptr< Counter > > > & analysisObjects () const
 Access the underlyng AnalysisObjects. More...
 
- Public Member Functions inherited from Rivet::PercentileBase
 PercentileBase (Analysis *ana, string projName)
 the main constructor More...
 
 PercentileBase ()
 Default constructor.
 
void selectBins (const Event &)
 
void copyFrom (const PercentileBase &other)
 Copy information from other PercentileBase.
 
bool compatible (const PercentileBase &other) const
 check if other PercentileBase is compatible with this.
 
const vector< pair< float, float > > & centralities () const
 

Additional Inherited Members

- Public Types inherited from Rivet::PercentileTBase< T >
typedef T::Ptr TPtr
 Convenient typedef.
 
- Static Public Member Functions inherited from Rivet::PercentileBase
static bool inRange (double x, pair< float, float > range)
 Helper function to check if x is within range.
 

Detailed Description

template<class T>
class Rivet::Percentile< T >

The Percentile class for centrality binning.

The Percentile class automatically handles the selection of which AnalysisObject(s) should be filled depending on the centrality of an event. It cointains a list of AnalysisObjects, one for each centrality bin requested (note that these bins may be overlapping) and each centrality definition is available in the assigned CentralityProjection.

Constructor & Destructor Documentation

◆ Percentile()

template<class T>
Rivet::Percentile< T >::Percentile ( Analysis ana,
string  projName 
)
inline

the main constructor

requiring a pointer, ana, to the Analysis to which this object belongs and the name of the CentralityProjection, projname, to be used.

Member Function Documentation

◆ fill()

template<class T>
template<typename... Args>
void Rivet::Percentile< T >::fill ( Args...  args)
inline

Fill each AnalysisObject selected in the last call to PercentileTBase<T>init

◆ operator+=()

template<class T>
Percentile<T>& Rivet::Percentile< T >::operator+= ( const Percentile< T > &  rhs)
inline

Add the contents fro another Pecentile.

Todo:
should this also add the Counter?

The documentation for this class was generated from the following file: