]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FORWARD/analysis/AddTaskFMD.C
fixing of warnings and adding a custom NSD trigger
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis / AddTaskFMD.C
1 //This is the macro to include the FMD analysis in the train.
2 //It depends on two libraries: libFMDanalysis.so in AliRoot and 
3 //libPhysics.so in ROOT. It has been tested to work with the 
4 //example scripts in the ANALYSIS webpages.
5 // Author: Hans Hjersing Dalsgaard, hans.dalsgaard@cern,ch
6
7
8 AliFMDAnalysisTaskSE* AddTaskFMD() {
9
10   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
11   if (!mgr) {
12     Error("AddTaskESDFilter", "No analysis manager to connect to.");
13     return NULL;
14   }   
15   
16   
17   AliFMDAnalysisTaskSE *taskfmd = new AliFMDAnalysisTaskSE("TaskFMD");
18   mgr->AddTask(taskfmd);
19   
20   AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
21   
22   pars->SetProcessPrimary(kFALSE);
23   pars->SetProcessHits(kFALSE);
24   
25   pars->SetRealData(kTRUE);
26   AliMCEventHandler* eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
27   if(eventHandler) {
28     pars->SetRealData(kFALSE);
29     pars->SetProcessPrimary(kTRUE);
30     pars->SetProcessHits(kFALSE);
31   }
32   
33   pars->Init();
34   
35   TString outputfile = AliAnalysisManager::GetCommonFileName();
36   outputfile += Form(":%s",pars->GetDndetaAnalysisName().Data());
37
38   AliAnalysisDataContainer *cout_fmd = mgr->CreateContainer("BackgroundCorrected", TList::Class(), AliAnalysisManager::kOutputContainer,outputfile);                             
39   mgr->ConnectInput(taskfmd, 0, mgr->GetCommonInputContainer());
40   mgr->ConnectOutput(taskfmd, 1, cout_fmd);
41
42   return taskfmd;
43 }