************************************************************************* *NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW* ************************************************************************* For 4.11.1: use fcdflnx3:~cwolfe/scratch/4.11.1_caf_ntuple instead of caf_ntuple To create your own: fcdflnx3>source ~cdfsoft/cdf2.cshrc; setup cdfsoft2 4.11.1; Setup CDF software fcdflnx3>newrel -t 4.11.1 caf_ntuple; cd caf_ntuple; Create a working directory Download http://hep.uchicago.edu/cdf/flatntuple/4.11.1_ntuple.tar.gz fcdflnx3>gunzip -c 4.11.1_ntuple.tar.gz | tar xvf - Make sure FlatNtuple/ and all the other directories are in the base directory fcdflnx3>gmake nobin fcdflnx3>gmake FlatNtuple.bin Now go to step 1.5... ************************************************************************* *END END END END END END END END END END END END END END END END END END* ************************************************************************* Here's an example of how to Ntuple a large amount of data on the CAF: Step -1: Make sure you have a queue on the CAF... Step 0: Take a look at fcdflnx3:~cwolfe/scratch/caf_ntuple Step 1: You need to be working on your favorite CDF Linux machine (mine is fcdflnx3), and you need a version of the UCNtuple set up to run on the CAF. You might try just copying the directory caf_ntuple above, but that might not work, so here's how to create your own: fcdflnx3>source ~cdfsoft/cdf2.cshrc; setup cdfsoft2 4.10.4; Setup CDF software fcdflnx3>setenv USESHLIBS 1 Use Shared Libraries fcdflnx3>newrel -t 4.10.4 caf_ntuple; cd caf_ntuple; Create a working directory fcdflnx3>addpkg -h FlatNtuple Get the FlatNtuple code fcdflnx3>sh FlatNtuple/build.sh Gets packages and builds ntupler ************************************************************************* As of this writing, there are problems in the BTag code, which causes the ntupler to crash. So we do the following: In the three BTag* directories (BTagMods, BTagAlgs, BTagObjects) execute: fcdflnx3>cvs update -r HEAD In the base directory execute: fcdflnx3>make nobin fcdflnx3>make FlatNtuple.bin Right now this works. Because it's code from the head, I can't guarantee it will always work. You should try the ucntuple.exe file you just compiled with build.sh on a file or two. If it doesn't crash, this may not be necessary. Then again, it may... ************************************************************************* Step 1.5: Now we have lots of stuff we don't need. And because this goes on the CAF, we want as small a tar file as we can get, so remove everything that's unecessary: fcdflnx3>rm -r Alignment BTagMods BTagAlgs BTagObjects doc GNUmakefile HighLevelObjects include JetUser lib man results tmp ups VertexAlg Zbb etc... Essentially, remove everything except for the shlib directory and bin/Linux2-KCC_4_0/ucntuple.exe Step 2: Now, copy the ucntuple.sh file and .tcl file to your working directory: fcdflnx3>scp fcdflnx3.fnal.gov:~cwolfe/scratch/caf_ntuple/ucntuple.sh . fcdflnx3>scp fcdflnx3.fnal.gov:~cwolfe/scratch/caf_ntuple/multi-topremake.tcl . Step 3: Create a list of files you want to run as they would be included in a .tcl file. E.g. if in the DHInput section of your AC++ job, you would write the line: include file root://blah.fnal.gov//directory/file make sure your list of files looks like root://blah.fnal.gov//directory/file Give this list the extension .lis (e.g. myfiles.lis). Step 4: Count how many files are in this list. Using "grep -c unique_string myfiles.lis" is a very convenient way of doing this. Here, unique_string is a string common to all the files in the list (e.g. blah or fnal in the example above). Step 5: Submit your job to the CAF: fcdflnx3>setup cdfsoft2 development fcdflnx3>CafGui & You need to have a kerberos ticket cached. Here's how you get one. On the uccdf machines: cdf.uchicago.edu>kinit -f cdf.uchicago.edu>rsh fcdflnx3.fnal.gov -x -F This sets up a forwardable ticket, and then forwards it. Once the CafGui window comes up set it up as follows: In the Initial command box type: ./ucntuple.sh myfiles $ where myfiles is the name of the .lis file (i.e. myfiles.lis). You want a '1' in the box next to it, and the number of files in the list in the box next to that. If this number is larger than several hundred (say 600), you probably want to break the job up in to a few pieces. The Original Directory should be the base directory (e.g. caf_ntuple). The Output File Location box should have something like: icaf:myfiles-$.tgz What you call your output files is up to you, but having the '-$' generally makes good sense. Generally the 'short' process type is fine. Click Submit. Step 6: Either check your queue's webpage constantly to see when your job is done, or wait till you're emailed. When the job is finished, you'll want to get your files. To do that, use icaf_gftp: fcdflnx3>setup cdfsoft2 development fcdflnx3>icaf_gftp & Again, you need a kerberos ticket cached (see above). If your job has finished, you should see your output files on the right hand side of the icaf_gftp window. Move them over to the fcdflnx3. Unzip with 'gunzip' and untar with 'tar -xvf', and you'll get the output root file, the log file and the error file. Do with these as you please. If you have any questions, email me (cwolfe@hep.uchicago.edu)... --Collin