//=============================================================================
//
// *** AddTaskFemtoAzimtuhalHBT.C ***
//
// This macro initialize a complete AnalysisTask object for femtoscopy.
//
//=============================================================================
AliAnalysisTaskFemto *AddTaskFemtoAzimtuhalHBT(TString configMacroName, const char *containerName="femtolist", const char *configMacroParameters="" )
{
// Creates a proton analysis task and adds it to the analysis manager.
// A. Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
Error("AddTaskFemtoAzimtuhalHBT", "No analysis manager to connect to.");
return NULL;
}
TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
Bool_t useEtaGap=kFALSE;
Float_t etaGap=0.;
Bool_t posTPCAOD=kFALSE;
TString containername = "EPStat_ttd";
// B. Check the analysis type using the event handlers connected to the analysis
// manager. The availability of MC handler cann also be checked here.
//==============================================================================
if (!mgr->GetInputEventHandler()) {
::Error("AddTaskFemtoAzimtuhalHBT", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
// cout << "Found " <<type << " event handler" << endl;
//gROOT->LoadMacro("AliEPSelectionTask3.cxx+g");
//gROOT->LoadMacro("AddTaskEventplane.C");
//AliEPSelectionTask3* epsel = AddTaskEventplane();
AliEPSelectionTask *eventplaneTask = new AliEPSelectionTask("EventplaneSelection4");
eventplaneTask->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kSemiCentral | AliVEvent::kCentral);
if (inputDataType == "AOD"){
eventplaneTask->SetInput("AOD");
}
eventplaneTask->SetTrackType("TPC");
eventplaneTask->SetUsePtWeight();
eventplaneTask->SetUsePhiWeight();
eventplaneTask->SetSaveTrackContribution();
if(useEtaGap){
eventplaneTask->SetSubeventsSplitMethod(AliEPSelectionTask3::kEta);
eventplaneTask->SetEtaGap(etaGap);
}
if(posTPCAOD){
eventplaneTask->SetPersonalAODtrackCuts(128,0.,0.8,0.15,20.);
eventplaneTask->SetSubeventsSplitMethod(AliEPSelectionTask3::kRandom);
}
mgr->AddTask(eventplaneTask);
// C. Create the task, add it to manager.
//===========================================================================
// gSystem->SetIncludePath("-I$ROOTSYS/include -I./PWG2AOD/AOD -I./PWG2femtoscopy/FEMTOSCOPY/AliFemto -I./PWG2femtoscopyUser/FEMTOSCOPY/AliFemtoUser -I$ALICE_ROOT/include");
if (TProofMgr::GetListOfManagers()->GetEntries()) {
// if (dynamic_cast<TProofLite *> gProof) {
// char *macrocommand[10000];
// sprintf(macrocommand, ".L %s", configMacroName);
// gProof->Exec(macrocommand);
// }
// else
gProof->Load(configMacroName);
}
// gROOT->LoadMacro("ConfigFemtoAnalysis.C++");
AliAnalysisTaskFemto *taskfemto = new AliAnalysisTaskFemto("TaskFemto","$ALICE_ROOT/"+configMacroName,configMacroParameters,kFALSE);
//taskfemto->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral) ;
mgr->AddTask(taskfemto);
// D. Configure the analysis task. Extra parameters can be used via optional
// arguments of the AddTaskXXX() function.
//===========================================================================
// E. Create ONLY the output containers for the data produced by the task.
// Get and connect other common input/output containers via the manager as below
//==============================================================================
TString outputfile = AliAnalysisManager::GetCommonFileName();
// outputfile += ":PWG2FEMTO";
AliAnalysisDataContainer *cout_femto = mgr->CreateContainer(containerName, TList::Class(),
AliAnalysisManager::kOutputContainer,outputfile);
mgr->ConnectInput(taskfemto, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskfemto, 0, cout_femto);
AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(containername, TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);
mgr->ConnectInput(eventplaneTask, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(eventplaneTask,1,coutput1);
// Return task pointer at the end
return taskfemto;
}
AddTaskFemtoAzimtuhalHBT.C:1 AddTaskFemtoAzimtuhalHBT.C:2 AddTaskFemtoAzimtuhalHBT.C:3 AddTaskFemtoAzimtuhalHBT.C:4 AddTaskFemtoAzimtuhalHBT.C:5 AddTaskFemtoAzimtuhalHBT.C:6 AddTaskFemtoAzimtuhalHBT.C:7 AddTaskFemtoAzimtuhalHBT.C:8 AddTaskFemtoAzimtuhalHBT.C:9 AddTaskFemtoAzimtuhalHBT.C:10 AddTaskFemtoAzimtuhalHBT.C:11 AddTaskFemtoAzimtuhalHBT.C:12 AddTaskFemtoAzimtuhalHBT.C:13 AddTaskFemtoAzimtuhalHBT.C:14 AddTaskFemtoAzimtuhalHBT.C:15 AddTaskFemtoAzimtuhalHBT.C:16 AddTaskFemtoAzimtuhalHBT.C:17 AddTaskFemtoAzimtuhalHBT.C:18 AddTaskFemtoAzimtuhalHBT.C:19 AddTaskFemtoAzimtuhalHBT.C:20 AddTaskFemtoAzimtuhalHBT.C:21 AddTaskFemtoAzimtuhalHBT.C:22 AddTaskFemtoAzimtuhalHBT.C:23 AddTaskFemtoAzimtuhalHBT.C:24 AddTaskFemtoAzimtuhalHBT.C:25 AddTaskFemtoAzimtuhalHBT.C:26 AddTaskFemtoAzimtuhalHBT.C:27 AddTaskFemtoAzimtuhalHBT.C:28 AddTaskFemtoAzimtuhalHBT.C:29 AddTaskFemtoAzimtuhalHBT.C:30 AddTaskFemtoAzimtuhalHBT.C:31 AddTaskFemtoAzimtuhalHBT.C:32 AddTaskFemtoAzimtuhalHBT.C:33 AddTaskFemtoAzimtuhalHBT.C:34 AddTaskFemtoAzimtuhalHBT.C:35 AddTaskFemtoAzimtuhalHBT.C:36 AddTaskFemtoAzimtuhalHBT.C:37 AddTaskFemtoAzimtuhalHBT.C:38 AddTaskFemtoAzimtuhalHBT.C:39 AddTaskFemtoAzimtuhalHBT.C:40 AddTaskFemtoAzimtuhalHBT.C:41 AddTaskFemtoAzimtuhalHBT.C:42 AddTaskFemtoAzimtuhalHBT.C:43 AddTaskFemtoAzimtuhalHBT.C:44 AddTaskFemtoAzimtuhalHBT.C:45 AddTaskFemtoAzimtuhalHBT.C:46 AddTaskFemtoAzimtuhalHBT.C:47 AddTaskFemtoAzimtuhalHBT.C:48 AddTaskFemtoAzimtuhalHBT.C:49 AddTaskFemtoAzimtuhalHBT.C:50 AddTaskFemtoAzimtuhalHBT.C:51 AddTaskFemtoAzimtuhalHBT.C:52 AddTaskFemtoAzimtuhalHBT.C:53 AddTaskFemtoAzimtuhalHBT.C:54 AddTaskFemtoAzimtuhalHBT.C:55 AddTaskFemtoAzimtuhalHBT.C:56 AddTaskFemtoAzimtuhalHBT.C:57 AddTaskFemtoAzimtuhalHBT.C:58 AddTaskFemtoAzimtuhalHBT.C:59 AddTaskFemtoAzimtuhalHBT.C:60 AddTaskFemtoAzimtuhalHBT.C:61 AddTaskFemtoAzimtuhalHBT.C:62 AddTaskFemtoAzimtuhalHBT.C:63 AddTaskFemtoAzimtuhalHBT.C:64 AddTaskFemtoAzimtuhalHBT.C:65 AddTaskFemtoAzimtuhalHBT.C:66 AddTaskFemtoAzimtuhalHBT.C:67 AddTaskFemtoAzimtuhalHBT.C:68 AddTaskFemtoAzimtuhalHBT.C:69 AddTaskFemtoAzimtuhalHBT.C:70 AddTaskFemtoAzimtuhalHBT.C:71 AddTaskFemtoAzimtuhalHBT.C:72 AddTaskFemtoAzimtuhalHBT.C:73 AddTaskFemtoAzimtuhalHBT.C:74 AddTaskFemtoAzimtuhalHBT.C:75 AddTaskFemtoAzimtuhalHBT.C:76 AddTaskFemtoAzimtuhalHBT.C:77 AddTaskFemtoAzimtuhalHBT.C:78 AddTaskFemtoAzimtuhalHBT.C:79 AddTaskFemtoAzimtuhalHBT.C:80 AddTaskFemtoAzimtuhalHBT.C:81 AddTaskFemtoAzimtuhalHBT.C:82 AddTaskFemtoAzimtuhalHBT.C:83 AddTaskFemtoAzimtuhalHBT.C:84 AddTaskFemtoAzimtuhalHBT.C:85 AddTaskFemtoAzimtuhalHBT.C:86 AddTaskFemtoAzimtuhalHBT.C:87 AddTaskFemtoAzimtuhalHBT.C:88 AddTaskFemtoAzimtuhalHBT.C:89 AddTaskFemtoAzimtuhalHBT.C:90 AddTaskFemtoAzimtuhalHBT.C:91 AddTaskFemtoAzimtuhalHBT.C:92 AddTaskFemtoAzimtuhalHBT.C:93 AddTaskFemtoAzimtuhalHBT.C:94 AddTaskFemtoAzimtuhalHBT.C:95 AddTaskFemtoAzimtuhalHBT.C:96 AddTaskFemtoAzimtuhalHBT.C:97 AddTaskFemtoAzimtuhalHBT.C:98 AddTaskFemtoAzimtuhalHBT.C:99 AddTaskFemtoAzimtuhalHBT.C:100 AddTaskFemtoAzimtuhalHBT.C:101 AddTaskFemtoAzimtuhalHBT.C:102 AddTaskFemtoAzimtuhalHBT.C:103 AddTaskFemtoAzimtuhalHBT.C:104 AddTaskFemtoAzimtuhalHBT.C:105 AddTaskFemtoAzimtuhalHBT.C:106 AddTaskFemtoAzimtuhalHBT.C:107