Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:18:29

0001 #ifndef L1TTkMuonFilter_h
0002 #define L1TTkMuonFilter_h
0003 
0004 /** \class L1TTkMuonFilter
0005  *
0006  *
0007  *  This class is an HLTFilter (-> EDFilter) implementing a very basic
0008  *  HLT trigger acting on TkMuon candidates
0009  *  2022-08-01: moving from TkMuon to TrackerMuon
0010  *
0011  *
0012  *  \author Simone Gennai
0013  *  \author Thiago Tomei
0014  */
0015 
0016 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0017 #include "DataFormats/L1TMuonPhase2/interface/TrackerMuon.h"
0018 
0019 //
0020 // class declaration
0021 //
0022 
0023 class L1TTkMuonFilter : public HLTFilter {
0024 public:
0025   explicit L1TTkMuonFilter(const edm::ParameterSet&);
0026   ~L1TTkMuonFilter() override;
0027   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0028   bool hltFilter(edm::Event&,
0029                  const edm::EventSetup&,
0030                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0031 
0032 private:
0033   edm::InputTag l1TkMuonTag_;                                 //input tag for L1 TrackerMuon product
0034   edm::EDGetTokenT<l1t::TrackerMuonCollection> tkMuonToken_;  // token identifying product containing L1 TrackerMuons
0035 
0036   double min_Pt_;                        // min pt cut
0037   int min_N_;                            // min number of candidates above pT cut
0038   double min_Eta_;                       // min eta cut
0039   double max_Eta_;                       // max eta cut
0040   bool applyQuality_;                    // apply quality cuts
0041   bool applyDuplicateRemoval_;           // apply duplicate removal
0042   std::vector<int> qualities_;           // allowed qualities
0043   edm::ParameterSet scalings_;           // all scalings. An indirection level allows extra flexibility
0044   std::vector<double> barrelScalings_;   // barrel scalings
0045   std::vector<double> overlapScalings_;  // overlap scalings
0046   std::vector<double> endcapScalings_;   // endcap scalings
0047 
0048   double TkMuonOfflineEt(double Et, double Eta) const;
0049 };
0050 
0051 #endif  //L1TTkMuonFilter_h