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