CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DataFormats/MuonReco/interface/CaloMuon.h

Go to the documentation of this file.
00001 #ifndef MuonReco_CaloMuon_h
00002 #define MuonReco_CaloMuon_h
00003 
00016 #include "DataFormats/MuonReco/interface/MuonEnergy.h"
00017 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00018 #include "DataFormats/TrackReco/interface/Track.h"
00019 
00020 namespace reco {
00021  
00022   class CaloMuon {
00023   public:
00024     CaloMuon();
00025     virtual ~CaloMuon(){}     
00026     
00028     virtual TrackRef innerTrack() const { return innerTrack_; }
00029     virtual TrackRef track() const { return innerTrack(); }
00031     virtual void setInnerTrack( const TrackRef & t ) { innerTrack_ = t; }
00032     virtual void setTrack( const TrackRef & t ) { setInnerTrack(t); }
00034     bool isEnergyValid() const { return energyValid_; }
00036     MuonEnergy calEnergy() const { return calEnergy_; }
00038     void setCalEnergy( const MuonEnergy& calEnergy ) { calEnergy_ = calEnergy; energyValid_ = true; }
00039      
00043     float caloCompatibility() const { return caloCompatibility_; }
00044     void  setCaloCompatibility(float input){ caloCompatibility_ = input; }
00045     bool  isCaloCompatibilityValid() const { return caloCompatibility_>=0; } 
00046      
00048     int charge() const { return innerTrack_.get()->charge(); }
00050     double theta() const { return innerTrack_.get()->theta(); }
00052     double p() const { return innerTrack_.get()->p(); }
00054     double pt() const { return innerTrack_.get()->pt(); }
00056     double px() const { return innerTrack_.get()->px(); }
00058     double py() const { return innerTrack_.get()->py(); }
00060     double pz() const { return innerTrack_.get()->pz(); }
00062     double phi() const { return innerTrack_.get()->phi(); }
00064     double eta() const { return innerTrack_.get()->eta(); }
00065      
00066   private:
00068     TrackRef innerTrack_;
00070     MuonEnergy calEnergy_;
00071     bool energyValid_;
00073     float caloCompatibility_;
00074   };
00075 
00076 }
00077 
00078 
00079 #endif