Bugfixes again for HLT.
[u/mrichter/AliRoot.git] / JETAN / AliJetParticlesReaderESD.cxx
index d58d34a657f04651fd8c9c121a90ee98c60d5816..735e174364a73514370835a946968cfa6a6b911d 100644 (file)
@@ -83,12 +83,14 @@ Int_t AliJetParticlesReaderESD::ReadESD(AliESD* esd)
      return kFALSE;
    }
 
-  //TDatabasePDG* pdgdb = TDatabasePDG::Instance();
-  //if (pdgdb == 0)
-  //{
-  //   Error("ReadESD","Can not get PDG Database Instance.");
-  //   return kFALSE;
-  // }
+  /*
+  TDatabasePDG* pdgdb = TDatabasePDG::Instance();
+  if (pdgdb == 0)
+  {
+     Error("ReadESD","Can not get PDG Database Instance.");
+     return kFALSE;
+  }
+  */
    
   Float_t mf = esd->GetMagneticField(); 
   if (mf <= 0.0)  
@@ -98,7 +100,7 @@ Int_t AliJetParticlesReaderESD::ReadESD(AliESD* esd)
   }
   AliKalmanTrack::SetMagneticField(mf/10.);
 
-  Info("ReadESD","Reading Event %d",fCurrentEvent);
+  Info("ReadESD","Reading Event %d",fCurrentDir*1000+fCurrentEvent);
   if((!fOwner) || (fEventParticles==0)) 
     fEventParticles = new AliJetEventParticles();
 
@@ -138,10 +140,12 @@ Int_t AliJetParticlesReaderESD::ReadESD(AliESD* esd)
         Error("ReadESD","Can't get track %d", i);
         continue;
       }
-
-     if ((kesdtrack->GetStatus() & fPassFlag)!=fPassFlag)
+     
+     ULong_t cmptest=(kesdtrack->GetStatus() & fPassFlag);
+     if (cmptest!=fPassFlag)
       {
-       Info("ReadNext","Particle skipped: %u.",kesdtrack->GetStatus());
+       Info("ReadNext","Particle %d skipped: %u.",i,kesdtrack->GetStatus());
+       cout << i << " "; PrintESDtrack(kesdtrack); cout << endl;
         continue;
       }
 
@@ -152,8 +156,8 @@ Int_t AliJetParticlesReaderESD::ReadESD(AliESD* esd)
        kesdtrack->GetConstrainedPxPyPz(mom);
        kesdtrack->GetConstrainedXYZ(xyz);
      } else {
-       kesdtrack->GetPxPyPz(mom);
-       kesdtrack->GetXYZ(xyz);
+       if(!kesdtrack->GetPxPyPzAt(0,mom)) continue;
+       kesdtrack->GetXYZAt(0, xyz);
      }
      const Float_t kmass=kesdtrack->GetMass();
      const Float_t kp2=mom[0]*mom[0]+mom[1]*mom[1]+mom[2]*mom[2];
@@ -299,3 +303,45 @@ TFile* AliJetParticlesReaderESD::OpenFile(Int_t n)
    
  return ret;
 }
+
+/**********************************************************/
+
+void AliJetParticlesReaderESD::PrintESDtrack(const AliESDtrack *kesdtrack) const
+{
+  ULong_t status=kesdtrack->GetStatus();
+  cout << hex << status << dec << ": ";
+  if((status & AliESDtrack::kITSin) == AliESDtrack::kITSin) cout << "ITSin ";
+  if((status & AliESDtrack::kITSout) == AliESDtrack::kITSout) cout << "ITSout ";
+  if((status & AliESDtrack::kITSrefit) == AliESDtrack::kITSrefit) cout << "ITSrefit ";
+  if((status & AliESDtrack::kITSpid) == AliESDtrack::kITSpid) cout << "ITSpid ";
+
+  if((status & AliESDtrack::kTPCin)  == AliESDtrack::kTPCin) cout << "TPCin ";
+  if((status & AliESDtrack::kTPCout) == AliESDtrack::kTPCout) cout << "TPCout ";
+  if((status & AliESDtrack::kTPCrefit) == AliESDtrack::kTPCrefit) cout << "TPCrefit ";
+  if((status & AliESDtrack::kTPCpid) == AliESDtrack::kTPCpid) cout << "TPCpid ";
+
+  if((status & AliESDtrack::kTRDin) == AliESDtrack::kTRDin) cout << "TRDin ";
+  if((status & AliESDtrack::kTRDout) == AliESDtrack::kTRDout) cout << "TRDout ";
+  if((status & AliESDtrack::kTRDrefit) == AliESDtrack::kTRDrefit) cout << "TRDrefit ";
+  if((status & AliESDtrack::kTRDpid) == AliESDtrack::kTRDpid) cout << "TRDpid ";
+  if((status & AliESDtrack::kTRDbackup) == AliESDtrack::kTRDbackup) cout << "TRDbackup ";
+  if((status & AliESDtrack::kTRDStop) == AliESDtrack::kTRDStop) cout << "TRDstop ";
+
+  if((status & AliESDtrack::kTOFin) == AliESDtrack::kTOFin) cout << "TOFin ";
+  if((status & AliESDtrack::kTOFout) == AliESDtrack::kTOFout) cout << "TOFout ";
+  if((status & AliESDtrack::kTOFrefit) == AliESDtrack::kTOFrefit) cout << "TOFrefit ";
+  if((status & AliESDtrack::kTOFpid) == AliESDtrack::kTOFpid) cout << "TOFpid ";
+
+  if((status & AliESDtrack::kPHOSpid) == AliESDtrack::kPHOSpid) cout << "PHOSpid ";
+  if((status & AliESDtrack::kRICHpid) == AliESDtrack::kRICHpid) cout << "RICHpid ";
+  if((status & AliESDtrack::kEMCALpid) == AliESDtrack::kEMCALpid) cout << "EMCALpid ";
+  if((status & AliESDtrack::kESDpid) == AliESDtrack::kESDpid) cout << "ESDpid ";
+  if((status & AliESDtrack::kTIME) == AliESDtrack::kTIME) cout << "TIME ";
+  cout << endl; 
+  /*
+  cout << kesdtrack->GetConstrainedChi2() 
+       << " " << kesdtrack->GetITSchi2()
+       << " " << kesdtrack->GetTPCchi2() 
+       << " " << kesdtrack->GetTRDchi2()<< endl;
+  */
+}