]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/dielectron/AliDielectronSignalFunc.cxx
updates and tuning for the central train run (data and MC)
[u/mrichter/AliRoot.git] / PWG3 / dielectron / AliDielectronSignalFunc.cxx
index 92aaad54c8cdb43c8b4dd296c37d46ade39bcd87..30f437f818888c5dbc3f60b2859db10ad94f3c6a 100644 (file)
@@ -36,7 +36,7 @@ can be used.
 #include <TPaveText.h>
 #include <TList.h>
 #include <TFitResult.h>
-//#include <../hist/hist/src/TF1Helper.h> //not supposed to be used!
+#include <../hist/hist/src/TF1Helper.h>
 
 #include <AliLog.h>
 
@@ -137,7 +137,7 @@ void AliDielectronSignalFunc::ProcessFit(TObjArray * const arrhist) {
   // by the user in its macro
   fHistDataPM->Fit(fFuncSigBack, fFitOpt.Data(), "", fFitMin, fFitMax);
   TFitResultPtr pmFitPtr = fHistDataPM->Fit(fFuncSigBack, fFitOpt.Data(), "", fFitMin, fFitMax);
-  //TFitResult *pmFitResult = pmFitPtr.Get(); //not used when TF1Helper out
+  TFitResult *pmFitResult = pmFitPtr.Get();
   fFuncSignal->SetParameters(fFuncSigBack->GetParameters());
   fFuncBackground->SetParameters(fFuncSigBack->GetParameters()+fFuncSignal->GetNpar());
   
@@ -147,7 +147,6 @@ void AliDielectronSignalFunc::ProcessFit(TObjArray * const arrhist) {
     Double_t epm = fHistDataPM->GetBinError(iBin);
     Double_t bknd = fFuncBackground->Eval(m);
     Double_t ebknd = 0;
-    /* to be revised ... TF1Helper
     for(Int_t iPar=fFuncSignal->GetNpar(); iPar<fFuncSigBack->GetNpar(); iPar++) {
       for(Int_t jPar=iPar; jPar<fFuncSigBack->GetNpar(); jPar++) {
         TF1 gradientIpar("gradientIpar",
@@ -159,7 +158,6 @@ void AliDielectronSignalFunc::ProcessFit(TObjArray * const arrhist) {
           (iPar==jPar ? 1.0 : 2.0);
       }
     }
-    */ // TF1Helper
     Double_t signal = pm-bknd;
     Double_t error = TMath::Sqrt(epm*epm+ebknd);
     fHistSignal->SetBinContent(iBin, signal);
@@ -172,7 +170,6 @@ void AliDielectronSignalFunc::ProcessFit(TObjArray * const arrhist) {
     // signal
     fValues(0) = fFuncSignal->Integral(fIntMin, fIntMax)/fHistDataPM->GetBinWidth(1);
     fErrors(0) = 0;
-    /* to be revised ... TF1Helper
     for(Int_t iPar=0; iPar<fFuncSignal->GetNpar(); iPar++) {
       for(Int_t jPar=iPar; jPar<fFuncSignal->GetNpar(); jPar++) {
         TF1 gradientIpar("gradientIpar",
@@ -184,11 +181,9 @@ void AliDielectronSignalFunc::ProcessFit(TObjArray * const arrhist) {
           (iPar==jPar ? 1.0 : 2.0);
       }
     }
-    */ //TF1Helper
     // background
     fValues(1) = fFuncBackground->Integral(fIntMin, fIntMax)/fHistDataPM->GetBinWidth(1);
     fErrors(1) = 0;
-    /* to be revised... TF1Helper
     for(Int_t iPar=fFuncSignal->GetNpar(); iPar<fFuncSigBack->GetNpar(); iPar++) {
       for(Int_t jPar=iPar; jPar<fFuncSigBack->GetNpar(); jPar++) {
         TF1 gradientIpar("gradientIpar",
@@ -200,7 +195,6 @@ void AliDielectronSignalFunc::ProcessFit(TObjArray * const arrhist) {
           (iPar==jPar ? 1.0 : 2.0);
       }
     }
-    */ // TF1Helper
   }
   else {
     // signal
@@ -261,7 +255,6 @@ void AliDielectronSignalFunc::ProcessLS(TObjArray * const arrhist) {
   TFitResultPtr mmFitPtr = fHistDataMM->Fit(funcCloneMM, fFitOpt.Data(), "", fFitMin, fFitMax);
   mmFitResult = mmFitPtr.Get();
   
-  /* to be revised ... TF1Helper
   for(Int_t iBin=1; iBin<=fHistDataPM->GetXaxis()->GetNbins(); iBin++) {
     Double_t m = fHistDataPM->GetBinCenter(iBin);
     Double_t pm = fHistDataPM->GetBinContent(iBin);
@@ -280,7 +273,6 @@ void AliDielectronSignalFunc::ProcessLS(TObjArray * const arrhist) {
           (iPar==jPar ? 1.0 : 2.0);
       }
     }
-    
     Double_t emm = 0;
     for(Int_t iPar=0; iPar<funcCloneMM->GetNpar(); iPar++) {
       for(Int_t jPar=iPar; jPar<funcCloneMM->GetNpar(); jPar++) {
@@ -304,8 +296,7 @@ void AliDielectronSignalFunc::ProcessLS(TObjArray * const arrhist) {
     fHistBackground->SetBinContent(iBin, background);
     fHistBackground->SetBinError(iBin, ebackground);
   }
-  */  // TF1Helper
-
+  
   // signal
   fValues(0) = fHistSignal->IntegralAndError(fHistSignal->FindBin(fIntMin),
                                              fHistSignal->FindBin(fIntMax), fErrors(0));