]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetMassStructure.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskEmcalJetMassStructure.C
1 AliAnalysisTaskEmcalJetMassStructure* AddTaskEmcalJetMassStructure(const char * njetsBase,
2                                                                    const Double_t R,
3                                                                    const char * nrhoBase, 
4                                                                    const char * ntracks, 
5                                                                    const char * nclusters,
6                                                                    const char *type,                                         
7                                                                    const char *CentEst,
8                                                                    Int_t       pSel,
9                                                                    TString     trigClass      = "",
10                                                                    TString     kEmcalTriggers = "",
11                                                                    TString     tag            = "") {
12
13   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
14   if (!mgr)
15     {
16       Error("AddTaskEmcalJetMass","No analysis manager found.");
17       return 0;
18     }
19   Bool_t ismc=kFALSE;
20   ismc = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
21
22   // Check the analysis type using the event handlers connected to the analysis manager.
23   //==============================================================================
24   if (!mgr->GetInputEventHandler())
25     {
26       ::Error("AddTaskEmcalJetMass", "This task requires an input event handler");
27       return NULL;
28     }
29
30   TString wagonName = Form("JetMassStructure_%s_TC%s%s",njetsBase,trigClass.Data(),tag.Data());
31
32   //Configure jet tagger task
33   AliAnalysisTaskEmcalJetMassStructure *task = new AliAnalysisTaskEmcalJetMassStructure(wagonName.Data());
34
35   task->SetNCentBins(4);
36   //task->SetVzRange(-10.,10.);
37
38   AliParticleContainer *trackCont  = task->AddParticleContainer(ntracks);
39   AliClusterContainer *clusterCont = task->AddClusterContainer(nclusters);
40
41   task->SetJetContainerBase(0);
42
43   TString strType(type);
44   AliJetContainer *jetContBase = task->AddJetContainer(njetsBase,strType,R);
45   if(jetContBase) {
46     jetContBase->SetRhoName(nrhoBase);
47     jetContBase->ConnectParticleContainer(trackCont);
48     jetContBase->ConnectClusterContainer(clusterCont);
49     jetContBase->SetPercAreaCut(0.6);
50   }
51
52   task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
53   task->SetCentralityEstimator(CentEst);
54   task->SelectCollisionCandidates(pSel);
55   task->SetUseAliAnaUtils(kFALSE);
56
57   mgr->AddTask(task);
58
59   //Connnect input
60   mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );
61
62   //Connect output
63   TString contName(wagonName);
64   TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
65   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
66   mgr->ConnectOutput(task,1,coutput1);
67
68   return task;  
69 }