ROOT logo
// $Id: AddTaskEMCALPi0V2.C 56081 2012-05-01 08:57:08Z loizides $

AliAnalysisTask *AddTaskEMCALPi0V2 (
  TString trackName  = "PicoTracks",
  Double_t Ecut      = 1,   
  Double_t M02cut    = 0.5, 
  Double_t fDrCut    = 0.025, 
  Bool_t IsV1cus     = 0,
  TString V1ClusName = "CaloClusters", 
  TString V2ClusName = "caloClusters", 
  TString trigClass  = "",
  Bool_t IsPhosCali  = kFALSE,
  Bool_t IsCentFlat  = kTRUE,
  Bool_t IsFullHist  = kFALSE,
  Int_t EvtType      = 5 
)
{
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTaskEMCALPi0V2", "No analysis manager found.");
    return NULL;
  }

  if (!mgr->GetInputEventHandler()) {
    ::Error("AddTaskEMCALPi0V2", "This task requires an input event handler");
    return NULL;
  }

  TString Input;
  AliAnalysisTaskPi0V2* taskMB = new  AliAnalysisTaskPi0V2("Pi0v2Task");
  if(EvtType == 1){ //central
    taskMB->SelectCollisionCandidates(AliVEvent::kCentral);
    Input = "kCentral";
  } else if (EvtType == 2){ //SemiCentral
    taskMB->SelectCollisionCandidates(AliVEvent::kSemiCentral);
    Input = "kSemiCentral";
  } else if (EvtType == 3){ //kMB 
    taskMB->SelectCollisionCandidates(AliVEvent::kMB);
    Input = "kMB";
  } else if (EvtType == 4){ //Central + SemiCentral 
    taskMB->SelectCollisionCandidates(AliVEvent::kCentral | AliVEvent::kSemiCentral);
    Input = "Central_SemiCentral";
  } else if (EvtType == 5){ //Central + SemiCentral + kMB
    taskMB->SelectCollisionCandidates(AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB);
    Input = "ALLMB";
  }
  taskMB->SetTracksName(trackName.Data());
  taskMB->SetClusE(Ecut);
  taskMB->SetClusM02(M02cut);
  taskMB->SetDrCut(fDrCut);
  taskMB->SetIsV1Clus(IsV1cus);
  taskMB->SetV1ClusName(V1ClusName);
  taskMB->SetV2ClusName(V2ClusName);
  taskMB->SetTrigClass(trigClass);
  taskMB->SetIsPHOSCali(IsPhosCali);
  taskMB->SetIsCentFlat(IsCentFlat);
  taskMB->SetIsFullHist(IsFullHist);

  TString containerName = mgr->GetCommonFileName();
  containerName += ":PWGGA_EMCalpi0v2";

  if(IsPhosCali) 
    Input += "_EPON_";
  if(IsCentFlat)
    Input += "centOn";

  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(
    Form("%s_E%1.2f_M02%1.2f", Input.Data(), Ecut, M02cut), 
    TList::Class(),
    AliAnalysisManager::kOutputContainer, 
    containerName.Data());
  mgr->ConnectInput(taskMB, 0, cinput);
  mgr->ConnectOutput(taskMB, 1, coutput2);

  return taskMB;
}
 AddTaskEMCALPi0V2.C:1
 AddTaskEMCALPi0V2.C:2
 AddTaskEMCALPi0V2.C:3
 AddTaskEMCALPi0V2.C:4
 AddTaskEMCALPi0V2.C:5
 AddTaskEMCALPi0V2.C:6
 AddTaskEMCALPi0V2.C:7
 AddTaskEMCALPi0V2.C:8
 AddTaskEMCALPi0V2.C:9
 AddTaskEMCALPi0V2.C:10
 AddTaskEMCALPi0V2.C:11
 AddTaskEMCALPi0V2.C:12
 AddTaskEMCALPi0V2.C:13
 AddTaskEMCALPi0V2.C:14
 AddTaskEMCALPi0V2.C:15
 AddTaskEMCALPi0V2.C:16
 AddTaskEMCALPi0V2.C:17
 AddTaskEMCALPi0V2.C:18
 AddTaskEMCALPi0V2.C:19
 AddTaskEMCALPi0V2.C:20
 AddTaskEMCALPi0V2.C:21
 AddTaskEMCALPi0V2.C:22
 AddTaskEMCALPi0V2.C:23
 AddTaskEMCALPi0V2.C:24
 AddTaskEMCALPi0V2.C:25
 AddTaskEMCALPi0V2.C:26
 AddTaskEMCALPi0V2.C:27
 AddTaskEMCALPi0V2.C:28
 AddTaskEMCALPi0V2.C:29
 AddTaskEMCALPi0V2.C:30
 AddTaskEMCALPi0V2.C:31
 AddTaskEMCALPi0V2.C:32
 AddTaskEMCALPi0V2.C:33
 AddTaskEMCALPi0V2.C:34
 AddTaskEMCALPi0V2.C:35
 AddTaskEMCALPi0V2.C:36
 AddTaskEMCALPi0V2.C:37
 AddTaskEMCALPi0V2.C:38
 AddTaskEMCALPi0V2.C:39
 AddTaskEMCALPi0V2.C:40
 AddTaskEMCALPi0V2.C:41
 AddTaskEMCALPi0V2.C:42
 AddTaskEMCALPi0V2.C:43
 AddTaskEMCALPi0V2.C:44
 AddTaskEMCALPi0V2.C:45
 AddTaskEMCALPi0V2.C:46
 AddTaskEMCALPi0V2.C:47
 AddTaskEMCALPi0V2.C:48
 AddTaskEMCALPi0V2.C:49
 AddTaskEMCALPi0V2.C:50
 AddTaskEMCALPi0V2.C:51
 AddTaskEMCALPi0V2.C:52
 AddTaskEMCALPi0V2.C:53
 AddTaskEMCALPi0V2.C:54
 AddTaskEMCALPi0V2.C:55
 AddTaskEMCALPi0V2.C:56
 AddTaskEMCALPi0V2.C:57
 AddTaskEMCALPi0V2.C:58
 AddTaskEMCALPi0V2.C:59
 AddTaskEMCALPi0V2.C:60
 AddTaskEMCALPi0V2.C:61
 AddTaskEMCALPi0V2.C:62
 AddTaskEMCALPi0V2.C:63
 AddTaskEMCALPi0V2.C:64
 AddTaskEMCALPi0V2.C:65
 AddTaskEMCALPi0V2.C:66
 AddTaskEMCALPi0V2.C:67
 AddTaskEMCALPi0V2.C:68
 AddTaskEMCALPi0V2.C:69
 AddTaskEMCALPi0V2.C:70
 AddTaskEMCALPi0V2.C:71
 AddTaskEMCALPi0V2.C:72
 AddTaskEMCALPi0V2.C:73
 AddTaskEMCALPi0V2.C:74
 AddTaskEMCALPi0V2.C:75
 AddTaskEMCALPi0V2.C:76
 AddTaskEMCALPi0V2.C:77
 AddTaskEMCALPi0V2.C:78