AliPhysics  68dfc25 (68dfc25)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ProofRailway Struct Reference
Inheritance diagram for ProofRailway:

Public Member Functions

 ProofRailway (const TUrl &url, Int_t verbose)
 
 ProofRailway (const ProofRailway &o)
 
ProofRailwayoperator= (const ProofRailway &o)
 
virtual ~ProofRailway ()
 
void UsePar (Bool_t &use)
 
virtual Bool_t AddIncludePath (const TString &path)
 
virtual Bool_t LoadLibrary (const TString &name, Bool_t slaves=true, Bool_t forcePar=false)
 
virtual Bool_t LoadSource (const TString &name, bool copy=true)
 
virtual Bool_t LoadAliROOT ()
 
virtual Bool_t LoadAliPhysics ()
 
virtual const char * AliROOTParName () const
 
virtual const char * AliPhysicsParName () const
 
virtual Bool_t CreatePseudoPar (const TString &parName, const TString &env, const TString &setup)
 
virtual Bool_t CreateAliROOTPar ()
 
virtual Bool_t CreateAliPhysicsPar ()
 
virtual UShort_t Mode () const
 
virtual const char * ModeString () const
 
virtual Bool_t Connect (const TUrl &url, const TString &opts)
 
virtual Bool_t PreSetup ()
 
virtual Bool_t EnableSpecial (const TString &parName, const TString &prefix)
 
virtual Bool_t EnableAliROOT ()
 
virtual Bool_t EnableAliPhysics ()
 
virtual Bool_t PostSetup ()
 
virtual Bool_t LoadExtraSrcs ()
 
virtual void GetDataSet (TString &dsname)
 
virtual Long64_t Run (Long64_t nEvents=-1)
 
virtual void Print (Option_t *option="") const
 
virtual Bool_t AuxFile (TString &name, bool copy=false)
 
Int_t SendFile (const TString &fileName)
 
virtual TString OutputPath () const
 
virtual const Char_tUrlHelp () const
 
virtual const char * Desc () const
 
void AuxSave (const TString &escaped, Bool_t)
 
- Public Member Functions inherited from Railway
 Railway (const Railway &o)
 
Railwayoperator= (const Railway &)
 
virtual Bool_t LoadAux (const TString &name, Bool_t copy=false)
 
virtual Bool_t LoadROOT ()
 
virtual UShort_t Operation () const
 
virtual Bool_t AddMonitor (const TString &)
 
virtual Short_t InputType () const
 
virtual Bool_t IsMC () const
 
virtual TString OutputLocation () const
 
const TUrlUrl () const
 
const OptionListOptions () const
 

Static Public Member Functions

static void ExportEnvVar (TString &out, const TString &name)
 
- Static Public Member Functions inherited from Railway
static RailwayCreate (const TUrl &url, Int_t verbose=0)
 
static RailwayCreateObject (const TString &cl, const TUrl &url, Int_t verbose=0)
 
static void ShowUrlHelp (const TString &cl)
 
static void ShowFullHelp (const TString &cl)
 

Public Attributes

TString fExtraLibs
 
TString fExtraPars
 
TString fExtraSrcs
 
Bool_t fUsePars
 
Bool_t fBasePars
 
Bool_t fTestBuild
 
TList fAuxFiles
 

Additional Inherited Members

- Public Types inherited from Railway
enum  EMode { kLocal, kProof, kGrid }
 
enum  EOperation {
  kTest, kOffline, kSubmit, kTerminate,
  kFull
}
 
enum  EInput { kESD, kAOD, kUser }
 
- Protected Member Functions inherited from Railway
const TStringMakeLibraryName (const TString &name)
 
TChainLocalChain ()
 
 Railway (const TUrl &url, Int_t verbose)
 
virtual Bool_t ParseOptions ()
 
virtual ~Railway ()
 
- Static Protected Member Functions inherited from Railway
static UShort_t DeduceType (const TString &str)
 
- Protected Attributes inherited from Railway
TUrl fUrl
 
OptionList fOptions
 
Int_t fVerbose
 

Detailed Description

Handle analysis on a Proof farm.

This helper is triggered by URIs of the form

proof://[<user>@]<host>[:<port>]/<dsname>[?<options>][#<treename>]

where

<user>
Optional user name
<host>
PROOF cluster master host
<port>
Optional PROOF cluster port on master host
<dsname>
Data set name
<treename>
Optional tree name in data set, often esdTree or aodTree
<options>
List of options separated by an &
workers=N[x]
Set the number of workers to use. If x is appended, then it's maximum number of workers per slave
dsname[=<output dataset>]
Register tree output (e.g., AOD) as a new data set on the PROOF cluster. If <output dataset> is not specified, take the name of the train.
par[=all]
Use PAR files. If the value all is given, then also PAR files of STEERBase, ESD, AOD, ANALYSIS, OADB, ANALYSISalice are used.
mode=[default,rec,sim,train,custom]
Set the AliROOT mode. If not specified default is assumed. See also CreateAliROOTPar
storage=<url>
Specify a non-default storage location for special output (e.g., AOD trees). <url> should be a valid XRootd server URI accessible to the slaves - e.g., root://lxplus.cern.ch:10930//tmp.

Definition at line 86 of file ProofRailway.C.

Constructor & Destructor Documentation

ProofRailway::ProofRailway ( const TUrl url,
Int_t  verbose 
)
inline

Constructor

Parameters
urlUrl
verboseVerbosity level

Definition at line 94 of file ProofRailway.C.

ProofRailway::ProofRailway ( const ProofRailway o)
inline

Definition at line 120 of file ProofRailway.C.

virtual ProofRailway::~ProofRailway ( )
inlinevirtual

Destructor

Definition at line 146 of file ProofRailway.C.

Member Function Documentation

virtual Bool_t ProofRailway::AddIncludePath ( const TString path)
inlinevirtual

Add an include path

Parameters
pathThe path to add for header search
Returns
true on success

Reimplemented from Railway.

Definition at line 173 of file ProofRailway.C.

virtual const char* ProofRailway::AliPhysicsParName ( ) const
inlinevirtual

Get the name of the AliPHYSICS par file to use

Returns
String

Reimplemented in VAFRailway, and AAFRailway.

Definition at line 303 of file ProofRailway.C.

Referenced by CreateAliPhysicsPar(), and EnableAliPhysics().

virtual const char* ProofRailway::AliROOTParName ( ) const
inlinevirtual

Get the name of the AliROOT par file to use

Returns
String

Reimplemented in VAFRailway, and AAFRailway.

Definition at line 294 of file ProofRailway.C.

Referenced by CreateAliROOTPar(), and EnableAliROOT().

virtual Bool_t ProofRailway::AuxFile ( TString name,
bool  copy = false 
)
inlinevirtual

Link an auxilary file to working directory

Parameters
nameName of the file
copyCopy rather than link
Returns
true on success

Reimplemented from Railway.

Definition at line 1009 of file ProofRailway.C.

void ProofRailway::AuxSave ( const TString escaped,
Bool_t   
)
inlinevirtual

Write auxillary ROOT (and possible shell) script for more (post-)processing e.g., terminate

Parameters
escapedEscaped name

Reimplemented from Railway.

Definition at line 1117 of file ProofRailway.C.

virtual Bool_t ProofRailway::Connect ( const TUrl url,
const TString opts 
)
inlinevirtual

Connect to PROOF(,-Lite,-on-Demand) cluster

Parameters
urlConnection URL
optsPossible options
Returns
true on success

Reimplemented in VAFRailway.

Definition at line 621 of file ProofRailway.C.

Referenced by VAFRailway::Connect(), and PreSetup().

virtual Bool_t ProofRailway::CreateAliPhysicsPar ( )
inlinevirtual

Reimplemented in VAFRailway, and AAFRailway.

Definition at line 561 of file ProofRailway.C.

Referenced by LoadAliPhysics().

virtual Bool_t ProofRailway::CreateAliROOTPar ( )
inlinevirtual

Create an AliROOT par file from the executing AliROOT. This PAR file basically uses the environment of the client - that is, we assume that the used AliROOT is accessible on the slaves - e.g., via an NFS export.

Note, the SETUP.C script take one argument - a TList of TNamed parameters. Parameters processed are

  • ALIROOT_MODE=[default,aliroot,rec,sim,train]
    • default: Load base analysis libraries
    • aliroot: Load $ALICE_ROOT/macros/loadlibs.C
    • rec: Load $ALICE_ROOT/macros/loadlibsrec.C
    • sim: Load $ALICE_ROOT/macros/loadlibssim.C
  • ALIROOT_EXTRA_LIBS Colon separated list of additional (Ali)ROOT libraries to load on the slaves.

The generated PAR file is uploaded but not enabled until we have populated fExtraLibs. The enabling takes place at the end of the set-up.

Returns
true on success, false otherwise.

Reimplemented in VAFRailway, and AAFRailway.

Definition at line 491 of file ProofRailway.C.

Referenced by LoadAliROOT().

virtual Bool_t ProofRailway::CreatePseudoPar ( const TString parName,
const TString env,
const TString setup 
)
inlinevirtual

Create an AliROOT/AliPhysics par file from the executing AliROOT. This PAR file basically uses the environment of the client - that is, we assume that the used AliROOT is accessible on the slaves - e.g., via an NFS export.

Note, the SETUP.C script take one argument - a TList of TNamed parameters. Parameters processed are

  • ALIROOT_MODE=[default,aliroot,rec,sim,train]
    • default: Load base analysis libraries
    • aliroot: Load $ALICE_ROOT/macros/loadralibs.C
    • rec: Load $ALICE_ROOT/macros/loadlibsrec.C
    • sim: Load $ALICE_ROOT/macros/loadlibssim.C
  • ALIROOT_EXTRA_LIBS Colon separated list of additional (Ali)ROOT libraries to load on the slaves.

The generated PAR file is uploaded but not enabled until we have populated fExtraLibs. The enabling takes place at the end of the set-up.

Returns
true on success, false otherwise.

Definition at line 329 of file ProofRailway.C.

Referenced by CreateAliPhysicsPar(), and CreateAliROOTPar().

virtual const char* ProofRailway::Desc ( ) const
inlinevirtual
Returns
Short description

Implements Railway.

Reimplemented in LiteRailway, VAFRailway, and AAFRailway.

Definition at line 1110 of file ProofRailway.C.

virtual Bool_t ProofRailway::EnableAliPhysics ( )
inlinevirtual

Enable the special AliROOT package on the cluster

Returns
true on success

Reimplemented in VAFRailway.

Definition at line 795 of file ProofRailway.C.

Referenced by PostSetup().

virtual Bool_t ProofRailway::EnableAliROOT ( )
inlinevirtual

Enable the special AliROOT package on the cluster

Returns
true on success

Definition at line 786 of file ProofRailway.C.

Referenced by PostSetup().

virtual Bool_t ProofRailway::EnableSpecial ( const TString parName,
const TString prefix 
)
inlinevirtual

Enable a special PAR (e.g., AliROOT and AliPhysics)

Parameters
parNameName of the par file
prefixPrefix used
Returns
true on success

Definition at line 740 of file ProofRailway.C.

Referenced by EnableAliPhysics(), and EnableAliROOT().

static void ProofRailway::ExportEnvVar ( TString out,
const TString name 
)
inlinestatic

Definition at line 460 of file ProofRailway.C.

Referenced by CreateAliPhysicsPar(), and CreateAliROOTPar().

virtual void ProofRailway::GetDataSet ( TString dsname)
inlinevirtual

Get the data-set name

Parameters
dsnameOn return, must contain the data set name

Reimplemented in VAFRailway.

Definition at line 878 of file ProofRailway.C.

Referenced by Run().

virtual Bool_t ProofRailway::LoadAliPhysics ( )
inlinevirtual

Set-up to load the AliPHYSICS libraries

Returns
true on success

Reimplemented from Railway.

Definition at line 274 of file ProofRailway.C.

virtual Bool_t ProofRailway::LoadAliROOT ( )
inlinevirtual

Set-up to load the AliROOT libraries

Returns
true on success

Reimplemented from Railway.

Reimplemented in VAFRailway.

Definition at line 251 of file ProofRailway.C.

Referenced by VAFRailway::LoadAliROOT().

virtual Bool_t ProofRailway::LoadExtraSrcs ( )
inlinevirtual

Reimplemented in LiteRailway.

Definition at line 858 of file ProofRailway.C.

Referenced by PostSetup().

virtual Bool_t ProofRailway::LoadLibrary ( const TString name,
Bool_t  slaves = true,
Bool_t  forcePar = false 
)
inlinevirtual

Load a library/PAR/script

Parameters
nameName
slavesIf true, also load on slaves
forceParif true, force load as PAR
Returns
true on success

Implements Railway.

Definition at line 193 of file ProofRailway.C.

Referenced by LoadAliPhysics(), and LoadAliROOT().

virtual Bool_t ProofRailway::LoadSource ( const TString name,
bool  copy = true 
)
inlinevirtual

Load a source file, and compile it

Parameters
nameName of the source file
copyIf true, copy not link
Returns
true on success

Reimplemented from Railway.

Definition at line 240 of file ProofRailway.C.

virtual UShort_t ProofRailway::Mode ( ) const
inlinevirtual

Get the mode identifier

Returns
Always kProof

Implements Railway.

Definition at line 608 of file ProofRailway.C.

virtual const char* ProofRailway::ModeString ( ) const
inlinevirtual

Get the mode string used for AliAnalysisManager::StartAnalysis

Reimplemented from Railway.

Definition at line 612 of file ProofRailway.C.

ProofRailway& ProofRailway::operator= ( const ProofRailway o)
inline

Definition at line 130 of file ProofRailway.C.

Referenced by LiteRailway::operator=().

virtual TString ProofRailway::OutputPath ( ) const
inlinevirtual

Path of output

Returns
Path to output - possibly a data set

Reimplemented from Railway.

Reimplemented in LiteRailway.

Definition at line 1090 of file ProofRailway.C.

virtual Bool_t ProofRailway::PostSetup ( )
inlinevirtual

Set-up done after the task set-ups

Returns
true on success

Implements Railway.

Reimplemented in LiteRailway.

Definition at line 804 of file ProofRailway.C.

Referenced by LiteRailway::PostSetup().

virtual Bool_t ProofRailway::PreSetup ( )
inlinevirtual

Set-up done before task set-ups

Returns
true on success

Implements Railway.

Reimplemented in VAFRailway, LiteRailway, and AAFRailway.

Definition at line 641 of file ProofRailway.C.

Referenced by AAFRailway::PreSetup(), LiteRailway::PreSetup(), and VAFRailway::PreSetup().

virtual void ProofRailway::Print ( Option_t option = "") const
inlinevirtual

Print information to standard output

Parameters
option

Reimplemented from Railway.

Definition at line 989 of file ProofRailway.C.

virtual Long64_t ProofRailway::Run ( Long64_t  nEvents = -1)
inlinevirtual

Start the analysis

Parameters
nEventsNumber of events to analyse
Returns
The return value of AliAnalysisManager::StartAnalysis

Implements Railway.

Reimplemented in LiteRailway.

Definition at line 889 of file ProofRailway.C.

Int_t ProofRailway::SendFile ( const TString fileName)
inline

Definition at line 1028 of file ProofRailway.C.

virtual const Char_t* ProofRailway::UrlHelp ( ) const
inlinevirtual
Returns
URL help string

Implements Railway.

Reimplemented in LiteRailway, VAFRailway, and AAFRailway.

Definition at line 1102 of file ProofRailway.C.

void ProofRailway::UsePar ( Bool_t use)
inlinevirtual

Set whether to use pars. On return, the argument is set to the old value. So to temporaruly turn off pars, do

Bool_t usePar = false;
fRailway->UsePar(usePar); // usePar is now old value
// Load real libraries
fRailway->UsePar(usePar); // Restore old value
Parameters
useWhether to use pars or not. On return contains old value

Reimplemented from Railway.

Definition at line 160 of file ProofRailway.C.

Member Data Documentation

TList ProofRailway::fAuxFiles

Definition at line 1160 of file ProofRailway.C.

Referenced by AuxFile(), PostSetup(), and ProofRailway().

TString ProofRailway::fExtraLibs

Definition at line 1154 of file ProofRailway.C.

Referenced by AuxSave(), EnableSpecial(), LoadLibrary(), operator=(), and Print().

TString ProofRailway::fExtraPars

Definition at line 1155 of file ProofRailway.C.

Referenced by AuxSave(), LoadLibrary(), operator=(), PostSetup(), and Print().

TString ProofRailway::fExtraSrcs
Bool_t ProofRailway::fTestBuild

Definition at line 1159 of file ProofRailway.C.

Referenced by LoadLibrary(), operator=(), and PreSetup().

Bool_t ProofRailway::fUsePars

The documentation for this struct was generated from the following file: