]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/macros/AddTaskSAJF.C
Protection against re-initialization of histograms if not already
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskSAJF.C
CommitLineData
00514d01 1// $Id$
2
3AliAnalysisTaskSAJF* AddTaskSAJF(
00514d01 4 const char *ntracks = "Tracks",
5 const char *nclusters = "CaloClusters",
6 const char *njets = "Jets",
226f511d 7 const char *nrho = "Rho",
a487deae 8 Double_t jetradius = 0.2,
df43b607 9 Double_t jetptcut = 1,
624bef5b 10 Double_t jetareacut = 0.557,
7cd832c7 11 const char *cutType = "TPC",
a487deae 12 Int_t leadhadtype = 0,
7cf4626b 13 const char *taskname = "AliAnalysisTaskSAJF"
00514d01 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
1f9c287f 37 TString name(taskname);
38 if (strcmp(njets,"")) {
39 name += "_";
40 name += njets;
41 }
42 if (strcmp(nrho,"")) {
43 name += "_";
44 name += nrho;
45 }
7cd832c7 46 name += "_";
47 name += cutType;
1f9c287f 48
7cf4626b 49 AliAnalysisTaskSAJF* jetTask = new AliAnalysisTaskSAJF(name);
7cd832c7 50
51 AliParticleContainer *trackCont = jetTask->AddParticleContainer(ntracks);
52 AliClusterContainer *clusterCont = jetTask->AddClusterContainer(nclusters);
53
54 AliJetContainer *jetCont = jetTask->AddJetContainer(njets,cutType,jetradius);
55 if (jetCont) {
56 jetCont->SetRhoName(nrho);
57 jetCont->SetPercAreaCut(jetareacut);
58 jetCont->SetJetPtCut(jetptcut);
59 jetCont->ConnectParticleContainer(trackCont);
60 jetCont->ConnectClusterContainer(clusterCont);
61 jetCont->SetLeadingHadronType(leadhadtype);
62 }
63
00514d01 64 //-------------------------------------------------------
65 // Final settings, pass to manager and set the containers
66 //-------------------------------------------------------
df43b607 67
af986cb0 68 mgr->AddTask(jetTask);
00514d01 69
70 // Create containers for input/output
c10e3608 71 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer() ;
7cf4626b 72 TString contname(name);
00514d01 73 contname += "_histos";
c10e3608 74 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname.Data(),
75 TList::Class(),AliAnalysisManager::kOutputContainer,
76 Form("%s", AliAnalysisManager::GetCommonFileName()));
af986cb0 77 mgr->ConnectInput (jetTask, 0, cinput1 );
78 mgr->ConnectOutput (jetTask, 1, coutput1 );
df43b607 79
af986cb0 80 return jetTask;
00514d01 81}