You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

I want to do some analysis!

Well, you're going to need some data.  Here's how you get it:

The easiest way to get a list of files is by using the linemode client 'find' command.  Here's it's help screen:


dflath@noric09> /afs/slac/g/glast/ground/bin/datacat -h find

Command-specific help for command find

Usage: datacat find [-options] <logical folder>

parameters:
  <logical folder>   Logical Folder Path at which to begin performing the search.

options:
  --recurse                              Recurse sub-folders
  --search-folders                    Search for datasets inside folder(s)
  -search-groups                    Search in groups.  This option is superceeded by the -G (-group) option if they are both supplied.
  --group <group name>         Dataset Group under which to search for datasets.
  --site <site name>                Name of Site to search.  May be used multiple times to specify a list of sites in which case order is taken as preference.  Defaults to the Master-location if not provided.
  --filter <filter expression>     Criteria by which to filter datasets.  ie: 'DatasetDataType=="MERIT" && nMetStart>=257731220 && nMetStop <=257731580'
  --sort <meta name>             Name of meta-data field to sort on.  May be used multiple times to specify a list of fields to sort on.  Order determines presidence.

Thanks for nothing, that's the part that confuses me!

Alright, here's what it all means:

Arguments to 'find' command: 

Argument

Explanation

<logical folder>

This parameter is required and comes after all options are specified.  Replace it with the Data Catalog folder path where you want to begin your search.
The more specific you are, the faster your search will be.

--recurse

If you specify this option, the find command will traverse the folder tree under <logical folder> in it's quest to provide you with the data you desire.

--search-folders

Tells find to look inside the folder (or folders if --recurse specified) and consider datasets that live there.  In general, datasets live in groups, and this option is not used.

--search-groups

Tells find to look inside all dataset groups in the specified folder (or folder tree if using --recurse) for your files.  May be combined with --search-folders and --recurse.
Has no meaning if --group is also specified.

--group <group name>

Tells find to look inside groups only if they have the name specified by <group name>.  May be used with --recurse to search in groups of the given name in a folder tree.

--site <site name>



Specifies a specific site you want to get datasets from.  May be used multiple times to specify a list of sites to search where order indicates preference.
If no sites are specified, the 'master' location is returned.  This will generally be a file in XROOT. 

--filter <filter expression>

Also known as "search criteria" is an expression using logical operators, meta-data fields and constant values on which to filter the output results.

--sort <meta name>

Specifies the name of the specific meta-data field on which to sort the output results.  May be used multiple times to specify a list of fields to sort on where order indicates preference.
Sorting may add a significant overhead to the time it takes to start getting results, as the entire output set must be calculated, then sorted, before being displayed.
Currently only 'ascending' sort is supported

*Important note:  At least one of --search-folders, --search-groups, --group <group name> must be specified.

<site name> Valid values:

SLAC_XROOT

XROOT servers at SLAC.  Almost everything lives here.

SLAC

NFS (or AFS) at SLAC.  Some FT1 and FT2 data are stored here until the ftools learn to read from XROOT.

IN2P3

Some Monte Carlo data is stored at Lyon

IN2P3_HPSS

Lyon Monte Carlo backups

UW

University of Washington.

<filter expression> Specifics:

A logical expression used to select datasets that meet specific criteria.  Here's a loose grammar which defines expressions:

Expr ::= Expr
Expr ::= '(' Expr ')'
Expr ::= '!' Expr
Expr ::= Expr LogOp Expr
LogOp ::= '&&' | '||'
Expr ::= Comparable CmpOp Comparable
CmpOp ::= '==' | '!=' | '>=' | '<='
Comparable ::= "String"                -- a String constant must be enclosed in double quotes
Comparable ::= Number
Comparable ::= Identifier
Comparable ::= UnOp Comparable
UnOp ::= '-' | '+'
Comparable ::= Comparable BinOp Comparable
BinOp ::= '/' | '*' | '+' | '-'

Examples:


  • No labels