]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/AddTaskCharmFraction.C
Added flags for each task
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AddTaskCharmFraction.C
1 AliAnalysisTaskSECharmFraction* AddTaskCharmFraction(TString fileout="d0D0",Int_t switchMC[5])
2 {  
3   //
4   // Configuration macro for the task to analyze the fraction of prompt charm
5   // using the D0 impact parameter
6   // andrea.rossi@ts.infn.it
7   //
8   //==========================================================================
9
10   //######## !!! THE SWITCH FOR MC ANALYSIS IS NOT IMPLEMENTED YET!!! ##########à
11   switchMC[0]=1;
12   switchMC[1]=1;
13   switchMC[2]=1;
14   switchMC[3]=1;
15   switchMC[4]=1;
16   Int_t last=0;
17
18   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19   if (!mgr) {
20     ::Error("AddTaskCharmFraction", "No analysis manager to connect to.");
21     return NULL;
22   }   
23
24   TString str=fileout,containername;
25   str.ReplaceAll(".root","");
26   str.Prepend("_");
27
28   TString outfile=AliAnalysisManager::GetCommonFileName();
29   outfile += ":PWG3_D2H";
30   outfile += str.Data();
31
32   AliAnalysisTaskSECharmFraction *hfTask;
33  
34   hfTask = new AliAnalysisTaskSECharmFraction("AliAnalysisTaskSECharmFraction");
35   hfTask->SetReadMC(kTRUE);    
36
37   /*  ############### HERE THE POSSIBILITY TO SWITCH ON/OFF THE TLISTS AND MC SELECTION WILL BE SET #########à
38
39   hfTask->SetUseCuts(setD0usecuts);
40   hfTask->SetCheckMC(setcheckMC);
41   hfTask->SetCheckMC_D0(setcheckMC_D0);
42   hfTask->SetCheckMC_2prongs(setcheckMC_2prongs);
43   hfTask->SetCheckMC_prompt(setcheckMC_prompt);
44   hfTask->SetCheckMC_fromB(setcheckMC_fromB);
45   hfTask->SetCheckMC_fromDstar(setSkipD0star);
46   hfTask->SetStudyPureBackground(setStudyPureBack);*/
47   //  hfTask->SetSideBands(0);
48   //  hfTask->SetDebugLevel(2);
49   mgr->AddTask(hfTask);
50  
51  
52   
53   // Create containers for input/output
54   AliAnalysisDataContainer *cinput =   mgr->GetCommonInputContainer();
55   //mgr->CreateContainer("cinput",TChain::Class(),AliAnalysisManager::kInputContainer);
56   mgr->ConnectInput(hfTask,0,cinput);
57   
58
59   //Now container for general properties histograms
60   containername="coutputNentries";
61   containername.Append(str.Data());
62   AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(containername.Data(),TH1F::Class(),
63                                                            AliAnalysisManager::kOutputContainer, 
64                                                            outfile.Data());
65   
66   mgr->ConnectOutput(hfTask,1,coutputNentries);
67
68   containername="coutputSignalType";
69   containername.Append(str.Data());
70   AliAnalysisDataContainer *coutputSignalType = mgr->CreateContainer(containername.Data(),TH1F::Class(),
71                                                            AliAnalysisManager::kOutputContainer, 
72                                                            outfile.Data());
73   
74   mgr->ConnectOutput(hfTask,2,coutputSignalType);
75
76
77   containername="coutputSignalType_LsCuts";
78   containername.Append(str.Data());
79   AliAnalysisDataContainer *coutputSignalType_LsCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
80                                                            AliAnalysisManager::kOutputContainer, 
81                                                            outfile.Data());
82   
83   mgr->ConnectOutput(hfTask,3,coutputSignalType_LsCuts);
84
85
86  containername="coutputSignalType_TghCuts";
87   containername.Append(str.Data());
88   AliAnalysisDataContainer *coutputSignalType_TghCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
89                                                            AliAnalysisManager::kOutputContainer, 
90                                                            outfile.Data());
91   
92   mgr->ConnectOutput(hfTask,4,coutputSignalType_TghCuts);
93
94   // Now container for TLists 
95   last=5;
96   //##########  NO CUTS TLISTS CONTAINER ##############à
97   containername="clistNCsign";
98   containername.Append(str.Data());
99   AliAnalysisDataContainer *clistNCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
100                                                            AliAnalysisManager::kOutputContainer, 
101                                                            outfile.Data());
102   mgr->ConnectOutput(hfTask,last,clistNCsign);
103   last++;
104
105
106   containername="clistNCback";
107   containername.Append(str.Data());
108   AliAnalysisDataContainer *clistNCback = mgr->CreateContainer(containername.Data(),TList::Class(),
109                                                            AliAnalysisManager::kOutputContainer, 
110                                                            outfile.Data());
111   mgr->ConnectOutput(hfTask,last,clistNCback);
112   last++;
113
114   containername="clistNCfromB";
115   containername.Append(str.Data());
116   AliAnalysisDataContainer *clistNCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
117                                                            AliAnalysisManager::kOutputContainer, 
118                                                            outfile.Data());
119   mgr->ConnectOutput(hfTask,last,clistNCfromB);
120   last++;
121
122
123   containername="clistNCfromDstar";
124   containername.Append(str.Data());
125   AliAnalysisDataContainer *clistNCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
126                                                            AliAnalysisManager::kOutputContainer, 
127                                                            outfile.Data());
128   mgr->ConnectOutput(hfTask,last,clistNCfromDstar);
129   last++;
130
131
132   containername="clistNCother";
133   containername.Append(str.Data());
134   AliAnalysisDataContainer *clistNCother = mgr->CreateContainer(containername.Data(),TList::Class(),
135                                                            AliAnalysisManager::kOutputContainer, 
136                                                            outfile.Data());
137   mgr->ConnectOutput(hfTask,last,clistNCother);
138   last++;
139
140
141   //######### LOOSE CUTS TLISTS CONTAINER #############
142   containername="clistLSCsign";
143   containername.Append(str.Data());
144   AliAnalysisDataContainer *clistLSCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
145                                                            AliAnalysisManager::kOutputContainer, 
146                                                            outfile.Data());
147   mgr->ConnectOutput(hfTask,last,clistLSCsign);
148   last++;
149
150
151   containername="clistLSCback";
152   containername.Append(str.Data());
153   AliAnalysisDataContainer *clistLSCback = mgr->CreateContainer(containername.Data(),TList::Class(),
154                                                            AliAnalysisManager::kOutputContainer, 
155                                                            outfile.Data());
156   mgr->ConnectOutput(hfTask,last,clistLSCback);
157   last++;
158
159   containername="clistLSCfromB";
160   containername.Append(str.Data());
161   AliAnalysisDataContainer *clistLSCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
162                                                            AliAnalysisManager::kOutputContainer, 
163                                                            outfile.Data());
164   mgr->ConnectOutput(hfTask,last,clistLSCfromB);
165   last++;
166
167
168   containername="clistLSCfromDstar";
169   containername.Append(str.Data());
170   AliAnalysisDataContainer *clistLSCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
171                                                            AliAnalysisManager::kOutputContainer, 
172                                                            outfile.Data());
173   mgr->ConnectOutput(hfTask,last,clistLSCfromDstar);
174   last++;
175
176
177   containername="clistLSCother";
178   containername.Append(str.Data());
179   AliAnalysisDataContainer *clistLSCother = mgr->CreateContainer(containername.Data(),TList::Class(),
180                                                            AliAnalysisManager::kOutputContainer, 
181                                                            outfile.Data());
182   mgr->ConnectOutput(hfTask,last,clistLSCother);
183   last++;
184
185
186
187   //######### TIGHT CUTS TLISTS CONTAINER #############
188     containername="clistTGHCsign";
189   containername.Append(str.Data());
190   AliAnalysisDataContainer *clistTGHCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
191                                                            AliAnalysisManager::kOutputContainer, 
192                                                            outfile.Data());
193   mgr->ConnectOutput(hfTask,last,clistTGHCsign);
194   last++;
195
196
197   containername="clistTGHCback";
198   containername.Append(str.Data());
199   AliAnalysisDataContainer *clistTGHCback = mgr->CreateContainer(containername.Data(),TList::Class(),
200                                                            AliAnalysisManager::kOutputContainer, 
201                                                            outfile.Data());
202   mgr->ConnectOutput(hfTask,last,clistTGHCback);
203   last++;
204
205   containername="clistTGHCfromB";
206   containername.Append(str.Data());
207   AliAnalysisDataContainer *clistTGHCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
208                                                            AliAnalysisManager::kOutputContainer, 
209                                                            outfile.Data());
210   mgr->ConnectOutput(hfTask,last,clistTGHCfromB);
211   last++;
212
213
214   containername="clistTGHCfromDstar";
215   containername.Append(str.Data());
216   AliAnalysisDataContainer *clistTGHCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
217                                                            AliAnalysisManager::kOutputContainer, 
218                                                            outfile.Data());
219   mgr->ConnectOutput(hfTask,last,clistTGHCfromDstar);
220   last++;
221
222
223   containername="clistTGHCother";
224   containername.Append(str.Data());
225   AliAnalysisDataContainer *clistTGHCother = mgr->CreateContainer(containername.Data(),TList::Class(),
226                                                            AliAnalysisManager::kOutputContainer, 
227                                                            outfile.Data());
228   mgr->ConnectOutput(hfTask,last,clistTGHCother);
229   
230
231
232   return hfTask;
233 }