FAX end-user Tutorial


A step-by-step how-to tutorial for using FAX as an end-user. The tutorial examples can be downloaded here. If something does not work or you have any questions, please contact atlas-adc-fax-operations@cernNOSPAMNOSPAMPLEASE.ch.

Setup environment

Setting up the FAX environment is done using a package from the localSetupFAX (more here):

     export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
     source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh
If you will need ROOT, you should set it up directly from localSetupFAX:
localSetupFAX --rootVersion=current-SL6

A FAX access endpoint is automatically setup for you. You can find it in the environment variable STORAGEPREFIX. Create the usual grid proxy:

    voms-proxy-init -voms atlas

Check availability of the dataset or dataset container in FAX

Use fax-is-dataset-covered, available upon invoking localSetupFAX. It takes the dataset or dataset container name as an argument. For each input dataset, it will print number of FAX endpoints containing full and incomplete replicas. Example (user.ilijav.HCtest.1 is a test dataset that exists at several sites):

   fax-is-dataset-covered user.ivukotic:user.ilijav.HCtest.1

Copy a dataset to a local storage

Use fax-get to copy a dataset from FAX to local storage. Command supports multiple streams, retries, partial dataset copy, skipping non-root files, timeouts and more. Example:

   fax-get user.ivukotic:user.ilijav.HCtest.1

Find global logical file names (gLFNs)

Currently there are two conventions for the global logical file namespace used by FAX:

  • Use tool fax-get-gLFNs:
    fax-get-gLFNs user.ivukotic:user.ilijav.HCtest.1  > my_list_of_gLFNS.txt 

Copy a file from FAX to local disk

  • With the environment setup above:
    xrdcp $STORAGEPREFIX/atlas/rucio/user.ivukotic:group.test.hc.NTUP_SMWZ.root /tmp/myLocalCopy.root 

Open and inspect a file with ROOT

  • Open and list the file contents with ROOT.
  • Then:
       root -l 
       TFile *f = TFile::Open("root://fax.mwt2.org//atlas/rucio/user.ivukotic:group.test.hc.NTUP_SMWZ.root"); 
       if(f) f->ls();

Using FAX from a prun job

Instead of giving the --inDS myDataset option, provide it with --pfnList my_list_of_gLFNS.txt.

Additional examples


  • Always, always, always use TTreeCache. Without it performance will be very bad. It should be used even if you don't use FAX.
  • If using TChain, don't create TFiles and give them to TChain but directly give filenames to TChain. TChain will make sure files can be opened.
  • Messages like this
    Xrd: XrdClientMessage::ReadRaw: Failed to read header
    can be safely ignored and will be removed in future versions of xrootd.

Major updates:
-- IlijaVukotic - 10 Dec 2013

Responsible: IlijaVukotic
Last reviewed by: Never reviewed

Edit | Attach | Watch | Print version | History: r28 | r25 < r24 < r23 < r22 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r23 - 2015-01-19 - IlijaVukotic
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Atlas All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback