]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/vertexingHF/AddTaskCharmFraction.C
Dplus and Ds tasks use the new cuts classes (Francesco, Renu, Giacomo)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AddTaskCharmFraction.C
CommitLineData
2fbaf745 1AliAnalysisTaskSECharmFraction* AddTaskCharmFraction(TString fileout="d0D0",Int_t switchMC[5],Bool_t readMC=kTRUE)
0df0132a 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 //==========================================================================
624c07ab 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
0df0132a 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
34dc24ce 28 TString outfile=AliAnalysisManager::GetCommonFileName();
29 outfile += ":PWG3_D2H";
30 outfile += str.Data();
31
624c07ab 32 AliAnalysisTaskSECharmFraction *hfTask;
33
34 hfTask = new AliAnalysisTaskSECharmFraction("AliAnalysisTaskSECharmFraction");
2fbaf745 35 hfTask->SetReadMC(readMC);
624c07ab 36
37 /* ############### HERE THE POSSIBILITY TO SWITCH ON/OFF THE TLISTS AND MC SELECTION WILL BE SET #########à
0df0132a 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);
624c07ab 46 hfTask->SetStudyPureBackground(setStudyPureBack);*/
0df0132a 47 // hfTask->SetSideBands(0);
48 // hfTask->SetDebugLevel(2);
49 mgr->AddTask(hfTask);
50
0df0132a 51
624c07ab 52
0df0132a 53 // Create containers for input/output
624c07ab 54 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
55 //mgr->CreateContainer("cinput",TChain::Class(),AliAnalysisManager::kInputContainer);
0df0132a 56 mgr->ConnectInput(hfTask,0,cinput);
624c07ab 57
0df0132a 58
59 //Now container for general properties histograms
624c07ab 60 containername="coutputNentries";
0df0132a 61 containername.Append(str.Data());
624c07ab 62 AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(containername.Data(),TH1F::Class(),
0df0132a 63 AliAnalysisManager::kOutputContainer,
34dc24ce 64 outfile.Data());
624c07ab 65
66 mgr->ConnectOutput(hfTask,1,coutputNentries);
0df0132a 67
624c07ab 68 containername="coutputSignalType";
0df0132a 69 containername.Append(str.Data());
624c07ab 70 AliAnalysisDataContainer *coutputSignalType = mgr->CreateContainer(containername.Data(),TH1F::Class(),
0df0132a 71 AliAnalysisManager::kOutputContainer,
34dc24ce 72 outfile.Data());
624c07ab 73
74 mgr->ConnectOutput(hfTask,2,coutputSignalType);
0df0132a 75
76
624c07ab 77 containername="coutputSignalType_LsCuts";
0df0132a 78 containername.Append(str.Data());
624c07ab 79 AliAnalysisDataContainer *coutputSignalType_LsCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
0df0132a 80 AliAnalysisManager::kOutputContainer,
34dc24ce 81 outfile.Data());
624c07ab 82
83 mgr->ConnectOutput(hfTask,3,coutputSignalType_LsCuts);
0df0132a 84
624c07ab 85
86 containername="coutputSignalType_TghCuts";
0df0132a 87 containername.Append(str.Data());
624c07ab 88 AliAnalysisDataContainer *coutputSignalType_TghCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
0df0132a 89 AliAnalysisManager::kOutputContainer,
34dc24ce 90 outfile.Data());
624c07ab 91
92 mgr->ConnectOutput(hfTask,4,coutputSignalType_TghCuts);
0df0132a 93
624c07ab 94 // Now container for TLists
95 last=5;
96 //########## NO CUTS TLISTS CONTAINER ##############à
c387e585 97 containername="clistNCsign";
0df0132a 98 containername.Append(str.Data());
c387e585 99 AliAnalysisDataContainer *clistNCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 100 AliAnalysisManager::kOutputContainer,
34dc24ce 101 outfile.Data());
c387e585 102 mgr->ConnectOutput(hfTask,last,clistNCsign);
624c07ab 103 last++;
0df0132a 104
624c07ab 105
c387e585 106 containername="clistNCback";
0df0132a 107 containername.Append(str.Data());
c387e585 108 AliAnalysisDataContainer *clistNCback = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 109 AliAnalysisManager::kOutputContainer,
34dc24ce 110 outfile.Data());
c387e585 111 mgr->ConnectOutput(hfTask,last,clistNCback);
624c07ab 112 last++;
0df0132a 113
c387e585 114 containername="clistNCfromB";
0df0132a 115 containername.Append(str.Data());
c387e585 116 AliAnalysisDataContainer *clistNCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 117 AliAnalysisManager::kOutputContainer,
34dc24ce 118 outfile.Data());
c387e585 119 mgr->ConnectOutput(hfTask,last,clistNCfromB);
624c07ab 120 last++;
121
0df0132a 122
c387e585 123 containername="clistNCfromDstar";
0df0132a 124 containername.Append(str.Data());
c387e585 125 AliAnalysisDataContainer *clistNCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 126 AliAnalysisManager::kOutputContainer,
34dc24ce 127 outfile.Data());
c387e585 128 mgr->ConnectOutput(hfTask,last,clistNCfromDstar);
624c07ab 129 last++;
0df0132a 130
131
c387e585 132 containername="clistNCother";
0df0132a 133 containername.Append(str.Data());
c387e585 134 AliAnalysisDataContainer *clistNCother = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 135 AliAnalysisManager::kOutputContainer,
34dc24ce 136 outfile.Data());
c387e585 137 mgr->ConnectOutput(hfTask,last,clistNCother);
624c07ab 138 last++;
0df0132a 139
140
624c07ab 141 //######### LOOSE CUTS TLISTS CONTAINER #############
c387e585 142 containername="clistLSCsign";
0df0132a 143 containername.Append(str.Data());
c387e585 144 AliAnalysisDataContainer *clistLSCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 145 AliAnalysisManager::kOutputContainer,
34dc24ce 146 outfile.Data());
c387e585 147 mgr->ConnectOutput(hfTask,last,clistLSCsign);
624c07ab 148 last++;
0df0132a 149
150
c387e585 151 containername="clistLSCback";
0df0132a 152 containername.Append(str.Data());
c387e585 153 AliAnalysisDataContainer *clistLSCback = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 154 AliAnalysisManager::kOutputContainer,
34dc24ce 155 outfile.Data());
c387e585 156 mgr->ConnectOutput(hfTask,last,clistLSCback);
624c07ab 157 last++;
0df0132a 158
c387e585 159 containername="clistLSCfromB";
0df0132a 160 containername.Append(str.Data());
c387e585 161 AliAnalysisDataContainer *clistLSCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 162 AliAnalysisManager::kOutputContainer,
34dc24ce 163 outfile.Data());
c387e585 164 mgr->ConnectOutput(hfTask,last,clistLSCfromB);
624c07ab 165 last++;
0df0132a 166
167
c387e585 168 containername="clistLSCfromDstar";
624c07ab 169 containername.Append(str.Data());
c387e585 170 AliAnalysisDataContainer *clistLSCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 171 AliAnalysisManager::kOutputContainer,
34dc24ce 172 outfile.Data());
c387e585 173 mgr->ConnectOutput(hfTask,last,clistLSCfromDstar);
624c07ab 174 last++;
0df0132a 175
0df0132a 176
c387e585 177 containername="clistLSCother";
624c07ab 178 containername.Append(str.Data());
c387e585 179 AliAnalysisDataContainer *clistLSCother = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 180 AliAnalysisManager::kOutputContainer,
34dc24ce 181 outfile.Data());
c387e585 182 mgr->ConnectOutput(hfTask,last,clistLSCother);
624c07ab 183 last++;
0df0132a 184
0df0132a 185
0df0132a 186
624c07ab 187 //######### TIGHT CUTS TLISTS CONTAINER #############
c387e585 188 containername="clistTGHCsign";
624c07ab 189 containername.Append(str.Data());
c387e585 190 AliAnalysisDataContainer *clistTGHCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 191 AliAnalysisManager::kOutputContainer,
34dc24ce 192 outfile.Data());
c387e585 193 mgr->ConnectOutput(hfTask,last,clistTGHCsign);
624c07ab 194 last++;
0df0132a 195
196
c387e585 197 containername="clistTGHCback";
624c07ab 198 containername.Append(str.Data());
c387e585 199 AliAnalysisDataContainer *clistTGHCback = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 200 AliAnalysisManager::kOutputContainer,
34dc24ce 201 outfile.Data());
c387e585 202 mgr->ConnectOutput(hfTask,last,clistTGHCback);
624c07ab 203 last++;
0df0132a 204
c387e585 205 containername="clistTGHCfromB";
624c07ab 206 containername.Append(str.Data());
c387e585 207 AliAnalysisDataContainer *clistTGHCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 208 AliAnalysisManager::kOutputContainer,
34dc24ce 209 outfile.Data());
c387e585 210 mgr->ConnectOutput(hfTask,last,clistTGHCfromB);
624c07ab 211 last++;
0df0132a 212
213
c387e585 214 containername="clistTGHCfromDstar";
624c07ab 215 containername.Append(str.Data());
c387e585 216 AliAnalysisDataContainer *clistTGHCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 217 AliAnalysisManager::kOutputContainer,
34dc24ce 218 outfile.Data());
c387e585 219 mgr->ConnectOutput(hfTask,last,clistTGHCfromDstar);
624c07ab 220 last++;
0df0132a 221
0df0132a 222
c387e585 223 containername="clistTGHCother";
624c07ab 224 containername.Append(str.Data());
c387e585 225 AliAnalysisDataContainer *clistTGHCother = mgr->CreateContainer(containername.Data(),TList::Class(),
0df0132a 226 AliAnalysisManager::kOutputContainer,
34dc24ce 227 outfile.Data());
c387e585 228 mgr->ConnectOutput(hfTask,last,clistTGHCother);
624c07ab 229
0df0132a 230
0df0132a 231
232 return hfTask;
233}