]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWGJE/EMCALJetTasks/macros/AddTaskSAQA.C
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskSAQA.C
... / ...
CommitLineData
1// $Id$
2
3AliAnalysisTaskSAQA* AddTaskSAQA(
4 const char *ntracks = "Tracks",
5 const char *nclusters = "CaloClusters",
6 const char *ncells = "EMCALCells",
7 const char *njets = "Jets",
8 const char *nrho = "Rho",
9 Double_t jetradius = 0.2,
10 Double_t jetptcut = 1,
11 Double_t jetareacut = 0.557,
12 Double_t trackptcut = 0.15,
13 Double_t clusptcut = 0.30,
14 const char *cutType = "TPC",
15 const char *taskname = "AliAnalysisTaskSAQA"
16)
17{
18 // Get the pointer to the existing analysis manager via the static access method.
19 //==============================================================================
20 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
21 if (!mgr)
22 {
23 ::Error("AddTaskSAQA", "No analysis manager to connect to.");
24 return NULL;
25 }
26
27 // Check the analysis type using the event handlers connected to the analysis manager.
28 //==============================================================================
29 if (!mgr->GetInputEventHandler())
30 {
31 ::Error("AddTaskSAQA", "This task requires an input event handler");
32 return NULL;
33 }
34
35 //-------------------------------------------------------
36 // Init the task and do settings
37 //-------------------------------------------------------
38
39 TString name(taskname);
40 if (strcmp(ntracks,"")) {
41 name += "_";
42 name += ntracks;
43 }
44 if (strcmp(nclusters,"")) {
45 name += "_";
46 name += nclusters;
47 }
48 if (strcmp(njets,"")) {
49 name += "_";
50 name += njets;
51 }
52
53 name += "_";
54 name += cutType;
55
56 AliAnalysisTaskSAQA* qaTask = new AliAnalysisTaskSAQA(name);
57 qaTask->SetCaloCellsName(ncells);
58 qaTask->SetRhoName(nrho,-1);
59 qaTask->SetVzRange(-10,10);
60
61 AliParticleContainer *partCont = qaTask->AddParticleContainer(ntracks);
62 if (partCont) partCont->SetParticlePtCut(trackptcut);
63
64 AliClusterContainer *clusCont = qaTask->AddClusterContainer(nclusters);
65 if (clusCont) clusCont->SetClusPtCut(clusptcut);
66
67 AliJetContainer *jetCont = qaTask->AddJetContainer(njets,cutType,jetradius);
68 if (jetCont) {
69 jetCont->SetJetPtCut(jetptcut);
70 jetCont->SetPercAreaCut(jetareacut);
71 jetCont->SetRhoName(nrho);
72 }
73
74 //-------------------------------------------------------
75 // Final settings, pass to manager and set the containers
76 //-------------------------------------------------------
77
78 mgr->AddTask(qaTask);
79
80 // Create containers for input/output
81 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
82
83 TString contName(name);
84 contName += "_histos";
85 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(),
86 TList::Class(),AliAnalysisManager::kOutputContainer,
87 Form("%s", AliAnalysisManager::GetCommonFileName()));
88 mgr->ConnectInput (qaTask, 0, cinput1 );
89 mgr->ConnectOutput (qaTask, 1, coutput1 );
90
91 return qaTask;
92}