55      if (
act == 
"GenerateTreesSameFile") {
 
   57      } 
else if (
act.BeginsWith(
"GenerateTrees")) {
 
   64            if (!
act.IsNull()) fDir = 
act;
 
   67         Warning(
"GetAction", 
"unknown action: '%s'", 
ntype->GetTitle());
 
   76void ProofAux::Begin(
TTree * )
 
   84void ProofAux::SlaveBegin(
TTree * )
 
   93   fAction = GetAction(fInput);
 
   97   if (
a) fNEvents = 
a->GetVal();
 
  131      Error(
"Process", 
"action not specified!");
 
  138   if (fInput && (
elemPair = 
dynamic_cast<TPair *
>(fInput->FindObject(
"PROOF_CurrentElement")))) {
 
  142         Error(
"Process", 
"entry %lld: no file specified!", 
entry);
 
  152         Error(
"Process", 
"problems generating tree (%lld, %s, %lld)",
 
  160      if (
xf.Contains(
"tree")) {
 
  161         xf.ReplaceAll(
"tree", 
"friend");
 
  163         if (
xf.EndsWith(
".root")) {
 
  164            xf.ReplaceAll(
".root", 
"_friend.root");
 
  172         Error(
"Process", 
"problems generating friend tree for %s (%s)",
 
  176   } 
else if (fAction == 1) {
 
  180         Error(
"Process", 
"problems generating tree (%lld, %s, %lld)",
 
  186         Error(
"Process", 
"problems generating friend tree for %s (%s)",
 
  190   } 
else if (fAction == 2) {
 
  194         Error(
"Process", 
"problems generating tree (%lld, %s, %lld)",
 
  200      Warning(
"Process", 
"do not know how to process action %d - do nothing", fAction);
 
  208void ProofAux::SlaveTerminate()
 
  219void ProofAux::Terminate()
 
  240      Error(
"GenerateTree", 
"file name undefined!");
 
  244   if (!
strcmp(
uu.GetProtocol(), 
"file") && !
fn.BeginsWith(
"/")) {
 
  248         Error(
"GenerateTree", 
"data directory undefined!");
 
  257            Error(
"GenerateTree", 
"problems creating directory %s to store the file", dir.
Data());
 
  266   if (!
f || 
f->IsZombie()) {
 
  267      Error(
"GenerateTree", 
"problems opening file %s", 
fn.Data());
 
  274   if (!fDir.IsNull()) {
 
  275      if (
f->mkdir(fDir.Data())) {
 
  276         Info(
"GenerateTree", 
"sub-directory '%s' successfully created", fDir.Data());
 
  280         Error(
"GenerateTree", 
"creating sub-directory '%s'", fDir.Data());
 
  290   TTree *T = 
new TTree(
"Tmain",
"Main tree for tutorial friends");
 
  293   T->Branch(
"Run",&Run,
"Run/I");
 
  295   T->Branch(
"Event",&
Event,
"Event/L");
 
  297   T->Branch(
"x",&
x,
"x/F");
 
  298   T->Branch(
"y",&
y,
"y/F");
 
  299   T->Branch(
"z",&z,
"z/F");
 
  302      if (i > 0 && i%1000 == 0) Run++;
 
  318   Info(
"GenerateTree", 
"file '%s' successfully created", 
fn.Data());
 
  322   if (!
strcmp(
uu.GetProtocol(), 
"file")) {
 
  337Int_t ProofAux::GenerateFriend(
const char *
fnt, 
const char *
fnf)
 
  351      Error(
"GenerateFriend", 
"file name for the main tree undefined!");
 
  356      Error(
"GenerateFriend", 
"input file does not exist or cannot be read: %s", 
fin.Data());
 
  366   if (!
fout.IsNull()) {
 
  373            Error(
"GenerateFriend", 
"problems creating directory %s to store the file", dir.
Data());
 
  384   if (!
fi || 
fi->IsZombie()) {
 
  385      Error(
"GenerateFriend", 
"problems opening input file %s", 
fin.Data());
 
  390      Error(
"GenerateFriend", 
"problems getting tree 'Tmain' from file %s", 
fin.Data());
 
  396   Tin->SetBranchAddress(
"x", &
x);
 
  397   Tin->SetBranchAddress(
"y", &
y);
 
  398   Tin->SetBranchAddress(
"z", &z);
 
  408      if (!
fo || 
fo->IsZombie()) {
 
  409         Error(
"GenerateFriend", 
"problems opening file %s", 
fout.Data());
 
  421   TTree *
Tfrnd = 
new TTree(
"Tfrnd", 
"Friend tree for tutorial 'friends'");
 
  424   Tfrnd->Branch(
"r",&
r,
"r/F");
 
  440   Tfrnd->SetDirectory(0);
 
  446   Info(
"GenerateFriend", 
"friend file '%s' successfully created", 
fout.Data());
 
  450   if (!
strcmp(
uu.GetProtocol(), 
"file")) {
 
Selector used for auxiliary actions in the PROOF tutorials.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
R__EXTERN TProofServ * gProofServ
R__EXTERN TSystem * gSystem
A TTree is a list of TBranches.
Manages an element of a TDSet.
Describe directory structure in memory.
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
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.
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.
Collectable string class.
Class used by TMap to store (key,value) pairs.
const char * GetOrdinal() const
const char * GetDataDir() const
This is the base class for the ROOT Random number generators.
const char * Data() const
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
virtual const char * Getenv(const char *env)
Get environment variable.
virtual int mkdir(const char *name, Bool_t recursive=kFALSE)
Make a file system directory.
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
virtual const char * HostName()
Return the system's host name.
virtual TString GetDirName(const char *pathname)
Return the directory name in pathname.
A TTree represents a columnar dataset.
This class represents a WWW compatible URL.
const char * GetProtocol() const
Double_t Sqrt(Double_t x)
Returns the square root of x.