@@ -79,7 +79,7 @@ struct SingleTrackQC {
7979 Configurable<int > cfgNtracksPV08Min{" cfgNtracksPV08Min" , -1 , " min. multNTracksPV" };
8080 Configurable<int > cfgNtracksPV08Max{" cfgNtracksPV08Max" , static_cast <int >(1e+9 ), " max. multNTracksPV" };
8181 Configurable<bool > cfgApplyWeightTTCA{" cfgApplyWeightTTCA" , false , " flag to apply weighting by 1/N" };
82- Configurable<bool > cfgUseDCAxy{ " cfgUseDCAxy " , false , " flag to use DCAxy, instead of DCA3D " };
82+ Configurable<uint8_t > cfgDCAType{ " cfgDCAType " , 0 , " type of DCA for output. 0:3D, 1:XY, 2:Z, else:3D " };
8383
8484 ConfigurableAxis ConfPtlBins{" ConfPtlBins" , {VARIABLE_WIDTH, 0.00 , 0.05 , 0.10 , 0.15 , 0.20 , 0.30 , 0.40 , 0.50 , 0.60 , 0.70 , 0.80 , 0.90 , 1.00 , 1.10 , 1.20 , 1.30 , 1.40 , 1.50 , 1.60 , 1.70 , 1.80 , 1.90 , 2.00 , 2.50 , 3.00 , 3.50 , 4.00 , 4.50 , 5.00 , 6.00 , 7.00 , 8.00 , 9.00 , 10.00 }, " pTl bins for output histograms" };
8585 ConfigurableAxis ConfDCABins{" ConfDCABins" , {VARIABLE_WIDTH, 0.0 , 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1.0 , 1.1 , 1.2 , 1.3 , 1.4 , 1.5 , 1.6 , 1.7 , 1.8 , 1.9 , 2.0 , 2.5 , 3.0 , 3.5 , 4.0 , 4.5 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 , 10.0 }, " DCA bins for output histograms" };
@@ -101,6 +101,9 @@ struct SingleTrackQC {
101101 Configurable<float > cfgFT0COccupancyMin{" cfgFT0COccupancyMin" , -2 , " min. FT0C occupancy" };
102102 Configurable<float > cfgFT0COccupancyMax{" cfgFT0COccupancyMax" , 1000000000 , " max. FT0C occupancy" };
103103 Configurable<bool > cfgRequireNoCollInTimeRangeStandard{" cfgRequireNoCollInTimeRangeStandard" , false , " require no collision in time range standard" };
104+ Configurable<bool > cfgRequireNoCollInTimeRangeStrict{" cfgRequireNoCollInTimeRangeStrict" , false , " require no collision in time range strict" };
105+ Configurable<bool > cfgRequireNoCollInITSROFStandard{" cfgRequireNoCollInITSROFStandard" , false , " require no collision in time range standard" };
106+ Configurable<bool > cfgRequireNoCollInITSROFStrict{" cfgRequireNoCollInITSROFStrict" , false , " require no collision in time range strict" };
104107 } eventcuts;
105108
106109 DielectronCut fDielectronCut ;
@@ -157,12 +160,6 @@ struct SingleTrackQC {
157160 DimuonCut fDimuonCut ;
158161 struct : ConfigurableGroup {
159162 std::string prefix = " dimuoncut_group" ;
160- Configurable<float > cfg_min_mass{" cfg_min_mass" , 0.0 , " min mass" };
161- Configurable<float > cfg_max_mass{" cfg_max_mass" , 1e+10 , " max mass" };
162- Configurable<float > cfg_min_pair_pt{" cfg_min_pair_pt" , 0.0 , " min pair pt" };
163- Configurable<float > cfg_max_pair_pt{" cfg_max_pair_pt" , 1e+10 , " max pair pt" };
164- Configurable<float > cfg_min_pair_dcaxy{" cfg_min_pair_dcaxy" , 0.0 , " min pair dca3d in sigma" };
165- Configurable<float > cfg_max_pair_dcaxy{" cfg_max_pair_dcaxy" , 1e+10 , " max pair dca3d in sigma" };
166163
167164 Configurable<uint8_t > cfg_track_type{" cfg_track_type" , 3 , " muon track type [0: MFT-MCH-MID, 3: MCH-MID]" };
168165 Configurable<float > cfg_min_pt_track{" cfg_min_pt_track" , 0.1 , " min pT for single track" };
@@ -199,8 +196,10 @@ struct SingleTrackQC {
199196 const AxisSpec axis_eta{20 , -1.0 , +1.0 , " #eta_{e}" };
200197 const AxisSpec axis_phi{36 , 0.0 , 2 * M_PI, " #varphi_{e} (rad.)" };
201198 std::string dca_axis_title = " DCA_{e}^{3D} (#sigma)" ;
202- if (cfgUseDCAxy ) {
199+ if (cfgDCAType == 1 ) {
203200 dca_axis_title = " DCA_{e}^{XY} (#sigma)" ;
201+ } else if (cfgDCAType == 2 ) {
202+ dca_axis_title = " DCA_{e}^{Z} (#sigma)" ;
204203 }
205204 const AxisSpec axis_dca{ConfDCABins, dca_axis_title};
206205
@@ -311,6 +310,9 @@ struct SingleTrackQC {
311310 fEMEventCut .SetRequireVertexITSTPC (eventcuts.cfgRequireVertexITSTPC );
312311 fEMEventCut .SetRequireGoodZvtxFT0vsPV (eventcuts.cfgRequireGoodZvtxFT0vsPV );
313312 fEMEventCut .SetRequireNoCollInTimeRangeStandard (eventcuts.cfgRequireNoCollInTimeRangeStandard );
313+ fEMEventCut .SetRequireNoCollInTimeRangeStrict (eventcuts.cfgRequireNoCollInTimeRangeStrict );
314+ fEMEventCut .SetRequireNoCollInITSROFStandard (eventcuts.cfgRequireNoCollInITSROFStandard );
315+ fEMEventCut .SetRequireNoCollInITSROFStrict (eventcuts.cfgRequireNoCollInITSROFStrict );
314316 }
315317
316318 o2::analysis::MlResponseDielectronSingleTrack<float > mlResponseSingleTrack;
@@ -376,11 +378,6 @@ struct SingleTrackQC {
376378 {
377379 fDimuonCut = DimuonCut (" fDimuonCut" , " fDimuonCut" );
378380
379- // for pair
380- fDimuonCut .SetMassRange (dimuoncuts.cfg_min_mass , dimuoncuts.cfg_max_mass );
381- fDimuonCut .SetPairPtRange (dimuoncuts.cfg_min_pair_pt , dimuoncuts.cfg_max_pair_pt );
382- fDimuonCut .SetPairDCAxyRange (dimuoncuts.cfg_min_pair_dcaxy , dimuoncuts.cfg_max_pair_dcaxy ); // DCAxy in cm
383-
384381 // for track
385382 fDimuonCut .SetTrackType (dimuoncuts.cfg_track_type );
386383 fDimuonCut .SetTrackPtRange (dimuoncuts.cfg_min_pt_track , 1e10f);
@@ -405,8 +402,10 @@ struct SingleTrackQC {
405402 }
406403
407404 float dca = dca3DinSigma (track);
408- if (cfgUseDCAxy) {
409- dca = abs (track.dcaXY () / std::sqrt (track.cYY ()));
405+ if (cfgDCAType == 1 ) {
406+ dca = dcaXYinSigma (track);
407+ } else if (cfgDCAType == 2 ) {
408+ dca = dcaZinSigma (track);
410409 }
411410
412411 if (track.sign () > 0 ) {
0 commit comments