diff --git a/Detectors/GLOQC/include/GLOQC/ITSTPCMatchingQCParams.h b/Detectors/GLOQC/include/GLOQC/ITSTPCMatchingQCParams.h index 001996feb4c69..799f9c526bec6 100644 --- a/Detectors/GLOQC/include/GLOQC/ITSTPCMatchingQCParams.h +++ b/Detectors/GLOQC/include/GLOQC/ITSTPCMatchingQCParams.h @@ -25,11 +25,18 @@ namespace gloqc // There are configurable params for TPC-ITS matching struct ITSTPCMatchingQCParams : public o2::conf::ConfigurableParamHelper { - float minPtCut = 0.1f; - float etaCut = 1.4f; + float minPtITSCut = 0.f; + float etaITSCut = 1e10f; + int32_t minNITSClustersCut = 0; + int32_t maxChi2PerClusterITS = 100000; + float minPtTPCCut = 0.1f; + float etaTPCCut = 0.9f; int32_t minNTPCClustersCut = 60; float minDCACut = 100.f; float minDCACutY = 10.f; + float minPtCut = 0.f; + float maxPtCut = 1e10f; + float etaCut = 1.e10f; float cutK0Mass = 0.05f; float maxEtaK0 = 0.8f; diff --git a/Detectors/GLOQC/include/GLOQC/MatchITSTPCQC.h b/Detectors/GLOQC/include/GLOQC/MatchITSTPCQC.h index ca4d2678722c6..035aada3a765f 100644 --- a/Detectors/GLOQC/include/GLOQC/MatchITSTPCQC.h +++ b/Detectors/GLOQC/include/GLOQC/MatchITSTPCQC.h @@ -268,7 +268,25 @@ class MatchITSTPCQC // K0 void setMaxK0Eta(float v) { mMaxEtaK0 = v; } void setRefitK0(bool v) { mRefit = v; } - void setCutK0Mass(bool v) { mCutK0Mass = v; } + void setCutK0Mass(float v) { mCutK0Mass = v; } + + void printParams() + { + LOG(info) << "minPtITSCut = " << mPtITSCut; + LOG(info) << "etaITSCut = " << mEtaITSCut; + LOG(info) << "minNITSClustersCut = " << mMinNClustersITS; + LOG(info) << "maxChi2PerClusterITS = " << mMaxChi2PerClusterITS; + LOG(info) << "minPtTPCCut = " << mPtTPCCut; + LOG(info) << "etaTPCCut = " << mEtaTPCCut; + LOG(info) << "minNTPCClustersCut = " << mNTPCClustersCut; + LOG(info) << "minDCACut = " << mDCATPCCut; + LOG(info) << "minDCACutY = " << mDCATPCCutY; + LOG(info) << "minPtCut = " << mPtCut; + LOG(info) << "maxPtCut = " << mPtMaxCut; + LOG(info) << "etaCut = " << mEtaCut; + LOG(info) << "cutK0Mass = " << mCutK0Mass; + LOG(info) << "maxEtaK0 = " << mMaxEtaK0; + } private: std::shared_ptr mDataRequest; diff --git a/Detectors/GLOQC/src/MatchITSTPCQC.cxx b/Detectors/GLOQC/src/MatchITSTPCQC.cxx index f810a5d2d4ef2..a0ae896105d2d 100644 --- a/Detectors/GLOQC/src/MatchITSTPCQC.cxx +++ b/Detectors/GLOQC/src/MatchITSTPCQC.cxx @@ -377,9 +377,12 @@ bool MatchITSTPCQC::init() if (mDoK0QC) { // V0s - mK0MassVsPt = new TH2F("mK0MassVsPt", "K0 invariant mass vs Pt", 100, 0.3, 0.7, 100, 0.f, 20.f); + mK0MassVsPt = new TH2F("mK0MassVsPt", "K0 invariant mass vs Pt; Pt [GeV/c]; K0s mass [GeV/c^2]", 100, 0.f, 20.f, 100, 0.3, 0.7); } + LOG(info) << "Printing configuration cuts"; + printParams(); + return true; } @@ -945,10 +948,11 @@ bool MatchITSTPCQC::processV0(int iv, o2::globaltracking::RecoContainer& recoDat if (mMaxEtaK0 < std::abs(v0sel.getEta())) { return false; } + LOG(info) << "Find K0 with mass " << std::sqrt(v0sel.calcMass2AsK0()); if (mCutK0Mass > 0 && std::abs(std::sqrt(v0sel.calcMass2AsK0()) - 0.497) > mCutK0Mass) { return false; } - mK0MassVsPt->Fill(std::sqrt(v0sel.calcMass2AsK0()), v0sel.getPt()); + mK0MassVsPt->Fill(v0sel.getPt(), std::sqrt(v0sel.calcMass2AsK0())); return true; } diff --git a/Detectors/GlobalTrackingWorkflow/qc/src/ITSTPCMatchingQCSpec.cxx b/Detectors/GlobalTrackingWorkflow/qc/src/ITSTPCMatchingQCSpec.cxx index f1de9698d9e70..fad4f9d36fb31 100644 --- a/Detectors/GlobalTrackingWorkflow/qc/src/ITSTPCMatchingQCSpec.cxx +++ b/Detectors/GlobalTrackingWorkflow/qc/src/ITSTPCMatchingQCSpec.cxx @@ -37,11 +37,18 @@ void ITSTPCMatchingQCDevice::init(InitContext& /*ic*/) mMatchITSTPCQC = std::make_unique(); mMatchITSTPCQC->setDataRequest(mDataRequest); mMatchITSTPCQC->setTrkSources(o2::dataformats::GlobalTrackID::getSourcesMask(mTrkSources)); - mMatchITSTPCQC->setPtCut(params.minPtCut); - mMatchITSTPCQC->setEtaCut(params.etaCut); + mMatchITSTPCQC->setMinPtITSCut(params.minPtITSCut); + mMatchITSTPCQC->setEtaITSCut(params.etaITSCut); + mMatchITSTPCQC->setMinNClustersITS(params.minNITSClustersCut); + mMatchITSTPCQC->setMaxChi2PerClusterITS(params.maxChi2PerClusterITS); + mMatchITSTPCQC->setMinPtTPCCut(params.minPtTPCCut); + mMatchITSTPCQC->setEtaTPCCut(params.etaTPCCut); mMatchITSTPCQC->setMinNTPCClustersCut(params.minNTPCClustersCut); mMatchITSTPCQC->setMinDCAtoBeamPipeDistanceCut(params.minDCACut); mMatchITSTPCQC->setMinDCAtoBeamPipeYCut(params.minDCACutY); + mMatchITSTPCQC->setPtCut(params.minPtCut); + mMatchITSTPCQC->setMaxPtCut(params.maxPtCut); + mMatchITSTPCQC->setEtaCut(params.etaCut); mMatchITSTPCQC->setCutK0Mass(params.cutK0Mass); mMatchITSTPCQC->setMaxK0Eta(params.maxEtaK0); o2::base::GRPGeomHelper::instance().setRequest(mCCDBRequest); @@ -100,7 +107,6 @@ void ITSTPCMatchingQCDevice::finaliseCCDB(ConcreteDataMatcher& matcher, void* ob return; } if (matcher == ConcreteDataMatcher("GLO", "SVPARAM", 0)) { - LOG(info) << "SVertexer Params updated from ccdb - but it should not happen... PLEASE CHECK"; return; } }