CMS 3D CMS Logo

DTLinearDriftFromDBAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTLinearDriftFromDBAlgo_H
2 #define RecoLocalMuon_DTLinearDriftFromDBAlgo_H
3 
13 
14 class DTMtime;
15 class DTRecoConditions;
16 class MagneticField;
17 
19 public:
22 
24  ~DTLinearDriftFromDBAlgo() override;
25 
26  // Operations
27 
29  void setES(const edm::EventSetup& setup) override;
30 
35  bool compute(const DTLayer* layer,
36  const DTDigi& digi,
37  LocalPoint& leftPoint,
38  LocalPoint& rightPoint,
39  LocalError& error) const override;
40 
44  bool compute(const DTLayer* layer,
45  const DTRecHit1D& recHit1D,
46  const float& angle,
47  DTRecHit1D& newHit1D) const override;
48 
54  bool compute(const DTLayer* layer,
55  const DTRecHit1D& recHit1D,
56  const float& angle,
57  const GlobalPoint& globPos,
58  DTRecHit1D& newHit1D) const override;
59 
60 private:
61  // Do the actual work.
62  virtual bool compute(const DTLayer* layer,
63  const DTWireId& wireId,
64  const float digiTime,
65  const GlobalPoint& globPos,
66  LocalPoint& leftPoint,
67  LocalPoint& rightPoint,
68  LocalError& error,
69  int step) const;
70 
71  // Interface to the method which does the actual work suited for 2nd and 3rd steps
72  virtual bool compute(const DTLayer* layer,
73  const DTWireId& wireId,
74  const float digiTime,
75  const GlobalPoint& globPos,
76  DTRecHit1D& newHit1D,
77  int step) const;
78 
79  //Map of meantimes
80  const DTMtime* mTimeMap;
81 
82  // MF field
84  int nominalB;
85 
86  // Map of hit uncertainties
88 
89  // Times below MinTime (ns) are considered as coming from previous BXs.
90  const float minTime;
91 
92  // Times above MaxTime (ns) are considered as coming from following BXs
93  const float maxTime;
94 
95  // Perform a correction to vDrift for the external wheels
96  const bool doVdriftCorr;
97 
98  // Switch recalculating hit parameters from digi time in Step 2
99  // (when off, Step 2 does nothing)
100  const bool stepTwoFromDigi;
101 
102  // Assign hit uncertainties based on new uncertainties DB
103  // If false, the value taken from vdrift DB is used instead.
105 
106  // Switch on/off the verbosity
107  const bool debug;
108 };
109 #endif // RecoLocalMuon_DTLinearDriftFromDBAlgo_H
Definition: config.py:1
const DTRecoConditions * uncertMap
const MagneticField * field
Definition: DTDigi.h:17
DTLinearDriftFromDBAlgo(const edm::ParameterSet &config)
Constructor.
~DTLinearDriftFromDBAlgo() override
Destructor.
void setES(const edm::EventSetup &setup) override
Pass the Event Setup to the algo at each event.
bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const override
step
Definition: StallMonitor.cc:94
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11