CMS 3D CMS Logo

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
reco::MuonTimeExtra::Undefined
Definition: MuonTimeExtra.h:19
reco::MuonTimeExtra::timeAtIpInOutErr_
float timeAtIpInOutErr_
Definition: MuonTimeExtra.h:76
reco::MuonTimeExtra::timeAtIpInOut_
float timeAtIpInOut_
time of arrival at the IP for the Beta=1 hypothesis
Definition: MuonTimeExtra.h:75
reco::MuonTimeExtra::timeAtIpInOutErr
float timeAtIpInOutErr() const
Definition: MuonTimeExtra.h:44
reco::MuonTimeExtra::freeInverseBeta_
float freeInverseBeta_
unconstrained 1/beta (time is free)
Definition: MuonTimeExtra.h:71
reco::MuonTimeExtra::nDof
int nDof() const
number of measurements used in timing calculation
Definition: MuonTimeExtra.h:22
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::MuonTimeExtra::Direction
Direction
Definition: MuonTimeExtra.h:19
reco::MuonTimeExtra::setTimeAtIpOutIn
void setTimeAtIpOutIn(const float timeIp)
Definition: MuonTimeExtra.h:50
reco::MuonTimeExtra
Definition: MuonTimeExtra.h:15
reco::MuonTimeExtra::inverseBeta_
float inverseBeta_
1/beta for prompt particle hypothesis
Definition: MuonTimeExtra.h:67
reco::MuonTimeExtra::setTimeAtIpInOutErr
void setTimeAtIpInOutErr(const float timeErr)
Definition: MuonTimeExtra.h:46
reco::MuonTimeExtra::inverseBetaErr
float inverseBetaErr() const
Definition: MuonTimeExtra.h:28
reco::MuonTimeExtra::InsideOut
Definition: MuonTimeExtra.h:19
reco::MuonTimeExtra::inverseBeta
float inverseBeta() const
Definition: MuonTimeExtra.h:27
reco::MuonTimeExtra::freeInverseBetaErr
float freeInverseBetaErr() const
Definition: MuonTimeExtra.h:37
reco::MuonTimeExtra::setTimeAtIpInOut
void setTimeAtIpInOut(const float timeIp)
Definition: MuonTimeExtra.h:45
reco::MuonTimeExtra::timeAtIpOutIn
float timeAtIpOutIn() const
b) particle is moving from outside in
Definition: MuonTimeExtra.h:48
reco::MuonTimeExtra::setFreeInverseBetaErr
void setFreeInverseBetaErr(const float iBetaErr)
Definition: MuonTimeExtra.h:39
reco::MuonTimeExtra::OutsideIn
Definition: MuonTimeExtra.h:19
reco::MuonTimeExtra::freeInverseBetaErr_
float freeInverseBetaErr_
Definition: MuonTimeExtra.h:72
reco::MuonTimeExtra::setTimeAtIpOutInErr
void setTimeAtIpOutInErr(const float timeErr)
Definition: MuonTimeExtra.h:51
reco::MuonTimeExtra::nDof_
int nDof_
number of measurements used in timing calculation
Definition: MuonTimeExtra.h:64
reco::MuonTimeExtra::MuonTimeExtra
MuonTimeExtra()
Definition: MuonTimeExtra.cc:4
reco::MuonTimeExtra::timeAtIpOutInErr
float timeAtIpOutInErr() const
Definition: MuonTimeExtra.h:49
reco::MuonTimeExtra::direction
Direction direction() const
direction estimation based on time dispersion
Definition: MuonTimeExtra.h:54
reco::MuonTimeExtra::setInverseBetaErr
void setInverseBetaErr(const float iBetaErr)
Definition: MuonTimeExtra.h:30
reco::MuonTimeExtra::setInverseBeta
void setInverseBeta(const float iBeta)
Definition: MuonTimeExtra.h:29
reco::MuonTimeExtra::freeInverseBeta
float freeInverseBeta() const
Definition: MuonTimeExtra.h:36
reco::MuonTimeExtra::timeAtIpInOut
float timeAtIpInOut() const
Definition: MuonTimeExtra.h:43
reco::MuonTimeExtra::setFreeInverseBeta
void setFreeInverseBeta(const float iBeta)
Definition: MuonTimeExtra.h:38
reco::MuonTimeExtra::inverseBetaErr_
float inverseBetaErr_
Definition: MuonTimeExtra.h:68
reco::MuonTimeExtra::timeAtIpOutInErr_
float timeAtIpOutInErr_
Definition: MuonTimeExtra.h:78
reco::MuonTimeExtra::setNDof
void setNDof(const int nDof)
Definition: MuonTimeExtra.h:23
reco::MuonTimeExtra::timeAtIpOutIn_
float timeAtIpOutIn_
Definition: MuonTimeExtra.h:77