#include <cstdlib>
#include <TROOT.h>
#include <TInterpreter.h>
#include <TClonesArray.h>
#include "AliAnalysisTaskCaloTrackCorrelation.h"
#include "AliAnaCaloTrackCorrMaker.h"
#include "AliCaloTrackReader.h"
#include "AliPDG.h"
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliLog.h"
ClassImp(AliAnalysisTaskCaloTrackCorrelation)
AliAnalysisTaskCaloTrackCorrelation::AliAnalysisTaskCaloTrackCorrelation() :
AliAnalysisTaskSE(),
fAna(0x0),
fOutputContainer(0x0),
fConfigName(""),
fCuts(0x0)
{
}
AliAnalysisTaskCaloTrackCorrelation::AliAnalysisTaskCaloTrackCorrelation(const char* name) :
AliAnalysisTaskSE(name),
fAna(0x0),
fOutputContainer(0x0),
fConfigName(""),
fCuts(0x0)
{
DefineOutput(1, TList::Class());
DefineOutput(2, TList::Class());
}
AliAnalysisTaskCaloTrackCorrelation::~AliAnalysisTaskCaloTrackCorrelation()
{
if (AliAnalysisManager::GetAnalysisManager()->IsProofMode()) return;
if (fOutputContainer)
{
fOutputContainer->Clear() ;
delete fOutputContainer ;
}
if (fAna) delete fAna;
}
void AliAnalysisTaskCaloTrackCorrelation::UserCreateOutputObjects()
{
AliDebug(1,"Begin");
TList * list = fAna->FillAndGetAODBranchList();
AliDebug(1,Form("n AOD branches %d",list->GetEntries()));
if((fAna->GetReader())->WriteDeltaAODToFile())
{
TString deltaAODName = (fAna->GetReader())->GetDeltaAODFileName();
for(Int_t iaod = 0; iaod < list->GetEntries(); iaod++)
{
TClonesArray * array = (TClonesArray*) list->At(iaod);
if(deltaAODName!="") AddAODBranch("TClonesArray", &array, deltaAODName);
else AddAODBranch("TClonesArray", &array);
}
}
OpenFile(1);
fOutputContainer = fAna->GetOutputContainer();
AliDebug(1,Form("n histograms %d",fOutputContainer->GetEntries()));
fOutputContainer->SetOwner(kTRUE);
AliDebug(1,"End");
PostData(1,fOutputContainer);
}
void AliAnalysisTaskCaloTrackCorrelation::LocalInit()
{
Init();
}
void AliAnalysisTaskCaloTrackCorrelation::Init()
{
AliDebug(1,"Begin");
if( fDebug >= 0 )
(AliAnalysisManager::GetAnalysisManager())->AddClassDebug(this->ClassName(),fDebug);
if (fConfigName.Length())
{
AliInfo(Form("### Configuration file is %s.C ###", fConfigName.Data()));
gROOT->LoadMacro(fConfigName+".C");
fAna = (AliAnaCaloTrackCorrMaker*) gInterpreter->ProcessLine("ConfigAnalysis()");
}
if(!fAna)
{
AliFatal("Analysis maker pointer not initialized, no analysis specified, STOP!");
return;
}
AliPDG::AddParticlesToPdgDataBase();
(fAna->GetReader())->SetTaskName(GetName());
fAna->Init();
if((fAna->GetReader())->GetDeltaAODFileName()!="")
AliAnalysisManager::GetAnalysisManager()->RegisterExtraFile((fAna->GetReader())->GetDeltaAODFileName());
if(fAna->GetReader()->IsEventTriggerAtSEOn()) fAna->GetReader()->SetEventTriggerMask(GetCollisionCandidates());
AliDebug(1,"End");
}
void AliAnalysisTaskCaloTrackCorrelation::UserExec(Option_t *)
{
AliDebug(1,"Begin");
Int_t datatype = fAna->GetReader()->GetDataType();
if(datatype != AliCaloTrackReader::kESD && datatype != AliCaloTrackReader::kAOD &&
datatype != AliCaloTrackReader::kMC)
{
AliError("Wrong type of data");
return ;
}
fAna->GetReader()->SetInputOutputMCEvent(InputEvent(), AODEvent(), MCEvent());
fAna->ProcessEvent((Int_t) Entry(), CurrentFileName());
PostData(1, fOutputContainer);
AliDebug(1,"End");
}
void AliAnalysisTaskCaloTrackCorrelation::Terminate(Option_t *)
{
fAna->Terminate((TList*)GetOutputData(1));
fCuts = fAna->GetListOfAnalysisCuts();
fCuts ->SetOwner(kTRUE);
PostData(2, fCuts);
}
void AliAnalysisTaskCaloTrackCorrelation::FinishTaskOutput()
{
AliAnalysisManager *am = AliAnalysisManager::GetAnalysisManager();
AliInputEventHandler *inputH = dynamic_cast<AliInputEventHandler*>(am->GetInputEventHandler());
if (!inputH) return;
TH2F *histStat = dynamic_cast<TH2F*>(inputH->GetStatistics());
TH2F *histBin0 = dynamic_cast<TH2F*>(inputH->GetStatistics("BIN0"));
if(histStat)fOutputContainer->Add(histStat);
else AliDebug(0,"Stat histogram not available check, \n if ESDs, that AliPhysicsSelection was on, \n if AODs, if EventStat_temp.root exists");
if(histBin0)fOutputContainer->Add(histBin0);
}
AliAnalysisTaskCaloTrackCorrelation.cxx:1 AliAnalysisTaskCaloTrackCorrelation.cxx:2 AliAnalysisTaskCaloTrackCorrelation.cxx:3 AliAnalysisTaskCaloTrackCorrelation.cxx:4 AliAnalysisTaskCaloTrackCorrelation.cxx:5 AliAnalysisTaskCaloTrackCorrelation.cxx:6 AliAnalysisTaskCaloTrackCorrelation.cxx:7 AliAnalysisTaskCaloTrackCorrelation.cxx:8 AliAnalysisTaskCaloTrackCorrelation.cxx:9 AliAnalysisTaskCaloTrackCorrelation.cxx:10 AliAnalysisTaskCaloTrackCorrelation.cxx:11 AliAnalysisTaskCaloTrackCorrelation.cxx:12 AliAnalysisTaskCaloTrackCorrelation.cxx:13 AliAnalysisTaskCaloTrackCorrelation.cxx:14 AliAnalysisTaskCaloTrackCorrelation.cxx:15 AliAnalysisTaskCaloTrackCorrelation.cxx:16 AliAnalysisTaskCaloTrackCorrelation.cxx:17 AliAnalysisTaskCaloTrackCorrelation.cxx:18 AliAnalysisTaskCaloTrackCorrelation.cxx:19 AliAnalysisTaskCaloTrackCorrelation.cxx:20 AliAnalysisTaskCaloTrackCorrelation.cxx:21 AliAnalysisTaskCaloTrackCorrelation.cxx:22 AliAnalysisTaskCaloTrackCorrelation.cxx:23 AliAnalysisTaskCaloTrackCorrelation.cxx:24 AliAnalysisTaskCaloTrackCorrelation.cxx:25 AliAnalysisTaskCaloTrackCorrelation.cxx:26 AliAnalysisTaskCaloTrackCorrelation.cxx:27 AliAnalysisTaskCaloTrackCorrelation.cxx:28 AliAnalysisTaskCaloTrackCorrelation.cxx:29 AliAnalysisTaskCaloTrackCorrelation.cxx:30 AliAnalysisTaskCaloTrackCorrelation.cxx:31 AliAnalysisTaskCaloTrackCorrelation.cxx:32 AliAnalysisTaskCaloTrackCorrelation.cxx:33 AliAnalysisTaskCaloTrackCorrelation.cxx:34 AliAnalysisTaskCaloTrackCorrelation.cxx:35 AliAnalysisTaskCaloTrackCorrelation.cxx:36 AliAnalysisTaskCaloTrackCorrelation.cxx:37 AliAnalysisTaskCaloTrackCorrelation.cxx:38 AliAnalysisTaskCaloTrackCorrelation.cxx:39 AliAnalysisTaskCaloTrackCorrelation.cxx:40 AliAnalysisTaskCaloTrackCorrelation.cxx:41 AliAnalysisTaskCaloTrackCorrelation.cxx:42 AliAnalysisTaskCaloTrackCorrelation.cxx:43 AliAnalysisTaskCaloTrackCorrelation.cxx:44 AliAnalysisTaskCaloTrackCorrelation.cxx:45 AliAnalysisTaskCaloTrackCorrelation.cxx:46 AliAnalysisTaskCaloTrackCorrelation.cxx:47 AliAnalysisTaskCaloTrackCorrelation.cxx:48 AliAnalysisTaskCaloTrackCorrelation.cxx:49 AliAnalysisTaskCaloTrackCorrelation.cxx:50 AliAnalysisTaskCaloTrackCorrelation.cxx:51 AliAnalysisTaskCaloTrackCorrelation.cxx:52 AliAnalysisTaskCaloTrackCorrelation.cxx:53 AliAnalysisTaskCaloTrackCorrelation.cxx:54 AliAnalysisTaskCaloTrackCorrelation.cxx:55 AliAnalysisTaskCaloTrackCorrelation.cxx:56 AliAnalysisTaskCaloTrackCorrelation.cxx:57 AliAnalysisTaskCaloTrackCorrelation.cxx:58 AliAnalysisTaskCaloTrackCorrelation.cxx:59 AliAnalysisTaskCaloTrackCorrelation.cxx:60 AliAnalysisTaskCaloTrackCorrelation.cxx:61 AliAnalysisTaskCaloTrackCorrelation.cxx:62 AliAnalysisTaskCaloTrackCorrelation.cxx:63 AliAnalysisTaskCaloTrackCorrelation.cxx:64 AliAnalysisTaskCaloTrackCorrelation.cxx:65 AliAnalysisTaskCaloTrackCorrelation.cxx:66 AliAnalysisTaskCaloTrackCorrelation.cxx:67 AliAnalysisTaskCaloTrackCorrelation.cxx:68 AliAnalysisTaskCaloTrackCorrelation.cxx:69 AliAnalysisTaskCaloTrackCorrelation.cxx:70 AliAnalysisTaskCaloTrackCorrelation.cxx:71 AliAnalysisTaskCaloTrackCorrelation.cxx:72 AliAnalysisTaskCaloTrackCorrelation.cxx:73 AliAnalysisTaskCaloTrackCorrelation.cxx:74 AliAnalysisTaskCaloTrackCorrelation.cxx:75 AliAnalysisTaskCaloTrackCorrelation.cxx:76 AliAnalysisTaskCaloTrackCorrelation.cxx:77 AliAnalysisTaskCaloTrackCorrelation.cxx:78 AliAnalysisTaskCaloTrackCorrelation.cxx:79 AliAnalysisTaskCaloTrackCorrelation.cxx:80 AliAnalysisTaskCaloTrackCorrelation.cxx:81 AliAnalysisTaskCaloTrackCorrelation.cxx:82 AliAnalysisTaskCaloTrackCorrelation.cxx:83 AliAnalysisTaskCaloTrackCorrelation.cxx:84 AliAnalysisTaskCaloTrackCorrelation.cxx:85 AliAnalysisTaskCaloTrackCorrelation.cxx:86 AliAnalysisTaskCaloTrackCorrelation.cxx:87 AliAnalysisTaskCaloTrackCorrelation.cxx:88 AliAnalysisTaskCaloTrackCorrelation.cxx:89 AliAnalysisTaskCaloTrackCorrelation.cxx:90 AliAnalysisTaskCaloTrackCorrelation.cxx:91 AliAnalysisTaskCaloTrackCorrelation.cxx:92 AliAnalysisTaskCaloTrackCorrelation.cxx:93 AliAnalysisTaskCaloTrackCorrelation.cxx:94 AliAnalysisTaskCaloTrackCorrelation.cxx:95 AliAnalysisTaskCaloTrackCorrelation.cxx:96 AliAnalysisTaskCaloTrackCorrelation.cxx:97 AliAnalysisTaskCaloTrackCorrelation.cxx:98 AliAnalysisTaskCaloTrackCorrelation.cxx:99 AliAnalysisTaskCaloTrackCorrelation.cxx:100 AliAnalysisTaskCaloTrackCorrelation.cxx:101 AliAnalysisTaskCaloTrackCorrelation.cxx:102 AliAnalysisTaskCaloTrackCorrelation.cxx:103 AliAnalysisTaskCaloTrackCorrelation.cxx:104 AliAnalysisTaskCaloTrackCorrelation.cxx:105 AliAnalysisTaskCaloTrackCorrelation.cxx:106 AliAnalysisTaskCaloTrackCorrelation.cxx:107 AliAnalysisTaskCaloTrackCorrelation.cxx:108 AliAnalysisTaskCaloTrackCorrelation.cxx:109 AliAnalysisTaskCaloTrackCorrelation.cxx:110 AliAnalysisTaskCaloTrackCorrelation.cxx:111 AliAnalysisTaskCaloTrackCorrelation.cxx:112 AliAnalysisTaskCaloTrackCorrelation.cxx:113 AliAnalysisTaskCaloTrackCorrelation.cxx:114 AliAnalysisTaskCaloTrackCorrelation.cxx:115 AliAnalysisTaskCaloTrackCorrelation.cxx:116 AliAnalysisTaskCaloTrackCorrelation.cxx:117 AliAnalysisTaskCaloTrackCorrelation.cxx:118 AliAnalysisTaskCaloTrackCorrelation.cxx:119 AliAnalysisTaskCaloTrackCorrelation.cxx:120 AliAnalysisTaskCaloTrackCorrelation.cxx:121 AliAnalysisTaskCaloTrackCorrelation.cxx:122 AliAnalysisTaskCaloTrackCorrelation.cxx:123 AliAnalysisTaskCaloTrackCorrelation.cxx:124 AliAnalysisTaskCaloTrackCorrelation.cxx:125 AliAnalysisTaskCaloTrackCorrelation.cxx:126 AliAnalysisTaskCaloTrackCorrelation.cxx:127 AliAnalysisTaskCaloTrackCorrelation.cxx:128 AliAnalysisTaskCaloTrackCorrelation.cxx:129 AliAnalysisTaskCaloTrackCorrelation.cxx:130 AliAnalysisTaskCaloTrackCorrelation.cxx:131 AliAnalysisTaskCaloTrackCorrelation.cxx:132 AliAnalysisTaskCaloTrackCorrelation.cxx:133 AliAnalysisTaskCaloTrackCorrelation.cxx:134 AliAnalysisTaskCaloTrackCorrelation.cxx:135 AliAnalysisTaskCaloTrackCorrelation.cxx:136 AliAnalysisTaskCaloTrackCorrelation.cxx:137 AliAnalysisTaskCaloTrackCorrelation.cxx:138 AliAnalysisTaskCaloTrackCorrelation.cxx:139 AliAnalysisTaskCaloTrackCorrelation.cxx:140 AliAnalysisTaskCaloTrackCorrelation.cxx:141 AliAnalysisTaskCaloTrackCorrelation.cxx:142 AliAnalysisTaskCaloTrackCorrelation.cxx:143 AliAnalysisTaskCaloTrackCorrelation.cxx:144 AliAnalysisTaskCaloTrackCorrelation.cxx:145 AliAnalysisTaskCaloTrackCorrelation.cxx:146 AliAnalysisTaskCaloTrackCorrelation.cxx:147 AliAnalysisTaskCaloTrackCorrelation.cxx:148 AliAnalysisTaskCaloTrackCorrelation.cxx:149 AliAnalysisTaskCaloTrackCorrelation.cxx:150 AliAnalysisTaskCaloTrackCorrelation.cxx:151 AliAnalysisTaskCaloTrackCorrelation.cxx:152 AliAnalysisTaskCaloTrackCorrelation.cxx:153 AliAnalysisTaskCaloTrackCorrelation.cxx:154 AliAnalysisTaskCaloTrackCorrelation.cxx:155 AliAnalysisTaskCaloTrackCorrelation.cxx:156 AliAnalysisTaskCaloTrackCorrelation.cxx:157 AliAnalysisTaskCaloTrackCorrelation.cxx:158 AliAnalysisTaskCaloTrackCorrelation.cxx:159 AliAnalysisTaskCaloTrackCorrelation.cxx:160 AliAnalysisTaskCaloTrackCorrelation.cxx:161 AliAnalysisTaskCaloTrackCorrelation.cxx:162 AliAnalysisTaskCaloTrackCorrelation.cxx:163 AliAnalysisTaskCaloTrackCorrelation.cxx:164 AliAnalysisTaskCaloTrackCorrelation.cxx:165 AliAnalysisTaskCaloTrackCorrelation.cxx:166 AliAnalysisTaskCaloTrackCorrelation.cxx:167 AliAnalysisTaskCaloTrackCorrelation.cxx:168 AliAnalysisTaskCaloTrackCorrelation.cxx:169 AliAnalysisTaskCaloTrackCorrelation.cxx:170 AliAnalysisTaskCaloTrackCorrelation.cxx:171 AliAnalysisTaskCaloTrackCorrelation.cxx:172 AliAnalysisTaskCaloTrackCorrelation.cxx:173 AliAnalysisTaskCaloTrackCorrelation.cxx:174 AliAnalysisTaskCaloTrackCorrelation.cxx:175 AliAnalysisTaskCaloTrackCorrelation.cxx:176 AliAnalysisTaskCaloTrackCorrelation.cxx:177 AliAnalysisTaskCaloTrackCorrelation.cxx:178 AliAnalysisTaskCaloTrackCorrelation.cxx:179 AliAnalysisTaskCaloTrackCorrelation.cxx:180 AliAnalysisTaskCaloTrackCorrelation.cxx:181 AliAnalysisTaskCaloTrackCorrelation.cxx:182 AliAnalysisTaskCaloTrackCorrelation.cxx:183 AliAnalysisTaskCaloTrackCorrelation.cxx:184 AliAnalysisTaskCaloTrackCorrelation.cxx:185 AliAnalysisTaskCaloTrackCorrelation.cxx:186 AliAnalysisTaskCaloTrackCorrelation.cxx:187 AliAnalysisTaskCaloTrackCorrelation.cxx:188 AliAnalysisTaskCaloTrackCorrelation.cxx:189 AliAnalysisTaskCaloTrackCorrelation.cxx:190 AliAnalysisTaskCaloTrackCorrelation.cxx:191 AliAnalysisTaskCaloTrackCorrelation.cxx:192 AliAnalysisTaskCaloTrackCorrelation.cxx:193 AliAnalysisTaskCaloTrackCorrelation.cxx:194 AliAnalysisTaskCaloTrackCorrelation.cxx:195 AliAnalysisTaskCaloTrackCorrelation.cxx:196 AliAnalysisTaskCaloTrackCorrelation.cxx:197 AliAnalysisTaskCaloTrackCorrelation.cxx:198 AliAnalysisTaskCaloTrackCorrelation.cxx:199 AliAnalysisTaskCaloTrackCorrelation.cxx:200 AliAnalysisTaskCaloTrackCorrelation.cxx:201 AliAnalysisTaskCaloTrackCorrelation.cxx:202 AliAnalysisTaskCaloTrackCorrelation.cxx:203 AliAnalysisTaskCaloTrackCorrelation.cxx:204 AliAnalysisTaskCaloTrackCorrelation.cxx:205 AliAnalysisTaskCaloTrackCorrelation.cxx:206 AliAnalysisTaskCaloTrackCorrelation.cxx:207 AliAnalysisTaskCaloTrackCorrelation.cxx:208 AliAnalysisTaskCaloTrackCorrelation.cxx:209 AliAnalysisTaskCaloTrackCorrelation.cxx:210 AliAnalysisTaskCaloTrackCorrelation.cxx:211 AliAnalysisTaskCaloTrackCorrelation.cxx:212 AliAnalysisTaskCaloTrackCorrelation.cxx:213 AliAnalysisTaskCaloTrackCorrelation.cxx:214 AliAnalysisTaskCaloTrackCorrelation.cxx:215 AliAnalysisTaskCaloTrackCorrelation.cxx:216 AliAnalysisTaskCaloTrackCorrelation.cxx:217 AliAnalysisTaskCaloTrackCorrelation.cxx:218 AliAnalysisTaskCaloTrackCorrelation.cxx:219 AliAnalysisTaskCaloTrackCorrelation.cxx:220 AliAnalysisTaskCaloTrackCorrelation.cxx:221 AliAnalysisTaskCaloTrackCorrelation.cxx:222 AliAnalysisTaskCaloTrackCorrelation.cxx:223 AliAnalysisTaskCaloTrackCorrelation.cxx:224 AliAnalysisTaskCaloTrackCorrelation.cxx:225 AliAnalysisTaskCaloTrackCorrelation.cxx:226 AliAnalysisTaskCaloTrackCorrelation.cxx:227 AliAnalysisTaskCaloTrackCorrelation.cxx:228 AliAnalysisTaskCaloTrackCorrelation.cxx:229 AliAnalysisTaskCaloTrackCorrelation.cxx:230 AliAnalysisTaskCaloTrackCorrelation.cxx:231 AliAnalysisTaskCaloTrackCorrelation.cxx:232 AliAnalysisTaskCaloTrackCorrelation.cxx:233 AliAnalysisTaskCaloTrackCorrelation.cxx:234 AliAnalysisTaskCaloTrackCorrelation.cxx:235 AliAnalysisTaskCaloTrackCorrelation.cxx:236 AliAnalysisTaskCaloTrackCorrelation.cxx:237 AliAnalysisTaskCaloTrackCorrelation.cxx:238 AliAnalysisTaskCaloTrackCorrelation.cxx:239 AliAnalysisTaskCaloTrackCorrelation.cxx:240 AliAnalysisTaskCaloTrackCorrelation.cxx:241 AliAnalysisTaskCaloTrackCorrelation.cxx:242 AliAnalysisTaskCaloTrackCorrelation.cxx:243 AliAnalysisTaskCaloTrackCorrelation.cxx:244 AliAnalysisTaskCaloTrackCorrelation.cxx:245 AliAnalysisTaskCaloTrackCorrelation.cxx:246 AliAnalysisTaskCaloTrackCorrelation.cxx:247 AliAnalysisTaskCaloTrackCorrelation.cxx:248