ROOT
6.14/05
Reference Guide
tutorials
net
parallelMergeTest.C File Reference
Tutorials
»
Net tutorials
Detailed Description
#include "
TMessage.h
"
#include "
TBenchmark.h
"
#include "
TSocket.h
"
#include "
TH2.h
"
#include "
TTree.h
"
#include "
TFile.h
"
#include "
TRandom.h
"
#include "
TError.h
"
void
parallelMergeTest(
UInt_t
nhist,
UInt_t
ndims = 1,
UInt_t
nbins = 100)
{
gBenchmark
->
Start
(
"parallelMergeTest"
);
TFile
*file =
TFile::Open
(
"mergedClient.root?pmerge=localhost:1095"
,
"RECREATE"
);
Float_t
px, py;
TTree
*tree = 0;
switch
(ndims) {
case
1: {
for
(
UInt_t
h = 0 ; h < nhist; ++
h
) {
new
TH1F
(
TString::Format
(
"hpx%d"
,h),
"This is the px distribution"
,nbins,-4,4);
}
break
;
}
case
2: {
for
(
UInt_t
h = 0 ; h < nhist; ++
h
) {
new
TH2F
(
TString::Format
(
"hpxy%d"
,h),
"py vs px"
,nbins,-4,4,nbins,-4,-4);
}
break
;
}
case
99: {
tree =
new
TTree
(
"tree"
,
"tree"
);
tree->
SetAutoFlush
(4000000);
tree->
Branch
(
"px"
,&px);
tree->
Branch
(
"py"
,&py);
}
}
// Fill histogram randomly
gRandom->SetSeed();
const
int
kUPDATE = 1000000;
for
(
int
i = 0; i < 25000000; ) {
// gRandom->Rannor(px,py);
// if (idx%2 == 0)
// hpx->Fill(px);
// else
// hpx->Fill(px,py);
if
(tree) tree->
Fill
();
++i;
if
(i && (i%kUPDATE) == 0) {
file->
Write
();
}
}
file->
Write
();
delete
file;
gBenchmark
->
Show
(
"parallelMergeTest"
);
}
Author
Definition in file
parallelMergeTest.C
.