#include "AliAnalysisTaskSE.h"
#include "AliAODHandler.h"
#include "AliAnalysisManager.h"
#include "AliLog.h"
#include "AliJEfficiencyTask.h"
#include "AliJEventHeader.h"
#include "AliJRunHeader.h"
#include "AliJCORRANTask.h"
AliJEfficiencyTask::AliJEfficiencyTask() :
AliAnalysisTaskSE("JEfficiencyTask"),
fFilterTask(NULL),
fFilterTaskName(""),
fEfficiencyScanner(0x0),
fEffHistDir(0x0)
{
DefineOutput (1, TDirectory::Class());
}
AliJEfficiencyTask::AliJEfficiencyTask(const char *name, TString inputformat):
AliAnalysisTaskSE(name),
fFilterTask(NULL),
fFilterTaskName(""),
fEfficiencyScanner(0x0),
fEffHistDir(0x0)
{
AliInfo("---- AliJEfficiencyTask Constructor ----");
JUNUSED(inputformat);
DefineOutput (1, TDirectory::Class());
fEfficiencyScanner = new AliJEfficiencyScanner( Form("%sEffScanner",name ));
}
AliJEfficiencyTask::AliJEfficiencyTask(const AliJEfficiencyTask& ap) :
AliAnalysisTaskSE(ap.GetName()),
fFilterTask(ap.fFilterTask),
fFilterTaskName(ap.fFilterTaskName),
fEfficiencyScanner( ap.fEfficiencyScanner ),
fEffHistDir( ap.fEffHistDir )
{
AliInfo("----DEBUG AliJEfficiencyTask COPY ----");
}
AliJEfficiencyTask& AliJEfficiencyTask::operator = (const AliJEfficiencyTask& ap)
{
AliInfo("----DEBUG AliJEfficiencyTask operator= ----");
this->~AliJEfficiencyTask();
new(this) AliJEfficiencyTask(ap);
return *this;
}
AliJEfficiencyTask::~AliJEfficiencyTask()
{
delete fEfficiencyScanner;
}
void AliJEfficiencyTask::UserCreateOutputObjects()
{
if(fDebug > 1) printf("AliJEfficiencyTask::UserCreateOutPutData() \n");
AliAnalysisManager *man = AliAnalysisManager::GetAnalysisManager();
if(!man->GetOutputEventHandler()) {
Fatal("UserCreateOutputObjects", "This task needs an AOD handler");
return;
}
fFilterTask = (AliJCORRANTask*)(man->GetTask( fFilterTaskName ));
OpenFile(1);
fEfficiencyScanner->SetJRunHeader( fFilterTask->GetJRunHeader() );
fEfficiencyScanner->SetJTrackList( fFilterTask->GetFilter()->GetTrackList() );
fEfficiencyScanner->SetJMCTrackList( fFilterTask->GetFilter()->GetMCTrackList() );
fEffHistDir = gDirectory;
fEffHistDir->cd();
fEfficiencyScanner->UserCreateOutputObjects();
PostData( 1, fEffHistDir );
cout << "Add(fAliRunHeader) in UserCreateObject() ======= " << endl;
}
void AliJEfficiencyTask::UserExec(Option_t* )
{
if(fDebug > 5) cout << "------- AliJEfficiencyTask Exec-------"<<endl;
if(!((Entry()-1)%100)) AliInfo(Form(" Processing event # %lld", Entry()));
if( fFilterTask->GetFilterEntry() != fEntry ) return;
if( fFilterTask->GetFilter()->GetEventSuccess() ){
fEfficiencyScanner->SetJEventHeader( (AliJEventHeader*) fFilterTask->GetFilter()->GetHeaderList()->At(0) );
fEfficiencyScanner->UserExec("");
PostData(1, fEffHistDir );
}
if(fDebug > 5) cout << "\t------- End UserExec "<<endl;
}
void AliJEfficiencyTask::Init()
{
AliInfo("Doing initialization") ;
fEfficiencyScanner->Init();
}
void AliJEfficiencyTask::Terminate(Option_t *)
{
cout<<"JEfficiency Analysis DONE !!"<<endl;
}
AliJEfficiencyTask.cxx:10 AliJEfficiencyTask.cxx:11 AliJEfficiencyTask.cxx:12 AliJEfficiencyTask.cxx:13 AliJEfficiencyTask.cxx:14 AliJEfficiencyTask.cxx:15 AliJEfficiencyTask.cxx:16 AliJEfficiencyTask.cxx:17 AliJEfficiencyTask.cxx:18 AliJEfficiencyTask.cxx:19 AliJEfficiencyTask.cxx:20 AliJEfficiencyTask.cxx:21 AliJEfficiencyTask.cxx:22 AliJEfficiencyTask.cxx:23 AliJEfficiencyTask.cxx:24 AliJEfficiencyTask.cxx:25 AliJEfficiencyTask.cxx:26 AliJEfficiencyTask.cxx:27 AliJEfficiencyTask.cxx:28 AliJEfficiencyTask.cxx:29 AliJEfficiencyTask.cxx:30 AliJEfficiencyTask.cxx:31 AliJEfficiencyTask.cxx:32 AliJEfficiencyTask.cxx:33 AliJEfficiencyTask.cxx:34 AliJEfficiencyTask.cxx:35 AliJEfficiencyTask.cxx:36 AliJEfficiencyTask.cxx:37 AliJEfficiencyTask.cxx:38 AliJEfficiencyTask.cxx:39 AliJEfficiencyTask.cxx:40 AliJEfficiencyTask.cxx:41 AliJEfficiencyTask.cxx:42 AliJEfficiencyTask.cxx:43 AliJEfficiencyTask.cxx:44 AliJEfficiencyTask.cxx:45 AliJEfficiencyTask.cxx:46 AliJEfficiencyTask.cxx:47 AliJEfficiencyTask.cxx:48 AliJEfficiencyTask.cxx:49 AliJEfficiencyTask.cxx:50 AliJEfficiencyTask.cxx:51 AliJEfficiencyTask.cxx:52 AliJEfficiencyTask.cxx:53 AliJEfficiencyTask.cxx:54 AliJEfficiencyTask.cxx:55 AliJEfficiencyTask.cxx:56 AliJEfficiencyTask.cxx:57 AliJEfficiencyTask.cxx:58 AliJEfficiencyTask.cxx:59 AliJEfficiencyTask.cxx:60 AliJEfficiencyTask.cxx:61 AliJEfficiencyTask.cxx:62 AliJEfficiencyTask.cxx:63 AliJEfficiencyTask.cxx:64 AliJEfficiencyTask.cxx:65 AliJEfficiencyTask.cxx:66 AliJEfficiencyTask.cxx:67 AliJEfficiencyTask.cxx:68 AliJEfficiencyTask.cxx:69 AliJEfficiencyTask.cxx:70 AliJEfficiencyTask.cxx:71 AliJEfficiencyTask.cxx:72 AliJEfficiencyTask.cxx:73 AliJEfficiencyTask.cxx:74 AliJEfficiencyTask.cxx:75 AliJEfficiencyTask.cxx:76 AliJEfficiencyTask.cxx:77 AliJEfficiencyTask.cxx:78 AliJEfficiencyTask.cxx:79 AliJEfficiencyTask.cxx:80 AliJEfficiencyTask.cxx:81 AliJEfficiencyTask.cxx:82 AliJEfficiencyTask.cxx:83 AliJEfficiencyTask.cxx:84 AliJEfficiencyTask.cxx:85 AliJEfficiencyTask.cxx:86 AliJEfficiencyTask.cxx:87 AliJEfficiencyTask.cxx:88 AliJEfficiencyTask.cxx:89 AliJEfficiencyTask.cxx:90 AliJEfficiencyTask.cxx:91 AliJEfficiencyTask.cxx:92 AliJEfficiencyTask.cxx:93 AliJEfficiencyTask.cxx:94 AliJEfficiencyTask.cxx:95 AliJEfficiencyTask.cxx:96 AliJEfficiencyTask.cxx:97 AliJEfficiencyTask.cxx:98 AliJEfficiencyTask.cxx:99 AliJEfficiencyTask.cxx:100 AliJEfficiencyTask.cxx:101 AliJEfficiencyTask.cxx:102 AliJEfficiencyTask.cxx:103 AliJEfficiencyTask.cxx:104 AliJEfficiencyTask.cxx:105 AliJEfficiencyTask.cxx:106 AliJEfficiencyTask.cxx:107 AliJEfficiencyTask.cxx:108 AliJEfficiencyTask.cxx:109 AliJEfficiencyTask.cxx:110 AliJEfficiencyTask.cxx:111 AliJEfficiencyTask.cxx:112 AliJEfficiencyTask.cxx:113 AliJEfficiencyTask.cxx:114 AliJEfficiencyTask.cxx:115 AliJEfficiencyTask.cxx:116 AliJEfficiencyTask.cxx:117 AliJEfficiencyTask.cxx:118 AliJEfficiencyTask.cxx:119 AliJEfficiencyTask.cxx:120 AliJEfficiencyTask.cxx:121 AliJEfficiencyTask.cxx:122 AliJEfficiencyTask.cxx:123 AliJEfficiencyTask.cxx:124 AliJEfficiencyTask.cxx:125 AliJEfficiencyTask.cxx:126 AliJEfficiencyTask.cxx:127 AliJEfficiencyTask.cxx:128 AliJEfficiencyTask.cxx:129 AliJEfficiencyTask.cxx:130 AliJEfficiencyTask.cxx:131 AliJEfficiencyTask.cxx:132 AliJEfficiencyTask.cxx:133 AliJEfficiencyTask.cxx:134 AliJEfficiencyTask.cxx:135 AliJEfficiencyTask.cxx:136 AliJEfficiencyTask.cxx:137 AliJEfficiencyTask.cxx:138 AliJEfficiencyTask.cxx:139 AliJEfficiencyTask.cxx:140 AliJEfficiencyTask.cxx:141 AliJEfficiencyTask.cxx:142 AliJEfficiencyTask.cxx:143 AliJEfficiencyTask.cxx:144 AliJEfficiencyTask.cxx:145 AliJEfficiencyTask.cxx:146 AliJEfficiencyTask.cxx:147 AliJEfficiencyTask.cxx:148 AliJEfficiencyTask.cxx:149 AliJEfficiencyTask.cxx:150 AliJEfficiencyTask.cxx:151 AliJEfficiencyTask.cxx:152 AliJEfficiencyTask.cxx:153 AliJEfficiencyTask.cxx:154 AliJEfficiencyTask.cxx:155 AliJEfficiencyTask.cxx:156 AliJEfficiencyTask.cxx:157 AliJEfficiencyTask.cxx:158 AliJEfficiencyTask.cxx:159 AliJEfficiencyTask.cxx:160 AliJEfficiencyTask.cxx:161