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));
}
//_____________________________________________________________________________
-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;
}
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;};