3 AliAnalysisTaskSAJF* AddTaskSAJF(
4 const char *ntracks = "Tracks",
5 const char *nclusters = "CaloClusters",
6 const char *njets = "Jets",
7 const char *nembtracks = "TracksEmbedded",
8 const char *nembclusters = "CaloClustersEmbedded",
9 const char *nembjets = "EmbJets",
10 const char *nrandtracks = "TracksRandomized",
11 const char *nrandclusters = "CaloClustersRandomized",
12 const char *nrho = "Rho",
13 Double_t jetradius = 0.4,
14 Double_t jetptcut = 1,
15 Double_t jetareacut = 0.8,
16 Double_t ptcut = 0.15,
17 Double_t jetBiasTrack = 5,
18 Double_t jetBiasClus = 5,
19 UInt_t type = AliAnalysisTaskEmcal::kTPC,
20 const char *taskname = "AliAnalysisTaskSAJF"
23 // Get the pointer to the existing analysis manager via the static access method.
24 //==============================================================================
25 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
28 ::Error("AddTaskSAJF", "No analysis manager to connect to.");
32 // Check the analysis type using the event handlers connected to the analysis manager.
33 //==============================================================================
34 if (!mgr->GetInputEventHandler())
36 ::Error("AddTaskSAJF", "This task requires an input event handler");
40 //-------------------------------------------------------
41 // Init the task and do settings
42 //-------------------------------------------------------
44 TString name(taskname);
54 name += floor(jetradius*10+0.5);
56 name += floor(ptcut*1000+0.5);
58 if (type == AliAnalysisTaskEmcal::kTPC)
60 else if (type == AliAnalysisTaskEmcal::kEMCAL)
62 else if (type == AliAnalysisTaskEmcal::kTPCSmall)
64 else if (type == AliAnalysisTaskEmcal::kEMCALOnly)
66 AliAnalysisTaskSAJF* jetTask = new AliAnalysisTaskSAJF(name);
67 jetTask->SetAnaType(type);
68 jetTask->SetTracksName(ntracks);
69 jetTask->SetClusName(nclusters);
70 jetTask->SetJetsName(njets);
71 jetTask->SetEmbTracksName(nembtracks);
72 jetTask->SetEmbClusName(nembclusters);
73 jetTask->SetEmbJetsName(nembjets);
74 jetTask->SetRandTracksName(nrandtracks);
75 jetTask->SetRandClusName(nrandclusters);
76 jetTask->SetRhoName(nrho);
77 jetTask->SetPtCut(ptcut);
78 jetTask->SetJetRadius(jetradius);
79 jetTask->SetJetPtCut(jetptcut);
80 jetTask->SetPercAreaCut(jetareacut);
81 jetTask->SetPtBiasJetTrack(jetBiasTrack);
82 jetTask->SetPtBiasJetClus(jetBiasClus);
84 //-------------------------------------------------------
85 // Final settings, pass to manager and set the containers
86 //-------------------------------------------------------
88 mgr->AddTask(jetTask);
90 // Create containers for input/output
91 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
92 TString contname(name);
93 contname += "_histos";
94 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
95 TList::Class(),AliAnalysisManager::kOutputContainer,
96 Form("%s", AliAnalysisManager::GetCommonFileName()));
97 mgr->ConnectInput (jetTask, 0, cinput1 );
98 mgr->ConnectOutput (jetTask, 1, coutput1 );