//________________________________________________________________________________________
AliRsnEventFunction::AliRsnEventFunction
-(EType type, AliRsnHistoDef *hd, AliRsnDaughter::EPIDMethod pidMethod,
+(EType type, AliRsnHistoDef *hd, AliRsnDaughter::EPIDMethod pidMethod,
AliRsnPID::EType pidType, Char_t sign) :
fType(type),
fPIDMethod(pidMethod),
case kAngleLeadingRMS:
text = "ANGLEADRMS";
break;
+ case kVtResolution:
+ text = "VTRES";
+ break;
+ case kVzResolution:
+ text = "VZRES";
+ break;
default:
AliError("Type not defined");
}
-
+
switch (fPIDMethod)
{
case AliRsnDaughter::kNoPID:
default:
AliError("PID method not defined");
}
-
+
text += AliRsnPID::ParticleName(fPIDType);
text += fCharge;
-
+
if (fEventCuts) {
text += '_';
text += fEventCuts->GetName();
// Fillse the histogram with data contained in a defined pair.
// This method must be overidden by an appropriate definition in each inheriting class.
//
-
+
if (fEventCuts) if (!fEventCuts->IsSelected(AliRsnCut::kEvent, event)) return kFALSE;
-
+
// first of all, set all selection definitions, using the ones in this object
event->SetSelectionPIDType(fPIDType);
event->SetSelectionCharge(fCharge);
//
Int_t count;
- Double_t output, mean = 0.0, rms = 0.0;
+ Double_t output, v[3], vMC[3], vt, vtMC, mean = 0.0, rms = 0.0;
AliRsnDaughter *trk = 0x0;
switch (fType)
fAccept = event->GetAngleDistrWRLeading(mean, rms, fLeadPtMin);
if (fType == kAngleLeadingMean) output = mean; else output = rms;
break;
+ case kVzResolution:
+ case kVtResolution:
+ fAccept = kTRUE;
+ v[0] = event->GetPrimaryVertexX();
+ v[1] = event->GetPrimaryVertexY();
+ v[2] = event->GetPrimaryVertexZ();
+ vMC[0] = event->GetPrimaryVertexXMC();
+ vMC[1] = event->GetPrimaryVertexYMC();
+ vMC[2] = event->GetPrimaryVertexZMC();
+ vt = TMath::Sqrt(v[0]*v[0] + v[1]*v[1]);
+ vtMC = TMath::Sqrt(vMC[0]*vMC[0] + vMC[1]*vMC[1]);
+ if (fType == kVtResolution) return (vt - vtMC); else return (v[2] - vMC[2]);
+ break;
default:
AliError(Form("Type '%d' not supported for EVENT functions", fType));
fAccept = kFALSE;
output = 0.0;
}
-
+
return output;
}