Skip to content

Commit cae30b1

Browse files
author
miranov25
committed
O2-4592 - adding TOF dX and dZ to the track QA table with relative sigma precision nBins*2
1 parent 5c52a4b commit cae30b1

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

Detectors/AOD/include/AODProducerWorkflow/AODProducerWorkflowSpec.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,8 @@ class AODProducerWorkflowDPL : public Task
433433
int8_t dRefGloSnp{std::numeric_limits<int8_t>::min()};
434434
int8_t dRefGloTgl{std::numeric_limits<int8_t>::min()};
435435
int8_t dRefGloQ2Pt{std::numeric_limits<int8_t>::min()};
436+
int8_t dTofdX{std::numeric_limits<int8_t>::min()};
437+
int8_t dTofdZ{std::numeric_limits<int8_t>::min()};
436438
};
437439

438440
// helper struct for addToFwdTracksTable()

Detectors/AOD/src/AODProducerWorkflowSpec.cxx

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,10 @@ void AODProducerWorkflowDPL::addToTracksQATable(TracksQACursorType& tracksQACurs
381381
trackQAInfoHolder.dRefGloZ,
382382
trackQAInfoHolder.dRefGloSnp,
383383
trackQAInfoHolder.dRefGloTgl,
384-
trackQAInfoHolder.dRefGloQ2Pt);
384+
trackQAInfoHolder.dRefGloQ2Pt,
385+
trackQAInfoHolder.dTofdY,
386+
trackQAInfoHolder.dTofdZ
387+
);
385388
}
386389

387390
template <typename mftTracksCursorType, typename AmbigMFTTracksCursorType>
@@ -2597,6 +2600,15 @@ AODProducerWorkflowDPL::TrackQA AODProducerWorkflowDPL::processBarrelTrackQA(int
25972600
trackQAHolder.tpcdEdxTot1R = uint8_t(tpcOrig.getdEdx().dEdxTotOROC1 * dEdxNorm);
25982601
trackQAHolder.tpcdEdxTot2R = uint8_t(tpcOrig.getdEdx().dEdxTotOROC2 * dEdxNorm);
25992602
trackQAHolder.tpcdEdxTot3R = uint8_t(tpcOrig.getdEdx().dEdxTotOROC3 * dEdxNorm);
2603+
///
2604+
float_t scaleTOF=0;
2605+
if (contributorsGID[GIndex::Source::TOF].isIndexSet()) { // ITS-TPC-TRD-TOF, ITS-TPC-TOF, TPC-TRD-TOF, TPC-TOF
2606+
const auto& tofMatch = data.getTOFMatch(trackIndex);
2607+
const float qpt = gloCopy.getQ2Pt();
2608+
scaleTOF=std::sqrt(o2::aod::track::trackQAScaledTOF[0]*o2::aod::track::trackQAScaledTOF[0]+qpt*qpt*o2::aod::track::trackQAScaledTOF[1]*o2::aod::track::trackQAScaledTOF[1])/(2.*o2::aod::track::trackQAScaleBins);
2609+
trackQAHolder.dTofdX = safeInt8Clamp(tofMatch.getDXatTOF()/scaleTOF);
2610+
trackQAHolder.dTofdZ = safeInt8Clamp(tofMatch.getDZatTOF()/scaleTOF);
2611+
}
26002612

26012613
// Add matching information at a reference point (defined by
26022614
// o2::aod::track::trackQARefRadius) in the same frame as the global track
@@ -2641,6 +2653,7 @@ AODProducerWorkflowDPL::TrackQA AODProducerWorkflowDPL::processBarrelTrackQA(int
26412653
trackQAHolder.dRefGloSnp = safeInt8Clamp(((itsCopy.getSnp() + tpcCopy.getSnp()) * 0.5f - gloCopy.getSnp()) * scaleGlo(2));
26422654
trackQAHolder.dRefGloTgl = safeInt8Clamp(((itsCopy.getTgl() + tpcCopy.getTgl()) * 0.5f - gloCopy.getTgl()) * scaleGlo(3));
26432655
trackQAHolder.dRefGloQ2Pt = safeInt8Clamp(((itsCopy.getQ2Pt() + tpcCopy.getQ2Pt()) * 0.5f - gloCopy.getQ2Pt()) * scaleGlo(4));
2656+
//
26442657

26452658
if (O2_ENUM_TEST_BIT(mStreamerMask, AODProducerStreamerMask::TrackQA)) {
26462659
(*mStreamer) << "trackQA"
@@ -2684,6 +2697,9 @@ AODProducerWorkflowDPL::TrackQA AODProducerWorkflowDPL::processBarrelTrackQA(int
26842697
<< "trackQAHolder.dRefGloSnp=" << trackQAHolder.dRefGloSnp
26852698
<< "trackQAHolder.dRefGloTgl=" << trackQAHolder.dRefGloTgl
26862699
<< "trackQAHolder.dRefGloQ2Pt=" << trackQAHolder.dRefGloQ2Pt
2700+
<< "trackQAHolder.dTofdY=" << trackQAHolder.dTofdY
2701+
<< "trackQAHolder.dTofdZ=" << trackQAHolder.dTofdZ
2702+
<< "scaleTOF=" << scaleTOF
26872703
<< "\n";
26882704
}
26892705
}

Framework/Core/include/Framework/DataTypes.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ constexpr std::array<float, 5> trackQAScaleContP0{0.257192, 0.0775375, 0.0042428
130130
constexpr std::array<float, 5> trackQAScaleContP1{0.189371, 0.409071, 0.00694444, 0.00720038, 0.0806902};
131131
constexpr std::array<float, 5> trackQAScaleGloP0{0.130985, 0.0775375, 0.00194703, 0.000405458, 0.0160007};
132132
constexpr std::array<float, 5> trackQAScaleGloP1{0.183731, 0.409071, 0.00621802, 0.00624881, 0.0418957};
133+
constexpr std::array<float, 2> trackQAScaledTOF{1.1,0.33};
133134
} // namespace o2::aod::track
134135

135136
namespace o2::aod::fwdtrack

0 commit comments

Comments
 (0)