ROOT logo
//
// This cut definition works on mini-pairs for the 'mini' subpackage.
// Since cuts on mini-pairs can usually be just kinematic selections
// or kinematic comparisons between 4-momenta of daughters, they are all
// implemented in this class, by the use of an enumeration which allows
// the user to choose between all possibilities.
//

#include <Riostream.h>

#include "AliRsnMiniPair.h"
#include "AliRsnCutMiniPair.h"

ClassImp(AliRsnCutMiniPair)

//__________________________________________________________________________________________________
AliRsnCutMiniPair::AliRsnCutMiniPair(const char *name, EType type) :
   AliRsnCut(name, AliRsnTarget::kMother),
   fType(type)
{
//
// Constructor
//
}

//__________________________________________________________________________________________________
Bool_t AliRsnCutMiniPair::IsSelected(TObject *obj)
{
//
// Global check
//

   AliRsnMiniPair *pair = dynamic_cast<AliRsnMiniPair *>(obj);
   if (!pair) {
      AliError("This cut applies only to mini-pairs");
      return kFALSE;
   }

   switch (fType) {
      case kRapidityRange:
         fCutValueD = pair->Y(0);
         return OkRangeD();
      case kRapidityRangeMC:
         fCutValueD = pair->Y(1);
         return OkRangeD();
      case kRapidityFiducialRegion:
         fCutValueD = pair->Y(0);
	 fRefPtValueD = pair->Pt(0);
         return OkRangeD();
      case kRapidityFiducialRegionMC:
         fCutValueD = pair->Y(1);
	 fRefPtValueD = pair->Pt(1);
         return OkRangeD();  
      case kMomentumComparison:
         AliWarning("TODO: implement this");
         return kTRUE;
      case kDCAproduct:
         fCutValueD = pair->DCAProduct();
         return OkRangeD();
      default:
         AliWarning("Undefined enum value");
         return kTRUE;
   }
}
 AliRsnCutMiniPair.cxx:1
 AliRsnCutMiniPair.cxx:2
 AliRsnCutMiniPair.cxx:3
 AliRsnCutMiniPair.cxx:4
 AliRsnCutMiniPair.cxx:5
 AliRsnCutMiniPair.cxx:6
 AliRsnCutMiniPair.cxx:7
 AliRsnCutMiniPair.cxx:8
 AliRsnCutMiniPair.cxx:9
 AliRsnCutMiniPair.cxx:10
 AliRsnCutMiniPair.cxx:11
 AliRsnCutMiniPair.cxx:12
 AliRsnCutMiniPair.cxx:13
 AliRsnCutMiniPair.cxx:14
 AliRsnCutMiniPair.cxx:15
 AliRsnCutMiniPair.cxx:16
 AliRsnCutMiniPair.cxx:17
 AliRsnCutMiniPair.cxx:18
 AliRsnCutMiniPair.cxx:19
 AliRsnCutMiniPair.cxx:20
 AliRsnCutMiniPair.cxx:21
 AliRsnCutMiniPair.cxx:22
 AliRsnCutMiniPair.cxx:23
 AliRsnCutMiniPair.cxx:24
 AliRsnCutMiniPair.cxx:25
 AliRsnCutMiniPair.cxx:26
 AliRsnCutMiniPair.cxx:27
 AliRsnCutMiniPair.cxx:28
 AliRsnCutMiniPair.cxx:29
 AliRsnCutMiniPair.cxx:30
 AliRsnCutMiniPair.cxx:31
 AliRsnCutMiniPair.cxx:32
 AliRsnCutMiniPair.cxx:33
 AliRsnCutMiniPair.cxx:34
 AliRsnCutMiniPair.cxx:35
 AliRsnCutMiniPair.cxx:36
 AliRsnCutMiniPair.cxx:37
 AliRsnCutMiniPair.cxx:38
 AliRsnCutMiniPair.cxx:39
 AliRsnCutMiniPair.cxx:40
 AliRsnCutMiniPair.cxx:41
 AliRsnCutMiniPair.cxx:42
 AliRsnCutMiniPair.cxx:43
 AliRsnCutMiniPair.cxx:44
 AliRsnCutMiniPair.cxx:45
 AliRsnCutMiniPair.cxx:46
 AliRsnCutMiniPair.cxx:47
 AliRsnCutMiniPair.cxx:48
 AliRsnCutMiniPair.cxx:49
 AliRsnCutMiniPair.cxx:50
 AliRsnCutMiniPair.cxx:51
 AliRsnCutMiniPair.cxx:52
 AliRsnCutMiniPair.cxx:53
 AliRsnCutMiniPair.cxx:54
 AliRsnCutMiniPair.cxx:55
 AliRsnCutMiniPair.cxx:56
 AliRsnCutMiniPair.cxx:57
 AliRsnCutMiniPair.cxx:58
 AliRsnCutMiniPair.cxx:59
 AliRsnCutMiniPair.cxx:60
 AliRsnCutMiniPair.cxx:61
 AliRsnCutMiniPair.cxx:62
 AliRsnCutMiniPair.cxx:63
 AliRsnCutMiniPair.cxx:64