Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:49:44

0001 #ifndef L1TPFTauFilter_h
0002 #define L1TPFTauFilter_h
0003 
0004 /** \class L1TPFTauFilter
0005  *
0006  *
0007  *  This class is an HLTFilter (-> EDFilter) implementing a very basic
0008  *  HLT trigger acting on PFTau (NN) candidates
0009  *
0010  *
0011  *
0012  *  \author Thiago Tomei
0013  */
0014 
0015 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0016 #include "DataFormats/L1TParticleFlow/interface/PFTau.h"
0017 
0018 //
0019 // class declaration
0020 //
0021 
0022 class L1TPFTauFilter : public HLTFilter {
0023 public:
0024   explicit L1TPFTauFilter(const edm::ParameterSet&);
0025   ~L1TPFTauFilter() override;
0026   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0027   bool hltFilter(edm::Event&,
0028                  const edm::EventSetup&,
0029                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0030 
0031 private:
0032   edm::InputTag l1PFTauTag_;                           //input tag for L1 PFTau product
0033   edm::EDGetTokenT<l1t::PFTauCollection> pfTauToken_;  // token identifying product containing L1 PFTaus
0034   double min_Pt_;                                      // min pt cut
0035   int min_N_;                                          // min number of candidates above pT cut
0036   double min_Eta_;                                     //min eta cut
0037   double max_Eta_;                                     //max eta cut
0038   double maxChargedIso_;                               // Cut on charged isolation
0039   double maxFullIso_;                                  // Cut on full isolation
0040   int passLooseNN_;                                    // Pass loose NN cut... for some implementation of the NN
0041   int passTightNN_;                                    // Pass tight NN cut... for some implementation of the NN
0042   edm::ParameterSet scalings_;                         // all scalings. An indirection level allows extra flexibility
0043   std::vector<double> barrelScalings_;                 // barrel scalings
0044   std::vector<double> endcapScalings_;                 // endcap scalings
0045 
0046   double PFTauOfflineEt(double Et, double Eta) const;
0047 };
0048 
0049 #endif  //L1TPFTauFilter_h