CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTLinearDriftFromDBAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTLinearDrifFromDBtAlgo_H
2 #define RecoLocalMuon_DTLinearDriftFromDBAlgo_H
3 
13 
14 class DTMtime;
16 
18  public:
21 
23  virtual ~DTLinearDriftFromDBAlgo();
24 
25  // Operations
26 
28  virtual void setES(const edm::EventSetup& setup);
29 
30 
35  virtual bool compute(const DTLayer* layer,
36  const DTDigi& digi,
37  LocalPoint& leftPoint,
38  LocalPoint& rightPoint,
39  LocalError& error) const;
40 
41 
45  virtual bool compute(const DTLayer* layer,
46  const DTRecHit1D& recHit1D,
47  const float& angle,
48  DTRecHit1D& newHit1D) const;
49 
50 
56  virtual bool compute(const DTLayer* layer,
57  const DTRecHit1D& recHit1D,
58  const float& angle,
59  const GlobalPoint& globPos,
60  DTRecHit1D& newHit1D) const;
61 
62 
63  private:
64 
65  // Do the actual work.
66  virtual bool compute(const DTLayer* layer,
67  const DTWireId& wireId,
68  const float digiTime,
69  const GlobalPoint& globPos,
70  LocalPoint& leftPoint,
71  LocalPoint& rightPoint,
72  LocalError& error,
73  int step) const;
74 
75  // Interface to the method which does the actual work suited for 2nd and 3rd steps
76  virtual bool compute(const DTLayer* layer,
77  const DTWireId& wireId,
78  const float digiTime,
79  const GlobalPoint& globPos,
80  DTRecHit1D& newHit1D,
81  int step) const;
82 
83  //Map of meantimes
84  const DTMtime *mTimeMap;
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
110 
111 
virtual bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const
const DTRecoUncertainties * uncertMap
virtual ~DTLinearDriftFromDBAlgo()
Destructor.
virtual void setES(const edm::EventSetup &setup)
Pass the Event Setup to the algo at each event.
Definition: DTDigi.h:17
DTLinearDriftFromDBAlgo(const edm::ParameterSet &config)
Constructor.
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11