diff --git a/core/eventdisplay/CbmEvDisTracks.cxx b/core/eventdisplay/CbmEvDisTracks.cxx
index 67fcdde0a2d0abec8b7eb5b87bdf198f6f58df33..8064594eeea94546ab3a6913b6ad75746dcf7089 100644
--- a/core/eventdisplay/CbmEvDisTracks.cxx
+++ b/core/eventdisplay/CbmEvDisTracks.cxx
@@ -27,6 +27,8 @@
 #include <TEveTrackPropagator.h>  // for TEveTrackPropagator
 #include <TEveVSDStructs.h>       // for TEveRecTrack
 #include <TEveVector.h>           // for TEveVector, TEveVectorT
+#include <TGLAnnotation.h>
+#include <TGLViewer.h>
 #include <TGenericClassInfo.h>    // for TGenericClassInfo
 #include <TObjArray.h>            // for TObjArray
 #include <TParticle.h>            // for TParticle
@@ -37,6 +39,9 @@
 ClassImp(CbmEvDisTracks);
 CbmEvDisTracks* CbmEvDisTracks::fInstance = 0;
 
+static TGLAnnotation* anne;
+static TGLAnnotation* annt;
+
 // -----   Default constructor   -------------------------------------------
 CbmEvDisTracks::CbmEvDisTracks()
   : FairTask("CbmEvDisTracks", 0)
@@ -117,6 +122,7 @@ void CbmEvDisTracks::Exec(Option_t* option) {
     Reset();
 
     LOG(debug4) << " CbmEvDisTracks:: NTrks " << fTrackList->GetEntries();
+    Int_t TMul[10]={10*0};  //FIXME - don't use constants in code
 
     for (Int_t iOpt = 0; iOpt < 2; iOpt++)
       for (Int_t i = 0; i < fTrackList->GetEntriesFast(); i++) {
@@ -126,6 +132,7 @@ void CbmEvDisTracks::Exec(Option_t* option) {
         Int_t Np = tr->GetNofHits();
 
 #if TOFDisplay == 1  //List for TEvePointSets
+        if(iOpt==0) TMul[Np]++;
         fPSList = GetPSGroup(Np, iOpt);
 #endif
 
@@ -202,9 +209,9 @@ void CbmEvDisTracks::Exec(Option_t* option) {
           switch (iOpt) {
             case 0:
               point = tr->GetPoint(
-                n);  //pointer to membervaribale so GetFitPoint() would also change GetPoint()
+                n);  //pointer to member variable so GetFitPoint() would also change GetPoint()
 #if TOFDisplay == 1
-              // follwing belongs to filling and labeling of PointSetArray
+              // following belongs to filling and labeling of PointSetArray
               psa->Fill(point[0], point[1], point[2], n + 1);
               hit   = tr->GetTofHitPointer(n);
               res_x = (point[0] - tr->GetFitX(point[2])) / hit->GetDx();
@@ -258,6 +265,22 @@ void CbmEvDisTracks::Exec(Option_t* option) {
     }
     fEventManager->SetEvtMaxEnergy(MaxEnergyLimit);
     fEventManager->SetEvtMinEnergy(MinEnergyLimit);
+
+    TString cEventInfo=Form("ev# %d ",fEventManager->GetCurrentEvent());
+    TString cTrackInfo="trkl mul: "; // to be completed while building the display
+    for (Int_t i=9; i>0; i--) if(TMul[i]>0)  cTrackInfo += Form("M%d %d/",i,TMul[i]);
+
+    TGLViewer* v = gEve->GetDefaultGLViewer();
+
+    if(NULL != anne) anne->SetText(cEventInfo);
+    else             anne = new TGLAnnotation(v,cEventInfo,0.01,0.95);
+    if(NULL != annt) annt->SetText(cTrackInfo);
+    else             annt = new TGLAnnotation(v,cTrackInfo,0.01,0.92);
+    anne->SetTextSize(0.03);// % of window diagonal
+    annt->SetTextSize(0.03);// % of window diagonal
+    anne->SetTextColor(4);
+    annt->SetTextColor(4);
+
     gEve->Redraw3D(kFALSE);
     //gEve->DoRedraw3D();
     //gEve->Redraw3D(kTRUE);
diff --git a/core/eventdisplay/CbmPointSetArray.cxx b/core/eventdisplay/CbmPointSetArray.cxx
index 27297097408f6379547e12ba62b08235ed319ec5..c561d8fefa6930c44c54210cd28ae800f4817ae1 100644
--- a/core/eventdisplay/CbmPointSetArray.cxx
+++ b/core/eventdisplay/CbmPointSetArray.cxx
@@ -71,9 +71,9 @@ void CbmPointSetArray::FillValues(Int_t id,
 void CbmPointSetArray::ApplyColorMode() {
   //parameters needed for color-calculation
   Double_t binTime =
-    3.5;  // ns    max. length of one particle passing through detector
+    12.;  // ns    max. length of one particle passing through detector
   Double_t binCol =
-    35;  // green ->allows for visual distinction of a track-time
+    35.;  // green ->allows for visual distinction of a track-time
   Double_t eveTime = 50;  // 50ns Event Length
   Double_t binToT =
     20;  // a.u.  max. ToT of hit in arbitray units (aka calibrated to mean of 5)
@@ -81,6 +81,8 @@ void CbmPointSetArray::ApplyColorMode() {
     1, 0);  //rainbow color palette with 50 colors from purple to red
   Int_t nCol = TColor::GetNumberOfColors();
 
+  LOG(info) << "ApplyColorMode " << fColorMode << " with " << nCol << " colors";
+
   for (Int_t id = 0; id < fNPoints; id++) {
     switch (fColorMode) {
       case 1:  //according to hit-time
@@ -98,6 +100,8 @@ void CbmPointSetArray::ApplyColorMode() {
                                                        * (nCol - binCol - 1)
                                                        / (eveTime - binTime)));
         }
+        LOG(info) << "Color for id " << id << ", ind " << fIndex[id] << ", t "<<fTime[id]<<": " << this->GetBin(fIndex[id])->GetMainColor();
+
         break;
       case 2:  //according to Tot of hit
         // color calculated to represent ToT. high ToT -> yellow and red . low ToT -> purple and blue. max.ToT = binToT
diff --git a/core/eventdisplay/CbmPointSetArrayDraw.cxx b/core/eventdisplay/CbmPointSetArrayDraw.cxx
index bf91590ee65a3c73f4682076c8b5346fde5ff401..d796c589363b312ec15600594cde05c24e12b072 100644
--- a/core/eventdisplay/CbmPointSetArrayDraw.cxx
+++ b/core/eventdisplay/CbmPointSetArrayDraw.cxx
@@ -142,11 +142,7 @@ Int_t CbmPointSetArrayDraw::GetClusterSize(TObject* obj) {
   CbmTofHit* p     = (CbmTofHit*) obj;
   Double_t cluSize = p->GetFlag();
   //Flag= #digis = 2*cluSize  +100 if used for track
-  if (cluSize > 100) {
-    cluSize = (cluSize - 100) / 2;
-  } else {
-    cluSize /= 2;
-  }
+  cluSize=((int)cluSize%100)/2;
   LOG(debug3) << "-I- CbmPointSetArrayDraw::GetClusterSize(): " << cluSize;
   return cluSize;
 }