CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/DQMOffline/Trigger/interface/EgHLTOffEvt.h

Go to the documentation of this file.
00001 #ifndef DQMOFFLINE_TRIGGER_EGHLTOFFEVT
00002 #define DQMOFFLINE_TRIGGER_EGHLTOFFEVT
00003 
00004 //struct: EgHLTOffData (Egamma HLT Offline Data)
00005 //
00006 //author: Sam Harper (July 2008)
00007 //
00008 //WARNING: interface is NOT final, please dont use this class for now without clearing it with me
00009 //         as I will change it and possibly break all your code
00010 //
00011 //aim: this is a simple struct which allows all the data needed by the egamma offline HLT DQM  code to be passed in as single object
00012 //     this includes the TriggerEvent handle and the vector of EgHLTOffEle at the moment
00013 //
00014 //implimentation: 
00015 //       
00016 //      
00017 
00018 #include "DQMOffline/Trigger/interface/EgHLTOffEle.h"
00019 #include "DQMOffline/Trigger/interface/EgHLTOffPho.h"
00020 
00021 #include "DataFormats/Common/interface/Handle.h"
00022 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
00023 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
00024 
00025 
00026 namespace egHLT {
00027   //we own nothing....
00028   class OffEvt {
00029   private:
00030     //edm::Handle<trigger::TriggerEvent> trigEvt_;
00031     edm::Handle<std::vector<reco::CaloJet> > jets_;
00032     
00033     std::vector<OffEle> eles_;//egHLT::OffEle is lightweightish and handles copying okay hence it isnt a vector of pointers
00034     std::vector<OffPho> phos_;//egHLT::OffPho is lightweightish and handles copying okay hence it isnt a vector of pointers
00035     //const std::vector<reco::CaloJet>* jets_;
00036     
00037     TrigCodes::TrigBitSet evtTrigBits_; //the triggers that fired in the event all in a handy bit set
00038 
00039     
00040   public:
00041     OffEvt(){}
00042     ~OffEvt(){}
00043     
00044     //accessors
00045     //    const trigger::TriggerEvent& trigEvt()const{return *trigEvt_.product();}
00046     const std::vector<OffEle>& eles()const{return eles_;}
00047     std::vector<OffEle>& eles(){return eles_;}
00048     const std::vector<OffPho>& phos()const{return phos_;}
00049     std::vector<OffPho>& phos(){return phos_;}
00050     TrigCodes::TrigBitSet evtTrigBits()const{return evtTrigBits_;}
00051     const std::vector<reco::CaloJet>& jets()const{return *jets_.product();}
00052 
00053     //modifiers
00054     void clear();
00055     void setEvtTrigBits(TrigCodes::TrigBitSet bits){evtTrigBits_=bits;}
00056     void setJets(edm::Handle<std::vector<reco::CaloJet> > jets){jets_=jets;}
00057 
00058   };
00059 }
00060 
00061 
00062 #endif