Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLO: QC: Add 3d plot and widen eta cuts #13692

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from
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
30 changes: 15 additions & 15 deletions Detectors/GLOQC/include/GLOQC/ITSTPCMatchingQCParams.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,26 @@
#include "CommonUtils/ConfigurableParam.h"
#include "CommonUtils/ConfigurableParamHelper.h"

namespace o2
{
namespace gloqc
namespace o2::gloqc
{

// There are configurable params for TPC-ITS matching
struct ITSTPCMatchingQCParams : public o2::conf::ConfigurableParamHelper<ITSTPCMatchingQCParams> {

float minPtITSCut = 0.f;
float etaITSCut = 1e10f;
int nBinsPt = 100;
float minPtITSCut = 0.1;
float etaITSCut = 1.4;
int32_t minNITSClustersCut = 0;
int32_t maxChi2PerClusterITS = 100000;
float minPtTPCCut = 0.1f;
float etaTPCCut = 0.9f;
float maxChi2PerClusterITS = 1e10;
float minPtTPCCut = 0.1;
float etaTPCCut = 1.4;
int32_t minNTPCClustersCut = 60;
float minDCACut = 100.f;
float minDCACutY = 10.f;
float minPtCut = 0.f;
float maxPtCut = 1e10f;
float etaCut = 1.e10f;
float minDCACut = 100.;
float minDCACutY = 10.;
float minPtCut = 0.1;
float maxPtCut = 20;
float etaCut = 1.4;
float etaNo0Cut = 0.05;
float cutK0Mass = 0.05f;
float maxEtaK0 = 0.8f;
float K0Scaling = 1.f;
Expand All @@ -52,7 +52,7 @@ struct ITSTPCMatchingQCParams : public o2::conf::ConfigurableParamHelper<ITSTPCM
O2ParamDef(ITSTPCMatchingQCParams, "ITSTPCMatchingQC");
};

} // namespace gloqc
} // end namespace o2
} // namespace o2::gloqc
// end namespace o2

#endif
31 changes: 23 additions & 8 deletions Detectors/GLOQC/include/GLOQC/MatchITSTPCQC.h
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,9 @@ class MatchITSTPCQC
TH1D* getHisto1OverPtPhysPrimDen(matchType m) const { return m1OverPtPhysPrimDen[m]; }
TEfficiency* getFractionITSTPCmatchPhysPrim1OverPt(matchType m) const { return mFractionITSTPCmatchPhysPrim1OverPt[m]; }

TH3F* getHistoEtaPhiPtNum(matchType m) const { return mEtaPhiPtNum[m]; }
TH3F* getHistoEtaPhiPtDen(matchType m) const { return mEtaPhiPtDen[m]; }

TH3F* getHistoK0MassVsPtVsOccpp() const { return mK0MassVsPtVsOccpp; }
TH3F* getHistoK0MassVsPtVsOccPbPb() const { return mK0MassVsPtVsOccPbPb; }

Expand Down Expand Up @@ -190,6 +193,10 @@ class MatchITSTPCQC
publisher->startPublishing(m1OverPtDen[i]);
publisher->startPublishing(mFractionITSTPCmatch1OverPt[i]);

// 3D eta/phi/pt
publisher->startPublishing(mEtaPhiPtNum[i]);
publisher->startPublishing(mEtaPhiPtDen[i]);

if (mUseTrkPID) { // Vs Tracking PID hypothesis
for (int j = 0; j < o2::track::PID::NIDs; ++j) {
// Pt
Expand Down Expand Up @@ -269,9 +276,11 @@ class MatchITSTPCQC
void setMinDCAtoBeamPipeDistanceCut(float v) { mDCATPCCut = v; }
void setMinDCAtoBeamPipeYCut(float v) { mDCATPCCutY = v; }
// ITS-TPC kinematics
void setNBinsPt(int v) { mPtBins = v; }
void setPtCut(float v) { mPtCut = v; }
void setMaxPtCut(float v) { mPtMaxCut = v; }
void setEtaCut(float v) { mEtaCut = v; } // TODO: define 2 different values for min and max (*)
void setEtaCut(float v) { mEtaCut = v; }
void setEtaNo0Cut(float v) { mEtaNo0Cut = v; }

// K0
void setMaxK0Eta(float v) { mMaxEtaK0 = v; }
Expand Down Expand Up @@ -406,17 +415,21 @@ class MatchITSTPCQC
TH1D* m1OverPtPhysPrimNum[matchType::SIZE] = {};
TH1D* m1OverPtPhysPrimDen[matchType::SIZE] = {};
TEfficiency* mFractionITSTPCmatchPhysPrim1OverPt[matchType::SIZE] = {};
// 3D Efficiency in eta/phi/pt
TH3F* mEtaPhiPtNum[matchType::SIZE] = {};
TH3F* mEtaPhiPtDen[matchType::SIZE] = {};

void setEfficiency(TEfficiency* eff, TH1* hnum, TH1* hden, bool is2D = false);
template <int DIM = 1, bool DEBUG = false>
void setEfficiency(TEfficiency* eff, TH1* hnum, TH1* hden);

int mNTPCSelectedTracks = 0;
int mNITSSelectedTracks = 0;
int mNITSTPCSelectedTracks[matchType::SIZE] = {0, 0};

// cut values
// ITS track
float mPtITSCut = 0.f; // min pT for ITS track
float mEtaITSCut = 1e10f; // eta window for ITS track --> TODO: define 2 different values for min and max (**)
float mPtITSCut = 0.1f; // min pT for ITS track
float mEtaITSCut = 1.4f; // eta window for ITS track --> TODO: define 2 different values for min and max (**)
int mMinNClustersITS = 0; // min number of ITS clusters
float mMaxChi2PerClusterITS{1e10f}; // max its fit chi2 per ITS cluster
std::vector<std::pair<int8_t, std::set<uint8_t>>> mRequiredITSHits{}; // vector of ITS requirements (minNRequiredHits in specific requiredLayers)
Expand All @@ -427,10 +440,12 @@ class MatchITSTPCQC
float mDCATPCCut = 100.f; // max DCA 3D to PV for TPC track
float mDCATPCCutY = 10.f; // max DCA xy to PV for TPC track
// ITS-TPC kinematics
int mPtBins = 100;
float mPtCut = 0.1f;
float mPtMaxCut = 1e10f;
float mEtaCut = 1e10f; // 1e10f as defaults of Detectors/GlobalTracking/include/GlobalTracking/TrackCuts.h
// TODO: define 2 different values for min and max (*)
float mPtMaxCut = 20;
float mEtaCut = 1.4f;
float mEtaNo0Cut = 0.05f;
// TODO: define 2 different values for min and max (*)

// for V0s
o2::vertexing::DCAFitterN<2> mFitterV0;
Expand Down Expand Up @@ -462,7 +477,7 @@ class MatchITSTPCQC
float mK0MaxDCA = 0.01; // max DCA to select the K0
float mK0MinCosPA = 0.995; // min cosPA to select the K0

ClassDefNV(MatchITSTPCQC, 3);
ClassDefNV(MatchITSTPCQC, 4);
};
} // namespace gloqc
} // namespace o2
Expand Down
Loading
Loading