2121#include " GLO/ITSTPCMatchingTask.h"
2222#include < Framework/InputRecord.h>
2323#include < Framework/InputRecordWalker.h>
24+ #include < QualityControl/stringUtils.h>
2425
2526using matchType = o2::globaltracking::MatchITSTPCQC::matchType;
2627
@@ -37,9 +38,12 @@ void ITSTPCMatchingTask::initialize(o2::framework::InitContext& /*ctx*/)
3738
3839 if (auto param = mCustomParameters .find (" isMC" ); param != mCustomParameters .end ()) {
3940 ILOG (Debug, Devel) << " Custom parameter - isMC (= use of MC info): " << param->second << ENDM ;
40- if (param->second == " true" || param->second == " True" || param->second == " TRUE" ) {
41- mMatchITSTPCQC .setUseMC (true );
42- }
41+ mMatchITSTPCQC .setUseMC (o2::quality_control::core::decodeBool (param->second ));
42+ }
43+
44+ if (auto param = mCustomParameters .find (" useTrkPID" ); param != mCustomParameters .end ()) {
45+ ILOG (Debug, Devel) << " Custom parameter - useTrkPID (= add plots for tracking PID): " << param->second << ENDM ;
46+ mMatchITSTPCQC .setUseTrkPID (o2::quality_control::core::decodeBool (param->second ));
4347 }
4448
4549 // ///////////////////////////// Track selections for MatchITSTPCQC ////////////////////////////////
@@ -99,72 +103,7 @@ void ITSTPCMatchingTask::initialize(o2::framework::InitContext& /*ctx*/)
99103
100104 mMatchITSTPCQC .initDataRequest ();
101105 mMatchITSTPCQC .init ();
102-
103- for (int i = 0 ; i < matchType::SIZE ; ++i) {
104- // Pt
105- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPtNum (matchType (i)));
106- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPtDen (matchType (i)));
107- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatch (matchType (i)));
108-
109- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPtNumNoEta0 (matchType (i)));
110- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPtDenNoEta0 (matchType (i)));
111- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatchNoEta0 (matchType (i)));
112-
113- // Phi
114- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPhiNum (matchType (i)));
115- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPhiDen (matchType (i)));
116- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatchPhi (matchType (i)));
117-
118- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPhiVsPtNum (matchType (i)));
119- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPhiVsPtDen (matchType (i)));
120- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatchPhiVsPt (matchType (i)));
121-
122- // Eta
123- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoEtaNum (matchType (i)));
124- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoEtaDen (matchType (i)));
125- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatchEta (matchType (i)));
126-
127- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoEtaVsPtNum (matchType (i)));
128- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoEtaVsPtDen (matchType (i)));
129- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatchEtaVsPt (matchType (i)));
130-
131- // 1/Pt
132- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHisto1OverPtNum (matchType (i)));
133- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHisto1OverPtDen (matchType (i)));
134- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatch1OverPt (matchType (i)));
135-
136- if (mMatchITSTPCQC .getUseMC ()) {
137- // Pt
138- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPtPhysPrimNum (matchType (i)));
139- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPtPhysPrimDen (matchType (i)));
140- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatchPhysPrim (matchType (i)));
141-
142- // Phi
143- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPhiPhysPrimNum (matchType (i)));
144- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoPhiPhysPrimDen (matchType (i)));
145- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatchPhiPhysPrim (matchType (i)));
146-
147- // Eta
148- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoEtaPhysPrimNum (matchType (i)));
149- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoEtaPhysPrimDen (matchType (i)));
150- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatchEtaPhysPrim (matchType (i)));
151-
152- // 1/Pt
153- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHisto1OverPtPhysPrimNum (matchType (i)));
154- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHisto1OverPtPhysPrimDen (matchType (i)));
155- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getFractionITSTPCmatchPhysPrim1OverPt (matchType (i)));
156- }
157- }
158- // Residuals
159- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoResidualPt ());
160- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoResidualPhi ());
161- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoResidualEta ());
162-
163- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoChi2Matching ());
164- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoChi2Refit ());
165- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoTimeResVsPt ());
166-
167- getObjectsManager ()->startPublishing (mMatchITSTPCQC .getHistoDCAr ());
106+ mMatchITSTPCQC .publishHistograms (getObjectsManager ());
168107}
169108
170109void ITSTPCMatchingTask::startOfActivity (const Activity& activity)
0 commit comments