CMS 3D CMS Logo

DynamicTruncation.h
Go to the documentation of this file.
1 #ifndef RecoMuon_GlobalTrackingTools_DynamicTruncation_h
2 #define RecoMuon_GlobalTrackingTools_DynamicTruncation_h
3 
19 #include <memory>
42 
43 namespace dyt_utils {
44  enum class etaRegion { eta0p8, eta1p2, eta2p0, eta2p2, eta2p4 };
45 };
46 
48 public:
51 
53 
55 
57  const edm::Handle<CSCSegmentCollection> &CSCSegProd) {
58  getSegs->initCSU(DTSegProd, CSCSegProd);
59  }
60 
61  void setSelector(int);
62  void setThr(const std::vector<int> &);
63  void setUpdateState(bool);
64  void setUseAPE(bool);
65  /*---- DyT v2-----*/
66  void setThrsMap(const edm::ParameterSet &);
67  void setParThrsMode(bool dytParThrsMode) { useParametrizedThr = dytParThrsMode; }
68  void setRecoP(double p) { p_reco = p; }
69  void setRecoEta(double eta) {
70  eta_reco = eta;
71  setEtaRegion();
72  }
73 
74  // Return the vector with the tracker plus the selected muon hits
76 
77  // Return the DYTInfo object
83  return dytInfo;
84  }
85 
86 private:
87  void compatibleDets(TrajectoryStateOnSurface &, std::map<int, std::vector<DetId>> &);
88  void filteringAlgo();
89  void fillSegmentMaps(std::map<int, std::vector<DetId>> &,
90  std::map<int, std::vector<DTRecSegment4D>> &,
91  std::map<int, std::vector<CSCSegment>> &);
92  void preliminaryFit(std::map<int, std::vector<DetId>>,
93  std::map<int, std::vector<DTRecSegment4D>>,
94  std::map<int, std::vector<CSCSegment>>);
95  bool chooseLayers(int &,
96  double const &,
97  DTRecSegment4D const &,
99  double const &,
100  CSCSegment const &,
101  TrajectoryStateOnSurface const &);
102  void fillDYTInfos(
103  int const &, bool const &, int &, double const &, double const &, DTRecSegment4D const &, CSCSegment const &);
104  int stationfromDet(DetId const &);
108  void getThresholdFromDB(double &, DetId const &);
109  void correctThrByPAndEta(double &);
110  void getThresholdFromCFG(double &, DetId const &);
112  std::vector<DTRecSegment4D> const &,
113  double &,
114  DTRecSegment4D &,
116  void testCSCstation(
117  TrajectoryStateOnSurface &, std::vector<CSCSegment> const &, double &, CSCSegment &, TrajectoryStateOnSurface &);
118  void useSegment(DTRecSegment4D const &, TrajectoryStateOnSurface const &);
119  void useSegment(CSCSegment const &, TrajectoryStateOnSurface const &);
120  void sort(ConstRecHitContainer &);
121  void setEtaRegion();
122 
124  bool useAPE;
125  std::vector<int> Thrs;
138  std::map<int, double> estimatorMap;
139  std::map<int, bool> usedStationMap;
140  std::map<int, DetId> idChamberMap;
144  std::map<DTChamberId, GlobalError> dtApeMap;
145  std::map<CSCDetId, GlobalError> cscApeMap;
152  /* Variables for v2 */
153  double p_reco;
154  double eta_reco;
157  std::map<dyt_utils::etaRegion, std::vector<double>> parameters;
158 };
159 
160 #endif
Propagator.h
DynamicTruncation::chooseLayers
bool chooseLayers(int &, double const &, DTRecSegment4D const &, TrajectoryStateOnSurface const &, double const &, CSCSegment const &, TrajectoryStateOnSurface const &)
Definition: DynamicTruncation.cc:462
DynamicTruncation::setUpdateState
void setUpdateState(bool)
Definition: DynamicTruncation.cc:128
DynamicTruncation::~DynamicTruncation
~DynamicTruncation()
Definition: DynamicTruncation.cc:66
DTRecSegment4D
Definition: DTRecSegment4D.h:23
DynamicTruncation::currentState
TrajectoryStateOnSurface currentState
Definition: DynamicTruncation.h:141
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::setThr
void setThr(const std::vector< int > &)
Definition: DynamicTruncation.cc:130
DynamicTruncation::cscApeMap
std::map< CSCDetId, GlobalError > cscApeMap
Definition: DynamicTruncation.h:145
DynamicTruncation::setProd
void setProd(const edm::Handle< DTRecSegment4DCollection > &DTSegProd, const edm::Handle< CSCSegmentCollection > &CSCSegProd)
Definition: DynamicTruncation.h:56
DynamicTruncation::cscGeom
edm::ESHandle< CSCGeometry > cscGeom
Definition: DynamicTruncation.h:132
dyt_utils::etaRegion::eta2p4
DynamicTruncation::setRecoP
void setRecoP(double p)
Definition: DynamicTruncation.h:68
MuonNavigableLayer.h
DynamicTruncation::getThresholdFromCFG
void getThresholdFromCFG(double &, DetId const &)
Definition: DynamicTruncation.cc:546
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
DynamicTruncation::thrManager
ThrParameters * thrManager
Definition: DynamicTruncation.h:149
DynamicTruncation::testDTstation
void testDTstation(TrajectoryStateOnSurface &, std::vector< DTRecSegment4D > const &, double &, DTRecSegment4D &, TrajectoryStateOnSurface &)
Definition: DynamicTruncation.cc:328
EDAnalyzer.h
MuonDetLayerGeometry.h
MuonTransientTrackingRecHit.h
DynamicTruncation::sort
void sort(ConstRecHitContainer &)
Definition: DynamicTruncation.cc:559
DynamicTruncation::propagatorCompatibleDet
edm::ESHandle< Propagator > propagatorCompatibleDet
Definition: DynamicTruncation.h:130
edm::Handle< DTRecSegment4DCollection >
TrajectoryStateUpdator.h
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::setSelector
void setSelector(int)
Definition: DynamicTruncation.cc:117
DynamicTruncation::muonETAest
double muonETAest
Definition: DynamicTruncation.h:146
DynamicTruncation::useAPE
bool useAPE
Definition: DynamicTruncation.h:124
DynamicTruncation::updateWithCSChits
void updateWithCSChits(TrajectoryStateOnSurface &, CSCSegment const &)
Definition: DynamicTruncation.cc:96
DynamicTruncation::setRecoEta
void setRecoEta(double eta)
Definition: DynamicTruncation.h:69
DirectMuonNavigation
Definition: DirectMuonNavigation.h:20
DetId
Definition: DetId.h:17
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
MakerMacros.h
DynamicTruncation::usedStationMap
std::map< int, bool > usedStationMap
Definition: DynamicTruncation.h:139
DynamicTruncation::nStationsUsed
int nStationsUsed
Definition: DynamicTruncation.h:126
reco::DYTInfo
Definition: DYTInfo.h:11
DYTThrObject
Definition: DYTThrObject.h:8
ConstRecHitPointer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
Definition: MillePedeAlignmentAlgorithm.cc:75
Track.h
TrackFwd.h
dyt_utils::etaRegion::eta2p0
DynamicTruncation::useSegment
void useSegment(DTRecSegment4D const &, TrajectoryStateOnSurface const &)
Definition: DynamicTruncation.cc:382
PVValHelper::eta
Definition: PVValidationHelpers.h:69
DynamicTruncation::DYTselector
int DYTselector
Definition: DynamicTruncation.h:127
DynamicTruncation::setEtaRegion
void setEtaRegion()
Definition: DynamicTruncation.cc:528
edm::ESHandle< Propagator >
DynamicTruncation::prelFitState
TrajectoryStateOnSurface prelFitState
Definition: DynamicTruncation.h:142
DynamicTruncation::compatibleDets
void compatibleDets(TrajectoryStateOnSurface &, std::map< int, std::vector< DetId >> &)
Definition: DynamicTruncation.cc:277
DirectTrackerNavigation.h
DynamicTruncation::parameters
std::map< dyt_utils::etaRegion, std::vector< double > > parameters
Definition: DynamicTruncation.h:157
DynamicTruncation::setUseAPE
void setUseAPE(bool)
Definition: DynamicTruncation.cc:126
DynamicTruncation::navMuon
edm::ESHandle< MuonDetLayerGeometry > navMuon
Definition: DynamicTruncation.h:135
CSCSegment
Definition: CSCSegment.h:21
DynamicTruncation::setParThrsMode
void setParThrsMode(bool dytParThrsMode)
Definition: DynamicTruncation.h:67
reco::DYTInfo::setIdChambers
void setIdChambers(const std::map< int, DetId > &IdChambersMap)
Definition: DYTInfo.h:48
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
dyt_utils::etaRegion::eta2p2
dyt_utils::etaRegion
etaRegion
Definition: DynamicTruncation.h:44
reco::DYTInfo::setUsedStations
void setUsedStations(const std::map< int, bool > &ustMap)
Definition: DYTInfo.h:39
DynamicTruncation::DynamicTruncation
DynamicTruncation(const edm::Event &, const MuonServiceProxy &)
Definition: DynamicTruncation.cc:45
edm::ParameterSet
Definition: ParameterSet.h:36
DynamicTruncation::getSegs
ChamberSegmentUtility * getSegs
Definition: DynamicTruncation.h:148
DynamicTruncation::theMuonRecHitBuilder
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
Definition: DynamicTruncation.h:133
DynamicTruncation::useParametrizedThr
bool useParametrizedThr
Definition: DynamicTruncation.h:155
dyt_utils::etaRegion::eta0p8
Event.h
TrackingRecHit::ConstRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: TrackingRecHit.h:32
DynamicTruncation::setThrsMap
void setThrsMap(const edm::ParameterSet &)
Definition: DynamicTruncation.cc:143
DynamicTruncation::correctThrByPAndEta
void correctThrByPAndEta(double &)
Definition: DynamicTruncation.cc:513
DynamicTruncation::testCSCstation
void testCSCstation(TrajectoryStateOnSurface &, std::vector< CSCSegment > const &, double &, CSCSegment &, TrajectoryStateOnSurface &)
Definition: DynamicTruncation.cc:355
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
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
DynamicTruncation::ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
Definition: DynamicTruncation.h:50
StateSegmentMatcher.h
dyt_utils
Definition: DynamicTruncation.h:43
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
ChamberSegmentUtility.h
DynamicTruncation::filteringAlgo
void filteringAlgo()
Definition: DynamicTruncation.cc:192
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
DynamicTruncation::filter
TransientTrackingRecHit::ConstRecHitContainer filter(const Trajectory &)
Definition: DynamicTruncation.cc:153
Trajectory.h
DynamicTruncation::dtApeMap
std::map< DTChamberId, GlobalError > dtApeMap
Definition: DynamicTruncation.h:144
ChamberSegmentUtility
Definition: ChamberSegmentUtility.h:33
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
Trajectory
Definition: Trajectory.h:38
Frameworkfwd.h
MuonServiceProxy.h
DynamicTruncation::dytThresholds
const DYTThrObject * dytThresholds
Definition: DynamicTruncation.h:147
ThrParameters.h
reco::DYTInfo::setDYTEstimators
void setDYTEstimators(const std::map< int, double > &dytEstMap)
Definition: DYTInfo.h:26
DynamicTruncation::ConstRecHitPointer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
Definition: DynamicTruncation.h:49
DynamicTruncation::updateWithDThits
void updateWithDThits(TrajectoryStateOnSurface &, DTRecSegment4D const &)
Definition: DynamicTruncation.cc:78
DYTInfo.h
DynamicTruncation::magfield
edm::ESHandle< MagneticField > magfield
Definition: DynamicTruncation.h:137
ThrParameters
Definition: ThrParameters.h:21
TransientTrackingRecHitBuilder.h
ChamberSegmentUtility::initCSU
void initCSU(const edm::Handle< DTRecSegment4DCollection > &, const edm::Handle< CSCSegmentCollection > &)
Definition: ChamberSegmentUtility.cc:38
genParticles_cff.map
map
Definition: genParticles_cff.py:11
DynamicTruncation::estimatorMap
std::map< int, double > estimatorMap
Definition: DynamicTruncation.h:138
DynamicTruncation::getDYTInfo
reco::DYTInfo getDYTInfo()
Definition: DynamicTruncation.h:78
ParameterSet.h
DynamicTruncation::theG
edm::ESHandle< GlobalTrackingGeometry > theG
Definition: DynamicTruncation.h:131
MuonServiceProxy
Definition: MuonServiceProxy.h:38
NavigationSchoolRecord.h
DynamicTruncation::propagatorPF
edm::ESHandle< Propagator > propagatorPF
Definition: DynamicTruncation.h:129
edm::Event
Definition: Event.h:73
reco::DYTInfo::setNStUsed
void setNStUsed(int NStUsed)
Definition: DYTInfo.h:22
DynamicTruncation::propagator
edm::ESHandle< Propagator > propagator
Definition: DynamicTruncation.h:128
DynamicTruncation
Definition: DynamicTruncation.h:47
dyt_utils::etaRegion::eta1p2
DynamicTruncation::useDBforThr
bool useDBforThr
Definition: DynamicTruncation.h:150
DirectMuonNavigation.h