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