52 Info(
"AliCFTaskForDStarAnalysis",
"SETUP CONTAINER");
70 const Double_t phimax = 2*TMath::Pi();
74 const Int_t nvar = 15 ;
75 const Int_t nbin0_0_4 = 8 ;
76 const Int_t nbin0_4_8 = 4 ;
77 const Int_t nbin0_8_10 = 2 ;
78 const Int_t nbin1 = 30 ;
79 const Int_t nbin2 = 30 ;
81 const Int_t nbin3_0_1 = 8 ;
82 const Int_t nbin3_1_2 = 1 ;
83 const Int_t nbin3_2_10 = 1 ;
84 const Int_t nbin4_0_4 = 8 ;
85 const Int_t nbin4_4_8 = 3 ;
86 const Int_t nbin4_8_10 = 1 ;
88 const Int_t nbin5 = 20 ;
89 const Int_t nbin6 = 20 ;
90 const Int_t nbin7 = 100 ;
91 const Int_t nbin8 = 100 ;
92 const Int_t nbin9 = 80 ;
93 const Int_t nbin10 = 100 ;
94 const Int_t nbin11 = 15 ;
95 const Int_t nbin12 = 60 ;
97 const Int_t nbin5_0_4 = 8 ;
98 const Int_t nbin5_4_8 = 4 ;
99 const Int_t nbin5_8_10 = 8 ;
100 const Int_t nbin6_0_4 = 8 ;
101 const Int_t nbin6_4_8 = 4 ;
102 const Int_t nbin6_8_10 = 8 ;
107 iBin[0]=nbin0_0_4+nbin0_4_8+nbin0_8_10;
110 iBin[3]=nbin3_0_1+nbin3_1_2+nbin3_2_10;
111 iBin[4]=nbin4_0_4+nbin4_4_8+nbin4_8_10;
120 iBin[13]=nbin5_0_4+nbin5_4_8+nbin5_8_10;
121 iBin[14]=nbin6_0_4+nbin6_4_8+nbin6_8_10;
142 Error(
"AliCFTaskForDStarAnalysis",
"max lim 1st range != min lim 2nd range, please check!");
145 Error(
"AliCFTaskForDStarAnalysis",
"max lim 2nd range != min lim 3rd range, please check!");
152 Error(
"AliCFDStar",
"Calculated bin lim for pt - 1st range - differs from expected!\n");
155 if (binLim0[nbin0_0_4+nbin0_4_8] !=
ptmin_8_10) {
156 Error(
"AliCFDStar",
"Calculated bin lim for pt - 2nd range - differs from expected!\n");
169 Error(
"AliCFDStar",
"Calculated bin lim for ptPi - 1st range - differs from expected!");
172 if (binLim3[nbin3_0_1+nbin3_1_2] !=
ptmin_2_10) {
173 Error(
"AliCFDStar",
"Calculated bin lim for ptPi - 2nd range - differs from expected!\n");
180 Error(
"AliCFDStar",
"Calculated bin lim for ptKa - 1st range - differs from expected!");
183 if (binLim4[nbin4_0_4+nbin4_4_8] !=
ptmin_8_10) {
184 Error(
"AliCFDStar",
"Calculated bin lim for ptKa - 2nd range - differs from expected!\n");
191 Error(
"AliCFDStar",
"Calculated bin lim for ptPi - 1st range - differs from expected!");
194 if (binLim13[nbin5_0_4+nbin5_4_8] !=
ptmin_8_10) {
195 Error(
"AliCFDStar",
"Calculated bin lim for ptPi - 2nd range - differs from expected!\n");
202 Error(
"AliCFDStar",
"Calculated bin lim for ptKa - 1st range - differs from expected!");
205 if (binLim14[nbin6_0_4+nbin6_4_8] !=
ptmin_8_10) {
206 Error(
"AliCFDStar",
"Calculated bin lim for ptKa - 2nd range - differs from expected!\n");
232 for(
Int_t i=0; i<=nbin12; i++) {
237 AliCFContainer* container =
new AliCFContainer(
"container",
"container for tracks",nstep,nvar,iBin);
239 container -> SetBinLimits(ipt,binLim0);
240 container -> SetBinLimits(iy,binLim1);
241 container -> SetBinLimits(icosThetaStar,binLim2);
242 container -> SetBinLimits(ipTpi,binLim3);
243 container -> SetBinLimits(ipTD0,binLim4);
244 container -> SetBinLimits(icT,binLim5);
245 container -> SetBinLimits(idca,binLim6);
246 container -> SetBinLimits(id0pi,binLim7);
247 container -> SetBinLimits(id0K,binLim8);
248 container -> SetBinLimits(id0xd0,binLim9);
249 container -> SetBinLimits(ipointing,binLim10);
250 container -> SetBinLimits(iphi,binLim11);
251 container -> SetBinLimits(iz,binLim12);
252 container -> SetBinLimits(ipTD0pi,binLim13);
253 container -> SetBinLimits(ipTD0K,binLim14);
258 AliCFTrackKineCuts *mcKineCuts =
new AliCFTrackKineCuts(
"mcKineCuts",
"MC-level kinematic cuts");
261 AliCFParticleGenCuts* mcGenCuts =
new AliCFParticleGenCuts(
"mcGenCuts",
"MC particle generation cuts");
262 mcGenCuts->SetRequirePdgCode(413, kTRUE);
263 mcGenCuts->SetAODMC(1);
266 AliCFAcceptanceCuts* accCuts =
new AliCFAcceptanceCuts(
"accCuts",
"Acceptance cuts");
267 AliCFTrackKineCuts *kineAccCuts =
new AliCFTrackKineCuts(
"kineAccCuts",
"Kine-Acceptance cuts");
272 AliCFTrackKineCuts *recKineCuts =
new AliCFTrackKineCuts(
"recKineCuts",
"rec-level kine cuts");
274 AliCFTrackQualityCuts *recQualityCuts =
new AliCFTrackQualityCuts(
"recQualityCuts",
"rec-level quality cuts");
276 AliCFTrackIsPrimaryCuts *recIsPrimaryCuts =
new AliCFTrackIsPrimaryCuts(
"recIsPrimaryCuts",
"rec-level isPrimary cuts");
278 printf(
"CREATE MC KINE CUTS\n");
280 mcList->AddLast(mcKineCuts);
281 mcList->AddLast(mcGenCuts);
283 printf(
"CREATE ACCEPTANCE CUTS\n");
285 accList->AddLast(kineAccCuts);
287 printf(
"CREATE RECONSTRUCTION CUTS\n");
289 recList->AddLast(recKineCuts);
290 recList->AddLast(recQualityCuts);
291 recList->AddLast(recIsPrimaryCuts);
296 printf(
"CREATE INTERFACE AND CUTS\n");
297 AliCFManager* man =
new AliCFManager() ;
299 man->SetParticleContainer (container);
300 man->SetParticleCutsList(0 , mcList);
301 man->SetParticleCutsList(1 , accList);
302 man->SetParticleCutsList(2 , emptyList);
303 man->SetParticleCutsList(3 , emptyList);
304 man->SetParticleCutsList(4 , emptyList);
305 man->SetParticleCutsList(5 , emptyList);
306 man->SetParticleCutsList(6 , emptyList);
307 man->SetParticleCutsList(7 , emptyList);
313 ::Error(
"AddTaskCompareHF",
"No analysis manager to connect to.");
317 printf(
"CREATE TASK\n");
324 Bool_t AcceptanceUnf = kTRUE;
334 THnSparseD* correlation =
new THnSparseD(
"correlation",
"THnSparse with correlations",4,thnDim);
339 binEdges[0]= binLim0;
340 binEdges[1]= binLim1;
342 correlation->SetBinEdges(0,binEdges[0]);
343 correlation->SetBinEdges(2,binEdges[0]);
345 correlation->SetBinEdges(1,binEdges[1]);
346 correlation->SetBinEdges(3,binEdges[1]);
348 correlation->Sumw2();
358 AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
362 TString outputfile = AliAnalysisManager::GetCommonFileName();
363 outputfile +=
":PWG3_D2H_CFtaskDStar";
367 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(
"CFDSchist0", TH1I::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
369 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(
"CFDSccontainer0", AliCFContainer::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
371 AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(
"CFDScorr0", THnSparseD::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
375 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
376 mgr->ConnectOutput(task,1,coutput1);
377 mgr->ConnectOutput(task,2,coutput2);
378 mgr->ConnectOutput(task,3,coutput3);
const Double_t ptmin_8_10
const Double_t ptmax_8_10
void SetCFManager(AliCFManager *io)
CORRECTION FRAMEWORK.
void SetMinITSClustersSoft(Int_t minITSClustersSoft)
const Int_t mintrackrefsITS
const Int_t minITSClusters
const Int_t mintrackrefsTPC
const Int_t minclustersTPC
void SetCorrelationMatrix(THnSparse *h)
UNFOLDING.
const Double_t ptmin_2_10
const Int_t minITSClustersSoft
void SetMinITSClusters(Int_t minITSClusters)
const Double_t ptmax_2_10
AliCFTaskForDStarAnalysis * AddTaskCFDStar()