CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MuonTimeExtra.h
Go to the documentation of this file.
1 #ifndef MuonReco_MuonTimeExtra_h
2 #define MuonReco_MuonTimeExtra_h
3 
13 namespace reco {
14 
15  class MuonTimeExtra {
16  public:
17  MuonTimeExtra();
18 
19  enum Direction { OutsideIn = -1, Undefined = 0, InsideOut = 1 };
20 
22  int nDof() const { return nDof_; };
23  void setNDof(const int nDof) { nDof_ = nDof; };
24 
27  float inverseBeta() const { return inverseBeta_; };
28  float inverseBetaErr() const { return inverseBetaErr_; };
29  void setInverseBeta(const float iBeta) { inverseBeta_ = iBeta; };
30  void setInverseBetaErr(const float iBetaErr) { inverseBetaErr_ = iBetaErr; };
31 
36  float freeInverseBeta() const { return freeInverseBeta_; };
37  float freeInverseBetaErr() const { return freeInverseBetaErr_; };
38  void setFreeInverseBeta(const float iBeta) { freeInverseBeta_ = iBeta; };
39  void setFreeInverseBetaErr(const float iBetaErr) { freeInverseBetaErr_ = iBetaErr; };
40 
43  float timeAtIpInOut() const { return timeAtIpInOut_; };
44  float timeAtIpInOutErr() const { return timeAtIpInOutErr_; };
45  void setTimeAtIpInOut(const float timeIp) { timeAtIpInOut_ = timeIp; };
46  void setTimeAtIpInOutErr(const float timeErr) { timeAtIpInOutErr_ = timeErr; };
48  float timeAtIpOutIn() const { return timeAtIpOutIn_; };
49  float timeAtIpOutInErr() const { return timeAtIpOutInErr_; };
50  void setTimeAtIpOutIn(const float timeIp) { timeAtIpOutIn_ = timeIp; };
51  void setTimeAtIpOutInErr(const float timeErr) { timeAtIpOutInErr_ = timeErr; };
52 
54  Direction direction() const {
55  if (nDof_ < 2)
56  return Undefined;
58  return OutsideIn;
59  return InsideOut;
60  }
61 
62  private:
64  int nDof_;
65 
67  float inverseBeta_;
69 
73 
79  };
80 
81 } // namespace reco
82 
83 #endif
void setTimeAtIpOutInErr(const float timeErr)
Definition: MuonTimeExtra.h:51
float inverseBetaErr() const
Definition: MuonTimeExtra.h:28
float inverseBeta() const
Definition: MuonTimeExtra.h:27
float inverseBeta_
1/beta for prompt particle hypothesis
Definition: MuonTimeExtra.h:67
Direction direction() const
direction estimation based on time dispersion
Definition: MuonTimeExtra.h:54
float timeAtIpOutInErr() const
Definition: MuonTimeExtra.h:49
float timeAtIpInOut_
time of arrival at the IP for the Beta=1 hypothesis
Definition: MuonTimeExtra.h:75
int nDof() const
number of measurements used in timing calculation
Definition: MuonTimeExtra.h:22
void setTimeAtIpOutIn(const float timeIp)
Definition: MuonTimeExtra.h:50
float timeAtIpInOutErr() const
Definition: MuonTimeExtra.h:44
void setNDof(const int nDof)
Definition: MuonTimeExtra.h:23
float freeInverseBetaErr() const
Definition: MuonTimeExtra.h:37
float timeAtIpInOut() const
Definition: MuonTimeExtra.h:43
void setInverseBetaErr(const float iBetaErr)
Definition: MuonTimeExtra.h:30
float freeInverseBeta_
unconstrained 1/beta (time is free)
Definition: MuonTimeExtra.h:71
float freeInverseBeta() const
Definition: MuonTimeExtra.h:36
void setFreeInverseBetaErr(const float iBetaErr)
Definition: MuonTimeExtra.h:39
float timeAtIpOutIn() const
b) particle is moving from outside in
Definition: MuonTimeExtra.h:48
void setFreeInverseBeta(const float iBeta)
Definition: MuonTimeExtra.h:38
void setTimeAtIpInOut(const float timeIp)
Definition: MuonTimeExtra.h:45
int nDof_
number of measurements used in timing calculation
Definition: MuonTimeExtra.h:64
void setTimeAtIpInOutErr(const float timeErr)
Definition: MuonTimeExtra.h:46
void setInverseBeta(const float iBeta)
Definition: MuonTimeExtra.h:29