Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:44:31

0001 #ifndef TrackCountingTagPlotter_H
0002 #define TrackCountingTagPlotter_H
0003 
0004 #include "DQMOffline/RecoB/interface/BaseTagInfoPlotter.h"
0005 #include "DataFormats/BTauReco/interface/TrackCountingTagInfo.h"
0006 #include "DQMOffline/RecoB/interface/FlavourHistorgrams.h"
0007 // #include "RecoBTag/MCTools/interface/JetFlavour.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 
0010 class TrackCountingTagPlotter : public BaseTagInfoPlotter {
0011 public:
0012   TrackCountingTagPlotter(const std::string& tagName,
0013                           const EtaPtBin& etaPtBin,
0014                           const edm::ParameterSet& pSet,
0015                           unsigned int mc,
0016                           bool willfinalize,
0017                           DQMStore::IBooker& ibook);
0018 
0019   ~TrackCountingTagPlotter() override;
0020 
0021   void analyzeTag(const reco::BaseTagInfo* baseTagInfo, double jec, int jetFlavour, float w /*=1*/) override;
0022 
0023   void finalize(DQMStore::IBooker& ibook_, DQMStore::IGetter& igetter_) override;
0024 
0025   void epsPlot(const std::string& name) override;
0026 
0027   void psPlot(const std::string& name) override;
0028 
0029 private:
0030   unsigned int mcPlots_;
0031   int nBinEffPur_;
0032   double startEffPur_;
0033   double endEffPur_;
0034 
0035   bool willFinalize_;
0036 
0037   std::vector<std::unique_ptr<FlavourHistograms<double>>> tkcntHistosSig3D;
0038   std::vector<std::unique_ptr<FlavourHistograms<double>>> tkcntHistosSig2D;
0039   std::unique_ptr<FlavourHistograms<int>> trkNbr3D, trkNbr2D;
0040   double lowerIPSBound, upperIPSBound;
0041 
0042   std::vector<std::unique_ptr<EffPurFromHistos>> effPurFromHistos;
0043 };
0044 
0045 #endif