// $Id$
TObjArray* GenerateFileList(const char* list, Int_t nFiles);
AliJetEmbeddingFromAODTask* AddTaskJetEmbeddingFromAOD(
const char *tracksName = "Tracks",
const char *clusName = "",
const char *cellsName = "EMCALCells",
const char *MCPartName = "",
const char *fileList = "files.txt",
const char *aodTreeName = "aodTree",
const char *aodTracksName = "tracks",
const char *aodClusName = "",
const char *aodCellsName = "emcalCells",
const char *aodMCPartName = "",
const char *runperiod = "lhc11h",
Bool_t includeNoITS = kFALSE,
Double_t minCent = 0,
Double_t maxCent = 10,
UInt_t mask = AliVEvent::kAny,
const Bool_t copyArray = kTRUE,
const Bool_t makeQA = kFALSE,
Int_t nFiles = 1234567890,
const char *taskName = "JetEmbeddingFromAODTask"
)
{
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr)
{
::Error("AddTaskJetEmbeddingFromAOD", "No analysis manager to connect to.");
return NULL;
}
// Check the analysis type using the event handlers connected to the analysis manager.
//==============================================================================
if (!mgr->GetInputEventHandler())
{
::Error("AddTaskJetEmbeddingFromAOD", "This task requires an input event handler");
return NULL;
}
//-------------------------------------------------------
// Init the task and do settings
//-------------------------------------------------------
AliJetEmbeddingFromAODTask *jetEmb = new AliJetEmbeddingFromAODTask(taskName,makeQA);
jetEmb->SetTracksName(tracksName);
jetEmb->SetClusName(clusName);
jetEmb->SetCellsName(cellsName);
jetEmb->SetMCParticlesName(MCPartName);
jetEmb->SetFileList(GenerateFileList(fileList, nFiles));
jetEmb->SetAODTreeName(aodTreeName);
jetEmb->SetAODTracksName(aodTracksName);
jetEmb->SetAODClusName(aodClusName);
jetEmb->SetAODCellsName(aodCellsName);
jetEmb->SetAODMCParticlesName(aodMCPartName);
jetEmb->SetCentralityRange(minCent, maxCent);
jetEmb->SetTriggerMask(mask);
jetEmb->SetCopyArray(copyArray);
jetEmb->SetNClusters(1);
jetEmb->SetMarkMC(0);
jetEmb->SetIncludeNoITS(includeNoITS);
TString runPeriod(runperiod);
runPeriod.ToLower();
if (runPeriod == "lhc11h" || runPeriod == "lhc12a15e") {
jetEmb->SetAODfilterBits(256,512); // hybrid tracks for LHC11h and LHC12a15e
}
else if (runPeriod == "lhc11a" || runPeriod == "lhc12a15a") {
jetEmb->SetAODfilterBits(256,16); // hybrid tracks for LHC11a and LHC12a15a
}
else {
if (!runPeriod.IsNull())
::Warning("Run period %s not known. It will use IsHybridGlobalConstrainedGlobal.", runPeriod.Data());
}
//-------------------------------------------------------
// Final settings, pass to manager and set the containers
//-------------------------------------------------------
mgr->AddTask(jetEmb);
// Create containers for input/output
mgr->ConnectInput(jetEmb, 0, mgr->GetCommonInputContainer());
if (makeQA) {
TString contName = taskName;
contName += "_histos";
AliAnalysisDataContainer *outc = mgr->CreateContainer(contName,
TList::Class(),
AliAnalysisManager::kOutputContainer,
"AnalysisResults.root");
mgr->ConnectOutput(jetEmb, 1, outc);
}
return jetEmb;
}
TObjArray* GenerateFileList(const char* list, Int_t nFiles)
{
TObjArray *array = new TObjArray(9999);
TString myList = list;
if (myList.Contains("alien:///")) {
TFile::Cp(myList,"file:./list.txt");
myList = "./list.txt";
}
// Open the input stream
ifstream in;
in.open(myList.Data());
Int_t count = 0;
// Read the input list of files and add them to the chain
TString line;
while (in.good()) {
if (nFiles != 1234567890) {
if (count >= nFiles)
break;
}
in >> line;
if (line.Length() == 0)
continue;
TObjString *aodFile = new TObjString(line);
array->Add(aodFile);
count++;
}
return array;
}
AddTaskJetEmbeddingFromAOD.C:1 AddTaskJetEmbeddingFromAOD.C:2 AddTaskJetEmbeddingFromAOD.C:3 AddTaskJetEmbeddingFromAOD.C:4 AddTaskJetEmbeddingFromAOD.C:5 AddTaskJetEmbeddingFromAOD.C:6 AddTaskJetEmbeddingFromAOD.C:7 AddTaskJetEmbeddingFromAOD.C:8 AddTaskJetEmbeddingFromAOD.C:9 AddTaskJetEmbeddingFromAOD.C:10 AddTaskJetEmbeddingFromAOD.C:11 AddTaskJetEmbeddingFromAOD.C:12 AddTaskJetEmbeddingFromAOD.C:13 AddTaskJetEmbeddingFromAOD.C:14 AddTaskJetEmbeddingFromAOD.C:15 AddTaskJetEmbeddingFromAOD.C:16 AddTaskJetEmbeddingFromAOD.C:17 AddTaskJetEmbeddingFromAOD.C:18 AddTaskJetEmbeddingFromAOD.C:19 AddTaskJetEmbeddingFromAOD.C:20 AddTaskJetEmbeddingFromAOD.C:21 AddTaskJetEmbeddingFromAOD.C:22 AddTaskJetEmbeddingFromAOD.C:23 AddTaskJetEmbeddingFromAOD.C:24 AddTaskJetEmbeddingFromAOD.C:25 AddTaskJetEmbeddingFromAOD.C:26 AddTaskJetEmbeddingFromAOD.C:27 AddTaskJetEmbeddingFromAOD.C:28 AddTaskJetEmbeddingFromAOD.C:29 AddTaskJetEmbeddingFromAOD.C:30 AddTaskJetEmbeddingFromAOD.C:31 AddTaskJetEmbeddingFromAOD.C:32 AddTaskJetEmbeddingFromAOD.C:33 AddTaskJetEmbeddingFromAOD.C:34 AddTaskJetEmbeddingFromAOD.C:35 AddTaskJetEmbeddingFromAOD.C:36 AddTaskJetEmbeddingFromAOD.C:37 AddTaskJetEmbeddingFromAOD.C:38 AddTaskJetEmbeddingFromAOD.C:39 AddTaskJetEmbeddingFromAOD.C:40 AddTaskJetEmbeddingFromAOD.C:41 AddTaskJetEmbeddingFromAOD.C:42 AddTaskJetEmbeddingFromAOD.C:43 AddTaskJetEmbeddingFromAOD.C:44 AddTaskJetEmbeddingFromAOD.C:45 AddTaskJetEmbeddingFromAOD.C:46 AddTaskJetEmbeddingFromAOD.C:47 AddTaskJetEmbeddingFromAOD.C:48 AddTaskJetEmbeddingFromAOD.C:49 AddTaskJetEmbeddingFromAOD.C:50 AddTaskJetEmbeddingFromAOD.C:51 AddTaskJetEmbeddingFromAOD.C:52 AddTaskJetEmbeddingFromAOD.C:53 AddTaskJetEmbeddingFromAOD.C:54 AddTaskJetEmbeddingFromAOD.C:55 AddTaskJetEmbeddingFromAOD.C:56 AddTaskJetEmbeddingFromAOD.C:57 AddTaskJetEmbeddingFromAOD.C:58 AddTaskJetEmbeddingFromAOD.C:59 AddTaskJetEmbeddingFromAOD.C:60 AddTaskJetEmbeddingFromAOD.C:61 AddTaskJetEmbeddingFromAOD.C:62 AddTaskJetEmbeddingFromAOD.C:63 AddTaskJetEmbeddingFromAOD.C:64 AddTaskJetEmbeddingFromAOD.C:65 AddTaskJetEmbeddingFromAOD.C:66 AddTaskJetEmbeddingFromAOD.C:67 AddTaskJetEmbeddingFromAOD.C:68 AddTaskJetEmbeddingFromAOD.C:69 AddTaskJetEmbeddingFromAOD.C:70 AddTaskJetEmbeddingFromAOD.C:71 AddTaskJetEmbeddingFromAOD.C:72 AddTaskJetEmbeddingFromAOD.C:73 AddTaskJetEmbeddingFromAOD.C:74 AddTaskJetEmbeddingFromAOD.C:75 AddTaskJetEmbeddingFromAOD.C:76 AddTaskJetEmbeddingFromAOD.C:77 AddTaskJetEmbeddingFromAOD.C:78 AddTaskJetEmbeddingFromAOD.C:79 AddTaskJetEmbeddingFromAOD.C:80 AddTaskJetEmbeddingFromAOD.C:81 AddTaskJetEmbeddingFromAOD.C:82 AddTaskJetEmbeddingFromAOD.C:83 AddTaskJetEmbeddingFromAOD.C:84 AddTaskJetEmbeddingFromAOD.C:85 AddTaskJetEmbeddingFromAOD.C:86 AddTaskJetEmbeddingFromAOD.C:87 AddTaskJetEmbeddingFromAOD.C:88 AddTaskJetEmbeddingFromAOD.C:89 AddTaskJetEmbeddingFromAOD.C:90 AddTaskJetEmbeddingFromAOD.C:91 AddTaskJetEmbeddingFromAOD.C:92 AddTaskJetEmbeddingFromAOD.C:93 AddTaskJetEmbeddingFromAOD.C:94 AddTaskJetEmbeddingFromAOD.C:95 AddTaskJetEmbeddingFromAOD.C:96 AddTaskJetEmbeddingFromAOD.C:97 AddTaskJetEmbeddingFromAOD.C:98 AddTaskJetEmbeddingFromAOD.C:99 AddTaskJetEmbeddingFromAOD.C:100 AddTaskJetEmbeddingFromAOD.C:101 AddTaskJetEmbeddingFromAOD.C:102 AddTaskJetEmbeddingFromAOD.C:103 AddTaskJetEmbeddingFromAOD.C:104 AddTaskJetEmbeddingFromAOD.C:105 AddTaskJetEmbeddingFromAOD.C:106 AddTaskJetEmbeddingFromAOD.C:107 AddTaskJetEmbeddingFromAOD.C:108 AddTaskJetEmbeddingFromAOD.C:109 AddTaskJetEmbeddingFromAOD.C:110 AddTaskJetEmbeddingFromAOD.C:111 AddTaskJetEmbeddingFromAOD.C:112 AddTaskJetEmbeddingFromAOD.C:113 AddTaskJetEmbeddingFromAOD.C:114 AddTaskJetEmbeddingFromAOD.C:115 AddTaskJetEmbeddingFromAOD.C:116 AddTaskJetEmbeddingFromAOD.C:117 AddTaskJetEmbeddingFromAOD.C:118 AddTaskJetEmbeddingFromAOD.C:119 AddTaskJetEmbeddingFromAOD.C:120 AddTaskJetEmbeddingFromAOD.C:121 AddTaskJetEmbeddingFromAOD.C:122 AddTaskJetEmbeddingFromAOD.C:123 AddTaskJetEmbeddingFromAOD.C:124 AddTaskJetEmbeddingFromAOD.C:125 AddTaskJetEmbeddingFromAOD.C:126 AddTaskJetEmbeddingFromAOD.C:127 AddTaskJetEmbeddingFromAOD.C:128 AddTaskJetEmbeddingFromAOD.C:129 AddTaskJetEmbeddingFromAOD.C:130 AddTaskJetEmbeddingFromAOD.C:131 AddTaskJetEmbeddingFromAOD.C:132 AddTaskJetEmbeddingFromAOD.C:133 AddTaskJetEmbeddingFromAOD.C:134 AddTaskJetEmbeddingFromAOD.C:135 AddTaskJetEmbeddingFromAOD.C:136 AddTaskJetEmbeddingFromAOD.C:137 AddTaskJetEmbeddingFromAOD.C:138