How to write a TClonesArray to a TTree
The following tests can be run Interactive tests
Root > .x tcl.C
Root > .x tcl.C(1)
Root > .x tcl.C++
Root > .x tcl.C++(1)
Batch tests: same as above but with no graphics
root -b -q tcl.C
root -b -q tcl.C++
root -b -q "tcl.C(1)"
root -b -q "tcl.C++(1)"
void tclwrite(
Int_t split)
{
TFile f(
"tcl.root",
"recreate");
f.SetCompressionLevel(1);
T.Branch("tcl",&arr,256000,split);
for (
Int_t ev=0;ev<10000;ev++) {
if(nlines < 0) nlines = 1;
}
T.Fill();
}
T.Print();
T.Write();
}
void tclread()
{
TH2F *
h2 =
new TH2F(
"h2",
"center of lines",40,0,1,40,0,1);
T->GetBranch(
"tcl")->SetAutoDelete(
kFALSE);
T->SetBranchAddress("tcl",&arr);
T->GetEntry(ev);
}
}
}
{
tclwrite(split);
tclread();
}
R__EXTERN TBenchmark * gBenchmark
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t TPoint TPoint const char y1
R__EXTERN TRandom * gRandom
An array of clone (identical) objects.
void BypassStreamer(Bool_t bypass=kTRUE)
When the kBypassStreamer bit is set, the automatically generated Streamer can call directly TClass::W...
void Clear(Option_t *option="") override
Clear the clones array.
A file, usually with extension .root, that stores data and code in the form of serialized objects in ...
2-D histogram with a float per channel (see TH1 documentation)
Use the TLine constructor to create a simple line.
Int_t GetEntriesFast() const
TObject * At(Int_t idx) const override
A TTree represents a columnar dataset.
- Author
- Rene Brun
Definition in file tcl.C.