50 AliCFTaskVertexingHF *
AddTaskCFVertexingHF3Prong(
TString suffixName=
"",
const char* cutFile =
"./DplustoKpipiCuts.root",
Int_t configuration =
AliCFTaskVertexingHF::kCheetah,
Bool_t isKeepDfromB=kFALSE,
Bool_t isKeepDfromBOnly=kFALSE,
Int_t pdgCode = 411,
Char_t isSign = 2,
Bool_t useWeight=kFALSE,
TString multFile=
"",
Bool_t useNchWeight=kFALSE,
Bool_t useNtrkWeight=kFALSE,
TString estimatorFilename=
"",
Int_t multiplicityEstimator =
AliCFTaskVertexingHF::kNtrk10,
Bool_t isPPbData = kFALSE,
Double_t refMult=9.26,
Bool_t isFineNtrkBin=kFALSE,
TString multweighthistoname =
"hNtrUnCorrEvWithCandWeight")
53 printf(
"Addig CF task using cuts from file %s\n",cutFile);
55 printf(
"The configuration is set to be SLOW --> all the variables will be used to fill the CF\n");
58 printf(
"The configuration is set to be FAST --> using only pt, y, ct, phi, zvtx, centrality, fake, multiplicity to fill the CF\n");
61 printf(
"The configuration is set to be FAST --> using only pt, y, centrality, multiplicity to fill the CF\n");
64 printf(
"The configuration is not defined! returning\n");
75 if (isSign == 0 && pdgCode < 0){
76 AliError(Form(
"Error setting PDG code (%d) and sign (0 --> particle (%d) only): they are not compatible, returning",pdgCode));
79 else if (isSign == 1 && pdgCode > 0){
80 AliError(Form(
"Error setting PDG code (%d) and sign (1 --> antiparticle (%d) only): they are not compatible, returning",pdgCode));
83 else if (isSign > 2 || isSign < 0){
84 AliError(Form(
"Sign not valid (%d, possible values are 0, 1, 2), returning"));
88 TFile* fileCuts = TFile::Open(cutFile);
89 if(!fileCuts || (fileCuts && !fileCuts->IsOpen())){
90 AliFatal(
" Cut file not found");
95 if(multFile.EqualTo(
"") ) {
96 printf(
"Will not be corrected with weights \n");
98 TFile *fileMult = TFile::Open(multFile.Data());
99 if(isPPbData && multweighthistoname==
"") {
100 hMult = (TH1F*)fileMult->Get(
"hNtrUnCorrEvWithCandWeight");
102 else if(!isPPbData && multweighthistoname==
""){
103 hMult=(TH1F*)fileMult->Get(
"hGenPrimaryParticlesInelGt0");
106 hMult=(TH1F*)fileMult->Get(multweighthistoname.Data());
112 if(isKeepDfromBOnly) isKeepDfromB =
true;
140 Info(
"AliCFTaskVertexingHF",
"SETUP CONTAINER");
142 const Double_t phimax = 2*TMath::Pi();
165 printf(
"pT: nbin (from cuts file) = %d\n",nbinpt);
166 const Int_t nbiny = 24 ;
167 const Int_t nbinphi = 18 ;
168 const Int_t nbincT = 2 ;
169 const Int_t nbinpointing = 35 ;
170 const Int_t nbinpTpi_0_4 = 8 ;
171 const Int_t nbinpTpi_4_8 = 4 ;
172 const Int_t nbinpTpi_8_10 = 1 ;
173 const Int_t nbinpTk_0_4 = 8 ;
174 const Int_t nbinpTk_4_8 = 4 ;
175 const Int_t nbinpTk_8_10 = 1 ;
176 const Int_t nbinpTpi2_0_4 = 8 ;
177 const Int_t nbinpTpi2_4_8 = 4 ;
178 const Int_t nbinpTpi2_8_10 = 1 ;
179 const Int_t nbinzvtx = 30 ;
180 const Int_t nbincent = 18;
181 const Int_t nbincent_0_10 = 4;
182 const Int_t nbincent_10_60 = 10;
183 const Int_t nbincent_60_100 = 4;
184 const Int_t nbinfake = 3;
185 const Int_t nbinpointingXY = 50;
186 const Int_t nbinnormDecayLXY = 20;
187 const Int_t nbinmult = 49;
188 const Int_t nbinmult_0_20 = 20;
189 const Int_t nbinmult_20_50 = 15;
190 const Int_t nbinmult_50_80 = 10;
191 const Int_t nbinmult_80_100 = 4;
192 const Int_t nbinmult_100_400 = 3;
193 if(isPPbData) nbinmult += nbinmult_100_400;
197 Int_t nbinmultTmp=nbinmult;
199 Int_t nbinLimmultFine=100;
200 if(isPPbData) nbinLimmultFine = 200;
201 const UInt_t nbinMultFine = nbinLimmultFine;
202 binLimmultFine =
new Double_t[nbinMultFine+1];
203 for (
Int_t ibin0 = 0 ; ibin0<nbinMultFine+1; ibin0++){
204 binLimmultFine[ibin0] = ibin0;
206 nbinmultTmp=nbinLimmultFine;
208 const Int_t nbinmultTot=nbinmultTmp;
216 const UInt_t ipointing = 4;
223 const UInt_t ipointingXY = 11;
224 const UInt_t inormDecayLXY = 12;
227 const Int_t nvarTot = 14 ;
238 iBin[ipointing]=nbinpointing;
242 iBin[izvtx]=nbinzvtx;
243 iBin[icent]=nbincent;
244 iBin[ifake]=nbinfake;
245 iBin[ipointingXY]=nbinpointingXY;
246 iBin[inormDecayLXY]=nbinnormDecayLXY;
247 iBin[imult]=nbinmultTot;
277 for (
Int_t ibinpT = 0 ; ibinpT<iBin[ipT]+1; ibinpT++){
278 binLimpT[ibinpT] = (
Double_t)floatbinLimpT[ibinpT];
279 binLimpTpi[ibinpT] = (
Double_t)floatbinLimpT[ibinpT];
280 binLimpTk[ibinpT] = (
Double_t)floatbinLimpT[ibinpT];
281 binLimpTpi2[ibinpT] = (
Double_t)floatbinLimpT[ibinpT];
283 for(
Int_t i=0; i<=nbinpt; i++) printf(
"binLimpT[%d]=%f\n",i,binLimpT[i]);
334 for(
Int_t i=0; i<=nbinzvtx; i++) {
342 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for cent - 1st range - differs from expected!\n");
346 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for cent - 2st range - differs from expected!\n");
351 for(
Int_t i=0; i<=nbinfake; i++) {
364 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for mult - 1st range - differs from expected!\n");
367 if (binLimmult[nbinmult_0_20+nbinmult_20_50] !=
multmin_50_80) {
368 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for mult - 2nd range - differs from expected!\n");
371 if (binLimmult[nbinmult_0_20+nbinmult_20_50+nbinmult_50_80] !=
multmin_80_100) {
372 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for mult - 3rd range - differs from expected!\n");
375 if (binLimmult[nbinmult_0_20+nbinmult_20_50+nbinmult_50_80+nbinmult_80_100] !=
multmin_100_400) {
376 Error(
"AliCFHeavyFlavourTaskMultiVarMultiStep",
"Calculated bin lim for mult - 4th range - differs from expected!\n");
385 nameContainer=
"CFHFcontainer_DplustoKpipi_Prompt";
388 else if(isKeepDfromBOnly){
389 nameContainer=
"CFHFcontainer_DplustoKpipi_FromB";
393 nameContainer=
"CFHFcontainer_DplustoKpipi_All";
395 nameContainer += suffixName.Data();
398 AliCFContainer* container;
400 container =
new AliCFContainer(nameContainer,
"container for tracks",nstep,nvarTot,iBin);
403 container -> SetBinLimits(ipT,binLimpT);
405 container -> SetBinLimits(iy,binLimy);
407 container -> SetBinLimits(iphi,binLimphi);
409 container -> SetBinLimits(icT,binLimcT);
410 printf(
"pointing angle\n");
411 container -> SetBinLimits(ipointing,binLimpointing);
413 container -> SetBinLimits(ipTpi,binLimpTpi);
415 container -> SetBinLimits(ipTk,binLimpTk);
417 container -> SetBinLimits(ipTpi2,binLimpTpi2);
419 container -> SetBinLimits(izvtx,binLimzvtx);
421 container -> SetBinLimits(icent,binLimcent);
423 container -> SetBinLimits(ifake,binLimfake);
424 printf(
"pointingXY\n");
425 container -> SetBinLimits(ipointingXY,binLimpointingXY);
426 printf(
"normDecayLXY\n");
427 container -> SetBinLimits(inormDecayLXY,binLimnormDecayLXY);
428 printf(
"multiplicity\n");
429 if(isFineNtrkBin) container -> SetBinLimits(imult,binLimmultFine);
430 else container -> SetBinLimits(imult,binLimmult);
432 container -> SetVarTitle(ipT,
"pt");
433 container -> SetVarTitle(iy,
"y");
434 container -> SetVarTitle(iphi,
"phi");
435 container -> SetVarTitle(icT,
"ct");
436 container -> SetVarTitle(ipointing,
"pointing");
437 container -> SetVarTitle(ipTpi,
"ptpi");
438 container -> SetVarTitle(ipTk,
"ptK");
439 container -> SetVarTitle(ipTpi2,
"ptpi2");
440 container -> SetVarTitle(izvtx,
"zvtx");
441 container -> SetVarTitle(icent,
"centrality");
442 container -> SetVarTitle(ifake,
"fake");
443 container -> SetVarTitle(ipointingXY,
"piointingXY");
444 container -> SetVarTitle(inormDecayLXY,
"normDecayLXY");
445 container -> SetVarTitle(imult,
"multiplicity");
449 const Int_t nvar = 8;
454 const UInt_t iphiFast = 3;
455 const UInt_t izvtxFast = 4;
456 const UInt_t icentFast = 5;
457 const UInt_t ifakeFast = 6;
458 const UInt_t imultFast = 7;
460 Int_t iBinFast[nvar];
461 iBinFast[ipTFast] = iBin[ipT];
462 iBinFast[iyFast] = iBin[iy];
463 iBinFast[icTFast] = iBin[icT];
464 iBinFast[iphiFast] = iBin[iphi];
465 iBinFast[izvtxFast] = iBin[izvtx];
466 iBinFast[icentFast] = iBin[icent];
467 iBinFast[ifakeFast] = iBin[ifake];
468 iBinFast[imultFast] = iBin[imult];
470 container =
new AliCFContainer(nameContainer,
"container for tracks",nstep,nvar,iBinFast);
472 container -> SetBinLimits(ipTFast,binLimpT);
474 container -> SetBinLimits(iyFast,binLimy);
476 container -> SetBinLimits(icTFast,binLimcT);
478 container -> SetBinLimits(iphiFast,binLimphi);
480 container -> SetBinLimits(izvtxFast,binLimzvtx);
481 printf(
"centrality\n");
482 container -> SetBinLimits(icentFast,binLimcent);
484 container -> SetBinLimits(ifakeFast,binLimfake);
485 printf(
"multiplicity\n");
486 if(isFineNtrkBin) container -> SetBinLimits(imultFast,binLimmultFine);
487 else container -> SetBinLimits(imultFast,binLimmult);
489 container -> SetVarTitle(ipTFast,
"pt");
490 container -> SetVarTitle(iyFast,
"y");
491 container -> SetVarTitle(icTFast,
"ct");
492 container -> SetVarTitle(iphiFast,
"phi");
493 container -> SetVarTitle(izvtxFast,
"zvtx");
494 container -> SetVarTitle(icentFast,
"centrality");
495 container -> SetVarTitle(ifakeFast,
"fake");
496 container -> SetVarTitle(imultFast,
"multiplicity");
500 const Int_t nvar = 4;
502 const UInt_t ipTSuperFast = 0;
503 const UInt_t iySuperFast = 1;
504 const UInt_t icentSuperFast = 2;
505 const UInt_t imultSuperFast = 3;
507 Int_t iBinSuperFast[nvar];
508 iBinSuperFast[ipTSuperFast] = iBin[ipT];
509 iBinSuperFast[iySuperFast] = iBin[iy];
510 iBinSuperFast[icentSuperFast] = iBin[icent];
511 iBinSuperFast[imultSuperFast] = iBin[imult];
513 container =
new AliCFContainer(nameContainer,
"container for tracks",nstep,nvar,iBinSuperFast);
515 container -> SetBinLimits(ipTSuperFast,binLimpT);
517 container -> SetBinLimits(iySuperFast,binLimy);
518 printf(
"centrality\n");
519 container -> SetBinLimits(icentSuperFast,binLimcent);
520 printf(
"multiplicity\n");
521 if(isFineNtrkBin) container -> SetBinLimits(imultSuperFast,binLimmultFine);
522 else container -> SetBinLimits(imultSuperFast,binLimmult);
524 container -> SetVarTitle(ipTSuperFast,
"pt");
525 container -> SetVarTitle(iySuperFast,
"y");
526 container -> SetVarTitle(icentSuperFast,
"centrality");
527 container -> SetVarTitle(imultSuperFast,
"multiplicity");
532 container -> SetStepTitle(0,
"MCLimAcc");
533 container -> SetStepTitle(1,
"MC");
534 container -> SetStepTitle(2,
"MCAcc");
535 container -> SetStepTitle(3,
"RecoVertex");
536 container -> SetStepTitle(4,
"RecoRefit");
537 container -> SetStepTitle(5,
"Reco");
538 container -> SetStepTitle(6,
"RecoAcc");
539 container -> SetStepTitle(7,
"RecoITSCluster");
540 container -> SetStepTitle(8,
"RecoCuts");
541 container -> SetStepTitle(9,
"RecoPID");
547 AliCFTrackKineCuts *mcKineCuts =
new AliCFTrackKineCuts(
"mcKineCuts",
"MC-level kinematic cuts");
550 AliCFParticleGenCuts* mcGenCuts =
new AliCFParticleGenCuts(
"mcGenCuts",
"MC particle generation cuts");
551 Bool_t useAbsolute = kTRUE;
553 useAbsolute = kFALSE;
555 mcGenCuts->SetRequirePdgCode(pdgCode, useAbsolute);
556 mcGenCuts->SetAODMC(1);
559 AliCFAcceptanceCuts* accCuts =
new AliCFAcceptanceCuts(
"accCuts",
"Acceptance cuts");
560 AliCFTrackKineCuts *kineAccCuts =
new AliCFTrackKineCuts(
"kineAccCuts",
"Kine-Acceptance cuts");
565 AliCFTrackKineCuts *recKineCuts =
new AliCFTrackKineCuts(
"recKineCuts",
"rec-level kine cuts");
567 AliCFTrackQualityCuts *recQualityCuts =
new AliCFTrackQualityCuts(
"recQualityCuts",
"rec-level quality cuts");
569 AliCFTrackIsPrimaryCuts *recIsPrimaryCuts =
new AliCFTrackIsPrimaryCuts(
"recIsPrimaryCuts",
"rec-level isPrimary cuts");
571 printf(
"CREATE MC KINE CUTS\n");
573 mcList->AddLast(mcKineCuts);
574 mcList->AddLast(mcGenCuts);
576 printf(
"CREATE ACCEPTANCE CUTS\n");
578 accList->AddLast(kineAccCuts);
580 printf(
"CREATE RECONSTRUCTION CUTS\n");
582 recList->AddLast(recKineCuts);
583 recList->AddLast(recQualityCuts);
584 recList->AddLast(recIsPrimaryCuts);
589 printf(
"CREATE INTERFACE AND CUTS\n");
590 AliCFManager* man =
new AliCFManager() ;
591 man->SetParticleContainer(container);
592 man->SetParticleCutsList(0 , mcList);
593 man->SetParticleCutsList(1 , mcList);
594 man->SetParticleCutsList(2 , accList);
595 man->SetParticleCutsList(3 , emptyList);
596 man->SetParticleCutsList(4 , emptyList);
597 man->SetParticleCutsList(5 , emptyList);
598 man->SetParticleCutsList(6 , emptyList);
599 man->SetParticleCutsList(7 , emptyList);
600 man->SetParticleCutsList(8 , emptyList);
601 man->SetParticleCutsList(9 , emptyList);
607 ::Error(
"AddTaskCompareHF",
"No analysis manager to connect to.");
611 printf(
"CREATE TASK\n");
626 if(useNchWeight || useNtrkWeight){
629 AliFatal(
"Histogram for multiplicity weights not found");
638 if (isKeepDfromB && !isKeepDfromBOnly) task->
SetDselection(2);
639 if (isKeepDfromB && isKeepDfromBOnly) task->
SetDselection(1);
641 TF1* funcWeight = 0x0;
643 funcWeight = (TF1*)fileCuts->Get(
"funcWeight");
644 if (funcWeight == 0x0){
645 Printf(
"FONLL Weights will be used");
649 Printf(
"User-defined Weights will be used. The function being:");
655 if(estimatorFilename.EqualTo(
"") ) {
656 printf(
"Estimator file not provided, multiplicity corrected histograms will not be filled\n");
659 TFile* fileEstimator=TFile::Open(estimatorFilename.Data());
661 AliFatal(
"File with multiplicity estimator not found");
668 const Char_t* periodNames[2] = {
"LHC13b",
"LHC13c"};
669 TProfile *multEstimatorAvg[2];
670 for (
Int_t ip=0; ip < 2; ip++) {
671 multEstimatorAvg[ip] = (TProfile*)(fileEstimator->Get(Form(
"SPDmult10_%s",periodNames[ip]))->Clone(Form(
"SPDmult10_%s_clone",periodNames[ip])));
672 if (!multEstimatorAvg[ip]) {
673 AliFatal(Form(
"Multiplicity estimator for %s not found! Please check your estimator file",periodNames[ip]));
681 const Char_t* periodNames[4] = {
"LHC10b",
"LHC10c",
"LHC10d",
"LHC10e"};
682 TProfile* multEstimatorAvg[4];
684 for(
Int_t ip=0; ip<4; ip++) {
685 multEstimatorAvg[ip] = (TProfile*)(fileEstimator->Get(Form(
"SPDmult10_%s",periodNames[ip]))->Clone(Form(
"SPDmult10_%s_clone",periodNames[ip])));
686 if (!multEstimatorAvg[ip]) {
687 AliFatal(Form(
"Multiplicity estimator for %s not found! Please check your estimator file",periodNames[ip]));
698 Printf(
"***************** CONTAINER SETTINGS *****************");
707 Printf(
"***************END CONTAINER SETTINGS *****************\n");
713 Bool_t AcceptanceUnf = kTRUE;
720 thnDim[0] = iBin[ipT];
721 thnDim[2] = iBin[ipT];
722 thnDim[1] = iBin[iy];
723 thnDim[3] = iBin[iy];
727 nameCorr=
"CFHFcorr_DplustoKpipi_Prompt";
729 else if(isKeepDfromBOnly){
730 nameCorr=
"CFHFcorr_DplustoKpipi_FromB";
733 nameCorr=
"CFHFcorr_DplustoKpipi_All";
735 nameCorr += suffixName.Data();
738 THnSparseD* correlation =
new THnSparseD(nameCorr,
"THnSparse with correlations",4,thnDim);
743 binEdges[0]= binLimpT;
744 binEdges[1]= binLimy;
746 correlation->SetBinEdges(0,binEdges[0]);
747 correlation->SetBinEdges(2,binEdges[0]);
749 correlation->SetBinEdges(1,binEdges[1]);
750 correlation->SetBinEdges(3,binEdges[1]);
752 correlation->Sumw2();
762 AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
766 TString outputfile = AliAnalysisManager::GetCommonFileName();
767 TString output1name=
"", output2name=
"", output3name=
"", output4name=
"", output5name=
"";
768 output2name=nameContainer;
769 output3name=nameCorr;
770 output5name=
"coutProfDp";
772 outputfile +=
":PWG3_D2H_CFtaskDplustoKpipi_Prompt";
773 output1name=
"CFHFhist_DplustoKpipi_Prompt";
774 output3name+=
"_Prompt";
775 output4name=
"Cuts_DplustoKpipi_Prompt";
776 output5name+=
"_Prompt";
778 else if(isKeepDfromBOnly){
779 outputfile +=
":PWG3_D2H_CFtaskDplustoKpipi_FromB";
780 output1name=
"CFHFhist_DplustoKpipi_FromB";
781 output3name+=
"_FromB";
782 output4name=
"Cuts_DplustoKpipi_FromB";
783 output5name+=
"_FromB";
786 outputfile +=
":PWG3_D2H_CFtaskDplustoKpipi_All";
787 output1name=
"CFHFhist_DplustoKpipi_All";
789 output4name=
"Cuts_DplustoKpipi_All";
792 outputfile += suffixName.Data();
793 output1name += suffixName.Data();
794 output4name += suffixName.Data();
795 output5name += suffixName.Data();
799 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(output1name, TH1I::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
801 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(output2name, AliCFContainer::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
803 AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(output3name, THnSparseD::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
804 AliAnalysisDataContainer *coutput4 = mgr->CreateContainer(output4name, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
806 AliAnalysisDataContainer *coutput5 = mgr->CreateContainer(output5name, TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
810 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
811 mgr->ConnectOutput(task,1,coutput1);
812 mgr->ConnectOutput(task,2,coutput2);
813 mgr->ConnectOutput(task,3,coutput3);
814 mgr->ConnectOutput(task,4,coutput4);
815 mgr->ConnectOutput(task,5,coutput5);
Bool_t GetCentralitySelection()
const Float_t multmax_100_400
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
const Float_t multmax_80_100
void SetDecayChannel(Int_t decayChannel)
const Float_t multmax_0_20
const Float_t centmin_60_100
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)
const Float_t centmin_0_10
const Float_t normDecLXYmin
const Int_t minITSClusters
const Float_t centmin_10_60
const Float_t centmax_10_60
Class for cuts on AOD reconstructed D+->Kpipi.
fast configuration, only a subset of variables
void SetIsPPbData(Bool_t flag)
const Float_t multmax_20_50
void SetCentralitySelection(Bool_t centSelec=kTRUE)
const Float_t multmax_50_80
const Float_t normDecLXYmax
slow configuration, all variables
void SetReferenceMultiplcity(Double_t rmu)
void SetUseWeight(Bool_t useWeight)
const Int_t minclustersTPC
void SetUseZvtxCorrectedNtrkEstimator(Bool_t flag)
AliCFTaskVertexingHF * AddTaskCFVertexingHF3Prong(TString suffixName="", const char *cutFile="./DplustoKpipiCuts.root", Int_t configuration=AliCFTaskVertexingHF::kCheetah, Bool_t isKeepDfromB=kFALSE, Bool_t isKeepDfromBOnly=kFALSE, Int_t pdgCode=411, Char_t isSign=2, Bool_t useWeight=kFALSE, TString multFile="", Bool_t useNchWeight=kFALSE, Bool_t useNtrkWeight=kFALSE, TString estimatorFilename="", Int_t multiplicityEstimator=AliCFTaskVertexingHF::kNtrk10, Bool_t isPPbData=kFALSE, Double_t refMult=9.26, Bool_t isFineNtrkBin=kFALSE, TString multweighthistoname="hNtrUnCorrEvWithCandWeight")
const Float_t multmin_100_400
const Int_t mintrackrefsITS
void SetConfiguration(Int_t configuration)
void SetDselection(UShort_t originDselection)
Float_t * GetPtBinLimits() const
TF1 * GetWeightFunction() const
void SetUseNchWeight(Bool_t useWeight)
void SetCorrelationMatrix(THnSparse *h)
UNFOLDING.
void SetMultiplVsZProfileLHC10b(TProfile *hprof)
void SetMultiplVsZProfileLHC10d(TProfile *hprof)
const Float_t multmin_50_80
void SetSign(Char_t isSign)
const Float_t centmax_0_10
Bool_t GetUseWeight() const
const Float_t multmin_80_100
void SetMultiplicityEstimator(Int_t value)
void SetMultiplVsZProfileLHC13b(TProfile *hprof)
Bool_t GetFillFromGenerated() const
void SetMultiplVsZProfileLHC13c(TProfile *hprof)
const Float_t multmin_20_50
const Float_t centmax_60_100
const Int_t mintrackrefsTPC
void SetFakeSelection(Int_t fakeSel=0)
void SetMultiplVsZProfileLHC10c(TProfile *hprof)