3 AliJetConstituentTagCopier* AddTaskTagCopier(
4 const char *ntracks = "Tracks",
5 const char *nclusters = "CaloClusters",
6 const char *nmcparticles = "MCParticles",
7 Double_t trackptcut = 0.15,
8 Double_t clusptcut = 0.30,
9 UInt_t type = AliAnalysisTaskEmcal::kTPC,
10 const char *taskname = "AliJetConstituentTagCopier"
13 // Get the pointer to the existing analysis manager via the static access method.
14 //==============================================================================
15 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
18 ::Error("AddTaskTagCopier", "No analysis manager to connect to.");
22 // Check the analysis type using the event handlers connected to the analysis manager.
23 //==============================================================================
24 if (!mgr->GetInputEventHandler())
26 ::Error("AddTaskTagCopier", "This task requires an input event handler");
30 //-------------------------------------------------------
31 // Init the task and do settings
32 //-------------------------------------------------------
34 TString name(taskname);
35 if (strcmp(ntracks,"")) {
39 if (strcmp(nclusters,"")) {
43 if (strcmp(nmcparticles,"")) {
47 if (type == AliAnalysisTaskEmcal::kTPC)
49 else if (type == AliAnalysisTaskEmcal::kEMCAL)
51 else if (type == AliAnalysisTaskEmcal::kUser)
54 AliJetConstituentTagCopier* task = new AliJetConstituentTagCopier(name);
55 task->SetTracksName(ntracks);
56 task->SetClusName(nclusters);
57 task->SetMCParticlesName(nmcparticles);
58 task->SetTrackPtCut(trackptcut);
59 task->SetClusPtCut(clusptcut);
60 task->SetAnaType(type);
62 //-------------------------------------------------------
63 // Final settings, pass to manager and set the containers
64 //-------------------------------------------------------
68 // Create containers for input/output
69 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
70 mgr->ConnectInput(task, 0, cinput1);