Skip to content

Commit 51a8179

Browse files
committed
[PWGCF] Add a check to compare pid v2
1 parent 3aee79b commit 51a8179

File tree

1 file changed

+29
-44
lines changed

1 file changed

+29
-44
lines changed

PWGCF/Flow/Tasks/pidFlowPtCorr.cxx

Lines changed: 29 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ struct PidFlowPtCorr {
144144

145145
O2_DEFINE_CONFIGURABLE(cfgOutPutPtSpectra, bool, false, "output pt spectra for data, MC and RECO")
146146

147+
O2_DEFINE_CONFIGURABLE(cfgCheck2MethodDiff, bool, false, "check difference between v2' && v2''")
148+
147149
/**
148150
* @brief cfg for PID pt range
149151
* @details default datas are from run2, note that separate pi-k and k-p needs to use difference pt range
@@ -431,18 +433,7 @@ struct PidFlowPtCorr {
431433
registry.add("ptSpectra/hCentEventCountMcGen", "", {HistType::kTH1D, {axisMultiplicity}});
432434
registry.add("ptSpectra/hCentEventCountMcRec", "", {HistType::kTH1D, {axisMultiplicity}});
433435

434-
// (PosEta)(PosCh)
435-
registry.add("ptSpectra/hPtCentDataPosEtaPosCh", "", {HistType::kTH2D, {cfgaxisPt, axisMultiplicity}});
436-
437-
// (PosEta)(NegCh)
438-
registry.add("ptSpectra/hPtCentDataPosEtaNegCh", "", {HistType::kTH2D, {cfgaxisPt, axisMultiplicity}});
439-
440-
// (NegEta(PosCh)
441-
registry.add("ptSpectra/hPtCentDataNegEtaPosCh", "", {HistType::kTH2D, {cfgaxisPt, axisMultiplicity}});
442-
443-
// (NegEta)(NegCh)
444-
registry.add("ptSpectra/hPtCentDataNegEtaNegCh", "", {HistType::kTH2D, {cfgaxisPt, axisMultiplicity}});
445-
436+
registry.add("ptSpectra/hPtCentData4ITSOnly", "", {HistType::kTH2D, {cfgaxisPt, axisMultiplicity}});
446437
} // cfgoutputptspectra
447438

448439
if (cfgOutputrunbyrun) {
@@ -590,7 +581,7 @@ struct PidFlowPtCorr {
590581
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiKaN refN | olKaN {2 2} refP {-2 -2}", "Kaon0gap24a", kFALSE));
591582
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiKaP refP | olKaP {2 2} refN {-2 -2}", "Kaon0gap24b", kFALSE));
592583
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiPrN refN | olPrN {2 2} refP {-2 -2}", "Prot0gap24a", kFALSE)); // 15
593-
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiPrP refP | olPaP {2 2} refN {-2 -2}", "Prot0gap24b", kFALSE));
584+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiPrP refP | olPrP {2 2} refN {-2 -2}", "Prot0gap24b", kFALSE));
594585
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiPiN08 {3} refP08 {-3}", "Pion08gap32a", kFALSE));
595586
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiPiP08 {3} refN08 {-3}", "Pion08gap32b", kFALSE));
596587
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiKaN08 {3} refP08 {-3}", "Kaon08gap32a", kFALSE));
@@ -602,7 +593,7 @@ struct PidFlowPtCorr {
602593
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiKaN refN | olKaN {3 3} refP {-3 -3}", "Kaon0gap34a", kFALSE)); // 25
603594
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiKaP refP | olKaP {3 3} refN {-3 -3}", "Kaon0gap34b", kFALSE));
604595
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiPrN refN | olPrN {3 3} refP {-3 -3}", "Prot0gap34a", kFALSE));
605-
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiPrP refP | olPaP {3 3} refN {-3 -3}", "Prot0gap34b", kFALSE));
596+
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiPrP refP | olPrP {3 3} refN {-3 -3}", "Prot0gap34b", kFALSE));
606597

607598
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiPiN08 {2} poiPiP08 {-2}", "PiPi08gap22", kFALSE));
608599
corrconfigs.push_back(fGFW->GetCorrelatorConfig("poiKaN08 {2} poiKaP08 {-2}", "KaKa08gap22", kFALSE)); // 30
@@ -813,14 +804,14 @@ struct PidFlowPtCorr {
813804
return false;
814805
}
815806

816-
void fillFC(MyParticleType type, const GFW::CorrConfig& corrconf, const double& cent, const double& rndm, const char* tarName)
807+
bool fillFC(MyParticleType type, const GFW::CorrConfig& corrconf, const double& cent, const double& rndm, const char* tarName)
817808
{
818809
double dnx, val;
819810
// calculate #sum exp{i * 0 (#phi_{i} - #phi_{j})} == N_{pairs}
820811
// note that weight is ignored in the formula but not in the calculation, for c24 is similar
821812
dnx = fGFW->Calculate(corrconf, 0, kTRUE).real();
822813
if (dnx == 0)
823-
return;
814+
return false;
824815
if (!corrconf.pTDif) {
825816
// #sum exp{i * 2 * (#phi_{i} - #phi_{j})} / N_{pairs} == < 2 >
826817
val = fGFW->Calculate(corrconf, 0, kFALSE).real() / dnx;
@@ -845,10 +836,10 @@ struct PidFlowPtCorr {
845836
LOGF(warning, "particle not found");
846837
break;
847838
}
848-
return;
839+
return true;
849840
}
850841
}
851-
return;
842+
return true;
852843
}
853844

854845
/**
@@ -1543,6 +1534,10 @@ struct PidFlowPtCorr {
15431534
continue;
15441535
// end track cut its only
15451536

1537+
if (cfgOutPutPtSpectra) {
1538+
registry.fill(HIST("ptSpectra/hPtCentData4ITSOnly"), track.pt(), cent);
1539+
}
1540+
15461541
// calculate ncharged(nch with weight) and pt
15471542
if (std::fabs(track.eta()) < trkQualityOpts.cfgRangeEta.value) {
15481543
nch += weff;
@@ -1669,22 +1664,6 @@ struct PidFlowPtCorr {
16691664
// pt spectra
16701665
if (cfgOutPutPtSpectra) {
16711666
registry.fill(HIST("ptSpectra/hPtCentData"), track.pt(), cent);
1672-
1673-
// region 1 +eta +ch
1674-
if (track.eta() > 0.05 && track.sign() > 0)
1675-
registry.fill(HIST("ptSpectra/hPtCentDataPosEtaPosCh"), track.pt(), cent);
1676-
1677-
// region 2 +eta -ch
1678-
if (track.eta() > 0.05 && track.sign() < 0)
1679-
registry.fill(HIST("ptSpectra/hPtCentDataPosEtaNegCh"), track.pt(), cent);
1680-
1681-
// region 3 -eta +ch
1682-
if (track.eta() < -0.05 && track.sign() > 0)
1683-
registry.fill(HIST("ptSpectra/hPtCentDataNegEtaPosCh"), track.pt(), cent);
1684-
1685-
// region 4 -eta -ch
1686-
if (track.eta() < -0.05 && track.sign() < 0)
1687-
registry.fill(HIST("ptSpectra/hPtCentDataNegEtaNegCh"), track.pt(), cent);
16881667
}
16891668

16901669
// fill GFW
@@ -1732,13 +1711,6 @@ struct PidFlowPtCorr {
17321711
fillFC(MyParticleType::kProton, corrconfigs.at(39), cent, rndm, "c22Full");
17331712
fillFC(MyParticleType::kProton, corrconfigs.at(40), cent, rndm, "c22Full");
17341713

1735-
fillFC(MyParticleType::kPion, corrconfigs.at(5), cent, rndm, "c22");
1736-
fillFC(MyParticleType::kPion, corrconfigs.at(6), cent, rndm, "c22");
1737-
fillFC(MyParticleType::kKaon, corrconfigs.at(7), cent, rndm, "c22");
1738-
fillFC(MyParticleType::kKaon, corrconfigs.at(8), cent, rndm, "c22");
1739-
fillFC(MyParticleType::kProton, corrconfigs.at(9), cent, rndm, "c22");
1740-
fillFC(MyParticleType::kProton, corrconfigs.at(10), cent, rndm, "c22");
1741-
17421714
fillFC(MyParticleType::kPion, corrconfigs.at(11), cent, rndm, "c24");
17431715
fillFC(MyParticleType::kPion, corrconfigs.at(12), cent, rndm, "c24");
17441716
fillFC(MyParticleType::kKaon, corrconfigs.at(13), cent, rndm, "c24");
@@ -1760,13 +1732,26 @@ struct PidFlowPtCorr {
17601732
fillFC(MyParticleType::kProton, corrconfigs.at(27), cent, rndm, "c34");
17611733
fillFC(MyParticleType::kProton, corrconfigs.at(28), cent, rndm, "c34");
17621734

1763-
fillFC(MyParticleType::kPion, corrconfigs.at(29), cent, rndm, "c22pure");
1764-
fillFC(MyParticleType::kKaon, corrconfigs.at(30), cent, rndm, "c22pure");
1765-
fillFC(MyParticleType::kProton, corrconfigs.at(31), cent, rndm, "c22pure");
1735+
bool filledPi = fillFC(MyParticleType::kPion, corrconfigs.at(29), cent, rndm, "c22pure");
1736+
bool filledKa = fillFC(MyParticleType::kKaon, corrconfigs.at(30), cent, rndm, "c22pure");
1737+
bool filledPr = fillFC(MyParticleType::kProton, corrconfigs.at(31), cent, rndm, "c22pure");
1738+
17661739
fillFC(MyParticleType::kPion, corrconfigs.at(32), cent, rndm, "c32pure");
17671740
fillFC(MyParticleType::kKaon, corrconfigs.at(33), cent, rndm, "c32pure");
17681741
fillFC(MyParticleType::kProton, corrconfigs.at(34), cent, rndm, "c32pure");
17691742

1743+
if (filledPi || !cfgCheck2MethodDiff) {
1744+
fillFC(MyParticleType::kPion, corrconfigs.at(5), cent, rndm, "c22");
1745+
fillFC(MyParticleType::kPion, corrconfigs.at(6), cent, rndm, "c22");
1746+
}
1747+
if (filledKa || !cfgCheck2MethodDiff) {
1748+
fillFC(MyParticleType::kKaon, corrconfigs.at(7), cent, rndm, "c22");
1749+
fillFC(MyParticleType::kKaon, corrconfigs.at(8), cent, rndm, "c22");
1750+
}
1751+
if (filledPr || !cfgCheck2MethodDiff) {
1752+
fillFC(MyParticleType::kProton, corrconfigs.at(9), cent, rndm, "c22");
1753+
fillFC(MyParticleType::kProton, corrconfigs.at(10), cent, rndm, "c22");
1754+
}
17701755
fillFCvnpt(MyParticleType::kCharged, corrconfigs.at(0), cent, rndm, nch, nch, "c22TrackWeight");
17711756
fillFCvnpt(MyParticleType::kCharged, corrconfigs.at(1), cent, rndm, nch, nch, "c24TrackWeight");
17721757
fillFCvnpt(MyParticleType::kCharged, corrconfigs.at(2), cent, rndm, nch, nch, "c22FullTrackWeight");

0 commit comments

Comments
 (0)