#include <cstdlib>
#include <TROOT.h>
#include <TInterpreter.h>
#include <TClonesArray.h>
#include "AliAnalysisTaskCaloTrackCorrelationM.h"
#include "AliAnaCaloTrackCorrMaker.h"
#include "AliCaloTrackReader.h"
#include "AliPDG.h"
#include "AliAnalysisManager.h"
#include "AliMultiEventInputHandler.h"
#include "AliMixedEvent.h"
#include "AliAODEvent.h"
#include "AliESDEvent.h"
#include "AliAnalysisDataSlot.h"
#include "AliLog.h"
ClassImp(AliAnalysisTaskCaloTrackCorrelationM)
AliAnalysisTaskCaloTrackCorrelationM::AliAnalysisTaskCaloTrackCorrelationM() :
AliAnalysisTaskME(),
fAna(0x0),
fOutputContainer(0x0),
fConfigName(""),
fCuts(0x0),
fInputEvent(NULL)
{
}
AliAnalysisTaskCaloTrackCorrelationM::AliAnalysisTaskCaloTrackCorrelationM(const char* name) :
AliAnalysisTaskME(name),
fAna(0x0),
fOutputContainer(0x0),
fConfigName(""),
fCuts(0x0),
fInputEvent(NULL)
{
DefineOutput(1, TList::Class());
DefineOutput(2, TList::Class());
}
AliAnalysisTaskCaloTrackCorrelationM::~AliAnalysisTaskCaloTrackCorrelationM()
{
delete fInputEvent ;
if(fAna) delete fAna;
}
void AliAnalysisTaskCaloTrackCorrelationM::UserCreateOutputObjects()
{
AliDebug(1,"Begin");
TClonesArray *array = 0;
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++)
{
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 AliAnalysisTaskCaloTrackCorrelationM::LocalInit()
{
Init();
}
void AliAnalysisTaskCaloTrackCorrelationM::Init()
{
AliDebug(1,"Begin");
fInputEvent = new AliMixedEvent() ;
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());
AliDebug(1,"End");
}
void AliAnalysisTaskCaloTrackCorrelationM::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 ;
}
Int_t nev = fInputHandler->GetBufferSize();
fInputEvent->Reset();
for (Int_t iev = 0; iev < nev; iev++)
{
if (datatype == AliCaloTrackReader::kESD)
{
AliESDEvent* esd = dynamic_cast<AliESDEvent*>(GetEvent(iev));
fInputEvent->AddEvent(esd);
} else if (datatype == AliCaloTrackReader::kAOD)
{
AliAODEvent* aod = dynamic_cast<AliAODEvent*>(GetEvent(iev));
fInputEvent->AddEvent(aod);
} else
{
AliFatal("need to implement mixed event for MC") ;
}
}
fInputEvent->Init();
fAna->GetReader()->SetInputOutputMCEvent(fInputEvent, AODEvent(), MCEvent());
fAna->ProcessEvent((Int_t) Entry(), CurrentFileName());
PostData(1, fOutputContainer);
AliAnalysisDataSlot *out0 = GetOutputSlot(0);
if (out0 && out0->IsConnected()) PostData(0, fTreeA);
AliDebug(1,"End");
}
void AliAnalysisTaskCaloTrackCorrelationM::Terminate(Option_t *)
{
fAna->Terminate((TList*)GetOutputData(1));
fCuts = fAna->GetListOfAnalysisCuts();
fCuts ->SetOwner(kTRUE);
PostData(2, fCuts);
}
AliAnalysisTaskCaloTrackCorrelationM.cxx:1 AliAnalysisTaskCaloTrackCorrelationM.cxx:2 AliAnalysisTaskCaloTrackCorrelationM.cxx:3 AliAnalysisTaskCaloTrackCorrelationM.cxx:4 AliAnalysisTaskCaloTrackCorrelationM.cxx:5 AliAnalysisTaskCaloTrackCorrelationM.cxx:6 AliAnalysisTaskCaloTrackCorrelationM.cxx:7 AliAnalysisTaskCaloTrackCorrelationM.cxx:8 AliAnalysisTaskCaloTrackCorrelationM.cxx:9 AliAnalysisTaskCaloTrackCorrelationM.cxx:10 AliAnalysisTaskCaloTrackCorrelationM.cxx:11 AliAnalysisTaskCaloTrackCorrelationM.cxx:12 AliAnalysisTaskCaloTrackCorrelationM.cxx:13 AliAnalysisTaskCaloTrackCorrelationM.cxx:14 AliAnalysisTaskCaloTrackCorrelationM.cxx:15 AliAnalysisTaskCaloTrackCorrelationM.cxx:16 AliAnalysisTaskCaloTrackCorrelationM.cxx:17 AliAnalysisTaskCaloTrackCorrelationM.cxx:18 AliAnalysisTaskCaloTrackCorrelationM.cxx:19 AliAnalysisTaskCaloTrackCorrelationM.cxx:20 AliAnalysisTaskCaloTrackCorrelationM.cxx:21 AliAnalysisTaskCaloTrackCorrelationM.cxx:22 AliAnalysisTaskCaloTrackCorrelationM.cxx:23 AliAnalysisTaskCaloTrackCorrelationM.cxx:24 AliAnalysisTaskCaloTrackCorrelationM.cxx:25 AliAnalysisTaskCaloTrackCorrelationM.cxx:26 AliAnalysisTaskCaloTrackCorrelationM.cxx:27 AliAnalysisTaskCaloTrackCorrelationM.cxx:28 AliAnalysisTaskCaloTrackCorrelationM.cxx:29 AliAnalysisTaskCaloTrackCorrelationM.cxx:30 AliAnalysisTaskCaloTrackCorrelationM.cxx:31 AliAnalysisTaskCaloTrackCorrelationM.cxx:32 AliAnalysisTaskCaloTrackCorrelationM.cxx:33 AliAnalysisTaskCaloTrackCorrelationM.cxx:34 AliAnalysisTaskCaloTrackCorrelationM.cxx:35 AliAnalysisTaskCaloTrackCorrelationM.cxx:36 AliAnalysisTaskCaloTrackCorrelationM.cxx:37 AliAnalysisTaskCaloTrackCorrelationM.cxx:38 AliAnalysisTaskCaloTrackCorrelationM.cxx:39 AliAnalysisTaskCaloTrackCorrelationM.cxx:40 AliAnalysisTaskCaloTrackCorrelationM.cxx:41 AliAnalysisTaskCaloTrackCorrelationM.cxx:42 AliAnalysisTaskCaloTrackCorrelationM.cxx:43 AliAnalysisTaskCaloTrackCorrelationM.cxx:44 AliAnalysisTaskCaloTrackCorrelationM.cxx:45 AliAnalysisTaskCaloTrackCorrelationM.cxx:46 AliAnalysisTaskCaloTrackCorrelationM.cxx:47 AliAnalysisTaskCaloTrackCorrelationM.cxx:48 AliAnalysisTaskCaloTrackCorrelationM.cxx:49 AliAnalysisTaskCaloTrackCorrelationM.cxx:50 AliAnalysisTaskCaloTrackCorrelationM.cxx:51 AliAnalysisTaskCaloTrackCorrelationM.cxx:52 AliAnalysisTaskCaloTrackCorrelationM.cxx:53 AliAnalysisTaskCaloTrackCorrelationM.cxx:54 AliAnalysisTaskCaloTrackCorrelationM.cxx:55 AliAnalysisTaskCaloTrackCorrelationM.cxx:56 AliAnalysisTaskCaloTrackCorrelationM.cxx:57 AliAnalysisTaskCaloTrackCorrelationM.cxx:58 AliAnalysisTaskCaloTrackCorrelationM.cxx:59 AliAnalysisTaskCaloTrackCorrelationM.cxx:60 AliAnalysisTaskCaloTrackCorrelationM.cxx:61 AliAnalysisTaskCaloTrackCorrelationM.cxx:62 AliAnalysisTaskCaloTrackCorrelationM.cxx:63 AliAnalysisTaskCaloTrackCorrelationM.cxx:64 AliAnalysisTaskCaloTrackCorrelationM.cxx:65 AliAnalysisTaskCaloTrackCorrelationM.cxx:66 AliAnalysisTaskCaloTrackCorrelationM.cxx:67 AliAnalysisTaskCaloTrackCorrelationM.cxx:68 AliAnalysisTaskCaloTrackCorrelationM.cxx:69 AliAnalysisTaskCaloTrackCorrelationM.cxx:70 AliAnalysisTaskCaloTrackCorrelationM.cxx:71 AliAnalysisTaskCaloTrackCorrelationM.cxx:72 AliAnalysisTaskCaloTrackCorrelationM.cxx:73 AliAnalysisTaskCaloTrackCorrelationM.cxx:74 AliAnalysisTaskCaloTrackCorrelationM.cxx:75 AliAnalysisTaskCaloTrackCorrelationM.cxx:76 AliAnalysisTaskCaloTrackCorrelationM.cxx:77 AliAnalysisTaskCaloTrackCorrelationM.cxx:78 AliAnalysisTaskCaloTrackCorrelationM.cxx:79 AliAnalysisTaskCaloTrackCorrelationM.cxx:80 AliAnalysisTaskCaloTrackCorrelationM.cxx:81 AliAnalysisTaskCaloTrackCorrelationM.cxx:82 AliAnalysisTaskCaloTrackCorrelationM.cxx:83 AliAnalysisTaskCaloTrackCorrelationM.cxx:84 AliAnalysisTaskCaloTrackCorrelationM.cxx:85 AliAnalysisTaskCaloTrackCorrelationM.cxx:86 AliAnalysisTaskCaloTrackCorrelationM.cxx:87 AliAnalysisTaskCaloTrackCorrelationM.cxx:88 AliAnalysisTaskCaloTrackCorrelationM.cxx:89 AliAnalysisTaskCaloTrackCorrelationM.cxx:90 AliAnalysisTaskCaloTrackCorrelationM.cxx:91 AliAnalysisTaskCaloTrackCorrelationM.cxx:92 AliAnalysisTaskCaloTrackCorrelationM.cxx:93 AliAnalysisTaskCaloTrackCorrelationM.cxx:94 AliAnalysisTaskCaloTrackCorrelationM.cxx:95 AliAnalysisTaskCaloTrackCorrelationM.cxx:96 AliAnalysisTaskCaloTrackCorrelationM.cxx:97 AliAnalysisTaskCaloTrackCorrelationM.cxx:98 AliAnalysisTaskCaloTrackCorrelationM.cxx:99 AliAnalysisTaskCaloTrackCorrelationM.cxx:100 AliAnalysisTaskCaloTrackCorrelationM.cxx:101 AliAnalysisTaskCaloTrackCorrelationM.cxx:102 AliAnalysisTaskCaloTrackCorrelationM.cxx:103 AliAnalysisTaskCaloTrackCorrelationM.cxx:104 AliAnalysisTaskCaloTrackCorrelationM.cxx:105 AliAnalysisTaskCaloTrackCorrelationM.cxx:106 AliAnalysisTaskCaloTrackCorrelationM.cxx:107 AliAnalysisTaskCaloTrackCorrelationM.cxx:108 AliAnalysisTaskCaloTrackCorrelationM.cxx:109 AliAnalysisTaskCaloTrackCorrelationM.cxx:110 AliAnalysisTaskCaloTrackCorrelationM.cxx:111 AliAnalysisTaskCaloTrackCorrelationM.cxx:112 AliAnalysisTaskCaloTrackCorrelationM.cxx:113 AliAnalysisTaskCaloTrackCorrelationM.cxx:114 AliAnalysisTaskCaloTrackCorrelationM.cxx:115 AliAnalysisTaskCaloTrackCorrelationM.cxx:116 AliAnalysisTaskCaloTrackCorrelationM.cxx:117 AliAnalysisTaskCaloTrackCorrelationM.cxx:118 AliAnalysisTaskCaloTrackCorrelationM.cxx:119 AliAnalysisTaskCaloTrackCorrelationM.cxx:120 AliAnalysisTaskCaloTrackCorrelationM.cxx:121 AliAnalysisTaskCaloTrackCorrelationM.cxx:122 AliAnalysisTaskCaloTrackCorrelationM.cxx:123 AliAnalysisTaskCaloTrackCorrelationM.cxx:124 AliAnalysisTaskCaloTrackCorrelationM.cxx:125 AliAnalysisTaskCaloTrackCorrelationM.cxx:126 AliAnalysisTaskCaloTrackCorrelationM.cxx:127 AliAnalysisTaskCaloTrackCorrelationM.cxx:128 AliAnalysisTaskCaloTrackCorrelationM.cxx:129 AliAnalysisTaskCaloTrackCorrelationM.cxx:130 AliAnalysisTaskCaloTrackCorrelationM.cxx:131 AliAnalysisTaskCaloTrackCorrelationM.cxx:132 AliAnalysisTaskCaloTrackCorrelationM.cxx:133 AliAnalysisTaskCaloTrackCorrelationM.cxx:134 AliAnalysisTaskCaloTrackCorrelationM.cxx:135 AliAnalysisTaskCaloTrackCorrelationM.cxx:136 AliAnalysisTaskCaloTrackCorrelationM.cxx:137 AliAnalysisTaskCaloTrackCorrelationM.cxx:138 AliAnalysisTaskCaloTrackCorrelationM.cxx:139 AliAnalysisTaskCaloTrackCorrelationM.cxx:140 AliAnalysisTaskCaloTrackCorrelationM.cxx:141 AliAnalysisTaskCaloTrackCorrelationM.cxx:142 AliAnalysisTaskCaloTrackCorrelationM.cxx:143 AliAnalysisTaskCaloTrackCorrelationM.cxx:144 AliAnalysisTaskCaloTrackCorrelationM.cxx:145 AliAnalysisTaskCaloTrackCorrelationM.cxx:146 AliAnalysisTaskCaloTrackCorrelationM.cxx:147 AliAnalysisTaskCaloTrackCorrelationM.cxx:148 AliAnalysisTaskCaloTrackCorrelationM.cxx:149 AliAnalysisTaskCaloTrackCorrelationM.cxx:150 AliAnalysisTaskCaloTrackCorrelationM.cxx:151 AliAnalysisTaskCaloTrackCorrelationM.cxx:152 AliAnalysisTaskCaloTrackCorrelationM.cxx:153 AliAnalysisTaskCaloTrackCorrelationM.cxx:154 AliAnalysisTaskCaloTrackCorrelationM.cxx:155 AliAnalysisTaskCaloTrackCorrelationM.cxx:156 AliAnalysisTaskCaloTrackCorrelationM.cxx:157 AliAnalysisTaskCaloTrackCorrelationM.cxx:158 AliAnalysisTaskCaloTrackCorrelationM.cxx:159 AliAnalysisTaskCaloTrackCorrelationM.cxx:160 AliAnalysisTaskCaloTrackCorrelationM.cxx:161 AliAnalysisTaskCaloTrackCorrelationM.cxx:162 AliAnalysisTaskCaloTrackCorrelationM.cxx:163 AliAnalysisTaskCaloTrackCorrelationM.cxx:164 AliAnalysisTaskCaloTrackCorrelationM.cxx:165 AliAnalysisTaskCaloTrackCorrelationM.cxx:166 AliAnalysisTaskCaloTrackCorrelationM.cxx:167 AliAnalysisTaskCaloTrackCorrelationM.cxx:168 AliAnalysisTaskCaloTrackCorrelationM.cxx:169 AliAnalysisTaskCaloTrackCorrelationM.cxx:170 AliAnalysisTaskCaloTrackCorrelationM.cxx:171 AliAnalysisTaskCaloTrackCorrelationM.cxx:172 AliAnalysisTaskCaloTrackCorrelationM.cxx:173 AliAnalysisTaskCaloTrackCorrelationM.cxx:174 AliAnalysisTaskCaloTrackCorrelationM.cxx:175 AliAnalysisTaskCaloTrackCorrelationM.cxx:176 AliAnalysisTaskCaloTrackCorrelationM.cxx:177 AliAnalysisTaskCaloTrackCorrelationM.cxx:178 AliAnalysisTaskCaloTrackCorrelationM.cxx:179 AliAnalysisTaskCaloTrackCorrelationM.cxx:180 AliAnalysisTaskCaloTrackCorrelationM.cxx:181 AliAnalysisTaskCaloTrackCorrelationM.cxx:182 AliAnalysisTaskCaloTrackCorrelationM.cxx:183 AliAnalysisTaskCaloTrackCorrelationM.cxx:184 AliAnalysisTaskCaloTrackCorrelationM.cxx:185 AliAnalysisTaskCaloTrackCorrelationM.cxx:186 AliAnalysisTaskCaloTrackCorrelationM.cxx:187 AliAnalysisTaskCaloTrackCorrelationM.cxx:188 AliAnalysisTaskCaloTrackCorrelationM.cxx:189 AliAnalysisTaskCaloTrackCorrelationM.cxx:190 AliAnalysisTaskCaloTrackCorrelationM.cxx:191 AliAnalysisTaskCaloTrackCorrelationM.cxx:192 AliAnalysisTaskCaloTrackCorrelationM.cxx:193 AliAnalysisTaskCaloTrackCorrelationM.cxx:194 AliAnalysisTaskCaloTrackCorrelationM.cxx:195 AliAnalysisTaskCaloTrackCorrelationM.cxx:196 AliAnalysisTaskCaloTrackCorrelationM.cxx:197 AliAnalysisTaskCaloTrackCorrelationM.cxx:198 AliAnalysisTaskCaloTrackCorrelationM.cxx:199 AliAnalysisTaskCaloTrackCorrelationM.cxx:200 AliAnalysisTaskCaloTrackCorrelationM.cxx:201 AliAnalysisTaskCaloTrackCorrelationM.cxx:202 AliAnalysisTaskCaloTrackCorrelationM.cxx:203 AliAnalysisTaskCaloTrackCorrelationM.cxx:204 AliAnalysisTaskCaloTrackCorrelationM.cxx:205 AliAnalysisTaskCaloTrackCorrelationM.cxx:206 AliAnalysisTaskCaloTrackCorrelationM.cxx:207 AliAnalysisTaskCaloTrackCorrelationM.cxx:208 AliAnalysisTaskCaloTrackCorrelationM.cxx:209 AliAnalysisTaskCaloTrackCorrelationM.cxx:210 AliAnalysisTaskCaloTrackCorrelationM.cxx:211 AliAnalysisTaskCaloTrackCorrelationM.cxx:212 AliAnalysisTaskCaloTrackCorrelationM.cxx:213 AliAnalysisTaskCaloTrackCorrelationM.cxx:214 AliAnalysisTaskCaloTrackCorrelationM.cxx:215 AliAnalysisTaskCaloTrackCorrelationM.cxx:216 AliAnalysisTaskCaloTrackCorrelationM.cxx:217 AliAnalysisTaskCaloTrackCorrelationM.cxx:218 AliAnalysisTaskCaloTrackCorrelationM.cxx:219 AliAnalysisTaskCaloTrackCorrelationM.cxx:220 AliAnalysisTaskCaloTrackCorrelationM.cxx:221 AliAnalysisTaskCaloTrackCorrelationM.cxx:222 AliAnalysisTaskCaloTrackCorrelationM.cxx:223 AliAnalysisTaskCaloTrackCorrelationM.cxx:224 AliAnalysisTaskCaloTrackCorrelationM.cxx:225 AliAnalysisTaskCaloTrackCorrelationM.cxx:226 AliAnalysisTaskCaloTrackCorrelationM.cxx:227 AliAnalysisTaskCaloTrackCorrelationM.cxx:228 AliAnalysisTaskCaloTrackCorrelationM.cxx:229 AliAnalysisTaskCaloTrackCorrelationM.cxx:230 AliAnalysisTaskCaloTrackCorrelationM.cxx:231 AliAnalysisTaskCaloTrackCorrelationM.cxx:232 AliAnalysisTaskCaloTrackCorrelationM.cxx:233 AliAnalysisTaskCaloTrackCorrelationM.cxx:234 AliAnalysisTaskCaloTrackCorrelationM.cxx:235 AliAnalysisTaskCaloTrackCorrelationM.cxx:236 AliAnalysisTaskCaloTrackCorrelationM.cxx:237 AliAnalysisTaskCaloTrackCorrelationM.cxx:238 AliAnalysisTaskCaloTrackCorrelationM.cxx:239 AliAnalysisTaskCaloTrackCorrelationM.cxx:240 AliAnalysisTaskCaloTrackCorrelationM.cxx:241 AliAnalysisTaskCaloTrackCorrelationM.cxx:242 AliAnalysisTaskCaloTrackCorrelationM.cxx:243 AliAnalysisTaskCaloTrackCorrelationM.cxx:244 AliAnalysisTaskCaloTrackCorrelationM.cxx:245 AliAnalysisTaskCaloTrackCorrelationM.cxx:246 AliAnalysisTaskCaloTrackCorrelationM.cxx:247 AliAnalysisTaskCaloTrackCorrelationM.cxx:248 AliAnalysisTaskCaloTrackCorrelationM.cxx:249 AliAnalysisTaskCaloTrackCorrelationM.cxx:250 AliAnalysisTaskCaloTrackCorrelationM.cxx:251 AliAnalysisTaskCaloTrackCorrelationM.cxx:252 AliAnalysisTaskCaloTrackCorrelationM.cxx:253 AliAnalysisTaskCaloTrackCorrelationM.cxx:254 AliAnalysisTaskCaloTrackCorrelationM.cxx:255