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,
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
step
step
Definition: StallMonitor.cc:94
DTLinearDriftFromDBAlgo::useUncertDB
bool useUncertDB
Definition: DTLinearDriftFromDBAlgo.h:104
DTRecHitBaseAlgo
Definition: DTRecHitBaseAlgo.h:29
DTLinearDriftFromDBAlgo::maxTime
const float maxTime
Definition: DTLinearDriftFromDBAlgo.h:93
DTRecHit1D
Definition: DTRecHit1D.h:25
DTRecHitBaseAlgo.h
DTMtime
Definition: DTMtime.h:68
relativeConstraints.error
error
Definition: relativeConstraints.py:53
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
config
Definition: config.py:1
DTLinearDriftFromDBAlgo::doVdriftCorr
const bool doVdriftCorr
Definition: DTLinearDriftFromDBAlgo.h:96
DTWireId
Definition: DTWireId.h:12
Point3DBase< float, LocalTag >
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
edm::ParameterSet
Definition: ParameterSet.h:47
LocalError
Definition: LocalError.h:12
DTLinearDriftFromDBAlgo::uncertMap
const DTRecoConditions * uncertMap
Definition: DTLinearDriftFromDBAlgo.h:87
DTLinearDriftFromDBAlgo::minTime
const float minTime
Definition: DTLinearDriftFromDBAlgo.h:90
DTLinearDriftFromDBAlgo::setES
void setES(const edm::EventSetup &setup) override
Pass the Event Setup to the algo at each event.
Definition: DTLinearDriftFromDBAlgo.cc:42
DTLinearDriftFromDBAlgo::nominalB
int nominalB
Definition: DTLinearDriftFromDBAlgo.h:84
DTLinearDriftFromDBAlgo::DTLinearDriftFromDBAlgo
DTLinearDriftFromDBAlgo(const edm::ParameterSet &config)
Constructor.
Definition: DTLinearDriftFromDBAlgo.cc:26
DTLinearDriftFromDBAlgo::debug
const bool debug
Definition: DTLinearDriftFromDBAlgo.h:107
edm::EventSetup
Definition: EventSetup.h:58
DTLinearDriftFromDBAlgo::mTimeMap
const DTMtime * mTimeMap
Definition: DTLinearDriftFromDBAlgo.h:80
DTLinearDriftFromDBAlgo::~DTLinearDriftFromDBAlgo
~DTLinearDriftFromDBAlgo() override
Destructor.
Definition: DTLinearDriftFromDBAlgo.cc:40
DTLayer
Definition: DTLayer.h:25
DTLinearDriftFromDBAlgo::field
const MagneticField * field
Definition: DTLinearDriftFromDBAlgo.h:83
DTLinearDriftFromDBAlgo
Definition: DTLinearDriftFromDBAlgo.h:18
DTLinearDriftFromDBAlgo::stepTwoFromDigi
const bool stepTwoFromDigi
Definition: DTLinearDriftFromDBAlgo.h:100
DTLinearDriftFromDBAlgo::compute
bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const override
Definition: DTLinearDriftFromDBAlgo.cc:72
angle
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
DTDigi
Definition: DTDigi.h:17
DTRecoConditions
Definition: DTRecoConditions.h:28
MagneticField
Definition: MagneticField.h:19