1 #include "AlidNdEtaAnalysisMCSelector.h"
7 #include <TParticlePDG.h>
11 #include <AliGenEventHeader.h>
12 #include <AliTracker.h>
14 #include "../esdTrackCuts/AliESDtrackCuts.h"
15 #include "dNdEtaCorrection.h"
16 #include "dNdEtaAnalysis.h"
18 ClassImp(AlidNdEtaAnalysisMCSelector)
20 AlidNdEtaAnalysisMCSelector::AlidNdEtaAnalysisMCSelector(TTree * tree) :
21 AlidNdEtaAnalysisSelector(tree)
24 // Constructor. Initialization of pointers
28 AlidNdEtaAnalysisMCSelector::~AlidNdEtaAnalysisMCSelector()
35 Bool_t AlidNdEtaAnalysisMCSelector::Process(Long64_t entry)
39 if (AliSelector::Process(entry) == kFALSE)
42 TTree* particleTree = GetKinematics();
43 if (!fHeader || !particleTree)
47 AliGenEventHeader* genHeader = fHeader->GenEventHeader();
50 genHeader->PrimaryVertex(vtxMC);
52 TParticle* particle = 0;
53 particleTree->SetBranchAddress("Particles", &particle);
55 Int_t nPrim = fHeader->GetNprimary();
56 Int_t nTotal = fHeader->GetNtrack();
58 for (Int_t i_mc = nTotal - nPrim; i_mc < nTotal; ++i_mc)
60 particleTree->GetEntry(i_mc);
65 if (IsPrimaryCharged(particle, nPrim) == kFALSE)
68 fdNdEtaAnalysis->FillTrack(vtxMC[2], particle->Eta(), 1);
70 fdNdEtaAnalysis->FillEvent(vtxMC[2]);