Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-08-26 00:19:32

0001 #ifndef L1Trigger_Phase2L1Taus_HPSPFTauProducer_h
0002 #define L1Trigger_Phase2L1Taus_HPSPFTauProducer_h
0003 
0004 #include "FWCore/Framework/interface/Event.h"
0005 #include "FWCore/Framework/interface/EventSetup.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include "FWCore/Framework/interface/Frameworkfwd.h"
0008 #include "FWCore/Framework/interface/stream/EDProducer.h"
0009 
0010 #include "L1Trigger/Phase2L1Taus/interface/L1HPSPFTauQualityCut.h"  // L1HPSPFTauQualityCut
0011 #include "L1Trigger/Phase2L1Taus/interface/L1HPSPFTauBuilder.h"     // L1HPSPFTauBuilder
0012 #include "DataFormats/L1TParticleFlow/interface/HPSPFTau.h"         // l1t::HPSPFTau
0013 #include "DataFormats/L1TParticleFlow/interface/HPSPFTauFwd.h"      // l1t::HPSPFTauCollection
0014 #include "DataFormats/L1TParticleFlow/interface/PFCandidate.h"  // l1t::PFCandidate, l1t::PFCandidateCollection, l1t::PFCandidateRef
0015 #include "DataFormats/JetReco/interface/CaloJet.h"
0016 #include "DataFormats/L1Trigger/interface/VertexWord.h"
0017 
0018 #include <string>
0019 #include <vector>
0020 
0021 class HPSPFTauProducer : public edm::stream::EDProducer<> {
0022 public:
0023   explicit HPSPFTauProducer(const edm::ParameterSet& cfg);
0024   ~HPSPFTauProducer() override = default;
0025 
0026   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0027 
0028 private:
0029   void produce(edm::Event& evt, const edm::EventSetup& es) override;
0030 
0031   std::string moduleLabel_;
0032 
0033   L1HPSPFTauBuilder tauBuilder_;
0034 
0035   edm::InputTag srcL1PFCands_;
0036   edm::EDGetTokenT<l1t::PFCandidateCollection> tokenL1PFCands_;
0037   edm::InputTag srcL1Jets_;
0038   edm::EDGetTokenT<std::vector<reco::CaloJet>> tokenL1Jets_;
0039   edm::InputTag srcL1Vertices_;
0040   edm::EDGetTokenT<l1t::VertexWordCollection> tokenL1Vertices_;
0041 
0042   std::vector<L1HPSPFTauQualityCut> signalQualityCutsDzCutDisabled_;
0043   std::vector<L1HPSPFTauQualityCut> isolationQualityCutsDzCutDisabled_;
0044 
0045   bool useChargedPFCandSeeds_;
0046   double minSeedChargedPFCandPt_;
0047   double maxSeedChargedPFCandEta_;
0048   double maxSeedChargedPFCandDz_;
0049 
0050   bool useJetSeeds_;
0051   double minSeedJetPt_;
0052   double maxSeedJetEta_;
0053 
0054   double minPFTauPt_;
0055   double maxPFTauEta_;
0056   double minLeadChargedPFCandPt_;
0057   double maxLeadChargedPFCandEta_;
0058   double maxLeadChargedPFCandDz_;
0059   double maxChargedIso_;
0060   double maxChargedRelIso_;
0061 
0062   double deltaRCleaning_;
0063   double deltaR2Cleaning_;
0064 
0065   bool applyPreselection_;
0066 
0067   bool debug_;
0068   const double isPFTauPt_ = 1.;
0069 };
0070 
0071 #endif