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 
14 namespace reco {
15 
16  class MuonTimeExtra {
17  public:
18  MuonTimeExtra();
19 
20  enum Direction { OutsideIn = -1, Undefined = 0, InsideOut = 1 };
21 
23  int nDof() const { return nDof_; };
24  void setNDof( const int nDof ) { nDof_=nDof; };
25 
28  float inverseBeta() const { return inverseBeta_; };
29  float inverseBetaErr() const { return inverseBetaErr_; };
30  void setInverseBeta( const float iBeta ) { inverseBeta_=iBeta; };
31  void setInverseBetaErr( const float iBetaErr) { inverseBetaErr_=iBetaErr; };
32 
37  float freeInverseBeta() const { return freeInverseBeta_; };
38  float freeInverseBetaErr() const { return freeInverseBetaErr_; };
39  void setFreeInverseBeta( const float iBeta ) { freeInverseBeta_=iBeta; };
40  void setFreeInverseBetaErr( const float iBetaErr) { freeInverseBetaErr_=iBetaErr; };
41 
44  float timeAtIpInOut() const { return timeAtIpInOut_; };
45  float timeAtIpInOutErr() const { return timeAtIpInOutErr_; };
46  void setTimeAtIpInOut( const float timeIp ) { timeAtIpInOut_=timeIp; };
47  void setTimeAtIpInOutErr( const float timeErr ) { timeAtIpInOutErr_=timeErr; };
49  float timeAtIpOutIn() const { return timeAtIpOutIn_; };
50  float timeAtIpOutInErr() const { return timeAtIpOutInErr_; };
51  void setTimeAtIpOutIn( const float timeIp ) { timeAtIpOutIn_=timeIp; };
52  void setTimeAtIpOutInErr( const float timeErr ) { timeAtIpOutInErr_=timeErr; };
53 
56  {
57  if (nDof_<2) return Undefined;
59  return InsideOut;
60  }
61 
62  private:
63 
65  int nDof_;
66 
68  float inverseBeta_;
70 
74 
80 
81  };
82 
83 }
84 
85 #endif
void setTimeAtIpOutInErr(const float timeErr)
Definition: MuonTimeExtra.h:52
float inverseBetaErr() const
Definition: MuonTimeExtra.h:29
float inverseBeta() const
Definition: MuonTimeExtra.h:28
float inverseBeta_
1/beta for prompt particle hypothesis
Definition: MuonTimeExtra.h:68
Direction direction() const
direction estimation based on time dispersion
Definition: MuonTimeExtra.h:55
float timeAtIpOutInErr() const
Definition: MuonTimeExtra.h:50
float timeAtIpInOut_
time of arrival at the IP for the Beta=1 hypothesis
Definition: MuonTimeExtra.h:76
int nDof() const
number of measurements used in timing calculation
Definition: MuonTimeExtra.h:23
void setTimeAtIpOutIn(const float timeIp)
Definition: MuonTimeExtra.h:51
float timeAtIpInOutErr() const
Definition: MuonTimeExtra.h:45
void setNDof(const int nDof)
Definition: MuonTimeExtra.h:24
float freeInverseBetaErr() const
Definition: MuonTimeExtra.h:38
float timeAtIpInOut() const
Definition: MuonTimeExtra.h:44
void setInverseBetaErr(const float iBetaErr)
Definition: MuonTimeExtra.h:31
float freeInverseBeta_
unconstrained 1/beta (time is free)
Definition: MuonTimeExtra.h:72
float freeInverseBeta() const
Definition: MuonTimeExtra.h:37
void setFreeInverseBetaErr(const float iBetaErr)
Definition: MuonTimeExtra.h:40
float timeAtIpOutIn() const
b) particle is moving from outside in
Definition: MuonTimeExtra.h:49
void setFreeInverseBeta(const float iBeta)
Definition: MuonTimeExtra.h:39
void setTimeAtIpInOut(const float timeIp)
Definition: MuonTimeExtra.h:46
int nDof_
number of measurements used in timing calculation
Definition: MuonTimeExtra.h:65
void setTimeAtIpInOutErr(const float timeErr)
Definition: MuonTimeExtra.h:47
void setInverseBeta(const float iBeta)
Definition: MuonTimeExtra.h:30