#include <TTree.h>
#include <TChain.h>
#include "AliLog.h"
#include "AliESDInputHandler.h"
#include "AliESDtrack.h"
#include "AliESDEvent.h"
#include "AliESDfriend.h"
#include "AliAnalysisTaskFilter.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisTaskFilterFriend.h"
ClassImp(AliAnalysisTaskFilterFriend)
AliAnalysisTaskFilterFriend::AliAnalysisTaskFilterFriend():
AliAnalysisTaskFilter(),
fESDInput(0),
fESDfriendInput(0)
{
DefineInput(0, TChain::Class());
}
AliAnalysisTaskFilterFriend::AliAnalysisTaskFilterFriend(const char* name):
AliAnalysisTaskFilter(name),
fESDInput(0),
fESDfriendInput(0)
{
DefineInput(0, TChain::Class());
}
AliAnalysisTaskFilterFriend::~AliAnalysisTaskFilterFriend()
{
}
void AliAnalysisTaskFilterFriend::Init()
{
return;
}
void AliAnalysisTaskFilterFriend::UserCreateOutputObjects()
{
return;
}
void AliAnalysisTaskFilterFriend::UserExec(Option_t *)
{
fESDInput = dynamic_cast<AliESDEvent*>(InputEvent());
fESDfriendInput = InputFriend();
if(!fESDInput) {
printf("AliAnalysisTaskFilterFriend::Exec(): no ESD \n");
return;
}
if(!fESDfriendInput) {
printf("AliAnalysisTaskFilterFriend::Exec(): no ESDfriend \n");
return;
}
AliESDfriend* esdFriendOutput = (AliESDfriend*)ESDfriend();
AliDebug(3,Form("Number of ESD tracks in input = %d ",fESDInput->GetNumberOfTracks()));
AliDebug(3,Form("Number of tracks in input friends = %d ",fESDfriendInput->GetNumberOfTracks()));
AliDebug(3,Form("Number of tracks in output friendsNew before filtering = %d ",esdFriendOutput->GetNumberOfTracks()));
for (Int_t i = 0; i< fESDInput->GetNumberOfTracks(); i++){
if (i%2 ==0){
AliDebug(2,Form("Keeping %d-th track",i));
AliESDfriendTrack* tOld = (AliESDfriendTrack*)fESDfriendInput->GetTrack(i);
AliDebug(3,Form("1P of the %d-th track = %f",i,tOld->Get1P()));
AliDebug(3,Form("MaxITScluster %d-th track = %d",i,tOld->GetMaxITScluster()));
AddFriendTrackAt(tOld,i);
}
else {
SkipFriendTrackAt(i);
}
}
AliDebug(2,Form("Number of tracks in output friendsNew after filtering with GetEntries() = %d ",esdFriendOutput->GetEntriesInTracks()));
return;
}
void AliAnalysisTaskFilterFriend::Terminate(Option_t *)
{
AliDebug(2,"AliAnalysisTaskFilterFriend: Terminate() \n");
return;
}
Bool_t AliAnalysisTaskFilterFriend::UserSelectESDfriendForCurrentEvent()
{
fESDInput = dynamic_cast<AliESDEvent*>(InputEvent());
if (!fESDInput){
AliError("No ESD Input, discarding event...");
return kFALSE;
}
if ((fESDInput->GetNumberOfTracks())%2 == 0) {
AliDebug(2,"******************Selecting event");
return kTRUE;
}
AliDebug(2,"*******************Discarding event");
return kFALSE;
}
AliAnalysisTaskFilterFriend.cxx:1 AliAnalysisTaskFilterFriend.cxx:2 AliAnalysisTaskFilterFriend.cxx:3 AliAnalysisTaskFilterFriend.cxx:4 AliAnalysisTaskFilterFriend.cxx:5 AliAnalysisTaskFilterFriend.cxx:6 AliAnalysisTaskFilterFriend.cxx:7 AliAnalysisTaskFilterFriend.cxx:8 AliAnalysisTaskFilterFriend.cxx:9 AliAnalysisTaskFilterFriend.cxx:10 AliAnalysisTaskFilterFriend.cxx:11 AliAnalysisTaskFilterFriend.cxx:12 AliAnalysisTaskFilterFriend.cxx:13 AliAnalysisTaskFilterFriend.cxx:14 AliAnalysisTaskFilterFriend.cxx:15 AliAnalysisTaskFilterFriend.cxx:16 AliAnalysisTaskFilterFriend.cxx:17 AliAnalysisTaskFilterFriend.cxx:18 AliAnalysisTaskFilterFriend.cxx:19 AliAnalysisTaskFilterFriend.cxx:20 AliAnalysisTaskFilterFriend.cxx:21 AliAnalysisTaskFilterFriend.cxx:22 AliAnalysisTaskFilterFriend.cxx:23 AliAnalysisTaskFilterFriend.cxx:24 AliAnalysisTaskFilterFriend.cxx:25 AliAnalysisTaskFilterFriend.cxx:26 AliAnalysisTaskFilterFriend.cxx:27 AliAnalysisTaskFilterFriend.cxx:28 AliAnalysisTaskFilterFriend.cxx:29 AliAnalysisTaskFilterFriend.cxx:30 AliAnalysisTaskFilterFriend.cxx:31 AliAnalysisTaskFilterFriend.cxx:32 AliAnalysisTaskFilterFriend.cxx:33 AliAnalysisTaskFilterFriend.cxx:34 AliAnalysisTaskFilterFriend.cxx:35 AliAnalysisTaskFilterFriend.cxx:36 AliAnalysisTaskFilterFriend.cxx:37 AliAnalysisTaskFilterFriend.cxx:38 AliAnalysisTaskFilterFriend.cxx:39 AliAnalysisTaskFilterFriend.cxx:40 AliAnalysisTaskFilterFriend.cxx:41 AliAnalysisTaskFilterFriend.cxx:42 AliAnalysisTaskFilterFriend.cxx:43 AliAnalysisTaskFilterFriend.cxx:44 AliAnalysisTaskFilterFriend.cxx:45 AliAnalysisTaskFilterFriend.cxx:46 AliAnalysisTaskFilterFriend.cxx:47 AliAnalysisTaskFilterFriend.cxx:48 AliAnalysisTaskFilterFriend.cxx:49 AliAnalysisTaskFilterFriend.cxx:50 AliAnalysisTaskFilterFriend.cxx:51 AliAnalysisTaskFilterFriend.cxx:52 AliAnalysisTaskFilterFriend.cxx:53 AliAnalysisTaskFilterFriend.cxx:54 AliAnalysisTaskFilterFriend.cxx:55 AliAnalysisTaskFilterFriend.cxx:56 AliAnalysisTaskFilterFriend.cxx:57 AliAnalysisTaskFilterFriend.cxx:58 AliAnalysisTaskFilterFriend.cxx:59 AliAnalysisTaskFilterFriend.cxx:60 AliAnalysisTaskFilterFriend.cxx:61 AliAnalysisTaskFilterFriend.cxx:62 AliAnalysisTaskFilterFriend.cxx:63 AliAnalysisTaskFilterFriend.cxx:64 AliAnalysisTaskFilterFriend.cxx:65 AliAnalysisTaskFilterFriend.cxx:66 AliAnalysisTaskFilterFriend.cxx:67 AliAnalysisTaskFilterFriend.cxx:68 AliAnalysisTaskFilterFriend.cxx:69 AliAnalysisTaskFilterFriend.cxx:70 AliAnalysisTaskFilterFriend.cxx:71 AliAnalysisTaskFilterFriend.cxx:72 AliAnalysisTaskFilterFriend.cxx:73 AliAnalysisTaskFilterFriend.cxx:74 AliAnalysisTaskFilterFriend.cxx:75 AliAnalysisTaskFilterFriend.cxx:76 AliAnalysisTaskFilterFriend.cxx:77 AliAnalysisTaskFilterFriend.cxx:78 AliAnalysisTaskFilterFriend.cxx:79 AliAnalysisTaskFilterFriend.cxx:80 AliAnalysisTaskFilterFriend.cxx:81 AliAnalysisTaskFilterFriend.cxx:82 AliAnalysisTaskFilterFriend.cxx:83 AliAnalysisTaskFilterFriend.cxx:84 AliAnalysisTaskFilterFriend.cxx:85 AliAnalysisTaskFilterFriend.cxx:86 AliAnalysisTaskFilterFriend.cxx:87 AliAnalysisTaskFilterFriend.cxx:88 AliAnalysisTaskFilterFriend.cxx:89 AliAnalysisTaskFilterFriend.cxx:90 AliAnalysisTaskFilterFriend.cxx:91 AliAnalysisTaskFilterFriend.cxx:92 AliAnalysisTaskFilterFriend.cxx:93 AliAnalysisTaskFilterFriend.cxx:94 AliAnalysisTaskFilterFriend.cxx:95 AliAnalysisTaskFilterFriend.cxx:96 AliAnalysisTaskFilterFriend.cxx:97 AliAnalysisTaskFilterFriend.cxx:98 AliAnalysisTaskFilterFriend.cxx:99 AliAnalysisTaskFilterFriend.cxx:100 AliAnalysisTaskFilterFriend.cxx:101 AliAnalysisTaskFilterFriend.cxx:102 AliAnalysisTaskFilterFriend.cxx:103 AliAnalysisTaskFilterFriend.cxx:104 AliAnalysisTaskFilterFriend.cxx:105 AliAnalysisTaskFilterFriend.cxx:106 AliAnalysisTaskFilterFriend.cxx:107 AliAnalysisTaskFilterFriend.cxx:108 AliAnalysisTaskFilterFriend.cxx:109 AliAnalysisTaskFilterFriend.cxx:110 AliAnalysisTaskFilterFriend.cxx:111 AliAnalysisTaskFilterFriend.cxx:112 AliAnalysisTaskFilterFriend.cxx:113 AliAnalysisTaskFilterFriend.cxx:114 AliAnalysisTaskFilterFriend.cxx:115 AliAnalysisTaskFilterFriend.cxx:116 AliAnalysisTaskFilterFriend.cxx:117 AliAnalysisTaskFilterFriend.cxx:118 AliAnalysisTaskFilterFriend.cxx:119 AliAnalysisTaskFilterFriend.cxx:120 AliAnalysisTaskFilterFriend.cxx:121 AliAnalysisTaskFilterFriend.cxx:122 AliAnalysisTaskFilterFriend.cxx:123 AliAnalysisTaskFilterFriend.cxx:124 AliAnalysisTaskFilterFriend.cxx:125 AliAnalysisTaskFilterFriend.cxx:126 AliAnalysisTaskFilterFriend.cxx:127 AliAnalysisTaskFilterFriend.cxx:128 AliAnalysisTaskFilterFriend.cxx:129 AliAnalysisTaskFilterFriend.cxx:130 AliAnalysisTaskFilterFriend.cxx:131 AliAnalysisTaskFilterFriend.cxx:132 AliAnalysisTaskFilterFriend.cxx:133 AliAnalysisTaskFilterFriend.cxx:134 AliAnalysisTaskFilterFriend.cxx:135 AliAnalysisTaskFilterFriend.cxx:136 AliAnalysisTaskFilterFriend.cxx:137 AliAnalysisTaskFilterFriend.cxx:138 AliAnalysisTaskFilterFriend.cxx:139 AliAnalysisTaskFilterFriend.cxx:140 AliAnalysisTaskFilterFriend.cxx:141 AliAnalysisTaskFilterFriend.cxx:142 AliAnalysisTaskFilterFriend.cxx:143 AliAnalysisTaskFilterFriend.cxx:144 AliAnalysisTaskFilterFriend.cxx:145 AliAnalysisTaskFilterFriend.cxx:146 AliAnalysisTaskFilterFriend.cxx:147 AliAnalysisTaskFilterFriend.cxx:148 AliAnalysisTaskFilterFriend.cxx:149 AliAnalysisTaskFilterFriend.cxx:150 AliAnalysisTaskFilterFriend.cxx:151 AliAnalysisTaskFilterFriend.cxx:152 AliAnalysisTaskFilterFriend.cxx:153 AliAnalysisTaskFilterFriend.cxx:154 AliAnalysisTaskFilterFriend.cxx:155 AliAnalysisTaskFilterFriend.cxx:156 AliAnalysisTaskFilterFriend.cxx:157 AliAnalysisTaskFilterFriend.cxx:158 AliAnalysisTaskFilterFriend.cxx:159 AliAnalysisTaskFilterFriend.cxx:160 AliAnalysisTaskFilterFriend.cxx:161 AliAnalysisTaskFilterFriend.cxx:162 AliAnalysisTaskFilterFriend.cxx:163 AliAnalysisTaskFilterFriend.cxx:164 AliAnalysisTaskFilterFriend.cxx:165 AliAnalysisTaskFilterFriend.cxx:166 AliAnalysisTaskFilterFriend.cxx:167 AliAnalysisTaskFilterFriend.cxx:168 AliAnalysisTaskFilterFriend.cxx:169 AliAnalysisTaskFilterFriend.cxx:170