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
   ./cmsShow data.root

Installation Recipe 2 - Current release with FWlite: 4_2_3

This recipe is about:

  • installing FWLite
  • getting the FW code from cvs
  • compiling

More information about this can be found at the standard Fireworks twiki page but the basic instructions for installation are shown below.


  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

The ParticleFlow package is included in this release and so you should have access to the ParticleFlow functionality without doing anything in addition to the above steps.


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

  • Simple common how to for both recipes
  • Each recipe should explain how to get the pflow.fwc file (use links) [SIMON, in particular review pflow.fwc]

How to get a display of the particle flow inputs

  • Remind what are the particle flow inputs, and how the PF algorithm works. Links to the particle flow algorithm [COLIN]
  • Simple how-to showing how to start with another pflow_algo.fwc, to be created [SIMON]

If you wish to start Fireworks with the PF configuration file then a few more steps need to be followed. Firstly, you will need access to the CMSSW repositories.

Now, in the 'src' directory (CMSSW_4_2_3_FWLITE/work/CMSSW_4_2_3_FWLITE/src/) run the following commands:

   cvs co Fireworks/Core/macros/pflow.fwc
   mv Fireworks/Core/macros/pflow.fwc ../../../
   cd ../../../

You should now be back in the CMSSW_4_2_3 directory and ready to run cmsShow with your newly acquired configuration file.

   ./cmsShow -c pflow.fwc
This method can also be used to pass other configuration files to Fireworks upon start-up. e.g.
   ./cmsShow -c example.fwc data.root 
The particle flow configuration file can also be loaded during runtime. In the main Fireworks interface go to File and select Load Configuration OR, press Ctrl and l simultaneously. In the new window open pflow.fwc.

Compiling 4_2_3_FWLite Release

Most of that is part of the second recipe

In order compile there are a few prerequisites; you are either:

  • working on a mac with xcode installed,
  • using an slc5 terminal, have access to an slc5 terminal (e.g. ssh
  • using the chroot method explained here.
You must also have setup environment variables that point to the CMSSW repositories (see Acessing CMSSW Repositories ).

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/
   cvs co Fireworks/ParticleFlow
   scram b

Information on scram

Accessing CMSSW Repositories

Also part of the second recipe

In order to access the CMSSW repositories you must set two environment variables NB: It is assumed that you have installed the cvs software on your machine!

   export CVS_RSH=ssh

-- ColinBernet - 08-Feb-2011

Edit | Attach | Watch | Print version | History: r33 | r16 < r15 < r14 < r13 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r14 - 2011-05-25 - 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