UPDATE: I am now working on
EmbeddingToolsV15B, which contains comments and modifications wrt a more recent version of EmbeddingTools.
This page contains a list of modifications which I found necessary for running the EmbeddingTools package in release 15. For this test, the base tag used was EmbeddingTools-00-02-02, which is the HEAD at the time of writing. The athena release used is 15.6.1.6, consistent with the reconstruction tag r1064. EmbeddingTools can be found in
SVN here
. This development was performed on lxplus (see
~flowerde/public/EmbedTest/
for the actual code).
The modifications are grouped by file, rather than by code execution stage. The directory list assumes that you are already in the
PhysicsAnalysis/CommonTools/EmbeddingTools/
directory of the checked-out package.
python/EmbeddingJob.py
This is the main module that defines the job flow. There are multiple edits to this file, so it is better just to copy it whole (from
~flowerde/public/EmbedTest/PhysicsAnalysis/CommonTools/EmbeddingTools/python/EmbeddingJob.py
). Among the most important changes is a move to using RecoTrf.py instead of csc_recoESD_trf.py, as the latter is now obselete (and much less powerful).
share/RunReReco_jobOptions.py
This file is obseleted by the migration to Reco_trf.py. Instead, copy my private copies of
share/RunReRecoTrf_jobOptions.py
and
share/RunReRecoTrfPostIncl_jobOptions.py
to
EmbeddingTools/share/
. These files are executed before and after
RecExCommon.py
respectively, controlled by the new version of
python/EmbeddingJob.py
. Note that many commented lines and debugging checks can be removed if desired.
share/RunPreFilter_jobOptions.py
First of all, replace the obselete
include( "RecExCommon/AllDet_detDescr.py" )
with
include( "RecExCond/AllDet_detDescr.py" )
Secondly, many containers in the output stream need to be changed. Look for the uncommented lines in
~flowerde/public/EmbedTest/PhysicsAnalysis/CommonTools/EmbeddingTools/share/RunPreFilter_jobOptions.py
.
share/PyRunEmbedding.py
Replace the line:
stream.AddItem(["TrackCollection#Tracks"])
with
stream.AddItem(["TrackCollection#CombinedInDetTracks"])
src/Store_EmbContainer.cxx
Replace
"Tracks"
with
"CombinedInDetTracks"
throughout.
Embed_topOptions.py
Again, this file is quite heavily modified, especially if grid submission is intended. Just copy the version in
~flowerde/public/EmbedTest/WorkArea/run/
. Also the following line will need to be added somewhere to make the re-reco step work properly:
EmbeddingFlags.ReRecoOutput = 'rerecoESD.pool.root'
The exact filename doesn't matter, as long as it has "ESD" somewhere inside it. This is because the new
EmbeddingJob.py
produces both ESD and AOD outputs and uses the
ReRecoOutput
flag as a base for both file names.
Grid submission
This is a work in progress. Because embedding jobs are run locally using
python
rather than
athena
, jobs to the grid need to be submitted using
prun
, not
pathena
. Test submission commands are located in
~flowerde/public/EmbedTest/WorkArea/run/Embed_submitPathena.sh
. So far, this only works up until the mini-reconstruction step, although anticipated submission commands are anticipated for the whole chain. Once it is working, presumably psequence could be used to chain these jobs together reliably.
To do
- Update to work in more recent releases (eg for actual data analysis)
- I want to use WZBenchmarks release 15.6.5.5.1 (or even later) to analyse the results. This requires
TileCellContainer#MBTSContainer
to be copied from SkimmedESD.pool.root to the output files in the embedding step.
--
MichaelFlowerdew - 01-Apr-2010