Fragmentation model tuned on data v0
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 4 Feb 2011 14:23:28 +0000 (14:23 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 4 Feb 2011 14:23:28 +0000 (14:23 +0000)
ZDC/AliZDCFragment.cxx

index d59a2d3..5652a37 100644 (file)
@@ -85,7 +85,8 @@ void AliZDCFragment::GenerateIMF()
    // Coefficients of polynomial for fluctuations on average number of IMF
    const Float_t  kParamFluctNimf[4]={-0.13176,2.9392,-5.2147,2.3092}; 
    // Coefficients of polynomial for average maximum Z of fragments
-   const Float_t  kParamZmax[4]={0.16899,14.203,-2.8284,65.036}; 
+   //const Float_t  kParamZmax[4]={0.16899,14.203,-2.8284,65.036}; 
+   const Float_t  kParamZmax[4]={0.16899,14.203,-2.8284,70.5}; 
    // Coefficients of polynomial for fluctuations on maximum Z of fragments
    const Float_t  kParamFluctZmax[5]={0.013782,-0.17282,1.5065,1.0654,-2.4317}; 
    // Coefficients of polynomial for exponent tau of fragments Z distribution
@@ -102,11 +103,13 @@ void AliZDCFragment::GenerateIMF()
    // Maximum impact parameter for U [r0*A**(1/3)]
    const Float_t  kbMaxU = 14.87;
    // Maximum impact parameter for Pb [r0*A**(1/3)]
-   const Float_t  kbMaxPb = 14.22;
+   const Float_t  kbMaxPb = 14.22+4*kNuclearThick;
    // Z of the projectile
    const Float_t  kZProj = 82.;
    
    // From b(Pb) to b(U)
+   if(fB>kbMaxPb) fB = 2*kbMaxPb-fB;
+   
    Float_t  bU = fB*kbMaxU/kbMaxPb;
     
    // From b(U) to Zbound(U) 
@@ -123,10 +126,10 @@ void AliZDCFragment::GenerateIMF()
    // Zbound is proportional to b**2 up to b < kbMaxPb-2*kNuclearThick
    // and then it is an increasing exponential, imposing that at 
    // b=kbMaxPb-2kNuclearThick the two functions have the same derivative
-   Float_t bCore = kbMaxPb-2*kNuclearThick;
+   /*Float_t bCore = kbMaxPb-2*kNuclearThick;
    if(fB>bCore){
      fZbAverage=kZProj*(1.-TMath::Exp(-kParamSkinPb[0]*(fB-kParamSkinPb[1])));
-   }
+   }*/
    if(fZbAverage>kZProj) fZbAverage = kZProj;
    Float_t zbNorm = fZbAverage/kZProj;
    Float_t bNorm = fB/kbMaxPb;
@@ -160,7 +163,7 @@ void AliZDCFragment::GenerateIMF()
    fluctZmax = fluctZmax*kZProj/6.;
    Float_t xg = gRandom->Gaus(0.0,1.0);
    fluctZmax = fluctZmax*xg;
-   fZmax = averageZmax+fluctZmax;
+   fZmax = (averageZmax+fluctZmax);
    if(fZmax>kZProj) fZmax = kZProj;
    
 //   printf("\n\n ------------------------------------------------------------");