]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisTaskKineFilter.cxx
updated multiplicity analysis for the INEL>0 case
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskKineFilter.cxx
index f34e502a0cbd79e98bbfea9245549dd5c5a5d8a8..332bc6de8d1259a273db07ca91949400e5d10f45 100644 (file)
@@ -86,13 +86,13 @@ AliAnalysisTaskKineFilter& AliAnalysisTaskKineFilter::operator=(const AliAnalysi
 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
 //
@@ -101,6 +101,11 @@ void AliAnalysisTaskKineFilter::Exec(Option_t */*option*/)
     
   // get AliAOD Event 
   AliAODEvent* aod = AODEvent();
+  if (!aod) {
+      AliWarning("No Output Handler connected, doing nothing !") ;
+      return;
+  }
+  
 //  aod->CreateStdContent();
 
   AliStack* stack = MCEvent()->Stack();
@@ -156,10 +161,10 @@ void AliAnalysisTaskKineFilter::Exec(Option_t */*option*/)
     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);  
     }
     
     
@@ -243,9 +248,9 @@ Int_t AliAnalysisTaskKineFilter::LoopOverSecondaries(TParticle *mother, Int_t &j
 
       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;