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
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 ) 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