Imperial Analysis
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ICEventInfoProducer.hh
Go to the documentation of this file.
1 #ifndef UserCode_ICHiggsTauTau_ICEventInfoProducer_h
2 #define UserCode_ICHiggsTauTau_ICEventInfoProducer_h
3 
4 #include <memory>
5 #include <vector>
6 #include <string>
7 #include "boost/functional/hash.hpp"
8 #include "FWCore/Framework/interface/EDProducer.h"
9 #include "FWCore/ParameterSet/interface/ParameterSet.h"
10 #include "FWCore/Framework/interface/Event.h"
11 #include "FWCore/Framework/interface/EventSetup.h"
12 #include "FWCore/Utilities/interface/InputTag.h"
14 
21 class ICEventInfoProducer : public edm::EDProducer {
22  public:
23  explicit ICEventInfoProducer(const edm::ParameterSet &);
25 
26  private:
27  virtual void beginJob();
28  virtual void endRun(edm::Run const& run, edm::EventSetup const& es);
29  virtual void produce(edm::Event &, const edm::EventSetup &);
30  virtual void endJob();
31 
32  ic::EventInfo *info_;
33  std::string branch_;
34  edm::InputTag lhe_collection_;
35  bool do_jets_rho_;
36  edm::InputTag input_jets_rho_;
37  bool do_leptons_rho_;
38  edm::InputTag input_leptons_rho_;
39  bool do_vertex_count_;
40  edm::InputTag input_vertices_;
41  bool do_lhe_weights_;
42  bool do_embedding_weights_;
43  bool do_ht_;
44  std::vector<std::pair<std::string, edm::InputTag> > weights_;
45  std::vector<std::pair<std::string, edm::InputTag> > gen_weights_;
46  std::vector<std::string> lhe_weight_labels_;
47 
48  //3 ways to get event filters:
49  //1- CSC has special handle. Not active anymore for run II....
50  bool do_csc_filter_;
51  edm::InputTag input_csc_filter_;
52  //2- Bool filters from triggerResults handle, from miniAOD
53  bool do_filtersfromtrig_;
54  edm::InputTag filtersfromtrig_input_;
55  std::vector<std::string> filtersfromtrig_;
56  //3- Bool filters from specific collections - name starting with! will be inverted.
57  std::vector<std::pair<std::string, edm::InputTag> > filters_;
58  std::set<std::string> invert_filter_logic_;
59 
60 
61  //store all filters in one map
62  std::map<std::string, std::size_t> observed_filters_;
63 };
64 
65 #endif
ICEventInfoProducer(const edm::ParameterSet &)
Stores core event information such as run, lumi and event number, as well as event weights and filter...
Definition: EventInfo.hh:21
Produces an ic::EventInfo object.