void AliAnalysisTaskKineFilter::UserCreateOutputObjects()
{
// Create the output container
-
- OutputTree()->GetUserInfo()->Add(fTrackFilter);
+ if (OutputTree())
+ OutputTree()->GetUserInfo()->Add(fTrackFilter);
}
//____________________________________________________________________
-void AliAnalysisTaskKineFilter::Exec(Option_t */*option*/)
+void AliAnalysisTaskKineFilter::UserExec(Option_t */*option*/)
{
// Execute analysis for current event
//
// get AliAOD Event
AliAODEvent* aod = AODEvent();
+ if (!aod) {
+ AliWarning("No Output Handler connected, doing nothing !") ;
+ return;
+ }
+
// aod->CreateStdContent();
AliStack* stack = MCEvent()->Stack();
TParticle *part = stack->Particle(iTrack);
if (iTrack == 0) {
- // add primary vertex
- x[0] = part->Vx(); x[1] = part->Vy(); x[2] = part->Vz();
- primary = new(vertices[jVertices++])
- AliAODVertex(x, NULL, -999., NULL, AliAODVertex::kPrimary);
+ // add primary vertex
+ x[0] = part->Vx(); x[1] = part->Vy(); x[2] = part->Vz();
+ primary = new(vertices[jVertices++])
+ AliAODVertex(x, NULL, -999., NULL, -1, AliAODVertex::kPrimary);
}
if (iDaughter == mother->GetFirstDaughter()) {
// add secondary vertex
- secondary = new(vertices[jVertices++])
- AliAODVertex(x, NULL, -999., tracks.Last(), AliAODVertex::kUndef);
- SetVertexType(part, secondary);
+ secondary = new(vertices[jVertices++])
+ AliAODVertex(x, NULL, -999., tracks.Last(), iDaughter, AliAODVertex::kUndef);
+ SetVertexType(part, secondary);
}
UInt_t selectInfo = 0;