#include <TF1.h>
#include <TH2F.h>
#include <TH1D.h>
+#include <TParticle.h>
#include "AliProtonAnalysis.h"
#include <AliLog.h>
#include <AliPID.h>
+#include <AliStack.h>
+
ClassImp(AliProtonAnalysis)
//____________________________________________________________________//
status = kFALSE;
}
- TList *list = (TList *)file->Get("clist1");
+ TList *list = (TList *)file->Get("outputList1");
if(list) {
cout<<"Retrieving objects from the list "<<list->GetName()<<"..."<<endl;
fHistYPtProtons = (TH2F *)list->At(0);
//____________________________________________________________________//
void AliProtonAnalysis::Analyze(AliESDEvent* fESD) {
- //Main analysis part
+ //Main analysis part - ESD
Double_t Pt = 0.0, P = 0.0;
Int_t nGoodTracks = fESD->GetNumberOfTracks();
for(Int_t iTracks = 0; iTracks < nGoodTracks; iTracks++) {
//____________________________________________________________________//
void AliProtonAnalysis::Analyze(AliAODEvent* fAOD) {
- //Main analysis part
+ //Main analysis part - AOD
Int_t nGoodTracks = fAOD->GetNumberOfTracks();
for(Int_t iTracks = 0; iTracks < nGoodTracks; iTracks++) {
AliAODTrack* track = fAOD->GetTrack(iTracks);
}//track loop
}
+//____________________________________________________________________//
+void AliProtonAnalysis::Analyze(AliStack* stack) {
+ //Main analysis part - MC
+ for(Int_t i = 0; i < stack->GetNprimary(); i++) {
+ TParticle *particle = stack->Particle(i);
+ if(particle->Pt() < 0.1) continue;
+ if(TMath::Abs(particle->Eta()) > 1.0) continue;
+ Int_t pdgcode = particle->GetPdgCode();
+ if(pdgcode == 2212) fHistYPtProtons->Fill(Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ if(pdgcode == -2212) fHistYPtAntiProtons->Fill(Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//particle loop
+}
+
//____________________________________________________________________//
Bool_t AliProtonAnalysis::IsAccepted(AliESDtrack* track) {
// Checks if the track is excluded from the cuts