ROOT logo
AliAnalysisTaskHIMultCorr *AddTaskHIMultCorr(){

#define USE_STREAMER 0

  //===============================================
  //-- Get the current analysis manager

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTask_jthaeder_HIMultCorr", "No analysis manager found.");
    return 0;
  }

  //===============================================
  // -- Check for MC

  Bool_t isMC=(mgr->GetMCtruthEventHandler() != NULL);
  if (isMC){
    Info("AddTask_jthaeder_HIMultCorr", "This task has MC.");
  }

  //===============================================
  // -- Create ESD cuts

  AliESDtrackCuts* esdCuts = new AliESDtrackCuts("AliESDtrackCuts");
  AliESDtrackCuts* esdCuts2 = new AliESDtrackCuts("AliESDtrackCuts2");

  // -- dNdPt track cuts 23
  esdCuts->SetRequireSigmaToVertex(kFALSE);
  esdCuts->SetRequireITSRefit(kFALSE);
  esdCuts->SetRequireTPCRefit(kFALSE);
  esdCuts->SetRequireTPCStandAlone(kTRUE);
  esdCuts->SetAcceptKinkDaughters(kFALSE);
  esdCuts->SetMinNClustersTPC(70);

  esdCuts->SetMaxChi2PerClusterTPC(4.0);

  esdCuts->SetMaxDCAToVertexXY(2.4); // cm
  esdCuts->SetMaxDCAToVertexZ(3.2);  // cm
  esdCuts->SetDCAToVertex2D(kTRUE);

  // -- dNdPt track cuts 72
  esdCuts2->SetRequireSigmaToVertex(kFALSE);
  esdCuts2->SetRequireTPCRefit(kTRUE);
  esdCuts2->SetRequireITSRefit(kTRUE);
  esdCuts2->SetAcceptKinkDaughters(kFALSE);
  esdCuts2->SetMinNClustersTPC(70);

  esdCuts2->SetMaxChi2PerClusterTPC(4.0);
  esdCuts2->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);

  esdCuts2->SetMaxDCAToVertexZ(2.0);
  esdCuts2->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01"); // 7*(0.0026+0.0050/pt^1.01)
  esdCuts2->SetDCAToVertex2D(kFALSE);

  // -- acceptance
  esdCuts->SetEtaRange(-0.8,0.8);
  esdCuts2->SetEtaRange(-0.8,0.8);

  //===============================================
  // -- Add task to the ANALYSIS manager

  AliAnalysisTaskHIMultCorr *task =  new AliAnalysisTaskHIMultCorr("AliAnalysisTaskHIMultCorrVZERO");
  task->SelectCollisionCandidates(AliVEvent::kMB);
  task->SetUseCentrality(1);  // V0
  task->SetESDCuts(esdCuts);
  task->SetESDCuts2(esdCuts2);
  task->SetMaxVertexZ(10.);    // cm
  if (isMC) task->SetIsMC();
  mgr->AddTask(task);
  
#ifdef USE_SPD
  AliAnalysisTaskHIMultCorr *taskSPD = new AliAnalysisTaskHIMultCorr("AliAnalysisTaskHIMultCorrSPD");
  taskSPD->SelectCollisionCandidates(AliVEvent::kMB);
  taskSPD->SetUseCentrality(2);  // SPD
  taskSPD->SetESDCuts(esdCuts);
  taskSPD->SetESDCuts2(esdCuts2);
  taskSPD->SetMaxVertexZ(10.);   // cm
  if (isMC) task->SetIsMC();
  mgr->AddTask(taskSPD);
#endif

  //================================================
  // -- Output for Streamer
#if USE_STREAMER  
  TString addoutput = gSystem->Getenv("ADD_OUTPUT_FILES");
  if (addoutput.Length()) addoutput+=",";
  addoutput+="eventInfoCoirr.root";
  gSystem->Setenv("ADD_OUTPUT_FILES",addoutput.Data());
#endif
  //================================================
  // -- data containers - input

  AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();

  //================================================
  // -- data containers - VZERO
  
  TString outputFileName = AliAnalysisManager::GetCommonFileName();
  AliAnalysisDataContainer *coutput = 
    mgr->CreateContainer("HIMultCorr_VZERO", TList::Class(),
			 AliAnalysisManager::kOutputContainer,
			 outputFileName);

  mgr->ConnectInput  (task,  0, cinput );
  mgr->ConnectOutput (task,  1, coutput);

  //================================================
  // -- data containers - SPD
  
#ifdef USE_SPD
  AliAnalysisDataContainer *coutputSPD = 
    mgr->CreateContainer("HIMultCorr_SPD", TList::Class(),
                           AliAnalysisManager::kOutputContainer,
			                  outputFileName);

  mgr->ConnectInput  (taskSPD,  0, cinput );
  mgr->ConnectOutput (taskSPD,  1, coutputSPD);
#endif

  return task;
}
 AddTaskHIMultCorr.C:1
 AddTaskHIMultCorr.C:2
 AddTaskHIMultCorr.C:3
 AddTaskHIMultCorr.C:4
 AddTaskHIMultCorr.C:5
 AddTaskHIMultCorr.C:6
 AddTaskHIMultCorr.C:7
 AddTaskHIMultCorr.C:8
 AddTaskHIMultCorr.C:9
 AddTaskHIMultCorr.C:10
 AddTaskHIMultCorr.C:11
 AddTaskHIMultCorr.C:12
 AddTaskHIMultCorr.C:13
 AddTaskHIMultCorr.C:14
 AddTaskHIMultCorr.C:15
 AddTaskHIMultCorr.C:16
 AddTaskHIMultCorr.C:17
 AddTaskHIMultCorr.C:18
 AddTaskHIMultCorr.C:19
 AddTaskHIMultCorr.C:20
 AddTaskHIMultCorr.C:21
 AddTaskHIMultCorr.C:22
 AddTaskHIMultCorr.C:23
 AddTaskHIMultCorr.C:24
 AddTaskHIMultCorr.C:25
 AddTaskHIMultCorr.C:26
 AddTaskHIMultCorr.C:27
 AddTaskHIMultCorr.C:28
 AddTaskHIMultCorr.C:29
 AddTaskHIMultCorr.C:30
 AddTaskHIMultCorr.C:31
 AddTaskHIMultCorr.C:32
 AddTaskHIMultCorr.C:33
 AddTaskHIMultCorr.C:34
 AddTaskHIMultCorr.C:35
 AddTaskHIMultCorr.C:36
 AddTaskHIMultCorr.C:37
 AddTaskHIMultCorr.C:38
 AddTaskHIMultCorr.C:39
 AddTaskHIMultCorr.C:40
 AddTaskHIMultCorr.C:41
 AddTaskHIMultCorr.C:42
 AddTaskHIMultCorr.C:43
 AddTaskHIMultCorr.C:44
 AddTaskHIMultCorr.C:45
 AddTaskHIMultCorr.C:46
 AddTaskHIMultCorr.C:47
 AddTaskHIMultCorr.C:48
 AddTaskHIMultCorr.C:49
 AddTaskHIMultCorr.C:50
 AddTaskHIMultCorr.C:51
 AddTaskHIMultCorr.C:52
 AddTaskHIMultCorr.C:53
 AddTaskHIMultCorr.C:54
 AddTaskHIMultCorr.C:55
 AddTaskHIMultCorr.C:56
 AddTaskHIMultCorr.C:57
 AddTaskHIMultCorr.C:58
 AddTaskHIMultCorr.C:59
 AddTaskHIMultCorr.C:60
 AddTaskHIMultCorr.C:61
 AddTaskHIMultCorr.C:62
 AddTaskHIMultCorr.C:63
 AddTaskHIMultCorr.C:64
 AddTaskHIMultCorr.C:65
 AddTaskHIMultCorr.C:66
 AddTaskHIMultCorr.C:67
 AddTaskHIMultCorr.C:68
 AddTaskHIMultCorr.C:69
 AddTaskHIMultCorr.C:70
 AddTaskHIMultCorr.C:71
 AddTaskHIMultCorr.C:72
 AddTaskHIMultCorr.C:73
 AddTaskHIMultCorr.C:74
 AddTaskHIMultCorr.C:75
 AddTaskHIMultCorr.C:76
 AddTaskHIMultCorr.C:77
 AddTaskHIMultCorr.C:78
 AddTaskHIMultCorr.C:79
 AddTaskHIMultCorr.C:80
 AddTaskHIMultCorr.C:81
 AddTaskHIMultCorr.C:82
 AddTaskHIMultCorr.C:83
 AddTaskHIMultCorr.C:84
 AddTaskHIMultCorr.C:85
 AddTaskHIMultCorr.C:86
 AddTaskHIMultCorr.C:87
 AddTaskHIMultCorr.C:88
 AddTaskHIMultCorr.C:89
 AddTaskHIMultCorr.C:90
 AddTaskHIMultCorr.C:91
 AddTaskHIMultCorr.C:92
 AddTaskHIMultCorr.C:93
 AddTaskHIMultCorr.C:94
 AddTaskHIMultCorr.C:95
 AddTaskHIMultCorr.C:96
 AddTaskHIMultCorr.C:97
 AddTaskHIMultCorr.C:98
 AddTaskHIMultCorr.C:99
 AddTaskHIMultCorr.C:100
 AddTaskHIMultCorr.C:101
 AddTaskHIMultCorr.C:102
 AddTaskHIMultCorr.C:103
 AddTaskHIMultCorr.C:104
 AddTaskHIMultCorr.C:105
 AddTaskHIMultCorr.C:106
 AddTaskHIMultCorr.C:107
 AddTaskHIMultCorr.C:108
 AddTaskHIMultCorr.C:109
 AddTaskHIMultCorr.C:110
 AddTaskHIMultCorr.C:111
 AddTaskHIMultCorr.C:112
 AddTaskHIMultCorr.C:113
 AddTaskHIMultCorr.C:114
 AddTaskHIMultCorr.C:115
 AddTaskHIMultCorr.C:116
 AddTaskHIMultCorr.C:117
 AddTaskHIMultCorr.C:118
 AddTaskHIMultCorr.C:119
 AddTaskHIMultCorr.C:120
 AddTaskHIMultCorr.C:121
 AddTaskHIMultCorr.C:122
 AddTaskHIMultCorr.C:123