X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FCheckESD.C;h=1f700d32b409b3c59f8f36feb6110839cd575313;hb=2894a0c933f304a64c12524138f980a805323c0f;hp=aac7a8e3dee34d96ac7b0487282bd943ce966193;hpb=15e85efa2197faeeda0d493c5d955a7f54b38352;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/CheckESD.C b/STEER/CheckESD.C index aac7a8e3dee..1f700d32b40 100644 --- a/STEER/CheckESD.C +++ b/STEER/CheckESD.C @@ -1,4 +1,5 @@ #if !defined( __CINT__) || defined(__MAKECINT__) +#include #include #include #include @@ -11,18 +12,18 @@ #include "AliRunLoader.h" #include "AliLoader.h" -#include "AliESD.h" +#include "AliESDEvent.h" +#include "AliESDv0.h" +#include "AliESDcascade.h" +#include "AliESDMuonTrack.h" +#include "AliESDCaloCluster.h" #include "AliRun.h" #include "AliStack.h" #include "AliHeader.h" #include "AliGenEventHeader.h" #include "AliPID.h" -#else -const Int_t kXiMinus = 3312; -const Int_t kOmegaMinus = 3334; #endif - TH1F* CreateHisto(const char* name, const char* title, Int_t nBins, Double_t xMin, Double_t xMax, const char* xLabel = NULL, const char* yLabel = NULL) @@ -157,15 +158,15 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root", Error("CheckESD", "opening ESD file %s failed", esdFileName); return kFALSE; } - AliESD* esd = new AliESD; + AliESDEvent * esd = new AliESDEvent; TTree* tree = (TTree*) esdFile->Get("esdTree"); if (!tree) { Error("CheckESD", "no ESD tree found"); return kFALSE; } - tree->SetBranchAddress("ESD", &esd); + esd->ReadFromTree(tree); - // efficienc and resolution histograms + // efficiency and resolution histograms Int_t nBinsPt = 15; Float_t minPt = 0.1; Float_t maxPt = 3.1; @@ -220,8 +221,8 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root", hResTOFWrong->SetLineColor(kRed); // calorimeters - TH1F* hEPHOS = CreateHisto("hEPHOS", "PHOS", 100, 0, 5, "E [GeV]", "N"); - TH1F* hEEMCAL = CreateHisto("hEEMCAL", "EMCAL", 100, 0, 2, "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 TH1F* hPtMUON = CreateHisto("hPtMUON", "MUON", 100, 0, 20, @@ -249,7 +250,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); @@ -324,13 +325,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; @@ -356,12 +354,12 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root", Double_t time[AliPID::kSPECIES]; 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]); } @@ -382,6 +380,7 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root", // loop over V0s for (Int_t iV0 = 0; iV0 < esd->GetNumberOfV0s(); iV0++) { AliESDv0* v0 = esd->GetV0(iV0); + if (v0->GetOnFlyStatus()) continue; v0->ChangeMassHypothesis(kK0Short); hMassK0->Fill(v0->GetEffMass()); v0->ChangeMassHypothesis(kLambda0); @@ -409,9 +408,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()); @@ -435,6 +434,16 @@ Bool_t CheckESD(const char* gAliceFileName = "galice.root", selCascades.Remove(particle); nRecCascades++; } + + // loop over the clusters + { + for (Int_t iCluster=0; iClusterGetNumberOfCaloClusters(); iCluster++) { + AliESDCaloCluster * clust = esd->GetCaloCluster(iCluster); + if (clust->IsPHOS()) hEPHOS->Fill(clust->E()); + if (clust->IsEMCAL()) hEEMCAL->Fill(clust->E()); + } + } + } // perform checks