33 return hltIterativeTracking ? cuts[1] : cuts[0];
35 return hltIterativeTracking ? cuts[2] : cuts[0];
39 return hltIterativeTracking ? cuts.at(5):cuts[0];
74 return hltIterativeTracking ? cuts[1] : cuts[0];
76 return hltIterativeTracking ? cuts[2] : cuts[0];
80 return hltIterativeTracking ? cuts.at(5):cuts[0];
110 return errorScale[0];
112 return errorScale[1];
253 const std::vector<double>& DPtovPtCut,
254 const std::vector<unsigned>& NHitCut,
255 bool useIterTracking,
261 const double p = trackref->p();
262 const double pT = trackref->pt();
263 const double dpT = trackref->ptError();
264 const unsigned int nHit =
265 trackref->hitPattern().trackerLayersWithMeasurement();
266 const unsigned int nLostHit =
268 const unsigned int lostHits = trackref->numberOfLostHits();
272 if ( p < 0.05 )
return false;
274 LogDebug(
"goodPtResolution") <<
" PFBlockAlgo: PFrecTrack->Track Pt= " 275 << pT <<
" DPt = " << dpT << std::endl;
278 double dptCut =
dPtCut(trackref->algo(),DPtovPtCut,useIterTracking);
279 unsigned int nhitCut =
nHitCut(trackref->algo(),NHitCut,useIterTracking);
281 if ( ( dptCut > 0. &&
282 dpT/pT > dptCut*sigmaHad ) ||
284 LogDebug(
"goodPtResolution") <<
" PFBlockAlgo: skip badly measured track" 288 <<
", N(hits) = " << nHit
289 <<
" (Lost : " << lostHits <<
"/" << nLostHit <<
")" 290 <<
", Algo = " << trackref->algo()
292 LogDebug(
"goodPtResolution") <<
" cut is DPt/Pt < " << dptCut * sigmaHad << std::endl;
293 LogDebug(
"goodPtResolution") <<
" cut is NHit >= " << nhitCut << std::endl;
TrackAlgorithm
track algorithm