]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONPad.cxx
More robust raw-reader for HLT
[u/mrichter/AliRoot.git] / MUON / AliMUONPad.cxx
index f297efeeaabd453e4bde7f4138c368e0969fc63a..872519481fcaaf59629361a6ef5c54fba8a3f13f 100644 (file)
@@ -250,13 +250,21 @@ AliMUONPad::Compare(const TObject* obj) const
   
   const AliMUONPad* pad = static_cast<const AliMUONPad*>(obj);
     
+  if (DetElemId() < 0)
+  {
+    // AZ - For "pixels" from MLEM cluster finder
+    // we only sort on charge
+    if (Charge() == pad->Charge()) return 0;
+    return ( Charge() < pad->Charge() ) ? 1:-1;
+  }
+
   if ( DetElemId() > pad->DetElemId() )
   {
     return 1;
   }
-  else if ( DetElemId() > pad->DetElemId() )
+  else if ( DetElemId() < pad->DetElemId() )
   {
-    return 1;
+    return -1;
   }
   else
   {
@@ -316,13 +324,25 @@ AliMUONPad::Compare(const TObject* obj) const
             else
             {
               // same Y
-              return ( Charge() < pad->Charge() ) ? -1:1;              
-            }            
+              if ( Charge() < pad->Charge() ) 
+              {
+                return -1;
+              }
+              else if ( Charge() > pad->Charge() )
+              {
+                return 1;
+              }
+              else
+              {
+                return 0;
+              }
+            }
           }          
         }        
       }
     }
   }
+  return 0;
 }
 
 //_____________________________________________________________________________
@@ -430,6 +450,7 @@ AliMUONPad::Print(Option_t* opt) const
                  Y()-DY(),Y()+DY()) << endl;
   }
   cout << endl;
+  cout.precision(6); // reset to default precision
   cout.flags(oldflags);
 }