]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/PHOSTasks/PHOS_PbPb/AddAODPHOSTender.C
New Analysis Tools for the MFT
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb / AddAODPHOSTender.C
1 AliPHOSTenderTask* AddAODPHOSTender(const char* taskName = "PHOSTenderTask",
2                                     const char* tenderName = "PHOStender",
3                                     const char* options = "",
4                                     Int_t pass = 1,
5                                     Bool_t isMC = kFALSE
6 )
7 {
8   //Add a task with PHOS tender which works with AOD to the analysis train
9   //Author: D.Peressounko
10
11   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12   if (!mgr) {
13     ::Error("AddAODPHOSTender", "No analysis manager to connect to");
14     return NULL;
15   }
16   
17   if (!mgr->GetInputEventHandler()) {
18     ::Error("AddAODPHOSTender", "This task requires an input event handler");
19     return NULL;
20   }
21
22 //  // input must be AOD
23 //  TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
24 //  if( "AOD" != inputDataType )
25 //    ::Error("AddAODPHOSTender", Form("AOD input data required, input data is of type: %s", inputDataType.Data()));
26
27   // create and add task
28   AliPHOSTenderTask * tenderTask = new AliPHOSTenderTask(taskName) ;
29   AliPHOSTenderSupply *PHOSSupply=new AliPHOSTenderSupply(tenderName) ;
30   PHOSSupply->SetReconstructionPass(pass) ;
31   tenderTask->SetPHOSTenderSupply(PHOSSupply) ;
32   if(isMC) //handle MC data
33     PHOSSupply->SetMCProduction(options) ;
34
35
36   //Need MagFeild
37   ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
38
39   mgr->AddTask(tenderTask);
40
41   // Connect input/output
42   mgr->ConnectInput(tenderTask , 0, mgr->GetCommonInputContainer());
43
44   return tenderTask;
45 }