]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/macros/AddTaskImpParRes.C
fixed bugs with the rule checker.
[u/mrichter/AliRoot.git] / PWG1 / macros / AddTaskImpParRes.C
1 AliAnalysisTaskSEImpParRes *AddTaskImpParRes(Bool_t readMC=kFALSE,
2                                              Int_t selPdg=-1,
3                                              Bool_t diamond=kTRUE)
4 {
5   //
6   // Configuration for the study of the impact parameter resolution
7   //
8   // xianbao.yuan@pd.infn.it, andrea.dainese@pd.infn.it
9   //
10
11
12   // Get the pointer to the existing analysis manager via the static access method.
13   //==============================================================================
14   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
15   if (!mgr) {
16     ::Error("AddTaskImpParRes", "No analysis manager to connect to.");
17     return NULL;
18   }   
19   
20   // Aanalysis task    
21   AliAnalysisTaskSEImpParRes *d0ResTask = new AliAnalysisTaskSEImpParRes("d0ResAnalysis");
22   d0ResTask->SetDebugLevel(2);
23   d0ResTask->SetReadMC(readMC);
24   d0ResTask->SetSelectedPdg(selPdg);
25   d0ResTask->SetUseDiamond(diamond);
26   mgr->AddTask(d0ResTask);
27
28   TString fname=Form("%s:ImpParRes_Performance",mgr->GetCommonFileName());
29   if(selPdg>0) {fname+=selPdg;}
30
31  
32   //
33   // Create containers for input/output
34   AliAnalysisDataContainer *cinputd0distr = mgr->CreateContainer("cinputd0distr",TChain::Class(), 
35                                                                  AliAnalysisManager::kInputContainer);
36
37   AliAnalysisDataContainer *coutputd0ITSpureSARec = mgr->CreateContainer("coutputd0ITSpureSARec",TList::Class(), 
38                                                                    AliAnalysisManager::kOutputContainer,
39                                                                    fname.Data());
40
41   AliAnalysisDataContainer *coutputd0ITSpureSASkip = mgr->CreateContainer("coutputd0ITSpureSASkip",TList::Class(), 
42                                                                    AliAnalysisManager::kOutputContainer,
43                                                                    fname.Data());
44
45   AliAnalysisDataContainer *coutputd0allPointRec = mgr->CreateContainer("coutputd0allPointRec",TList::Class(), 
46                                                                    AliAnalysisManager::kOutputContainer,
47                                                                    fname.Data());
48   
49   AliAnalysisDataContainer *coutputd0allPointSkip = mgr->CreateContainer("coutputd0allPointSkip",TList::Class(), 
50                                                                    AliAnalysisManager::kOutputContainer,
51                                                                    fname.Data());
52  
53   AliAnalysisDataContainer *coutputd0partPointRec = mgr->CreateContainer("coutputd0partPointRec",TList::Class(),
54                                                                         AliAnalysisManager::kOutputContainer,
55                                                                         fname.Data());
56
57   AliAnalysisDataContainer *coutputd0partPointSkip = mgr->CreateContainer("coutputd0partPointSkip",TList::Class(),
58                                                                         AliAnalysisManager::kOutputContainer,
59                                                                         fname.Data());
60
61   AliAnalysisDataContainer *coutputd0onepointSPDRec = mgr->CreateContainer("coutputd0onepointSPDRec",TList::Class(),
62                                                                         AliAnalysisManager::kOutputContainer,
63                                                                         fname.Data());
64
65   AliAnalysisDataContainer *coutputd0onepointSPDSkip = mgr->CreateContainer("coutputd0onepointSPDSkip",TList::Class(),
66                                                                         AliAnalysisManager::kOutputContainer,
67                                                                         fname.Data());
68
69   AliAnalysisDataContainer *coutputd0postvTracRec = mgr->CreateContainer("coutputd0postvTracRec",TList::Class(),
70                                                                         AliAnalysisManager::kOutputContainer,
71                                                                         fname.Data());
72  
73  
74   AliAnalysisDataContainer *coutputd0postvTracSkip = mgr->CreateContainer("coutputd0postvTracSkip",TList::Class(),
75                                                                         AliAnalysisManager::kOutputContainer,
76                                                                         fname.Data());
77  
78   AliAnalysisDataContainer *coutputd0negtvTracRec = mgr->CreateContainer("coutputd0negtvTracRec",TList::Class(),
79                                                                         AliAnalysisManager::kOutputContainer,
80                                                                         fname.Data());
81  
82   AliAnalysisDataContainer *coutputd0negtvTracSkip = mgr->CreateContainer("coutputd0negtvTracSkip",TList::Class(),
83                                                                         AliAnalysisManager::kOutputContainer,
84                                                                         fname.Data());
85
86   AliAnalysisDataContainer *coutputd0pullAllpointRec = mgr->CreateContainer("coutputd0pullAllpointRec",TList::Class(),
87                                                                         AliAnalysisManager::kOutputContainer,
88                                                                         fname.Data());
89
90
91   AliAnalysisDataContainer *coutputd0pullAllpointSkip = mgr->CreateContainer("coutputd0pullAllpointSkip",TList::Class(),
92                                                                         AliAnalysisManager::kOutputContainer,
93                                                                         fname.Data());
94
95   AliAnalysisDataContainer *coutputd0onlyRefitRec = mgr->CreateContainer("coutputd0onlyRefitRec",TList::Class(),
96                                                                         AliAnalysisManager::kOutputContainer,
97                                                                         fname.Data());
98
99   AliAnalysisDataContainer *coutputd0onlyRefitSkip = mgr->CreateContainer("coutputd0onlyRefitSkip",TList::Class(),
100                                                                         AliAnalysisManager::kOutputContainer,
101                                                                         fname.Data());
102
103
104   AliAnalysisDataContainer *coutputd0sinThetaRec = mgr->CreateContainer("coutputd0sinThetaRec",TList::Class(),
105                                                                         AliAnalysisManager::kOutputContainer,
106                                                                         fname.Data());
107
108
109   AliAnalysisDataContainer *coutputd0sinThetaSkip = mgr->CreateContainer("coutputd0sinThetaSkip",TList::Class(),
110                                                                         AliAnalysisManager::kOutputContainer,
111                                                                         fname.Data());
112
113
114  AliAnalysisDataContainer *coutputd0allPointTrue = mgr->CreateContainer("coutputd0allPointTrue",TList::Class(),
115                                                                         AliAnalysisManager::kOutputContainer,
116                                                                         fname.Data());
117
118  AliAnalysisDataContainer *coutputd0postvTracTrue = mgr->CreateContainer("coutputd0postvTracTrue",TList::Class(),
119                                                                         AliAnalysisManager::kOutputContainer,
120                                                                         fname.Data());
121
122  AliAnalysisDataContainer *coutputd0negtvTracTrue = mgr->CreateContainer("coutputd0negtvTracTrue",TList::Class(),
123                                                                         AliAnalysisManager::kOutputContainer,
124                                                                         fname.Data());
125
126  AliAnalysisDataContainer *coutputd0pullAllpointTrue = mgr->CreateContainer("coutputd0pullAllpointTrue",TList::Class(),
127                                                                         AliAnalysisManager::kOutputContainer,
128                                                                         fname.Data());
129
130
131  AliAnalysisDataContainer *coutputd0phiAllpointSkip = mgr->CreateContainer("coutputd0phiAllpointSkip",TList::Class(),
132                                                                         AliAnalysisManager::kOutputContainer,
133                                                                         fname.Data());
134
135  AliAnalysisDataContainer *coutputd0phiPostvtracSkip = mgr->CreateContainer("coutputd0phiPostvtracSkip",TList::Class(),
136                                                                         AliAnalysisManager::kOutputContainer,
137                                                                         fname.Data());
138  
139  AliAnalysisDataContainer *coutputd0phiNegtvtracSkip = mgr->CreateContainer("coutputd0phiNegtvtracSkip",TList::Class(),
140                                                                             AliAnalysisManager::kOutputContainer,
141                                                                           fname.Data());
142
143  
144  AliAnalysisDataContainer *coutputd0clusterTypeSPD01Skip = mgr->CreateContainer("coutputd0clusterTypeSPD01Skip",TList::Class(),
145                                                                         AliAnalysisManager::kOutputContainer,
146                                                                         fname.Data());
147
148  AliAnalysisDataContainer *coutputd0clusterTypeSPD02Skip = mgr->CreateContainer("coutputd0clusterTypeSPD02Skip",TList::Class(),
149                                                                         AliAnalysisManager::kOutputContainer,
150                                                                         fname.Data());
151
152  AliAnalysisDataContainer *coutputd0clusterTypeSPD03Skip = mgr->CreateContainer("coutputd0clusterTypeSPD03Skip",TList::Class(),
153                                                                         AliAnalysisManager::kOutputContainer,
154                                                                         fname.Data());
155
156  AliAnalysisDataContainer *coutputd0clusterTypeSPD11Skip = mgr->CreateContainer("coutputd0clusterTypeSPD11Skip",TList::Class(),
157                                                                         AliAnalysisManager::kOutputContainer,
158                                                                         fname.Data());
159
160  AliAnalysisDataContainer *coutputd0clusterTypeSPD12Skip = mgr->CreateContainer("coutputd0clusterTypeSPD12Skip",TList::Class(),
161                                                                         AliAnalysisManager::kOutputContainer,
162                                                                         fname.Data());
163
164  AliAnalysisDataContainer *coutputd0clusterTypeSPD13Skip = mgr->CreateContainer("coutputd0clusterTypeSPD13Skip",TList::Class(),
165                                                                         AliAnalysisManager::kOutputContainer,
166                                                                         fname.Data());
167  
168   AliAnalysisDataContainer *coutputd0PID = mgr->CreateContainer("coutputd0PID",TList::Class(),
169                                                                         AliAnalysisManager::kOutputContainer,
170                                                                         fname.Data());
171  
172   AliAnalysisDataContainer *coutputd0Pt = mgr->CreateContainer("coutputd0Pt",TList::Class(),
173                                                                         AliAnalysisManager::kOutputContainer,
174                                                                         fname.Data());
175  
176   AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer("coutputNentries",TH1F::Class(),
177                                                                      AliAnalysisManager::kOutputContainer, 
178                                                                    fname.Data());
179
180   AliAnalysisDataContainer *coutputEstimVtx = mgr->CreateContainer("coutputEstimVtx",TH1F::Class(),
181                                                                      AliAnalysisManager::kOutputContainer, 
182                                                                    fname.Data());
183
184   // Attach input  
185   mgr->ConnectInput(d0ResTask,0,mgr->GetCommonInputContainer()); 
186   // Attack output
187   mgr->ConnectOutput(d0ResTask,1,coutputd0ITSpureSARec);
188   mgr->ConnectOutput(d0ResTask,2,coutputd0ITSpureSASkip);
189   mgr->ConnectOutput(d0ResTask,3,coutputd0allPointRec);
190   mgr->ConnectOutput(d0ResTask,4,coutputd0allPointSkip);
191   mgr->ConnectOutput(d0ResTask,5,coutputd0partPointRec);
192   mgr->ConnectOutput(d0ResTask,6,coutputd0partPointSkip);
193   mgr->ConnectOutput(d0ResTask,7,coutputd0onepointSPDRec);
194   mgr->ConnectOutput(d0ResTask,8,coutputd0onepointSPDSkip);
195   mgr->ConnectOutput(d0ResTask,9,coutputd0postvTracRec); 
196   mgr->ConnectOutput(d0ResTask,10,coutputd0postvTracSkip);
197   mgr->ConnectOutput(d0ResTask,11,coutputd0negtvTracRec);
198   mgr->ConnectOutput(d0ResTask,12,coutputd0negtvTracSkip);
199   mgr->ConnectOutput(d0ResTask,13,coutputd0pullAllpointRec);
200   mgr->ConnectOutput(d0ResTask,14,coutputd0pullAllpointSkip);
201   mgr->ConnectOutput(d0ResTask,15,coutputd0onlyRefitRec);
202   mgr->ConnectOutput(d0ResTask,16,coutputd0onlyRefitSkip);
203   mgr->ConnectOutput(d0ResTask,17,coutputd0sinThetaRec);
204   mgr->ConnectOutput(d0ResTask,18,coutputd0sinThetaSkip);
205   mgr->ConnectOutput(d0ResTask,19,coutputd0allPointTrue);
206   mgr->ConnectOutput(d0ResTask,20,coutputd0postvTracTrue);
207   mgr->ConnectOutput(d0ResTask,21,coutputd0negtvTracTrue);
208   mgr->ConnectOutput(d0ResTask,22,coutputd0pullAllpointTrue);
209   mgr->ConnectOutput(d0ResTask,23,coutputd0phiAllpointSkip);
210   mgr->ConnectOutput(d0ResTask,24,coutputd0phiPostvtracSkip);
211   mgr->ConnectOutput(d0ResTask,25,coutputd0phiNegtvtracSkip);
212   mgr->ConnectOutput(d0ResTask,26,coutputd0clusterTypeSPD01Skip);
213   mgr->ConnectOutput(d0ResTask,27,coutputd0clusterTypeSPD02Skip);
214   mgr->ConnectOutput(d0ResTask,28,coutputd0clusterTypeSPD03Skip);
215   mgr->ConnectOutput(d0ResTask,29,coutputd0clusterTypeSPD11Skip);
216   mgr->ConnectOutput(d0ResTask,30,coutputd0clusterTypeSPD12Skip);
217   mgr->ConnectOutput(d0ResTask,31,coutputd0clusterTypeSPD13Skip);
218   mgr->ConnectOutput(d0ResTask,32,coutputd0PID);
219   mgr->ConnectOutput(d0ResTask,33,coutputd0Pt);
220   mgr->ConnectOutput(d0ResTask,34,coutputNentries);
221   mgr->ConnectOutput(d0ResTask,35,coutputEstimVtx);
222
223   return d0ResTask;
224 }