Bug in fragments production evaluation corrected
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 20 Sep 2010 09:52:56 +0000 (09:52 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 20 Sep 2010 09:52:56 +0000 (09:52 +0000)
ZDC/AliZDCDigitizer.cxx

index f8a064b..0476db0 100644 (file)
@@ -431,14 +431,18 @@ void AliZDCDigitizer::Fragmentation(Float_t impPar, Int_t specN, Int_t specP,
   Int_t nAlpha = frag.GetNalpha();
 
   // Attach neutrons
+  frag.AttachNeutrons();
   Int_t ztot = frag.GetZtot();
   Int_t ntot = frag.GetNtot();
-  frag.AttachNeutrons();
+  
+  // Removing fragments and alpha pcs
   freeSpecN = specN-ntot-2*nAlpha;
   freeSpecP = specP-ztot-2*nAlpha;
+  
   // Removing deuterons
   Int_t ndeu = (Int_t) (freeSpecN*frag.DeuteronNumber());
   freeSpecN -= ndeu;
+  freeSpecP -= ndeu;
   //
   if(freeSpecN<0) freeSpecN=0;
   if(freeSpecP<0) freeSpecP=0;