Index: display/DelphesBranchElement.cc
===================================================================
--- display/DelphesBranchElement.cc	(revision 8b04b31e4c2aa65af07503f648c46d00a7598872)
+++ display/DelphesBranchElement.cc	(revision 2ca23b5dc4150d233edf09a949b2dbdf65058ecc)
@@ -27,5 +27,5 @@
 
 // special case for calo towers
-template<> DelphesBranchElement<DelphesCaloData>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color):DelphesBranchBase(name, branch, color) {
+template<> DelphesBranchElement<DelphesCaloData>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color, Float_t maxPt):DelphesBranchBase(name, branch, color, maxPt) {
     data_ = new DelphesCaloData(2);
     data_->RefSliceInfo(0).Setup("ECAL", 0.1, kRed);
@@ -49,5 +49,5 @@
 
 // special case for element lists
-template<> DelphesBranchElement<TEveElementList>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color):DelphesBranchBase(name, branch, color) {
+template<> DelphesBranchElement<TEveElementList>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color, Float_t maxPt):DelphesBranchBase(name, branch, color, maxPt) {
     data_ = new TEveElementList(name);
     data_->SetMainColor(color_);
@@ -78,8 +78,6 @@
     TEveArrow *eveMet;
     // Missing Et
-    Double_t maxPt = 50.;
-    // TODO to be changed as we don't have access to maxPt anymore. MET scale could be a general parameter set in GUI
     while((MET = (MissingET*) itMet.Next())) {
-      eveMet = new TEveArrow((tkRadius_ * MET->MET/maxPt)*cos(MET->Phi), (tkRadius_ * MET->MET/maxPt)*sin(MET->Phi), 0., 0., 0., 0.);
+      eveMet = new TEveArrow((tkRadius_ * MET->MET/maxPt_)*cos(MET->Phi), (tkRadius_ * MET->MET/maxPt_)*sin(MET->Phi), 0., 0., 0., 0.);
       eveMet->SetMainColor(GetColor());
       eveMet->SetTubeR(0.04);
@@ -95,5 +93,5 @@
 
 // special case for track lists
-template<> DelphesBranchElement<TEveTrackList>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color):DelphesBranchBase(name, branch, color) {
+template<> DelphesBranchElement<TEveTrackList>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color, Float_t maxPt):DelphesBranchBase(name, branch, color, maxPt) {
   data_ = new TEveTrackList(name);
   data_->SetMainColor(color_);
@@ -185,4 +183,5 @@
     GenParticle *particle;
     while((particle = (GenParticle *) itTrack.Next())) {
+      if(particle->Status != 1) continue;
       TParticle pb(particle->PID, particle->Status, particle->M1, particle->M2, particle->D1, particle->D2,
                    particle->P4().Px(), particle->P4().Py(),
Index: display/DelphesBranchElement.h
===================================================================
--- display/DelphesBranchElement.h	(revision 8b04b31e4c2aa65af07503f648c46d00a7598872)
+++ display/DelphesBranchElement.h	(revision 2ca23b5dc4150d233edf09a949b2dbdf65058ecc)
@@ -34,5 +34,5 @@
 {
   public:
-    DelphesBranchBase(const char* name="", TClonesArray* branch=NULL, const enum EColor color=kBlack):name_(name),branch_(branch),color_(color) {}
+    DelphesBranchBase(const char* name="", TClonesArray* branch=NULL, const enum EColor color=kBlack, Float_t maxPt=50.):name_(name),branch_(branch),color_(color) {}
     virtual ~DelphesBranchBase() {}
     const char* GetName() const { return (const char*)name_; }
@@ -46,4 +46,5 @@
   protected:
     TString name_;
+    Float_t maxPt_;
     TClonesArray* branch_;
     const enum EColor color_;
@@ -56,5 +57,5 @@
   public:
     // constructor
-    DelphesBranchElement(const char* name="", TClonesArray* branch=NULL, const enum EColor color=kBlack):DelphesBranchBase(name, branch, color) {
+    DelphesBranchElement(const char* name="", TClonesArray* branch=NULL, const enum EColor color=kBlack, Float_t maxPt=50.):DelphesBranchBase(name, branch, color, maxPt) {
       throw std::exception();
     }
@@ -85,15 +86,15 @@
 
 // special case for calo towers
-template<> DelphesBranchElement<DelphesCaloData>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color);
+template<> DelphesBranchElement<DelphesCaloData>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color, Float_t maxPt);
 template<> void DelphesBranchElement<DelphesCaloData>::Reset();
 template<> void DelphesBranchElement<DelphesCaloData>::ReadBranch();
 
 // special case for element lists
-template<> DelphesBranchElement<TEveElementList>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color);
+template<> DelphesBranchElement<TEveElementList>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color, Float_t maxPt);
 template<> void DelphesBranchElement<TEveElementList>::Reset();
 template<> void DelphesBranchElement<TEveElementList>::ReadBranch();
 
 // special case for track lists
-template<> DelphesBranchElement<TEveTrackList>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color);
+template<> DelphesBranchElement<TEveTrackList>::DelphesBranchElement(const char* name, TClonesArray* branch, const enum EColor color, Float_t maxPt);
 template<> void DelphesBranchElement<TEveTrackList>::SetTrackingVolume(Float_t r, Float_t l, Float_t Bz);
 template<> void DelphesBranchElement<TEveTrackList>::Reset();
Index: display/DelphesEventDisplay.cc
===================================================================
--- display/DelphesEventDisplay.cc	(revision 8b04b31e4c2aa65af07503f648c46d00a7598872)
+++ display/DelphesEventDisplay.cc	(revision 2ca23b5dc4150d233edf09a949b2dbdf65058ecc)
@@ -45,6 +45,9 @@
 #include "TRootBrowser.h"
 #include "TGButton.h"
+#include "TRootEmbeddedCanvas.h"
 #include "TClonesArray.h"
 #include "TEveEventManager.h"
+#include "TCanvas.h"
+#include "TH1F.h"
 
 DelphesEventDisplay::DelphesEventDisplay()
@@ -81,4 +84,5 @@
    // initialize the application
    TEveManager::Create(kTRUE, "IV");
+   fStatusBar_ = gEve->GetBrowser()->GetStatusBar();
    TGeoManager* geom = gGeoManager;
 
@@ -108,5 +112,5 @@
 
    // Create object of class ExRootTreeReader
-   printf("*** Opening Delphes data file ***\n");
+   fStatusBar_->SetText("Opening Delphes data file", 1);
    treeReader_ = new ExRootTreeReader(chain_);
 
@@ -150,4 +154,5 @@
 
    //ready...
+   fStatusBar_->SetText("Ready.", 1);
    load_event();
    gEve->Redraw3D(kTRUE);   
@@ -235,6 +240,6 @@
    if(event_id_ >= treeReader_->GetEntries() || event_id_<0 ) return;
 
-   //TODO move this to the status bar ???
-   printf("Loading event %d.\n", event_id_);
+   // message
+   fStatusBar_->SetText(Form("Loading event %d.", event_id_), 1);
 
    // clear the previous event
@@ -257,6 +262,8 @@
    delphesDisplay_->ImportEventRhoZ(top);
    update_html_summary();
+   //TODO: update plot tab (show current event on top)
 
    gEve->Redraw3D(kFALSE, kTRUE);
+   fStatusBar_->SetText(Form("Loaded event %d.", event_id_), 1);
 }
 
@@ -370,6 +377,43 @@
    TEveWindowFrame *wf = slot->MakeFrame(gHtml_);
    gHtml_->MapSubwindows();
-   wf->SetElementName("Summary");
-
-}
-
+   wf->SetElementName("Summary tables");
+
+   // plot tab
+   slot = TEveWindow::CreateWindowInTab(gEve->GetBrowser()->GetTabRight());
+   TEveWindowTab* tab = slot->MakeTab();
+   tab->SetElementName("Summary plots");
+   tab->SetShowTitleBar(kFALSE);
+   plotSummary_ = new DelphesPlotSummary(tab);
+   plotSummary_->Init(elements_);
+   plotSummary_->FillSample(treeReader_); //TODO later, control it via a GUI button.
+   plotSummary_->FillEvent(); //TODO later move to event loop
+
+   //for test
+   TH1F* h;
+   TRootEmbeddedCanvas* trec;
+   TCanvas* gCanvas_;
+
+   slot = tab->NewSlot();
+   trec = new TRootEmbeddedCanvas();
+   gCanvas_ = trec->GetCanvas();
+   wf = slot->MakeFrame(trec);
+   wf->SetElementName("Tracks");
+   h = new TH1F("tracks","tracks",100,0,100);
+   gCanvas_->cd();
+   h->Draw();
+
+   slot = tab->NewSlot();
+   trec = new TRootEmbeddedCanvas();
+   gCanvas_ = trec->GetCanvas();
+   wf = slot->MakeFrame(trec);
+   wf->SetElementName("Electrons");
+   h = new TH1F("electrons","electrons",100,0,100);
+   gCanvas_->cd();
+   h->Draw();
+ 
+   // TODO: here we have, for each collection, Pt,Eta,Phi for all, leading, subleading
+   // for each event, we will then add a marker with the current value and/or a histo for current event.
+   // this means to create one tab with subtabs (one per collection). 
+
+}
+
Index: display/DelphesEventDisplay.h
===================================================================
--- display/DelphesEventDisplay.h	(revision 8b04b31e4c2aa65af07503f648c46d00a7598872)
+++ display/DelphesEventDisplay.h	(revision 2ca23b5dc4150d233edf09a949b2dbdf65058ecc)
@@ -26,8 +26,10 @@
 #include "display/Delphes3DGeometry.h"
 #include "display/DelphesHtmlSummary.h"
+#include "display/DelphesPlotSummary.h"
 #include "TChain.h"
 #include "TAxis.h"
 #include "TGHtml.h"
 #include "TClonesArray.h"
+#include "TGStatusBar.h"
 
 /*
@@ -61,4 +63,6 @@
     DelphesHtmlSummary *htmlSummary_;
     TGHtml *gHtml_;
+    DelphesPlotSummary *plotSummary_;
+    TGStatusBar* fStatusBar_;
 
     // gui controls
Index: display/DelphesPlotSummary.cc
===================================================================
--- display/DelphesPlotSummary.cc	(revision 2ca23b5dc4150d233edf09a949b2dbdf65058ecc)
+++ display/DelphesPlotSummary.cc	(revision 2ca23b5dc4150d233edf09a949b2dbdf65058ecc)
@@ -0,0 +1,11 @@
+#include "display/DelphesPlotSummary.h"
+
+DelphesPlotSummary::DelphesPlotSummary(TEveWindowTab* tab) {}
+
+DelphesPlotSummary::~DelphesPlotSummary() {}
+
+void DelphesPlotSummary::Init(std::vector<DelphesBranchBase*>& elements) {}
+
+void DelphesPlotSummary::FillSample(ExRootTreeReader* treeReader) {}
+
+void DelphesPlotSummary::FillEvent() {}
Index: display/DelphesPlotSummary.h
===================================================================
--- display/DelphesPlotSummary.h	(revision 2ca23b5dc4150d233edf09a949b2dbdf65058ecc)
+++ display/DelphesPlotSummary.h	(revision 2ca23b5dc4150d233edf09a949b2dbdf65058ecc)
@@ -0,0 +1,30 @@
+#ifndef DelphesPlotSummary_h
+#define DelphesPlotSummary_h
+
+#include <vector>
+#include <map>
+#include "TString.h"
+#include "TH1F.h"
+#include "TCanvas.h"
+#include "TEveWindow.h"
+#include "DelphesBranchElement.h"
+#include "external/ExRootAnalysis/ExRootTreeReader.h"
+
+class DelphesPlotSummary
+{
+  public:
+    DelphesPlotSummary(TEveWindowTab* tab);
+    virtual ~DelphesPlotSummary();
+    void Init(std::vector<DelphesBranchBase*>& elements);
+    void FillSample(ExRootTreeReader* treeReader);
+    void FillEvent();
+
+  private:
+    TEveWindowTab* tab_;
+    std::vector<TCanvas*> canvases;
+    std::map< TString, std::vector<TH1F*> > histograms;
+
+};
+
+#endif // DelphesPlotSummary_h
+
