CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
DynamicTruncation Class Reference

#include <DynamicTruncation.h>

Public Types

typedef TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
 
typedef TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
 

Public Member Functions

 DynamicTruncation (const edm::Event &, const MuonServiceProxy &)
 
TransientTrackingRecHit::ConstRecHitContainer filter (const Trajectory &)
 
reco::DYTInfo getDYTInfo ()
 
void setParThrsMode (bool dytParThrsMode)
 
void setProd (const edm::Handle< DTRecSegment4DCollection > &DTSegProd, const edm::Handle< CSCSegmentCollection > &CSCSegProd)
 
void setRecoEta (double eta)
 
void setRecoP (double p)
 
void setSelector (int)
 
void setThr (const std::vector< int > &)
 
void setThrsMap (const edm::ParameterSet &)
 
void setUpdateState (bool)
 
void setUseAPE (bool)
 
 ~DynamicTruncation ()
 

Private Member Functions

bool chooseLayers (int &, double const &, DTRecSegment4D const &, TrajectoryStateOnSurface const &, double const &, CSCSegment const &, TrajectoryStateOnSurface const &)
 
void compatibleDets (TrajectoryStateOnSurface &, std::map< int, std::vector< DetId >> &)
 
void correctThrByPAndEta (double &)
 
void fillDYTInfos (int const &, bool const &, int &, double const &, double const &, DTRecSegment4D const &, CSCSegment const &)
 
void fillSegmentMaps (std::map< int, std::vector< DetId >> &, std::map< int, std::vector< DTRecSegment4D >> &, std::map< int, std::vector< CSCSegment >> &)
 
void filteringAlgo ()
 
void getThresholdFromCFG (double &, DetId const &)
 
void getThresholdFromDB (double &, DetId const &)
 
void preliminaryFit (std::map< int, std::vector< DetId >>, std::map< int, std::vector< DTRecSegment4D >>, std::map< int, std::vector< CSCSegment >>)
 
void setEtaRegion ()
 
void sort (ConstRecHitContainer &)
 
int stationfromDet (DetId const &)
 
void testCSCstation (TrajectoryStateOnSurface &, std::vector< CSCSegment > const &, double &, CSCSegment &, TrajectoryStateOnSurface &)
 
void testDTstation (TrajectoryStateOnSurface &, std::vector< DTRecSegment4D > const &, double &, DTRecSegment4D &, TrajectoryStateOnSurface &)
 
void update (TrajectoryStateOnSurface &, ConstRecHitPointer)
 
void updateWithCSChits (TrajectoryStateOnSurface &, CSCSegment const &)
 
void updateWithDThits (TrajectoryStateOnSurface &, DTRecSegment4D const &)
 
void useSegment (CSCSegment const &, TrajectoryStateOnSurface const &)
 
void useSegment (DTRecSegment4D const &, TrajectoryStateOnSurface const &)
 

Private Attributes

std::map< CSCDetId, GlobalErrorcscApeMap
 
edm::ESHandle< CSCGeometrycscGeom
 
TrajectoryStateOnSurface currentState
 
bool doUpdateOfKFStates
 
std::map< DTChamberId, GlobalErrordtApeMap
 
reco::DYTInfo dytInfo
 
int DYTselector
 
const DYTThrObjectdytThresholds
 
std::map< int, double > estimatorMap
 
double eta_reco
 
ChamberSegmentUtilitygetSegs
 
std::map< int, DetIdidChamberMap
 
edm::ESHandle< MagneticFieldmagfield
 
double muonETAest
 
double muonPTest
 
DirectMuonNavigationnavigation
 
edm::ESHandle< MuonDetLayerGeometrynavMuon
 
int nStationsUsed
 
double p_reco
 
std::map< dyt_utils::etaRegion, std::vector< double > > parameters
 
ConstRecHitContainer prelFitMeas
 
TrajectoryStateOnSurface prelFitState
 
edm::ESHandle< Propagatorpropagator
 
edm::ESHandle< PropagatorpropagatorCompatibleDet
 
edm::ESHandle< PropagatorpropagatorPF
 
dyt_utils::etaRegion region
 
ConstRecHitContainer result
 
edm::ESHandle< GlobalTrackingGeometrytheG
 
edm::ESHandle< TransientTrackingRecHitBuildertheMuonRecHitBuilder
 
ThrParametersthrManager
 
std::vector< int > Thrs
 
edm::ESHandle< TrajectoryStateUpdatorupdatorHandle
 
bool useAPE
 
bool useDBforThr
 
std::map< int, bool > usedStationMap
 
bool useParametrizedThr
 

Detailed Description

Definition at line 47 of file DynamicTruncation.h.

Member Typedef Documentation

◆ ConstRecHitContainer

Definition at line 50 of file DynamicTruncation.h.

◆ ConstRecHitPointer

Definition at line 49 of file DynamicTruncation.h.

Constructor & Destructor Documentation

◆ DynamicTruncation()

DynamicTruncation::DynamicTruncation ( const edm::Event event,
const MuonServiceProxy theService 
)

Definition at line 45 of file DynamicTruncation.cc.

45  {
46  propagator = theService.propagator("SmartPropagatorAny");
47  propagatorPF = theService.propagator("SmartPropagatorAny");
48  propagatorCompatibleDet = theService.propagator("SmartPropagatorAny");
49  theG = theService.trackingGeometry();
50  theService.eventSetup().get<TransientRecHitRecord>().get("MuonRecHitBuilder", theMuonRecHitBuilder);
51  theService.eventSetup().get<TrackingComponentsRecord>().get("KFUpdator", updatorHandle);
52  theService.eventSetup().get<MuonGeometryRecord>().get(cscGeom);
53  theService.eventSetup().get<MuonRecoGeometryRecord>().get(navMuon);
54  theService.eventSetup().get<IdealMagneticFieldRecord>().get(magfield);
55  navigation = new DirectMuonNavigation(theService.detLayerGeometry());
57  thrManager = new ThrParameters(&theService.eventSetup());
59  if (useDBforThr)
61 
62  doUpdateOfKFStates = true;
63  useParametrizedThr = false;
64 }

References edm::get(), ThrParameters::isValidThdDB(), volumeBasedMagneticField_160812_cfi::magfield, and TrackCandidateProducer_cfi::propagator.

◆ ~DynamicTruncation()

DynamicTruncation::~DynamicTruncation ( )

Definition at line 66 of file DynamicTruncation.cc.

66  {
67  delete navigation;
68  delete thrManager;
69  delete getSegs;
70 }

Member Function Documentation

◆ chooseLayers()

bool DynamicTruncation::chooseLayers ( int &  incompLayers,
double const &  bestDTEstimator,
DTRecSegment4D const &  bestDTSeg,
TrajectoryStateOnSurface const &  tsosDT,
double const &  bestCSCEstimator,
CSCSegment const &  bestCSCSeg,
TrajectoryStateOnSurface const &  tsosCSC 
)
private

Definition at line 462 of file DynamicTruncation.cc.

468  {
469  double initThr = MAX_THR;
470  if (bestDTEstimator == MAX_THR && bestCSCEstimator == MAX_THR)
471  return false;
472  if (bestDTEstimator <= bestCSCEstimator) {
473  // Get threshold for the chamber
474  if (useDBforThr)
475  getThresholdFromDB(initThr, DetId(bestDTSeg.chamberId()));
476  else
477  getThresholdFromCFG(initThr, DetId(bestDTSeg.chamberId()));
478  if (DYTselector == 0 || (DYTselector == 1 && bestDTEstimator < initThr) ||
479  (DYTselector == 2 && incompLayers < 2 && bestDTEstimator < initThr)) {
480  useSegment(bestDTSeg, tsosDT);
481  return true;
482  }
483  } else {
484  // Get threshold for the chamber
485  if (useDBforThr)
486  getThresholdFromDB(initThr, DetId(bestCSCSeg.cscDetId()));
487  else
488  getThresholdFromCFG(initThr, DetId(bestCSCSeg.cscDetId()));
489  if (DYTselector == 0 || (DYTselector == 1 && bestCSCEstimator < initThr) ||
490  (DYTselector == 2 && incompLayers < 2 && bestCSCEstimator < initThr)) {
491  useSegment(bestCSCSeg, tsosCSC);
492  return true;
493  }
494  }
495  return false;
496 }

References DTRecSegment4D::chamberId(), CSCSegment::cscDetId(), GlobalMuonRefitter_cff::DYTselector, and MAX_THR.

◆ compatibleDets()

void DynamicTruncation::compatibleDets ( TrajectoryStateOnSurface ,
std::map< int, std::vector< DetId >> &   
)
private

Definition at line 277 of file DynamicTruncation.cc.

277  {
278  MuonPatternRecoDumper dumper;
279  MeasurementEstimator *theEstimator = new Chi2MeasurementEstimator(1000, 1000);
280  vector<const DetLayer *> navLayers;
282  unsigned int ilayerCorrected = 0;
283  for (unsigned int ilayer = 0; ilayer < navLayers.size(); ilayer++) {
284  // Skip RPC layers
285  if (navLayers[ilayer]->subDetector() != GeomDetEnumerators::DT &&
286  navLayers[ilayer]->subDetector() != GeomDetEnumerators::CSC)
287  continue;
288  ilayerCorrected++;
289  vector<DetLayer::DetWithState> comps =
290  navLayers[ilayer]->compatibleDets(currentState, *propagatorCompatibleDet, *theEstimator);
291  //cout << comps.size() << " compatible Dets with " << navLayers[ilayer]->subDetector() << " Layer " << ilayer << " "
292  //<< dumper.dumpLayer(navLayers[ilayer]);
293  if (!comps.empty()) {
294  for (unsigned int icomp = 0; icomp < comps.size(); icomp++) {
295  DetId id(comps[icomp].first->geographicalId().rawId());
296  detMap[ilayerCorrected].push_back(id);
297  }
298  }
299  }
300  if (theEstimator)
301  delete theEstimator;
302 }

References alongMomentum, Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, GeomDetEnumerators::CSC, GeomDetEnumerators::DT, edm::first(), and triggerObjects_cff::id.

◆ correctThrByPAndEta()

void DynamicTruncation::correctThrByPAndEta ( double &  thr)
private

Definition at line 513 of file DynamicTruncation.cc.

513  {
514  auto parametricThreshold = [this] {
515  double thr50 = this->parameters[this->region].at(0);
516  double p0 = this->parameters[this->region].at(1);
517  double p1 = this->parameters[this->region].at(2);
518  return thr50 * (1 + p0 * p_reco + std::pow(this->p_reco, p1));
519  };
520 
521  std::set<dyt_utils::etaRegion> regionsToExclude = {
523 
524  if (!regionsToExclude.count(this->region))
525  thr = parametricThreshold();
526 }

References dyt_utils::eta2p0, dyt_utils::eta2p2, dyt_utils::eta2p4, p1, funct::pow(), and HLT_2018_cff::region.

◆ fillDYTInfos()

void DynamicTruncation::fillDYTInfos ( int const &  st,
bool const &  chosenLayer,
int &  incompConLay,
double const &  bestDTEstimator,
double const &  bestCSCEstimator,
DTRecSegment4D const &  bestDTSeg,
CSCSegment const &  bestCSCSeg 
)
private

Definition at line 249 of file DynamicTruncation.cc.

255  {
256  if (chosenLayer) {
257  nStationsUsed++;
258  incompConLay = 0;
259  if (bestDTEstimator <= bestCSCEstimator) {
260  estimatorMap[st] = bestDTEstimator;
261  DetId id(bestDTSeg.chamberId());
262  idChamberMap[st] = id;
263  } else {
264  DetId id(bestCSCSeg.cscDetId());
265  idChamberMap[st] = id;
266  estimatorMap[st] = bestCSCEstimator;
267  }
268  usedStationMap[st] = true;
269  } else {
270  incompConLay++;
271  estimatorMap[st] = -1;
272  usedStationMap[st] = false;
273  }
274 }

References DTRecSegment4D::chamberId(), CSCSegment::cscDetId(), and triggerObjects_cff::id.

◆ fillSegmentMaps()

void DynamicTruncation::fillSegmentMaps ( std::map< int, std::vector< DetId >> &  ,
std::map< int, std::vector< DTRecSegment4D >> &  ,
std::map< int, std::vector< CSCSegment >> &   
)
private

Definition at line 305 of file DynamicTruncation.cc.

307  {
308  for (map<int, vector<DetId> >::iterator it = compatibleIds.begin(); it != compatibleIds.end(); ++it) {
309  vector<DetId> ids = compatibleIds[it->first];
310  for (unsigned j = 0; j < ids.size(); j++) {
311  if (ids[j].subdetId() == MuonSubdetId::CSC) {
312  CSCDetId ch(ids[j]);
313  vector<CSCSegment> tmp = getSegs->getCSCSegmentsInChamber(ch);
314  for (unsigned int k = 0; k < tmp.size(); k++)
315  cscSegMap[it->first].push_back(tmp[k]);
316  }
317  if (ids[j].subdetId() == MuonSubdetId::DT) {
318  DTChamberId ch(ids[j]);
319  vector<DTRecSegment4D> tmp = getSegs->getDTSegmentsInChamber(ch);
320  for (unsigned int k = 0; k < tmp.size(); k++)
321  dtSegMap[it->first].push_back(tmp[k]);
322  }
323  }
324  }
325 }

References MuonSubdetId::CSC, MuonSubdetId::DT, dqmiolumiharvest::j, dqmdumpme::k, genParticles_cff::map, and createJobs::tmp.

◆ filter()

TransientTrackingRecHit::ConstRecHitContainer DynamicTruncation::filter ( const Trajectory traj)

Definition at line 153 of file DynamicTruncation.cc.

153  {
154  result.clear();
155  prelFitMeas.clear();
156 
157  // Get APE maps
160 
161  // Get Last tracker TSOS (updated)
162  vector<TrajectoryMeasurement> muonMeasurements = traj.measurements();
163  TrajectoryMeasurement lastTKm = muonMeasurements.front();
164  for (vector<TrajectoryMeasurement>::const_iterator imT = muonMeasurements.begin(); imT != muonMeasurements.end();
165  imT++) {
166  if (!(*imT).recHit()->isValid())
167  continue;
168  const TransientTrackingRecHit *hit = &(*(*imT).recHit());
169  if (hit->geographicalId().det() == DetId::Tracker) {
170  result.push_back((*imT).recHit());
171  if (!(*imT).forwardPredictedState().isValid())
172  continue;
173  if ((*imT).forwardPredictedState().globalPosition().mag() >
175  lastTKm = *imT;
176  }
177  }
179  update(currentState, lastTKm.recHit());
180 
182  update(prelFitState, lastTKm.recHit());
184 
185  // Run the DYT
186  filteringAlgo();
187 
188  return result;
189 }

References TrajectoryMeasurement::forwardPredictedState(), TrajectoryStateOnSurface::globalPosition(), PV3DBase< T, PVType, FrameType >::mag(), Trajectory::measurements(), TrajectoryMeasurement::recHit(), mps_fire::result, DetId::Tracker, and update.

Referenced by GlobalMuonRefitter::refit().

◆ filteringAlgo()

void DynamicTruncation::filteringAlgo ( )
private

Definition at line 192 of file DynamicTruncation.cc.

192  {
193  map<int, vector<DetId> > compatibleIds;
194  map<int, vector<DTRecSegment4D> > dtSegMap;
195  map<int, vector<CSCSegment> > cscSegMap;
196  int incompConLay = 0;
197  nStationsUsed = 0;
198 
199  // Get list of compatible layers
200  compatibleDets(currentState, compatibleIds);
201 
202  // Fill segment maps
203  fillSegmentMaps(compatibleIds, dtSegMap, cscSegMap);
204 
205  // Do a preliminary fit
206  if (useDBforThr)
207  preliminaryFit(compatibleIds, dtSegMap, cscSegMap);
208 
209  // Loop on compatible layers
210  for (map<int, vector<DetId> >::iterator it = compatibleIds.begin(); it != compatibleIds.end(); ++it) {
211  int stLayer = stationfromDet(it->second.front());
212  DTRecSegment4D bestDTSeg;
213  CSCSegment bestCSCSeg;
214  double bestDTEstimator = MAX_THR;
215  double bestCSCEstimator = MAX_THR;
216  vector<DTRecSegment4D> dtSegs = dtSegMap[it->first];
217  vector<CSCSegment> cscSegs = cscSegMap[it->first];
218 
219  // DT case: find the most compatible segment
220  TrajectoryStateOnSurface tsosDTlayer;
221  testDTstation(currentState, dtSegs, bestDTEstimator, bestDTSeg, tsosDTlayer);
222 
223  // CSC case: find the most compatible segment
224  TrajectoryStateOnSurface tsosCSClayer;
225  testCSCstation(currentState, cscSegs, bestCSCEstimator, bestCSCSeg, tsosCSClayer);
226 
227  // Decide whether to keep the layer or not
228  bool chosenLayer =
229  chooseLayers(incompConLay, bestDTEstimator, bestDTSeg, tsosDTlayer, bestCSCEstimator, bestCSCSeg, tsosCSClayer);
230  fillDYTInfos(stLayer, chosenLayer, incompConLay, bestDTEstimator, bestCSCEstimator, bestDTSeg, bestCSCSeg);
231  }
232  //cout << "Number of used stations = " << nStationsUsed << endl;
233 }

References genParticles_cff::map, and MAX_THR.

◆ getDYTInfo()

reco::DYTInfo DynamicTruncation::getDYTInfo ( )
inline

◆ getThresholdFromCFG()

void DynamicTruncation::getThresholdFromCFG ( double &  thr,
DetId const &  id 
)
private

Definition at line 546 of file DynamicTruncation.cc.

546  {
547  if (id.subdetId() == MuonSubdetId::DT) {
548  thr = Thrs[0];
549  }
550  if (id.subdetId() == MuonSubdetId::CSC) {
551  thr = Thrs[1];
552  }
553 
554  if (useParametrizedThr)
555  correctThrByPAndEta(thr);
556 }

References MuonSubdetId::CSC, and MuonSubdetId::DT.

◆ getThresholdFromDB()

void DynamicTruncation::getThresholdFromDB ( double &  thr,
DetId const &  id 
)
private

Definition at line 499 of file DynamicTruncation.cc.

499  {
500  vector<DYTThrObject::DytThrStruct> thrvector = dytThresholds->thrsVec;
501  for (vector<DYTThrObject::DytThrStruct>::const_iterator it = thrvector.begin(); it != thrvector.end(); it++) {
503  if (obj.id == id) {
504  thr = obj.thr;
505  break;
506  }
507  }
508  if (useParametrizedThr)
509  correctThrByPAndEta(thr);
510 }

References getGTfromDQMFile::obj.

◆ preliminaryFit()

void DynamicTruncation::preliminaryFit ( std::map< int, std::vector< DetId >>  ,
std::map< int, std::vector< DTRecSegment4D >>  ,
std::map< int, std::vector< CSCSegment >>   
)
private

Definition at line 400 of file DynamicTruncation.cc.

402  {
403  for (map<int, vector<DetId> >::iterator it = compatibleIds.begin(); it != compatibleIds.end(); ++it) {
404  DTRecSegment4D bestDTSeg;
405  CSCSegment bestCSCSeg;
406  double bestDTEstimator = MAX_THR;
407  double bestCSCEstimator = MAX_THR;
408  double initThr = MAX_THR;
409  vector<DTRecSegment4D> dtSegs = dtSegMap[it->first];
410  vector<CSCSegment> cscSegs = cscSegMap[it->first];
411 
412  // DT case: find the most compatible segment
413  TrajectoryStateOnSurface tsosDTlayer;
414  testDTstation(prelFitState, dtSegs, bestDTEstimator, bestDTSeg, tsosDTlayer);
415 
416  // CSC case: find the most compatible segment
417  TrajectoryStateOnSurface tsosCSClayer;
418  testCSCstation(prelFitState, cscSegs, bestCSCEstimator, bestCSCSeg, tsosCSClayer);
419 
420  // Decide whether to keep the layer or not
421  if (bestDTEstimator == MAX_THR && bestCSCEstimator == MAX_THR)
422  continue;
423  if (bestDTEstimator <= bestCSCEstimator) {
424  getThresholdFromCFG(initThr, DetId(bestDTSeg.chamberId()));
425  if (bestDTEstimator >= initThr)
426  continue;
427  prelFitMeas.push_back(theMuonRecHitBuilder->build(&bestDTSeg));
428  auto aSegRH = prelFitMeas.back();
429  auto uRes = updatorHandle->update(tsosDTlayer, *aSegRH);
430  if (uRes.isValid()) {
431  prelFitState = uRes;
432  } else {
433  prelFitMeas.pop_back();
434  }
435  } else {
436  getThresholdFromCFG(initThr, DetId(bestCSCSeg.cscDetId()));
437  if (bestCSCEstimator >= initThr)
438  continue;
439  prelFitMeas.push_back(theMuonRecHitBuilder->build(&bestCSCSeg));
440  auto aSegRH = prelFitMeas.back();
441  auto uRes = updatorHandle->update(tsosCSClayer, *aSegRH);
442  if (uRes.isValid()) {
443  prelFitState = uRes;
444  } else {
445  prelFitMeas.pop_back();
446  }
447  }
448  }
449  if (!prelFitMeas.empty())
450  prelFitMeas.pop_back();
451  for (auto imrh = prelFitMeas.rbegin(); imrh != prelFitMeas.rend(); ++imrh) {
452  DetId id = (*imrh)->geographicalId();
454  if (tmp.isValid())
455  prelFitState = tmp;
456  }
459 }

References DTRecSegment4D::chamberId(), CSCSegment::cscDetId(), genParticles_cff::map, MAX_THR, and createJobs::tmp.

◆ setEtaRegion()

void DynamicTruncation::setEtaRegion ( )
private

Definition at line 528 of file DynamicTruncation.cc.

528  {
529  float absEta = std::abs(eta_reco);
530  // Defaul value for muons with abs(eta) > 2.4
532 
533  if (absEta <= 0.8)
535  else if (absEta <= 1.2)
537  else if (absEta <= 2.0)
539  else if (absEta <= 2.2)
541  else if (absEta <= 2.4)
543 }

References funct::abs(), dyt_utils::eta0p8, dyt_utils::eta1p2, dyt_utils::eta2p0, dyt_utils::eta2p2, dyt_utils::eta2p4, and HLT_2018_cff::region.

Referenced by setRecoEta().

◆ setParThrsMode()

void DynamicTruncation::setParThrsMode ( bool  dytParThrsMode)
inline

Definition at line 67 of file DynamicTruncation.h.

67 { useParametrizedThr = dytParThrsMode; }

References useParametrizedThr.

Referenced by GlobalMuonRefitter::refit().

◆ setProd()

void DynamicTruncation::setProd ( const edm::Handle< DTRecSegment4DCollection > &  DTSegProd,
const edm::Handle< CSCSegmentCollection > &  CSCSegProd 
)
inline

Definition at line 56 of file DynamicTruncation.h.

57  {
58  getSegs->initCSU(DTSegProd, CSCSegProd);
59  }

References getSegs, and ChamberSegmentUtility::initCSU().

Referenced by GlobalMuonRefitter::refit().

◆ setRecoEta()

void DynamicTruncation::setRecoEta ( double  eta)
inline

Definition at line 69 of file DynamicTruncation.h.

69  {
70  eta_reco = eta;
71  setEtaRegion();
72  }

References PVValHelper::eta, eta_reco, and setEtaRegion().

Referenced by GlobalMuonRefitter::refit().

◆ setRecoP()

void DynamicTruncation::setRecoP ( double  p)
inline

Definition at line 68 of file DynamicTruncation.h.

68 { p_reco = p; }

References AlCaHLTBitMon_ParallelJobs::p, and p_reco.

Referenced by GlobalMuonRefitter::refit().

◆ setSelector()

void DynamicTruncation::setSelector ( int  selector)

Definition at line 117 of file DynamicTruncation.cc.

117  {
118  if (selector < 0 || selector > 2)
119  throw cms::Exception("NotAvailable") << "DYT selector: wrong option!" << endl;
120  //if (selector == 0) cout << "[DYT disabled]\n";
121  //if (selector == 1) cout << "[use all compatible stations]\n";
122  //if (selector == 2) cout << "[stop at second consecutive incompatible station]\n";
123  DYTselector = selector;
124 }

References GlobalMuonRefitter_cff::DYTselector, and Exception.

Referenced by GlobalMuonRefitter::refit().

◆ setThr()

void DynamicTruncation::setThr ( const std::vector< int > &  thr)

Definition at line 130 of file DynamicTruncation.cc.

130  {
131  if (thr.size() == 2) {
132  for (unsigned int i = 0; i < thr.size(); i++)
133  if (thr[i] >= 0)
134  Thrs.push_back(thr[i]);
135  else
136  Thrs.push_back(MAX_THR);
137  return;
138  }
139  throw cms::Exception("NotAvailable")
140  << "WARNING: wrong size for the threshold vector!\nExpected size: 2\n Found size: " << thr.size();
141 }

References Exception, mps_fire::i, and MAX_THR.

Referenced by GlobalMuonRefitter::refit().

◆ setThrsMap()

void DynamicTruncation::setThrsMap ( const edm::ParameterSet par)

Definition at line 143 of file DynamicTruncation.cc.

143  {
144  for (auto const &region : dyt_utils::etaRegionStr) {
145  parameters[region.first] = par.getParameter<std::vector<double> >(region.second);
146  }
147 }

References dyt_utils::etaRegionStr, edm::ParameterSet::getParameter(), and HLT_2018_cff::region.

Referenced by GlobalMuonRefitter::refit().

◆ setUpdateState()

void DynamicTruncation::setUpdateState ( bool  upState)

Definition at line 128 of file DynamicTruncation.cc.

128 { doUpdateOfKFStates = upState; }

Referenced by GlobalMuonRefitter::refit().

◆ setUseAPE()

void DynamicTruncation::setUseAPE ( bool  useAPE_)

Definition at line 126 of file DynamicTruncation.cc.

126 { useAPE = useAPE_; }

Referenced by GlobalMuonRefitter::refit().

◆ sort()

void DynamicTruncation::sort ( ConstRecHitContainer recHits)
private

Definition at line 559 of file DynamicTruncation.cc.

559  {
560  unsigned int i = 0;
561  unsigned int j = 0;
563  for (i = 1; i < n; ++i)
564  for (j = n - 1; j >= i; --j)
565  if (recHits[j - 1]->globalPosition().mag() > recHits[j]->globalPosition().mag())
566  swap(recHits[j - 1], recHits[j]);
567 }

References mps_fire::i, dqmiolumiharvest::j, mag(), dqmiodumpmetadata::n, FastTrackerRecHitMaskProducer_cfi::recHits, and edm::swap().

◆ stationfromDet()

int DynamicTruncation::stationfromDet ( DetId const &  det)
private

Definition at line 236 of file DynamicTruncation.cc.

236  {
237  if (det.subdetId() == MuonSubdetId::CSC) {
238  CSCDetId ch(det);
239  return ch.station();
240  }
241  if (det.subdetId() == MuonSubdetId::DT) {
242  DTChamberId ch(det);
243  return ch.station();
244  }
245  return 0;
246 }

References MuonSubdetId::CSC, MuonSubdetId::DT, DTChamberId::station(), CSCDetId::station(), and DetId::subdetId().

◆ testCSCstation()

void DynamicTruncation::testCSCstation ( TrajectoryStateOnSurface startingState,
std::vector< CSCSegment > const &  segments,
double &  bestEstimator,
CSCSegment bestSeg,
TrajectoryStateOnSurface tsoscsc 
)
private

Definition at line 355 of file DynamicTruncation.cc.

359  {
360  if (segments.empty())
361  return;
362  for (unsigned int iSeg = 0; iSeg < segments.size(); iSeg++) {
363  CSCDetId chamber(segments[iSeg].cscDetId());
364  if (!propagator->propagate(startingState, theG->idToDet(chamber)->surface()).isValid())
365  continue;
366  tsoscsc = propagator->propagate(startingState, theG->idToDet(chamber)->surface());
367  //if (!tsoscsc.isValid()) continue;
368  LocalError apeLoc;
369  if (useAPE)
371  StateSegmentMatcher estim(tsoscsc, segments[iSeg], apeLoc);
372  double estimator = estim.value();
373  //cout << "estimator CSC = " << estimator << endl;
374  if (estimator >= bestEstimator)
375  continue;
376  bestEstimator = estimator;
377  bestSeg = segments[iSeg];
378  }
379 }

References relativeConstraints::chamber, TrackCandidateProducer_cfi::propagator, TrajectoryStateOnSurface::surface(), ErrorFrameTransformer::transform(), and StateSegmentMatcher::value().

◆ testDTstation()

void DynamicTruncation::testDTstation ( TrajectoryStateOnSurface startingState,
std::vector< DTRecSegment4D > const &  segments,
double &  bestEstimator,
DTRecSegment4D bestSeg,
TrajectoryStateOnSurface tsosdt 
)
private

Definition at line 328 of file DynamicTruncation.cc.

332  {
333  if (segments.empty())
334  return;
335  for (unsigned int iSeg = 0; iSeg < segments.size(); iSeg++) {
336  DTChamberId chamber(segments[iSeg].chamberId());
337  if (!propagator->propagate(startingState, theG->idToDet(chamber)->surface()).isValid())
338  continue;
339  tsosdt = propagator->propagate(startingState, theG->idToDet(chamber)->surface());
340  //if (!tsosdt.isValid()) continue;
341  LocalError apeLoc;
342  if (useAPE)
343  apeLoc = ErrorFrameTransformer().transform(dtApeMap.find(chamber)->second, theG->idToDet(chamber)->surface());
344  StateSegmentMatcher estim(tsosdt, segments[iSeg], apeLoc);
345  double estimator = estim.value();
346  //cout << "estimator DT = " << estimator << endl;
347  if (estimator >= bestEstimator)
348  continue;
349  bestEstimator = estimator;
350  bestSeg = segments[iSeg];
351  }
352 }

References relativeConstraints::chamber, TrackCandidateProducer_cfi::propagator, TrajectoryStateOnSurface::surface(), ErrorFrameTransformer::transform(), and StateSegmentMatcher::value().

◆ update()

void DynamicTruncation::update ( TrajectoryStateOnSurface tsos,
ConstRecHitPointer  rechit 
)
private

◆ updateWithCSChits()

void DynamicTruncation::updateWithCSChits ( TrajectoryStateOnSurface tsos,
CSCSegment const &  bestCSCSeg 
)
private

Definition at line 96 of file DynamicTruncation.cc.

96  {
97  ConstRecHitContainer tmprecHits;
98  vector<CSCRecHit2D> CSCrh = bestCSCSeg.specificRecHits();
99  for (vector<CSCRecHit2D>::iterator it = CSCrh.begin(); it != CSCrh.end(); ++it) {
100  tmprecHits.push_back(theMuonRecHitBuilder->build(&*it));
101  }
102  sort(tmprecHits);
103  for (ConstRecHitContainer::const_iterator it = tmprecHits.begin(); it != tmprecHits.end(); ++it) {
104  const CSCLayer *cscLayer = cscGeom->layer((*it)->det()->geographicalId());
106  if (temp.isValid()) {
108  if (tempTsos.isValid())
109  tsos = tempTsos;
110  }
111  }
112 }

References TrajectoryStateOnSurface::isValid(), TrackCandidateProducer_cfi::propagator, CSCSegment::specificRecHits(), GeomDet::surface(), groupFilesInBlocks::temp, and TrajectoryStateOnSurface::update().

◆ updateWithDThits()

void DynamicTruncation::updateWithDThits ( TrajectoryStateOnSurface tsos,
DTRecSegment4D const &  bestDTSeg 
)
private

Definition at line 78 of file DynamicTruncation.cc.

78  {
79  ConstRecHitContainer tmprecHits;
80  vector<const TrackingRecHit *> DTrh = bestDTSeg.recHits();
81  for (vector<const TrackingRecHit *>::iterator it = DTrh.begin(); it != DTrh.end(); it++) {
82  tmprecHits.push_back(theMuonRecHitBuilder->build(*it));
83  }
84  sort(tmprecHits);
85  for (ConstRecHitContainer::const_iterator it = tmprecHits.begin(); it != tmprecHits.end(); ++it) {
86  DTLayerId layid((*it)->det()->geographicalId());
88  if (temp.isValid()) {
90  if (tempTsos.isValid())
91  tsos = tempTsos;
92  }
93  }
94 }

References TrajectoryStateOnSurface::isValid(), TrackCandidateProducer_cfi::propagator, DTRecSegment4D::recHits(), TrajectoryStateOnSurface::surface(), groupFilesInBlocks::temp, and TrajectoryStateOnSurface::update().

◆ useSegment() [1/2]

void DynamicTruncation::useSegment ( CSCSegment const &  bestCSCSeg,
TrajectoryStateOnSurface const &  tsosCSC 
)
private

Definition at line 391 of file DynamicTruncation.cc.

391  {
392  result.push_back(theMuonRecHitBuilder->build(&bestCSCSeg));
393  if (doUpdateOfKFStates)
394  updateWithCSChits(currentState, bestCSCSeg);
395  else
396  currentState = tsosCSC;
397 }

References mps_fire::result.

◆ useSegment() [2/2]

void DynamicTruncation::useSegment ( DTRecSegment4D const &  bestDTSeg,
TrajectoryStateOnSurface const &  tsosDT 
)
private

Definition at line 382 of file DynamicTruncation.cc.

382  {
383  result.push_back(theMuonRecHitBuilder->build(&bestDTSeg));
384  if (doUpdateOfKFStates)
385  updateWithDThits(currentState, bestDTSeg);
386  else
387  currentState = tsosDT;
388 }

References mps_fire::result.

Member Data Documentation

◆ cscApeMap

std::map<CSCDetId, GlobalError> DynamicTruncation::cscApeMap
private

Definition at line 145 of file DynamicTruncation.h.

◆ cscGeom

edm::ESHandle<CSCGeometry> DynamicTruncation::cscGeom
private

Definition at line 132 of file DynamicTruncation.h.

◆ currentState

TrajectoryStateOnSurface DynamicTruncation::currentState
private

Definition at line 141 of file DynamicTruncation.h.

◆ doUpdateOfKFStates

bool DynamicTruncation::doUpdateOfKFStates
private

Definition at line 151 of file DynamicTruncation.h.

◆ dtApeMap

std::map<DTChamberId, GlobalError> DynamicTruncation::dtApeMap
private

Definition at line 144 of file DynamicTruncation.h.

◆ dytInfo

reco::DYTInfo DynamicTruncation::dytInfo
private

Definition at line 143 of file DynamicTruncation.h.

Referenced by getDYTInfo().

◆ DYTselector

int DynamicTruncation::DYTselector
private

Definition at line 127 of file DynamicTruncation.h.

◆ dytThresholds

const DYTThrObject* DynamicTruncation::dytThresholds
private

Definition at line 147 of file DynamicTruncation.h.

◆ estimatorMap

std::map<int, double> DynamicTruncation::estimatorMap
private

Definition at line 138 of file DynamicTruncation.h.

Referenced by getDYTInfo().

◆ eta_reco

double DynamicTruncation::eta_reco
private

Definition at line 154 of file DynamicTruncation.h.

Referenced by setRecoEta().

◆ getSegs

ChamberSegmentUtility* DynamicTruncation::getSegs
private

Definition at line 148 of file DynamicTruncation.h.

Referenced by setProd().

◆ idChamberMap

std::map<int, DetId> DynamicTruncation::idChamberMap
private

Definition at line 140 of file DynamicTruncation.h.

Referenced by getDYTInfo().

◆ magfield

edm::ESHandle<MagneticField> DynamicTruncation::magfield
private

Definition at line 137 of file DynamicTruncation.h.

◆ muonETAest

double DynamicTruncation::muonETAest
private

Definition at line 146 of file DynamicTruncation.h.

◆ muonPTest

double DynamicTruncation::muonPTest
private

Definition at line 146 of file DynamicTruncation.h.

◆ navigation

DirectMuonNavigation* DynamicTruncation::navigation
private

Definition at line 136 of file DynamicTruncation.h.

◆ navMuon

edm::ESHandle<MuonDetLayerGeometry> DynamicTruncation::navMuon
private

Definition at line 135 of file DynamicTruncation.h.

◆ nStationsUsed

int DynamicTruncation::nStationsUsed
private

Definition at line 126 of file DynamicTruncation.h.

Referenced by getDYTInfo().

◆ p_reco

double DynamicTruncation::p_reco
private

Definition at line 153 of file DynamicTruncation.h.

Referenced by setRecoP().

◆ parameters

std::map<dyt_utils::etaRegion, std::vector<double> > DynamicTruncation::parameters
private

Definition at line 157 of file DynamicTruncation.h.

◆ prelFitMeas

ConstRecHitContainer DynamicTruncation::prelFitMeas
private

Definition at line 123 of file DynamicTruncation.h.

◆ prelFitState

TrajectoryStateOnSurface DynamicTruncation::prelFitState
private

Definition at line 142 of file DynamicTruncation.h.

◆ propagator

edm::ESHandle<Propagator> DynamicTruncation::propagator
private

Definition at line 128 of file DynamicTruncation.h.

◆ propagatorCompatibleDet

edm::ESHandle<Propagator> DynamicTruncation::propagatorCompatibleDet
private

Definition at line 130 of file DynamicTruncation.h.

◆ propagatorPF

edm::ESHandle<Propagator> DynamicTruncation::propagatorPF
private

Definition at line 129 of file DynamicTruncation.h.

◆ region

dyt_utils::etaRegion DynamicTruncation::region
private

Definition at line 156 of file DynamicTruncation.h.

◆ result

ConstRecHitContainer DynamicTruncation::result
private

Definition at line 123 of file DynamicTruncation.h.

◆ theG

edm::ESHandle<GlobalTrackingGeometry> DynamicTruncation::theG
private

Definition at line 131 of file DynamicTruncation.h.

◆ theMuonRecHitBuilder

edm::ESHandle<TransientTrackingRecHitBuilder> DynamicTruncation::theMuonRecHitBuilder
private

Definition at line 133 of file DynamicTruncation.h.

◆ thrManager

ThrParameters* DynamicTruncation::thrManager
private

Definition at line 149 of file DynamicTruncation.h.

◆ Thrs

std::vector<int> DynamicTruncation::Thrs
private

Definition at line 125 of file DynamicTruncation.h.

◆ updatorHandle

edm::ESHandle<TrajectoryStateUpdator> DynamicTruncation::updatorHandle
private

Definition at line 134 of file DynamicTruncation.h.

◆ useAPE

bool DynamicTruncation::useAPE
private

Definition at line 124 of file DynamicTruncation.h.

◆ useDBforThr

bool DynamicTruncation::useDBforThr
private

Definition at line 150 of file DynamicTruncation.h.

◆ usedStationMap

std::map<int, bool> DynamicTruncation::usedStationMap
private

Definition at line 139 of file DynamicTruncation.h.

Referenced by getDYTInfo().

◆ useParametrizedThr

bool DynamicTruncation::useParametrizedThr
private

Definition at line 155 of file DynamicTruncation.h.

Referenced by setParThrsMode().

DynamicTruncation::chooseLayers
bool chooseLayers(int &, double const &, DTRecSegment4D const &, TrajectoryStateOnSurface const &, double const &, CSCSegment const &, TrajectoryStateOnSurface const &)
Definition: DynamicTruncation.cc:462
MeasurementEstimator
Definition: MeasurementEstimator.h:19
MuonSubdetId::CSC
static constexpr int CSC
Definition: MuonSubdetId.h:12
DTRecSegment4D
Definition: DTRecSegment4D.h:23
mps_fire.i
i
Definition: mps_fire.py:355
DynamicTruncation::currentState
TrajectoryStateOnSurface currentState
Definition: DynamicTruncation.h:141
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
DynamicTruncation::navigation
DirectMuonNavigation * navigation
Definition: DynamicTruncation.h:136
DynamicTruncation::region
dyt_utils::etaRegion region
Definition: DynamicTruncation.h:156
DynamicTruncation::getThresholdFromDB
void getThresholdFromDB(double &, DetId const &)
Definition: DynamicTruncation.cc:499
DynamicTruncation::cscApeMap
std::map< CSCDetId, GlobalError > cscApeMap
Definition: DynamicTruncation.h:145
ThrParameters::GetCSCApeMap
const std::map< CSCDetId, GlobalError > & GetCSCApeMap()
Definition: ThrParameters.h:29
DynamicTruncation::cscGeom
edm::ESHandle< CSCGeometry > cscGeom
Definition: DynamicTruncation.h:132
dyt_utils::etaRegion::eta2p4
DynamicTruncation::getThresholdFromCFG
void getThresholdFromCFG(double &, DetId const &)
Definition: DynamicTruncation.cc:546
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition: TrajectoryStateOnSurface.h:65
edm::swap
void swap(Association< C > &lhs, Association< C > &rhs)
Definition: Association.h:117
TransientRecHitRecord
Definition: TransientRecHitRecord.h:14
DTRecSegment4D::chamberId
virtual DTChamberId chamberId() const
The (specific) DetId of the chamber on which the segment resides.
Definition: DTRecSegment4D.cc:256
DynamicTruncation::thrManager
ThrParameters * thrManager
Definition: DynamicTruncation.h:149
CSCLayer
Definition: CSCLayer.h:24
dyt_utils::etaRegionStr
static const std::map< etaRegion, std::string > etaRegionStr
Definition: DynamicTruncation.cc:38
DynamicTruncation::testDTstation
void testDTstation(TrajectoryStateOnSurface &, std::vector< DTRecSegment4D > const &, double &, DTRecSegment4D &, TrajectoryStateOnSurface &)
Definition: DynamicTruncation.cc:328
DynamicTruncation::sort
void sort(ConstRecHitContainer &)
Definition: DynamicTruncation.cc:559
TransientTrackingRecHitBuilder::build
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
DynamicTruncation::propagatorCompatibleDet
edm::ESHandle< Propagator > propagatorCompatibleDet
Definition: DynamicTruncation.h:130
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
dqmdumpme.first
first
Definition: dqmdumpme.py:55
ThrParameters::GetDTApeMap
const std::map< DTChamberId, GlobalError > & GetDTApeMap()
Definition: ThrParameters.h:28
DynamicTruncation::result
ConstRecHitContainer result
Definition: DynamicTruncation.h:123
DynamicTruncation::idChamberMap
std::map< int, DetId > idChamberMap
Definition: DynamicTruncation.h:140
DynamicTruncation::eta_reco
double eta_reco
Definition: DynamicTruncation.h:154
DynamicTruncation::muonETAest
double muonETAest
Definition: DynamicTruncation.h:146
parameters
parameters
Definition: BeamSpot_PayloadInspector.cc:14
DynamicTruncation::useAPE
bool useAPE
Definition: DynamicTruncation.h:124
DynamicTruncation::updateWithCSChits
void updateWithCSChits(TrajectoryStateOnSurface &, CSCSegment const &)
Definition: DynamicTruncation.cc:96
DirectMuonNavigation
Definition: DirectMuonNavigation.h:20
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
DetId
Definition: DetId.h:17
MuonRecoGeometryRecord
Definition: MuonRecoGeometryRecord.h:17
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
DynamicTruncation::usedStationMap
std::map< int, bool > usedStationMap
Definition: DynamicTruncation.h:139
ErrorFrameTransformer
Definition: ErrorFrameTransformer.h:12
DynamicTruncation::nStationsUsed
int nStationsUsed
Definition: DynamicTruncation.h:126
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
TrajectoryStateOnSurface::freeState
FreeTrajectoryState const * freeState(bool withErrors=true) const
Definition: TrajectoryStateOnSurface.h:58
PVValHelper::estimator
estimator
Definition: PVValidationHelpers.h:44
dyt_utils::etaRegion::eta2p0
MuonPatternRecoDumper
Definition: MuonPatternRecoDumper.h:18
DynamicTruncation::useSegment
void useSegment(DTRecSegment4D const &, TrajectoryStateOnSurface const &)
Definition: DynamicTruncation.cc:382
PVValHelper::eta
Definition: PVValidationHelpers.h:69
TrajectoryMeasurement::forwardPredictedState
TrajectoryStateOnSurface const & forwardPredictedState() const
Access to forward predicted state (from fitter or builder)
Definition: TrajectoryMeasurement.h:177
DynamicTruncation::DYTselector
int DYTselector
Definition: DynamicTruncation.h:127
ChamberSegmentUtility::getDTSegmentsInChamber
std::vector< DTRecSegment4D > getDTSegmentsInChamber(DTChamberId)
Definition: ChamberSegmentUtility.cc:53
Chi2MeasurementEstimator_cfi.Chi2MeasurementEstimator
Chi2MeasurementEstimator
Definition: Chi2MeasurementEstimator_cfi.py:3
DynamicTruncation::setEtaRegion
void setEtaRegion()
Definition: DynamicTruncation.cc:528
DynamicTruncation::prelFitState
TrajectoryStateOnSurface prelFitState
Definition: DynamicTruncation.h:142
MAX_THR
#define MAX_THR
Definition: DynamicTruncation.cc:31
DynamicTruncation::compatibleDets
void compatibleDets(TrajectoryStateOnSurface &, std::map< int, std::vector< DetId >> &)
Definition: DynamicTruncation.cc:277
MuonSubdetId::DT
static constexpr int DT
Definition: MuonSubdetId.h:11
dqmdumpme.k
k
Definition: dqmdumpme.py:60
DynamicTruncation::navMuon
edm::ESHandle< MuonDetLayerGeometry > navMuon
Definition: DynamicTruncation.h:135
CSCSegment
Definition: CSCSegment.h:21
DTLayerId
Definition: DTLayerId.h:12
GeomDetEnumerators::CSC
Definition: GeomDetEnumerators.h:17
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
reco::DYTInfo::setIdChambers
void setIdChambers(const std::map< int, DetId > &IdChambersMap)
Definition: DYTInfo.h:48
FastTrackerRecHitMaskProducer_cfi.recHits
recHits
Definition: FastTrackerRecHitMaskProducer_cfi.py:8
DynamicTruncation::preliminaryFit
void preliminaryFit(std::map< int, std::vector< DetId >>, std::map< int, std::vector< DTRecSegment4D >>, std::map< int, std::vector< CSCSegment >>)
Definition: DynamicTruncation.cc:400
TrajectoryStateUpdator::update
virtual TrajectoryStateOnSurface update(const TrajectoryStateOnSurface &, const TrackingRecHit &) const =0
GeomDetEnumerators::DT
Definition: GeomDetEnumerators.h:18
dyt_utils::etaRegion::eta2p2
reco::DYTInfo::setUsedStations
void setUsedStations(const std::map< int, bool > &ustMap)
Definition: DYTInfo.h:39
DynamicTruncation::getSegs
ChamberSegmentUtility * getSegs
Definition: DynamicTruncation.h:148
DetId::Tracker
Definition: DetId.h:25
DynamicTruncation::theMuonRecHitBuilder
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
Definition: DynamicTruncation.h:133
DynamicTruncation::useParametrizedThr
bool useParametrizedThr
Definition: DynamicTruncation.h:155
dyt_utils::etaRegion::eta0p8
LocalError
Definition: LocalError.h:12
DynamicTruncation::correctThrByPAndEta
void correctThrByPAndEta(double &)
Definition: DynamicTruncation.cc:513
CSCDetId
Definition: CSCDetId.h:26
DynamicTruncation::testCSCstation
void testCSCstation(TrajectoryStateOnSurface &, std::vector< CSCSegment > const &, double &, CSCSegment &, TrajectoryStateOnSurface &)
Definition: DynamicTruncation.cc:355
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
DirectMuonNavigation::compatibleLayers
std::vector< const DetLayer * > compatibleLayers(const FreeTrajectoryState &fts, PropagationDirection timeDirection) const
Definition: DirectMuonNavigation.cc:30
DynamicTruncation::fillSegmentMaps
void fillSegmentMaps(std::map< int, std::vector< DetId >> &, std::map< int, std::vector< DTRecSegment4D >> &, std::map< int, std::vector< CSCSegment >> &)
Definition: DynamicTruncation.cc:305
p1
double p1[4]
Definition: TauolaWrapper.h:89
DynamicTruncation::doUpdateOfKFStates
bool doUpdateOfKFStates
Definition: DynamicTruncation.h:151
DynamicTruncation::update
void update(TrajectoryStateOnSurface &, ConstRecHitPointer)
Definition: DynamicTruncation.cc:72
DynamicTruncation::Thrs
std::vector< int > Thrs
Definition: DynamicTruncation.h:125
Propagator::propagate
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:50
DYTThrObject::thrsVec
std::vector< DytThrStruct > thrsVec
Definition: DYTThrObject.h:19
ChamberSegmentUtility::getCSCSegmentsInChamber
std::vector< CSCSegment > getCSCSegmentsInChamber(CSCDetId)
Definition: ChamberSegmentUtility.cc:44
ThrParameters::isValidThdDB
const bool isValidThdDB()
Definition: ThrParameters.h:27
get
#define get
Trajectory::measurements
DataContainer const & measurements() const
Definition: Trajectory.h:178
DynamicTruncation::filteringAlgo
void filteringAlgo()
Definition: DynamicTruncation.cc:192
TrackingRecHit
Definition: TrackingRecHit.h:21
DynamicTruncation::updatorHandle
edm::ESHandle< TrajectoryStateUpdator > updatorHandle
Definition: DynamicTruncation.h:134
DynamicTruncation::p_reco
double p_reco
Definition: DynamicTruncation.h:153
DynamicTruncation::prelFitMeas
ConstRecHitContainer prelFitMeas
Definition: DynamicTruncation.h:123
DynamicTruncation::stationfromDet
int stationfromDet(DetId const &)
Definition: DynamicTruncation.cc:236
DynamicTruncation::fillDYTInfos
void fillDYTInfos(int const &, bool const &, int &, double const &, double const &, DTRecSegment4D const &, CSCSegment const &)
Definition: DynamicTruncation.cc:249
TrajectoryMeasurement::recHit
ConstRecHitPointer const & recHit() const
Definition: TrajectoryMeasurement.h:190
PV3DBase::mag
T mag() const
Definition: PV3DBase.h:64
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
TrajectoryStateOnSurface::globalMomentum
GlobalVector globalMomentum() const
Definition: TrajectoryStateOnSurface.h:66
mag
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition: Basic3DVectorLD.h:127
DynamicTruncation::dtApeMap
std::map< DTChamberId, GlobalError > dtApeMap
Definition: DynamicTruncation.h:144
ChamberSegmentUtility
Definition: ChamberSegmentUtility.h:33
CSCGeometry::layer
const CSCLayer * layer(CSCDetId id) const
Return the layer corresponding to given DetId.
Definition: CSCGeometry.cc:105
DynamicTruncation::muonPTest
double muonPTest
Definition: DynamicTruncation.h:146
DynamicTruncation::dytInfo
reco::DYTInfo dytInfo
Definition: DynamicTruncation.h:143
ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
Definition: MillePedeAlignmentAlgorithm.cc:74
StateSegmentMatcher
Definition: StateSegmentMatcher.h:68
ThrParameters::getInitialThresholds
const DYTThrObject * getInitialThresholds()
Definition: ThrParameters.h:30
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
Exception
Definition: hltDiff.cc:246
GlobalTrackingGeometry::idToDet
const GeomDet * idToDet(DetId) const override
Definition: GlobalTrackingGeometry.cc:44
DynamicTruncation::dytThresholds
const DYTThrObject * dytThresholds
Definition: DynamicTruncation.h:147
reco::DYTInfo::setDYTEstimators
void setDYTEstimators(const std::map< int, double > &dytEstMap)
Definition: DYTInfo.h:26
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
CSCSegment::cscDetId
CSCDetId cscDetId() const
Definition: CSCSegment.h:70
DynamicTruncation::updateWithDThits
void updateWithDThits(TrajectoryStateOnSurface &, DTRecSegment4D const &)
Definition: DynamicTruncation.cc:78
DynamicTruncation::magfield
edm::ESHandle< MagneticField > magfield
Definition: DynamicTruncation.h:137
ThrParameters
Definition: ThrParameters.h:21
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
ChamberSegmentUtility::initCSU
void initCSU(const edm::Handle< DTRecSegment4DCollection > &, const edm::Handle< CSCSegmentCollection > &)
Definition: ChamberSegmentUtility.cc:38
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
genParticles_cff.map
map
Definition: genParticles_cff.py:11
DTChamberId
Definition: DTChamberId.h:14
DynamicTruncation::estimatorMap
std::map< int, double > estimatorMap
Definition: DynamicTruncation.h:138
DynamicTruncation::theG
edm::ESHandle< GlobalTrackingGeometry > theG
Definition: DynamicTruncation.h:131
DYTThrObject::DytThrStruct
Definition: DYTThrObject.h:10
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
ErrorFrameTransformer::transform
static GlobalError transform(const LocalError &le, const Surface &surf)
Definition: ErrorFrameTransformer.h:16
DynamicTruncation::propagatorPF
edm::ESHandle< Propagator > propagatorPF
Definition: DynamicTruncation.h:129
reco::DYTInfo::setNStUsed
void setNStUsed(int NStUsed)
Definition: DYTInfo.h:22
DynamicTruncation::propagator
edm::ESHandle< Propagator > propagator
Definition: DynamicTruncation.h:128
TrajectoryMeasurement
Definition: TrajectoryMeasurement.h:25
dyt_utils::etaRegion::eta1p2
DynamicTruncation::useDBforThr
bool useDBforThr
Definition: DynamicTruncation.h:150
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
alongMomentum
Definition: PropagationDirection.h:4
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
hit
Definition: SiStripHitEffFromCalibTree.cc:88
TrackingComponentsRecord
Definition: TrackingComponentsRecord.h:12