Skip to content

Commit cc315e0

Browse files
martenoledavidrohr
authored andcommitted
Check filter flag in TRD reco and adapt FST script
1 parent 229c2d0 commit cc315e0

4 files changed

Lines changed: 24 additions & 6 deletions

File tree

Detectors/TRD/workflow/include/TRDWorkflow/TRDGlobalTrackingSpec.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ namespace trd
3434
class TRDGlobalTracking : public o2::framework::Task
3535
{
3636
public:
37-
TRDGlobalTracking(bool useMC, std::shared_ptr<o2::globaltracking::DataRequest> dataRequest, o2::dataformats::GlobalTrackID::mask_t src) : mUseMC(useMC), mDataRequest(dataRequest), mTrkMask(src) {}
37+
TRDGlobalTracking(bool useMC, std::shared_ptr<o2::globaltracking::DataRequest> dataRequest, o2::dataformats::GlobalTrackID::mask_t src, bool trigRecFilterActive) : mUseMC(useMC), mDataRequest(dataRequest), mTrkMask(src), mTrigRecFilter(trigRecFilterActive) {}
3838
~TRDGlobalTracking() override = default;
3939
void init(o2::framework::InitContext& ic) final;
4040
void updateTimeDependentParams();
@@ -48,6 +48,7 @@ class TRDGlobalTracking : public o2::framework::Task
4848
o2::gpu::GPUChainTracking* mChainTracking{nullptr}; ///< TRD tracker is run in the tracking chain
4949
std::unique_ptr<GeometryFlat> mFlatGeo{nullptr}; ///< flat TRD geometry
5050
bool mUseMC{false}; ///< MC flag
51+
bool mTrigRecFilter{false}; ///< if true, TRD trigger records without matching ITS IR are filtered out
5152
float mTPCTBinMUS{.2f}; ///< width of a TPC time bin in us
5253
float mTPCVdrift{2.58f}; ///< TPC drift velocity (for shifting TPC tracks along Z)
5354
std::shared_ptr<o2::globaltracking::DataRequest> mDataRequest; ///< seeding input (TPC-only, ITS-TPC or both)

Detectors/TRD/workflow/src/TRDGlobalTrackingSpec.cxx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,19 @@ void TRDGlobalTracking::run(ProcessingContext& pc)
137137
mRec->PrepareEvent();
138138
mRec->SetupGPUProcessor(mTracker, true);
139139

140+
// check trigger record filter setting
141+
bool foundFilteredTrigger = false;
142+
for (int iTrig = 0; iTrig < mChainTracking->mIOPtrs.nTRDTriggerRecords; ++iTrig) {
143+
if (mChainTracking->mIOPtrs.trdTrigRecMask[iTrig] == 0) {
144+
foundFilteredTrigger = true;
145+
}
146+
}
147+
if (!foundFilteredTrigger && mTrigRecFilter) {
148+
LOG(WARNING) << "Trigger filtering requested, but no TRD trigger is actually masked. Can be that none needed to be masked or that the setting was not active for the tracklet transformer";
149+
} else if (foundFilteredTrigger && !mTrigRecFilter) {
150+
LOG(ERROR) << "Trigger filtering is not requested, but masked TRD triggers are found. Rerun tracklet transformer without trigger filtering";
151+
}
152+
140153
// load input tracks
141154
LOG(DEBUG) << "Start loading input seeds into TRD tracker";
142155
int nTracksLoadedITSTPC = 0;
@@ -272,7 +285,7 @@ DataProcessorSpec getTRDGlobalTrackingSpec(bool useMC, GTrackID::mask_t src, boo
272285
processorName,
273286
inputs,
274287
outputs,
275-
AlgorithmSpec{adaptFromTask<TRDGlobalTracking>(useMC, dataRequest, src)},
288+
AlgorithmSpec{adaptFromTask<TRDGlobalTracking>(useMC, dataRequest, src, trigRecFilterActive)},
276289
Options{}};
277290
}
278291

prodtests/full-system-test/dpl-workflow.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,12 @@ TOF_OUTPUT=clusters
4444
ITS_CONFIG=
4545
ITS_CONFIG_KEY=
4646
TRD_CONFIG=
47+
TRD_TRANSFORMER_CONFIG=
4748
if [ $SYNCMODE == 1 ]; then
4849
ITS_CONFIG_KEY+="fastMultConfig.cutMultClusLow=30;fastMultConfig.cutMultClusHigh=2000;fastMultConfig.cutMultVtxHigh=500;"
4950
GPU_CONFIG_KEY+="GPU_global.synchronousProcessing=1;GPU_proc.clearO2OutputFromGPU=1;"
50-
TRD_CONFIG+=" --tracking-sources ITS-TPC --configKeyValues 'GPU_proc.ompThreads=1;'"
51+
TRD_CONFIG+=" --tracking-sources ITS-TPC --filter-trigrec --configKeyValues 'GPU_proc.ompThreads=1;'"
52+
TRD_TRANSFORMER_CONFIG+=" --filter-trigrec"
5153
else
5254
TRD_CONFIG+=" --tracking-sources TPC,ITS-TPC"
5355
fi
@@ -128,7 +130,7 @@ WORKFLOW+="o2-gpu-reco-workflow ${ARGS_ALL/--severity $SEVERITY/--severity $SEVE
128130
WORKFLOW+="o2-tpcits-match-workflow $ARGS_ALL --disable-root-input --disable-root-output $DISABLE_MC --pipeline itstpc-track-matcher:$N_TPCITS | "
129131
WORKFLOW+="o2-ft0-reco-workflow $ARGS_ALL --disable-root-input --disable-root-output $DISABLE_MC | "
130132
WORKFLOW+="o2-tof-reco-workflow $ARGS_ALL --input-type $TOF_INPUT --output-type $TOF_OUTPUT --disable-root-input --disable-root-output $DISABLE_MC | "
131-
WORKFLOW+="o2-trd-tracklet-transformer $ARGS_ALL --root-in 0 --root-out 0 | "
133+
WORKFLOW+="o2-trd-tracklet-transformer $ARGS_ALL --disable-root-input --disable-root-output $TRD_TRANSFORMER_CONFIG | "
132134
WORKFLOW+="o2-trd-global-tracking $ARGS_ALL --disable-root-input --disable-root-output $TRD_CONFIG | "
133135

134136
# Workflows disabled in sync mode

prodtests/sim_challenge.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,11 @@ if [ "$doreco" == "1" ]; then
152152
echo "Return status of itstpcMatch: $?"
153153

154154
echo "Running TRD matching to ITS-TPC and TPC"
155-
#needs results of o2-tpc-reco-workflow and o2-tpcits-match-workflow
155+
#needs results of o2-tpc-reco-workflow, o2-tpcits-match-workflow and o2-trd-tracklet-transformer
156+
taskwrapper trdTrkltTransf.log o2-trd-tracklet-transformer $gloOpt
157+
echo "Return status of trdTrkltTransf: $?"
156158
taskwrapper trdMatch.log o2-trd-global-tracking $gloOpt
157-
echo "Return status of itstpcMatch: $?"
159+
echo "Return status of trdTracker: $?"
158160

159161
echo "Running TOF reco flow to produce clusters"
160162
#needs results of TOF digitized data and results of o2-tpcits-match-workflow

0 commit comments

Comments
 (0)