]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fix memory leak (in simulations with trigger chamber efficiency < 1)
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 8 Mar 2011 16:04:25 +0000 (16:04 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 8 Mar 2011 16:04:25 +0000 (16:04 +0000)
(Diego)

MUON/AliMUONResponseTrigger.cxx
MUON/AliMUONResponseTriggerV1.cxx

index 5f055b4ea56f224f2c6cb724771dab88b4c54863..1b30f066cfcfd4b2c0388ebf769facf91661862d 100644 (file)
@@ -107,6 +107,7 @@ AliMUONResponseTrigger::DisIntegrate(const AliMUONHit& hit, TList& digits, Float
   }
 
   Bool_t isTrig[2]={kTRUE,kTRUE};
+  Int_t nboard=0;
 
   for ( Int_t cath = AliMp::kCath0; cath <= AliMp::kCath1; ++cath )
   {
@@ -129,6 +130,16 @@ AliMUONResponseTrigger::DisIntegrate(const AliMUONHit& hit, TList& digits, Float
                       xhit,yhit,x,y,z,ix,iy));
       continue;
     }
+    
+    if(fTriggerEfficiency){
+      if(cath==0){
+        nboard = pad.GetLocalBoardId(0);
+        fTriggerEfficiency->IsTriggered(detElemId, nboard, 
+                                        isTrig[0], isTrig[1]);
+      }
+      if(!isTrig[cath]) continue;
+    }    
+    
     AliMUONDigit* d = new AliMUONDigit(detElemId,pad.GetLocalBoardId(0),
                                        pad.GetLocalBoardChannel(0),cath);
     d->SetPadXY(ix,iy);
@@ -137,18 +148,11 @@ AliMUONResponseTrigger::DisIntegrate(const AliMUONHit& hit, TList& digits, Float
     //this is not currently supported by the digit class. Change that or not ?
     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);   
   }
   
+  if ( fTriggerEfficiency ) AliDebug(1,Form("MTReff: DetElemId %i  Board %3i  Fired %i %i", detElemId, nboard, isTrig[0], isTrig[1]));
 }
 
 
index 22c4abb0a451eb67108a111198ed67c50b6013be..9735d3536fe88c0a74f1c5404bab4b195840202b 100644 (file)
@@ -152,6 +152,7 @@ void AliMUONResponseTriggerV1::DisIntegrate(const AliMUONHit& hit, TList& digits
   }
 
   Bool_t isTrig[2]={kTRUE, kTRUE};
+  Int_t nboard = 0;
 
   for ( Int_t cath = AliMp::kCath0; cath <= AliMp::kCath1; ++cath )
   {
@@ -174,6 +175,16 @@ void AliMUONResponseTriggerV1::DisIntegrate(const AliMUONHit& hit, TList& digits
                       xhit,yhit,x,y,z,ix,iy));
       continue;
     }
+    
+    if(fTriggerEfficiency){
+      if(cath==0){
+        nboard = pad.GetLocalBoardId(0);
+        fTriggerEfficiency->IsTriggered(detElemId, nboard, 
+                                        isTrig[0], isTrig[1]);
+      }
+      if(!isTrig[cath]) continue;
+    }
+    
     AliMUONDigit* d = new AliMUONDigit(detElemId,pad.GetLocalBoardId(0),
                                        pad.GetLocalBoardChannel(0),
                                        cath);
@@ -181,14 +192,6 @@ void AliMUONResponseTriggerV1::DisIntegrate(const AliMUONHit& hit, TList& digits
 
     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);
 
@@ -241,6 +244,7 @@ void AliMUONResponseTriggerV1::DisIntegrate(const AliMUONHit& hit, TList& digits
        } // built-up cluster
     } // loop on neighbors
   } // loop on cathode
+  if ( fTriggerEfficiency ) AliDebug(1,Form("MTReff: DetElemId %i  Board %3i  Fired %i %i", detElemId, nboard, isTrig[0], isTrig[1]));
 }
 
 //------------------------------------------------------------------