CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BTagPerformanceAnalyzerOnData.h
Go to the documentation of this file.
1 #ifndef BTagPerformanceAnalyzerOnData_H
2 #define BTagPerformanceAnalyzerOnData_H
3 
13 
21  public:
23 
25 
26  virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup);
27 
28 
29  private:
30 
31  struct JetRefCompare :
32  public std::binary_function<edm::RefToBase<reco::Jet>, edm::RefToBase<reco::Jet>, bool> {
33  inline bool operator () (const edm::RefToBase<reco::Jet> &j1,
34  const edm::RefToBase<reco::Jet> &j2) const
35  { return j1.id() < j2.id() || (j1.id() == j2.id() && j1.key() < j2.key()); }
36  };
37 
38  // Get histogram plotting options from configuration.
39  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
40 
41  EtaPtBin getEtaPtBin(const int& iEta, const int& iPt);
42 
43  std::vector<std::string> tiDataFormatType;
44  AcceptJet jetSelector; // Decides if jet and parton satisfy kinematic cuts.
45  std::vector<double> etaRanges, ptRanges;
46  bool doJEC;
48 
49  std::vector< std::vector<JetTagPlotter*> > binJetTagPlotters;
50  std::vector< std::vector<TagCorrelationPlotter*> > binTagCorrelationPlotters;
51  std::vector< std::vector<BaseTagInfoPlotter*> > binTagInfoPlotters;
52  std::vector<edm::InputTag> jetTagInputTags;
53  std::vector< std::pair<edm::InputTag, edm::InputTag> > tagCorrelationInputTags;
54  std::vector< std::vector<edm::InputTag> > tagInfoInputTags;
55  // Contains plots for each bin of rapidity and pt.
56  std::vector<edm::ParameterSet> moduleConfig;
57  std::map<BaseTagInfoPlotter*, size_t> binTagInfoPlottersToModuleConfig;
58 
59  //add consumes
64  std::vector< edm::EDGetTokenT<reco::JetTagCollection> > jetTagToken;
65  std::vector< std::pair<edm::EDGetTokenT<reco::JetTagCollection>, edm::EDGetTokenT<reco::JetTagCollection>> > tagCorrelationToken;
66  std::vector<std::vector <edm::EDGetTokenT<edm::View<reco::BaseTagInfo>> >> tagInfoToken;
67 
68 };
69 
70 #endif
std::vector< std::vector< JetTagPlotter * > > binJetTagPlotters
std::vector< edm::EDGetTokenT< reco::JetTagCollection > > jetTagToken
std::map< BaseTagInfoPlotter *, size_t > binTagInfoPlottersToModuleConfig
edm::EDGetTokenT< reco::JetCorrector > jecMCToken
std::vector< std::string > tiDataFormatType
std::vector< std::pair< edm::EDGetTokenT< reco::JetTagCollection >, edm::EDGetTokenT< reco::JetTagCollection > > > tagCorrelationToken
std::vector< std::pair< edm::InputTag, edm::InputTag > > tagCorrelationInputTags
std::vector< std::vector< edm::EDGetTokenT< edm::View< reco::BaseTagInfo > > > > tagInfoToken
ProductID id() const
Definition: RefToBase.h:233
BTagPerformanceAnalyzerOnData(const edm::ParameterSet &pSet)
edm::EDGetTokenT< GenEventInfoProduct > genToken
int iEvent
Definition: GenABIO.cc:230
size_t key() const
Definition: RefToBase.h:241
bool operator()(const edm::RefToBase< reco::Jet > &j1, const edm::RefToBase< reco::Jet > &j2) const
edm::EDGetTokenT< reco::SoftLeptonTagInfoCollection > slInfoToken
std::vector< std::vector< edm::InputTag > > tagInfoInputTags
std::vector< edm::ParameterSet > moduleConfig
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< edm::InputTag > jetTagInputTags
EtaPtBin getEtaPtBin(const int &iEta, const int &iPt)
std::vector< std::vector< TagCorrelationPlotter * > > binTagCorrelationPlotters
edm::EDGetTokenT< reco::JetCorrector > jecDataToken
virtual void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup)
std::vector< std::vector< BaseTagInfoPlotter * > > binTagInfoPlotters
Definition: Run.h:43