38 Int_t dim =
h->GetNdimensions();
40 TString title(
h->GetTitle()); title +=
" tree";
55 tree->
Branch(
"bincontent", &
x[dim],
"bincontent/D");
58 for (
Long64_t i = 0; i <
h->GetNbins(); ++i) {
59 x[dim] =
h->GetBinContent(i, bins);
61 x[
d] =
h->GetAxis(
d)->GetBinCenter(bins[
d]);
106 Int_t bins[
ndims] = {10, 10, 5, 30, 10, 4, 18, 12};
113 for (
Long_t i = 0; i < 100000; ++i) {
133 auto canv =
new TCanvas(
"hDrawSparse",
"Drawing a sparse hist");
144 h3proj->SetDirectory(
nullptr);
int Int_t
Signed integer 4 bytes (int)
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
double Double_t
Double 8 bytes.
long long Long64_t
Portable signed long integer 8 bytes.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
THnSparseT< TArrayD > THnSparseD
R__EXTERN TRandom * gRandom
Class to manage histogram axis.
const char * GetTitle() const override
Returns title of object.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
3-D histogram with a double per channel (see TH1 documentation)
Efficient multidimensional histogram.
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
const char * GetName() const override
Returns name of object.
void SetTitle(const char *) override
Set the title of the TNamed.
void SetHistogramBinning(Int_t n=100)
Set the histogram binning.
void SetCurrentLimits(Double_t min, Double_t max)
Set the limits within which one the entries must be painted.
Parallel Coordinates class.
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
Double_t Rndm() override
Machine independent random number generator.
A TTree represents a columnar dataset.
virtual Int_t Fill()
Fill all branches.
virtual TObjArray * GetListOfLeaves()
void Draw(Option_t *opt) override
Default Draw method for all objects.
TBranch * Branch(const char *name, T *obj, Int_t bufsize=32000, Int_t splitlevel=99)
Add a new branch, and infer the data type from the type of obj being passed.
RVec< PromoteType< T > > sin(const RVec< T > &v)