]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskSAJF.C
Add possibility to enable trigger patch QA in the jet preparation
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskSAJF.C
1 // $Id$
2
3 AliAnalysisTaskSAJF* AddTaskSAJF(
4   const char *ntracks            = "Tracks",
5   const char *nclusters          = "CaloClusters",
6   const char *njets              = "Jets",
7   const char *nrho               = "Rho",
8   Double_t    jetradius          = 0.2,
9   Double_t    jetptcut           = 1,
10   Double_t    jetareacut         = 0.557,
11   const char *cutType            = "TPC",
12   Int_t       leadhadtype        = 0,
13   const char *taskname           = "AliAnalysisTaskSAJF"
14 )
15 {  
16   // Get the pointer to the existing analysis manager via the static access method.
17   //==============================================================================
18   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19   if (!mgr)
20   {
21     ::Error("AddTaskSAJF", "No analysis manager to connect to.");
22     return NULL;
23   }  
24   
25   // Check the analysis type using the event handlers connected to the analysis manager.
26   //==============================================================================
27   if (!mgr->GetInputEventHandler())
28   {
29     ::Error("AddTaskSAJF", "This task requires an input event handler");
30     return NULL;
31   }
32   
33   //-------------------------------------------------------
34   // Init the task and do settings
35   //-------------------------------------------------------
36
37   TString name(taskname);
38   if (strcmp(njets,"")) {
39     name += "_";
40     name += njets;
41   }
42   if (strcmp(nrho,"")) {
43     name += "_";
44     name += nrho;
45   }
46   name += "_";
47   name += cutType;
48
49   AliAnalysisTaskSAJF* jetTask = new AliAnalysisTaskSAJF(name);
50   jetTask->SetVzRange(-10,10);
51
52   AliParticleContainer *trackCont = jetTask->AddParticleContainer(ntracks);
53   AliClusterContainer *clusterCont = jetTask->AddClusterContainer(nclusters);
54
55   AliJetContainer *jetCont = jetTask->AddJetContainer(njets,cutType,jetradius);
56   if (jetCont) {
57     jetCont->SetRhoName(nrho);
58     jetCont->SetPercAreaCut(jetareacut);
59     jetCont->SetJetPtCut(jetptcut);
60     jetCont->ConnectParticleContainer(trackCont);
61     jetCont->ConnectClusterContainer(clusterCont);
62     jetCont->SetLeadingHadronType(leadhadtype);
63     jetCont->SetMaxTrackPt(1000);
64   }
65
66   //-------------------------------------------------------
67   // Final settings, pass to manager and set the containers
68   //-------------------------------------------------------
69   
70   mgr->AddTask(jetTask);
71   
72   // Create containers for input/output
73   AliAnalysisDataContainer *cinput1  = mgr->GetCommonInputContainer()  ;
74   TString contname(name);
75   contname += "_histos";
76   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(), 
77                                                             TList::Class(),AliAnalysisManager::kOutputContainer,
78                                                             Form("%s", AliAnalysisManager::GetCommonFileName()));
79   mgr->ConnectInput  (jetTask, 0,  cinput1 );
80   mgr->ConnectOutput (jetTask, 1, coutput1 );
81   
82   return jetTask;
83 }