]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/hfe/AliHFEspectrum.cxx
Merge remote-tracking branch 'origin/master' into flatdev
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEspectrum.cxx
index 3349817966cf39326bd79d9cfa7bab9845a25fae..b8969410a463a832e098ad43b460b89fb234b224 100644 (file)
@@ -1685,7 +1685,10 @@ AliCFDataGrid* AliHFEspectrum::GetNonHFEBackground(){
   if(fNonHFEsyst){
     backgroundContainer = (AliCFContainer*)fNonHFESourceContainer[0][0][0]->Clone();
     for(Int_t iSource = 1; iSource < kElecBgSources; iSource++){
-      backgroundContainer->Add(fNonHFESourceContainer[iSource][0][0]);
+      if(iSource == 1)
+        backgroundContainer->Add(fNonHFESourceContainer[iSource][0][0],1.41);//correction for the eta Dalitz decay branching ratio in PYTHIA
+      else
+        backgroundContainer->Add(fNonHFESourceContainer[iSource][0][0]);
     } 
   }
   else{    
@@ -2392,18 +2395,20 @@ TGraphErrors *AliHFEspectrum::NormalizeTH1(TH1 *input,Int_t i) const {
     Double_t p = 0, dp = 0; Int_t point = 1;
     Double_t n = 0, dN = 0;
     Double_t nCorr = 0, dNcorr = 0;
-    Double_t errdN = 0, errdp = 0;
+    //Double_t errdN = 0, errdp = 0;
+    Double_t errdN = 0;
     for(Int_t ibin = input->GetXaxis()->GetFirst(); ibin <= input->GetXaxis()->GetLast(); ibin++){
       point = ibin - input->GetXaxis()->GetFirst();
       p = input->GetXaxis()->GetBinCenter(ibin);
-      dp = input->GetXaxis()->GetBinWidth(ibin)/2.;
+      //dp = input->GetXaxis()->GetBinWidth(ibin)/2.;
       n = input->GetBinContent(ibin);
       dN = input->GetBinError(ibin);
       // New point
       nCorr = chargecoefficient * 1./etarange * 1./(Double_t)(fNEvents[i]) * 1./(2. * TMath::Pi() * p) * n;
       errdN = 1./(2. * TMath::Pi() * p);
-      errdp = 1./(2. * TMath::Pi() * p*p) * n;
-      dNcorr = chargecoefficient * 1./etarange * 1./(Double_t)(fNEvents[i]) * TMath::Sqrt(errdN * errdN * dN *dN + errdp *errdp * dp *dp);
+      //errdp = 1./(2. * TMath::Pi() * p*p) * n;
+      //dNcorr = chargecoefficient * 1./etarange * 1./(Double_t)(fNEvents[i]) * TMath::Sqrt(errdN * errdN * dN *dN + errdp *errdp * dp *dp);
+      dNcorr = chargecoefficient * 1./etarange * 1./(Double_t)(fNEvents[i]) * TMath::Sqrt(errdN * errdN * dN *dN);
       
       spectrumNormalized->SetPoint(point, p, nCorr);
       spectrumNormalized->SetPointError(point, dp, dNcorr);
@@ -2439,18 +2444,20 @@ TGraphErrors *AliHFEspectrum::NormalizeTH1N(TH1 *input,Int_t normalization) cons
     Double_t p = 0, dp = 0; Int_t point = 1;
     Double_t n = 0, dN = 0;
     Double_t nCorr = 0, dNcorr = 0;
-    Double_t errdN = 0, errdp = 0;
+    //Double_t errdN = 0, errdp = 0;
+    Double_t errdN = 0;
     for(Int_t ibin = input->GetXaxis()->GetFirst(); ibin <= input->GetXaxis()->GetLast(); ibin++){
       point = ibin - input->GetXaxis()->GetFirst();
       p = input->GetXaxis()->GetBinCenter(ibin);
-      dp = input->GetXaxis()->GetBinWidth(ibin)/2.;
+      //dp = input->GetXaxis()->GetBinWidth(ibin)/2.;
       n = input->GetBinContent(ibin);
       dN = input->GetBinError(ibin);
       // New point
       nCorr = chargecoefficient * 1./etarange * 1./(Double_t)(normalization) * 1./(2. * TMath::Pi() * p) * n;
       errdN = 1./(2. * TMath::Pi() * p);
-      errdp = 1./(2. * TMath::Pi() * p*p) * n;
-      dNcorr = chargecoefficient * 1./etarange * 1./(Double_t)(normalization) * TMath::Sqrt(errdN * errdN * dN *dN + errdp *errdp * dp *dp);
+      //errdp = 1./(2. * TMath::Pi() * p*p) * n;
+      //dNcorr = chargecoefficient * 1./etarange * 1./(Double_t)(normalization) * TMath::Sqrt(errdN * errdN * dN *dN + errdp *errdp * dp *dp);
+      dNcorr = chargecoefficient * 1./etarange * 1./(Double_t)(normalization) * TMath::Sqrt(errdN * errdN * dN *dN);
       
       spectrumNormalized->SetPoint(point, p, nCorr);
       spectrumNormalized->SetPointError(point, dp, dNcorr);
@@ -2510,13 +2517,16 @@ AliCFContainer *AliHFEspectrum::GetSlicedContainer(AliCFContainer *container, In
     // source
     if(ivar == 4){
       if((source>= 0) && (source<container->GetNBins(ivar))) {
-             varMin[ivar] = binLimits[source];
-             varMax[ivar] = binLimits[source];
+              varMin[ivar] = container->GetAxis(4,0)->GetBinLowEdge(container->GetAxis(4,0)->FindBin(binLimits[source]));
+              varMax[ivar] = container->GetAxis(4,0)->GetBinUpEdge(container->GetAxis(4,0)->FindBin(binLimits[source]));
       }     
     }
     // charge
     if(ivar == 3) {
-      if(charge != kAllCharge) varMin[ivar] = varMax[ivar] = charge;
+      if(charge != kAllCharge){
+        varMin[ivar] = container->GetAxis(3,0)->GetBinLowEdge(container->GetAxis(3,0)->FindBin(charge));
+        varMax[ivar] = container->GetAxis(3,0)->GetBinUpEdge(container->GetAxis(3,0)->FindBin(charge));
+      }
     }
     // eta
     if(ivar == 1){
@@ -3815,10 +3825,12 @@ void AliHFEspectrum::UnfoldBG(AliCFDataGrid* const bgsubpectrum){
   //AliCFContainer *mcContainer = GetContainer(kMCContainerMC);
   if(!mcContainer){
     AliError("MC Container not available");
+    return;
   }
 
   if(!fCorrelation){
     AliError("No Correlation map available");
+    return;
   }
 
   // Data