]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskRhoMassScale.C
Merge branch 'TPCdev' of https://git.cern.ch/reps/AliRoot into TPCdev
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskRhoMassScale.C
1 AliAnalysisTaskRhoMassScale* AddTaskRhoMassScale(const char *rhomNeutral,
2                                                  const char *rhomChEmcal,
3                                                  const char *rhomCh2xEmcal,
4                                                  const char *ntracks,
5                                                  const Double_t kMinTrackPt = 0.15,
6                                                  Int_t       pSel        = AliVEvent::kAny,
7                                                  const char * njetsNeutral  = "",
8                                                  const char * njetsCharged   = "",
9                                                  const Double_t R        = 0.4,
10                                                  const char *type        = "EMCAL",                                          
11                                                  TString     tag         = "") {
12
13   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
14   if (!mgr)
15     {
16       Error("AddTaskRhoMassScale","No analysis manager found.");
17       return 0;
18     }
19
20   // Check the analysis type using the event handlers connected to the analysis manager.
21   //==============================================================================
22   if (!mgr->GetInputEventHandler())
23     {
24       ::Error("AddTaskRhoMassScale", "This task requires an input event handler");
25       return NULL;
26     }
27
28   TString wagonName = Form("RhoMassScale%s",tag.Data());
29   TString strType(type);
30
31   //Configure jet mass detector response task
32   AliAnalysisTaskRhoMassScale *task = new AliAnalysisTaskRhoMassScale(wagonName.Data());
33
34   task->SetNCentBins(1);
35   //task->SetVzRange(-10.,10.);
36
37   task->SelectCollisionCandidates(pSel);
38   task->SetUseAliAnaUtils(kFALSE);
39
40   task->SetRhoMNeutralName(rhomNeutral);
41   task->SetRhoMChargedEmcalName(rhomChEmcal);
42   task->SetRhoMCharged2xEmcalName(rhomCh2xEmcal);
43
44   AliParticleContainer *pcont = task->AddParticleContainer(ntracks);
45   pcont->SetParticlePtCut(kMinTrackPt);
46   pcont->SetParticleEtaLimits(-0.9,0.9);
47   pcont->SetCharge(1);
48
49   task->SetJetContainerNeutral(0);
50   // task->SetJetContainerCharged(1);
51
52   AliJetContainer *jetContNeutral = task->AddJetContainer(njetsNeutral,strType,R);
53   if(jetContNeutral) {
54     jetContNeutral->SetPercAreaCut(0.6);
55   }
56
57   // AliJetContainer *jetContCharged = task->AddJetContainer(njetsCharged,strType,R);
58   // if(jetContCharged) {
59   //   jetContCharged->SetPercAreaCut(0.6);
60   // }
61
62   mgr->AddTask(task);
63
64   //Connnect input
65   mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );
66
67   //Connect output
68   TString contName(wagonName);
69   TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
70   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
71   mgr->ConnectOutput(task,1,coutput1);
72
73   return task;  
74 }
75