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>
45 
46 
48 
49  public:
50 
53 
55 
57 
59  const edm::Handle<CSCSegmentCollection>& CSCSegProd) {
60  getSegs->initCSU(DTSegProd, CSCSegProd);
61  }
62 
63  void setSelector(int);
64  void setThr(const std::vector<int>&);
65  void setUpdateState(bool);
66  void setUseAPE(bool);
67 
68  // Return the vector with the tracker plus the selected muon hits
70 
71  // Return the DYTInfo object
77  return dytInfo;
78  }
79 
80  private:
81 
82  void compatibleDets(TrajectoryStateOnSurface&, std::map<int, std::vector<DetId> >&);
83  void filteringAlgo();
84  void fillSegmentMaps(std::map<int, std::vector<DetId> >&, std::map<int, std::vector<DTRecSegment4D> >&, std::map<int, std::vector<CSCSegment> >&);
85  void preliminaryFit(std::map<int, std::vector<DetId> >, std::map<int, std::vector<DTRecSegment4D> >, std::map<int, std::vector<CSCSegment> >);
86  bool chooseLayers(int&, double const &, DTRecSegment4D const &, TrajectoryStateOnSurface const &, double const &, CSCSegment const &, TrajectoryStateOnSurface const &);
87  void fillDYTInfos(int const&, bool const&, int&, double const&, double const&, DTRecSegment4D const&, CSCSegment const&);
88  int stationfromDet(DetId const&);
92  void getThresholdFromDB(double&, DetId const&);
93  void correctThrByPtAndEta(double&);
94  void getThresholdFromCFG(double&, DetId const&);
95  void testDTstation(TrajectoryStateOnSurface&, std::vector<DTRecSegment4D> const &, double&, DTRecSegment4D&, TrajectoryStateOnSurface&);
96  void testCSCstation(TrajectoryStateOnSurface&, std::vector<CSCSegment> const &, double&, CSCSegment&, TrajectoryStateOnSurface&);
97  void useSegment(DTRecSegment4D const &, TrajectoryStateOnSurface const &);
98  void useSegment(CSCSegment const &, TrajectoryStateOnSurface const &);
100 
102  bool useAPE;
103  std::vector<int> Thrs;
116  std::map<int, double> estimatorMap;
117  std::map<int, bool> usedStationMap;
118  std::map<int, DetId> idChamberMap;
122  std::map<DTChamberId, GlobalError> dtApeMap;
123  std::map<CSCDetId, GlobalError> cscApeMap;
130 };
131 
132 #endif
133 
134 
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 &)