@@ -79,7 +79,7 @@ struct SingleTrackQC {
79
79
Configurable<int > cfgNtracksPV08Min{" cfgNtracksPV08Min" , -1 , " min. multNTracksPV" };
80
80
Configurable<int > cfgNtracksPV08Max{" cfgNtracksPV08Max" , static_cast <int >(1e+9 ), " max. multNTracksPV" };
81
81
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 " };
83
83
84
84
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" };
85
85
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 {
101
101
Configurable<float > cfgFT0COccupancyMin{" cfgFT0COccupancyMin" , -2 , " min. FT0C occupancy" };
102
102
Configurable<float > cfgFT0COccupancyMax{" cfgFT0COccupancyMax" , 1000000000 , " max. FT0C occupancy" };
103
103
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" };
104
107
} eventcuts;
105
108
106
109
DielectronCut fDielectronCut ;
@@ -157,12 +160,6 @@ struct SingleTrackQC {
157
160
DimuonCut fDimuonCut ;
158
161
struct : ConfigurableGroup {
159
162
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" };
166
163
167
164
Configurable<uint8_t > cfg_track_type{" cfg_track_type" , 3 , " muon track type [0: MFT-MCH-MID, 3: MCH-MID]" };
168
165
Configurable<float > cfg_min_pt_track{" cfg_min_pt_track" , 0.1 , " min pT for single track" };
@@ -199,8 +196,10 @@ struct SingleTrackQC {
199
196
const AxisSpec axis_eta{20 , -1.0 , +1.0 , " #eta_{e}" };
200
197
const AxisSpec axis_phi{36 , 0.0 , 2 * M_PI, " #varphi_{e} (rad.)" };
201
198
std::string dca_axis_title = " DCA_{e}^{3D} (#sigma)" ;
202
- if (cfgUseDCAxy ) {
199
+ if (cfgDCAType == 1 ) {
203
200
dca_axis_title = " DCA_{e}^{XY} (#sigma)" ;
201
+ } else if (cfgDCAType == 2 ) {
202
+ dca_axis_title = " DCA_{e}^{Z} (#sigma)" ;
204
203
}
205
204
const AxisSpec axis_dca{ConfDCABins, dca_axis_title};
206
205
@@ -311,6 +310,9 @@ struct SingleTrackQC {
311
310
fEMEventCut .SetRequireVertexITSTPC (eventcuts.cfgRequireVertexITSTPC );
312
311
fEMEventCut .SetRequireGoodZvtxFT0vsPV (eventcuts.cfgRequireGoodZvtxFT0vsPV );
313
312
fEMEventCut .SetRequireNoCollInTimeRangeStandard (eventcuts.cfgRequireNoCollInTimeRangeStandard );
313
+ fEMEventCut .SetRequireNoCollInTimeRangeStrict (eventcuts.cfgRequireNoCollInTimeRangeStrict );
314
+ fEMEventCut .SetRequireNoCollInITSROFStandard (eventcuts.cfgRequireNoCollInITSROFStandard );
315
+ fEMEventCut .SetRequireNoCollInITSROFStrict (eventcuts.cfgRequireNoCollInITSROFStrict );
314
316
}
315
317
316
318
o2::analysis::MlResponseDielectronSingleTrack<float > mlResponseSingleTrack;
@@ -376,11 +378,6 @@ struct SingleTrackQC {
376
378
{
377
379
fDimuonCut = DimuonCut (" fDimuonCut" , " fDimuonCut" );
378
380
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
-
384
381
// for track
385
382
fDimuonCut .SetTrackType (dimuoncuts.cfg_track_type );
386
383
fDimuonCut .SetTrackPtRange (dimuoncuts.cfg_min_pt_track , 1e10f);
@@ -405,8 +402,10 @@ struct SingleTrackQC {
405
402
}
406
403
407
404
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);
410
409
}
411
410
412
411
if (track.sign () > 0 ) {
0 commit comments