]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDUtils.cxx
Fixing in/out tags in documentation
[u/mrichter/AliRoot.git] / STEER / AliESDUtils.cxx
index 608906934f26dfa6fd22a31edb56a00d28564894..909d292021701315e5eaa54e01cf23b5eb15de4c 100644 (file)
@@ -30,7 +30,7 @@
 #include "AliESDVZERO.h"
 
 //______________________________________________________________________________
-Float_t AliESDUtils::GetCorrV0(const AliESDEvent* esd, Float_t &v0CorrResc, Float_t *v0multChCorr)
+Float_t AliESDUtils::GetCorrV0(const AliESDEvent* esd, Float_t &v0CorrResc, Float_t *v0multChCorr, Float_t *v0multChCorrResc)
 {
   // Correct V0 non-linearity, prepare a version rescaled to SPD2 corr.
   // Please describe better parameters...
@@ -116,18 +116,27 @@ Float_t AliESDUtils::GetCorrV0(const AliESDEvent* esd, Float_t &v0CorrResc, Floa
   Float_t multCorr = 0;
   Float_t multCorr2 = 0;
   Float_t multChCorr[64];
+  Float_t multChCorrResc[64];
   AliESDVZERO* esdV0 = esd->GetVZEROData();
   for(Int_t i = 0; i < 64; ++i) {
-    Double_t b = (esdV0->GetMultiplicity(i)*par1[i]-par0[i]);
-    Double_t s = (b*b-4.*par2[i]*esdV0->GetMultiplicity(i)*esdV0->GetMultiplicity(i));
-    Double_t n = (s<0) ? -b : (-b + TMath::Sqrt(s));
-    multChCorr[i] = 2.*esdV0->GetMultiplicity(i)/n*par0[i];
+    if (esdV0->TestBit(AliESDVZERO::kCorrectedForSaturation)) {
+      multChCorr[i] = esdV0->GetMultiplicity(i);
+    }
+    else {
+      Double_t b = (esdV0->GetMultiplicity(i)*par1[i]-par0[i]);
+      Double_t s = (b*b-4.*par2[i]*esdV0->GetMultiplicity(i)*esdV0->GetMultiplicity(i));
+      Double_t n = (s<0) ? -b : (-b + TMath::Sqrt(s));
+      multChCorr[i] = 2.*esdV0->GetMultiplicity(i)/n*par0[i];
+    }
     multCorr += multChCorr[i];
-    multCorr2 += (multChCorr[i]/par0[i]/64.);
+    multChCorrResc[i] = multChCorr[i]/par0[i]/64.;
+    multCorr2 += multChCorrResc[i];
   }
   v0CorrResc =  multCorr2;
   if (v0multChCorr)
     for(Int_t i = 0; i < 64; ++i) v0multChCorr[i] = multChCorr[i];
+  if (v0multChCorrResc)
+    for(Int_t i = 0; i < 64; ++i) v0multChCorrResc[i] = multChCorrResc[i];
 
   return multCorr;
 }