PAT Recipes & Development
Complete:
Development Branches
As software development is always faster than stable data taking, re-processing or large scale simulation suitable for physics analyses
PAT is developed in Several Branches. While its development is rather stable for more settled releases dedicated checkout procedures are often required for more recent releases to guarantee:
- The most up to date version tag of all relevant software packages.
- The proper interplay of all relevant software packages.
Check-in Procedure
Please document any comits of code to one of the PAT packages on the appropriate
Release Notes (
see below). Major changes or structural changes
should first be communicated to the responsible AT L2 (Volker). Please obey the following rules when committing code:
- Include you changes in all relevant branches:
- If a bugfix, the change should be on the appropriate release branch, as well as the HEAD
- For major new developments, the change should be in the HEAD.
- Subsequent to consultation, the development team may decide that the new development is a candidate for a back-port to one of the stable branches.
- Compile against the latest PAT recipe.
- Run the full set of unit tests in
PhysicsTools/PatAlgos/test/runAsyncTests.pl --all
- Estimate the timing impact (by turning on the
wantSummary
flag in your job): process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) )
- Estimate the size impact (by running
PhysicsTools/PatAlgos/test/diskSize.pl --all
).
- Tagged and queued your changes in the Tag Collector (if you don't have permissions, contact one of the members of the core development team).
Installation Recipes
PAT is part of all releases of the CMSSW_2_X_Y series and beyond. Unless stated otherwise you are always recommended to use PAT as it comes with the
Most Actual Release for your analysis. Short instructions how to use the head version with the corresponding most actual release series are given below.
CMSSW_7_2_X (dev2014)

This is the current
development release cycle for the new CMSSW framework.
Important Notes:
This release cycle is under development. Please use the highest available release of this series.
For further information about the use of PAT have a look below.
In this release cycle, PAT is
fully switched to the unscheduled processing mode. Have a look
this TWiki or the talks
by Benedikt
and
by Roger
to find out more about the implications of the unscheduled processing mode. For further information about the use of PAT have a look below:
User Information:

All PAT Python tools have been adapted to the
unscheduled processing mode
Please make sure to have the corresponding
process.options.allowUnscheduled = cms.untracked.bool( True )
in your configuration file.
Development:
See the corresponding
Release Notes for details.
CMSSW_7_0_X (pro2014)

This is the current
production release cycle for the new CMSSW framework, used for
miniAOD production during
CSA14.
Important Notes:
The currently recommended analysis release is
CMSSW_7_0_9_patch2.
For further information about the use of PAT have a look below.
For this release cycle we have
fully switched to the unscheduled processing mode, which will simplify the use of tools enormously. Have a look
this TWiki or the talks
by Benedikt
and
by Roger
to find out more about the implications of the unscheduled processing mode. For further information about the use of PAT have a look below:
User Information:

All PAT Python tools have been adapted to the
unscheduled processing mode
Please make sure to have the corresponding
process.options.allowUnscheduled = cms.untracked.bool( True )
in your configuration file.
miniAOD samples produced with this release cycle cannot be read with CMSSW_7_1_X releases or CMSSW_7_2_X pre-releases.
Development:
See the corresponding
Release Notes for details.
CMSSW_5_3_X (pro2012)

This is the stable
production release cycle for
analysis users using 2012 data and MC.
Important Notes:
The currently recommended analysis release is
CMSSW_5_3_22.
For further information about the use of PAT have a look below:
User Information:
Development:
See the corresponding
Release Notes for details.
Compilation
All checkout procedures given above are confirmed to compile and to run with a predefined set of test sequences. For any deviation from the recipes given below there is no guarantee though that all software parts will work together without problems. To compile the packages you checked out do
scram b -j 9
in your working directory.
Archive
Other releases then those shown above are not supported any more. Nevertheless you may find the old checkout procedures for the most important former releases in the
SWGuidePATRecipesArchive.
Responsible:
VolkerAdler