CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 
55  {
56  if (nDof_<2) return Undefined;
58  return InsideOut;
59  }
60 
61  private:
62 
64  int nDof_;
65 
67  float inverseBeta_;
69 
73 
79 
80  };
81 
82 }
83 
84 #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