]>
Commit | Line | Data |
---|---|---|
2fbaf745 | 1 | AliAnalysisTaskSECharmFraction* 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 | } |