File indexing completed on 2024-04-06 12:21:34
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