CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DynamicTruncation.h
Go to the documentation of this file.
1 #ifndef RecoMuon_GlobalTrackingTools_DynamicTruncation_h
2 #define RecoMuon_GlobalTrackingTools_DynamicTruncation_h
3 
18 #include <memory>
42 
43 
45 
46  public:
47 
50 
52 
54 
56  const edm::Handle<CSCSegmentCollection>& CSCSegProd) {
57  getSegs->initCSU(DTSegProd, CSCSegProd);
58  }
59 
60  void setSelector(int);
61  void setThr(const std::vector<int>&);
62  void setUpdateState(bool);
63  void setUseAPE(bool);
64 
65  // Return the vector with the tracker plus the selected muon hits
67 
68  // Return the DYTInfo object
74  return dytInfo;
75  }
76 
77  private:
78 
79  void compatibleDets(TrajectoryStateOnSurface&, std::map<int, std::vector<DetId> >&);
80  void filteringAlgo();
81  void fillSegmentMaps(std::map<int, std::vector<DetId> >&, std::map<int, std::vector<DTRecSegment4D> >&, std::map<int, std::vector<CSCSegment> >&);
82  void preliminaryFit(std::map<int, std::vector<DetId> >, std::map<int, std::vector<DTRecSegment4D> >, std::map<int, std::vector<CSCSegment> >);
83  bool chooseLayers(int&, double const &, DTRecSegment4D const &, TrajectoryStateOnSurface const &, double const &, CSCSegment const &, TrajectoryStateOnSurface const &);
84  void fillDYTInfos(int const&, bool const&, int&, double const&, double const&, DTRecSegment4D const&, CSCSegment const&);
85  int stationfromDet(DetId const&);
89  void getThresholdFromDB(double&, DetId const&);
90  void correctThrByPtAndEta(double&);
91  void getThresholdFromCFG(double&, DetId const&);
92  void testDTstation(TrajectoryStateOnSurface&, std::vector<DTRecSegment4D> const &, double&, DTRecSegment4D&, TrajectoryStateOnSurface&);
93  void testCSCstation(TrajectoryStateOnSurface&, std::vector<CSCSegment> const &, double&, CSCSegment&, TrajectoryStateOnSurface&);
94  void useSegment(DTRecSegment4D const &, TrajectoryStateOnSurface const &);
95  void useSegment(CSCSegment const &, TrajectoryStateOnSurface const &);
97 
99  bool useAPE;
100  std::vector<int> Thrs;
113  std::map<int, double> estimatorMap;
114  std::map<int, bool> usedStationMap;
115  std::map<int, DetId> idChamberMap;
119  std::map<DTChamberId, GlobalError> dtApeMap;
120  std::map<CSCDetId, GlobalError> cscApeMap;
127 };
128 
129 #endif
130 
131 
DirectMuonNavigation * navigation
edm::ESHandle< Propagator > propagatorPF
void setProd(const edm::Handle< DTRecSegment4DCollection > &DTSegProd, const edm::Handle< CSCSegmentCollection > &CSCSegProd)
void compatibleDets(TrajectoryStateOnSurface &, std::map< int, std::vector< DetId > > &)
void sort(ConstRecHitContainer &)
TrajectoryStateOnSurface currentState
edm::ESHandle< Propagator > propagatorCompatibleDet
void setUsedStations(const std::map< int, bool > &ustMap)
Definition: DYTInfo.h:37
void initCSU(const edm::Handle< DTRecSegment4DCollection > &, const edm::Handle< CSCSegmentCollection > &)
void fillSegmentMaps(std::map< int, std::vector< DetId > > &, std::map< int, std::vector< DTRecSegment4D > > &, std::map< int, std::vector< CSCSegment > > &)
void useSegment(DTRecSegment4D const &, TrajectoryStateOnSurface const &)
void getThresholdFromDB(double &, DetId const &)
void updateWithCSChits(TrajectoryStateOnSurface &, CSCSegment const &)
void testDTstation(TrajectoryStateOnSurface &, std::vector< DTRecSegment4D > const &, double &, DTRecSegment4D &, TrajectoryStateOnSurface &)
std::map< int, bool > usedStationMap
ThrParameters * thrManager
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
TrajectoryStateOnSurface prelFitState
void correctThrByPtAndEta(double &)
void setDYTEstimators(const std::map< int, double > &dytEstMap)
Definition: DYTInfo.h:26
edm::ESHandle< MuonDetLayerGeometry > navMuon
ConstRecHitContainer result
std::map< int, DetId > idChamberMap
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
void testCSCstation(TrajectoryStateOnSurface &, std::vector< CSCSegment > const &, double &, CSCSegment &, TrajectoryStateOnSurface &)
edm::ESHandle< TrajectoryStateUpdator > updatorHandle
ConstRecHitContainer prelFitMeas
void setNStUsed(int NStUsed)
Definition: DYTInfo.h:22
TransientTrackingRecHit::ConstRecHitContainer filter(const Trajectory &)
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
ChamberSegmentUtility * getSegs
reco::DYTInfo dytInfo
std::vector< int > Thrs
std::vector< ConstRecHitPointer > ConstRecHitContainer
void preliminaryFit(std::map< int, std::vector< DetId > >, std::map< int, std::vector< DTRecSegment4D > >, std::map< int, std::vector< CSCSegment > >)
Definition: DetId.h:18
std::map< DTChamberId, GlobalError > dtApeMap
DynamicTruncation(const edm::Event &, const MuonServiceProxy &)
void update(TrajectoryStateOnSurface &, ConstRecHitPointer)
reco::DYTInfo getDYTInfo()
const DYTThrObject * dytThresholds
void setIdChambers(const std::map< int, DetId > &IdChambersMap)
Definition: DYTInfo.h:46
void fillDYTInfos(int const &, bool const &, int &, double const &, double const &, DTRecSegment4D const &, CSCSegment const &)
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
edm::ESHandle< Propagator > propagator
std::map< int, double > estimatorMap
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
bool chooseLayers(int &, double const &, DTRecSegment4D const &, TrajectoryStateOnSurface const &, double const &, CSCSegment const &, TrajectoryStateOnSurface const &)
int stationfromDet(DetId const &)
void updateWithDThits(TrajectoryStateOnSurface &, DTRecSegment4D const &)
edm::ESHandle< MagneticField > magfield
void setThr(const std::vector< int > &)
std::map< CSCDetId, GlobalError > cscApeMap
edm::ESHandle< GlobalTrackingGeometry > theG
edm::ESHandle< CSCGeometry > cscGeom
void getThresholdFromCFG(double &, DetId const &)