The following tutorial shows an analysis example that requires to run some CMSSW based analysis code to make flat trees from a group of ROOT files living in different directories and accessible via XRootD. So, for each directory, we want to be able to use all ROOT files on it to create a flat tree. This workflow would require:
- Create a sandbox with a user-based CMSSW framework
- Setup a CMSSW area
- Compile some user-customized analysis code on it
- Create a sandbox with it for the jobs to use
- Create a job wrapper to use the previously created sandbox
- Create a submission file to run this code using different input file directories from a list.
Creating a CMSSW sandbox
You can create a sandbox using the cmssw-sandbox tool. Assuming you already have your release area ready to use (e.g CMSSW_7_2_3), you just need to execute:
You can find additional information here:.
Making your sandbox accessible via HTTP
Additionally, you can move your sandbox to your stash area, so you can wget the sandbox from your job script. Otherwise, you can transfer the sandbox with condor or any other mechanism like XRootD. Follow this link for more information.
Creating a job wrapper to use the sandbox
The following example shows how to use a function to setup the sandbox on the worker node:
The submission file
You can use condor to run your analysis code using different input files (in this case, different directories coming from XRootD). The following example shows how to do this:
where channels_list.txt is:
Submitting your file
The previous submission file example creates file on a "log" directory, so let's create that subdirectory and submit:
This tutorial can be gotten via the tutorial command: