]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONResponseTriggerV1.cxx
Fix for the dumps in the test script
[u/mrichter/AliRoot.git] / MUON / AliMUONResponseTriggerV1.cxx
index 22c4abb0a451eb67108a111198ed67c50b6013be..15cc735911bf8130f57933bf0143c2af24302a89 100644 (file)
@@ -150,8 +150,8 @@ void AliMUONResponseTriggerV1::DisIntegrate(const AliMUONHit& hit, TList& digits
   {
     twentyNano=1;
   }
-
-  Bool_t isTrig[2]={kTRUE, kTRUE};
+  
+  Int_t nboard = 0;
 
   for ( Int_t cath = AliMp::kCath0; cath <= AliMp::kCath1; ++cath )
   {
@@ -174,21 +174,16 @@ void AliMUONResponseTriggerV1::DisIntegrate(const AliMUONHit& hit, TList& digits
                       xhit,yhit,x,y,z,ix,iy));
       continue;
     }
-    AliMUONDigit* d = new AliMUONDigit(detElemId,pad.GetLocalBoardId(0),
+    
+    if ( cath == AliMp::kCath0 ) nboard = pad.GetLocalBoardId(0);
+        
+    AliMUONDigit* d = new AliMUONDigit(detElemId,nboard,
                                        pad.GetLocalBoardChannel(0),
                                        cath);
     d->SetPadXY(ix,iy);
 
     d->SetCharge(twentyNano);
 
-    if(fTriggerEfficiency){
-      if(cath==0){
-       Int_t nboard = pad.GetLocalBoardId(0);
-       fTriggerEfficiency->IsTriggered(detElemId, nboard, 
-                                       isTrig[0], isTrig[1]);
-      }
-      if(!isTrig[cath]) continue;
-    }
 
     digits.Add(d);
 
@@ -229,7 +224,17 @@ void AliMUONResponseTriggerV1::DisIntegrate(const AliMUONHit& hit, TList& digits
                else qp = 0;
                
                if (qp == 1) { // this digit is fired    
-                   AliMUONDigit* dNeigh = new AliMUONDigit(detElemId,padNeigh.GetLocalBoardId(0),
+        Int_t neighBoard = 0;
+        if ( cath == AliMp::kCath0 ) neighBoard = padNeigh.GetLocalBoardId(0);
+        else {
+          const AliMpVSegmentation* seg0 
+            = AliMpSegmentation::Instance()
+              ->GetMpSegmentation(detElemId,AliMp::GetCathodType(AliMp::kCath0));
+          AliMpPad padNeigh0 = seg0->PadByPosition(xlocalNeigh, y, kFALSE);
+          if ( ! padNeigh0.IsValid() ) continue; // This can happen only on the cut RPC, at boards 25, 30, 142 and 147
+          neighBoard = padNeigh0.GetLocalBoardId(0);
+        }
+                   AliMUONDigit* dNeigh = new AliMUONDigit(detElemId,neighBoard,
                                                 padNeigh.GetLocalBoardChannel(0),
                                                 cath);