Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 1745)
+++ trunk/MagicSoft/Mars/Changelog	(revision 1746)
@@ -1,4 +1,19 @@
 
                                                          -*-*- END -*-*-
+ 2003/02/07: Antonio Stamerra 
+
+    * manalisys/MTrigLvl2.[cc|h]
+      - added new function 
+	MTrigLvl2::GetLutCompactPixel(int cell, int lut, int neighpix=2) 
+	which calculates the number of compact pixel in one lut 
+      - added new function GetLutPseudoSize(int neighpix=2) which calculates
+	the lut-pseudosize 
+      - added static data member pixel_in_lut
+      - merging of the PrintCell and PrintStatus functions in a single 
+	Print(int cell) function	
+      - Added comments using the standard layout
+      - some small changes following Thomas comments (memset, *fLog) 	
+
+
  2003/02/06: Thomas Bretz
 
Index: trunk/MagicSoft/Mars/manalysis/MTrigLvl2.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MTrigLvl2.cc	(revision 1745)
+++ trunk/MagicSoft/Mars/manalysis/MTrigLvl2.cc	(revision 1746)
@@ -1,17 +1,51 @@
-/*###########################################################################
-  #
-  #  This file is part of MTrigLvl2 simulation toolkit for simulating the 
-  #  MAGIC Second Level Trigger	
-  #                                           e-mail:  stamerra@pi.infn.it 
-  #                                                    marcos@gae.ucm.es    #
-  #                                             date:  January 2003         #
-  #                                          version:  0.1                  #
-  ###########################################################################*/
+/* ======================================================================== *\
+!
+! *
+! * This file is part of MARS, the MAGIC Analysis and Reconstruction
+! * Software. It is distributed to you in the hope that it can be a useful
+! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
+! * It is distributed WITHOUT ANY WARRANTY.
+! *
+! * Permission to use, copy, modify and distribute this software and its
+! * documentation for any purpose is hereby granted without fee,
+! * provided that the above copyright notice appear in all copies and
+! * that both that copyright notice and this permission notice appear
+! * in supporting documentation. It is provided "as is" without express
+! * or implied warranty.
+! *
+!
+!
+!   Author(s): Antonio Stamerra  1/2003 <mailto:antono.stamerra@pi.infn.it>
+!   Author(s): Marcos Lopez 1/2003 <mailto:marcos@gae.ucm.es>
+!
+!   Copyright: MAGIC Software Development, 2000-2003
+!
+!
+\* ======================================================================== */
+
+/////////////////////////////////////////////////////////////////////////////
+//                                                                         //
+// MTrigLvl2                                                               //
+//   Storage container for the 2nd level trigger selection parameters      //
+//    as part of the 2nd level trigger simulation                          //
+//                                                                         //
+//   (preliminary version)                                                 //
+//                                                                         //
+// Basic L2T Selection Parameters:                                         //
+//                                                                         //
+//    LutPseudoSize       number of compact pixels in one LUT              //
+//                                                                         //
+/////////////////////////////////////////////////////////////////////////////
 
 #include "MTrigLvl2.h"
-#include <iostream.h>
+
 #include "MGeomCamMagic.h"
 #include "MCamDisplay.h"
+
 #include "MMcTrig.hxx"
+
+#include <fstream.h>
+#include "MLog.h"
+
 #include <TCanvas.h>
 
@@ -21,9 +55,9 @@
 
 //
-// Correspondence TABLE between pixel numbering in the trigger celss and
+// Correspondence TABLE between pixel numbering in the trigger cells and
 // the standard spiral counting 
-// (Notice: Pixels start to count from 1 instead of 0)
-//
-const Float_t pixels_in_cell[36][19] = {
+// (Note: Pixels start to count from 1 instead of 0)
+//
+static const Int_t pixels_in_cell[36][19] = {
 {26,  91,  66,  71,  76,  81,  86,  269,  224,  233,  242,  251,  260,  391,  336,  347,  358,	369,  380},
 {25,  61,  41,  45,  49,  53,  57,  215,  175,  183,  191,  199,  207,  325,  275,  285,  295,  305,  315},
@@ -64,9 +98,17 @@
  };
 
-
-/******************************************************************************
- * Default constructor
- *
- *****************************************************************************/
+//
+// corrispondence between pixels in cell and lut (pix numbering starts from 1)
+//
+static const Int_t pixels_in_lut[3][12] = {
+{ 1,  2,  3,  4,  6,  7,  8,  9, 12, 13, 14, 15},
+{34, 29, 23, 16, 30, 24, 17, 10, 25, 18, 11,  5},
+{35, 31, 26, 20, 19, 32, 27, 21, 36, 33, 28, 22},
+  };
+
+// --------------------------------------------------------------------------
+//
+//  Default constructor
+//
 MTrigLvl2::MTrigLvl2(const char *name, const char *title)
 {
@@ -74,72 +116,54 @@
   fTitle = title;
 
-  cout << "created MTrigLvl2" << endl;
-
-  //
-  // Initialization of the fPixels array to cero
-  //
- for(int i=0; i<36; i++){
-    for(int j=0; j<19; j++){
-	fPixels[i][j]=0;
-    }
-  }
-}
-
-
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Print Functions
-//
-///////////////////////////////////////////////////////////////////////////////
-
-/******************************************************************************
- * Just print out the pixels containg in a given trigger cell
- *
- *****************************************************************************/
-void MTrigLvl2::PrintCell(Int_t cell)
-{
-   for (int i=0;i<36;i++)
-    {
-      cout << pixels_in_cell[i][cell]-1 << endl;
-    }
-}
-
-/******************************************************************************
- * Print a table with the staus (pixel is fired or not after Lvl1) for all
- * the pixels in all the trigger cells
- *
- *****************************************************************************/
-void MTrigLvl2::PrintStatus()
-{
-  for(int i=0; i<36; i++){
-    for(int j=0; j<9; j++){
-      cout.width(3);
-      cout << pixels_in_cell[i][j]-1 << ":" << fPixels[i][j]  << " ";
-    } 
-    cout << endl;
-  }
-}
-
-
-
-
-
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Set Functions
-//
-///////////////////////////////////////////////////////////////////////////////
-
-/******************************************************************************
- *
- * Take the information supplied by the Lvl1 (it reads from the object MMcTrig
- * i the status of all pixels after Lvl1) and pass it to the Lvl2 (fill the 
- * array fPixels)
- *
- *****************************************************************************/
+  *fLog << "created MTrigLvl2" << endl;
+
+  //
+  // Initialization of the fPixels array to zero
+  //
+  memset (fPixels,0,36*19);
+
+}
+
+// --------------------------------------------------------------------------
+//  
+//  Print functions for debugging and testing
+//
+//    
+// Print out the pixel number of a given trigger cell
+//
+// Print a table with the status (pixel is fired or not after Lvl1) for all
+// the pixels in all the trigger cells
+//
+void MTrigLvl2::Print(Int_t cell) const
+{
+  if (cell >-1) {
+    for (int i=0;i<36;i++)
+      {
+	*fLog << pixels_in_cell[i][cell]-1 << endl;
+      }
+  }
+  else {
+    for(int i=0; i<36; i++){
+      for(int j=0; j<9; j++){
+	//      *fLog.width(3);
+	*fLog << pixels_in_cell[i][j]-1 << ":" << fPixels[i][j]  << "\t ";
+      } 
+      *fLog << endl;
+    }
+  }
+}
+
+// --------------------------------------------------------------------------
+//
+// Take the information supplied by the Lvl1 (it reads from the object MMcTrig
+// i the status of all pixels after Lvl1) and pass it to the Lvl2 (fill the 
+// array fPixels)
+//
+//
 void MTrigLvl2::SetLv1(MMcTrig *trig)
 {
+  if (!trig)
+    return;
+
   fMcTrig = trig;
 
@@ -155,9 +179,10 @@
 
 
-/******************************************************************************
- * Set the trigger status ( pixel fired(=1) or not(=0) ) manually for a given
- * pixel of a given cell
- *
- *****************************************************************************/
+// --------------------------------------------------------------------------
+//
+// Set the trigger status ( pixel fired(=1) or not(=0) ) manually for a given
+// pixel of a given cell
+//
+//
 void MTrigLvl2::SetPixelFired(Int_t pixel, Int_t fired)
 {
@@ -170,16 +195,9 @@
 
 
-
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Graphical display Functions
-//
-///////////////////////////////////////////////////////////////////////////////
-
-/******************************************************************************
- * Display the MAGIC Camera a draw the pixels corresponding to a given cell
- *
- *****************************************************************************/
+// --------------------------------------------------------------------------
+//
+//  Display the MAGIC Camera a draw the pixels corresponding to a given cell
+//  (preliminary)   <to be fixed>
+//
 void MTrigLvl2::DrawCell(Int_t cell)
 {
@@ -220,8 +238,10 @@
 
 
-/******************************************************************************
- * Display the MAGIC camera and draw all the pixel fired after Lvl1
- *
- *****************************************************************************/
+// --------------------------------------------------------------------------
+//
+//  Display the MAGIC camera and draw all the pixel fired after Lvl1
+//  (preliminary)   <to be fixed>
+// 
+//
 void MTrigLvl2::DrawLv1()
 {
@@ -263,16 +283,8 @@
 }
 
-
-
-///////////////////////////////////////////////////////////////////////////////
-//
-//  Implementation of the Lv2l selection strategies
-//
-///////////////////////////////////////////////////////////////////////////////
-
-/******************************************************************************
- * For a given cell, just count how many pixels have been fired after Lvl1
- *
- *****************************************************************************/
+// --------------------------------------------------------------------------
+//  
+// For a given cell, just count how many pixels have been fired after Lvl1
+//
 Int_t MTrigLvl2::GetCellNumberFired(int cell)
 {
@@ -288,8 +300,9 @@
 
 
-/******************************************************************************
- * Find the cell which the bigger number of fired pixels
- *
- *****************************************************************************/
+// --------------------------------------------------------------------------
+//  
+//  Find the cell which the bigger number of fired pixels
+// 
+//
 Int_t MTrigLvl2::GetBiggerFiredCell()
 {
@@ -304,5 +317,5 @@
   }
 
-  cout << "size " <<size <<" in cell " << cell << endl;
+  *fLog << "size " <<size <<" in cell " << cell << endl;
 
   return cell;
@@ -310,4 +323,260 @@
 }
 
-
-
+// --------------------------------------------------------------------------
+//  
+// Calculate the LutPseudoSize of one event, defined as the higher number
+//   of compact pixel in the Luts of the trigger cells.
+//  neighpix is the number of Next-Neighbors which defines the compact pixel
+//    topology (it can be 2-NN or 3-NN)
+//
+//
+Int_t MTrigLvl2::GetLutPseudoSize(int neighpix)
+{
+  int size=0;
+  int cell=-1;
+  int lut=-1;
+ 
+  if (neighpix >3 || neighpix < 2) return(0);
+
+  for(int j=0; j<19; j++){
+    for(int i=0; i<3; i++){
+      if (GetLutCompactPixel(j,i,neighpix) > size) {
+	size = GetLutCompactPixel(j,i,neighpix);
+	cell = j;
+	lut = i;
+      }      
+    }
+  }
+
+  *fLog <<"Max cell: " << cell+1 << "  Max Lut: " << lut+1 << "  PseudoSize: " << size <<endl;
+
+  fLutPseudoSize = size;
+
+  return fLutPseudoSize;
+}
+
+
+// --------------------------------------------------------------------------
+//  
+// Identify compact pixels in one LUT and calculate the LutPseudoSize 
+//   (=number of compact pixels in one LUT)
+//  neighpix is the number of Next-Neighbors which defines the compact pixel
+//    topology (it can be 2NN or 3NN)
+//
+Int_t MTrigLvl2::GetLutCompactPixel(int cell, int lut, int neighpix)
+{
+  int size=0;
+  int lutpix, a[12]; 
+
+  if (neighpix >3 || neighpix < 2) return(0);
+
+  // LUT 1 and 2 are similar; LUT 3 differs
+  
+  for(int j=0; j<12; j++){
+    lutpix = pixels_in_lut[lut][j]-1;
+    //    *fLog << "j=" <<j<<"  lutpix="<<lutpix<<"  Cell="<<cell<<endl;
+    a[j] = fPixels[lutpix][cell]; 
+  }
+
+  //
+  // Look for compact pixels 2NN
+  //
+  if (neighpix==2){
+    
+    //  case Lut 1 and 2
+    if (lut == 0 || lut == 1){
+      if (a[0] && a[1] && a[4])
+	size ++;
+      if (a[1] && ((a[0] && a[4]) || 
+		   (a[4] && a[5]) || 
+		   (a[5] && a[2]) )) 
+	size ++;
+      if (a[2] && ((a[1] && a[5]) || 
+		   (a[5] && a[6]) || 
+		   (a[6] && a[3]) )) 
+	size ++;
+      if (a[3] && ((a[2] && a[6]) || 
+		   (a[6] && a[7]) )) 
+	size ++;
+      if (a[4] && ((a[0] && a[1]) || 
+		   (a[1] && a[5]) || 
+		   (a[5] && a[8]) )) 
+	size ++;
+      if (a[5] && ((a[1] && a[2]) || 
+		   (a[2] && a[6]) || 
+		   (a[6] && a[9]) || 
+		   (a[9] && a[8]) || 
+		   (a[8] && a[4]) || 
+		   (a[4] && a[1]) )) 
+	size ++;
+      if (a[6] && ((a[2] && a[3]) || 
+		   (a[3] && a[7]) || 
+		   (a[7] && a[10]) || 
+		   (a[10] && a[9]) || 
+		   (a[9] && a[5]) || 
+		   (a[5] && a[2]) )) 
+	size ++;
+      if (a[7] && ((a[3] && a[6]) || 
+		   (a[6] && a[10]) || 
+		   (a[10] && a[11]) )) 
+	size ++;
+      if (a[8] && ((a[4] && a[5]) || 
+		   (a[5] && a[9]) )) 
+	size ++;
+      if (a[9] && ((a[8] && a[5]) || 
+		   (a[5] && a[6]) || 
+		   (a[6] && a[10]) )) 
+	size ++;
+      if (a[10] && ((a[9] && a[6]) || 
+		    (a[6] && a[7]) || 
+		    (a[7] && a[11]) )) 
+	size ++;
+      if (a[11] && a[7] && a[10]) 
+	size ++;
+    }
+
+  //  case Lut 3
+    if (lut==2) {
+      if (a[0] && a[1] && a[5])
+	size ++;
+      if (a[1] && ((a[0] && a[5]) || 
+		   (a[5] && a[2]) )) 
+	size ++;
+      if (a[2] && ((a[1] && a[5]) || 
+		   (a[5] && a[6]) || 
+		   (a[3] && a[4]) || 
+		   (a[6] && a[3]) )) 
+	size ++;
+      if (a[3] && ((a[2] && a[6]) || 
+		   (a[6] && a[7]) || 
+		   (a[2] && a[4]) )) 
+	size ++;
+      if (a[4] && ((a[2] && a[3]) )) 
+	size ++;
+      if (a[5] && ((a[1] && a[2]) || 
+		   (a[2] && a[6]) || 
+		   (a[6] && a[9]) || 
+		   (a[9] && a[8]) )) 
+	size ++;
+      if (a[6] && ((a[2] && a[3]) || 
+		   (a[3] && a[7]) || 
+		   (a[7] && a[10]) || 
+		   (a[10] && a[9]) || 
+		   (a[9] && a[5]) || 
+		   (a[5] && a[2]) )) 
+	size ++;
+      if (a[7] && ((a[3] && a[6]) || 
+		   (a[6] && a[10]) || 
+		   (a[10] && a[11]) )) 
+	size ++;
+      if (a[8] && a[5] && a[9]) 
+	size ++;
+      if (a[9] && ((a[8] && a[5]) || 
+		   (a[5] && a[6]) || 
+		   (a[6] && a[10]) )) 
+	size ++;
+      if (a[10] && ((a[9] && a[6]) || 
+		    (a[6] && a[7]) || 
+		    (a[7] && a[11]) )) 
+	size ++;
+      if (a[11] && a[7] && a[10]) 
+	size ++;    
+    }
+  }
+
+  //
+  // Look for compact pixels 3NN 
+  //
+  if (neighpix==3){
+
+    //  case Lut 1 and 2
+    if (lut == 0 || lut == 1){
+      if (a[0] && a[1] && a[4] && a[5]) // pix 0 is compact if there is a 4NN
+	size ++;
+      if (a[1] && ((a[0] && a[4] && a[5]) || 
+		   (a[2] && a[4] && a[5]) )) 
+	size ++;
+      if (a[2] && ((a[1] && a[5] && a[6]) || 
+		   (a[5] && a[6] && a[3]) )) 
+	size ++;
+      if (a[3] && (a[2] && a[6] && a[7] ))  
+	size ++;
+      if (a[4] && ((a[0] && a[1] && a[5]) || 
+		   (a[1] && a[5] && a[8]) )) 
+	size ++;
+      if (a[5] && ((a[1] && a[2] && a[6]) || 
+		   (a[2] && a[6] && a[9]) || 
+		   (a[6] && a[9] && a[8]) || 
+		   (a[9] && a[8] && a[4]) || 
+		   (a[8] && a[4] && a[1]) || 
+		   (a[4] && a[1] && a[2]) )) 
+	size ++;
+      if (a[6] && ((a[2] && a[3] && a[7]) || 
+		   (a[3] && a[7] && a[10]) || 
+		   (a[7] && a[10] && a[9]) || 
+		   (a[10] && a[9] && a[5]) || 
+		   (a[9] && a[5] && a[2]) || 
+		   (a[5] && a[2] && a[3]) )) 
+	size ++;
+      if (a[7] && ((a[3] && a[6] && a[10]) || 
+		   (a[6] && a[10] && a[11]) )) 
+	size ++;
+      if (a[8] && (a[4] && a[5] && a[9] )) 
+	size ++;
+      if (a[9] && ((a[8] && a[5] && a[6]) || 
+		   (a[5] && a[6] && a[10]) )) 
+	size ++;
+      if (a[10] && ((a[9] && a[6] && a[7]) || 
+		    (a[6] && a[7] && a[11]) )) 
+	size ++;
+      if (a[11] && a[7] && a[10] && a[6]) //pix 0 is compact if there is a 4NN
+	size ++;
+    }
+
+    //  case Lut 3
+    if (lut==2) {
+      if (a[0] && a[1] && a[5] && a[8]) // pix 0 is compact if there is a 4NN
+	size ++;
+      if (a[1] && (a[0] && a[5] && a[2])) //pix 0 is compact if there is a 4NN 
+	size ++;
+      if (a[2] && ((a[1] && a[5] && a[6]) || 
+		   (a[3] && a[5] && a[6]) || 
+		   (a[6] && a[3] && a[4]) )) 
+	size ++;
+      if (a[3] && ((a[2] && a[4] && a[6]) || 
+		   (a[2] && a[6] && a[7]) )) 
+	size ++;
+      if (a[4] && (a[2] && a[3] && a[6] )) 
+	size ++;
+      if (a[5] && ((a[1] && a[2] && a[6]) || 
+		   (a[2] && a[6] && a[9]) || 
+		   (a[6] && a[9] && a[8]) )) 
+	size ++;
+      if (a[6] && ((a[2] && a[3] && a[7]) || 
+		   (a[3] && a[7] && a[10]) || 
+		   (a[7] && a[10] && a[9]) || 
+		   (a[10] && a[9] && a[5]) || 
+		   (a[9] && a[5] && a[2]) || 
+		   (a[5] && a[2] && a[3]) )) 
+	size ++;
+      if (a[7] && ((a[3] && a[6] && a[10]) || 
+		   (a[6] && a[10] && a[11]) )) 
+	size ++;
+      if (a[8] && a[5] && a[9] && a[6])  //pix 0 is compact if there is a 4NN
+	size ++;
+      if (a[9] && ((a[8] && a[5] && a[6]) || 
+		   (a[5] && a[6] && a[10]) )) 
+	size ++;
+      if (a[10] && ((a[9] && a[6] && a[7]) || 
+		    (a[6] && a[7] && a[11]) )) 
+	size ++;
+      if (a[11] && a[7] && a[10] && a[6]) //pix 0 is compact if there is a 4NN
+	size ++;
+    }
+  }
+
+  
+  return size;
+}
+
+
Index: trunk/MagicSoft/Mars/manalysis/MTrigLvl2.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MTrigLvl2.h	(revision 1745)
+++ trunk/MagicSoft/Mars/manalysis/MTrigLvl2.h	(revision 1746)
@@ -1,14 +1,8 @@
-/*###########################################################################
-  #
-  #  This file is part of MTrigLvl2 simulation toolkit for simulating the 
-  #  MAGIC Second Level Trigger	
-  #                                           e-mail:  stamerra@pi.infn.it 
-  #                                                    marcos@gae.ucm.es    #
-  #                                             date:  January 2003         #
-  #                                          version:  0.1                  #
-  ###########################################################################*/
+#ifndef MARS_MTrigLvl2
+#define MARS_MTrigLvl2
 
-
+#ifndef MARS_MParContainer
 #include "MParContainer.h"
+#endif
 
 class MMcTrig;
@@ -24,4 +18,7 @@
                           // First index:  pixels index in trigger cell       
                           // Second index: trigger cell number  
+
+  Int_t fLutPseudoSize;  // number of compact pixels in one lut
+
   MMcTrig *fMcTrig;
   MGeomCamMagic *fGeomcam;  
@@ -36,15 +33,19 @@
   void DrawLv1();
 
-  void PrintCell(Int_t cell);
-  void PrintStatus();
+  void Print(Int_t cell=-1) const;
 
-  void SetLv1(MMcTrig *trig); 
-  void SetPixelFired(Int_t pixle, Int_t fired);
+  void SetLv1(MMcTrig *trig = NULL); 
+  void SetPixelFired(Int_t pixel, Int_t fired=1);
  
   Int_t GetCellNumberFired(int cell);
   Int_t GetBiggerFiredCell();
+
+  Int_t GetLutCompactPixel(int cell, int lut, int neighpix=2);
+  Int_t GetLutPseudoSize(int neighpix=2);
   
-  ClassDef(MTrigLvl2,0)
+  ClassDef(MTrigLvl2,0) // Container for 2nd Level Trigger selection parameters
 };
 
+#endif
 
+
Index: trunk/MagicSoft/Mars/manalysis/MTrigLvl2FillTask.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MTrigLvl2FillTask.cc	(revision 1745)
+++ trunk/MagicSoft/Mars/manalysis/MTrigLvl2FillTask.cc	(revision 1746)
@@ -1,2 +1,37 @@
+/* ======================================================================== *\
+!
+! *
+! * This file is part of MARS, the MAGIC Analysis and Reconstruction
+! * Software. It is distributed to you in the hope that it can be a useful
+! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
+! * It is distributed WITHOUT ANY WARRANTY.
+! *
+! * Permission to use, copy, modify and distribute this software and its
+! * documentation for any purpose is hereby granted without fee,
+! * provided that the above copyright notice appear in all copies and
+! * that both that copyright notice and this permission notice appear
+! * in supporting documentation. It is provided "as is" without express
+! * or implied warranty.
+! *
+!
+!
+!   Author(s): Antonio Stamerra  1/2003 <mailto:antono.stamerra@pi.infn.it>
+!   Author(s): Marcos Lopez 1/2003 <mailto:marcos@gae.ucm.es>
+!
+!   Copyright: MAGIC Software Development, 2000-2003
+!
+!
+\* ======================================================================== */
+
+/////////////////////////////////////////////////////////////////////////////
+//                                                                         //
+// MTrigLvl2FillTask                                                       //
+//   This is a task to calculate the 2nd level trigger selection           //
+//   parameters                                                            //
+//                                                                         //
+//  Input containers:                                                      //
+//    MTrigLvl2                                                            //
+//                                                                         //
+/////////////////////////////////////////////////////////////////////////////
 
 #include "MTrigLvl2FillTask.h"
@@ -13,14 +48,13 @@
 
 #include <TH1.h>
-#include <stdio.h>
-#include <iostream.h>
 
 ClassImp(MTrigLvl2FillTask);
 
 
-/******************************************************************************
- * Default constructor
- *
- *****************************************************************************/
+/////////////////////////////////////////////////////////////////////////////
+//                                                                         //
+//  Default constructor
+// 
+//
 MTrigLvl2FillTask::MTrigLvl2FillTask(const char *name, const char *title)
 {
@@ -38,8 +72,9 @@
 
 
-/******************************************************************************
- * PreProcess
- *
- *****************************************************************************/
+/////////////////////////////////////////////////////////////////////////////
+//                                                                         
+//  PreProcess
+//
+//
 Bool_t MTrigLvl2FillTask::PreProcess (MParList *pList)
 {
@@ -71,10 +106,9 @@
 
 
-
-
-/******************************************************************************
- * Process 
- *
- *****************************************************************************/
+/////////////////////////////////////////////////////////////////////////////
+//                                                                         
+//  Process 
+// 
+//
 Bool_t MTrigLvl2FillTask::Process()
 {
@@ -94,9 +128,9 @@
 
 
-
-/******************************************************************************
- * PostProcess : Display the histogram
- *
- *****************************************************************************/
+/////////////////////////////////////////////////////////////////////////////
+//                                                                         
+//  PostProcess : Display the histogram 
+//           !to be fixed: create an histogram class!
+//
 Bool_t MTrigLvl2FillTask::PostProcess()
 { 
Index: trunk/MagicSoft/Mars/manalysis/MTrigLvl2FillTask.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MTrigLvl2FillTask.h	(revision 1745)
+++ trunk/MagicSoft/Mars/manalysis/MTrigLvl2FillTask.h	(revision 1746)
@@ -7,7 +7,10 @@
 
 class MParList;
+
 class MMcEvt;
 class MMcTrig;
+
 class MTrigLvl2;
+
 class TH1F;
 
@@ -34,2 +37,5 @@
 #endif 
 
+
+
+
