7 #include <TClonesArray.h>
9 #include "AliAODEvent.h"
10 #include "AliAODTrack.h"
11 #include "AliAnalysisManager.h"
12 #include "AliESDtrack.h"
13 #include "AliESDtrackCuts.h"
17 #include "AliVTrack.h"
18 #include "AliAODMCParticle.h"
26 fTracksOutName("PicoTracks"),
27 fTracksInName("tracks"),
28 fMCParticlesName("mcparticles"),
45 fAODfilterBits[0] = -1;
46 fAODfilterBits[1] = -1;
52 fTracksOutName(
"PicoTracks"),
53 fTracksInName(
"tracks"),
54 fMCParticlesName(
"mcparticles"),
73 fBranchNames =
"ESD:AliESDHeader.,AliESDRun.,SPDVertex.,Tracks";
96 AliError(Form(
"Could not retrieve tracks %s!",
fTracksInName.Data()));
99 if (!
fTracksIn->GetClass()->GetBaseClass(
"AliVParticle")) {
100 AliError(Form(
"%s: Collection %s does not contain AliVParticle objects!", GetName(),
fTracksInName.Data()));
104 fTracksOut =
new TClonesArray(
"AliPicoTrack");
109 AliFatal(Form(
"Object %s already present in the event!",
fTracksOutName.Data()));
118 AliError(Form(
"Could not retrieve MC particles %s!",
fMCParticlesName.Data()));
120 if (!
fMCParticles->GetClass()->GetBaseClass(
"AliVParticle")) {
121 AliError(Form(
"%s: Collection %s does not contain AliVParticle objects!", GetName(),
fMCParticlesName.Data()));
137 for (
Int_t iTracks = 0, nacc = 0; iTracks < Ntracks; ++iTracks) {
139 AliVTrack *track =
static_cast<AliVTrack*
>(
fTracksIn->At(iTracks));
158 if (TMath::Abs(track->GetTrackEtaOnEMCal()) < 0.75 &&
159 track->GetTrackPhiOnEMCal() > 70 * TMath::DegToRad() &&
160 track->GetTrackPhiOnEMCal() < 190 * TMath::DegToRad())
169 track->GetTrackEtaOnEMCal(),
170 track->GetTrackPhiOnEMCal(),
171 track->GetTrackPtOnEMCal(),
176 AliVParticle *mcpart =
GetMCParticle(TMath::Abs(track->GetLabel()));
178 UInt_t mcFlag = mcpart->GetFlag();
180 Short_t genIndex = mcpart->GetGeneratorIndex();
195 if (index < 0 || index >=
fMCParticles->GetEntriesFast())
return 0;
196 AliVParticle *part =
static_cast<AliVParticle*
>(
fMCParticles->At(index));
virtual ~AliEmcalPicoTrackMaker()
Double_t fTrackEfficiency
AliNamedArrayI * fMCParticlesMap
MC particle array.
Byte_t GetTrackType() const
void SetTrack(AliVTrack *t)
AliVParticle * GetMCParticle(Int_t label)
void SetFlag(UInt_t flag)
TClonesArray * fTracksOut
track array in
void UserExec(Option_t *option)
TClonesArray * fMCParticles
track array out
Bool_t fInit
MC particle map.
void UserCreateOutputObjects()
ClassImp(AliEmcalPicoTrackMaker) AliEmcalPicoTrackMaker
void SetGeneratorIndex(Short_t i)