ROOT logo
/**
 * @file   AddTaskMultDists.C
 * @author Valentina Zaccolo
 * @date   Thu Nov 22 11:29:26 2012
 * 
 * @brief Script to add a multiplicity task
 * 
 * 
 * @ingroup pwglf_forward_scripts_tasks
 */
/** 
 * Function to add task to train 
 * 
 * @param trig      Trigger to use 
 * @param vzMin     Least z-coordinate of the interaction point
 * @param vzMax     Largest z-coordinate of the interaction point
 * @param lowCent   Least centrality to consider 
 * @param highCent  Largest centrality to consider 
 * @param nBins     Number of bins to use 
 * 
 * @return Newly allocated task, or null 
 */
AliAnalysisTask*
AddTaskMultDists(const char* trig     = "V0AND",
		 Double_t    vzMin    = -4,
		 Double_t    vzMax    = 4,
		 Int_t 	     lowCent  = 0,
		 Int_t 	     highCent = 0, 
		 Int_t 	     nBins    = 400)
{
  // Make our object.  2nd argumenent is absolute max Eta 
  // 3rd argument is absolute max Vz
  AliForwardMultiplicityDistribution* task = 
    new AliForwardMultiplicityDistribution("Mult");
  // Set the Vertex Range to Use
  task->SetIpZRange(vzMin, vzMax);
  // Set the Trigger Mask to Use (INEL, NSD, ...)
  task->SetTriggerMask(trig);
  // Set the Centrality limits
  task->SetCentrality(lowCent, highCent);
  // Set the Number of Bins
  task->SetNBins(nBins);

  //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));
    // task->AddBin(0,+(*limit));
    // task->AddBin(0,-(*limit));
    limit++;
  }
  // task->AddBin(0,5.0);
  // task->AddBin(0,4.5);
  // task->AddBin(0,4.0); 
  // task->AddBin(0,3.5); 

  // 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->Connect();
  return task;
}

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