// $Id$
THashTable* GenerateFileTable(const char* list);
AliJetEmbeddingFromPYTHIATask* AddTaskJetEmbeddingFromPYTHIA(
const char *tracksName = "Tracks",
const char *clusName = "",
const char *cellsName = "EMCALCells",
const char *MCPartName = "",
const char *simpath = "alien:///alice/sim/2012/LHC12a15e_fix/%d/%d/AOD149/%04d/AliAOD.root",
Int_t nPtHard = 0,
Double_t *ptHardScaling = 0,
const char *aodTreeName = "aodTree",
const char *aodTracksName = "tracks",
const char *aodClusName = "",
const char *aodCellsName = "emcalCells",
const char *aodMCPartName = "mcparticles",
const char *runperiod = "lhc12a15e",
Bool_t includeNoITS = kFALSE,
Double_t minCent = -1,
Double_t maxCent = -1,
UInt_t mask = 0,
Double_t minJetPt = 0,
const Bool_t copyArray = kFALSE,
const Bool_t makeQA = kFALSE,
const char *fileTable = "",
const char *taskName = "JetEmbeddingFromPYTHIATask"
)
{
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr)
{
::Error("AddTaskJetEmbeddingFromPYTHIA", "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("AddTaskJetEmbeddingFromPYTHIA", "This task requires an input event handler");
return NULL;
}
//-------------------------------------------------------
// Init the task and do settings
//-------------------------------------------------------
AliJetEmbeddingFromPYTHIATask *jetEmb = new AliJetEmbeddingFromPYTHIATask(taskName,makeQA);
jetEmb->SetTracksName(tracksName);
jetEmb->SetClusName(clusName);
jetEmb->SetCellsName(cellsName);
jetEmb->SetMCParticlesName(MCPartName);
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->SetJetMinPt(minJetPt);
jetEmb->SetNClusters(1);
jetEmb->SetMarkMC(0);
if (strcmp(fileTable, "") != 0)
jetEmb->SetFileTable(GenerateFileTable(fileTable));
jetEmb->SetIncludeNoITS(includeNoITS);
TString runPeriod(runperiod);
runPeriod.ToLower();
if (runPeriod == "lhc12a15e") {
jetEmb->SetAODfilterBits(256,512);
}
else if (runPeriod == "lhc12a15a") {
jetEmb->SetAODfilterBits(256,16);
}
else {
if (!runPeriod.IsNull())
::Warning("AddTaskJetEmbeddingFromPYTHIA","Run period %s not known. It will use IsHybridGlobalConstrainedGlobal.", runPeriod.Data());
}
jetEmb->SetPYTHIAPath(simpath);
if (nPtHard == 0 || ptHardScaling == 0) { // the pt hard bin scaling was not provided, use the default for LHC12a15e_fix AOD149
::Warning("AddTaskJetEmbeddingFromPYTHIA","The pT hard bin scaling has not been provided, will use the default for LHC12a15e_fix AOD149!", runPeriod.Data());
nPtHard = 11;
ptHardScaling = new Double_t[nPtHard];
ptHardScaling [0] = 0;
ptHardScaling [1] = 5.135193e-05;
ptHardScaling [2] = 5.859497e-06;
ptHardScaling [3] = 4.444755e-07;
ptHardScaling [4] = 4.293118e-08;
ptHardScaling [5] = 5.154750e-09;
ptHardScaling [6] = 6.958612e-10;
ptHardScaling [7] = 1.149828e-10;
ptHardScaling [8] = 2.520137e-11;
ptHardScaling [9] = 6.222240e-12;
ptHardScaling [10] = 2.255832e-12;
}
jetEmb->SetPtHardBinScaling(nPtHard, ptHardScaling);
//-------------------------------------------------------
// 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;
}
THashTable* GenerateFileTable(const char* list)
{
THashTable *table = new THashTable();
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());
// Read the input list of files and add them to the chain
TString line;
while (in.good()) {
in >> line;
if (line.Length() == 0)
continue;
TObjString *aodFile = new TObjString(line);
table->Add(aodFile);
}
return table;
}
AddTaskJetEmbeddingFromPYTHIA.C:1 AddTaskJetEmbeddingFromPYTHIA.C:2 AddTaskJetEmbeddingFromPYTHIA.C:3 AddTaskJetEmbeddingFromPYTHIA.C:4 AddTaskJetEmbeddingFromPYTHIA.C:5 AddTaskJetEmbeddingFromPYTHIA.C:6 AddTaskJetEmbeddingFromPYTHIA.C:7 AddTaskJetEmbeddingFromPYTHIA.C:8 AddTaskJetEmbeddingFromPYTHIA.C:9 AddTaskJetEmbeddingFromPYTHIA.C:10 AddTaskJetEmbeddingFromPYTHIA.C:11 AddTaskJetEmbeddingFromPYTHIA.C:12 AddTaskJetEmbeddingFromPYTHIA.C:13 AddTaskJetEmbeddingFromPYTHIA.C:14 AddTaskJetEmbeddingFromPYTHIA.C:15 AddTaskJetEmbeddingFromPYTHIA.C:16 AddTaskJetEmbeddingFromPYTHIA.C:17 AddTaskJetEmbeddingFromPYTHIA.C:18 AddTaskJetEmbeddingFromPYTHIA.C:19 AddTaskJetEmbeddingFromPYTHIA.C:20 AddTaskJetEmbeddingFromPYTHIA.C:21 AddTaskJetEmbeddingFromPYTHIA.C:22 AddTaskJetEmbeddingFromPYTHIA.C:23 AddTaskJetEmbeddingFromPYTHIA.C:24 AddTaskJetEmbeddingFromPYTHIA.C:25 AddTaskJetEmbeddingFromPYTHIA.C:26 AddTaskJetEmbeddingFromPYTHIA.C:27 AddTaskJetEmbeddingFromPYTHIA.C:28 AddTaskJetEmbeddingFromPYTHIA.C:29 AddTaskJetEmbeddingFromPYTHIA.C:30 AddTaskJetEmbeddingFromPYTHIA.C:31 AddTaskJetEmbeddingFromPYTHIA.C:32 AddTaskJetEmbeddingFromPYTHIA.C:33 AddTaskJetEmbeddingFromPYTHIA.C:34 AddTaskJetEmbeddingFromPYTHIA.C:35 AddTaskJetEmbeddingFromPYTHIA.C:36 AddTaskJetEmbeddingFromPYTHIA.C:37 AddTaskJetEmbeddingFromPYTHIA.C:38 AddTaskJetEmbeddingFromPYTHIA.C:39 AddTaskJetEmbeddingFromPYTHIA.C:40 AddTaskJetEmbeddingFromPYTHIA.C:41 AddTaskJetEmbeddingFromPYTHIA.C:42 AddTaskJetEmbeddingFromPYTHIA.C:43 AddTaskJetEmbeddingFromPYTHIA.C:44 AddTaskJetEmbeddingFromPYTHIA.C:45 AddTaskJetEmbeddingFromPYTHIA.C:46 AddTaskJetEmbeddingFromPYTHIA.C:47 AddTaskJetEmbeddingFromPYTHIA.C:48 AddTaskJetEmbeddingFromPYTHIA.C:49 AddTaskJetEmbeddingFromPYTHIA.C:50 AddTaskJetEmbeddingFromPYTHIA.C:51 AddTaskJetEmbeddingFromPYTHIA.C:52 AddTaskJetEmbeddingFromPYTHIA.C:53 AddTaskJetEmbeddingFromPYTHIA.C:54 AddTaskJetEmbeddingFromPYTHIA.C:55 AddTaskJetEmbeddingFromPYTHIA.C:56 AddTaskJetEmbeddingFromPYTHIA.C:57 AddTaskJetEmbeddingFromPYTHIA.C:58 AddTaskJetEmbeddingFromPYTHIA.C:59 AddTaskJetEmbeddingFromPYTHIA.C:60 AddTaskJetEmbeddingFromPYTHIA.C:61 AddTaskJetEmbeddingFromPYTHIA.C:62 AddTaskJetEmbeddingFromPYTHIA.C:63 AddTaskJetEmbeddingFromPYTHIA.C:64 AddTaskJetEmbeddingFromPYTHIA.C:65 AddTaskJetEmbeddingFromPYTHIA.C:66 AddTaskJetEmbeddingFromPYTHIA.C:67 AddTaskJetEmbeddingFromPYTHIA.C:68 AddTaskJetEmbeddingFromPYTHIA.C:69 AddTaskJetEmbeddingFromPYTHIA.C:70 AddTaskJetEmbeddingFromPYTHIA.C:71 AddTaskJetEmbeddingFromPYTHIA.C:72 AddTaskJetEmbeddingFromPYTHIA.C:73 AddTaskJetEmbeddingFromPYTHIA.C:74 AddTaskJetEmbeddingFromPYTHIA.C:75 AddTaskJetEmbeddingFromPYTHIA.C:76 AddTaskJetEmbeddingFromPYTHIA.C:77 AddTaskJetEmbeddingFromPYTHIA.C:78 AddTaskJetEmbeddingFromPYTHIA.C:79 AddTaskJetEmbeddingFromPYTHIA.C:80 AddTaskJetEmbeddingFromPYTHIA.C:81 AddTaskJetEmbeddingFromPYTHIA.C:82 AddTaskJetEmbeddingFromPYTHIA.C:83 AddTaskJetEmbeddingFromPYTHIA.C:84 AddTaskJetEmbeddingFromPYTHIA.C:85 AddTaskJetEmbeddingFromPYTHIA.C:86 AddTaskJetEmbeddingFromPYTHIA.C:87 AddTaskJetEmbeddingFromPYTHIA.C:88 AddTaskJetEmbeddingFromPYTHIA.C:89 AddTaskJetEmbeddingFromPYTHIA.C:90 AddTaskJetEmbeddingFromPYTHIA.C:91 AddTaskJetEmbeddingFromPYTHIA.C:92 AddTaskJetEmbeddingFromPYTHIA.C:93 AddTaskJetEmbeddingFromPYTHIA.C:94 AddTaskJetEmbeddingFromPYTHIA.C:95 AddTaskJetEmbeddingFromPYTHIA.C:96 AddTaskJetEmbeddingFromPYTHIA.C:97 AddTaskJetEmbeddingFromPYTHIA.C:98 AddTaskJetEmbeddingFromPYTHIA.C:99 AddTaskJetEmbeddingFromPYTHIA.C:100 AddTaskJetEmbeddingFromPYTHIA.C:101 AddTaskJetEmbeddingFromPYTHIA.C:102 AddTaskJetEmbeddingFromPYTHIA.C:103 AddTaskJetEmbeddingFromPYTHIA.C:104 AddTaskJetEmbeddingFromPYTHIA.C:105 AddTaskJetEmbeddingFromPYTHIA.C:106 AddTaskJetEmbeddingFromPYTHIA.C:107 AddTaskJetEmbeddingFromPYTHIA.C:108 AddTaskJetEmbeddingFromPYTHIA.C:109 AddTaskJetEmbeddingFromPYTHIA.C:110 AddTaskJetEmbeddingFromPYTHIA.C:111 AddTaskJetEmbeddingFromPYTHIA.C:112 AddTaskJetEmbeddingFromPYTHIA.C:113 AddTaskJetEmbeddingFromPYTHIA.C:114 AddTaskJetEmbeddingFromPYTHIA.C:115 AddTaskJetEmbeddingFromPYTHIA.C:116 AddTaskJetEmbeddingFromPYTHIA.C:117 AddTaskJetEmbeddingFromPYTHIA.C:118 AddTaskJetEmbeddingFromPYTHIA.C:119 AddTaskJetEmbeddingFromPYTHIA.C:120 AddTaskJetEmbeddingFromPYTHIA.C:121 AddTaskJetEmbeddingFromPYTHIA.C:122 AddTaskJetEmbeddingFromPYTHIA.C:123 AddTaskJetEmbeddingFromPYTHIA.C:124 AddTaskJetEmbeddingFromPYTHIA.C:125 AddTaskJetEmbeddingFromPYTHIA.C:126 AddTaskJetEmbeddingFromPYTHIA.C:127 AddTaskJetEmbeddingFromPYTHIA.C:128 AddTaskJetEmbeddingFromPYTHIA.C:129 AddTaskJetEmbeddingFromPYTHIA.C:130 AddTaskJetEmbeddingFromPYTHIA.C:131 AddTaskJetEmbeddingFromPYTHIA.C:132 AddTaskJetEmbeddingFromPYTHIA.C:133 AddTaskJetEmbeddingFromPYTHIA.C:134 AddTaskJetEmbeddingFromPYTHIA.C:135 AddTaskJetEmbeddingFromPYTHIA.C:136 AddTaskJetEmbeddingFromPYTHIA.C:137 AddTaskJetEmbeddingFromPYTHIA.C:138 AddTaskJetEmbeddingFromPYTHIA.C:139 AddTaskJetEmbeddingFromPYTHIA.C:140 AddTaskJetEmbeddingFromPYTHIA.C:141 AddTaskJetEmbeddingFromPYTHIA.C:142 AddTaskJetEmbeddingFromPYTHIA.C:143 AddTaskJetEmbeddingFromPYTHIA.C:144 AddTaskJetEmbeddingFromPYTHIA.C:145 AddTaskJetEmbeddingFromPYTHIA.C:146 AddTaskJetEmbeddingFromPYTHIA.C:147 AddTaskJetEmbeddingFromPYTHIA.C:148 AddTaskJetEmbeddingFromPYTHIA.C:149 AddTaskJetEmbeddingFromPYTHIA.C:150 AddTaskJetEmbeddingFromPYTHIA.C:151 AddTaskJetEmbeddingFromPYTHIA.C:152 AddTaskJetEmbeddingFromPYTHIA.C:153 AddTaskJetEmbeddingFromPYTHIA.C:154 AddTaskJetEmbeddingFromPYTHIA.C:155