15 #include <TClonesArray.h>
16 #include <TObjArray.h>
18 #include <AliAODEvent.h>
19 #include <AliAODTrack.h>
20 #include <AliESDtrack.h>
28 namespace EMCalTriggerPtAnalysis {
34 AliEMCalPtTaskTrackSelectionAOD::AliEMCalPtTaskTrackSelectionAOD() :
50 fFilterBits(filterbits)
67 TIter trackIter(tracks);
68 AliVTrack *track(NULL);
69 while((track = dynamic_cast<AliVTrack *>(trackIter()))){
87 const AliAODEvent *aod =
dynamic_cast<const AliAODEvent *
>(event);
89 AliError(
"Event not of type AliAODEvent");
92 for(
int itrk = 0; itrk <
event->GetNumberOfTracks(); itrk++){
93 AliVTrack *trk =
dynamic_cast<AliVTrack *
>(
event->GetTrack(itrk));
111 AliAODTrack *aodt =
dynamic_cast<AliAODTrack *
>(trk);
114 if(picotrack) aodt =
dynamic_cast<AliAODTrack *
>(picotrack->
GetTrack());
116 AliError(
"Track neither AOD track nor pico track");
121 AliError(
"Failed getting AOD track");
125 Bool_t result = kTRUE;
127 for(TIter cutIter = TIter(
fListOfCuts).Begin(); cutIter != TIter::End(); ++cutIter){
128 AliVCuts *trackCuts =
static_cast<AliVCuts *
>(*cutIter);
129 if(trackCuts->IsA() == AliESDtrackCuts::Class()){
131 AliESDtrack copyTrack(aodt);
132 if(!trackCuts->IsSelected(©Track)) result = kFALSE;
134 if(!trackCuts->IsSelected(aodt)) result = kFALSE;
ClassImp(AliAnalysisTaskTriggerRates) AliAnalysisTaskTriggerRates
Interface for virtual track selection.
UInt_t fFilterBits
Track filter bits.
Implement virtual track selection for AOD analysis.
void AddTrackCuts(AliVCuts *cuts)
AliEMCalPtTaskTrackSelectionAOD()
virtual TObjArray * GetAcceptedTracks(const TClonesArray *const tracks)
AliVTrack * GetTrack() const
TObjArray * fListOfCuts
List of track cut objects.
TObjArray * fListOfTracks
TObjArray with accepted tracks.
Implement virtual track selection for AOD analysis.
virtual bool IsTrackAccepted(AliVTrack *const trk)