]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis2/scripts/multdist/AddTaskCreateResponseMatrices.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / scripts / multdist / AddTaskCreateResponseMatrices.C
1 /**
2  * @file   AddTaskCentraldNdeta.C
3  * @author Christian Holm Christensen <cholm@nbi.dk>
4  * @date   Fri Jan 28 10:22:26 2011
5  * 
6  * @brief Script to add a multiplicity task for the central
7  *        @f$\eta@f$ region
8  * 
9  * 
10  */
11 AliAnalysisTask*
12 AddTaskCreateResponseMatrices(const char* trig="INEL", Double_t vzMin=-10, Double_t vzMax=10)
13 {
14   // analysis manager
15   AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
16   
17   // Make our object.  2nd argumenent is absolute max Eta 
18   // 3rd argument is absolute max Vz
19   AliForwardCreateResponseMatrices* task = new AliForwardCreateResponseMatrices("ResponseMatrices");
20   //AliForwarddNdetaTask* task = new AliForwarddNdetaTask("Forward");
21   
22   task->SetVertexRange(vzMin, vzMax);
23   task->SetTriggerMask(trig);
24
25
26   //task->SetTriggerMask(AliAODForwardMult::kMCNSD); // trig);
27   
28   mgr->AddTask(task);
29   //Add Full eta-ranges
30   task->AddBin(-3.4,5.1);
31   
32   //Add Symmetric eta bins.
33   Double_t limits[] = { 3.4, 3.0, 2.5, 2.4, 2.0, 1.5, 1.4, 1.0, 0.5, 0. };
34   Double_t* limit = limits;
35   while ((*limit) > 0.1) { 
36     task->AddBin(-(*limit), +(*limit));
37     limit++;
38   }
39   
40   //Add 0-<eta> ranges
41   task->AddBin(0,5.1);
42   task->AddBin(0,5.0);
43   task->AddBin(0,4.5);
44   task->AddBin(0,4.0);
45   task->AddBin(0,3.5);
46
47  limit = limits;
48  while ((*limit) > 0.1) { 
49    task->AddBin(0, +(*limit));
50    limit++;
51  }
52
53  limit = limits;
54  while ((*limit) > 0.1) { 
55    task->AddBin(-(*limit),0);
56    limit++;
57  }
58
59
60  //Add 0.5 eta intervals
61  for (Double_t l = -3; l < 5; l += 0.5){ 
62    task->AddBin(l, l+.5);
63  }
64  
65  //Add 0.20 eta intervals
66  for (Double_t l = -3; l < 5; l += 0.2){ 
67    task->AddBin(l, l+.2);
68  }
69   
70    
71   // create containers for input/output
72   AliAnalysisDataContainer *sums = 
73     mgr->CreateContainer("ResponseMatrices", TList::Class(), 
74                          AliAnalysisManager::kOutputContainer, 
75                         AliAnalysisManager::GetCommonFileName());
76  /*
77   AliAnalysisDataContainer *output = 
78   mgr->CreateContainer("CentralResults", TList::Class(), 
79   AliAnalysisManager::kParamContainer, 
80   AliAnalysisManager::GetCommonFileName());
81  */
82   // connect input/output
83  mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
84  mgr->ConnectOutput(task, 1, sums);
85  // mgr->ConnectOutput(task, 2, output);
86  
87  return task;
88 }
89
90   
91 //________________________________________________________________________
92 //
93 // EOF
94 //