CMS 3D CMS Logo

L1EtMissParticle.h

Go to the documentation of this file.
00001 #ifndef L1Trigger_L1EtMissParticle_h
00002 #define L1Trigger_L1EtMissParticle_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     L1Trigger
00006 // Class  :     L1EtMissParticle
00007 // 
00012 //
00013 // Original Author:  Werner Sun
00014 //         Created:  Sat Jul 15 12:41:07 EDT 2006
00015 // $Id: L1EtMissParticle.h,v 1.13 2008/04/03 03:37:05 wsun Exp $
00016 //
00017 
00018 // system include files
00019 
00020 // user include files
00021 #include "DataFormats/Candidate/interface/LeafCandidate.h"
00022 #include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCollections.h"
00023 #include "DataFormats/Common/interface/Ref.h"
00024 
00025 // forward declarations
00026 
00027 namespace l1extra {
00028 
00029    class L1EtMissParticle : public reco::LeafCandidate
00030    {
00031 
00032       public:
00033          L1EtMissParticle();
00034 
00035          // Default Refs are null.
00036          L1EtMissParticle(
00037             const LorentzVector& p4,
00038             const double& etTotal,
00039             const double& etHad,
00040             const edm::Ref< L1GctEtMissCollection >& aEtMissRef =
00041                edm::Ref< L1GctEtMissCollection >(),
00042             const edm::Ref< L1GctEtTotalCollection >& aEtTotalRef =
00043                edm::Ref< L1GctEtTotalCollection >(),
00044             const edm::Ref< L1GctEtHadCollection >& aEtHadRef =
00045                edm::Ref< L1GctEtHadCollection >(),
00046             int bx = 0 ) ;
00047 
00048          L1EtMissParticle(
00049             const PolarLorentzVector& p4,
00050             const double& etTotal,
00051             const double& etHad,
00052             const edm::Ref< L1GctEtMissCollection >& aEtMissRef =
00053                edm::Ref< L1GctEtMissCollection >(),
00054             const edm::Ref< L1GctEtTotalCollection >& aEtTotalRef =
00055                edm::Ref< L1GctEtTotalCollection >(),
00056             const edm::Ref< L1GctEtHadCollection >& aEtHadRef =
00057                edm::Ref< L1GctEtHadCollection >(),
00058             int bx = 0 ) ;
00059 
00060          virtual ~L1EtMissParticle() {}
00061 
00062          // ---------- const member functions ---------------------
00063          double etMiss() const
00064          { return et() ; }
00065 
00066          const double& etTotal() const
00067          { return etTot_ ; }
00068 
00069          const double& etHad() const
00070          { return etHad_ ; }
00071 
00072          const edm::Ref< L1GctEtMissCollection >& gctEtMissRef() const
00073          { return etMissRef_ ; }
00074 
00075          const edm::Ref< L1GctEtTotalCollection >& gctEtTotalRef() const
00076          { return etTotRef_ ; }
00077 
00078          const edm::Ref< L1GctEtHadCollection >& gctEtHadRef() const
00079          { return etHadRef_ ; }
00080 
00081          const L1GctEtMiss* gctEtMiss() const
00082          { return etMissRef_.get() ; }
00083 
00084          const L1GctEtTotal* gctEtTotal() const
00085          { return etTotRef_.get() ; }
00086 
00087          const L1GctEtHad* gctEtHad() const
00088          { return etHadRef_.get() ; }
00089 
00090          virtual L1EtMissParticle* clone() const
00091          { return new L1EtMissParticle( *this ) ; }
00092 
00093          int bx() const
00094          { return bx_ ; }
00095 
00096          // ---------- static member functions --------------------
00097 
00098          // ---------- member functions ---------------------------
00099          void setEtTotal( const double& etTotal )
00100          { etTot_ = etTotal ; }
00101 
00102          void setEtHad( const double& etHad )
00103          { etHad_ = etHad ; }
00104 
00105          void setBx( int bx )
00106          { bx_ = bx ; }
00107 
00108       private:
00109          // L1EtMissParticle(const L1EtMissParticle&); // stop default
00110 
00111          // const L1EtMissParticle& operator=(const L1EtMissParticle&); // stop default
00112 
00113          // ---------- member data --------------------------------
00114          double etTot_ ;
00115          double etHad_ ;
00116 
00117          edm::Ref< L1GctEtMissCollection > etMissRef_ ;
00118          edm::Ref< L1GctEtTotalCollection > etTotRef_ ;
00119          edm::Ref< L1GctEtHadCollection > etHadRef_ ;
00120 
00121          int bx_ ;
00122    };
00123 }
00124 
00125 #endif

Generated on Tue Jun 9 17:31:13 2009 for CMSSW by  doxygen 1.5.4