@@ -131,9 +131,17 @@ struct femtoDreamProducerReducedTask {
131131 Configurable<int > ConfTPCOccupancyMax{" ConfTPCOccupancyMax" , 1000 , " Maximum value for TPC Occupancy selection" };
132132 } evtSel_PbPb;
133133
134+ struct : o2::framework::ConfigurableGroup {
135+ Configurable<bool > ConfTrkSpecialCuts{" ConfTrkSpecialCuts" , false , " Choose for special track cuts" };
136+ Configurable<float > ConfTPCFracsClsMax{" ConfTPCFracsCls" , 0.4 , " Maximum value for fraction of shared TPC clusters" };
137+ Configurable<float > ConfTPCChi2NClMax{" ConfTPCChi2NCl" , 2.5 , " Maximum value chi2 per cluster for TPC" };
138+ Configurable<float > ConfITSChi2NClMax{" ConfITSChi2NCl" , 36 , " Maximum value chi2 per cluster for ITS" };
139+ } specialTrkSel;
140+ // Filter globalCutFilter = requireGlobalTrackInFilter();
141+
134142 HistogramRegistry qaRegistry{" QAHistos" , {}, OutputObjHandlingPolicy::AnalysisObject};
135143 HistogramRegistry Registry{" Tracks" , {}, OutputObjHandlingPolicy::AnalysisObject};
136- HistogramRegistry FlowRegistry{" QnandFlowInfo " , {}, OutputObjHandlingPolicy::AnalysisObject};
144+ HistogramRegistry FlowRegistry{" Qn " , {}, OutputObjHandlingPolicy::AnalysisObject};
137145
138146 int mRunNumber ;
139147 float mMagField ;
@@ -380,7 +388,6 @@ struct femtoDreamProducerReducedTask {
380388 if (ConfEvtUseTPCmult) {
381389 multNtr = col.multTPC ();
382390 }
383- colCuts.fillQA (col, mult);
384391
385392 // / First thing to do is to check whether the basic event selection criteria are fulfilled
386393 // / That includes checking if there are any usable tracks in a collision
@@ -400,8 +407,10 @@ struct femtoDreamProducerReducedTask {
400407 evtSel_PbPb.ConfTPCOccupancyMin , evtSel_PbPb.ConfTPCOccupancyMax )) {
401408 return ;
402409 }
410+
403411 // now the table is filled
404412 outputCollision (vtxZ, mult, multNtr, spher, mMagField );
413+ colCuts.fillQA (col, mult);
405414
406415 // these IDs are necessary to keep track of the children
407416 // since this producer only produces the tables for tracks, there are no children
@@ -411,6 +420,13 @@ struct femtoDreamProducerReducedTask {
411420 if (!trackCuts.isSelectedMinimal (track)) {
412421 continue ;
413422 }
423+ if (specialTrkSel.ConfTrkSpecialCuts
424+ && track.tpcFractionSharedCls ()>specialTrkSel.ConfTPCFracsClsMax
425+ && track.tpcChi2NCl ()>specialTrkSel.ConfTPCChi2NClMax
426+ && track.itsChi2NCl ()>specialTrkSel.ConfITSChi2NClMax ) {
427+ continue ;
428+ }
429+
414430 trackCuts.fillQA <aod::femtodreamparticle::ParticleType::kTrack , aod::femtodreamparticle::TrackType::kNoChild >(track);
415431 // an array of two bit-wise containers of the systematic variations is obtained
416432 // one container for the track quality cuts and one for the PID cuts
0 commit comments