]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/CheckESD.C
Fix for IsTriggerInputFired,GetFiredTriggerInputs
[u/mrichter/AliRoot.git] / STEER / CheckESD.C
index 0784298c354b61bf4adfa07c7a4e3df12835c0ea..31864186459c1721a172d5d67d6d81b3f03669f9 100644 (file)
 #include "AliHeader.h"
 #include "AliGenEventHeader.h"
 #include "AliPID.h"
+#include "AliESDpid.h"
 #endif
-const Int_t kXiMinus = 3312;
-const Int_t kOmegaMinus = 3334;
-
 
 TH1F* CreateHisto(const char* name, const char* title, 
                  Int_t nBins, Double_t xMin, Double_t xMax,
@@ -169,6 +167,10 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
   }
   esd->ReadFromTree(tree);
 
+  // PID
+
+  AliESDpid * pid = new AliESDpid(kTRUE);
+
   // efficiency and resolution histograms
   Int_t nBinsPt = 15;
   Float_t minPt = 0.1;
@@ -224,7 +226,7 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
   hResTOFWrong->SetLineColor(kRed);
 
   // calorimeters
-  TH1F* hEPHOS = CreateHisto("hEPHOS", "PHOS", 100, 0, 5, "E [GeV]", "N");
+  TH1F* hEPHOS = CreateHisto("hEPHOS", "PHOS", 100, 0, 50, "E [GeV]", "N");
   TH1F* hEEMCAL = CreateHisto("hEEMCAL", "EMCAL", 100, 0, 50, "E [GeV]", "N");
 
   // muons
@@ -253,7 +255,7 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
     runLoader->GetEvent(iEvent);
 
     // select simulated primary particles, V0s and cascades
-    AliStack* stack = gAlice->Stack();
+    AliStack* stack = runLoader->Stack();
     Int_t nParticles = stack->GetNtrack();
     TArrayF vertex(3);
     runLoader->GetHeader()->GenEventHeader()->PrimaryVertex(vertex);
@@ -310,6 +312,9 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
       return kFALSE;
     }
 
+    // PID for MC
+    pid->MakePID(esd,kTRUE);
+
     // loop over tracks
     for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
       AliESDtrack* track = esd->GetTrack(iTrack);
@@ -328,13 +333,10 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
       if (track->GetLabel() < 0) nFake++;
 
       // resolutions
-      Double_t p[3];
-      track->GetConstrainedPxPyPz(p);
-      TVector3 pTrack(p);
-      hResPtInv->Fill(100. * (1./pTrack.Pt() - 1./particle->Pt()) * 
+      hResPtInv->Fill(100. * (TMath::Abs(track->GetSigned1Pt()) - 1./particle->Pt()) * 
                      particle->Pt());
-      hResPhi->Fill(1000. * (pTrack.Phi() - particle->Phi()));
-      hResTheta->Fill(1000. * (pTrack.Theta() - particle->Theta()));
+      hResPhi->Fill(1000. * (track->Phi() - particle->Phi()));
+      hResTheta->Fill(1000. * (track->Theta() - particle->Theta()));
 
       // PID
       if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) continue;
@@ -357,15 +359,15 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
       if (iGen == iRec) nIdentified++;
 
       // dE/dx and TOF
-      Double_t time[AliPID::kSPECIES];
+      Double_t time[AliPID::kSPECIESC];
       track->GetIntegratedTimes(time);
       if (iGen == iRec) {
-       hDEdxRight->Fill(pTrack.Mag(), track->GetTPCsignal());
+       hDEdxRight->Fill(particle->P(), track->GetTPCsignal());
         if ((track->GetStatus() & AliESDtrack::kTOFpid) != 0) {
          hResTOFRight->Fill(track->GetTOFsignal() - time[iRec]);
        }
       } else {
-       hDEdxWrong->Fill(pTrack.Mag(), track->GetTPCsignal());
+       hDEdxWrong->Fill(particle->P(), track->GetTPCsignal());
         if ((track->GetStatus() & AliESDtrack::kTOFpid) != 0) {
          hResTOFWrong->Fill(track->GetTOFsignal() - time[iRec]);
        }
@@ -414,9 +416,9 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
       AliESDcascade* cascade = esd->GetCascade(iCascade);
       Double_t v0q;
       cascade->ChangeMassHypothesis(v0q,kXiMinus);
-      hMassXi->Fill(cascade->GetEffMass());
+      hMassXi->Fill(cascade->GetEffMassXi());
       cascade->ChangeMassHypothesis(v0q,kOmegaMinus);
-      hMassOmega->Fill(cascade->GetEffMass());
+      hMassOmega->Fill(cascade->GetEffMassXi());
 
       Int_t negLabel = TMath::Abs(esd->GetTrack(cascade->GetNindex())
                                  ->GetLabel());
@@ -692,6 +694,7 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root",
   runLoader->UnloadHeader();
   runLoader->UnloadKinematics();
   delete runLoader;
+  delete pid;
 
   // result of check
   Info("CheckESD", "check of ESD was successfull");