]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
bug fix (Marta)
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 6 Nov 2012 11:38:01 +0000 (11:38 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 6 Nov 2012 11:38:01 +0000 (11:38 +0000)
ANALYSIS/AliUnfolding.cxx

index 82d0acc09248bf17782b640813e3fdf6b2e6a4e3..2a00f7438624013b53ae5f163dcf08bfe12b2ff6 100644 (file)
@@ -55,7 +55,7 @@ Float_t AliUnfolding::fgRegularizationWeight = 10000;
 Int_t AliUnfolding::fgSkipBinsBegin = 0;
 Float_t AliUnfolding::fgMinuitStepSize = 0.1;                 // (usually not needed to be changed) step size in minimization
 Float_t AliUnfolding::fgMinuitPrecision = 1e-6;               // minuit precision
-Int_t   AliUnfolding::fgMinuitMaxIterations = 1000000;            // minuit maximum number of iterations\r
+Int_t   AliUnfolding::fgMinuitMaxIterations = 1000000;            // minuit maximum number of iterations
 Double_t AliUnfolding::fgMinuitStrategy = 1.;                 // minuit strategy
 Bool_t AliUnfolding::fgMinimumInitialValue = kFALSE;          // set all initial values at least to the smallest value among the initial values
 Float_t AliUnfolding::fgMinimumInitialValueFix = -1;
@@ -197,7 +197,7 @@ void AliUnfolding::SetBayesianParameters(Float_t smoothing, Int_t nIterations)
   fgBayesianSmoothing = smoothing;
   fgBayesianIterations = nIterations;
 
-  Printf("AliUnfolding::SetBayesianParameters --> Parameters set to %d iterations with smoothing %f", fgBayesianIterations, fgBayesianSmoothing);\r
+  Printf("AliUnfolding::SetBayesianParameters --> Parameters set to %d iterations with smoothing %f", fgBayesianIterations, fgBayesianSmoothing);
 }
 
 //____________________________________________________________________
@@ -276,12 +276,20 @@ void AliUnfolding::SetStaticVariables(TH2* correlation, TH1* measured, TH1* effi
     fgEntropyAPriori = new TVectorD(fgMaxParams);
   if (!fgEfficiency)
     fgEfficiency = new TVectorD(fgMaxParams);
-  if (!fgUnfoldedAxis)
+  if (fgUnfoldedAxis)
+  {
     delete fgUnfoldedAxis;
-  fgUnfoldedAxis = new TAxis(*(correlation->GetXaxis()));
-  if (!fgMeasuredAxis)
+    fgUnfoldedAxis = 0;
+  }
+  if (!fgUnfoldedAxis) 
+    fgUnfoldedAxis = new TAxis(*(correlation->GetXaxis()));
+  if (fgMeasuredAxis)
+  {
     delete fgMeasuredAxis;
-  fgMeasuredAxis = new TAxis(*(correlation->GetYaxis()));    
+    fgMeasuredAxis = 0;
+  }
+  if (!fgMeasuredAxis) 
+    fgMeasuredAxis = new TAxis(*(correlation->GetYaxis()));
 
   fgCorrelationMatrix->Zero();
   fgCorrelationCovarianceMatrix->Zero();
@@ -555,7 +563,7 @@ Int_t AliUnfolding::UnfoldWithBayesian(TH2* correlation, TH1* aEfficiency, TH1*
   Double_t* result = new Double_t[kMaxT];
   Double_t* efficiency = new Double_t[kMaxT];
   Double_t* binWidths = new Double_t[kMaxT];
-  Double_t* normResponse = new Double_t[kMaxT]; \r
+  Double_t* normResponse = new Double_t[kMaxT]; 
 
   Double_t** response = new Double_t*[kMaxT];
   Double_t** inverseResponse = new Double_t*[kMaxT];
@@ -563,7 +571,7 @@ Int_t AliUnfolding::UnfoldWithBayesian(TH2* correlation, TH1* aEfficiency, TH1*
   {
     response[i] = new Double_t[kMaxM];
     inverseResponse[i] = new Double_t[kMaxM];
-    normResponse[i] = 0;\r
+    normResponse[i] = 0;
   }
 
   // for normalization
@@ -577,7 +585,7 @@ Int_t AliUnfolding::UnfoldWithBayesian(TH2* correlation, TH1* aEfficiency, TH1*
     {
       response[t][m] = correlation->GetBinContent(t+1, m+1);
       inverseResponse[t][m] = 0;
-      normResponse[t] += correlation->GetBinContent(t+1, m+1);\r
+      normResponse[t] += correlation->GetBinContent(t+1, m+1);
     }
   }
 
@@ -593,13 +601,13 @@ Int_t AliUnfolding::UnfoldWithBayesian(TH2* correlation, TH1* aEfficiency, TH1*
     prior[t] = measuredCopy[t];
     result[t] = 0;
     binWidths[t] = aResult->GetXaxis()->GetBinWidth(t+1);
-\r
-    for (Int_t m=0; m<kMaxM; m++) { // Normalise response matrix\r
-      if (normResponse[t] != 0) \r
-       response[t][m] /= normResponse[t];\r
-      else\r
-        Printf("AliUnfolding::UnfoldWithBayesian: Empty row,column in response matrix, for truth bin %d",t);\r
-    }\r
+
+    for (Int_t m=0; m<kMaxM; m++) { // Normalise response matrix
+      if (normResponse[t] != 0) 
+       response[t][m] /= normResponse[t];
+      else
+        Printf("AliUnfolding::UnfoldWithBayesian: Empty row,column in response matrix, for truth bin %d",t);
+    }
   }
 
   // pick prior distribution
@@ -629,7 +637,7 @@ Int_t AliUnfolding::UnfoldWithBayesian(TH2* correlation, TH1* aEfficiency, TH1*
     {
       Float_t norm = 0;
       for (Int_t t = kStartBin; t<kMaxT; t++)
-        norm += response[t][m] * prior[t] * efficiency[t];\r
+        norm += response[t][m] * prior[t] * efficiency[t];
 
       // calc. chi2: (measured - response * prior) / error
       if (measuredError[m] > 0)
@@ -641,7 +649,7 @@ Int_t AliUnfolding::UnfoldWithBayesian(TH2* correlation, TH1* aEfficiency, TH1*
       if (norm > 0)
       {
         for (Int_t t = kStartBin; t<kMaxT; t++)
-          inverseResponse[t][m] = response[t][m] * prior[t] * efficiency[t] / norm;\r
+          inverseResponse[t][m] = response[t][m] * prior[t] * efficiency[t] / norm;
       }
       else
       {
@@ -725,7 +733,7 @@ Int_t AliUnfolding::UnfoldWithBayesian(TH2* correlation, TH1* aEfficiency, TH1*
   delete[] result;
   delete[] efficiency;
   delete[] binWidths;
-  delete[] normResponse;\r
+  delete[] normResponse;
 
   for (Int_t i=0; i<kMaxT; i++)
   {