]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGPP/AliAnalysisTaskFilteredTree.cxx
Generation of dictionaries and rootmaps with Root6
[u/mrichter/AliRoot.git] / PWGPP / AliAnalysisTaskFilteredTree.cxx
index 52c875ebd97663a45a9e365fd562d78a1f1bb5f6..5bcb187a2721d61e7b16724fe71e61028a9f5898 100644 (file)
@@ -368,7 +368,7 @@ void AliAnalysisTaskFilteredTree::ProcessCosmics(AliESDEvent *const event, AliES
   Int_t ntracks=event->GetNumberOfTracks(); 
   UInt_t specie = event->GetEventSpecie();  // skip laser events
   if (specie==AliRecoParam::kCalib) return;
-
+  Int_t ntracksFriend = esdFriend ? esdFriend->GetNumberOfTracks() : 0;
 
 
   for (Int_t itrack0=0;itrack0<ntracks;itrack0++) {
@@ -389,7 +389,11 @@ void AliAnalysisTaskFilteredTree::ProcessCosmics(AliESDEvent *const event, AliES
     //if (TMath::Abs(dcaTPC[1])<kMaxDelta[0]*2) continue;
     //    const AliExternalTrackParam * trackIn0 = track0->GetInnerParam();
     AliESDfriendTrack* friendTrack0=NULL;
-    if (esdFriend) {if (!esdFriend->TestSkipBit()) friendTrack0 = esdFriend->GetTrack(itrack0);} //this guy can be NULL
+    if (esdFriend &&!esdFriend->TestSkipBit()){
+      if (itrack0<ntracksFriend){
+       friendTrack0 = esdFriend->GetTrack(itrack0);
+      } //this guy can be NULL
+    }
 
     for (Int_t itrack1=itrack0+1;itrack1<ntracks;itrack1++) {
       AliESDtrack *track1 = event->GetTrack(itrack1);
@@ -444,7 +448,12 @@ void AliAnalysisTaskFilteredTree::ProcessCosmics(AliESDEvent *const event, AliES
       
 
       AliESDfriendTrack* friendTrack1=NULL;
-      if (esdFriend) {if (!esdFriend->TestSkipBit()) friendTrack1 = esdFriend->GetTrack(itrack1);} //this guy can be NULL
+      if (esdFriend &&!esdFriend->TestSkipBit()){
+       if (itrack1<ntracksFriend){
+         friendTrack1 = esdFriend->GetTrack(itrack1);
+       } //this guy can be NULL
+      }
+
       //
       AliESDfriendTrack *friendTrackStore0=friendTrack0;    // store friend track0 for later processing
       AliESDfriendTrack *friendTrackStore1=friendTrack1;    // store friend track1 for later processing
@@ -599,7 +608,7 @@ void AliAnalysisTaskFilteredTree::Process(AliESDEvent *const esdEvent, AliMCEven
   if(!vtxSPD) return;
 
   Bool_t isEventOK = evtCuts->AcceptEvent(esdEvent,mcEvent,vtxESD); 
-  //printf("isEventOK %d, isEventTriggered %d, status %d, vz %f \n",isEventOK, isEventTriggered, vtxESD->GetStatus(), vtxESD->GetZv());
+  //printf("isEventOK %d, isEventTriggered %d, status %d, vz %f \n",isEventOK, isEventTriggered, vtxESD->GetStatus(), vtxESD->GetZ());
   //printf("GetAnalysisMode() %d \n",GetAnalysisMode());
   Int_t ntracks = esdEvent->GetNumberOfTracks();
 
@@ -622,9 +631,9 @@ void AliAnalysisTaskFilteredTree::Process(AliESDEvent *const esdEvent, AliMCEven
 
     //
     //Double_t vert[3] = {0}; 
-    //vert[0] = vtxESD->GetXv();
-    //vert[1] = vtxESD->GetYv();
-    //vert[2] = vtxESD->GetZv();
+    //vert[0] = vtxESD->GetX();
+    //vert[1] = vtxESD->GetY();
+    //vert[2] = vtxESD->GetZ();
     Int_t mult = vtxESD->GetNContributors();
     Int_t multSPD = vtxSPD->GetNContributors();
     Int_t multTPC = vtxTPC->GetNContributors();
@@ -899,9 +908,9 @@ void AliAnalysisTaskFilteredTree::ProcessAll(AliESDEvent *const esdEvent, AliMCE
 
     //
     Double_t vert[3] = {0}; 
-    vert[0] = vtxESD->GetXv();
-    vert[1] = vtxESD->GetYv();
-    vert[2] = vtxESD->GetZv();
+    vert[0] = vtxESD->GetX();
+    vert[1] = vtxESD->GetY();
+    vert[2] = vtxESD->GetZ();
     Int_t mult = vtxESD->GetNContributors();
     Float_t bz = esdEvent->GetMagneticField();
     Int_t runNumber = esdEvent->GetRunNumber();
@@ -1577,9 +1586,9 @@ void AliAnalysisTaskFilteredTree::ProcessMCEff(AliESDEvent *const esdEvent, AliM
 
     // reco event info
     Double_t vert[3] = {0}; 
-    vert[0] = vtxESD->GetXv();
-    vert[1] = vtxESD->GetYv();
-    vert[2] = vtxESD->GetZv();
+    vert[0] = vtxESD->GetX();
+    vert[1] = vtxESD->GetY();
+    vert[2] = vtxESD->GetZ();
     Int_t mult = vtxESD->GetNContributors();
     Double_t bz = esdEvent->GetMagneticField();
     Double_t runNumber = esdEvent->GetRunNumber();
@@ -1833,8 +1842,13 @@ void AliAnalysisTaskFilteredTree::ProcessV0(AliESDEvent *const esdEvent, AliMCEv
       AliESDfriendTrack* friendTrack1=NULL;
       if (esdFriend)       {
         if (!esdFriend->TestSkipBit()){
-          friendTrack0 = esdFriend->GetTrack(v0->GetIndex(0)); //this guy can be NULL
-          friendTrack1 = esdFriend->GetTrack(v0->GetIndex(1)); //this guy can be NULL
+         Int_t ntracksFriend = esdFriend->GetNumberOfTracks();
+         if (v0->GetIndex(0)<ntracksFriend){
+           friendTrack0 = esdFriend->GetTrack(v0->GetIndex(0)); //this guy can be NULL
+         }
+         if (v0->GetIndex(1)<ntracksFriend){
+           friendTrack1 = esdFriend->GetTrack(v0->GetIndex(1)); //this guy can be NULL
+         }
         }
       }
       if (track0->GetSign()<0) {
@@ -1969,9 +1983,9 @@ void AliAnalysisTaskFilteredTree::ProcessdEdx(AliESDEvent *const esdEvent, AliMC
   if(isEventOK && isEventTriggered)
   {
     Double_t vert[3] = {0}; 
-    vert[0] = vtxESD->GetXv();
-    vert[1] = vtxESD->GetYv();
-    vert[2] = vtxESD->GetZv();
+    vert[0] = vtxESD->GetX();
+    vert[1] = vtxESD->GetY();
+    vert[2] = vtxESD->GetZ();
     Int_t mult = vtxESD->GetNContributors();
     Double_t bz = esdEvent->GetMagneticField();
     Double_t runNumber = esdEvent->GetRunNumber();
@@ -1990,7 +2004,13 @@ void AliAnalysisTaskFilteredTree::ProcessdEdx(AliESDEvent *const esdEvent, AliMC
       AliESDtrack *track = esdEvent->GetTrack(iTrack);
       if(!track) continue;
       AliESDfriendTrack* friendTrack=NULL;
-      if (esdFriend) {if (!esdFriend->TestSkipBit()) friendTrack = esdFriend->GetTrack(iTrack);} //this guy can be NULL
+      if (esdFriend && !esdFriend->TestSkipBit()) {
+       Int_t ntracksFriend = esdFriend->GetNumberOfTracks();
+       if (iTrack<ntracksFriend){
+         friendTrack = esdFriend->GetTrack(iTrack);
+       } //this guy can be NULL        
+      }
+      
       if(track->Charge()==0) continue;
       if(!esdTrackCuts->AcceptTrack(track)) continue;
       if(!accCuts->AcceptTrack(track)) continue;