28using std::cout, std::endl, std::vector, std::list, std::ostream, std::ostream_iterator;
 
   42             const double value = 0.0, 
const double error = 1.0):
 
 
 
   93            vector<double>::const_iterator 
boxit = b2.
fMin.begin();
 
   94            vector<double>::const_iterator 
bigit = b1.
fMax.begin();
 
 
 
  153                      const unsigned int size, 
const unsigned int n,
 
  154                      list<Box>& 
l, 
const double val, 
const double error)
 
 
  199         fList = std::make_unique<ProxyListBox>();
 
 
  211         fList = std::make_unique<ProxyListBox>();
 
 
  218         fList = std::make_unique<ProxyListBox>(*
rhs.fList);
 
 
  223         fList = std::make_unique<ProxyListBox>(*
rhs.fList);
 
 
  232         return fList->GetList().size();
 
 
  238         return fList->Begin()->GetMin().size();
 
 
  242                           const double content, 
const double error)
 
  250         list<Box>::iterator it;
 
  254         if ( it != 
fList->End() )
 
  258            cout << 
"SparseData::Add -> FAILED! box not found! " << endl;
 
  271                      it->GetMin().size(), it->GetMin().size() - 1,
 
 
  279                                std::vector<double>& min, std::vector<double>&max,
 
  280                                double& 
content, 
double& error)
 
  285         unsigned int counter = 0;
 
  286         list<Box>::iterator it = 
fList->Begin();
 
  287         while ( it != 
fList->End() && counter != i ) {
 
  292         if ( (it == 
fList->End()) || (counter != i) )
 
  293            throw std::out_of_range(
"SparseData::GetPoint");
 
  298         error = it->GetError();
 
 
  312         list<Box>::iterator it = 
fList->Begin();
 
  313         const unsigned int dim = it->GetMin().size();
 
  315         bd.Initialize(
fList->GetList().size(), dim);
 
  317         for ( ; it != 
fList->End(); ++it )
 
  321            for ( 
unsigned int i = 0; i < dim; ++i)
 
  323               mid[i] = ((it->GetMax()[i] - it->GetMin()[i]) /2) + it->GetMin()[i];
 
  326            bd.Add(&
mid[0], it->GetVal(), it->GetError());
 
 
  335         list<Box>::iterator it = 
fList->Begin();
 
  337         bd.Initialize(
fList->GetList().size(), it->GetMin().size());
 
  339         for ( ; it != 
fList->End(); ++it )
 
  342            bd.Add(&(it->GetMin()[0]), it->GetVal(), it->GetError());
 
  344            bd.AddBinUpEdge(&(it->GetMax()[0]));
 
 
  353         list<Box>::iterator it = 
fList->Begin();
 
  354         const unsigned int dim = it->GetMin().size();
 
  356         bd.Initialize(
fList->GetList().size(), dim);
 
  358         for ( ; it != 
fList->End(); ++it )
 
  361            if ( it->GetVal() == 0 ) 
continue;
 
  364            for ( 
unsigned int i = 0; i < dim; ++i)
 
  366               mid[i] = ((it->GetMax()[i] - it->GetMin()[i]) /2) + it->GetMin()[i];
 
  369            bd.Add(&
mid[0], it->GetVal(), it->GetError());
 
 
  380         os << 
"val: " << 
b.GetVal();
 
 
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
 
void operator()(double value)
 
AreaComparer(vector< double >::iterator iter)
 
vector< double >::iterator fIter
 
Class describing the binned data sets : vectors of x coordinates, y values and optionally error on y ...
 
bool operator()(const Box &b1)
 
BoxContainer(const Box &b)
 
const vector< double > & GetMax() const
 
void AddVal(const double value)
 
friend ostream & operator<<(ostream &os, const Box &b)
 
bool operator==(const Box &b)
 
Box(const vector< double > &min, const vector< double > &max, const double value=0.0, const double error=1.0)
 
const vector< double > & GetMin() const
 
Base class for all the fit data types: Stores the coordinates and the DataOptions.
 
FitData & operator=(const FitData &rhs)
 
list< Box >::iterator Begin()
 
void Remove(list< Box >::iterator it)
 
list< Box >::iterator End()
 
SparseData class representing the data of a THNSparse histogram The data needs to be converted to a B...
 
std::unique_ptr< ProxyListBox > fList
 
void Add(std::vector< double > &min, std::vector< double > &max, const double content, const double error=1.0)
Adds a new bin specified by the vectors.
 
unsigned int NDim() const
Returns the dimension of the object (bins)
 
void GetPoint(const unsigned int i, std::vector< double > &min, std::vector< double > &max, double &content, double &error)
 
unsigned int NPoints() const
Returns the number of points stored.
 
void GetBinDataNoZeros(BinData &) const
Same as before, but including zero content bins.
 
SparseData & operator=(const SparseData &rhs)
Assignment operator.
 
void PrintList() const
Debug method to print the list of bins stored.
 
void GetBinData(BinData &) const
Transforms the data into a ROOT::Fit::BinData structure.
 
SparseData(std::vector< double > &min, std::vector< double > &max)
Constructor with a vector.
 
~SparseData() override
Destructor.
 
void GetBinDataIntegral(BinData &) const
Same as before, but returning a BinData with integral format (containing bin edges)
 
const_iterator begin() const
 
const_iterator end() const
 
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
 
TFitResultPtr Fit(FitObject *h1, TF1 *f1, Foption_t &option, const ROOT::Math::MinimizerOptions &moption, const char *goption, ROOT::Fit::DataRange &range)
 
void DivideBox(const vector< double > &min, const vector< double > &max, const vector< double > &bmin, const vector< double > &bmax, const unsigned int size, const unsigned int n, list< Box > &l, const double val, const double error)
 
ostream & operator<<(ostream &os, const ROOT::Fit::Box &b)
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...