//_________________________________________________________________________________________________
AliRsnCutValue::AliRsnCutValue() :
AliRsnCut(),
- fValue()
+ fUseMC(kFALSE),
+ fValue(0x0)
{
//
// Default constructor.
//_________________________________________________________________________________________________
AliRsnCutValue::AliRsnCutValue
-(const char *name, AliRsnValue::EValueType type, Double_t min, Double_t max) :
- AliRsnCut(name, AliRsnValue::TargetType(type), min, max),
- fValue(Form("val_%s", name), type)
+(const char *name, Double_t min, Double_t max, Bool_t useMC) :
+ AliRsnCut(name, AliRsnTarget::kTargetTypes, min, max),
+ fUseMC(useMC),
+ fValue(0x0)
{
//
// Main constructor.
//_________________________________________________________________________________________________
AliRsnCutValue::AliRsnCutValue(const AliRsnCutValue& copy) :
AliRsnCut(copy),
+ fUseMC(copy.fUseMC),
fValue(copy.fValue)
{
//
//
AliRsnCut::operator=(copy);
+ fUseMC = copy.fUseMC;
fValue = copy.fValue;
return (*this);
// Calls the AliRsnValue::Eval() method and then checks its output.
//
+ // skip cut if value is not initialized
+ if (!fValue) return kTRUE;
+
+ // match target types
+ SetTargetType(fValue->GetTargetType());
+
// try to compute values
- Bool_t success = fValue.Eval(object);
+ Bool_t success = fValue->Eval(object, fUseMC);
// check success
if (!success) {
}
// check in range
- fCutValueD = fValue.GetComputedValue();
+ fCutValueD = fValue->GetComputedValue();
return OkRangeD();
}
//
AliInfo(Form("Cut name : %s", GetName()));
- AliInfo(Form("Cut value : %s", fValue.GetValueTypeName()));
+ AliInfo(Form("Cut value : %s", fValue->GetName()));
AliInfo(Form("Cut range : %f - %f", fMinD, fMaxD));
}