]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/macros/AddTaskImpParRes.C
reduced default max entries for merging to avoid problems with memory
[u/mrichter/AliRoot.git] / PWGPP / macros / AddTaskImpParRes.C
1 AliAnalysisTaskSEImpParRes *AddTaskImpParRes(Bool_t readMC=kFALSE,
2                                              Int_t selPdg=-1,
3                                              Bool_t diamond=kTRUE,
4                                              Bool_t skipTrack=kTRUE,
5                                              Int_t minmult=0,
6                                              Int_t maxmult=1000000,
7                                              Int_t checkSDDIsIn=1) 
8 {
9   //
10   // Configuration for the study of the impact parameter resolution
11   //
12   // xianbao.yuan@pd.infn.it, andrea.dainese@pd.infn.it
13   //
14
15
16   // Get the pointer to the existing analysis manager via the static access method.
17   //==============================================================================
18   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19   if (!mgr) {
20     ::Error("AddTaskImpParRes", "No analysis manager to connect to.");
21     return NULL;
22   }   
23   
24   // Aanalysis task    
25   AliAnalysisTaskSEImpParRes *d0ResTask = new AliAnalysisTaskSEImpParRes("d0ResAnalysis");
26   d0ResTask->SetDebugLevel(2);
27   d0ResTask->SetReadMC(readMC);
28   d0ResTask->SetSelectedPdg(selPdg);
29   d0ResTask->SetUseDiamond(diamond);
30   d0ResTask->SetSkipTrack(skipTrack);
31   d0ResTask->SetMultiplicityRange(minmult,maxmult);
32   d0ResTask->SetCheckSDDIsIn(checkSDDIsIn);
33   //d0ResTask->SetOCDBPath("alien://folder=/alice/data/2011/OCDB"); // to be commented for the QAtrain
34   mgr->AddTask(d0ResTask);
35
36   TString fname=Form("%s:ImpParRes_Performance",mgr->GetCommonFileName());
37   if(checkSDDIsIn==1) fname.Append("_wSDD"); 
38   if(checkSDDIsIn==-1) fname.Append("_woSDD"); 
39   if(selPdg>0) {fname+=selPdg;}
40
41  
42   //
43   // Create containers for input/output
44   AliAnalysisDataContainer *cinputd0distr = mgr->CreateContainer("cinputd0distr",TChain::Class(), 
45                                                                  AliAnalysisManager::kInputContainer);
46
47   AliAnalysisDataContainer *coutputd0ITSpureSARec = mgr->CreateContainer(Form("coutputd0ITSpureSARec_%d_%d",minmult,maxmult),TList::Class(), 
48                                                                    AliAnalysisManager::kOutputContainer,
49                                                                    fname.Data());
50
51   AliAnalysisDataContainer *coutputd0ITSpureSASkip = mgr->CreateContainer(Form("coutputd0ITSpureSASkip_%d_%d",minmult,maxmult),TList::Class(), 
52                                                                    AliAnalysisManager::kOutputContainer,
53                                                                    fname.Data());
54
55   AliAnalysisDataContainer *coutputd0allPointRec = mgr->CreateContainer(Form("coutputd0allPointRec_%d_%d",minmult,maxmult),TList::Class(), 
56                                                                    AliAnalysisManager::kOutputContainer,
57                                                                    fname.Data());
58   
59   AliAnalysisDataContainer *coutputd0allPointSkip = mgr->CreateContainer(Form("coutputd0allPointSkip_%d_%d",minmult,maxmult),TList::Class(), 
60                                                                    AliAnalysisManager::kOutputContainer,
61                                                                    fname.Data());
62  
63   AliAnalysisDataContainer *coutputd0partPointRec = mgr->CreateContainer(Form("coutputd0partPointRec_%d_%d",minmult,maxmult),TList::Class(),
64                                                                         AliAnalysisManager::kOutputContainer,
65                                                                         fname.Data());
66
67   AliAnalysisDataContainer *coutputd0partPointSkip = mgr->CreateContainer(Form("coutputd0partPointSkip_%d_%d",minmult,maxmult),TList::Class(),
68                                                                         AliAnalysisManager::kOutputContainer,
69                                                                         fname.Data());
70
71   AliAnalysisDataContainer *coutputd0onepointSPDRec = mgr->CreateContainer(Form("coutputd0onepointSPDRec_%d_%d",minmult,maxmult),TList::Class(),
72                                                                         AliAnalysisManager::kOutputContainer,
73                                                                         fname.Data());
74
75   AliAnalysisDataContainer *coutputd0onepointSPDSkip = mgr->CreateContainer(Form("coutputd0onepointSPDSkip_%d_%d",minmult,maxmult),TList::Class(),
76                                                                         AliAnalysisManager::kOutputContainer,
77                                                                         fname.Data());
78
79   AliAnalysisDataContainer *coutputd0postvTracRec = mgr->CreateContainer(Form("coutputd0postvTracRec_%d_%d",minmult,maxmult),TList::Class(),
80                                                                         AliAnalysisManager::kOutputContainer,
81                                                                         fname.Data());
82  
83  
84   AliAnalysisDataContainer *coutputd0postvTracSkip = mgr->CreateContainer(Form("coutputd0postvTracSkip_%d_%d",minmult,maxmult),TList::Class(),
85                                                                         AliAnalysisManager::kOutputContainer,
86                                                                         fname.Data());
87  
88   AliAnalysisDataContainer *coutputd0negtvTracRec = mgr->CreateContainer(Form("coutputd0negtvTracRec_%d_%d",minmult,maxmult),TList::Class(),
89                                                                         AliAnalysisManager::kOutputContainer,
90                                                                         fname.Data());
91  
92   AliAnalysisDataContainer *coutputd0negtvTracSkip = mgr->CreateContainer(Form("coutputd0negtvTracSkip_%d_%d",minmult,maxmult),TList::Class(),
93                                                                         AliAnalysisManager::kOutputContainer,
94                                                                         fname.Data());
95
96   AliAnalysisDataContainer *coutputd0pullAllpointRec = mgr->CreateContainer(Form("coutputd0pullAllpointRec_%d_%d",minmult,maxmult),TList::Class(),
97                                                                         AliAnalysisManager::kOutputContainer,
98                                                                         fname.Data());
99
100
101   AliAnalysisDataContainer *coutputd0pullAllpointSkip = mgr->CreateContainer(Form("coutputd0pullAllpointSkip_%d_%d",minmult,maxmult),TList::Class(),
102                                                                         AliAnalysisManager::kOutputContainer,
103                                                                         fname.Data());
104
105   AliAnalysisDataContainer *coutputd0onlyRefitRec = mgr->CreateContainer(Form("coutputd0onlyRefitRec_%d_%d",minmult,maxmult),TList::Class(),
106                                                                         AliAnalysisManager::kOutputContainer,
107                                                                         fname.Data());
108
109   AliAnalysisDataContainer *coutputd0onlyRefitSkip = mgr->CreateContainer(Form("coutputd0onlyRefitSkip_%d_%d",minmult,maxmult),TList::Class(),
110                                                                         AliAnalysisManager::kOutputContainer,
111                                                                         fname.Data());
112
113
114   AliAnalysisDataContainer *coutputd0sinThetaRec = mgr->CreateContainer(Form("coutputd0sinThetaRec_%d_%d",minmult,maxmult),TList::Class(),
115                                                                         AliAnalysisManager::kOutputContainer,
116                                                                         fname.Data());
117
118
119   AliAnalysisDataContainer *coutputd0sinThetaSkip = mgr->CreateContainer(Form("coutputd0sinThetaSkip_%d_%d",minmult,maxmult),TList::Class(),
120                                                                         AliAnalysisManager::kOutputContainer,
121                                                                         fname.Data());
122
123
124  AliAnalysisDataContainer *coutputd0allPointTrue = mgr->CreateContainer(Form("coutputd0allPointTrue_%d_%d",minmult,maxmult),TList::Class(),
125                                                                         AliAnalysisManager::kOutputContainer,
126                                                                         fname.Data());
127
128  AliAnalysisDataContainer *coutputd0postvTracTrue = mgr->CreateContainer(Form("coutputd0postvTracTrue_%d_%d",minmult,maxmult),TList::Class(),
129                                                                         AliAnalysisManager::kOutputContainer,
130                                                                         fname.Data());
131
132  AliAnalysisDataContainer *coutputd0negtvTracTrue = mgr->CreateContainer(Form("coutputd0negtvTracTrue_%d_%d",minmult,maxmult),TList::Class(),
133                                                                         AliAnalysisManager::kOutputContainer,
134                                                                         fname.Data());
135
136  AliAnalysisDataContainer *coutputd0pullAllpointTrue = mgr->CreateContainer(Form("coutputd0pullAllpointTrue_%d_%d",minmult,maxmult),TList::Class(),
137                                                                         AliAnalysisManager::kOutputContainer,
138                                                                         fname.Data());
139
140
141  AliAnalysisDataContainer *coutputd0phiAllpointSkip = mgr->CreateContainer(Form("coutputd0phiAllpointSkip_%d_%d",minmult,maxmult),TList::Class(),
142                                                                         AliAnalysisManager::kOutputContainer,
143                                                                         fname.Data());
144
145  AliAnalysisDataContainer *coutputd0phiPostvtracSkip = mgr->CreateContainer(Form("coutputd0phiPostvtracSkip_%d_%d",minmult,maxmult),TList::Class(),
146                                                                         AliAnalysisManager::kOutputContainer,
147                                                                         fname.Data());
148  
149  AliAnalysisDataContainer *coutputd0phiNegtvtracSkip = mgr->CreateContainer(Form("coutputd0phiNegtvtracSkip_%d_%d",minmult,maxmult),TList::Class(),
150                                                                             AliAnalysisManager::kOutputContainer,
151                                                                           fname.Data());
152
153  
154   AliAnalysisDataContainer *coutputd0PID = mgr->CreateContainer(Form("coutputd0PID_%d_%d",minmult,maxmult),TList::Class(),
155                                                                         AliAnalysisManager::kOutputContainer,
156                                                                         fname.Data());
157  
158   AliAnalysisDataContainer *coutputd0Pt = mgr->CreateContainer(Form("coutputd0Pt_%d_%d",minmult,maxmult),TList::Class(),
159                                                                         AliAnalysisManager::kOutputContainer,
160                                                                         fname.Data());
161  
162   AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(Form("coutputNentries_%d_%d",minmult,maxmult),TH1F::Class(),
163                                                                      AliAnalysisManager::kOutputContainer, 
164                                                                    fname.Data());
165
166   AliAnalysisDataContainer *coutputEstimVtx = mgr->CreateContainer(Form("coutputEstimVtx_%d_%d",minmult,maxmult),TH1F::Class(),
167                                                                      AliAnalysisManager::kOutputContainer, 
168                                                                    fname.Data());
169
170   // Attach input  
171   mgr->ConnectInput(d0ResTask,0,mgr->GetCommonInputContainer()); 
172   // Attack output
173   mgr->ConnectOutput(d0ResTask,1,coutputd0ITSpureSARec);
174   mgr->ConnectOutput(d0ResTask,2,coutputd0ITSpureSASkip);
175   mgr->ConnectOutput(d0ResTask,3,coutputd0allPointRec);
176   mgr->ConnectOutput(d0ResTask,4,coutputd0allPointSkip);
177   mgr->ConnectOutput(d0ResTask,5,coutputd0partPointRec);
178   mgr->ConnectOutput(d0ResTask,6,coutputd0partPointSkip);
179   mgr->ConnectOutput(d0ResTask,7,coutputd0onepointSPDRec);
180   mgr->ConnectOutput(d0ResTask,8,coutputd0onepointSPDSkip);
181   mgr->ConnectOutput(d0ResTask,9,coutputd0postvTracRec); 
182   mgr->ConnectOutput(d0ResTask,10,coutputd0postvTracSkip);
183   mgr->ConnectOutput(d0ResTask,11,coutputd0negtvTracRec);
184   mgr->ConnectOutput(d0ResTask,12,coutputd0negtvTracSkip);
185   mgr->ConnectOutput(d0ResTask,13,coutputd0pullAllpointRec);
186   mgr->ConnectOutput(d0ResTask,14,coutputd0pullAllpointSkip);
187   mgr->ConnectOutput(d0ResTask,15,coutputd0onlyRefitRec);
188   mgr->ConnectOutput(d0ResTask,16,coutputd0onlyRefitSkip);
189   mgr->ConnectOutput(d0ResTask,17,coutputd0sinThetaRec);
190   mgr->ConnectOutput(d0ResTask,18,coutputd0sinThetaSkip);
191   mgr->ConnectOutput(d0ResTask,19,coutputd0allPointTrue);
192   mgr->ConnectOutput(d0ResTask,20,coutputd0postvTracTrue);
193   mgr->ConnectOutput(d0ResTask,21,coutputd0negtvTracTrue);
194   mgr->ConnectOutput(d0ResTask,22,coutputd0pullAllpointTrue);
195   mgr->ConnectOutput(d0ResTask,23,coutputd0phiAllpointSkip);
196   mgr->ConnectOutput(d0ResTask,24,coutputd0phiPostvtracSkip);
197   mgr->ConnectOutput(d0ResTask,25,coutputd0phiNegtvtracSkip);
198   mgr->ConnectOutput(d0ResTask,26,coutputd0PID);
199   mgr->ConnectOutput(d0ResTask,27,coutputd0Pt);
200   mgr->ConnectOutput(d0ResTask,28,coutputNentries);
201   mgr->ConnectOutput(d0ResTask,29,coutputEstimVtx);
202
203   return d0ResTask;
204 }