CMS 3D CMS Logo

DTSegmentUpdator.h
Go to the documentation of this file.
1 #ifndef DTSegment_DTSegmentUpdator_h
2 #define DTSegment_DTSegmentUpdator_h
3 
17 /* C++ Headers */
18 #include <vector>
19 
22 
24 
26 
27 /* ====================================================================== */
28 
29 /* Collaborating Class Declarations */
30 class DTSegmentCand;
31 class DTRecSegment2D;
32 class DTRecSegment4D;
33 class DTLinearFit;
34 class DTRecHitBaseAlgo;
36 
37 namespace edm{class EventSetup; class ParameterSet;}
38 
39 /* Class DTSegmentUpdator Interface */
41 
42  public:
43 
46 
48  ~DTSegmentUpdator() ;
49 
50  /* Operations */
51 
54  bool fit(DTSegmentCand* seg, bool allow3par, const bool fitdebug) const;
55 
59  void fit(DTRecSegment2D* seg, bool allow3par, bool block3par) const;
60 
65  void fit(DTRecSegment4D* seg, bool allow3par) const;
66 
68  void update(DTRecSegment4D* seg, const bool calcT0, bool allow3par) const;
69 
71  void update(DTRecSegment2D* seg, bool allow3par) const;
72 
73  void calculateT0corr(DTRecSegment2D* seg) const;
74  void calculateT0corr(DTRecSegment4D* seg) const;
75 
77  void setES(const edm::EventSetup& setup);
78 
79  protected:
80 
81  private:
82  DTLinearFit* theFitter; // the linear fitter
83  DTRecHitBaseAlgo* theAlgo; // the algo for hit reconstruction
85 
86  void updateHits(DTRecSegment2D* seg,
87  GlobalPoint &gpos,
88  GlobalVector &gdir,
89  const int step=2) const;
90 
91  //rejects bad hits (due to deltas) for phi segment
92  void rejectBadHits(DTChamberRecSegment2D* ) const;
93 
95  void fit(const std::vector<float>& x,
96  const std::vector<float>& y,
97  const std::vector<int>& lfit,
98  const std::vector<double>& dist,
99  const std::vector<float>& sigy,
100  LocalPoint& pos,
101  LocalVector& dir,
102  float& cminf,
103  float& vminf,
104  AlgebraicSymMatrix& covMat,
105  double& chi2,
106  const bool allow3par = false,
107  const bool block3par = false) const;
108 
109  double intime_cut;
113  bool debug;
114 
115 };
116 
117 #endif // DTSegment_DTSegmentUpdator_h
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:2
Definition: config.py:1
edm::ESHandle< DTGeometry > theGeom
DTLinearFit * theFitter
HLT enums.
#define update(a, b)
CLHEP::HepSymMatrix AlgebraicSymMatrix
step
dbl *** dir
Definition: mlp_gen.cc:35
DTRecHitBaseAlgo * theAlgo