]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/AliHLTPHOSSanityInspector.cxx
- added argument to select the task location
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSSanityInspector.cxx
index 53e2de5520d1440a114f0fc4e3631ffccf688344..851805039a08a6fdbd5b46f7c81f8735f3e4f66c 100644 (file)
@@ -1,3 +1,5 @@
+// $Id$
+
 /**************************************************************************
  * This file is property of and copyright by the ALICE HLT Project        * 
  * All rights reserved.                                                   *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
+/** 
+ * @file   AliHLTPHOSSanityInspector.cxx
+ * @author Oystein Djuvsland
+ * @date 
+ * @brief  Sanity inspector for PHOS HLT 
+ */
+
+// see header file for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+
 #include "AliHLTPHOSSanityInspector.h"
-#include "AliHLTAltroData.h"
 #include "Rtypes.h"
 
 ClassImp(AliHLTPHOSSanityInspector);
 
 
 AliHLTPHOSSanityInspector::AliHLTPHOSSanityInspector() : 
-  AliHLTPHOSBase(),
+  //  AliHLTPHOSBase(),
   fMaxDifference(120)
 {
-  //comment
+  //See header file for documentation
 }
 
 
 AliHLTPHOSSanityInspector::~AliHLTPHOSSanityInspector()
 {
-  //comment
+  //See header file for documentation
 }
 
 
+
 Int_t  
-AliHLTPHOSSanityInspector::CheckInsanity(UInt_t* data, Int_t N)
+AliHLTPHOSSanityInspector::CheckInsanity(const UShort_t* data, const Int_t N) const
 {
-   //comment
+   //See header file for documentation
+
   for(Int_t i = 1; i < N; i++)
     {
       if((((Int_t)data[i] - (Int_t)data[i-1]) > fMaxDifference) || (((Int_t)data[i-1] - (Int_t)data[i]) > fMaxDifference))
@@ -46,10 +62,11 @@ AliHLTPHOSSanityInspector::CheckInsanity(UInt_t* data, Int_t N)
   return 0;
 }
 
+/*
 Int_t
 AliHLTPHOSSanityInspector::CheckInsanity(Int_t* data, Int_t N)
 {
-   //comment
+   //See header file for documentation
   for(Int_t i = 1; i < N; i++)
   {
     if((((Int_t)data[i] - (Int_t)data[i-1]) > fMaxDifference) || (((Int_t)data[i-1] - (Int_t)data[i]) > fMaxDifference))
@@ -57,67 +74,37 @@ AliHLTPHOSSanityInspector::CheckInsanity(Int_t* data, Int_t N)
   }
   return 0;
 }
+*/
 
 
 Int_t 
-AliHLTPHOSSanityInspector::CheckAndHealInsanity(UInt_t* data, Int_t N)
-//
+AliHLTPHOSSanityInspector::CheckAndHealInsanity(UShort_t* data, Int_t N)
 {
-   //comment
+   //See header file for documentation
+
   Int_t crazyness = 0;
-  
-  /*  if(((data[0] - data[1]) > fMaxDifference) || ((data[1] - data[0]) > fMaxDifference))
-    {
-      if(((data[1] - data[2]) > fMaxDifference) || ((data[2] - data[1]) > fMaxDifference))
-       {
-         if(((data[2] - data[3]) > fMaxDifference) || ((data[3] - data[2]) > fMaxDifference))
-           {
-             return false;   //To much crazyness!
-           }
-         data[1] = (data[2] + data[0])/2;
-         crazyness++;
-       }
-    }
-  */
+
   if(N > 3)
     {
-      //Require a stable start 
-      if((((Int_t)data[0] - (Int_t)data[1]) > fMaxDifference) || (((Int_t)data[1] - (Int_t)data[0]) > fMaxDifference))
+      if((((Short_t)data[0] - (Short_t)data[1]) > fMaxDifference) || (((Short_t)data[1] - (Short_t)data[0]) > fMaxDifference))
        return -1;
-      if((((Int_t)data[1] - (Int_t)data[2]) > fMaxDifference) || (((Int_t)data[2] - (Int_t)data[1]) > fMaxDifference))
+      if((((Short_t)data[1] - (Short_t)data[2]) > fMaxDifference) || (((Short_t)data[2] - (Short_t)data[1]) > fMaxDifference))
        return -1;
-      /*
-       for(Int_t i = 2; i < altroData->fDataSize - 3; i++)
-       {
-       if(((data[i] - data[i+1]) > fMaxDifference) || ((data[i+1] - data[i]) > fMaxDifference))
-       {
-       if(((data[i+1] - data[i+2]) > fMaxDifference) || ((data[i+2] - data[i+1]) > fMaxDifference))
-       {
-       if(((data[i+2] - data[i+3]) > fMaxDifference) || ((data[i+3] - data[i+2]) > fMaxDifference))
-       {
-       return false;  //To0 crazy
-       }
-       data[i+1] = (data[i+2] + data[i])/2;
-       crazyness++;
-       }
-       else 
-       return false;   
-       }
-       }
-      */
-      for(Int_t i = 2; i < N - 3; i++)
+
+
+      for(Short_t i = 2; i < N - 3; i++)
        {
-         if((((Int_t)data[i] - (Int_t)data[i+1]) > fMaxDifference) || (((Int_t)data[i+1] - (Int_t)data[i]) > fMaxDifference))
+         if((((Short_t)data[i] - (Short_t)data[i+1]) > fMaxDifference) || (((Short_t)data[i+1] - (Short_t)data[i]) > fMaxDifference))
            {
              i++;
-             if((((Int_t)data[i] -(Int_t)data[i+1]) > fMaxDifference) || (((Int_t)data[i+1] - (Int_t)data[i]) > fMaxDifference))
+             if((((Short_t)data[i] -(Short_t)data[i+1]) > fMaxDifference) || (((Short_t)data[i+1] - (Short_t)data[i]) > fMaxDifference))
                {
                  i++;
-                 if((((Int_t)data[i] - (Int_t)data[i+1]) > fMaxDifference) || (((Int_t)data[i+1] - (Int_t)data[i]) > fMaxDifference))
+                 if((((Short_t)data[i] - (Short_t)data[i+1]) > fMaxDifference) || (((Short_t)data[i+1] - (Short_t)data[i]) > fMaxDifference))
                    {
                      return -2;  //Too crazy
                    }
-                 data[i-1] = ((Int_t)data[i] + (Int_t)data[i-2])/2;
+                 data[i-1] = ((Short_t)data[i] + (Short_t)data[i-2])/2;
                  crazyness++;
                }
              else 
@@ -127,23 +114,23 @@ AliHLTPHOSSanityInspector::CheckAndHealInsanity(UInt_t* data, Int_t N)
       
       
       
-      if((((Int_t)data[N - 3] -(Int_t) data[N - 2]) > fMaxDifference) || 
-        (((Int_t)data[N - 2] - (Int_t)data[N - 3]) > fMaxDifference))
+      if((((Short_t)data[N - 3] -(Short_t) data[N - 2]) > fMaxDifference) || 
+        (((Short_t)data[N - 2] - (Short_t)data[N - 3]) > fMaxDifference))
        {
-         if((((Int_t)data[N - 2] - (Int_t)data[N - 1]) > fMaxDifference) || 
-            (((Int_t)data[N - 1] - (Int_t)data[N - 2]) > fMaxDifference))
+         if((((Short_t)data[N - 2] - (Short_t)data[N - 1]) > fMaxDifference) || 
+            (((Short_t)data[N - 1] - (Short_t)data[N - 2]) > fMaxDifference))
            {
-             data[N - 2] = ((Int_t)data[N - 3] +  (Int_t)data[N - 1])/2;
+             data[N - 2] = ((Short_t)data[N - 3] +  (Short_t)data[N - 1])/2;
              return crazyness++;
            }
          return -4;
 
        }
       
-      if((((Int_t)data[N - 2] - (Int_t)data[N - 1]) > fMaxDifference) || 
-        (((Int_t)data[N - 1] - (Int_t)data[N - 2]) > fMaxDifference))
+      if((((Short_t)data[N - 2] - (Short_t)data[N - 1]) > fMaxDifference) || 
+        (((Short_t)data[N - 1] - (Short_t)data[N - 2]) > fMaxDifference))
        {
-         //      (Int_t)data[N - 3] = (Int_t)data[N - 4] -(Int_t) data[N - 5] + (Int_t)data[N-4];
+         //      (Short_t)data[N - 3] = (Short_t)data[N - 4] -(Short_t) data[N - 5] + (Short_t)data[N-4];
          data[N - 1] = data[N - 2];
          return crazyness++;
        }
@@ -153,98 +140,3 @@ AliHLTPHOSSanityInspector::CheckAndHealInsanity(UInt_t* data, Int_t N)
   return crazyness;
   
 }
-
-Int_t 
-AliHLTPHOSSanityInspector::CheckAndHealInsanity(Int_t* data, Int_t N)
-    //
-{
-   //comment
-  Int_t crazyness = 0;
-  
-  /*  if(((data[0] - data[1]) > fMaxDifference) || ((data[1] - data[0]) > fMaxDifference))
-  {
-  if(((data[1] - data[2]) > fMaxDifference) || ((data[2] - data[1]) > fMaxDifference))
-  {
-  if(((data[2] - data[3]) > fMaxDifference) || ((data[3] - data[2]) > fMaxDifference))
-  {
-  return false;   //To much crazyness!
-}
-  data[1] = (data[2] + data[0])/2;
-  crazyness++;
-}
-}
-  */
-  if(N > 3)
-  {
-      //Require a stable start 
-    if((((Int_t)data[0] - (Int_t)data[1]) > fMaxDifference) || (((Int_t)data[1] - (Int_t)data[0]) > fMaxDifference))
-      return -1;
-    if((((Int_t)data[1] - (Int_t)data[2]) > fMaxDifference) || (((Int_t)data[2] - (Int_t)data[1]) > fMaxDifference))
-      return -1;
-      /*
-    for(Int_t i = 2; i < altroData->fDataSize - 3; i++)
-    {
-    if(((data[i] - data[i+1]) > fMaxDifference) || ((data[i+1] - data[i]) > fMaxDifference))
-    {
-    if(((data[i+1] - data[i+2]) > fMaxDifference) || ((data[i+2] - data[i+1]) > fMaxDifference))
-    {
-    if(((data[i+2] - data[i+3]) > fMaxDifference) || ((data[i+3] - data[i+2]) > fMaxDifference))
-    {
-    return false;  //To0 crazy
-  }
-    data[i+1] = (data[i+2] + data[i])/2;
-    crazyness++;
-  }
-    else 
-    return false;   
-  }
-  }
-      */
-    for(Int_t i = 2; i < N - 3; i++)
-    {
-      if((((Int_t)data[i] - (Int_t)data[i+1]) > fMaxDifference) || (((Int_t)data[i+1] - (Int_t)data[i]) > fMaxDifference))
-      {
-       i++;
-       if((((Int_t)data[i] -(Int_t)data[i+1]) > fMaxDifference) || (((Int_t)data[i+1] - (Int_t)data[i]) > fMaxDifference))
-       {
-         i++;
-         if((((Int_t)data[i] - (Int_t)data[i+1]) > fMaxDifference) || (((Int_t)data[i+1] - (Int_t)data[i]) > fMaxDifference))
-         {
-           return -2;  //Too crazy
-         }
-         data[i-1] = ((Int_t)data[i] + (Int_t)data[i-2])/2;
-         crazyness++;
-       }
-       else 
-         return -3;    //Two spikes in a row? 
-      }
-    }
-      
-      
-      
-    if((((Int_t)data[N - 3] -(Int_t) data[N - 2]) > fMaxDifference) || 
-         (((Int_t)data[N - 2] - (Int_t)data[N - 3]) > fMaxDifference))
-    {
-      if((((Int_t)data[N - 2] - (Int_t)data[N - 1]) > fMaxDifference) || 
-           (((Int_t)data[N - 1] - (Int_t)data[N - 2]) > fMaxDifference))
-      {
-       data[N - 2] = ((Int_t)data[N - 3] +  (Int_t)data[N - 1])/2;
-       return crazyness++;
-      }
-      return -4;
-
-    }
-      
-    if((((Int_t)data[N - 2] - (Int_t)data[N - 1]) > fMaxDifference) || 
-         (((Int_t)data[N - 1] - (Int_t)data[N - 2]) > fMaxDifference))
-    {
-         //      (Int_t)data[N - 3] = (Int_t)data[N - 4] -(Int_t) data[N - 5] + (Int_t)data[N-4];
-      data[N - 1] = data[N - 2];
-      return crazyness++;
-    }
-      
-  }
-  
-  return crazyness;
-  
-}