Skip to content

Commit

Permalink
fixup
Browse files Browse the repository at this point in the history
  • Loading branch information
f3sch committed Oct 30, 2023
1 parent ee1d248 commit 77d0f4e
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 16 deletions.
34 changes: 19 additions & 15 deletions Detectors/Vertexing/include/DetectorsVertexing/SVertexerParams.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,20 +51,22 @@ struct SVertexerParams : public o2::conf::ConfigurableParamHelper<SVertexerParam
bool usePropagator = false; ///< use external propagator
bool refitWithMatCorr = false; ///< refit V0 applying material corrections
//
int maxPVContributors = 2; ///< max number PV contributors to allow in V0
float minDCAToPV = 0.05; ///< min DCA to PV of single track to accept
float minRToMeanVertex = 0.5; ///< min radial distance of V0 from beam line (mean vertex)
float maxDCAXYToMeanVertex = 0.2; ///< max DCA of V0 from beam line (mean vertex) for prompt V0 candidates
float maxDCAXYToMeanVertexV0Casc = 2.; ///< max DCA of V0 from beam line (mean vertex) for cascade V0 candidates
float maxDCAXYToMeanVertex3bodyV0 = 2; ///< max DCA of V0 from beam line (mean vertex) for 3body V0 candidates
float minPtV0 = 0.01; ///< v0 minimum pT
float maxTglV0 = 2.; ///< maximum tgLambda of V0
int maxPVContributors = 2; ///< max number PV contributors to allow in V0
float minDCAToPV = 0.05; ///< min DCA to PV of single track to accept
float minRToMeanVertex = 0.5; ///< min radial distance of V0 from beam line (mean vertex)
float maxDCAXYToMeanVertex = 0.2; ///< max DCA of V0 from beam line (mean vertex) for prompt V0 candidates
float maxDCAXYToMeanVertexV0Casc = 2.; ///< max DCA of V0 from beam line (mean vertex) for cascade V0 candidates
float maxDCAXYToMeanVertex3bodyV0 = 2.; ///< max DCA of V0 from beam line (mean vertex) for 3body V0 candidates
float maxV0EtaAbsDiff = 1.; ///< max absolute difference in eta for V0 before rotate into same Frame and x
float maxV0PhiAbsDiff = 2.; ///< max absolute difference in phi for V0 before rotate into same Frame and x
float minPtV0 = 0.01; ///< v0 minimum pT
float maxTglV0 = 2.; ///< maximum tgLambda of V0

float causalityRTolerance = 1.; ///< V0 radius cannot exceed its contributors minR by more than this value
float maxV0ToProngsRDiff = 50.; ///< V0 radius cannot be lower than this ammount wrt minR of contributors

float minCosPAXYMeanVertex = 0.95; ///< min cos of PA to beam line (mean vertex) in tr. plane for prompt V0 candidates
float minCosPAXYMeanVertexCascV0 = 0.8; ///< min cos of PA to beam line (mean vertex) in tr. plane for V0 of cascade cand.
float minCosPAXYMeanVertex = 0.95; ///< min cos of PA to beam line (mean vertex) in tr. plane for prompt V0 candidates
float minCosPAXYMeanVertexCascV0 = 0.8; ///< min cos of PA to beam line (mean vertex) in tr. plane for V0 of cascade cand.
float minCosPAXYMeanVertex3bodyV0 = 0.9; ///< min cos of PA to beam line (mean vertex) in tr. plane for 3body V0 cand.

float maxRToMeanVertexCascV0 = 80; // don't consider as a cascade V0 seed if above this R
Expand All @@ -82,15 +84,17 @@ struct SVertexerParams : public o2::conf::ConfigurableParamHelper<SVertexerParam
float maxDCAZ3Body = 1.; // max DCA of 3 body decay to PV in Z
float minCosPACasc = 0.7; // min cos of PA to PV for cascade candidates
float minCosPA3body = 0.8; // min cos of PA to PV for 3body decay candidates
float minPtCasc = 0.01; // cascade minimum pT
float maxTglCasc = 2.; // maximum tgLambda of cascade
float minPt3Body = 0.01; // minimum pT of 3body V0
float maxTgl3Body = 2.; // maximum tgLambda of 3body V0
float minPtCasc = 0.01; // cascade minimum pT
float maxTglCasc = 2.; // maximum tgLambda of cascade
float minPt3Body = 0.01; // minimum pT of 3body V0
float maxTgl3Body = 2.; // maximum tgLambda of 3body V0

float maxRIni3body = 90.; // don't consider as a 3body seed (circles/line intersection) if its R exceeds this

// Cuts for TPC only tracks
bool mExcludeTPCtracks = false; // don't loop over TPC tracks if true (if loaded, dEdx info is used instead)
float mTPCTrackMaxX = -1.f; // don't use TPC standalone tracks with X exceeding this
float mTPCTrackMaxX = 83.f; // don't use TPC standalone tracks with X exceeding this; 83 cm is the reference x position at minimum, hence this cuts deep conversions
float mTPCTrack2Beam = 21.f; // Straight line for TPC track back to beamline
float minTPCdEdx = 250; // starting from this dEdx value, tracks with p > minMomTPCdEdx are always accepted
float minMomTPCdEdx = 0.8; // minimum p for tracks with dEdx > mMinTPCdEdx to be accepted

Expand Down
8 changes: 7 additions & 1 deletion Detectors/Vertexing/src/SVertexer.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -519,6 +519,12 @@ void SVertexer::buildT2V(const o2::globaltracking::RecoContainer& recoData) // a
//__________________________________________________________________
bool SVertexer::checkV0(const TrackCand& seedP, const TrackCand& seedN, int iP, int iN, int ithread)
{
// Fast rough cuts on pairs before feeding to DCAFitter, tracks are not in the same Frame or at same X
bool isTPConly = seedP.gid.getSource() == GIndex::TPC && seedN.gid.getSource() == GIndex::TPC;
if (std::abs(seedP.getEta() - seedN.getEta()) > mSVParams->maxV0EtaAbsDiff || std::abs(seedP.getPhi() - seedN.getPhi()) > mSVParams->maxV0PhiAbsDiff) {
return false;
}
//
auto& fitterV0 = mFitterV0[ithread];
int nCand = fitterV0.process(seedP, seedN);
if (nCand == 0) { // discard this pair
Expand Down Expand Up @@ -1123,7 +1129,7 @@ bool SVertexer::processTPCTrack(const o2::tpc::TrackTPC& trTPC, GIndex gid, int
int posneg = trTPC.getSign() < 0 ? 1 : 0;
auto& trLoc = mTracksPool[posneg].emplace_back(TrackCand{trTPC, gid, {vtxid, vtxid}, 0.});
auto err = correctTPCTrack(trLoc, trTPC, twe.getTimeStamp(), twe.getTimeStampError());
if (err < 0) {
if (err < 0 || std::abs(trLoc.getX() * trLoc.getTgl() - trLoc.getZ() - vtx.getZ()) > mSVParams->mTPCTrack2Beam) {
mTracksPool[posneg].pop_back(); // discard
return true; // skip minR calculation to 'invalid' memory (trLoc will probably be still there and not be invalidated but we discarded it)
}
Expand Down

0 comments on commit 77d0f4e

Please sign in to comment.