CMS 3D CMS Logo

CaloMuon.h
Go to the documentation of this file.
1 #ifndef MuonReco_CaloMuon_h
2 #define MuonReco_CaloMuon_h
3 
18 
19 namespace reco {
20 
21  class CaloMuon {
22  public:
23  CaloMuon();
24  virtual ~CaloMuon() {}
25 
27  virtual TrackRef innerTrack() const { return innerTrack_; }
28  virtual TrackRef track() const { return innerTrack(); }
30  virtual void setInnerTrack(const TrackRef& t) { innerTrack_ = t; }
31  virtual void setTrack(const TrackRef& t) { setInnerTrack(t); }
33  bool isEnergyValid() const { return energyValid_; }
35  MuonEnergy calEnergy() const { return calEnergy_; }
39  energyValid_ = true;
40  }
41 
45  float caloCompatibility() const { return caloCompatibility_; }
47  bool isCaloCompatibilityValid() const { return caloCompatibility_ >= 0; }
48 
50  int charge() const { return innerTrack_.get()->charge(); }
52  double theta() const { return innerTrack_.get()->theta(); }
54  double p() const { return innerTrack_.get()->p(); }
56  double pt() const { return innerTrack_.get()->pt(); }
58  double px() const { return innerTrack_.get()->px(); }
60  double py() const { return innerTrack_.get()->py(); }
62  double pz() const { return innerTrack_.get()->pz(); }
64  double phi() const { return innerTrack_.get()->phi(); }
66  double eta() const { return innerTrack_.get()->eta(); }
67 
68  private:
76  };
77 
78 } // namespace reco
79 
80 #endif
virtual TrackRef track() const
Definition: CaloMuon.h:28
double pt() const
track transverse momentum
Definition: CaloMuon.h:56
double p() const
momentum vector magnitude
Definition: CaloMuon.h:54
bool isEnergyValid() const
energy deposition
Definition: CaloMuon.h:33
double pz() const
z coordinate of momentum vector
Definition: CaloMuon.h:62
static std::string const input
Definition: EdmProvDump.cc:47
double py() const
y coordinate of momentum vector
Definition: CaloMuon.h:60
int charge() const
a bunch of useful accessors
Definition: CaloMuon.h:50
float caloCompatibility() const
Definition: CaloMuon.h:45
virtual TrackRef innerTrack() const
reference to Track reconstructed in the tracker only
Definition: CaloMuon.h:27
MuonEnergy calEnergy_
energy deposition
Definition: CaloMuon.h:72
double theta() const
polar angle
Definition: CaloMuon.h:52
TrackRef innerTrack_
reference to Track reconstructed in the tracker only
Definition: CaloMuon.h:70
double eta() const
pseudorapidity of momentum vector
Definition: CaloMuon.h:66
float caloCompatibility_
muon hypothesis compatibility with observer calorimeter energy
Definition: CaloMuon.h:75
bool isCaloCompatibilityValid() const
Definition: CaloMuon.h:47
double px() const
x coordinate of momentum vector
Definition: CaloMuon.h:58
void setCaloCompatibility(float input)
Definition: CaloMuon.h:46
virtual void setInnerTrack(const TrackRef &t)
set reference to Track
Definition: CaloMuon.h:30
void setCalEnergy(const MuonEnergy &calEnergy)
set energy deposition information
Definition: CaloMuon.h:37
bool energyValid_
Definition: CaloMuon.h:73
fixed size matrix
double phi() const
azimuthal angle of momentum vector
Definition: CaloMuon.h:64
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:232
MuonEnergy calEnergy() const
get energy deposition information
Definition: CaloMuon.h:35
virtual ~CaloMuon()
Definition: CaloMuon.h:24
virtual void setTrack(const TrackRef &t)
Definition: CaloMuon.h:31