Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:09:46

0001 #ifndef RecoBTag_Analysis_SoftLeptonTagPlotter_h
0002 #define RecoBTag_Analysis_SoftLeptonTagPlotter_h
0003 
0004 #include "DataFormats/BTauReco/interface/SoftLeptonTagInfo.h"
0005 #include "DQMOffline/RecoB/interface/BaseTagInfoPlotter.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 SoftLeptonTagPlotter : public BaseTagInfoPlotter {
0011 public:
0012   SoftLeptonTagPlotter(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   ~SoftLeptonTagPlotter(void) 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 psPlot(const std::string& name) override;
0026   void epsPlot(const std::string& name) override;
0027 
0028 private:
0029   unsigned int mcPlots_;
0030   bool willFinalize_;
0031 
0032   // keep plots for up to 2 leptons per jet
0033   static const int s_leptons = 2;
0034   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_leptonId;  // lepton identification discriminant
0035   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_leptonPt;  // lepton transverse momentum
0036   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_sip2dsig;  // 2D signed inpact parameter significance
0037   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_sip3dsig;  // 3D signed inpact parameter significance
0038   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_sip2d;     // 2D signed inpact parameter
0039   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_sip3d;     // 3D signed inpact parameter
0040   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_ptRel;     // transverse momentum wrt. jet axis
0041   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_p0Par;  // parallel momentum wrt. jet axis in the B rest frame
0042   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_etaRel;    // (pseudo)rapidity along jet axis
0043   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_deltaR;    // (pseudo)angular distance to jet axis
0044   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_ratio;     // momentum over jet energy
0045   std::vector<std::unique_ptr<FlavourHistograms<double>>> m_ratioRel;  // momentum parallel to jet axis over jet energy
0046 };
0047 
0048 #endif  // RecoBTag_Analysis_SoftLeptonTagPlotter_h