CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TriggerSummaryProducerAOD.h
Go to the documentation of this file.
1 #ifndef HLTcore_TriggerSummaryProducerAOD_h
2 #define HLTcore_TriggerSummaryProducerAOD_h
3 
23 
27 
32 
48 
49 #include <map>
50 #include <set>
51 #include <string>
52 #include <vector>
53 
54 namespace edm {
55  class EventSetup;
56 }
57 
58 //
59 // class declaration
60 //
61 
63 
64  public:
67  virtual void produce(edm::Event&, const edm::EventSetup&);
68  virtual void endJob();
69 
70  // additional
71 
72  template <typename C>
74 
75  template <typename T>
76  void fillTriggerObject(const T& );
79  void fillTriggerObject(const reco::CaloMET& );
80  void fillTriggerObject(const reco::MET& );
81 
82  template <typename C>
83  void fillFilterObjectMembers(const edm::Event&, const edm::InputTag& tag, const trigger::Vids &, const std::vector<edm::Ref<C> >&);
84 
85  template <typename C>
86  void fillFilterObjectMember(const int&, const int&, const edm::Ref<C>&);
87  void fillFilterObjectMember(const int&, const int&, const edm::Ref<l1extra::L1HFRingsCollection>&);
88  void fillFilterObjectMember(const int&, const int&, const edm::Ref<l1extra::L1EtMissParticleCollection>&);
89  void fillFilterObjectMember(const int&, const int&, const edm::Ref<reco::CaloMETCollection>&);
90  void fillFilterObjectMember(const int&, const int&, const edm::Ref<reco::METCollection>&);
91 
92  private:
95 
97  struct OrderInputTag {
99  OrderInputTag(bool ignoreProcess): ignoreProcess_(ignoreProcess) { };
100  inline bool operator()(const edm::InputTag& l, const edm::InputTag& r) const {
101  int c = l.label().compare(r.label());
102  if(0==c) {
103  if(ignoreProcess_) {
104  return l.instance()<r.instance();
105  }
106  c = l.instance().compare(r.instance());
107  if(0==c) {
108  return l.process()<r.process();
109  }
110  }
111  return c < 0;
112  };
113  };
114  typedef std::set<edm::InputTag,OrderInputTag> InputTagSet;
115 
119 
123 
126  std::vector<std::string> tags_;
128  std::map<edm::ProductID,unsigned int> offset_;
129 
134 
136  std::vector<bool> maskFilters_;
137 
154 };
155 #endif
edm::GetterOfProducts< l1extra::L1JetParticleCollection > getL1JetParticleCollection_
edm::GetterOfProducts< reco::IsolatedPixelTrackCandidateCollection > getIsolatedPixelTrackCandidateCollection_
virtual void produce(edm::Event &, const edm::EventSetup &)
edm::GetterOfProducts< reco::RecoEcalCandidateCollection > getRecoEcalCandidateCollection_
edm::GetterOfProducts< l1extra::L1MuonParticleCollection > getL1MuonParticleCollection_
trigger::TriggerObjectCollection toc_
trigger object collection
edm::GetterOfProducts< reco::PFTauCollection > getPFTauCollection_
std::vector< bool > maskFilters_
packing decision
edm::GetterOfProducts< reco::METCollection > getMETCollection_
std::set< edm::InputTag, OrderInputTag > InputTagSet
edm::GetterOfProducts< reco::CaloJetCollection > getCaloJetCollection_
void fillFilterObjectMember(const int &, const int &, const edm::Ref< C > &)
edm::GetterOfProducts< l1extra::L1EtMissParticleCollection > getL1EtMissParticleCollection_
std::vector< std::string > tags_
edm::GetterOfProducts< reco::PFJetCollection > getPFJetCollection_
edm::GetterOfProducts< reco::RecoChargedCandidateCollection > getRecoChargedCandidateCollection_
TriggerSummaryProducerAOD(const edm::ParameterSet &)
Definition: MET.h:32
edm::GetterOfProducts< l1extra::L1HFRingsCollection > getL1HFRingsCollection_
bool operator()(const edm::InputTag &l, const edm::InputTag &r) const
std::map< edm::ProductID, unsigned int > offset_
global map for indices into toc_: offset per input L3 collection
void fillFilterObjectMembers(const edm::Event &, const edm::InputTag &tag, const trigger::Vids &, const std::vector< edm::Ref< C > > &)
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:83
std::vector< size_type > Keys
edm::GetterOfProducts< reco::CaloMETCollection > getCaloMETCollection_
std::string const & label() const
Definition: InputTag.h:42
std::string const & process() const
Definition: InputTag.h:46
edm::GetterOfProducts< reco::ElectronCollection > getElectronCollection_
InputTagSet collectionTagsEvent_
list of L3 collection tags
edm::GetterOfProducts< reco::CompositeCandidateCollection > getCompositeCandidateCollection_
edm::GetterOfProducts< trigger::TriggerFilterObjectWithRefs > getTriggerFilterObjectWithRefs_
std::string pn_
process name
void fillTriggerObjectCollections(const edm::Event &, edm::GetterOfProducts< C > &)
InputTagSet filterTagsEvent_
list of L3 filter tags
long double T
std::string const & instance() const
Definition: InputTag.h:43
std::vector< int > Vids
edm::GetterOfProducts< l1extra::L1EmParticleCollection > getL1EmParticleCollection_