Studying Particle Flow with Fireworks


This page explains how to set up an experimental version of Fireworks, to study the particle flow reconstruction. To display the particles created by the particle flow algorithm, just use the standard version of Fireworks. This includes:

  • PFCandidates
  • PFJets

In addition to this however, you can use a modified version of Fireworks which is designed to help you understand how the particle flow algorithm identifies and reconstructs particles, using the following inputs:

  • ECAL and HCAL rechits
  • PFClusters
  • Tracks, with their extrapolated position in the calorimeters
  • PFBlocks

Installation recipes

Depending upon what you wish to do with the software there are two installation recipes. The first shows how to acquire the binary files needed if you only wish to run the event display. This is the easiest and quickest method to start displaying events. The second installation recipe truly allows you to get the most up-to-date source code, make your own modifications and re-compile (see here for more information on FWLite).

NB: If you only wish to display events and don't need access to source code and/or you are working on your own machine then it is highly recommended that you follow the first set of installation instructions.

Installation Recipe 1 - cmsShow 4.2

1. Use the download link here or in a terminal run


2. Run the following commands in the directory to which you just downloaded the tarball:

   tar xzf cmsShow-4.2.linux.tar.gz
   cd cmsShow-4.2
   ln -s src/Fireworks/Core/macros/pflow_algo.fwc pflow_algo.fwc

3. Run Fireworks with pflow.fwc to get the a display of PFCandidates and particle flow objects or, use pflow_algo.fwc to get a display of particle flow inputs

   ./cmsShow -c pflow.fwc
   ./cmsShow -c pflow_algo.fwc

Installation Recipe 2 - Current release with FWlite: 4_2_3

In order to use this installation recipe there are a few prerequisites that need to be met.
  • You are either:
    • working on a mac with xcode installed,
    • using an slc5 terminal or have access to an slc5 terminal (e.g. ssh
    • using the chroot method explained here.
You will also need to have access to the CVS repositories which is explained in the next section.

Prerequisite: Setting up CVS

In order to grab the particle flow configuration fle as well as any source code you need to have access to the cvs repositories.

NB: It is assumed that you have installed the cvs software on your machine!

So that your machine knows where and how to access the repositories, two environment variables must be set.

   export CVS_RSH=ssh

That's it!

The Installation

To install simply follow the instructions below. More information on the installation can be found at the standard Fireworks page.


  tar xzf CMSSW_4_2_3_FWLITE-slc5_amd64_gcc434.tar.gz
  cd CMSSW_4_2_3_FWLITE


  curl -OL
  tar xzf CMSSW_4_2_3_FWLITE-osx106_amd64_gcc421.tar.gz
  cd CMSSW_4_2_3_FWLITE

Assuming that you have followed the cvs prerequisites for this recipe, you now simply need to grab the code!

   cd CMSSW_4_2_3_FWlLite/work/CMSSW_4_2_3_FWLite/src/
   cvs co Fireworks/ParticleFlow

The particle flow source code can now be found in the directory


There is one last step. In order to get a display of either the particle flow based physics objects or the particle flow inputs, you need to follow the procedures below.

   cvs co Fireworks/Core/macros/pflow.fwc
   cvs co Fireworks/Core/macros/pflow_algo.fwc
   ln -s Fireworks/Core/macros/pflow.fwc pflow.fwc
   ln -s Fireworks/Core/macros/pflow_algo.fwc pflow_algo.fwc
To display particle flow based physics objects (e.g. PFCandidates) do
   cmsShow -c pflow.fwc
or for the particle flow input display
   cmsShow -c pflow_algo.fwc


If you make any changes to the source code that you acquire then you will probably want to compile and see the affects of those changes.

NB: The compilation is done using the scram tool and hence, you should at least have some knowledge of it's basic usage.

In the 'CMSSW_4_2_3_FWLite' directory (e.g. ~/Documents/CMSSW_4_2_3_FWLite) run the following commands:

   cd work/CMSSW_4_2_3_FWLite/src/
   scram b


How to load a config file at runtime

In the main interface go to File and select Load Configuration OR, press Ctrl and l simultaneously. In the new window navigate to, and then open the desired config file (e.g. pflow.fwc or pflow_algo.fwc).

How to get a display of PFCandidates and particle-flow based physics objects

You can take a look at the attached screenshots so that you know what to expect when loading Fireworks with the particle flow config files.

cmsShow 4.2

In the main cmsShow directory (e.g. ~/Documents/cmsShow-4.2/) run the following command:
   ./cmsShow -c src/Fireworks/Core/macros/pflow.fwc

FWLite 4_2_3

In the main FWLite directory (e.g. ~/Documents/CMSSW_4_2_3_FWLITE/work/CMSSW_4_2_3_FWLITE) run the following commands:
   source ../../
   cmsShow -c src/Fireworks/Core/macros/pflow.fwc

NB: These instructions already assume that you have acquired the necessary particle flow scripts using the installation instructions.

How to get a display of the particle flow inputs

cmsShow 4.2

In the main cmsShow directory (e.g. ~/Documents/cmsShow-4.2/) run the following command:
   ./cmsShow -c src/Fireworks/Core/macros/pflow_algo.fwc

FWLite 4_2_3

In the main FWLite directory (e.g. ~/Documents/CMSSW_4_2_3_FWLITE/work/CMSSW_4_2_3_FWLITE) run the following commands:
   source ../../
   cmsShow -c src/Fireworks/Core/macros/pflow_algo.fwc

Wish-list & bug reports

This section is used to list bugs that are currently known as well as features that we are currently working towards getting implemented.

Know Bugs

The Wish-list

-- ColinBernet - 08-Feb-2011

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng pflow_algo_fwc.png r1 manage 205.3 K 2011-05-26 - 18:16 UnknownUser A screenshot after loading Fireworks with the pflow_algo.fwc config file
PNGpng pflow_fwc.png r1 manage 218.4 K 2011-05-26 - 17:24 UnknownUser A screenshot after loading Fireworks with the pflow.fwc config file
Edit | Attach | Watch | Print version | History: r33 | r19 < r18 < r17 < r16 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r17 - 2011-05-26 - unknown



    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

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