CMS 3D CMS Logo

TriggerObject.h

Go to the documentation of this file.
00001 #ifndef DataFormats_PatCandidates_TriggerObject_h
00002 #define DataFormats_PatCandidates_TriggerObject_h
00003 
00004 
00005 // -*- C++ -*-
00006 //
00007 // Package:    PatCandidates
00008 // Class:      pat::TriggerObject
00009 //
00010 // $Id: TriggerObject.h,v 1.1.2.3 2009/03/27 21:31:05 vadler Exp $
00011 //
00027 #include "DataFormats/Candidate/interface/LeafCandidate.h"
00028 
00029 #include <map>
00030 #include <string>
00031 #include <vector>
00032 
00033 #include "DataFormats/HLTReco/interface/TriggerObject.h"
00034 #include "DataFormats/Common/interface/Ref.h"
00035 #include "DataFormats/Common/interface/RefProd.h"
00036 #include "DataFormats/Common/interface/RefVector.h"
00037 #include "DataFormats/Common/interface/Association.h"
00038 
00039 
00040 namespace pat {
00041  
00042   class TriggerObject : public reco::LeafCandidate {
00043     
00045       std::string             collection_;
00046       std::vector< unsigned > filterIds_;  // special filter related ID as defined in enum 'TriggerObjectType' in DataFormats/HLTReco/interface/TriggerTypeDefs.h
00047                                            // empty, if object was not used in last active filter
00048 
00049     public:
00050 
00052       TriggerObject();
00053       TriggerObject( const reco::Particle::LorentzVector & vec, int id = 0 );
00054       TriggerObject( const reco::Particle::PolarLorentzVector & vec, int id = 0 );
00055       TriggerObject( const trigger::TriggerObject & aTrigObj );
00056       virtual ~TriggerObject() {};
00057       
00059       void setCollection( const std::string & collection ) { collection_ = collection; };
00060       void addFilterId( unsigned filterId )                { filterIds_.push_back( filterId ); };
00061       std::string             collection() const { return collection_; };
00062       std::vector< unsigned > filterIds() const  { return filterIds_; };
00063       bool                    hasFilterId( unsigned filterId ) const;
00064 
00065   };
00066   
00067 
00069   typedef std::vector< TriggerObject >                       TriggerObjectCollection;
00071   typedef edm::Ref< TriggerObjectCollection >                TriggerObjectRef;
00073   typedef std::map< std::string, TriggerObjectRef >          TriggerObjectMatchMap;
00075   typedef edm::RefProd< TriggerObjectCollection >            TriggerObjectRefProd;
00077   typedef edm::RefVector< TriggerObjectCollection >          TriggerObjectRefVector;
00079   typedef edm::Association< TriggerObjectCollection >        TriggerObjectMatch;
00081   typedef edm::RefProd< TriggerObjectMatch >                 TriggerObjectMatchRefProd;
00083   typedef std::map< std::string, TriggerObjectMatchRefProd > TriggerObjectMatchContainer;
00084 
00085 }
00086 
00087 
00088 #endif

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