]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/RESONANCES/AliRsnCut.cxx
New classes required for revision of package
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCut.cxx
index c3e101edce55860aafd4d0f3e3880729aef03a70..fc8cee0ea71ad2544f573bc48bce206161628709 100644 (file)
 // authors: Martin Vala (martin.vala@cern.ch)
 //          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
 //
-#include "Riostream.h"
 #include "AliLog.h"
 
 #include "AliRsnDaughter.h"
-#include "AliRsnMCInfo.h"
 #include "AliRsnPairParticle.h"
-#include "AliRsnPairDef.h"
 #include "AliRsnEvent.h"
-#include "AliRsnCut.h"
 
-const Double_t AliRsnCut::fgkDSmallNumber = 1e-100;
-const Double_t AliRsnCut::fgkDBigNumber = 1e10;
-const Int_t    AliRsnCut::fgkIBigNumber = 32767;
+#include "AliRsnCut.h"
 
 ClassImp(AliRsnCut)
 
-//________________________________________________________________________________________________________________
+//_________________________________________________________________________________________________
 AliRsnCut::AliRsnCut() :
-    TNamed(),
-    fDMin(-fgkDBigNumber),
-    fDMax(fgkDBigNumber),
-    fIMin(-fgkIBigNumber),
-    fIMax(fgkIBigNumber),
-    fUIMin(0),
-    fUIMax(2 * (UInt_t) fgkIBigNumber),
-    fULMin(0),
-    fULMax(2 * (ULong_t) fgkIBigNumber),
-    fType(kLastCutType),
-    fVarType(kDouble_t)
+  TNamed(),
+  fVarType(kInt),
+  fMinI(0),
+  fMaxI(0),
+  fMinU(0),
+  fMaxU(0),
+  fMinD(0.0),
+  fMaxD(0.0),
+  fCutValueI(0),
+  fCutValueU(0),
+  fCutValueD(0.0),
+  fCutResult(kTRUE)
 {
 //
-// Constructor
+// Default constructor.
 //
 }
 
-//________________________________________________________________________________________________________________
-AliRsnCut::AliRsnCut(const char *name, const char *title, EType type) :
-    TNamed(name,title),
-    fDMin(-fgkDBigNumber),
-    fDMax(fgkDBigNumber),
-    fIMin(-fgkIBigNumber),
-    fIMax(fgkIBigNumber),
-    fUIMin(0),
-    fUIMax(2 * (UInt_t) fgkIBigNumber),
-    fULMin(0),
-    fULMax(2 * (ULong_t) fgkIBigNumber),
-    fType(type),
-    fVarType(kDouble_t)
+//_________________________________________________________________________________________________
+AliRsnCut::AliRsnCut
+(const char *name, Int_t min, Int_t max) :
+  TNamed(name, ""),
+  fVarType(kInt),
+  fMinI(min),
+  fMaxI(max),
+  fMinU(0),
+  fMaxU(0),
+  fMinD(0.0),
+  fMaxD(0.0),
+  fCutValueI(0),
+  fCutValueU(0),
+  fCutValueD(0.0),
+  fCutResult(kTRUE)
 {
 //
-// Constructor with arguments but not limits
+// Constructor.
+// If the cut must check values inside a range,
+// both 'value' arguments must be used, and they are, in the order,
+// the minimum and maximum of the allowed range.
+// If the cut must check a value, the second 'value' argument will never be used.
 //
 }
 
-//________________________________________________________________________________________________________________
-AliRsnCut::AliRsnCut(const char *name, const char *title, EType type, Double_t min, Double_t max) :
-    TNamed(name,title),
-    fDMin(min),
-    fDMax(max),
-    fIMin(-fgkIBigNumber),
-    fIMax(fgkIBigNumber),
-    fUIMin(0),
-    fUIMax(2 * (UInt_t) fgkIBigNumber),
-    fULMin((ULong_t)min),
-    fULMax((ULong_t)max),
-    fType(type),
-    fVarType(kDouble_t)
+//_________________________________________________________________________________________________
+AliRsnCut::AliRsnCut
+(const char *name, ULong_t min, ULong_t max) :
+  TNamed(name, ""),
+  fVarType(kULong),
+  fMinI(0),
+  fMaxI(0),
+  fMinU(min),
+  fMaxU(max),
+  fMinD(0.0),
+  fMaxD(0.0),
+  fCutValueI(0),
+  fCutValueU(0),
+  fCutValueD(0.0),
+  fCutResult(kTRUE)
 {
 //
-// Constructor with arguments and limits
+// Constructor.
+// If the cut must check values inside a range,
+// both 'value' arguments must be used, and they are, in the order,
+// the minimum and maximum of the allowed range.
+// If the cut must check a value, the second 'value' argument will never be used.
 //
 }
 
-//________________________________________________________________________________________________________________
-AliRsnCut::AliRsnCut(const char * name, const char * title, EType type, Int_t min, Int_t max) :
-    TNamed(name,title),
-    fDMin(-fgkDBigNumber),
-    fDMax(fgkDBigNumber),
-    fIMin(min),
-    fIMax(max),
-    fUIMin(0),
-    fUIMax(2 * (UInt_t) fgkIBigNumber),
-    fULMin(min),
-    fULMax(max),
-    fType(type),
-    fVarType(kInt_t)
+//_________________________________________________________________________________________________
+AliRsnCut::AliRsnCut
+(const char *name, Double_t min, Double_t max) :
+  TNamed(name, ""),
+  fVarType(kDouble),
+  fMinI(0),
+  fMaxI(0),
+  fMinU(0),
+  fMaxU(0),
+  fMinD(min),
+  fMaxD(max),
+  fCutValueI(0),
+  fCutValueU(0),
+  fCutValueD(0.0),
+  fCutResult(kTRUE)
 {
 //
-// Constructor with arguments and limits
+// Constructor.
+// If the cut must check values inside a range,
+// both 'value' arguments must be used, and they are, in the order,
+// the minimum and maximum of the allowed range.
+// If the cut must check a value, the second 'value' argument will never be used.
 //
 }
 
-//________________________________________________________________________________________________________________
-AliRsnCut::AliRsnCut(const char * name, const char * title, EType type, UInt_t min, UInt_t max) :
-    TNamed(name,title),
-    fDMin(-fgkDBigNumber),
-    fDMax(fgkDBigNumber),
-    fIMin(-fgkIBigNumber),
-    fIMax(fgkIBigNumber),
-    fUIMin(min),
-    fUIMax(max),
-    fULMin(min),
-    fULMax(max),
-    fType(type),
-    fVarType(kUInt_t)
+//_________________________________________________________________________________________________
+Bool_t AliRsnCut::IsSelected(ETarget tgt, AliRsnDaughter *track)
 {
 //
-// Constructor with arguments and limits
+// Virtual cut-checking method.
+// In base class, these methods compare the argument type
+// with the defined target, in order to detect a mismatch
 //
-}
 
-//________________________________________________________________________________________________________________
-AliRsnCut::AliRsnCut(const char * name, const char * title, EType type, ULong_t min, ULong_t max) :
-    TNamed(name,title),
-    fDMin(-fgkDBigNumber),
-    fDMax(fgkDBigNumber),
-    fIMin(-fgkIBigNumber),
-    fIMax(fgkIBigNumber),
-    fUIMin(min),
-    fUIMax(max),
-    fULMin(min),
-    fULMax(max),
-    fType(type),
-    fVarType(kUInt_t)
-{
-//
-// Constructor with arguments and limits
-//
-}
-
-//________________________________________________________________________________________________________________
-AliRsnCut::~AliRsnCut()
-{
-//
-// Destructor.
-// Does absolutely nothing.
-//
-}
-
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::IsBetween(const Double_t &theValue)
-{
-//
-// Interval check.
-// Question: "Is the argument included between fDMin and fDMax?"
-// (not implemented for integer values because usually it is not used with them)
-//
-  return ((theValue >= fDMin) && (theValue <= fDMax));
-}
-
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::IsBetween(const Int_t &theValue)
-{
-//
-// Interval check.
-// Question: "Is the argument included between fDMin and fDMax?"
-// (not implemented for integer values because usually it is not used with them)
-//
-  return ((theValue >= fIMin) && (theValue <= fIMax));
-}
-
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::MatchesValue(const Int_t &theValue)
-{
-//
-// Reference check.
-// Question: "Is the argument equal to fIMin?" (fIMax is assumed never used)
-//
-  return (theValue == fIMin);
+  return kTRUE;
 }
 
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::MatchesValue(const UInt_t &theValue)
+//_________________________________________________________________________________________________
+Bool_t AliRsnCut::IsSelected(ETarget tgt, AliRsnPairParticle *pair)
 {
 //
-// Reference check.
-// Question: "Is the argument equal to fUIMin?" (fUIMax is assumed never used)
+// Virtual cut-checking method.
+// In base class, these methods compare the argument type
+// with the defined target, in order to detect a mismatch
 //
-  return (theValue == fUIMin);
-}
-
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::MatchesValue(const ULong_t &theValue)
-{
-  //
-// Reference check.
-// Question: "Is the argument equal to fUIMin?" (fUIMax is assumed never used)
-  //
-  return (theValue == fULMin);
-}
 
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::MatchesValue(const Double_t &theValue)
-{
-//
-// Reference check.
-// Question: "Is the argument reasonably close to fDMin?" (fDMax is assumed never used)
-// Here, "reasonably close" means that the difference is smaller than the
-// 'fgkSmallNumber' global static data member of this class
-//
-  return (TMath::Abs(theValue - fDMin) < fgkDSmallNumber);
+  return kTRUE;
 }
 
-//________________________________________________________________________________________________________________
-void AliRsnCut::SetCutValues(EType type, const Double_t &theValue, const Double_t &theValue2)
+//_________________________________________________________________________________________________
+Bool_t AliRsnCut::IsSelected(ETarget tgt, AliRsnEvent *event)
 {
 //
-// (Re)assignment of cut values
+// Virtual cut-checking method.
+// In base class, these methods compare the argument type
+// with the defined target, in order to detect a mismatch
 //
-  fType = type;
-  fDMin = theValue;
-  fDMax = theValue2;
-}
 
-//________________________________________________________________________________________________________________
-void AliRsnCut::SetCutValues(EType type, const Int_t &theValue, const Int_t &theValue2)
-{
-//
-// (Re)assignment of cut values
-//
-  fType = type;
-  fIMin = theValue;
-  fIMax = theValue2;
+  return kTRUE;
 }
 
-//________________________________________________________________________________________________________________
-void AliRsnCut::SetCutValues(EType type, const UInt_t &theValue, const UInt_t &theValue2)
+//_________________________________________________________________________________________________
+Bool_t AliRsnCut::IsSelected(ETarget tgt, AliRsnEvent *ev1, AliRsnEvent *ev2)
 {
 //
-// (Re)assignment of cut values
+// Virtual cut-checking method.
+// In base class, these methods compare the argument type
+// with the defined target, in order to detect a mismatch
 //
-  fType = type;
-  fUIMin = theValue;
-  fUIMax = theValue2;
-}
 
-//________________________________________________________________________________________________________________
-void AliRsnCut::SetCutValues(EType type, const ULong_t &theValue, const ULong_t &theValue2)
-{
-  //
-// (Re)assignment of cut values
-  //
-  fType = type;
-  fULMin = theValue;
-  fULMax = theValue2;
+  return kTRUE;
 }
 
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::IsSelected(ETarget type, AliRsnDaughter *daughter)
+//_________________________________________________________________________________________________
+Bool_t AliRsnCut::OkValue()
 {
 //
-// Core of the whole class.
-// According to the kind of cut selected in the enumeration,
-// checks the cut taking the right values from the argument.
-// Depending on the second argument type, only some cuts are checked
-// (the ones for that type of object), otherwise kTRUE is returned in order
-// not to act as a cleaning factor for an AND with other cuts.
+// This method is used when the cut consists in comparing the cut value
+// with a reference value to which it must be equal (in case of doubles, 'almost' equal).
+// Then, the cut result is kTRUE if the cut value is equal to this reference value.
 //
-  AliDebug(AliLog::kDebug, "<-");
-  AliRsnMCInfo *mcinfo = daughter->GetMCInfo();
-
-  // check type
-  if (type != kParticle)
-  {
-    AliWarning(Form("Mismatch: type = %d (expected %d), class type = %s (expected AliRsnDaughter)", type, kParticle, daughter->ClassName()));
-    return kTRUE;
-  }
-
-  // utility variables
-  AliRsnPID::EType pidType;
-  Double_t prob;
-  Int_t pdg;
-  Bool_t cut;
-
-  switch (fType)
-  {
-    case kMomentum:
-      return IsBetween(daughter->P());
-    case kTransMomentum:
-      return IsBetween(daughter->Pt());
-    case kEta:
-      return IsBetween(daughter->Eta());
-    case kRadialImpactParam:
-      return IsBetween(daughter->Dr());
-    case kRadialImpactParamMC:
-      if (mcinfo) return IsBetween(mcinfo->Dr());
-      else return kTRUE;
-    case kMomentumMC:
-      if (mcinfo) return IsBetween(mcinfo->P());
-      else return kTRUE;
-    case kTransMomentumMC:
-      if (mcinfo) return IsBetween(mcinfo->Pt());
-      else return kTRUE;
-    case kStatus:
-      return daughter->CheckFlag(fUIMin);
-    case kChargePos:
-      return (daughter->Charge() > 0);
-    case kChargeNeg:
-      return (daughter->Charge() < 0);
-    case kPIDType:
-    case kPIDProb:
-      pidType = daughter->PIDType(prob);
-      if (fType == kPIDType) return MatchesValue((Int_t) pidType);
-      if (fType == kPIDProb) return IsBetween(prob);
-    case kPIDProbForSpecies:
-      cut = IsBetween(daughter->PIDProb()[(AliRsnPID::EType)fIMin]);
-      //cout << (AliRsnPID::EType)fIMin << ' ' << daughter->PIDProb()[(AliRsnPID::EType)fIMin] << ' ' << (cut?"OK":"NO") << endl;
-      return cut;
-    case kAssignedPID:
-      pidType = daughter->AssignedPID();
-      return MatchesValue((Int_t)pidType);
-    case kTruePID:
-      pdg = TMath::Abs(mcinfo->PDG());
-      cut = MatchesValue(pdg);
-      //AliError(Form("PDG = %d -- CUT = %s", pdg, (cut ? "passed" : "not passed")));
-      if (mcinfo) return MatchesValue((Int_t) TMath::Abs(mcinfo->PDG()));
-      else return kTRUE;
-    case kEtaMC:
-      if (mcinfo) return IsBetween(mcinfo->Eta());
-      else return kTRUE;
-    case kIsPrimary:
-      if (mcinfo) return (mcinfo->Mother() < 0);
-      else return kTRUE;
-    case kIsKinkMother:
-      return (!daughter->IsKink() || daughter->IsKinkMother());
-    case kIsKinkDaughter:
-      return daughter->IsKinkDaughter();
-    case kNSigma:
-      return IsBetween(daughter->NSigmaToVertex());
-      /*
-      case kEsdNSigmaCalculate:
-      return IsBetween (daughter->GetESDInfo()->GetNSigmaCalculate());
-      */
-    default:
-      AliWarning("Requested a cut which cannot be applied to a single track");
-      return kTRUE;
-  }
-
-  return kTRUE;
-}
-
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::IsSelected(ETarget type, AliRsnPairParticle * pair)
-{
-  AliDebug(AliLog::kDebug, "<-");
-
-  // check type
-  if (type != kPair)
-  {
-    AliWarning(Form("Mismatch: type = %d (expected %d), class type = %s (expected AliRsnPairParticle)", type, kPair, pair->ClassName()));
-    return kTRUE;
-  }
-
-  switch (fType)
-  {
-    case kMomentum:
-      return IsBetween(pair->GetP());
-    case kTransMomentum:
-      return IsBetween(pair->GetPt());
-    case kEta:
-      return IsBetween(pair->GetEta());
-    case kEtaMC:
-      return IsBetween(pair->GetEtaMC());
-    case kMomentumMC:
-      return IsBetween(pair->GetPMC());
-    case kTransMomentumMC:
-      return IsBetween(pair->GetPtMC());
-    case kIsLabelEqual:
-      return pair->IsLabelEqual();
-    case kIsTruePair:
-      return pair->IsTruePair(fIMin);
-    default:
-      AliWarning("Requested a cut which cannot be applied to a pair");
-      return kTRUE;
-  }
-
-  return kTRUE;
-}
-
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::IsSelected(ETarget type, AliRsnEvent * event)
-{
-  AliDebug(AliLog::kDebug, "<-");
-
-  // check type
-  if (type != kEvent)
-  {
-    AliWarning(Form("Mismatch: type = %d (expected %d), class type = %s (expected AliRsnEvent)", type, kEvent, event->ClassName()));
-    return kTRUE;
-  }
 
-  switch (fType)
+  switch (fVarType)
   {
-    case kTrueMultiplicity:
-      return IsBetween((Int_t) event->GetTrueMultiplicity());
-    case kMultiplicity:
-      return IsBetween((Int_t) event->GetMultiplicity());
-    case kVz:
-      return IsBetween((Double_t)event->GetPrimaryVertexZ());
+    case kInt:
+      // eval result
+      fCutResult = (fCutValueI == fMinI);
+      // print debug message
+      AliDebug(AliLog::kDebug + 3, "=== CUT DEBUG ====================================");
+      AliDebug(AliLog::kDebug + 3, Form("Cut name     : %s", GetName()));
+      AliDebug(AliLog::kDebug + 3, Form("Checked value: %d", fCutValueI));
+      AliDebug(AliLog::kDebug + 3, Form("Cut value    : %d", fMinI));
+      AliDebug(AliLog::kDebug + 3, Form("Cut result   : %s", (fCutResult ? "PASSED" : "NOT PASSED")));
+      AliDebug(AliLog::kDebug + 3, "=== END CUT DEBUG ================================");
+      break;
+    case kULong:
+      // eval result
+      fCutResult = (fCutValueU == fMinU);
+      // print debug message
+      AliDebug(AliLog::kDebug + 3, "=== CUT DEBUG ====================================");
+      AliDebug(AliLog::kDebug + 3, Form("Cut name     : %s", GetName()));
+      AliDebug(AliLog::kDebug + 3, Form("Checked value: %d", fCutValueU));
+      AliDebug(AliLog::kDebug + 3, Form("Cut value    : %d", fMinU));
+      AliDebug(AliLog::kDebug + 3, Form("Cut result   : %s", (fCutResult ? "PASSED" : "NOT PASSED")));
+      AliDebug(AliLog::kDebug + 3, "=== END CUT DEBUG ================================");
+      break;
+    case kDouble:
+      // eval result
+      fCutResult = (TMath::Abs(fCutValueD - fMinD) < 1E-6);
+      // print debug message
+      AliDebug(AliLog::kDebug + 3, "=== CUT DEBUG ====================================");
+      AliDebug(AliLog::kDebug + 3, Form("Cut name     : %s", GetName()));
+      AliDebug(AliLog::kDebug + 3, Form("Checked value: %f", fCutValueD));
+      AliDebug(AliLog::kDebug + 3, Form("Cut value    : %f", fMinD));
+      AliDebug(AliLog::kDebug + 3, Form("Cut result   : %s", (fCutResult ? "PASSED" : "NOT PASSED")));
+      AliDebug(AliLog::kDebug + 3, "=== END CUT DEBUG ================================");
+      break;
     default:
-      AliWarning("Requested a cut which cannot be applied to an event");
-      return kTRUE;
+      AliError(Form("fVarType = %d --> not allowed", fVarType));
+      return kFALSE;
   }
 
-  return kTRUE;
+  return fCutResult;
 }
 
-//________________________________________________________________________________________________________________
-Bool_t AliRsnCut::IsSelected(ETarget type, AliRsnEvent * ev1, AliRsnEvent * ev2)
+//_________________________________________________________________________________________________
+Bool_t AliRsnCut::OkRange()
 {
-  AliDebug(AliLog::kDebug, "<-");
-
-  // check type
-  if (type != kMixEvent)
-  {
-    AliWarning(Form("Mismatch: type = %d (expected %d)", type, kMixEvent));
-    return kTRUE;
-  }
-
-  Double_t valueD, mult1, mult2;
-  Int_t    valueI;
+//
+// This method is used when the cut consists in an allowed range
+// where the cut value must be included to pass the cut.
+// Then, the cut result is kTRUE if the cut value is inside this range.
+//
 
-  switch (fType)
+  switch (fVarType)
   {
-    case kMultiplicityDifference:
-      valueI = TMath::Abs(ev1->GetTrueMultiplicity() - ev2->GetTrueMultiplicity());
-      return IsBetween((Int_t)valueI);
-    case kMultiplicityRatio:
-      mult1 = (Double_t)ev1->GetMultiplicity();
-      mult2 = (Double_t)ev2->GetMultiplicity();
-      if (mult1 == 0.0  && mult2 == 0.0) return kTRUE;
-      valueD = 100.0 * TMath::Abs(mult1 - mult2) / TMath::Max(mult1, mult2); // in %
-      return IsBetween((Double_t)valueD);
-    case kVzDifference:
-      valueD = TMath::Abs(ev1->GetVz() - ev2->GetVz());
-      return IsBetween((Double_t)valueD);
-    case kPhiMeanDifference:
-      valueD = TMath::Abs(ev1->GetPhiMean() - ev2->GetPhiMean());
-      if (valueD > 180.0) valueD = 360.0 - valueD;
-      return IsBetween((Double_t)valueD);
+    case kInt:
+      // eval result
+      fCutResult = ((fCutValueI >= fMinI) && (fCutValueI <= fMaxI));
+      // print debug message
+      AliDebug(AliLog::kDebug + 3, "=== CUT DEBUG ====================================");
+      AliDebug(AliLog::kDebug + 2, Form("Cut name     : %s", GetName()));
+      AliDebug(AliLog::kDebug + 2, Form("Checked value: %d", fCutValueI));
+      AliDebug(AliLog::kDebug + 2, Form("Cut range    : %d , %d", fMinI, fMaxI));
+      AliDebug(AliLog::kDebug + 2, Form("Cut result   : %s", (fCutResult ? "PASSED" : "NOT PASSED")));
+      AliDebug(AliLog::kDebug + 3, "=== END CUT DEBUG ================================");
+      break;
+    case kULong:
+      // eval result
+      fCutResult = ((fCutValueU >= fMinU) && (fCutValueU <= fMaxU));
+      // print debug message
+      AliDebug(AliLog::kDebug + 3, "=== CUT DEBUG ====================================");
+      AliDebug(AliLog::kDebug + 2, Form("Cut name     : %s", GetName()));
+      AliDebug(AliLog::kDebug + 2, Form("Checked value: %d", fCutValueU));
+      AliDebug(AliLog::kDebug + 2, Form("Cut range    : %d , %d", fMinU, fMaxU));
+      AliDebug(AliLog::kDebug + 2, Form("Cut result   : %s", (fCutResult ? "PASSED" : "NOT PASSED")));
+      AliDebug(AliLog::kDebug + 3, "=== END CUT DEBUG ================================");
+      break;
+    case kDouble:
+      // eval result
+      fCutResult = ((fCutValueD >= fMinD) && (fCutValueD <= fMaxD));
+      // print debug message
+      AliDebug(AliLog::kDebug + 3, "=== CUT DEBUG ====================================");
+      AliDebug(AliLog::kDebug + 2, Form("Cut name     : %s", GetName()));
+      AliDebug(AliLog::kDebug + 2, Form("Checked value: %f", fCutValueD));
+      AliDebug(AliLog::kDebug + 2, Form("Cut range    : %f , %f", fMinD, fMaxD));
+      AliDebug(AliLog::kDebug + 2, Form("Cut result   : %s", (fCutResult ? "PASSED" : "NOT PASSED")));
+      AliDebug(AliLog::kDebug + 3, "=== END CUT DEBUG ================================");
+      break;
     default:
-      AliWarning("Requested a cut which cannot be applied to an event");
-      return kTRUE;
+      AliError(Form("fVarType = %d --> not allowed", fVarType));
+      return kFALSE;
   }
 
-  return kTRUE;
+  return fCutResult;
 }
 
-//________________________________________________________________________________________________________________
-void AliRsnCut::PrintAllValues()
-{
-  AliInfo(Form("fType=%d fVarType=%d",fType,fVarType));
-  AliInfo(Form("fDMin=%.2e fDMax=%.2e",fDMin,fDMax));
-  AliInfo(Form("fIMin=%d fIMax=%d",fIMin,fIMax));
-  AliInfo(Form("fUIMin=%d fUIMax=%d",fUIMin,fUIMax));
-  AliInfo(Form("fULMin=%d fULMax=%d",fULMin,fULMax));
-}