16#ifndef ROO_NORMSET_CACHE
17#define ROO_NORMSET_CACHE
38 std::pair<Value_t,Value_t>
_pair;
50 const TNamed* set2RangeName = 0)
54 const Pair pair(set1, set2);
55 PairIdxMapType::const_iterator it =
_pairToIdx.lower_bound(pair);
56 if (
_pairToIdx.end() != it && it->first == pair) {
63 const TNamed* set2RangeName = 0)
64 {
return (
index(set1,set2,set2RangeName) >= 0); }
69 PairIdxMapType::const_iterator it =
_pairToIdx.lower_bound(pair);
80 bool autoRefill =
true);
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
bool operator==(Pair const &other) const
bool operator<(Pair const &other) const
Value_t const & first() const
Value_t const & second() const
Pair(const RooArgSet *set1, const RooArgSet *set2)
RooFit::UniqueId< RooArgSet >::Value_t Value_t
std::pair< Value_t, Value_t > _pair
Class RooNormSet cache manage the bookkeeping of multiple instances of sets of integration and normal...
bool autoCache(const RooAbsArg *self, const RooArgSet *set1, const RooArgSet *set2=0, const TNamed *set2RangeName=0, bool autoRefill=true)
If RooArgSets set1 and set2 or sets with similar contents have been seen by this cache manager before...
const std::string & nameSet2() const
void clear()
Clear contents.
std::size_t entries() const
PairIdxMapType _pairToIdx
!
bool containsSet1(const RooArgSet *set1)
int index(const RooArgSet *set1, const RooArgSet *set2=0, const TNamed *set2RangeName=0)
void initialize(const RooNormSetCache &other)
bool contains(const RooArgSet *set1, const RooArgSet *set2=0, const TNamed *set2RangeName=0)
void add(const RooArgSet *set1, const RooArgSet *set2=0)
Add given pair of RooArgSet pointers to our store.
std::map< Pair, std::size_t > PairIdxMapType
std::vector< Pair > PairVectType
const std::string & nameSet1() const
RooNormSetCache(std::size_t max=32)
The TNamed class is the base class for all named ROOT classes.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
UniqueId< Class > const & getUniqueId(Class const *ptr)
A helper function to replace pointer comparisons with UniqueId comparisons.