]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/hfe/AliHFECorrectSpectrumBase.h
Fix of sigmaZ for crossing tracklets from Alex
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFECorrectSpectrumBase.h
index 8ea5fe2efef52a7086e88651bd4748781f67e455..b63f64ce6d856eff758b512e09261f2b0b2a5806 100644 (file)
@@ -39,14 +39,18 @@ class AliCFEffGrid;
 class AliHFECorrectSpectrumBase : public TNamed{
   public:
     enum CFContainer_t{
-      kDataContainer  = 0,
+      kDataContainer = 0,
       kBackgroundData = 1,
       kMCContainerMC = 2,
       kMCContainerESD = 3,
       kMCContainerCharmMC = 4,
-      kMCWeightedContainerNonHFEESD =5,
+      kMCWeightedContainerNonHFEESD = 5,
       kMCWeightedContainerConversionESD = 6,
-      kDataContainerV0 = 7
+      kDataContainerV0 = 7,
+      kMCWeightedContainerNonHFEESDSig = 8,
+      kMCWeightedContainerConversionESDSig = 9,
+      kPhotonicBackground = 10,
+      kNbCFContainers = 11
     };
 
     enum Chargetype_t{
@@ -59,13 +63,12 @@ class AliHFECorrectSpectrumBase : public TNamed{
     ~AliHFECorrectSpectrumBase();
     
 
-    virtual Bool_t Init(const AliHFEcontainer */*datahfecontainer*/, const AliHFEcontainer */*mchfecontainer*/, const AliHFEcontainer */*v0hfecontainer*/, const AliHFEcontainer */*bghfecontainer*/) { return kTRUE;};
-    virtual Bool_t Correct(Bool_t /*subtractcontamination*/) { return kTRUE;};
+    virtual Bool_t Init(const AliHFEcontainer */*datahfecontainer*/, const AliHFEcontainer */*mchfecontainer*/, const AliHFEcontainer */*bghfecontainer*/, const AliHFEcontainer */*v0hfecontainer*/,AliCFContainer */*photoniccontainerD*/) { return kTRUE;};
+    virtual Bool_t Correct(Bool_t /*subtractcontamination*/, Bool_t /*subtractphotonic*/) { return kTRUE;};
    
     TGraphErrors *Normalize(THnSparse * const spectrum) const;
     TGraphErrors *Normalize(AliCFDataGrid * const spectrum) const;
     TGraphErrors *NormalizeTH1(TH1 *input) const;
-    void CorrectFromTheWidth(TH1D *h1) const;
     void CorrectStatErr(AliCFDataGrid *backgroundGrid) const;
     
     void SetCorrelation(THnSparseF * const correlation) {fCorrelation = correlation; };
@@ -78,9 +81,10 @@ class AliHFECorrectSpectrumBase : public TNamed{
     void SetStepToCorrect(Int_t step) { fStepData = step; };
     void SetStepBeforeCutsV0(Int_t step) { fStepBeforeCutsV0 = step; };
     void SetStepAfterCutsV0(Int_t step) { fStepAfterCutsV0 = step; };
-    void SetNbDimensions(Int_t nbDimensions) { fNbDimensions = nbDimensions; };
+    void SetNbDimensions(Int_t nbDimensions);
     void SetChargeChoosen(Chargetype_t chargechoosen) {fChargeChoosen = chargechoosen; };
     void SetEtaRange(Double_t etamin, Double_t etamax) { fEtaRange[0] = etamin; fEtaRange[1] = etamax; fEtaSelected = kTRUE; }
+    void SetDim(Int_t dim0, Int_t dim1=0, Int_t dim2=0) { fDims[0] = dim0; fDims[1] = dim1; fDims[2] = dim2; };
     void SetSmoothing(Bool_t setSmoothing) {fSetSmoothing = setSmoothing;};
     void SetTestOneBinCentrality(Double_t centralitymin, Double_t centralitymax) { fTestCentralityLow = centralitymin; fTestCentralityHigh = centralitymax;}
     void SetStepGuessedUnfolding(Int_t stepGuessedUnfolding) { fStepGuessedUnfolding = stepGuessedUnfolding; };
@@ -93,8 +97,8 @@ class AliHFECorrectSpectrumBase : public TNamed{
     AliHFECorrectSpectrumBase &operator=(const AliHFECorrectSpectrumBase &ref);
     virtual void Copy(TObject &o) const;
     AliCFContainer *GetContainer(AliHFECorrectSpectrumBase::CFContainer_t contt);
-    AliCFContainer *GetSlicedContainer(AliCFContainer *cont, Int_t ndim, Int_t *dimensions,Int_t source=-1,Chargetype_t charge=kAllCharge,Int_t centralitylow=-1, Int_t centralityhigh=-1);
-    THnSparseF *GetSlicedCorrelation(THnSparseF *correlationmatrix,Int_t nDim, Int_t *dimensions,Chargetype_t charge=kAllCharge,Int_t centralitylow=-1, Int_t centralityhigh=-1) const;
+    AliCFContainer *GetSlicedContainer(AliCFContainer *cont, Int_t ndim, Int_t *dimensions,Int_t source=-1,Chargetype_t charge=kAllCharge,Int_t centralitylow=-1, Int_t centralityhigh=-1, Bool_t doCentralityProjection = kTRUE);
+    THnSparseF *GetSlicedCorrelation(THnSparseF *correlationmatrix,Int_t nDim, Int_t *dimensions,Chargetype_t charge=kAllCharge,Int_t centralitylow=-1, Int_t centralityhigh=-1, Bool_t doCentralityProjection = kTRUE) const;
     TObject* GetSpectrum(const AliCFContainer * const c, Int_t step);
     TObject* GetEfficiency(const AliCFContainer * const c, Int_t step, Int_t step0);
 
@@ -116,6 +120,8 @@ class AliHFECorrectSpectrumBase : public TNamed{
     Int_t fNumberOfIterations;    // Number of iterations
     Chargetype_t fChargeChoosen;         // Select positive or negative electrons
 
+    Int_t  fDims[3];               // For 2D corrections
+
     Double_t fEtaRange[2];        // Eta range 
     Double_t fEtaRangeNorm[2];    // Eta range used in the normalization