1 // This is the macro to include the FMD analysis in the train. It
2 // depends on two libraries: libFMDanalysis.so in AliRoot and
3 // libPhysics.so in ROOT. It has been tested to work with the example
4 // scripts in the ANALYSIS webpages.
6 // Author: Hans Hjersing Dalsgaard <hans.dalsgaard@cern.ch>
9 AliFMDAnalysisTaskSE* AddTaskFMD(Float_t cmsGeV=900.F,
10 const char* col="p-p",
13 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
15 Error("AddTaskESDFilter", "No analysis manager to connect to.");
20 // --- Generate parameter manager ----------------------------------
21 AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
22 pars->SetEnergy(cmsGeV);
23 pars->SetCollisionSystem(col);
24 pars->SetMagField(bkG);
25 pars->SetProcessPrimary(kFALSE);
26 pars->SetProcessHits(kFALSE);
27 pars->SetRealData(kTRUE);
29 // --- Check if we have an MC handler ------------------------------
30 AliMCEventHandler* eventHandler =
31 dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()
32 ->GetMCtruthEventHandler());
34 pars->SetRealData(kFALSE);
35 pars->SetProcessPrimary(kTRUE);
36 pars->SetProcessHits(kFALSE);
41 // --- Make the task -----------------------------------------------
42 AliFMDAnalysisTaskSE *taskfmd = new AliFMDAnalysisTaskSE("TaskFMD");
43 mgr->AddTask(taskfmd);
45 // --- Connect input/output ----------------------------------------
46 TString outputfile = Form("%s:%s",
47 AliAnalysisManager::GetCommonFileName(),
48 pars->GetDndetaAnalysisName());
50 AliAnalysisDataContainer *cout_fmd =
51 mgr->CreateContainer("BackgroundCorrected", TList::Class(),
52 AliAnalysisManager::kOutputContainer,outputfile);
53 mgr->ConnectInput(taskfmd, 0, mgr->GetCommonInputContainer());
54 mgr->ConnectOutput(taskfmd, 1, cout_fmd);