Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:58:22

0001 #ifndef DQMOffline_RecoB_TagCorrelationPlotter_h
0002 #define DQMOffline_RecoB_TagCorrelationPlotter_h
0003 
0004 #include <string>
0005 
0006 #include "DQMOffline/RecoB/interface/FlavourHistorgrams2D.h"
0007 #include "DQMOffline/RecoB/interface/BaseBTagPlotter.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 #include "DataFormats/BTauReco/interface/JetTag.h"
0010 #include "DQMOffline/RecoB/interface/EffPurFromHistos2D.h"
0011 
0012 class TagCorrelationPlotter : public BaseBTagPlotter {
0013 public:
0014   TagCorrelationPlotter(const std::string& tagName1,
0015                         const std::string& tagName2,
0016                         const EtaPtBin& etaPtBin,
0017                         const edm::ParameterSet& pSet,
0018                         unsigned int mc,
0019                         bool doCTagPlots,
0020                         bool finalize,
0021                         DQMStore::IBooker& ibook);
0022 
0023   ~TagCorrelationPlotter() override;
0024 
0025   void finalize(DQMStore::IBooker& ibook_, DQMStore::IGetter& igetter_) override;
0026 
0027   void epsPlot(const std::string& name) override;
0028   void psPlot(const std::string& name) override {}
0029 
0030   void analyzeTags(const reco::JetTag& jetTag1, const reco::JetTag& jetTag2, int jetFlavour, float w = 1);
0031   void analyzeTags(float discr1, float discr2, int jetFlavour, float w = 1);
0032 
0033 protected:
0034   double lowerBound1_, lowerBound2_;
0035   double upperBound1_, upperBound2_;
0036   int nBinEffPur_;
0037   double startEffPur_;
0038   double endEffPur_;
0039   bool createProfile_;
0040 
0041   std::vector<double> fixedEff_;
0042 
0043   unsigned int mcPlots_;
0044   bool doCTagPlots_;
0045   bool finalize_;
0046 
0047   std::unique_ptr<FlavourHistograms2D<double, double>> correlationHisto_;
0048 
0049   std::unique_ptr<EffPurFromHistos2D> effPurFromHistos2D;
0050 };
0051 
0052 #endif