CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTBTagPerformanceAnalyzer.h
Go to the documentation of this file.
1 #ifndef HLTBTagPerformanceAnalyzer_H
2 #define HLTBTagPerformanceAnalyzer_H
3 
4 // system include files
5 #include <memory>
6 #include <string>
7 #include <vector>
8 #include <map>
9 
10 // user include files
17 
18 // Trigger
21 
22 //DQM services
27 
28 //for gen matching
30 #include <Math/GenVector/VectorUtil.h>
31 
33 
43  public:
46  void dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup);
47 
48  private:
49  virtual void analyze(const edm::Event&, const edm::EventSetup&);
50  void bookHistograms(DQMStore::IBooker & ibooker, edm::Run const & iRun,edm::EventSetup const & iSetup ) override;
51 
52  struct JetRefCompare :
53  public std::binary_function<edm::RefToBase<reco::Jet>, edm::RefToBase<reco::Jet>, bool> {
54  inline bool operator () (const edm::RefToBase<reco::Jet> &j1,
55  const edm::RefToBase<reco::Jet> &j2) const
56  { return j1.id() < j2.id() || (j1.id() == j2.id() && j1.key() < j2.key()); }
57  };
58 
59  typedef std::map<edm::RefToBase<reco::Jet>, float, JetRefCompare> JetTagMap;
60 
61  // variables from python configuration
63  std::vector<std::string> hltPathNames_;
66  std::vector<edm::EDGetTokenT<reco::JetTagCollection> > JetTagCollection_;
67 
69  std::vector<bool> _isfoundHLTs;
70  std::vector<int> hltPathIndexs_;
71 
72  // gen level tag-handlers
73  typedef unsigned int flavour_t;
74  typedef std::vector<flavour_t> flavours_t;
75 
76  edm::EDGetTokenT<reco::JetFlavourMatchingCollection> m_mcPartons; // MC truth match - jet association to partons
77  std::vector<std::string> m_mcLabels; // MC truth match - labels
78  std::vector<flavours_t> m_mcFlavours; // MC truth match - flavours selection
79  double m_mcRadius; // MC truth match - deltaR association radius
80  bool m_mcMatching; // MC truth matching anabled/disabled
81 
83  std::vector<std::string> folders;
84 
85  // Histogram handler
86  std::vector< std::map<std::string, MonitorElement *> > H1_;
87  std::vector< std::map<std::string, MonitorElement *> > H2_;
88 
89  // Other variables
92  std::vector<std::string> JetTagCollection_Label;
95 
96 };
97 
98 
99 #endif
100 
101 
std::vector< flavour_t > flavours_t
std::vector< std::string > m_mcLabels
bool operator()(const edm::RefToBase< reco::Jet > &j1, const edm::RefToBase< reco::Jet > &j2) const
std::vector< std::string > folders
DQM folder handle.
ProductID id() const
Definition: RefToBase.h:233
std::map< edm::RefToBase< reco::Jet >, float, JetRefCompare > JetTagMap
size_t key() const
Definition: RefToBase.h:241
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
std::vector< flavours_t > m_mcFlavours
std::vector< std::map< std::string, MonitorElement * > > H2_
edm::EDGetTokenT< reco::JetFlavourMatchingCollection > m_mcPartons
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::vector< std::string > hltPathNames_
void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup &iSetup)
HLTBTagPerformanceAnalyzer(const edm::ParameterSet &)
std::vector< edm::EDGetTokenT< reco::JetTagCollection > > JetTagCollection_
edm::EDConsumerBase::Labels label
std::vector< bool > _isfoundHLTs
other class variable
std::vector< std::string > JetTagCollection_Label
std::vector< std::map< std::string, MonitorElement * > > H1_
edm::EDGetTokenT< edm::TriggerResults > hlTriggerResults_
Definition: Run.h:43