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*
AddTaskCreateResponseMatrices(const char* trig="INEL", Double_t vzMin=-10, Double_t vzMax=10)
{
  // analysis manager
  AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
  
  // Make our object.  2nd argumenent is absolute max Eta 
  // 3rd argument is absolute max Vz
  AliForwardCreateResponseMatrices* task = new AliForwardCreateResponseMatrices("ResponseMatrices");
  //AliForwarddNdetaTask* task = new AliForwarddNdetaTask("Forward");
  
  task->SetVertexRange(vzMin, vzMax);
  task->SetTriggerMask(trig);


  //task->SetTriggerMask(AliAODForwardMult::kMCNSD); // trig);
  
  mgr->AddTask(task);
  //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);
 }
  
   
  // create containers for input/output
  AliAnalysisDataContainer *sums = 
    mgr->CreateContainer("ResponseMatrices", 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
// 
 AddTaskCreateResponseMatrices.C:1
 AddTaskCreateResponseMatrices.C:2
 AddTaskCreateResponseMatrices.C:3
 AddTaskCreateResponseMatrices.C:4
 AddTaskCreateResponseMatrices.C:5
 AddTaskCreateResponseMatrices.C:6
 AddTaskCreateResponseMatrices.C:7
 AddTaskCreateResponseMatrices.C:8
 AddTaskCreateResponseMatrices.C:9
 AddTaskCreateResponseMatrices.C:10
 AddTaskCreateResponseMatrices.C:11
 AddTaskCreateResponseMatrices.C:12
 AddTaskCreateResponseMatrices.C:13
 AddTaskCreateResponseMatrices.C:14
 AddTaskCreateResponseMatrices.C:15
 AddTaskCreateResponseMatrices.C:16
 AddTaskCreateResponseMatrices.C:17
 AddTaskCreateResponseMatrices.C:18
 AddTaskCreateResponseMatrices.C:19
 AddTaskCreateResponseMatrices.C:20
 AddTaskCreateResponseMatrices.C:21
 AddTaskCreateResponseMatrices.C:22
 AddTaskCreateResponseMatrices.C:23
 AddTaskCreateResponseMatrices.C:24
 AddTaskCreateResponseMatrices.C:25
 AddTaskCreateResponseMatrices.C:26
 AddTaskCreateResponseMatrices.C:27
 AddTaskCreateResponseMatrices.C:28
 AddTaskCreateResponseMatrices.C:29
 AddTaskCreateResponseMatrices.C:30
 AddTaskCreateResponseMatrices.C:31
 AddTaskCreateResponseMatrices.C:32
 AddTaskCreateResponseMatrices.C:33
 AddTaskCreateResponseMatrices.C:34
 AddTaskCreateResponseMatrices.C:35
 AddTaskCreateResponseMatrices.C:36
 AddTaskCreateResponseMatrices.C:37
 AddTaskCreateResponseMatrices.C:38
 AddTaskCreateResponseMatrices.C:39
 AddTaskCreateResponseMatrices.C:40
 AddTaskCreateResponseMatrices.C:41
 AddTaskCreateResponseMatrices.C:42
 AddTaskCreateResponseMatrices.C:43
 AddTaskCreateResponseMatrices.C:44
 AddTaskCreateResponseMatrices.C:45
 AddTaskCreateResponseMatrices.C:46
 AddTaskCreateResponseMatrices.C:47
 AddTaskCreateResponseMatrices.C:48
 AddTaskCreateResponseMatrices.C:49
 AddTaskCreateResponseMatrices.C:50
 AddTaskCreateResponseMatrices.C:51
 AddTaskCreateResponseMatrices.C:52
 AddTaskCreateResponseMatrices.C:53
 AddTaskCreateResponseMatrices.C:54
 AddTaskCreateResponseMatrices.C:55
 AddTaskCreateResponseMatrices.C:56
 AddTaskCreateResponseMatrices.C:57
 AddTaskCreateResponseMatrices.C:58
 AddTaskCreateResponseMatrices.C:59
 AddTaskCreateResponseMatrices.C:60
 AddTaskCreateResponseMatrices.C:61
 AddTaskCreateResponseMatrices.C:62
 AddTaskCreateResponseMatrices.C:63
 AddTaskCreateResponseMatrices.C:64
 AddTaskCreateResponseMatrices.C:65
 AddTaskCreateResponseMatrices.C:66
 AddTaskCreateResponseMatrices.C:67
 AddTaskCreateResponseMatrices.C:68
 AddTaskCreateResponseMatrices.C:69
 AddTaskCreateResponseMatrices.C:70
 AddTaskCreateResponseMatrices.C:71
 AddTaskCreateResponseMatrices.C:72
 AddTaskCreateResponseMatrices.C:73
 AddTaskCreateResponseMatrices.C:74
 AddTaskCreateResponseMatrices.C:75
 AddTaskCreateResponseMatrices.C:76
 AddTaskCreateResponseMatrices.C:77
 AddTaskCreateResponseMatrices.C:78
 AddTaskCreateResponseMatrices.C:79
 AddTaskCreateResponseMatrices.C:80
 AddTaskCreateResponseMatrices.C:81
 AddTaskCreateResponseMatrices.C:82
 AddTaskCreateResponseMatrices.C:83
 AddTaskCreateResponseMatrices.C:84
 AddTaskCreateResponseMatrices.C:85
 AddTaskCreateResponseMatrices.C:86
 AddTaskCreateResponseMatrices.C:87
 AddTaskCreateResponseMatrices.C:88
 AddTaskCreateResponseMatrices.C:89
 AddTaskCreateResponseMatrices.C:90
 AddTaskCreateResponseMatrices.C:91
 AddTaskCreateResponseMatrices.C:92
 AddTaskCreateResponseMatrices.C:93
 AddTaskCreateResponseMatrices.C:94
 AddTaskCreateResponseMatrices.C:95