6 Bool_t rejectIfNotFromQuark=kTRUE,
8 Bool_t isKeepDfromB = kFALSE,
Bool_t isKeepDfromBOnly = kFALSE,
12 TString usercomment =
"username",
14 Bool_t useFlatPtWeight = kFALSE,
15 Bool_t useZWeight = kFALSE,
16 Bool_t useNchWeight = kFALSE,
17 Bool_t useNtrkWeight = kFALSE,
23 Bool_t isFineNtrkBin = kFALSE)
75 if ( (isPPData && isPPbData) ||
76 (!isPPData && !isPPbData) ) {
77 printf(
"You have to choose the data kind; bad choise isPPData=%d isPPbData=%d\n",isPPData,isPPbData);
81 printf(
"Adding CF task using cuts from file %s\n",cutFile);
83 printf(
"The configuration is set to be SLOW --> all the variables will be used to fill the CF\n");
86 printf(
"The configuration is set to be FAST --> using only pt, y, ct, phi, zvtx, centrality, fake, multiplicity to fill the CF\n");
89 printf(
"The configuration is set to be FAST --> using only pt, y, centrality, multiplicity to fill the CF\n");
92 printf(
"The configuration is not defined! returning\n");
103 if (isSign == 0 && pdgCode < 0){
104 Printf(
"ERROR:Error setting PDG code (%d) and sign (0 --> Lc+ only): they are not compatible, returning",pdgCode);
107 else if (isSign == 1 && pdgCode > 0){
108 Printf(
"ERROR:Error setting PDG code (%d) and sign (1 --> Lc- only): they are not compatible, returning",pdgCode);
111 else if (isSign > 2 || isSign < 0){
112 Printf(
"ERROR:Sign not valid (%d, possible values are 0, 1, 2), returning",isSign);
116 TFile* fileCuts = TFile::Open(cutFile);
121 if (isKeepDfromBOnly) isKeepDfromB =
true;
125 if (lcToV0bachelorDecayMode==0) {
128 }
else if (lcToV0bachelorDecayMode==1) {
134 const Double_t phimax = 2.*TMath::Pi();
136 const Double_t phiV0max = 2.*TMath::Pi();
138 const Int_t nbinZvtx = 30;
139 const Int_t nbincent =19+1;
140 const Int_t nbinfake = 3;
143 const Int_t nbinmult_0_20 = 20;
144 const Int_t nbinmult_20_50 = 15;
145 const Int_t nbinmult_50_80 = 10;
146 const Int_t nbinmult_80_100 = 4;
147 const Int_t nbinmult_100_400 = 3;
148 if(isPPbData) nbinmult += nbinmult_100_400;
151 const Int_t nbiny = 24;
152 const Int_t nbinphi = 18;
153 const Int_t nbinonFly = 2;
155 const Int_t nbinpBach = 300;
156 const Int_t nbinptV0 = 300;
157 const Int_t nbinyV0 = 24;
158 const Int_t nbinphiV0 = 18;
159 const Int_t nbindcaV0 = 150;
160 const Int_t nbininvMassV0 = 60;
161 const Int_t nbinpointingV0 = 42;
162 const Int_t nbinpointing = 42;
183 const UInt_t iinvMassV0= 12;
185 const UInt_t icosPAxV0 = 14;
195 const Int_t nvarTot = 16 ;
205 iBin[ionFly]=nbinonFly;
206 iBin[iZvtx]=nbinZvtx;
207 iBin[icent]=nbincent;
208 iBin[ifake]=nbinfake;
212 Int_t nbinmultTmp = nbinmult;
214 Int_t nbinLimmultFine = 100;
215 if (isPPbData) nbinLimmultFine = 200;
216 const UInt_t nbinMultFine = nbinLimmultFine;
217 binLimmultFine =
new Double_t[nbinMultFine+1];
218 for (
Int_t ibin0 = 0; ibin0 < nbinMultFine+1; ibin0++) {
219 binLimmultFine[ibin0] = ibin0;
221 nbinmultTmp = nbinLimmultFine;
223 const Int_t nbinmultTot = nbinmultTmp;
224 iBin[imult] = nbinmultTot;
227 iBin[ipbach]=nbinpBach;
228 iBin[ipTV0]=nbinptV0;
230 iBin[iphiV0]=nbinphiV0;
231 iBin[iinvMassV0]=nbininvMassV0;
232 iBin[idcaV0]=nbindcaV0;
233 iBin[icosPAxV0]=nbinpointingV0;
234 iBin[icosPA]=nbinpointing;
243 for (
Int_t ibinpT = 0 ; ibinpT<iBin[ipT]+1; ibinpT++){
244 binLimpT[ibinpT] = (
Double_t)floatbinLimpT[ibinpT];
245 printf(
"binLimpT[%d]=%f\n",ibinpT,binLimpT[ibinpT]);
258 for(
Int_t i=0; i<=iBin[ionFly]; i++) binLimonFlyV0[i]=(
Double_t)onFlymin + (onFlymax-onFlymin)/iBin[ionFly]*(
Double_t)i ;
266 binLimcent[0]=centmin;
267 for(
Int_t i=1; i<=iBin[icent]; i++) binLimcent[i]=centmin + (centmax-centmin)/iBin[icent]*(
Double_t)i;
277 if (binLimmult[nbinmult_0_20] != multmin_20_50) {
278 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for mult - 1st range - differs from expected!\n");
281 if (binLimmult[nbinmult_0_20+nbinmult_20_50] != multmin_50_80) {
282 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for mult - 2nd range - differs from expected!\n");
284 for(
Int_t i=0; i<=nbinmult_50_80; i++) binLimmult[i+nbinmult_0_20+nbinmult_20_50] = (
Double_t)multmin_50_80 + (multmax_50_80-
multmin_50_80)/nbinmult_50_80*(
Double_t)i ;
285 if (binLimmult[nbinmult_0_20+nbinmult_20_50+nbinmult_50_80] != multmin_80_100) {
286 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for mult - 3rd range - differs from expected!\n");
288 for(
Int_t i=0; i<=nbinmult_80_100; i++) binLimmult[i+nbinmult_0_20+nbinmult_20_50+nbinmult_50_80] = (
Double_t)multmin_80_100 + (multmax_80_100-
multmin_80_100)/nbinmult_80_100*(
Double_t)i ;
289 if (binLimmult[nbinmult_0_20+nbinmult_20_50+nbinmult_50_80+nbinmult_80_100] != multmin_100_400) {
290 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for mult - 4th range - differs from expected!\n");
293 for (
Int_t i = 0; i<=nbinmult_100_400; i++) binLimmult[i+nbinmult_0_20+nbinmult_20_50+nbinmult_50_80+nbinmult_80_100] = (
Double_t)multmin_100_400 + (multmax_100_400-
multmin_100_400)/nbinmult_100_400*(
Double_t)i ;
299 for(
Int_t i=0; i<=iBin[ipbach]; i++) binLimpbach[i]=(
Double_t)pBachmin + (pBachmax-pBachmin)/iBin[ipbach]*(
Double_t)i ;
303 for(
Int_t i=0; i<=iBin[ipTV0]; i++) binLimpTV0[i]=(
Double_t)ptV0min + (ptV0max-ptV0min)/iBin[ipTV0]*(
Double_t)i ;
307 for(
Int_t i=0; i<=iBin[iyV0]; i++) binLimyV0[i]=(
Double_t)yV0min + (yV0max-yV0min)/iBin[iyV0]*(
Double_t)i ;
311 for(
Int_t i=0; i<=iBin[iphiV0]; i++) binLimphiV0[i]=(
Double_t)phiV0min + (phiV0max-phiV0min)/iBin[iphiV0]*(
Double_t)i ;
315 for(
Int_t i=0; i<=iBin[iinvMassV0]; i++) binLimInvMassV0[i]=(
Double_t)massV0min + (massV0max-massV0min)/iBin[iinvMassV0]*(
Double_t)i ;
319 for(
Int_t i=0; i<=iBin[idcaV0]; i++) binLimdcaV0[i]=(
Double_t)dcaV0min + (dcaV0max-dcaV0min)/iBin[idcaV0]*(
Double_t)i ;
323 for(
Int_t i=0; i<=iBin[icosPAxV0]; i++) binLimcosPAV0[i]=(
Double_t)cosPAV0min + (cosPAV0max-cosPAV0min)/iBin[icosPAxV0]*(
Double_t)i ;
327 for(
Int_t i=0; i<=iBin[icosPA]; i++) binLimcosPA[i]=(
Double_t)cosPAmin + (cosPAmax-cosPAmin)/iBin[icosPA]*(
Double_t)i ;
343 nameContainer=
"CFHFccontainer0_CommonFramework_"+usercomment;
345 else if (isKeepDfromBOnly) {
346 nameContainer=
"CFHFccontainer0LcfromB_CommonFramework_"+usercomment;
349 nameContainer=
"CFHFccontainer0allLc_CommonFramework_"+usercomment;
355 Info(
"AliCFTaskVertexingHF",
"SETUP CONTAINER");
358 AliCFContainer* container;
360 container =
new AliCFContainer(nameContainer,
"container for tracks",nstep,nvarTot,iBin);
362 container -> SetBinLimits(ipT,binLimpT);
363 container -> SetBinLimits(iy,binLimy);
364 container -> SetBinLimits(iphi,binLimphi);
365 container -> SetBinLimits(ionFly,binLimonFlyV0);
366 container -> SetBinLimits(iZvtx,binLimzvtx);
367 container -> SetBinLimits(icent,binLimcent);
368 container -> SetBinLimits(ifake,binLimfake);
369 if (isFineNtrkBin) container->SetBinLimits(imult, binLimmultFine);
370 else container->SetBinLimits(imult, binLimmult);
372 container -> SetVarTitle(ipT,
"p_{T}(#Lambda_{c}) [GeV/c]");
373 container -> SetVarTitle(iy,
"y(#Lambda_{c})");
374 container -> SetVarTitle(iphi,
"#phi(#Lambda_{c}) [rad]");
375 container -> SetVarTitle(ionFly,
"onTheFlyStatusV0");
376 container -> SetVarTitle(iZvtx,
"z_{vtx} [cm]");
377 container -> SetVarTitle(icent,
"centrality");
378 container -> SetVarTitle(ifake,
"fake");
379 container -> SetVarTitle(imult,
"multiplicity");
381 container -> SetBinLimits(ipbach,binLimpbach);
382 container -> SetBinLimits(ipTV0,binLimpTV0);
383 container -> SetBinLimits(iyV0,binLimyV0);
384 container -> SetBinLimits(iphiV0,binLimphiV0);
385 container -> SetBinLimits(iinvMassV0,binLimInvMassV0);
386 container -> SetBinLimits(idcaV0,binLimdcaV0);
387 container -> SetBinLimits(icosPAxV0,binLimcosPAV0);
388 container -> SetBinLimits(icosPA,binLimcosPA);
392 container -> SetVarTitle(ipbach,
"p(bachelor) [GeV/c]");
393 container -> SetVarTitle(ipTV0,
"p_{T}(V0) [GeV/c]");
394 container -> SetVarTitle(iyV0,
"y(V0)");
395 container -> SetVarTitle(iphiV0,
"#varphi(V0) [rad]");
396 container -> SetVarTitle(iinvMassV0,
"m_{inv}(#pi^{+},#pi^{-}) [GeV/c^{2}]");
397 container -> SetVarTitle(idcaV0,
"DCA(V0) [n#sigma]");
398 container -> SetVarTitle(icosPAxV0,
"cosine pointing angle(V0)");
399 container -> SetVarTitle(icosPA,
"cosine pointing angle (#Lambda_{c})");
404 container =
new AliCFContainer(nameContainer,
"container for tracks",nstep,8,iBin);
406 container -> SetBinLimits(ipT,binLimpT);
407 container -> SetBinLimits(iy,binLimy);
408 container -> SetBinLimits(iphi,binLimphi);
409 container -> SetBinLimits(ionFly,binLimonFlyV0);
410 container -> SetBinLimits(iZvtx,binLimzvtx);
411 container -> SetBinLimits(icent,binLimcent);
412 container -> SetBinLimits(ifake,binLimfake);
413 if (isFineNtrkBin) container->SetBinLimits(imult, binLimmultFine);
414 else container->SetBinLimits(imult, binLimmult);
416 container -> SetVarTitle(ipT,
"p_{T}(#Lambda_{c}) [GeV/c]");
417 container -> SetVarTitle(iy,
"y(#Lambda_{c})");
418 container -> SetVarTitle(iphi,
"#phi(#Lambda_{c}) [rad]");
419 container -> SetVarTitle(ionFly,
"onTheFlyStatusV0");
420 container -> SetVarTitle(iZvtx,
"z_{vtx} [cm]");
421 container -> SetVarTitle(icent,
"centrality");
422 container -> SetVarTitle(ifake,
"fake");
423 container -> SetVarTitle(imult,
"multiplicity");
426 Int_t iBinSuperFast[4];
427 const UInt_t ipTSuperFast = 0;
428 const UInt_t iySuperFast = 1;
429 const UInt_t icentSuperFast = 2;
430 const UInt_t imultSuperFast = 3;
431 iBinSuperFast[ipTSuperFast]=iBin[ipT];
432 iBinSuperFast[iySuperFast]=iBin[iy];
433 iBinSuperFast[icentSuperFast]=iBin[icent];
434 iBinSuperFast[imultSuperFast]=iBin[imult];
435 container =
new AliCFContainer(nameContainer,
"container for tracks",nstep,4,iBinSuperFast);
437 container -> SetBinLimits(ipTSuperFast,binLimpT);
438 container -> SetBinLimits(iySuperFast,binLimy);
439 container -> SetBinLimits(icentSuperFast,binLimcent);
440 if (isFineNtrkBin) container->SetBinLimits(imultSuperFast, binLimmultFine);
441 else container->SetBinLimits(imultSuperFast, binLimmult);
443 container -> SetVarTitle(ipTSuperFast,
"p_{T}(#Lambda_{c}) [GeV/c]");
444 container -> SetVarTitle(iySuperFast,
"y(#Lambda_{c})");
445 container -> SetVarTitle(icentSuperFast,
"centrality");
446 container -> SetVarTitle(imultSuperFast,
"multiplicity");
449 container -> SetStepTitle(0,
"MCLimAcc");
450 container -> SetStepTitle(1,
"MC");
451 container -> SetStepTitle(2,
"MCAcc");
452 container -> SetStepTitle(3,
"RecoVertex");
453 container -> SetStepTitle(4,
"RecoRefit");
454 container -> SetStepTitle(5,
"Reco");
455 container -> SetStepTitle(6,
"RecoAcc");
456 container -> SetStepTitle(7,
"RecoITSCluster");
457 container -> SetStepTitle(8,
"RecoCuts");
458 container -> SetStepTitle(9,
"RecoPID");
465 AliCFTrackKineCuts *mcKineCuts =
new AliCFTrackKineCuts(
"mcKineCuts",
"MC-level kinematic cuts");
468 AliCFParticleGenCuts* mcGenCuts =
new AliCFParticleGenCuts(
"mcGenCuts",
"MC particle generation cuts");
469 Bool_t useAbsolute = kTRUE;
471 useAbsolute = kFALSE;
473 mcGenCuts->SetRequirePdgCode(pdgCode, useAbsolute);
474 mcGenCuts->SetAODMC(1);
477 AliCFAcceptanceCuts* accCuts =
new AliCFAcceptanceCuts(
"accCuts",
"Acceptance cuts");
478 AliCFTrackKineCuts * kineAccCuts =
new AliCFTrackKineCuts(
"kineAccCuts",
"Kine-Acceptance cuts");
479 kineAccCuts->SetPtRange(ptmin,ptmax);
480 kineAccCuts->SetEtaRange(etamin,etamax);
483 AliCFTrackKineCuts *recKineCuts =
new AliCFTrackKineCuts(
"recKineCuts",
"rec-level kine cuts");
485 AliCFTrackQualityCuts *recQualityCuts =
new AliCFTrackQualityCuts(
"recQualityCuts",
"rec-level quality cuts");
487 AliCFTrackIsPrimaryCuts *recIsPrimaryCuts =
new AliCFTrackIsPrimaryCuts(
"recIsPrimaryCuts",
"rec-level isPrimary cuts");
489 printf(
"CREATE MC KINE CUTS\n");
491 mcList->AddLast(mcKineCuts);
492 mcList->AddLast(mcGenCuts);
494 printf(
"CREATE ACCEPTANCE CUTS\n");
496 accList->AddLast(kineAccCuts);
498 printf(
"CREATE RECONSTRUCTION CUTS\n");
500 recList->AddLast(recKineCuts);
501 recList->AddLast(recQualityCuts);
502 recList->AddLast(recIsPrimaryCuts);
507 printf(
"CREATE INTERFACE AND CUTS\n");
508 AliCFManager* man =
new AliCFManager() ;
509 man->SetParticleContainer(container);
510 man->SetParticleCutsList(0 , mcList);
511 man->SetParticleCutsList(1 , mcList);
512 man->SetParticleCutsList(2 , accList);
513 man->SetParticleCutsList(3 , emptyList);
514 man->SetParticleCutsList(4 , emptyList);
515 man->SetParticleCutsList(5 , emptyList);
516 man->SetParticleCutsList(6 , emptyList);
517 man->SetParticleCutsList(7 , emptyList);
518 man->SetParticleCutsList(8 , emptyList);
519 man->SetParticleCutsList(9 , emptyList);
525 ::Error(
"AddTaskCompareHF",
"No analysis manager to connect to.");
529 printf(
"CREATE TASK\n");
537 switch (lcToV0bachelorDecayMode) {
555 if (isKeepDfromB && !isKeepDfromBOnly) task->
SetDselection(2);
556 if (isKeepDfromB && isKeepDfromBOnly) task->
SetDselection(1);
558 TF1* funcWeight = 0x0;
560 funcWeight = (TF1*)fileCuts->Get(
"funcWeight");
561 if (funcWeight == 0x0){
562 Printf(
"FONLL Weights will be used");
566 Printf(
"User-defined Weights will be used. The function being:");
571 if (useNchWeight || useNtrkWeight){
574 if (isPPbData) hNchPrimaries = (TH1F*)fileCuts->Get(
"hNtrUnCorrEvWithCandWeight");
575 else hNchPrimaries = (TH1F*)fileCuts->Get(
"hGenPrimaryParticlesInelGt0");
576 hNchMeasured = (TH1F*)fileCuts->Get(
"hNchMeasured");
582 Printf(
"FATAL: Histogram for multiplicity weights not found");
590 if(estimatorFilename.EqualTo(
"") ) {
591 printf(
"Estimator file not provided, multiplicity corrected histograms will not be filled\n");
594 TFile* fileEstimator=TFile::Open(estimatorFilename.Data());
596 Printf(
"FATAL: File with multiplicity estimator not found");
607 const Char_t* periodNames[2] = {
"LHC13b",
"LHC13c"};
608 TProfile *multEstimatorAvg[2];
609 for (
Int_t ip=0; ip < 2; ip++) {
610 multEstimatorAvg[ip] = (TProfile*)(fileEstimator->Get(Form(
"SPDmult10_%s",periodNames[ip]))->Clone(Form(
"SPDmult10_%s_clone",periodNames[ip])));
611 if (!multEstimatorAvg[ip]) {
612 Printf(
"FATAL: Multiplicity estimator for %s not found! Please check your estimator file",periodNames[ip]);
620 const Char_t* periodNames[4] = {
"LHC10b",
"LHC10c",
"LHC10d",
"LHC10e"};
621 TProfile* multEstimatorAvg[4];
623 for(
Int_t ip=0; ip<4; ip++) {
624 multEstimatorAvg[ip] = (TProfile*)(fileEstimator->Get(Form(
"SPDmult10_%s",periodNames[ip]))->Clone(Form(
"SPDmult10_%s_clone",periodNames[ip])));
625 if (!multEstimatorAvg[ip]) {
626 Printf(
"FATAL: Multiplicity estimator for %s not found! Please check your estimator file",periodNames[ip]);
638 Printf(
"***************** CONTAINER SETTINGS *****************");
644 if(funcWeight) Printf(
"User-defined Weight function");
645 else Printf(
"FONLL will be used for the weights");
652 Printf(
"***************END CONTAINER SETTINGS *****************\n");
658 Bool_t AcceptanceUnf = kTRUE;
665 thnDim[0] = iBin[ipT];
666 thnDim[2] = iBin[ipT];
667 thnDim[1] = iBin[iy];
668 thnDim[3] = iBin[iy];
672 nameCorr=
"CFHFcorr0_CommonFramework_"+usercomment;
674 else if (isKeepDfromBOnly) {
675 nameCorr=
"CFHFcorr0KeepDfromBOnly_CommonFramework_"+usercomment;
678 nameCorr=
"CFHFcorr0allLc_CommonFramework_"+usercomment;
681 THnSparseD* correlation =
new THnSparseD(nameCorr,
"THnSparse with correlations",4,thnDim);
686 binEdges[0]= binLimpT;
687 binEdges[1]= binLimy;
689 correlation->SetBinEdges(0,binEdges[0]);
690 correlation->SetBinEdges(2,binEdges[0]);
692 correlation->SetBinEdges(1,binEdges[1]);
693 correlation->SetBinEdges(3,binEdges[1]);
695 correlation->Sumw2();
705 AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
709 TString outputfile = AliAnalysisManager::GetCommonFileName();
710 TString output1name=
"", output2name=
"", output3name=
"",output4name=
"";
711 output2name=nameContainer;
712 output3name=nameCorr;
714 outputfile +=
":PWG3_D2H_CFtaskLctoK0Sp_CommonFramework_"+usercomment;
715 output1name=
"CFHFchist0_CommonFramework_"+usercomment;
716 output4name=
"Cuts_CommonFramework_"+usercomment;
718 else if (isKeepDfromBOnly) {
719 outputfile +=
":PWG3_D2H_CFtaskLctoK0SpKeepDfromBOnly_CommonFramework_"+usercomment;
720 output1name=
"CFHFchist0DfromB_CommonFramework_"+usercomment;
721 output4name=
"Cuts_CommonFramework_DfromB_"+usercomment;
724 outputfile +=
":PWG3_D2H_CFtaskLctoK0SpKeepDfromB_CommonFramework_"+usercomment;
725 output1name=
"CFHFchist0allLc_CommonFramework_"+usercomment;
726 output4name=
"Cuts_CommonFramework_allLc_"+usercomment;
731 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(output1name, TH1I::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
733 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(output2name, AliCFContainer::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
735 AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(output3name, THnSparseD::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
737 AliAnalysisDataContainer *coutput4 = mgr->CreateContainer(output4name, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
741 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
742 mgr->ConnectOutput(task,1,coutput1);
743 mgr->ConnectOutput(task,2,coutput2);
744 mgr->ConnectOutput(task,3,coutput3);
745 mgr->ConnectOutput(task,4,coutput4);
Bool_t GetCentralitySelection()
const Float_t multmax_50_80
void SetWeightFunction(TF1 *func)
void SetRejectCandidateIfNotFromQuark(Bool_t opt)
void SetMultiplVsZProfileLHC10e(TProfile *hprof)
void SetCFManager(AliCFManager *io)
CORRECTION FRAMEWORK RELATED FUNCTIONS.
const Float_t multmin_0_20
fast configuration, only a subset of variables
const Float_t multmin_100_400
void SetDecayChannel(Int_t decayChannel)
Bool_t GetRejectCandidateIfNotFromQuark()
void SetFillFromGenerated(Bool_t flag)
get corr manager
void SetUseNchTrackletsWeight(Bool_t useWeight=kTRUE)
void SetUseMCVertex(Bool_t opt)
void SetMCNchHisto(TH1F *h)
slow configuration, all variables
const Float_t multmax_0_20
AliCFTaskVertexingHF * AddTaskCFVertexingHFLctoV0bachelor(const char *cutFile="./LctoV0bachelorCuts.root", Bool_t rejectIfNotFromQuark=kTRUE, Bool_t isKeepDfromB=kFALSE, Bool_t isKeepDfromBOnly=kFALSE, Int_t configuration=AliCFTaskVertexingHF::kCheetah, Int_t pdgCode=4122, Char_t isSign=2, Char_t lcToV0bachelorDecayMode=0, TString usercomment="username", Bool_t useWeight=kFALSE, Bool_t useFlatPtWeight=kFALSE, Bool_t useZWeight=kFALSE, Bool_t useNchWeight=kFALSE, Bool_t useNtrkWeight=kFALSE, TString estimatorFilename="", Int_t multiplicityEstimator=AliCFTaskVertexingHF::kNtrk10, Bool_t isPPData=kTRUE, Bool_t isPPbData=kFALSE, Double_t refMult=9.26, Bool_t isFineNtrkBin=kFALSE)
void SetMeasuredNchHisto(TH1F *h)
void SetIsPPData(Bool_t flag)
void SetIsPPbData(Bool_t flag)
const Float_t multmin_80_100
const Float_t multmax_80_100
void SetCentralitySelection(Bool_t centSelec=kTRUE)
const Float_t multmin_20_50
void SetReferenceMultiplcity(Double_t rmu)
void SetUseWeight(Bool_t useWeight)
void SetUseZvtxCorrectedNtrkEstimator(Bool_t flag)
const Float_t multmin_50_80
void SetConfiguration(Int_t configuration)
void SetDselection(UShort_t originDselection)
void SetCountLctoLambdapi()
const Float_t multmax_100_400
Float_t * GetPtBinLimits() const
TF1 * GetWeightFunction() const
void SetUseNchWeight(Bool_t useWeight)
void SetUseFlatPtWeight(Bool_t useWeight)
const Float_t multmax_20_50
void SetCorrelationMatrix(THnSparse *h)
UNFOLDING.
void SetMultiplVsZProfileLHC10b(TProfile *hprof)
void SetMultiplVsZProfileLHC10d(TProfile *hprof)
void SetSign(Char_t isSign)
Bool_t GetUseWeight() const
void SetMultiplicityEstimator(Int_t value)
void SetMultiplVsZProfileLHC13b(TProfile *hprof)
Bool_t GetFillFromGenerated() const
void SetMultiplVsZProfileLHC13c(TProfile *hprof)
void SetFakeSelection(Int_t fakeSel=0)
void SetUseZWeight(Bool_t useWeight)
void SetMultiplVsZProfileLHC10c(TProfile *hprof)