Page History
...
Short | Long | Config File | Option type | Default | Description | ||
---|---|---|---|---|---|---|---|
-v | --verbose | verbose | integer | 0 | Command line options do not need any values but can be repeated multiple times, configuration file option accepts single integer number. | ||
-c file | --config=file |
| path | pyana.cfg | Name of the configuration file. | ||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="90f00e4ff9a761cf-8fa416e9-4d2d426e-984c9fbc-5f1f594865ed7c17cdebc55b"><ac:plain-text-body><![CDATA[ | -C name | --config-name=name |
| string |
| If non-empty string is given then configuration will be read from section | ]]></ac:plain-text-body></ac:structured-macro> |
-l file | --file-list=file | file-list | path |
| The list of input data files will be read form a given file which must contain one file name per line. | ||
-n number | --num-events=number | num-events | integer | 0 | Maximum number of events to process, this counter will include damaged events too. | ||
-j name | --job-name=name | job-name | string |
| Sets job name which is accessible to user code via environment method. Default name is based on the input file names. | ||
-m name | --module=name | modules | string |
| User analysis module(s). Command line options can be repeated several times, configuration file option accepts space-separated list of names. | ||
-p number | --num-cpu=number | num-cpu | integer | 1 | Number of processes to run, if greater than 1 then multi-processing mode will be used. |
...
When this simple merging procedure is not sufficient users need to do merging themselves (if at all possible). In that case the file in every process should be opened in a standard way using open(...)
but the name of every file should be made unique. One simple way to generate a process-specific name is to use method env.jobNameSub()
which returns a regular job name followed by dash and a process number ranging from 0 to a number of sub-processes. When this method is called in single-process job it returns regular job name. User can also construct arbitrary process-specific file name using the sub-process ID returned from env.subprocess()
method.
Anchor | ||||
---|---|---|---|---|
|
Histogramming
At present we use Python interface to ROOT. The main interface for creating new histograms is a special histogram manager object which is responsible for histogram bookkeeping in Pyana jobs. This object is accessible to user code through the method env.hmgr()
. The object has several methods for booking new histograms such as h1d(...)
, h2i(...)
, etc. For detailed description of the methods and calling conventions consult Reference Manual. Filling of the histograms is performed through the methods of the histograms objects, the Reference Manual has links to the relevant documentation.
The histogram manager is also responsible for merging of the histograms from all sub-processes at the end of multi-processing job. As the result of the job there should be just one file with the name "job-name.root" in the current directory independently of whether the job runs as single process or multiple processes.
Anchor | ||||
---|---|---|---|---|
|
...