adding arguments to AddTaskPhysicsSelection for MC and BG identification (Antonin)
[u/mrichter/AliRoot.git] / ANALYSIS / macros / AddTaskPhysicsSelection.C
1 AliPhysicsSelectionTask* AddTaskPhysicsSelection(Bool_t mCAnalysisFlag = kFALSE, Bool_t withBckgndRejection = kTRUE) 
2 {
3   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4   if (!mgr) {
5     ::Error("AddTaskPhysicsSelection", "No analysis manager to connect to.");
6     return NULL;
7   }  
8   
9   // Check the analysis type using the event handlers connected to the analysis manager.
10   //==============================================================================
11   if (!mgr->GetInputEventHandler()) {
12     ::Error("AddTaskPhysicsSelection", "This task requires an input event handler");
13     return NULL;
14   }
15   TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
16   
17   // Configure analysis
18   //===========================================================================
19     
20     
21
22   AliPhysicsSelectionTask *task = new AliPhysicsSelectionTask("");
23   mgr->AddTask(task);
24   
25   AliPhysicsSelection* physSel = task->GetPhysicsSelection();
26   if (withBckgndRejection) 
27     physSel->AddBackgroundIdentification(new AliBackgroundSelection());
28   if (mCAnalysisFlag)      
29     physSel->SetAnalyzeMC();
30
31   AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
32   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("cstatsout",
33                 TList::Class(),
34                 AliAnalysisManager::kOutputContainer,
35                 "EventStat_temp.root");
36
37   mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
38   mgr->ConnectOutput(task,1,coutput1);
39
40   return task;
41 }