@@ -32,7 +32,8 @@ VertexTimeAlgorithmFromTracksPID::VertexTimeAlgorithmFromTracksPID(edm::Paramete
3232 probKaon_(iConfig.getParameter<double >(" probKaon" )),
3333 probProton_(iConfig.getParameter<double >(" probProton" )),
3434 Tstart_(iConfig.getParameter<double >(" Tstart" )),
35- coolingFactor_(iConfig.getParameter<double >(" coolingFactor" )) {}
35+ coolingFactor_(iConfig.getParameter<double >(" coolingFactor" )),
36+ useMVAVtxTime_(iConfig.getParameter<bool >(" useMVAVtxTime" )) {}
3637
3738void VertexTimeAlgorithmFromTracksPID::fillPSetDescription (edm::ParameterSetDescription& iDesc) {
3839 VertexTimeAlgorithmBase::fillPSetDescription (iDesc);
@@ -65,6 +66,7 @@ void VertexTimeAlgorithmFromTracksPID::fillPSetDescription(edm::ParameterSetDesc
6566
6667 iDesc.add <double >(" Tstart" , 256 .)->setComment (" DA initial temperature T" );
6768 iDesc.add <double >(" coolingFactor" , 0.5 )->setComment (" DA cooling factor" );
69+ iDesc.add <bool >(" useMVAVtxTime" , true )->setComment (" Use MVA quality selection for vertex time calculation" );
6870}
6971
7072void VertexTimeAlgorithmFromTracksPID::setEvent (edm::Event& iEvent, edm::EventSetup const &) {
@@ -105,8 +107,7 @@ bool VertexTimeAlgorithmFromTracksPID::vertexTime(float& vtxTime,
105107 auto const trkWeight = vtx.trackWeight (trk);
106108 if (trkWeight > minTrackVtxWeight_) {
107109 auto const trkTimeQuality = trackMTDTimeQualities_[trk.trackBaseRef ()];
108-
109- if (trkTimeQuality >= minTrackTimeQuality_) {
110+ if (!useMVAVtxTime_ || (useMVAVtxTime_ && trkTimeQuality >= minTrackTimeQuality_)) {
110111 auto const trkTime = trackMTDTimes_[trk.trackBaseRef ()];
111112 auto const trkTimeError = trackMTDTimeErrors_[trk.trackBaseRef ()];
112113
0 commit comments