3 AliEmcalParticleMaker* AddTaskEmcalParticleMaker(
4 const char *tracksName = "PicoTracks",
5 char *clustersName = 0,
6 const char *tracksOutName = "EmcalTracks",
7 const char *clustersOutName = "EmcalClusters",
8 const char *taskName = "AliEmcalParticleMaker"
11 // Get the pointer to the existing analysis manager via the static access method.
12 //==============================================================================
13 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
16 ::Error("AddTaskEmcalParticleMaker", "No analysis manager to connect to.");
20 // Check the analysis type using the event handlers connected to the analysis manager.
21 //==============================================================================
22 AliVEventHandler *evhand = mgr->GetInputEventHandler();
24 ::Error("AddTaskEmcalParticleMaker", "This task requires an input event handler");
29 clustersName = new char[100];
31 if (evhand->InheritsFrom("AliESDInputHandler")) {
32 ::Info("AddTaskEmcalParticleMaker", "ESD analysis, clustersName = \"CaloClusters\"");
33 strcpy(clustersName,"CaloClusters");
36 ::Info("AddTaskEmcalParticleMaker", "AOD analysis, clustersName = \"caloClusters\"");
37 strcpy(clustersName,"caloClusters");
41 //-------------------------------------------------------
42 // Init the task and do settings
43 //-------------------------------------------------------
45 AliEmcalParticleMaker *eTask = new AliEmcalParticleMaker(taskName);
46 eTask->SetTracksName(tracksName);
47 eTask->SetClusName(clustersName);
48 eTask->SetTracksOutName(tracksOutName);
49 eTask->SetClusOutName(clustersOutName);
50 eTask->SetAnaType(AliAnalysisTaskEmcal::kEMCAL);
52 //-------------------------------------------------------
53 // Final settings, pass to manager and set the containers
54 //-------------------------------------------------------
57 // Create containers for input/output
58 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
59 mgr->ConnectInput (eTask, 0, cinput1 );