ROOT logo
AliAnalysisTask *AddTaskEMCALPi0V2hardCodeEP(Double_t EvtMthod=2, TString trackName="PicoTrack", 
					     Double_t Ecut = 1,   Double_t M02cut = 0.5, Double_t fDrCut=0.025, Bool_t IsV1cus = 0,
					     TString V1ClusName="CaloCluster", TString V2ClusName="CaloCluster"
				            )
{
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTaskEMCALPi0V2hardCodeEP", "No analysis manager found.");
    return NULL;
  }

  if (!mgr->GetInputEventHandler()) {
    ::Error("AddTaskEMCALPi0V2hardCodeEP", "This task requires an input event handler");
    return NULL;
  }
  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
  if (type=="AOD"){
    ::Error("AddTaskEMCALPi0V2hardCodeEP", "The tasks exits because AODs are in input");
    return NULL;
  }
  
  //Event plane task
  AliEPSelectionTask *eventplaneTask = new AliEPSelectionTask("EventplaneSelection");
  eventplaneTask->SetTrackType("TPC");
  eventplaneTask->SetUsePtWeight();
  eventplaneTask->SetUsePhiWeight();
  eventplaneTask->SetSaveTrackContribution();
  
  AliESDtrackCuts* epTrackCuts = new AliESDtrackCuts("AliESDtrackCuts", "Standard");
  epTrackCuts->SetRequireTPCStandAlone(kTRUE); // to get chi2 and ncls of kTPCin
  epTrackCuts->SetMinNClustersTPC(50);
  epTrackCuts->SetMaxChi2PerClusterTPC(4);
  epTrackCuts->SetAcceptKinkDaughters(kFALSE);
  epTrackCuts->SetRequireTPCRefit(kTRUE);
  epTrackCuts->SetMaxDCAToVertexZ(3.2);
  epTrackCuts->SetMaxDCAToVertexXY(2.4);
  epTrackCuts->SetPtRange(0.15, 20);
  eventplaneTask->SetPersonalESDtrackCuts(epTrackCuts);

  mgr->AddTask(eventplaneTask);

  TString containerName3 = mgr->GetCommonFileName();
  containerName3 += ":PWGGA_pi0v2CalEventPlane";
  
  AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("EPStatTPC_E%1.2f_M02%1.2f", Ecut, M02cut),TList::Class(), AliAnalysisManager::kOutputContainer,containerName3.Data());
  mgr->ConnectInput(eventplaneTask, 0, mgr->GetCommonInputContainer());
  mgr->ConnectOutput(eventplaneTask,1,coutput1);

  //analysis task 

  AliAnalysisTaskPi0V2* taskMB = new  AliAnalysisTaskPi0V2("Pi0v2Task"); 
  taskMB->SetEventMethod(EvtMthod);
  taskMB->SetTracksName(trackName.Data());
  taskMB->SetClusE(Ecut);
  taskMB->SetClusM02(M02cut);
  taskMB->SetDrCut(fDrCut);
  taskMB->SetIsV1Clus(IsV1cus);
  taskMB->SetV1ClusName(V1ClusName);
  taskMB->SetV2ClusName(V2ClusName);

  TString containerName = mgr->GetCommonFileName();
  containerName += ":PWGGA_pi0v2CalSemiCentral";
  
  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(Form("histv2task_E%1.2f_M02%1.2f", Ecut, M02cut), TList::Class(),AliAnalysisManager::kOutputContainer, containerName.Data());
  mgr->ConnectInput(taskMB, 0, cinput);
  mgr->ConnectOutput(taskMB, 1, coutput2);
  
  return NULL;
}
 AddTaskEMCALPi0V2hardCodeEP.C:1
 AddTaskEMCALPi0V2hardCodeEP.C:2
 AddTaskEMCALPi0V2hardCodeEP.C:3
 AddTaskEMCALPi0V2hardCodeEP.C:4
 AddTaskEMCALPi0V2hardCodeEP.C:5
 AddTaskEMCALPi0V2hardCodeEP.C:6
 AddTaskEMCALPi0V2hardCodeEP.C:7
 AddTaskEMCALPi0V2hardCodeEP.C:8
 AddTaskEMCALPi0V2hardCodeEP.C:9
 AddTaskEMCALPi0V2hardCodeEP.C:10
 AddTaskEMCALPi0V2hardCodeEP.C:11
 AddTaskEMCALPi0V2hardCodeEP.C:12
 AddTaskEMCALPi0V2hardCodeEP.C:13
 AddTaskEMCALPi0V2hardCodeEP.C:14
 AddTaskEMCALPi0V2hardCodeEP.C:15
 AddTaskEMCALPi0V2hardCodeEP.C:16
 AddTaskEMCALPi0V2hardCodeEP.C:17
 AddTaskEMCALPi0V2hardCodeEP.C:18
 AddTaskEMCALPi0V2hardCodeEP.C:19
 AddTaskEMCALPi0V2hardCodeEP.C:20
 AddTaskEMCALPi0V2hardCodeEP.C:21
 AddTaskEMCALPi0V2hardCodeEP.C:22
 AddTaskEMCALPi0V2hardCodeEP.C:23
 AddTaskEMCALPi0V2hardCodeEP.C:24
 AddTaskEMCALPi0V2hardCodeEP.C:25
 AddTaskEMCALPi0V2hardCodeEP.C:26
 AddTaskEMCALPi0V2hardCodeEP.C:27
 AddTaskEMCALPi0V2hardCodeEP.C:28
 AddTaskEMCALPi0V2hardCodeEP.C:29
 AddTaskEMCALPi0V2hardCodeEP.C:30
 AddTaskEMCALPi0V2hardCodeEP.C:31
 AddTaskEMCALPi0V2hardCodeEP.C:32
 AddTaskEMCALPi0V2hardCodeEP.C:33
 AddTaskEMCALPi0V2hardCodeEP.C:34
 AddTaskEMCALPi0V2hardCodeEP.C:35
 AddTaskEMCALPi0V2hardCodeEP.C:36
 AddTaskEMCALPi0V2hardCodeEP.C:37
 AddTaskEMCALPi0V2hardCodeEP.C:38
 AddTaskEMCALPi0V2hardCodeEP.C:39
 AddTaskEMCALPi0V2hardCodeEP.C:40
 AddTaskEMCALPi0V2hardCodeEP.C:41
 AddTaskEMCALPi0V2hardCodeEP.C:42
 AddTaskEMCALPi0V2hardCodeEP.C:43
 AddTaskEMCALPi0V2hardCodeEP.C:44
 AddTaskEMCALPi0V2hardCodeEP.C:45
 AddTaskEMCALPi0V2hardCodeEP.C:46
 AddTaskEMCALPi0V2hardCodeEP.C:47
 AddTaskEMCALPi0V2hardCodeEP.C:48
 AddTaskEMCALPi0V2hardCodeEP.C:49
 AddTaskEMCALPi0V2hardCodeEP.C:50
 AddTaskEMCALPi0V2hardCodeEP.C:51
 AddTaskEMCALPi0V2hardCodeEP.C:52
 AddTaskEMCALPi0V2hardCodeEP.C:53
 AddTaskEMCALPi0V2hardCodeEP.C:54
 AddTaskEMCALPi0V2hardCodeEP.C:55
 AddTaskEMCALPi0V2hardCodeEP.C:56
 AddTaskEMCALPi0V2hardCodeEP.C:57
 AddTaskEMCALPi0V2hardCodeEP.C:58
 AddTaskEMCALPi0V2hardCodeEP.C:59
 AddTaskEMCALPi0V2hardCodeEP.C:60
 AddTaskEMCALPi0V2hardCodeEP.C:61
 AddTaskEMCALPi0V2hardCodeEP.C:62
 AddTaskEMCALPi0V2hardCodeEP.C:63
 AddTaskEMCALPi0V2hardCodeEP.C:64
 AddTaskEMCALPi0V2hardCodeEP.C:65
 AddTaskEMCALPi0V2hardCodeEP.C:66
 AddTaskEMCALPi0V2hardCodeEP.C:67
 AddTaskEMCALPi0V2hardCodeEP.C:68
 AddTaskEMCALPi0V2hardCodeEP.C:69
 AddTaskEMCALPi0V2hardCodeEP.C:70
 AddTaskEMCALPi0V2hardCodeEP.C:71
 AddTaskEMCALPi0V2hardCodeEP.C:72