ROOT logo
/**
 * @file   AddTaskCentraldNdeta.C
 * @author Christian Holm Christensen <cholm@nbi.dk>
 * @date   Fri Jan 28 10:22:26 2011
 * 
 * @brief Script to add a multiplicity task for the central
 *        @f$\eta@f$ region
 * 
 * 
 */
AliAnalysisTask*
AddTaskMultiplicity(const char* trig="INEL", Double_t vzMin=-10, Double_t vzMax=10, Int_t lowCent, Int_t highCent, Int_t nBins)
{
  // analysis manager
  AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
  
  // Make our object.  2nd argumenent is absolute max Eta 
  // 3rd argument is absolute max Vz
  AliForwardMultiplicityDistribution* task = new AliForwardMultiplicityDistribution("Mult");
  //AliForwarddNdetaTask* task = new AliForwarddNdetaTask("Forward");

  task->SetVertexRange(vzMin, vzMax);
  task->SetTriggerMask(trig);
  task->SetCentrality(lowCent, highCent);
  task->SetNBins(nBins);
  mgr->AddTask(task);
  /*
 if (useCent) {
   Short_t bins[] = { 0, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
   task->SetCentralityAxis(11, bins);
   task->InitCentBins();
 }
  */
  //Add Full eta-ranges
  task->AddBin(-3.4,5.1);
  
  //Add Symmetric eta bins.
  Double_t limits[] = { 3.4, 3.0, 2.5, 2.4, 2.0, 1.5, 1.4, 1.0, 0.5, 0. };
  Double_t* limit = limits;
  while ((*limit) > 0.1) { 
    task->AddBin(-(*limit), +(*limit));
    limit++;
  }
  
  //Add 0-<eta> ranges
  task->AddBin(0,5.1);
  task->AddBin(0,5.0);
  task->AddBin(0,4.5);
  task->AddBin(0,4.0);
  task->AddBin(0,3.5);

 limit = limits;
 while ((*limit) > 0.1) { 
   task->AddBin(0, +(*limit));
   limit++;
 }

 limit = limits;
 while ((*limit) > 0.1) { 
   task->AddBin(-(*limit),0);
   limit++;
 }


 //Add 0.5 eta intervals
 for (Double_t l = -3; l < 5; l += 0.5){ 
   task->AddBin(l, l+.5);
 }
 
 //Add 0.20 eta intervals
 for (Double_t l = -3; l < 5; l += 0.2){ 
   task->AddBin(l, l+.2);
 }
 /*
 task->AddBin(-3.0,-2.5);
 task->AddBin(-2.5,-2.0);
 task->AddBin(-2.0,-1.5);
 task->AddBin(-1.5,-1.0);
 task->AddBin(-1.0,-0.5);
 
 task->AddBin(0.5,1.0);
 task->AddBin(1.0,1.5);
 task->AddBin(1.5,2.0);
 task->AddBin(2.0,2.5);
 task->AddBin(2.5,3.0);
 task->AddBin(3.0,3.5);
 task->AddBin(3.5,4.0);
 task->AddBin(4.0,4.5);
 task->AddBin(4.5,5.0);
 */

 
 
 // create containers for input/output
 AliAnalysisDataContainer *sums = 
   mgr->CreateContainer("CentralSums", TList::Class(), 
			AliAnalysisManager::kOutputContainer, 
			AliAnalysisManager::GetCommonFileName());
 /*
  AliAnalysisDataContainer *output = 
  mgr->CreateContainer("CentralResults", TList::Class(), 
  AliAnalysisManager::kParamContainer, 
  AliAnalysisManager::GetCommonFileName());
 */
  // connect input/output
 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
 mgr->ConnectOutput(task, 1, sums);
 // mgr->ConnectOutput(task, 2, output);
 
 return task;
}

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