]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Bug fix: introduced new members for pt-dependent cuts to solve problem with reset...
authorfbellini <fbellini@cern.ch>
Mon, 28 Jul 2014 14:48:33 +0000 (16:48 +0200)
committerfbellini <fbellini@cern.ch>
Mon, 28 Jul 2014 14:50:42 +0000 (16:50 +0200)
PWGLF/RESONANCES/AliRsnCut.cxx
PWGLF/RESONANCES/AliRsnCut.h

index c567080336544d34e577cf31f87e581c32b70ac8..0ee6d3af161c28ade1957270aa62df39673ab41c 100644 (file)
@@ -25,6 +25,10 @@ AliRsnCut::AliRsnCut(const char *name, RSNTARGET target) :
    fMaxI(0),
    fMinD(0.),
    fMaxD(0.),
+   fMinIptdep(0),
+   fMaxIptdep(0),
+   fMinDptdep(0),
+   fMaxDptdep(0),
    fCutValueI(0),
    fCutValueD(0.0),
    fPtDepCut(kFALSE),
@@ -48,6 +52,10 @@ AliRsnCut::AliRsnCut
    fMaxI(imax),
    fMinD(dmin),
    fMaxD(dmax),
+   fMinIptdep(0),
+   fMaxIptdep(0),
+   fMinDptdep(0),
+   fMaxDptdep(0),
    fCutValueI(0),
    fCutValueD(0.0),
    fPtDepCut(kFALSE),
@@ -72,6 +80,10 @@ AliRsnCut::AliRsnCut
    fMaxI(imax),
    fMinD(dmin),
    fMaxD(dmax),
+   fMinIptdep(0),
+   fMaxIptdep(0),
+   fMinDptdep(0),
+   fMaxDptdep(0),
    fCutValueI(0),
    fCutValueD(0.0),
    fPtDepCut(kFALSE),
@@ -95,6 +107,10 @@ AliRsnCut::AliRsnCut(const AliRsnCut &copy) :
    fMaxI(copy.fMaxI),
    fMinD(copy.fMinD),
    fMaxD(copy.fMaxD),
+   fMinIptdep(copy.fMinIptdep),
+   fMaxIptdep(copy.fMaxIptdep),
+   fMinDptdep(copy.fMinDptdep),
+   fMaxDptdep(copy.fMaxDptdep),
    fCutValueI(copy.fCutValueI),
    fCutValueD(copy.fCutValueD),
    fPtDepCut(copy.fPtDepCut),
@@ -127,6 +143,10 @@ AliRsnCut &AliRsnCut::operator=(const AliRsnCut &copy)
    fMaxI      = copy.fMaxI;
    fMinD      = copy.fMinD;
    fMaxD      = copy.fMaxD;
+   fMinIptdep = copy.fMinIptdep;
+   fMaxIptdep = copy.fMaxIptdep;
+   fMinDptdep = copy.fMinDptdep;
+   fMaxDptdep = copy.fMaxDptdep;
    fCutValueI = copy.fCutValueI;
    fCutValueD = copy.fCutValueD;
    fPtDepCut = copy.fPtDepCut;
@@ -175,9 +195,9 @@ Bool_t AliRsnCut::OkValueI()
        TString str(fPtDepCutMinFormula);
         str.ReplaceAll("pt", "x");
         TFormula ptdepcut(Form("%s_ptdepcut", GetName()), str.Data());
-        fMinI = static_cast<int> (ptdepcut.Eval(fRefPtValueD));        
-       AliDebug(2,Form("pt = %f (> %f and < %f), cutting  at %d\n",fRefPtValueD, fMinPt, fMaxPt, fMinI)); 
-       fCutResult = (fCutValueI == fMinI);
+        fMinIptdep = static_cast<int> (ptdepcut.Eval(fRefPtValueD));   
+       AliDebug(2,Form("pt = %f (> %f and < %f), cutting  at %d\n",fRefPtValueD, fMinPt, fMaxPt, fMinIptdep)); 
+       fCutResult = (fCutValueI == fMinIptdep);
        }
   }
   else fCutResult = (fCutValueI == fMinI);
@@ -214,9 +234,9 @@ Bool_t AliRsnCut::OkValueD()
        TString str(fPtDepCutMinFormula);
         str.ReplaceAll("pt", "x");
         TFormula ptdepcut(Form("%s_ptdepcut", GetName()), str.Data());
-        fMinD = ptdepcut.Eval(fRefPtValueD);   
-       AliDebug(2,Form("pt = %f (> %f and < %f), cutting  at %f\n",fRefPtValueD, fMinPt, fMaxPt, fMinD)); 
-       fCutResult = (TMath::Abs(fCutValueD - fMinD) < 1E-6);
+        fMinDptdep = ptdepcut.Eval(fRefPtValueD);      
+       AliDebug(2,Form("pt = %f (> %f and < %f), cutting  at %f\n",fRefPtValueD, fMinPt, fMaxPt, fMinDptdep)); 
+       fCutResult = (TMath::Abs(fCutValueD - fMinDptdep) < 1E-6);
        }
   }
   else fCutResult = (TMath::Abs(fCutValueD - fMinD) < 1E-6);
@@ -251,15 +271,15 @@ Bool_t AliRsnCut::OkRangeI()
       TString str(fPtDepCutMinFormula);
       str.ReplaceAll("pt", "x");
       TFormula ptdepcut(Form("%s_ptdepcut", GetName()), str.Data());
-      fMinI = static_cast<int> (ptdepcut.Eval(fRefPtValueD));
+      fMinIptdep = static_cast<int> (ptdepcut.Eval(fRefPtValueD));
        
       TString str2(fPtDepCutMaxFormula);
       str2.ReplaceAll("pt", "x");
       TFormula ptdepcut2(Form("%s_ptdepcut", GetName()), str2.Data());
-      fMaxI = static_cast<int> (ptdepcut2.Eval(fRefPtValueD));
+      fMaxIptdep = static_cast<int> (ptdepcut2.Eval(fRefPtValueD));
                    
-      AliDebug(2,Form("pt = %f (> %f and < %f), cutting  according to the fiducial zone [%d, %d]\n",fRefPtValueD, fMinPt, fMaxPt, fMinI, fMaxI)); 
-      fCutResult = ((fCutValueI >= fMinI) && (fCutValueI <= fMaxI));
+      AliDebug(2,Form("pt = %f (> %f and < %f), cutting  according to the fiducial zone [%d, %d]\n",fRefPtValueD, fMinPt, fMaxPt, fMinIptdep, fMaxIptdep)); 
+      fCutResult = ((fCutValueI >= fMinIptdep) && (fCutValueI <= fMaxIptdep));
     }
   }
   else fCutResult = ((fCutValueI >= fMinI) && (fCutValueI <= fMaxI));
@@ -295,15 +315,15 @@ Bool_t AliRsnCut::OkRangeD()
       TString str(fPtDepCutMinFormula);
       str.ReplaceAll("pt", "x");
       TFormula ptdepcut(Form("%s_ptdepcut", GetName()), str.Data());
-      fMinD = ptdepcut.Eval(fRefPtValueD);
+      fMinDptdep = ptdepcut.Eval(fRefPtValueD);
       
       TString str2(fPtDepCutMaxFormula);
       str2.ReplaceAll("pt", "x");
       TFormula ptdepcut2(Form("%s_ptdepcut", GetName()), str2.Data());
-      fMaxD = ptdepcut2.Eval(fRefPtValueD);   
+      fMaxDptdep = ptdepcut2.Eval(fRefPtValueD);   
       
-      AliDebug(2,Form("pt = %f (> %f and < %f), cutting  according to the fiducial zone [%f, %f]\n",fRefPtValueD, fMinPt, fMaxPt, fMinD, fMaxD)); 
-      fCutResult = ((fCutValueD >= fMinD) && (fCutValueD <= fMaxD));
+      AliDebug(2,Form("pt = %f (> %f and < %f), cutting  according to the fiducial zone [%f, %f]\n",fRefPtValueD, fMinPt, fMaxPt, fMinDptdep, fMaxDptdep)); 
+      fCutResult = ((fCutValueD >= fMinDptdep) && (fCutValueD <= fMaxDptdep));
     }
   }
   else fCutResult = ((fCutValueD >= fMinD) && (fCutValueD <= fMaxD));
index 6ceea3952e7fd2958b2fd12c5cc91beb910eadde..8fe8c79513564f14d09999e2dd3bd8fd085db15a 100644 (file)
@@ -64,6 +64,11 @@ protected:
    Int_t        fMaxI;       //  upper edge of INT range (not used for value cuts)
    Double_t     fMinD;       //  lower edge of DOUBLE range or ref. value for DOUBLE CUT
    Double_t     fMaxD;       //  upper edge of DOUBLE range (not used for value cuts)
+   
+   Int_t        fMinIptdep;  //  lower edge of INT range or ref. value for INT CUT -- pt dependent
+   Int_t        fMaxIptdep;  //  upper edge of INT range (not used for value cuts) -- pt dependent
+   Double_t     fMinDptdep;  //  lower edge of DOUBLE range or ref. value for DOUBLE CUT -- pt dependent
+   Double_t     fMaxDptdep;  //  upper edge of DOUBLE range (not used for value cuts) -- pt dependent
 
    Int_t        fCutValueI;  //  cut value INT
    Double_t     fCutValueD;  //  cut value DOUBLE
@@ -76,7 +81,7 @@ protected:
 
    Bool_t       fCutResult;  //  tells if the cut is passed or not
 
-   ClassDef(AliRsnCut, 2)
+   ClassDef(AliRsnCut, 3)
 };
 
 #endif