]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/macros/AddTaskEMCALPhotonIsolation.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskEMCALPhotonIsolation.C
1 AliAnalysisTaskEMCALPhotonIsolation* AddTaskEMCALPhotonIsolation(
2  const char *ntracks            = "EmcalTracks",
3   const char *nclusters          = "EmcalClusters",
4 Bool_t          bHisto          = kTRUE,
5 Int_t           iOutput         = 1,
6 Bool_t          bIsMC           = kFALSE
7 )
8 {
9
10   printf("Preparing neutral cluster analysis\n");
11 /*  // #### Detect the demanded trigger with its readable name
12   TString triggerName(Form("Trigger_%i", trigger));
13   if (trigger == AliVEvent::kAnyINT)
14     triggerName = "kAnyINT";
15   else if (trigger == AliVEvent::kAny)
16     triggerName = "kAny";
17   else if(trigger == AliVEvent::kINT7)
18     triggerName = "kINT7";
19   else if(trigger == AliVEvent::kMB)
20     triggerName = "kMB";
21   else if(trigger == AliVEvent::kEMC7)
22     triggerName = "kEMC7";
23   else if(trigger == AliVEvent::kEMCEJE)
24     triggerName = "kEMCEJE";
25   else if(trigger == AliVEvent::kEMCEGA)
26     triggerName = "kEMCEGA";
27 */
28   // #### Define manager and data container names
29   AliAnalysisManager *manager = AliAnalysisManager::GetAnalysisManager();
30   if (!manager) {
31     ::Error("AddTaskNeutralCluster", "No analysis manager to connect to.");
32     return NULL;
33   }
34
35
36
37
38
39
40   printf("Creating container names for cluster analysis\n");
41     TString myContName("");
42   if(bIsMC)
43     myContName = Form("Analysis_Neutrals_MC");
44   else
45     myContName = Form("Analysis_Neutrals");
46     //myContName = Form("AnalysisR0%2.0f_%s%s%s", jetRadius*100, triggerName.Data(), stringPtHard.Data(), containerNameSuffix.Data());
47
48     // #### Define analysis task
49   AliAnalysisTaskEMCALPhotonIsolation* task = new AliAnalysisTaskEMCALPhotonIsolation("Analysis",bHisto);
50
51   // #### Task preferences
52   task->SetOutputFormat(iOutput);
53  task->SetLCAnalysis(kFALSE);
54   task->SetQA(kTRUE);
55   task->SetIsoMethod(1);
56   task->SetUEMethod(1);
57   task->SetUSEofTPC(kFALSE);
58
59
60   AliParticleContainer *trackCont  = task->AddParticleContainer(ntracks);
61   AliParticleContainer *clusterCont = task->AddParticleContainer(nclusters);
62
63   printf("Task for neutral cluster analysis created and configured, pass it to AnalysisManager\n");
64   // #### Add analysis task
65   manager->AddTask(task);
66
67   // AliAnalysisDataContainer *contHistos = manager->CreateContainer(myContName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:NeutralCluster", AliAnalysisManager::GetCommonFileName()));
68   AliAnalysisDataContainer *contHistos = manager->CreateContainer(myContName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer,Form("%s:NeutralCluster",AliAnalysisManager::GetCommonFileName()));
69   AliAnalysisDataContainer *cinput  = manager->GetCommonInputContainer();
70   manager->ConnectInput(task, 0, cinput);
71   manager->ConnectOutput(task, 1, contHistos);
72
73   /*if(isEMCalTrain)
74     RequestMemory(task,200*1024);
75
76   // #### Do some nasty piggybacking on demand
77   if (externalMacro)
78     gROOT->Macro(externalMacro);
79 */
80   return task;
81 }