Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 39 additions & 39 deletions PWGHF/TableProducer/candidateCreator3Prong.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ struct HfCandidateCreator3Prong {
int runNumber{0};
double bz{0.};

const float toMicrometers = 10000.; // from cm to µm
constexpr static float CentiToMicro{10000.f}; // from cm to µm
constexpr static float UndefValueFloat{-999.f};

using FilteredHf3Prongs = soa::Filtered<aod::Hf3Prongs>;
Expand Down Expand Up @@ -226,10 +226,10 @@ struct HfCandidateCreator3Prong {
// Configure DCAFitterN
// df.setBz(bz);
df.setPropagateToPCA(propagateToPCA);
df.setMaxR(maxR);
df.setMaxDZIni(maxDZIni);
df.setMinParamChange(minParamChange);
df.setMinRelChi2Change(minRelChi2Change);
df.setMaxR(static_cast<float>(maxR));
df.setMaxDZIni(static_cast<float>(maxDZIni));
df.setMinParamChange(static_cast<float>(minParamChange));
df.setMinRelChi2Change(static_cast<float>(minRelChi2Change));
df.setUseAbsDCA(useAbsDCA);
df.setWeightedFinalPCA(useWeightedFinalPCA);

Expand Down Expand Up @@ -307,7 +307,7 @@ struct HfCandidateCreator3Prong {
// df.setBz(bz); /// put it outside the 'if'! Otherwise we have a difference wrt bz Configurable (< 1 permille) in Run2 conv. data
// df.print();
}
df.setBz(bz);
df.setBz(static_cast<float>(bz));

// reconstruct the 3-prong secondary vertex
hCandidates->Fill(SVFitting::BeforeFit);
Expand Down Expand Up @@ -371,15 +371,15 @@ struct HfCandidateCreator3Prong {
trackParVar0.propagateToDCA(primaryVertex, bz, &impactParameter0);
trackParVar1.propagateToDCA(primaryVertex, bz, &impactParameter1);
trackParVar2.propagateToDCA(primaryVertex, bz, &impactParameter2);
registry.fill(HIST("hDcaXYProngs"), track0.pt(), impactParameter0.getY() * toMicrometers);
registry.fill(HIST("hDcaXYProngs"), track1.pt(), impactParameter1.getY() * toMicrometers);
registry.fill(HIST("hDcaXYProngs"), track2.pt(), impactParameter2.getY() * toMicrometers);
registry.fill(HIST("hDcaZProngs"), track0.pt(), impactParameter0.getZ() * toMicrometers);
registry.fill(HIST("hDcaZProngs"), track1.pt(), impactParameter1.getZ() * toMicrometers);
registry.fill(HIST("hDcaZProngs"), track2.pt(), impactParameter2.getZ() * toMicrometers);
registry.fill(HIST("hDcaXYProngs"), track0.pt(), impactParameter0.getY() * CentiToMicro);
registry.fill(HIST("hDcaXYProngs"), track1.pt(), impactParameter1.getY() * CentiToMicro);
registry.fill(HIST("hDcaXYProngs"), track2.pt(), impactParameter2.getY() * CentiToMicro);
registry.fill(HIST("hDcaZProngs"), track0.pt(), impactParameter0.getZ() * CentiToMicro);
registry.fill(HIST("hDcaZProngs"), track1.pt(), impactParameter1.getZ() * CentiToMicro);
registry.fill(HIST("hDcaZProngs"), track2.pt(), impactParameter2.getZ() * CentiToMicro);

// get uncertainty of the decay length
double phi, theta;
double phi{}, theta{};
getPointDirection(std::array{primaryVertex.getX(), primaryVertex.getY(), primaryVertex.getZ()}, secondaryVertex, phi, theta);
auto errorDecayLength = std::sqrt(getRotatedCovMatrixXX(covMatrixPV, phi, theta) + getRotatedCovMatrixXX(covMatrixPCA, phi, theta));
auto errorDecayLengthXY = std::sqrt(getRotatedCovMatrixXX(covMatrixPV, phi, 0.) + getRotatedCovMatrixXX(covMatrixPCA, phi, 0.));
Expand Down Expand Up @@ -481,7 +481,7 @@ struct HfCandidateCreator3Prong {
}
float covMatrixPV[6];

KFParticle::SetField(bz);
KFParticle::SetField(static_cast<float>(bz));
KFPVertex kfpVertex = createKFPVertexFromCollision(collision);

if constexpr (DoPvRefit) {
Expand Down Expand Up @@ -513,22 +513,22 @@ struct HfCandidateCreator3Prong {

float impactParameter0XY = 0., errImpactParameter0XY = 0., impactParameter1XY = 0., errImpactParameter1XY = 0., impactParameter2XY = 0., errImpactParameter2XY = 0.;
if (!kfFirstProton.GetDistanceFromVertexXY(kfpV, impactParameter0XY, errImpactParameter0XY)) {
registry.fill(HIST("hDcaXYProngs"), track0.pt(), impactParameter0XY * toMicrometers);
registry.fill(HIST("hDcaZProngs"), track0.pt(), std::sqrt(kfFirstProton.GetDistanceFromVertex(kfpV) * kfFirstProton.GetDistanceFromVertex(kfpV) - impactParameter0XY * impactParameter0XY) * toMicrometers);
registry.fill(HIST("hDcaXYProngs"), track0.pt(), impactParameter0XY * CentiToMicro);
registry.fill(HIST("hDcaZProngs"), track0.pt(), std::sqrt(kfFirstProton.GetDistanceFromVertex(kfpV) * kfFirstProton.GetDistanceFromVertex(kfpV) - impactParameter0XY * impactParameter0XY) * CentiToMicro);
} else {
registry.fill(HIST("hDcaXYProngs"), track0.pt(), UndefValueFloat);
registry.fill(HIST("hDcaZProngs"), track0.pt(), UndefValueFloat);
}
if (!kfSecondKaon.GetDistanceFromVertexXY(kfpV, impactParameter1XY, errImpactParameter1XY)) {
registry.fill(HIST("hDcaXYProngs"), track1.pt(), impactParameter1XY * toMicrometers);
registry.fill(HIST("hDcaZProngs"), track1.pt(), std::sqrt(kfSecondKaon.GetDistanceFromVertex(kfpV) * kfSecondKaon.GetDistanceFromVertex(kfpV) - impactParameter1XY * impactParameter1XY) * toMicrometers);
registry.fill(HIST("hDcaXYProngs"), track1.pt(), impactParameter1XY * CentiToMicro);
registry.fill(HIST("hDcaZProngs"), track1.pt(), std::sqrt(kfSecondKaon.GetDistanceFromVertex(kfpV) * kfSecondKaon.GetDistanceFromVertex(kfpV) - impactParameter1XY * impactParameter1XY) * CentiToMicro);
} else {
registry.fill(HIST("hDcaXYProngs"), track1.pt(), UndefValueFloat);
registry.fill(HIST("hDcaZProngs"), track1.pt(), UndefValueFloat);
}
if (!kfThirdProton.GetDistanceFromVertexXY(kfpV, impactParameter2XY, errImpactParameter2XY)) {
registry.fill(HIST("hDcaXYProngs"), track2.pt(), impactParameter2XY * toMicrometers);
registry.fill(HIST("hDcaZProngs"), track2.pt(), std::sqrt(kfThirdProton.GetDistanceFromVertex(kfpV) * kfThirdProton.GetDistanceFromVertex(kfpV) - impactParameter2XY * impactParameter2XY) * toMicrometers);
registry.fill(HIST("hDcaXYProngs"), track2.pt(), impactParameter2XY * CentiToMicro);
registry.fill(HIST("hDcaZProngs"), track2.pt(), std::sqrt(kfThirdProton.GetDistanceFromVertex(kfpV) * kfThirdProton.GetDistanceFromVertex(kfpV) - impactParameter2XY * impactParameter2XY) * CentiToMicro);
} else {
registry.fill(HIST("hDcaXYProngs"), track2.pt(), UndefValueFloat);
registry.fill(HIST("hDcaZProngs"), track2.pt(), UndefValueFloat);
Expand Down Expand Up @@ -604,14 +604,14 @@ struct HfCandidateCreator3Prong {
const float massPiK = kfPairPiK.GetMass();

if (applyInvMassConstraint) { // constraints applied after minv getters - to preserve unbiased values of minv
kfCandPKPi.SetNonlinearMassConstraint(createLc ? MassLambdaCPlus : MassXiCPlus);
kfCandPiKP.SetNonlinearMassConstraint(createLc ? MassLambdaCPlus : MassXiCPlus);
kfCandPiKPi.SetNonlinearMassConstraint(MassDPlus);
kfCandKKPi.SetNonlinearMassConstraint(MassDS);
kfCandPiKK.SetNonlinearMassConstraint(MassDS);
kfCandPKPi.SetNonlinearMassConstraint(createLc ? static_cast<float>(MassLambdaCPlus) : static_cast<float>(MassXiCPlus));
kfCandPiKP.SetNonlinearMassConstraint(createLc ? static_cast<float>(MassLambdaCPlus) : static_cast<float>(MassXiCPlus));
kfCandPiKPi.SetNonlinearMassConstraint(static_cast<float>(MassDPlus));
kfCandKKPi.SetNonlinearMassConstraint(static_cast<float>(MassDS));
kfCandPiKK.SetNonlinearMassConstraint(static_cast<float>(MassDS));
}

const float chi2geo = kfCandPKPi.Chi2() / kfCandPKPi.NDF();
const float chi2geo = kfCandPKPi.Chi2() / static_cast<float>(kfCandPKPi.NDF());
const std::pair<float, float> ldl = kfCalculateLdL(kfCandPKPi, kfpV);

std::array<float, 3> pProng0 = kfCalculateProngMomentumInSecondaryVertex(kfFirstProton, kfCandPiKP);
Expand All @@ -624,7 +624,7 @@ struct HfCandidateCreator3Prong {
registry.fill(HIST("hCovSVZZ"), kfCandPKPi.Covariance(2, 2));

auto* covMatrixSV = kfCandPKPi.CovarianceMatrix();
double phi, theta;
double phi{}, theta{};
getPointDirection(std::array{kfpV.GetX(), kfpV.GetY(), kfpV.GetZ()}, std::array{kfCandPKPi.GetX(), kfCandPKPi.GetY(), kfCandPKPi.GetZ()}, phi, theta);
auto errorDecayLength = std::sqrt(getRotatedCovMatrixXX(covMatrixPV, phi, theta) + getRotatedCovMatrixXX(covMatrixSV, phi, theta));
auto errorDecayLengthXY = std::sqrt(getRotatedCovMatrixXX(covMatrixPV, phi, 0.) + getRotatedCovMatrixXX(covMatrixSV, phi, 0.));
Expand All @@ -647,7 +647,7 @@ struct HfCandidateCreator3Prong {
kfpV.GetX(), kfpV.GetY(), kfpV.GetZ(),
kfCandPKPi.GetX(), kfCandPKPi.GetY(), kfCandPKPi.GetZ(),
errorDecayLength, errorDecayLengthXY,
kfCandPKPi.GetChi2() / kfCandPKPi.GetNDF(),
kfCandPKPi.GetChi2() / static_cast<float>(kfCandPKPi.GetNDF()),
pProng0.at(0), pProng0.at(1), pProng0.at(2),
pProng1.at(0), pProng1.at(1), pProng1.at(2),
pProng2.at(0), pProng2.at(1), pProng2.at(2),
Expand Down Expand Up @@ -904,7 +904,7 @@ struct HfCandidateCreator3Prong {
const auto bc = collision.template foundBC_as<aod::BCsWithTimestamps>();
const auto ir = hfEvSel.getInteractionRate(bc, ccdb); // Hz
/// monitor the satisfied event selections
hfEvSel.fillHistograms(collision, rejectionMask, centrality, occupancy, ir);
hfEvSel.fillHistograms(collision, rejectionMask, centrality, occupancy, static_cast<float>(ir));

} /// end loop over collisions
}
Expand All @@ -923,7 +923,7 @@ struct HfCandidateCreator3Prong {
const auto bc = collision.template foundBC_as<aod::BCsWithTimestamps>();
const auto ir = hfEvSel.getInteractionRate(bc, ccdb); // Hz
/// monitor the satisfied event selections
hfEvSel.fillHistograms(collision, rejectionMask, centrality, occupancy, ir);
hfEvSel.fillHistograms(collision, rejectionMask, centrality, occupancy, static_cast<float>(ir));

} /// end loop over collisions
}
Expand All @@ -942,7 +942,7 @@ struct HfCandidateCreator3Prong {
const auto bc = collision.template foundBC_as<aod::BCsWithTimestamps>();
const auto ir = hfEvSel.getInteractionRate(bc, ccdb); // Hz
/// monitor the satisfied event selections
hfEvSel.fillHistograms(collision, rejectionMask, centrality, occupancy, ir);
hfEvSel.fillHistograms(collision, rejectionMask, centrality, occupancy, static_cast<float>(ir));

} /// end loop over collisions
}
Expand All @@ -966,7 +966,7 @@ struct HfCandidateCreator3Prong {
const auto bc = collision.template foundBC_as<aod::BcFullInfos>();
const auto ir = hfEvSel.getInteractionRate(bc, ccdb); // Hz
/// monitor the satisfied event selections
hfEvSel.fillHistograms(collision, rejectionMask, centrality, occupancy, ir);
hfEvSel.fillHistograms(collision, rejectionMask, centrality, occupancy, static_cast<float>(ir));

} /// end loop over collisions
}
Expand Down Expand Up @@ -1132,7 +1132,7 @@ struct HfCandidateCreator3ProngExpressions {
return;
}
if (indexRec > -1) {
flagChannelMain = sign * channelMain;
flagChannelMain = static_cast<int8_t>(sign * channelMain);

/// swapping for D+, Ds->Kpipi; Lc, Xic->pKpi
if (std::abs(flagChannelMain) == DecayChannelMain::DplusToPiKK || std::abs(flagChannelMain) == DecayChannelMain::DsToPiKK || std::abs(flagChannelMain) == DecayChannelMain::LcToPKPi || std::abs(flagChannelMain) == DecayChannelMain::XicToPKPi) {
Expand Down Expand Up @@ -1185,7 +1185,7 @@ struct HfCandidateCreator3ProngExpressions {
indexRec = RecoDecay::getMatchedMCRec(mcParticles, arrayDaughters, Pdg::kDPlus, arrPdgDaughtersDplusToPiKPi, true, &sign, 2);
}
if (indexRec > -1) {
flagChannelMain = sign * DecayChannelMain::DplusToPiKPi;
flagChannelMain = static_cast<int8_t>(sign * DecayChannelMain::DplusToPiKPi);
}
}

Expand Down Expand Up @@ -1215,7 +1215,7 @@ struct HfCandidateCreator3ProngExpressions {
}
}
if (indexRec > -1) {
flagChannelMain = sign * (isDplus ? DecayChannelMain::DplusToPiKK : DecayChannelMain::DsToPiKK);
flagChannelMain = sign * (isDplus ? static_cast<int8_t>(DecayChannelMain::DplusToPiKK) : static_cast<int8_t>(DecayChannelMain::DsToPiKK));
if (arrayDaughters[0].has_mcParticle()) {
swapping = static_cast<int8_t>(std::abs(arrayDaughters[0].mcParticle().pdgCode()) == kPiPlus);
}
Expand Down Expand Up @@ -1243,7 +1243,7 @@ struct HfCandidateCreator3ProngExpressions {
indexRec = RecoDecay::getMatchedMCRec(mcParticles, arrayDaughters, Pdg::kDStar, arrPdgDaughtersDstarToPiKPi, true, &sign, 2);
}
if (indexRec > -1) {
flagChannelMain = sign * DecayChannelMain::DstarToPiKPi;
flagChannelMain = static_cast<int8_t>(sign * DecayChannelMain::DstarToPiKPi);
flagChannelResonant = 0;
}
}
Expand All @@ -1261,7 +1261,7 @@ struct HfCandidateCreator3ProngExpressions {
indexRec = RecoDecay::getMatchedMCRec(mcParticles, arrayDaughters, Pdg::kLambdaCPlus, arrPdgDaughtersLcToPKPi, true, &sign, 2);
}
if (indexRec > -1) {
flagChannelMain = sign * DecayChannelMain::LcToPKPi;
flagChannelMain = static_cast<int8_t>(sign * DecayChannelMain::LcToPKPi);

// Flagging the different Λc± → p± K∓ π± decay channels
if (arrayDaughters[0].has_mcParticle()) {
Expand Down Expand Up @@ -1297,7 +1297,7 @@ struct HfCandidateCreator3ProngExpressions {
indexRec = RecoDecay::getMatchedMCRec(mcParticles, arrayDaughters, Pdg::kXiCPlus, arrPdgDaughtersXicToPKPi, true, &sign, 2);
}
if (indexRec > -1) {
flagChannelMain = sign * DecayChannelMain::XicToPKPi;
flagChannelMain = static_cast<int8_t>(sign * DecayChannelMain::XicToPKPi);
flagChannelResonant = 0; // TODO
if (arrayDaughters[0].has_mcParticle()) {
swapping = static_cast<int8_t>(std::abs(arrayDaughters[0].mcParticle().pdgCode()) == kPiPlus);
Expand All @@ -1309,7 +1309,7 @@ struct HfCandidateCreator3ProngExpressions {
// Check whether the particle is non-prompt (from a b quark).
if (flagChannelMain != 0) {
auto particle = mcParticles.rawIteratorAt(indexRec);
origin = RecoDecay::getCharmHadronOrigin(mcParticles, particle, false, &idxBhadMothers);
origin = static_cast<int8_t>(RecoDecay::getCharmHadronOrigin(mcParticles, particle, false, &idxBhadMothers));
}
if (origin == RecoDecay::OriginType::NonPrompt) {
auto bHadMother = mcParticles.rawIteratorAt(idxBhadMothers[0]);
Expand Down
10 changes: 6 additions & 4 deletions PWGHF/TableProducer/candidateCreatorXic0Omegac0.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
#include <Framework/HistogramSpec.h>
#include <Framework/InitContext.h>
#include <Framework/Logger.h>
#include <Framework/O2DatabasePDGPlugin.h>
#include <Framework/RunningWorkflowInfo.h>
#include <Framework/runDataProcessing.h>
#include <ReconstructionDataFormats/DCA.h>
Expand Down Expand Up @@ -144,6 +145,7 @@ struct HfCandidateCreatorXic0Omegac0 {
HfEventSelection hfEvSel; // event selection and monitoring
o2::vertexing::DCAFitterN<2> df; // 2-prong vertex fitter to build the omegac/xic vertex
Service<o2::ccdb::BasicCCDBManager> ccdb;
Service<o2::framework::O2DatabasePDG> pdgdb;
o2::base::MatLayerCylSet* lut{};
o2::base::Propagator::MatCorrType matCorr = o2::base::Propagator::MatCorrType::USEMatCorrLUT;
int runNumber{-1};
Expand Down Expand Up @@ -1124,7 +1126,7 @@ struct HfCandidateCreatorXic0Omegac0 {
kfOmegac0Candidate.rapOmegac = kfOmegaC0.GetRapidity();

// KF cosThetaStar
kfOmegac0Candidate.cosThetaStarPiFromOmegac = cosThetaStarFromKF(0, 4332, 211, 3312, kfBachPionToOmegaC, kfOmegaToOmegaC);
kfOmegac0Candidate.cosThetaStarPiFromOmegac = cosThetaStarFromKF(0, 4332, 211, 3312, kfBachPionToOmegaC, kfOmegaToOmegaC, pdgdb);

// KF ct
kfOmegac0Candidate.ctV0 = kfV0.GetLifeTime();
Expand Down Expand Up @@ -1588,7 +1590,7 @@ struct HfCandidateCreatorXic0Omegac0 {
kfXic0Candidate.rapXic = kfXiC0.GetRapidity();

// KF cosThetaStar
kfXic0Candidate.cosThetaStarPiFromXic = cosThetaStarFromKF(0, 4132, 211, 3312, kfCharmBachPionToXiC, kfXiToXiC);
kfXic0Candidate.cosThetaStarPiFromXic = cosThetaStarFromKF(0, 4132, 211, 3312, kfCharmBachPionToXiC, kfXiToXiC, pdgdb);

// KF ct
kfXic0Candidate.ctV0 = kfV0ToCasc.GetLifeTime();
Expand Down Expand Up @@ -1950,8 +1952,8 @@ struct HfCandidateCreatorXic0Omegac0 {
float const ptOmega = kfOmega.GetPt();

// KF cosThetaStar
float const cosThetaStarKaFromOmegac = cosThetaStarFromKF(0, 4332, 321, 3334, kfKaFromCharmToOmegaKa, kfOmegaToOmegaKa);
float const cosThetaStarKaFromXic = cosThetaStarFromKF(0, 4132, 321, 3334, kfKaFromCharmToOmegaKa, kfOmegaToOmegaKa);
float const cosThetaStarKaFromOmegac = cosThetaStarFromKF(0, 4332, 321, 3334, kfKaFromCharmToOmegaKa, kfOmegaToOmegaKa, pdgdb);
float const cosThetaStarKaFromXic = cosThetaStarFromKF(0, 4132, 321, 3334, kfKaFromCharmToOmegaKa, kfOmegaToOmegaKa, pdgdb);

// KF ct
float const ctV0 = kfV0ToOmega.GetLifeTime();
Expand Down
24 changes: 12 additions & 12 deletions PWGHF/TableProducer/candidateSelectorLc.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -133,13 +133,13 @@ struct HfCandidateSelectorLc {
LOGP(fatal, "One and only one process function must be enabled at a time.");
}

selectorPion.setRangePtTpc(ptPidTpcMin, ptPidTpcMax);
selectorPion.setRangeNSigmaTpc(-nSigmaTpcMax, nSigmaTpcMax);
selectorPion.setRangeNSigmaTpcCondTof(-nSigmaTpcCombinedMax, nSigmaTpcCombinedMax);
selectorPion.setRangePtTof(ptPidTofMin, ptPidTofMax);
selectorPion.setRangeNSigmaTof(-nSigmaTofMax, nSigmaTofMax);
selectorPion.setRangeNSigmaTofCondTpc(-nSigmaTofCombinedMax, nSigmaTofCombinedMax);
selectorPion.setRangePtBayes(ptPidBayesMin, ptPidBayesMax);
selectorPion.setRangePtTpc(static_cast<float>(ptPidTpcMin), static_cast<float>(ptPidTpcMax));
selectorPion.setRangeNSigmaTpc(-static_cast<float>(nSigmaTpcMax), static_cast<float>(nSigmaTpcMax));
selectorPion.setRangeNSigmaTpcCondTof(-static_cast<float>(nSigmaTpcCombinedMax), static_cast<float>(nSigmaTpcCombinedMax));
selectorPion.setRangePtTof(static_cast<float>(ptPidTofMin), static_cast<float>(ptPidTofMax));
selectorPion.setRangeNSigmaTof(-static_cast<float>(nSigmaTofMax), static_cast<float>(nSigmaTofMax));
selectorPion.setRangeNSigmaTofCondTpc(-static_cast<float>(nSigmaTofCombinedMax), static_cast<float>(nSigmaTofCombinedMax));
selectorPion.setRangePtBayes(static_cast<float>(ptPidBayesMin), static_cast<float>(ptPidBayesMax));
selectorKaon = selectorPion;
selectorProton = selectorPion;

Expand Down Expand Up @@ -518,11 +518,11 @@ struct HfCandidateSelectorLc {

if (usePid) {
// track-level PID selection
TrackSelectorPID::Status pidTrackPos1Proton;
TrackSelectorPID::Status pidTrackPos2Proton;
TrackSelectorPID::Status pidTrackPos1Pion;
TrackSelectorPID::Status pidTrackPos2Pion;
TrackSelectorPID::Status pidTrackNegKaon;
TrackSelectorPID::Status pidTrackPos1Proton{};
TrackSelectorPID::Status pidTrackPos2Proton{};
TrackSelectorPID::Status pidTrackPos1Pion{};
TrackSelectorPID::Status pidTrackPos2Pion{};
TrackSelectorPID::Status pidTrackNegKaon{};
if (usePidTpcAndTof) {
pidTrackPos1Proton = selectorProton.statusTpcAndTof(trackPos1, candidate.nSigTpcPr0(), candidate.nSigTofPr0());
pidTrackPos2Proton = selectorProton.statusTpcAndTof(trackPos2, candidate.nSigTpcPr2(), candidate.nSigTofPr2());
Expand Down
Loading
Loading