]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/AliRecInfoMaker.cxx
Correct formula for phi, in case of current local X <0, in GetLocalXat and GetPhiZat
[u/mrichter/AliRoot.git] / PWG1 / AliRecInfoMaker.cxx
index 415f62e92836ccc5272e74d5b15f70c9a3ae8a73..93c93eb165b9c617f07ac73cdf99e500dce85e4a 100644 (file)
@@ -296,7 +296,7 @@ AliRecInfoMaker::AliRecInfoMaker(const char* fnGenTracks,
   //
   fLoader = AliRunLoader::Open(fnGalice);
   if (gAlice){
-    //delete gAlice->GetRunLoader();
+    //delete AliRunLoader::Instance();
     delete gAlice;
     gAlice = 0x0;
   }
@@ -319,8 +319,6 @@ AliRecInfoMaker::AliRecInfoMaker(const char* fnGenTracks,
     fEventNr = nall-firstEvent;
     cerr<<"restricted number of events availaible"<<endl;
   }
-  AliMagF * magf = gAlice->Field();
-  AliTracker::SetFieldMap(magf,0);
   TGeoManager::Import("geometry.root");
 
 
@@ -761,11 +759,11 @@ Int_t AliRecInfoMaker::TreeTLoop()
     AliESDtrack * trackn = fEvent->GetTrack((v0MI->GetNindex()));
     AliESDtrack * trackp = fEvent->GetTrack((v0MI->GetPindex()));
     Int_t labels[2]={-1,-1};
-    labels[0] = (trackn==0) ? -1 : trackn->GetLabel(); 
-    labels[1] = (trackp==0) ? -1 : trackp->GetLabel(); 
+    labels[0] = (trackn==0) ? -1 : TMath::Abs(trackn->GetLabel()); 
+    labels[1] = (trackp==0) ? -1 : TMath::Abs(trackp->GetLabel()); 
     //
     for (Int_t i=0;i<2;i++){
-      Int_t absLabel =  labels[i];
+      Int_t absLabel =  TMath::Abs(labels[i]);
       if (absLabel < fNParticles) {
        if (fMultiRecV0[absLabel]>0){
          if (fMultiRecV0[absLabel]<20)
@@ -1071,6 +1069,7 @@ Int_t AliRecInfoMaker::BuildV0Info(Int_t eventNr)
   while (entry < nParticlesTR) {
     fTreeGenV0->GetEntry(entry);
     entry++;
+    fRecV0Info->Reset();  //reset all variables
     if (eventNr < fGenV0Info->GetMinus().fEventNr) continue;
     if (eventNr > fGenV0Info->GetMinus().fEventNr) continue;;
     //
@@ -1168,6 +1167,8 @@ Int_t AliRecInfoMaker::BuildV0Info(Int_t eventNr)
        AliESDtrack * trackp = fEvent->GetTrack((v0MI2->GetPindex()));
        Int_t vlabeln = (trackn==0) ? -1 : trackn->GetLabel(); 
        Int_t vlabelp = (trackp==0) ? -1 : trackp->GetLabel(); 
+       fRecV0Info->fLab[0]=TMath::Abs(vlabelp);
+       fRecV0Info->fLab[1]=TMath::Abs(vlabeln); 
        //
        if (TMath::Abs(vlabeln)==label &&TMath::Abs(vlabelp)==label2) {
          if (v0MI2->GetOnFlyStatus()) {
@@ -1215,6 +1216,7 @@ Int_t AliRecInfoMaker::BuildV0Info(Int_t eventNr)
     if (fSignedV0[i]==0){
       AliV0 *v0MI  = (AliV0*)fEvent->GetV0(i);
       if (!v0MI) continue;
+      fRecV0Info->Reset();  //reset all variables
       //
       new (fRecV0Info->fV0rec) AliV0(*v0MI);
       fRecV0Info->fV0Status  =-10;
@@ -1224,7 +1226,9 @@ Int_t AliRecInfoMaker::BuildV0Info(Int_t eventNr)
       AliESDtrack * trackp = fEvent->GetTrack((v0MI->GetPindex()));
       Int_t vlabeln = (trackn==0) ? -1 : trackn->GetLabel(); 
       Int_t vlabelp = (trackp==0) ? -1 : trackp->GetLabel(); 
-
+      fRecV0Info->fLab[0]=TMath::Abs(vlabelp);
+      fRecV0Info->fLab[1]=TMath::Abs(vlabeln);      
+      if (TMath::Abs(fRecV0Info->fLab[0] - fRecV0Info->fLab[1])<2) continue;
       AliESDRecInfo*  fRecInfo1 = (AliESDRecInfo*)fRecArray->At(TMath::Abs(vlabeln));
       AliESDRecInfo*  fRecInfo2 = (AliESDRecInfo*)fRecArray->At(TMath::Abs(vlabelp));
       if (fRecInfo1 && fRecInfo2){