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