3.4.2 Full Framework Event Display
Complete:
Introduction
One of the goals of the event display taskforce held in 2010 was to enable cmsShow to interface directly on top of CMSSW, rather than simply reading edm root files. First version of full framework was presented with at end December 2010 with
Full Framework Event Display 
tutorial.
This was done for mainly three reasons:
- To have access to transient event contents.
- To have access to correct alignment and calibration information, so that the event products displayed are as accurate as possible.
- To have the ability to change (some) of the reconstruction / simulation parameters on the fly and see the results immediately, without having to restart.
All of the above is now possible using the
cmsShowFF <your-CMSSW-config-file.py>
command within the
CMSSW
environment.
Notice that by design any configuration file which works with in batch (i.e. via
cmsRun
) should also work with
cmsShowFF
, since the latter sits on top of the former.
Running full-framework cmsShow
cmsShowFF
can be found in any CMSSW release. On lxplus, or in any environment where the CMS software is installed, this usually means doing something like:
cmsrel CMSSW_7_1_3
cd CMSSW_7_1_3
cmsenv
You can then check that
cmsShowFF
is in your path by doing
which cmsShowFF
Demo
To try it out you can use
cmsDriver.py
to generate some simple
single muon workflow and run it. First you do:
cmsDriver.py SingleMuPt10_cfi --conditions auto:run1_mc --fast -n 10 \
--eventcontent FEVTDEBUGHLT --relval 27000,3000 -s \
GEN,SIM,RECO,EI,HLT:@relval --datatier GEN-SIM-DIGI-RECO --fileout file:step1.root
Which will create a
SingleMuPt10_cfi_GEN_SIM_RECO_EI_HLT.py
configuration file and then you use
cmsShowFF
with it by doing:
cmsShowFF SingleMuPt10_cfi_GEN_SIM_RECO_EI_HLT.py
After some delay (runs full CMSSW workflow!) you should be presented a the familiar
Fireworks GUI:
the difference is that in this case the event content was simulated on the fly
by CMSSW as you can tell from the progress report in the bottom left corner.
Full Framework specific GUI controls
cmsShowFF
leverages on the Fireworks / cmsShow GUI. Pretty much any of the controls that are available there, work the same also in the full framework version, so unless specified differently, please refer to the
Fireworks workbook.
Parameter set viewer and editor.
You probably noticed that the "Show filter dialog" button in the top central part of the window has been replaced with a new "Show paths / CMSSW configuration editor" one.
The button is the entry point to a dialog which will show the details of the CMSSW configuration file being used, the status of the
EDFilters
after the last event was processed and it will allow you to edit (some of) the parameters which are used by CMSSW to guide the simulation / reconstruction workflow.
The main part of the dialog shows a tree view which exposes the structure of the process being executed: the paths, the modules found in each path and their (possibly nested) parameters will be shown as seen by CMSSW.
The dialog will take care of ordering them as they are being processed by the framework and will also color-code (green: "passed", red: "failed") them according to whether they completed correctly or if an filter in the path did not path (notice that if a path did not complete, it will color the filter which failed and all of its subsequent modules in path red).
Given the amount of information presented, in particular for complex workflows, it is crucial to be able to quickly find the parameters you are interested on. To do so you can use the filtering input box on top, which will magically filter out all the entries which do not match your request.
Finally it is possible to change the value of (some of) the parameters in the configuration by clicking on it, as if it was an spreadsheet table, editing it
and the pressing the "Apply button".
Navigation
While navigation works pretty much the same way as in the standalone case, via the usual top left dialog:
which allows you to go back and forward in the file, or to set the autoplay mode.
One important difference is however that
CMSSW
supports also working on sources that are different from file and that stream events. This is the case, for example, for directly attaching to the storage manager but also for
MonteCarlo workflows where you also generate events, rather then reading them from file. In such a case any navigation operation, regardless of it being back or forward, will bring you a new event.
Known limitations
While extremely powerful, the full framework event display cannot mimic the batch mode
cmsRun
in every detail, because non-deliberate design choices.
In particular cmsShow GUI is bolted on top of the framework via an
edm::EDLooper
and since only one
edm::EDLooper
is allowed per process all the configurations which already exploit one, will not work correctly.
For similar reasons, any configuration which would not work inside an
edm::EDLooper
will not work correctly, most notably workflows which include VALIDATION and DQM steps.
Last but not least, you can only change parameters of modules which appear in a given path, but not those of modules which are part of the event setup, nor you are going to be able to change the actual processing schedule (i.e. you cannot drop / add modules).
Review status
Upgrade to workbook style, A.Morelos,26-Mar-2013
Responsible:
AljaMrakTadel
Last reviewed by:
AntonioMorelosPineda - 26 Mar 2013