Logo ROOT  
Reference Guide
testMergeCont.C File Reference

Detailed Description

View in nbviewer Open in SWAN Macro demonstrating the merging of containers.

TSeqCollection *GetCollection()
{
TObject *obj;
#ifndef ClingWorkAroundMissingDynamicScope
# define ClingWorkAroundMissingDynamicScope
#endif
f = TFile::Open("hsimple.root");
if( !f ) {
#ifdef ClingWorkAroundMissingDynamicScope
f = (TFile*)gROOT->ProcessLine("hsimple(1);");
#else
f = hsimple(1);
#endif
}
gROOT->cd();
TList *l0 = new TList();
TList *l01 = new TList();
TH1 *hpx = (TH1*)f->Get("hpx");
printf("Adding hpx: %d entries\n", (int)hpx->GetEntries());
l01->Add(hpx);
TH1 *hpxpy = (TH1*)f->Get("hpxpy");
l01->Add(hpxpy);
TH1 *hprof = (TH1*)f->Get("hprof");
l0->Add(hprof);
l0->Add(l01);
return l0;
}
void testMergeCont()
{
TString tutdir = gROOT->GetTutorialDir();
gROOT->LoadMacro(tutdir+"/hsimple.C");
TList *list1 = (TList *)GetCollection();
TList *inputs = new TList();
for (Int_t i=0; i<10; i++) {
inputs->AddAt(GetCollection(),0);
list1->Merge(inputs);
inputs->Delete();
f->Close();
}
delete inputs;
TH1F *hpx = (TH1F*)(((TList*)list1->At(1))->At(0));
printf("============================================\n");
printf("Total hpx: %d entries\n", (int)hpx->GetEntries());
hpx->Draw();
list1->Delete();
delete list1;
}
Author
The Root Team

Definition in file testMergeCont.C.

TList::AddAt
virtual void AddAt(TObject *obj, Int_t idx)
Insert object at position idx in the list.
Definition: TList.cxx:305
hsimple
Definition: hsimple.py:1
f
#define f(i)
Definition: RSha256.hxx:122
TList::Delete
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
Definition: TList.cxx:469
TFile::Open
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.
Definition: TFile.cxx:3946
Int_t
int Int_t
Definition: RtypesCore.h:45
TH1::GetEntries
virtual Double_t GetEntries() const
Return the current number of entries.
Definition: TH1.cxx:4301
TString
Definition: TString.h:136
TList::At
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range.
Definition: TList.cxx:356
TSeqCollection::Merge
Long64_t Merge(TCollection *list)
Merge this collection with all collections coming in the input list.
Definition: TSeqCollection.cxx:185
TFile
Definition: TFile.h:54
TSeqCollection
Definition: TSeqCollection.h:28
TH1F
1-D histogram with a float per channel (see TH1 documentation)}
Definition: TH1.h:572
TList::Add
virtual void Add(TObject *obj)
Definition: TList.h:87
TObject
Definition: TObject.h:37
TH1
Definition: TH1.h:57
TList
Definition: TList.h:44
gROOT
#define gROOT
Definition: TROOT.h:406
TH1::Draw
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition: TH1.cxx:2997