ROOT
6.12/06
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
.