Updated version of deuteron emission in nuclear fragment production algorithm
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Jun 2007 12:25:37 +0000 (12:25 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Jun 2007 12:25:37 +0000 (12:25 +0000)
ZDC/AliZDCDigitizer.cxx
ZDC/AliZDCFragment.cxx
ZDC/AliZDCFragment.h

index 18147db..8fa35e6 100644 (file)
@@ -330,6 +330,10 @@ void AliZDCDigitizer::Fragmentation(Float_t impPar, Int_t specN, Int_t specP,
   frag.AttachNeutrons(zz, nn, ztot, ntot);
   freeSpecN = specN-ntot-2*nAlpha;
   freeSpecP = specP-ztot-2*nAlpha;
+  // Removing deuterons
+  Int_t ndeu = (Int_t) (frag.DeuteronNumber());
+  freeSpecN -= ndeu;
+  //
   if(freeSpecN<0) freeSpecN=0;
   if(freeSpecP<0) freeSpecP=0;
   AliDebug(2, Form("FreeSpn = %d, FreeSpp = %d", freeSpecN, freeSpecP));
index 19f128e..174f6ae 100644 (file)
@@ -356,12 +356,12 @@ void AliZDCFragment::AttachNeutrons(Int_t *fZZ, Int_t *fNN, Int_t &fZtot,Int_t &
 }
 
 //_____________________________________________________________________________
-Float_t AliZDCFragment::DeuteronFraction()
+Float_t AliZDCFragment::DeuteronNumber()
 {
     // Calculates the fraction of deuterum nucleus produced
     //
-    Float_t deuteronProdPar[2] = {1.068,0.0385};
-    Float_t deutFrac = deuteronProdPar[0]-deuteronProdPar[1]*fB;
-    if(deutFrac>1.) deutFrac=1.;
-    return deutFrac;
+    Float_t deuteronProdPar[2] = {-0.068,0.0385};
+    Float_t deutNum = deuteronProdPar[0] + deuteronProdPar[1]*fB;
+    if(deutNum<0.) deutNum = 0.;
+    return deutNum;
 }
index 79eafd0..425379d 100644 (file)
@@ -24,7 +24,7 @@ public:
   virtual      ~AliZDCFragment() {}
   void GenerateIMF(Int_t* fZZ, Int_t &fNalpha);
   void AttachNeutrons(Int_t* fZZ, Int_t* fNN, Int_t &Ztot, Int_t &Ntot);
-  Float_t DeuteronFraction();
+  Float_t DeuteronNumber();
   
   // Setting parameters
   virtual void SetImpactParameter(Float_t b) {fB=b;};