CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
GlobalTrackQualityProducer Class Reference

#include <GlobalTrackQualityProducer.h>

Inheritance diagram for GlobalTrackQualityProducer:
edm::stream::EDProducer<>

Public Member Functions

 GlobalTrackQualityProducer (const edm::ParameterSet &iConfig)
 
 ~GlobalTrackQualityProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Member Functions

virtual std::pair< double, double > kink (Trajectory &muon) const
 
virtual std::pair< double, double > newChi2 (Trajectory &muon) const
 
void produce (edm::Event &, const edm::EventSetup &) override
 
virtual double trackProbability (Trajectory &track) const
 

Private Attributes

edm::EDGetTokenT< reco::TrackCollectionglbMuonsToken
 
edm::InputTag inputCollection_
 
edm::InputTag inputLinksCollection_
 
edm::EDGetTokenT< reco::MuonTrackLinksCollectionlinkCollectionToken
 
MeasurementEstimatortheEstimator
 
GlobalMuonTrackMatchertheGlbMatcher
 
GlobalMuonRefittertheGlbRefitter
 
MuonServiceProxytheService
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtTopoToken_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 28 of file GlobalTrackQualityProducer.h.

Constructor & Destructor Documentation

◆ GlobalTrackQualityProducer()

GlobalTrackQualityProducer::GlobalTrackQualityProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 28 of file GlobalTrackQualityProducer.cc.

29  : inputCollection_(iConfig.getParameter<edm::InputTag>("InputCollection")),
30  inputLinksCollection_(iConfig.getParameter<edm::InputTag>("InputLinksCollection")),
32  theService(nullptr),
33  theGlbRefitter(nullptr),
34  theGlbMatcher(nullptr) {
35  // service parameters
36  edm::ParameterSet serviceParameters = iConfig.getParameter<edm::ParameterSet>("ServiceParameters");
37  theService = new MuonServiceProxy(serviceParameters, consumesCollector());
38 
39  // TrackRefitter parameters
40  edm::ConsumesCollector iC = consumesCollector();
41  edm::ParameterSet refitterParameters = iConfig.getParameter<edm::ParameterSet>("RefitterParameters");
42  theGlbRefitter = new GlobalMuonRefitter(refitterParameters, theService, iC);
43 
44  edm::ParameterSet trackMatcherPSet = iConfig.getParameter<edm::ParameterSet>("GlobalMuonTrackMatcher");
45  theGlbMatcher = new GlobalMuonTrackMatcher(trackMatcherPSet, theService);
46 
47  double maxChi2 = iConfig.getParameter<double>("MaxChi2");
48  double nSigma = iConfig.getParameter<double>("nSigma");
50 
51  glbMuonsToken = consumes<reco::TrackCollection>(inputCollection_);
52  linkCollectionToken = consumes<reco::MuonTrackLinksCollection>(inputLinksCollection_);
53 
54  produces<edm::ValueMap<reco::MuonQuality>>();
55 }

References Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, edm::ParameterSet::getParameter(), glbMuonsToken, GlobalMuonRefitter_cff::GlobalMuonRefitter, HLT_FULL_cff::GlobalMuonTrackMatcher, inputCollection_, inputLinksCollection_, linkCollectionToken, beam_dqm_sourceclient-live_cfg::maxChi2, MuonServiceProxy_cff::MuonServiceProxy, HLTSiStripMonitoring_cff::nSigma, theEstimator, theGlbMatcher, theGlbRefitter, and theService.

◆ ~GlobalTrackQualityProducer()

GlobalTrackQualityProducer::~GlobalTrackQualityProducer ( )
override

Definition at line 57 of file GlobalTrackQualityProducer.cc.

57  {
58  if (theService)
59  delete theService;
60  if (theGlbRefitter)
61  delete theGlbRefitter;
62  if (theGlbMatcher)
63  delete theGlbMatcher;
64  if (theEstimator)
65  delete theEstimator;
66 }

References theEstimator, theGlbMatcher, theGlbRefitter, and theService.

Member Function Documentation

◆ fillDescriptions()

void GlobalTrackQualityProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 319 of file GlobalTrackQualityProducer.cc.

319  {
321  {
323  psd1.setAllowAnything();
324  desc.add<edm::ParameterSetDescription>("ServiceParameters", psd1);
325  }
326  {
328  psd1.setAllowAnything();
329  desc.add<edm::ParameterSetDescription>("GlobalMuonTrackMatcher", psd1);
330  }
331  desc.add<edm::InputTag>("InputCollection", edm::InputTag("globalMuons"));
332  desc.add<edm::InputTag>("InputLinksCollection", edm::InputTag("globalMuons"));
333  desc.add<std::string>("BaseLabel", "GLB");
334  {
335  edm::ParameterSetDescription descGlbMuonRefitter;
336  descGlbMuonRefitter.setAllowAnything();
337  descGlbMuonRefitter.add<edm::InputTag>("DTRecSegmentLabel", edm::InputTag("dt1DRecHits"));
338  descGlbMuonRefitter.add<edm::InputTag>("CSCRecSegmentLabel", edm::InputTag("csc2DRecHits"));
339  descGlbMuonRefitter.add<edm::InputTag>("GEMRecHitLabel", edm::InputTag("gemRecHits"));
340  descGlbMuonRefitter.add<edm::InputTag>("ME0RecHitLabel", edm::InputTag("me0Segments"));
341  descGlbMuonRefitter.add<edm::InputTag>("RPCRecSegmentLabel", edm::InputTag("rpcRecHits"));
342 
343  descGlbMuonRefitter.add<std::string>("Fitter", "KFFitterForRefitInsideOut");
344  descGlbMuonRefitter.add<std::string>("Smoother", "KFSmootherForRefitInsideOut");
345  descGlbMuonRefitter.add<std::string>("Propagator", "SmartPropagatorAnyRK");
346  descGlbMuonRefitter.add<std::string>("TrackerRecHitBuilder", "WithAngleAndTemplate");
347  descGlbMuonRefitter.add<std::string>("MuonRecHitBuilder", "MuonRecHitBuilder");
348  descGlbMuonRefitter.add<bool>("DoPredictionsOnly", false);
349  descGlbMuonRefitter.add<std::string>("RefitDirection", "insideOut");
350  descGlbMuonRefitter.add<bool>("PropDirForCosmics", false);
351  descGlbMuonRefitter.add<bool>("RefitRPCHits", true);
352 
353  descGlbMuonRefitter.add<std::vector<int>>("DYTthrs", {10, 10});
354  descGlbMuonRefitter.add<int>("DYTselector", 1);
355  descGlbMuonRefitter.add<bool>("DYTupdator", false);
356  descGlbMuonRefitter.add<bool>("DYTuseAPE", false);
357  descGlbMuonRefitter.add<bool>("DYTuseThrsParametrization", true);
358  {
359  edm::ParameterSetDescription descDYTthrs;
360  descDYTthrs.add<std::vector<double>>("eta0p8", {1, -0.919853, 0.990742});
361  descDYTthrs.add<std::vector<double>>("eta1p2", {1, -0.897354, 0.987738});
362  descDYTthrs.add<std::vector<double>>("eta2p0", {4, -0.986855, 0.998516});
363  descDYTthrs.add<std::vector<double>>("eta2p2", {1, -0.940342, 0.992955});
364  descDYTthrs.add<std::vector<double>>("eta2p4", {1, -0.947633, 0.993762});
365  descGlbMuonRefitter.add<edm::ParameterSetDescription>("DYTthrsParameters", descDYTthrs);
366  }
367 
368  descGlbMuonRefitter.add<int>("SkipStation", -1);
369  descGlbMuonRefitter.add<int>("TrackerSkipSystem", -1);
370  descGlbMuonRefitter.add<int>("TrackerSkipSection", -1);
371  descGlbMuonRefitter.add<bool>("RefitFlag", true);
372 
373  desc.add<edm::ParameterSetDescription>("RefitterParameters", descGlbMuonRefitter);
374  }
375  desc.add<double>("nSigma", 3.0);
376  desc.add<double>("MaxChi2", 100000.0);
377 
378  descriptions.add("globalTrackQualityProducer", desc);
379 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, edm::ParameterSetDescription::setAllowAnything(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ kink()

std::pair< double, double > GlobalTrackQualityProducer::kink ( Trajectory muon) const
privatevirtual

Definition at line 184 of file GlobalTrackQualityProducer.cc.

184  {
185  const std::string theCategory = "Muon|RecoMuon|GlobalTrackQualityProducer";
186 
187  using namespace std;
188  using namespace edm;
189  using namespace reco;
190 
191  double result = 0.0;
192  double resultGlb = 0.0;
193 
195  typedef ConstRecHitPointer RecHit;
196  typedef std::vector<TrajectoryMeasurement>::const_iterator TMI;
197 
198  vector<TrajectoryMeasurement> meas = muon.measurements();
199 
200  for (TMI m = meas.begin(); m != meas.end(); m++) {
202 
203  //not used double estimate = 0.0;
204 
205  RecHit rhit = (*m).recHit();
206  bool ok = false;
207  if (rhit->isValid()) {
208  if (DetId::Tracker == rhit->geographicalId().det())
209  ok = true;
210  }
211 
212  //if ( !ok ) continue;
213 
214  const TrajectoryStateOnSurface& tsos = (*m).predictedState();
215 
216  if (tsos.isValid() && rhit->isValid() && rhit->hit()->isValid() &&
217  !edm::isNotFinite(rhit->localPositionError().xx()) //this is paranoia induced by reported case
218  && !edm::isNotFinite(rhit->localPositionError().xy()) //it's better to track down the origin of bad numbers
219  && !edm::isNotFinite(rhit->localPositionError().yy())) {
220  double phi1 = tsos.globalPosition().phi();
221  if (phi1 < 0)
222  phi1 = 2 * M_PI + phi1;
223 
224  double phi2 = rhit->globalPosition().phi();
225  if (phi2 < 0)
226  phi2 = 2 * M_PI + phi2;
227 
228  double diff = fabs(phi1 - phi2);
229  if (diff > M_PI)
230  diff = 2 * M_PI - diff;
231 
232  GlobalPoint hitPos = rhit->globalPosition();
233 
234  GlobalError hitErr = rhit->globalPositionError();
235  //LogDebug(theCategory)<<"hitPos " << hitPos;
236  double error = hitErr.phierr(hitPos); // error squared
237 
238  double s = (error > 0.0) ? (diff * diff) / error : (diff * diff);
239 
240  if (ok)
241  result += s;
242  resultGlb += s;
243  }
244  }
245 
246  return std::pair<double, double>(result, resultGlb);
247 }

References change_name::diff, relativeConstraints::error, TrajectoryStateOnSurface::globalPosition(), edm::isNotFinite(), TrajectoryStateOnSurface::isValid(), visualization-live-secondInstance_cfg::m, M_PI, convertSQLiteXML::ok, PV3DBase< T, PVType, FrameType >::phi(), GlobalErrorBase< T, ErrorWeightType >::phierr(), mps_fire::result, alignCSCRings::s, AlCaHLTBitMon_QueryRunRegistry::string, and DetId::Tracker.

Referenced by produce().

◆ newChi2()

std::pair< double, double > GlobalTrackQualityProducer::newChi2 ( Trajectory muon) const
privatevirtual

Definition at line 249 of file GlobalTrackQualityProducer.cc.

249  {
250  const std::string theCategory = "Muon|RecoMuon|GlobalTrackQualityProducer";
251 
252  using namespace std;
253  using namespace edm;
254  using namespace reco;
255 
256  double muChi2 = 0.0;
257  double tkChi2 = 0.0;
258  unsigned int muNdof = 0;
259  unsigned int tkNdof = 0;
260 
262  typedef ConstRecHitPointer RecHit;
263  typedef vector<TrajectoryMeasurement>::const_iterator TMI;
264 
265  vector<TrajectoryMeasurement> meas = muon.measurements();
266 
267  for (TMI m = meas.begin(); m != meas.end(); m++) {
269  const TrajectoryStateOnSurface& uptsos = (*m).updatedState();
270  // FIXME FIXME CLONE!!!
271  // TrackingRecHit::RecHitPointer preciseHit = hit->clone(uptsos);
272  const auto& preciseHit = hit;
273  double estimate = 0.0;
274  if (preciseHit->isValid() && uptsos.isValid()) {
275  estimate = theEstimator->estimate(uptsos, *preciseHit).second;
276  }
277 
278  //LogTrace(theCategory) << "estimate " << estimate << " TM.est " << m->estimate();
279  //UNUSED: double tkDiff = 0.0;
280  //UNUSED: double staDiff = 0.0;
281  if (hit->isValid() && (hit->geographicalId().det()) == DetId::Tracker) {
282  tkChi2 += estimate;
283  //UNUSED: tkDiff = estimate - m->estimate();
284  tkNdof += hit->dimension();
285  }
286  if (hit->isValid() && (hit->geographicalId().det()) == DetId::Muon) {
287  muChi2 += estimate;
288  //UNUSED staDiff = estimate - m->estimate();
289  muNdof += hit->dimension();
290  }
291  }
292 
293  //For tkNdof < 6, should a large number or something else
294  // be used instead of just tkChi2 directly?
295  if (tkNdof > 5) {
296  tkChi2 /= (tkNdof - 5.);
297  }
298 
299  //For muNdof < 6, should a large number or something else
300  // be used instead of just muChi2 directly?
301  if (muNdof > 5) {
302  muChi2 /= (muNdof - 5.);
303  }
304 
305  return std::pair<double, double>(tkChi2, muChi2);
306 }

References MeasurementEstimator::estimate(), TrajectoryStateOnSurface::isValid(), visualization-live-secondInstance_cfg::m, DetId::Muon, AlCaHLTBitMon_QueryRunRegistry::string, theEstimator, and DetId::Tracker.

Referenced by produce().

◆ produce()

void GlobalTrackQualityProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 68 of file GlobalTrackQualityProducer.cc.

68  {
69  const std::string theCategory = "Muon|RecoMuon|GlobalTrackQualityProducer";
70 
71  theService->update(iSetup);
72 
74 
76 
77  // Take the GLB muon container(s)
79  iEvent.getByToken(glbMuonsToken, glbMuons);
80 
82  iEvent.getByToken(linkCollectionToken, linkCollectionHandle);
83 
84  //Retrieve tracker topology from geometry
85  const TrackerTopology* tTopo = &iSetup.getData(tTopoToken_);
86 
87  // reserve some space
88  std::vector<reco::MuonQuality> valuesQual;
89  valuesQual.reserve(glbMuons->size());
90 
91  int trackIndex = 0;
92  for (reco::TrackCollection::const_iterator track = glbMuons->begin(); track != glbMuons->end();
93  ++track, ++trackIndex) {
94  reco::TrackRef glbRef(glbMuons, trackIndex);
95  reco::TrackRef staTrack = reco::TrackRef();
96 
97  std::vector<Trajectory> refitted = theGlbRefitter->refit(*track, 1, tTopo);
98 
99  LogTrace(theCategory) << "GLBQual N refitted " << refitted.size();
100 
101  std::pair<double, double> thisKink;
102  double relative_muon_chi2 = 0.0;
103  double relative_tracker_chi2 = 0.0;
104  double glbTrackProbability = 0.0;
105  if (!refitted.empty()) {
106  thisKink = kink(refitted.front());
107  std::pair<double, double> chi = newChi2(refitted.front());
108  relative_muon_chi2 = chi.second; //normalized inside to /sum(muHits.dimension)
109  relative_tracker_chi2 = chi.first; //normalized inside to /sum(tkHits.dimension)
110  glbTrackProbability = trackProbability(refitted.front());
111  }
112 
113  LogTrace(theCategory) << "GLBQual: Kink " << thisKink.first << " " << thisKink.second;
114  LogTrace(theCategory) << "GLBQual: Rel Chi2 " << relative_tracker_chi2 << " " << relative_muon_chi2;
115  LogTrace(theCategory) << "GLBQual: trackProbability " << glbTrackProbability;
116 
117  // Fill the STA-TK match information
118  float chi2, d, dist, Rpos;
119  chi2 = d = dist = Rpos = -1.0;
120  bool passTight = false;
122  if (linkCollectionHandle.isValid()) {
123  for (reco::MuonTrackLinksCollection::const_iterator links = linkCollectionHandle->begin();
124  links != linkCollectionHandle->end();
125  ++links) {
126  if (links->trackerTrack().isNull() || links->standAloneTrack().isNull() || links->globalTrack().isNull()) {
127  edm::LogWarning(theCategory) << "Global muon links to constituent tracks are invalid. There should be no "
128  "such object. Muon is skipped.";
129  continue;
130  }
131  if (links->globalTrack() == glbRef) {
132  staTrack = !links->standAloneTrack().isNull() ? links->standAloneTrack() : reco::TrackRef();
133  TrackCand staCand = TrackCand((Trajectory*)nullptr, links->standAloneTrack());
134  TrackCand tkCand = TrackCand((Trajectory*)nullptr, links->trackerTrack());
135  chi2 = theGlbMatcher->match(staCand, tkCand, 0, 0);
136  d = theGlbMatcher->match(staCand, tkCand, 1, 0);
137  Rpos = theGlbMatcher->match(staCand, tkCand, 2, 0);
138  dist = theGlbMatcher->match(staCand, tkCand, 3, 0);
139  passTight = theGlbMatcher->matchTight(staCand, tkCand);
140  }
141  }
142  }
143 
144  if (!staTrack.isNull())
145  LogTrace(theCategory) << "GLBQual: Used UpdatedAtVtx : "
146  << (iEvent.getStableProvenance(staTrack.id()).productInstanceName() ==
147  std::string("UpdatedAtVtx"));
148 
149  float maxFloat01 =
150  std::numeric_limits<float>::max() * 0.1; // a better solution would be to use float above .. m/be not
151  reco::MuonQuality muQual;
152  if (!staTrack.isNull())
153  muQual.updatedSta =
154  iEvent.getStableProvenance(staTrack.id()).productInstanceName() == std::string("UpdatedAtVtx");
155  muQual.trkKink = thisKink.first > maxFloat01 ? maxFloat01 : thisKink.first;
156  muQual.glbKink = thisKink.second > maxFloat01 ? maxFloat01 : thisKink.second;
157  muQual.trkRelChi2 = relative_tracker_chi2 > maxFloat01 ? maxFloat01 : relative_tracker_chi2;
158  muQual.staRelChi2 = relative_muon_chi2 > maxFloat01 ? maxFloat01 : relative_muon_chi2;
159  muQual.tightMatch = passTight;
160  muQual.chi2LocalPosition = dist;
161  muQual.chi2LocalMomentum = chi2;
162  muQual.localDistance = d;
163  muQual.globalDeltaEtaPhi = Rpos;
164  muQual.glbTrackProbability = glbTrackProbability;
165  valuesQual.push_back(muQual);
166  }
167 
168  /*
169  for(int i = 0; i < valuesTkRelChi2.size(); i++) {
170  LogTrace(theCategory)<<"value " << valuesTkRelChi2[i] ;
171  }
172  */
173 
174  // create and fill value maps
175  auto outQual = std::make_unique<edm::ValueMap<reco::MuonQuality>>();
176  edm::ValueMap<reco::MuonQuality>::Filler fillerQual(*outQual);
177  fillerQual.insert(glbMuons, valuesQual.begin(), valuesQual.end());
178  fillerQual.fill();
179 
180  // put value map into event
181  iEvent.put(std::move(outQual));
182 }

References hltPixelTracks_cff::chi2, reco::MuonQuality::chi2LocalMomentum, reco::MuonQuality::chi2LocalPosition, ztail::d, MuonServiceProxy::eventSetup(), edm::EventSetup::getData(), reco::MuonQuality::glbKink, glbMuonsToken, reco::MuonQuality::glbTrackProbability, reco::MuonQuality::globalDeltaEtaPhi, edm::Ref< C, T, F >::id(), iEvent, edm::Ref< C, T, F >::isNull(), edm::HandleBase::isValid(), kink(), linkCollectionToken, electronStore::links, reco::MuonQuality::localDistance, LogTrace, GlobalMuonTrackMatcher::match(), GlobalMuonTrackMatcher::matchTight(), SiStripPI::max, eostools::move(), newChi2(), GlobalMuonRefitter::refit(), GlobalMuonRefitter::setEvent(), GlobalMuonRefitter::setServices(), reco::MuonQuality::staRelChi2, AlCaHLTBitMon_QueryRunRegistry::string, theGlbMatcher, theGlbRefitter, theService, reco::MuonQuality::tightMatch, HLT_FULL_cff::track, HLT_FULL_cff::TrackCand, trackProbability(), reco::MuonQuality::trkKink, reco::MuonQuality::trkRelChi2, tTopoToken_, MuonServiceProxy::update(), and reco::MuonQuality::updatedSta.

◆ trackProbability()

double GlobalTrackQualityProducer::trackProbability ( Trajectory track) const
privatevirtual

Definition at line 311 of file GlobalTrackQualityProducer.cc.

311  {
312  if (track.ndof() > 0 && track.chiSquared() > 0) {
313  return -LnChiSquaredProbability(track.chiSquared(), track.ndof());
314  } else {
315  return 0.0;
316  }
317 }

References LnChiSquaredProbability(), and HLT_FULL_cff::track.

Referenced by produce().

Member Data Documentation

◆ glbMuonsToken

edm::EDGetTokenT<reco::TrackCollection> GlobalTrackQualityProducer::glbMuonsToken
private

Definition at line 45 of file GlobalTrackQualityProducer.h.

Referenced by GlobalTrackQualityProducer(), and produce().

◆ inputCollection_

edm::InputTag GlobalTrackQualityProducer::inputCollection_
private

Definition at line 43 of file GlobalTrackQualityProducer.h.

Referenced by GlobalTrackQualityProducer().

◆ inputLinksCollection_

edm::InputTag GlobalTrackQualityProducer::inputLinksCollection_
private

Definition at line 44 of file GlobalTrackQualityProducer.h.

Referenced by GlobalTrackQualityProducer().

◆ linkCollectionToken

edm::EDGetTokenT<reco::MuonTrackLinksCollection> GlobalTrackQualityProducer::linkCollectionToken
private

Definition at line 46 of file GlobalTrackQualityProducer.h.

Referenced by GlobalTrackQualityProducer(), and produce().

◆ theEstimator

MeasurementEstimator* GlobalTrackQualityProducer::theEstimator
private

◆ theGlbMatcher

GlobalMuonTrackMatcher* GlobalTrackQualityProducer::theGlbMatcher
private

◆ theGlbRefitter

GlobalMuonRefitter* GlobalTrackQualityProducer::theGlbRefitter
private

◆ theService

MuonServiceProxy* GlobalTrackQualityProducer::theService
private

◆ tTopoToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> GlobalTrackQualityProducer::tTopoToken_
private

Definition at line 47 of file GlobalTrackQualityProducer.h.

Referenced by produce().

GlobalMuonRefitter_cff.GlobalMuonRefitter
GlobalMuonRefitter
Definition: GlobalMuonRefitter_cff.py:3
change_name.diff
diff
Definition: change_name.py:13
GlobalErrorBase::phierr
T phierr(const GlobalPoint &aPoint) const
Definition: GlobalErrorBase.h:149
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
reco::MuonQuality
Definition: MuonQuality.h:6
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
GlobalTrackQualityProducer::theGlbRefitter
GlobalMuonRefitter * theGlbRefitter
Definition: GlobalTrackQualityProducer.h:49
muon
Definition: MuonCocktails.h:17
edm::isNotFinite
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
reco::MuonQuality::globalDeltaEtaPhi
float globalDeltaEtaPhi
global delta-Eta-Phi of STA-TK matching
Definition: MuonQuality.h:25
edm::Ref::isNull
bool isNull() const
Checks for null.
Definition: Ref.h:235
edm
HLT enums.
Definition: AlignableModifier.h:19
reco::MuonQuality::trkRelChi2
float trkRelChi2
chi2 value for the inner track stub with respect to the global track
Definition: MuonQuality.h:15
TrackerTopology
Definition: TrackerTopology.h:16
GlobalMuonTrackMatcher::match
double match(const TrackCand &sta, const TrackCand &track, int matchOption=0, int surfaceOption=1) const
Definition: GlobalMuonTrackMatcher.cc:100
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition: TrajectoryStateOnSurface.h:65
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89281
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
reco::MuonQuality::localDistance
float localDistance
local distance seperation for STA-TK TSOS matching on same surface
Definition: MuonQuality.h:23
reco::MuonQuality::glbTrackProbability
float glbTrackProbability
the tail probability (-ln(P)) of the global fit
Definition: MuonQuality.h:29
beam_dqm_sourceclient-live_cfg.maxChi2
maxChi2
Definition: beam_dqm_sourceclient-live_cfg.py:144
reco::MuonQuality::chi2LocalPosition
float chi2LocalPosition
chi2 value for the STA-TK matching of local position
Definition: MuonQuality.h:19
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::Handle< reco::TrackCollection >
relativeConstraints.error
error
Definition: relativeConstraints.py:53
GlobalTrackQualityProducer::theService
MuonServiceProxy * theService
Definition: GlobalTrackQualityProducer.h:48
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
MuonServiceProxy_cff.MuonServiceProxy
MuonServiceProxy
Definition: MuonServiceProxy_cff.py:14
edm::Ref< TrackCollection >
GlobalTrackQualityProducer::glbMuonsToken
edm::EDGetTokenT< reco::TrackCollection > glbMuonsToken
Definition: GlobalTrackQualityProducer.h:45
reco::MuonQuality::staRelChi2
float staRelChi2
chi2 value for the outer track stub with respect to the global track
Definition: MuonQuality.h:17
MeasurementEstimator::estimate
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0
GlobalTrackQualityProducer::inputCollection_
edm::InputTag inputCollection_
Definition: GlobalTrackQualityProducer.h:43
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
alignCSCRings.s
s
Definition: alignCSCRings.py:92
ConstRecHitPointer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
Definition: MillePedeAlignmentAlgorithm.cc:75
reco::MuonQuality::updatedSta
bool updatedSta
bool returns true if standAloneMuon_updatedAtVtx was used in the fit
Definition: MuonQuality.h:9
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
LnChiSquaredProbability
float LnChiSquaredProbability(double chiSquared, double nrDOF)
Definition: ChiSquaredProbability.cc:17
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator
Chi2MeasurementEstimator
Definition: Chi2MeasurementEstimator_cfi.py:5
GlobalTrackQualityProducer::tTopoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
Definition: GlobalTrackQualityProducer.h:47
Point3DBase< float, GlobalTag >
reco::TrackRef
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MuonServiceProxy::update
void update(const edm::EventSetup &setup, bool duringEvent=true)
update the services each event
Definition: MuonServiceProxy.cc:111
MuonServiceProxy::eventSetup
const edm::EventSetup & eventSetup() const
Definition: MuonServiceProxy.h:76
edm::ParameterSet
Definition: ParameterSet.h:47
DetId::Tracker
Definition: DetId.h:25
reco::MuonQuality::trkKink
float trkKink
value of the kink algorithm applied to the inner track stub
Definition: MuonQuality.h:11
GlobalTrackQualityProducer::theGlbMatcher
GlobalMuonTrackMatcher * theGlbMatcher
Definition: GlobalTrackQualityProducer.h:50
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
reco::MuonQuality::glbKink
float glbKink
value of the kink algorithm applied to the global track
Definition: MuonQuality.h:13
HLT_FULL_cff.TrackCand
TrackCand
Definition: HLT_FULL_cff.py:21863
GlobalTrackQualityProducer::newChi2
virtual std::pair< double, double > newChi2(Trajectory &muon) const
Definition: GlobalTrackQualityProducer.cc:249
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
iEvent
int iEvent
Definition: GenABIO.cc:224
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
GlobalErrorBase< double, ErrorMatrixTag >
edm::ParameterSetDescription::setAllowAnything
void setAllowAnything()
allow any parameter label/value pairs
Definition: ParameterSetDescription.cc:37
GlobalMuonRefitter::setServices
void setServices(const edm::EventSetup &)
set the services needed by the TrackTransformer
Definition: GlobalMuonRefitter.cc:163
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
HLT_FULL_cff.GlobalMuonTrackMatcher
GlobalMuonTrackMatcher
Definition: HLT_FULL_cff.py:9644
edm::Ref::id
ProductID id() const
Accessor for product ID.
Definition: Ref.h:244
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
GlobalTrackQualityProducer::linkCollectionToken
edm::EDGetTokenT< reco::MuonTrackLinksCollection > linkCollectionToken
Definition: GlobalTrackQualityProducer.h:46
reco::MuonQuality::tightMatch
bool tightMatch
if the STA-TK matching passed the tighter matching criteria
Definition: MuonQuality.h:27
GlobalMuonRefitter::setEvent
virtual void setEvent(const edm::Event &)
pass the Event to the algo at each event
Definition: GlobalMuonRefitter.cc:153
GlobalTrackQualityProducer::kink
virtual std::pair< double, double > kink(Trajectory &muon) const
Definition: GlobalTrackQualityProducer.cc:184
Trajectory
Definition: Trajectory.h:38
electronStore.links
links
Definition: electronStore.py:149
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MuonTrajectoryBuilder::TrackCand
std::pair< const Trajectory *, reco::TrackRef > TrackCand
Definition: MuonTrajectoryBuilder.h:25
ztail.d
d
Definition: ztail.py:151
mps_fire.result
result
Definition: mps_fire.py:311
DetId::Muon
Definition: DetId.h:26
edm::helper::Filler
Definition: ValueMap.h:22
GlobalTrackQualityProducer::theEstimator
MeasurementEstimator * theEstimator
Definition: GlobalTrackQualityProducer.h:51
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
reco::MuonQuality::chi2LocalMomentum
float chi2LocalMomentum
chi2 value for the STA-TK matching of local momentum
Definition: MuonQuality.h:21
GlobalTrackQualityProducer::inputLinksCollection_
edm::InputTag inputLinksCollection_
Definition: GlobalTrackQualityProducer.h:44
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
GlobalMuonRefitter::refit
std::vector< Trajectory > refit(const reco::Track &globalTrack, const int theMuonHitsOption, const TrackerTopology *tTopo) const
build combined trajectory from sta Track and tracker RecHits
Definition: GlobalMuonRefitter.cc:180
HLTSiStripMonitoring_cff.nSigma
nSigma
Definition: HLTSiStripMonitoring_cff.py:151
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
GlobalTrackQualityProducer::trackProbability
virtual double trackProbability(Trajectory &track) const
Definition: GlobalTrackQualityProducer.cc:311
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
hit
Definition: SiStripHitEffFromCalibTree.cc:88
GlobalMuonTrackMatcher::matchTight
bool matchTight(const TrackCand &sta, const TrackCand &track) const
check if two tracks are compatible (less than Chi2Cut, DeltaDCut, DeltaRCut)
Definition: GlobalMuonTrackMatcher.cc:80