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