10#define ProofSimpleFile_cxx
29ProofSimpleFile::ProofSimpleFile()
43ProofSimpleFile::~ProofSimpleFile()
47 if (fRandom)
delete fRandom;
51Int_t ProofSimpleFile::CreateHistoArrays()
56 Error(
"CreateHistoArrays",
"fNhist must be positive!");
67void ProofSimpleFile::Begin(
TTree * )
77 if (fInput->FindObject(
"ProofSimpleFile_NHist")) {
89void ProofSimpleFile::SlaveBegin(
TTree * )
99 if (fInput->FindObject(
"ProofSimpleFile_NHist")) {
115 if (fFile && fFile->IsZombie())
SafeDelete(fFile);
121 " instance is invalid!",
fProofFile->GetName());
122 Abort(
amsg, kAbortProcess);
128 Abort(
"ProofSimpleFile::SlaveBegin: could not create histograms", kAbortProcess);
133 if (!(fFileDir = fFile->mkdir(
"blue"))) {
134 Abort(
"ProofSimpleFile::SlaveBegin: could not create directory 'blue' in file!",
146 fHistDir[i]->SetDirectory(fFileDir);
176 fHistTop[i]->Fill(fRandom->Gaus(0.,1.));
177 fHistDir[i]->Fill(fRandom->Gaus(0.,1.));
185void ProofSimpleFile::SlaveTerminate()
216 Info(
"SlaveTerminate",
"nothing to save: just cleanup everything ...");
217 TUrl uf(*(fFile->GetEndpointUrl()));
222 Info(
"SlaveTerminate",
"objects saved into '%s%s': sending related TProofOutputFile ...",
232void ProofSimpleFile::Terminate()
254 Error(
"Terminate",
"TProofOutputFile not found");
260 Error(
"Terminate",
"could not create histograms");
271void ProofSimpleFile::PlotHistos(
Int_t opt)
277 TCanvas *
c1 =
new TCanvas(
"c1",
"ProofSimpleFile top dir canvas",200,10,700,700);
292 }
else if (opt == 1) {
293 TCanvas *
c2 =
new TCanvas(
"c2",
"ProofSimpleFile 'blue' sub-dir canvas",400,60,700,700);
298 if ((fFileDir = (
TDirectory *) fFile->Get(
"blue"))) {
306 Error(
"PlotHistos",
"directory 'blue' not found in output file");
313 Error(
"PlotHistos",
"unknown option: %d", opt);
Selector to fill a set of histograms and merging via file.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Info(const char *location, const char *msgfmt,...)
Use this function for informational messages.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
winID h TVirtualViewer3D TVirtualGLPainter p
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
R__EXTERN TSystem * gSystem
Describe directory structure in memory.
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.
1-D histogram with a float per channel (see TH1 documentation)
The TNamed class is the base class for all named ROOT classes.
Class to steer the merging of files produced on the workers.
Random number generator class based on M.
Int_t Atoi() const
Return integer value of string.
Bool_t IsDigit() const
Returns true if all characters in string are digits (0-9) or white spaces, i.e.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
virtual int Unlink(const char *name)
Unlink, i.e.
A TTree represents a columnar dataset.
This class represents a WWW compatible URL.
Double_t Sqrt(Double_t x)
Returns the square root of x.