]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALJetTasks/macros/AddTaskSAJF.C
d4d0399f4815b766e156b3e5436e87a5cb8aa8cd
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / macros / AddTaskSAJF.C
1 // $Id$
2
3 AliAnalysisTaskSAJF* AddTaskSAJF(
4   const char *taskname           = "AliAnalysisTaskSAJF",
5   const char *ntracks            = "Tracks",
6   const char *nclusters          = "CaloClusters",
7   const char *njets              = "Jets",
8   const char *nembjets           = "EmbJets",
9   const char *nrandtracks        = "TracksRandomized",
10   const char *nrandclusters      = "CaloClustersRandomized",
11   const char *nrho               = "Rho",
12   Double_t    jetradius          = 0.4,
13   Double_t    jetptcut           = 1,
14   Double_t    jetareacut         = 0.2,
15   Double_t    ptcut              = 0.15,
16   Double_t    jetBiasTrack       = 10,
17   Double_t    jetBiasClus        = 10,
18   UInt_t      type               = AliAnalysisTaskEmcal::kTPC
19 )
20 {  
21   // Get the pointer to the existing analysis manager via the static access method.
22   //==============================================================================
23   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
24   if (!mgr)
25   {
26     ::Error("AddTaskSAJF", "No analysis manager to connect to.");
27     return NULL;
28   }  
29   
30   // Check the analysis type using the event handlers connected to the analysis manager.
31   //==============================================================================
32   if (!mgr->GetInputEventHandler())
33   {
34     ::Error("AddTaskSAJF", "This task requires an input event handler");
35     return NULL;
36   }
37   
38   //-------------------------------------------------------
39   // Init the task and do settings
40   //-------------------------------------------------------
41
42   AliAnalysisTaskSAJF* jetTask = new AliAnalysisTaskSAJF(taskname);
43   jetTask->SetAnaType(type);
44   jetTask->SetTracksName(ntracks);
45   jetTask->SetClusName(nclusters);
46   jetTask->SetJetsName(njets);
47   jetTask->SetEmbJetsName(nembjets);
48   jetTask->SetRandTracksName(nrandtracks);
49   jetTask->SetRandClusName(nrandclusters);
50   jetTask->SetRhoName(nrho);
51   jetTask->SetPtCut(ptcut);
52   jetTask->SetJetRadius(jetradius);
53   jetTask->SetJetPtCut(jetptcut);
54   jetTask->SetJetAreaCut(jetareacut);
55   jetTask->SetPtBiasJetTrack(jetBiasTrack);
56   jetTask->SetPtBiasJetClus(jetBiasClus);
57   
58   //-------------------------------------------------------
59   // Final settings, pass to manager and set the containers
60   //-------------------------------------------------------
61   
62   mgr->AddTask(jetTask);
63   
64   // Create containers for input/output
65   AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer()  ;
66   TString contname(taskname);
67   contname += "_histos";
68   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(), 
69                                                             TList::Class(),AliAnalysisManager::kOutputContainer,
70                                                             Form("%s", AliAnalysisManager::GetCommonFileName()));
71   mgr->ConnectInput  (jetTask, 0,  cinput1 );
72   mgr->ConnectOutput (jetTask, 1, coutput1 );
73   
74   return jetTask;
75 }