CMS 3D CMS Logo

L1HPSPFTauBuilder.h
Go to the documentation of this file.
1 #ifndef L1Trigger_Phase2L1Taus_L1HPSPFTauBuilder_h
2 #define L1Trigger_Phase2L1Taus_L1HPSPFTauBuilder_h
3 
4 #include "FWCore/ParameterSet/interface/ParameterSet.h" // edm::ParameterSet
5 #include "DataFormats/Provenance/interface/ProductID.h" // edm::ProductID
6 #include "L1Trigger/Phase2L1Taus/interface/L1HPSPFTauQualityCut.h" // L1HPSPFTauQualityCut
7 #include "DataFormats/L1TParticleFlow/interface/HPSPFTau.h" // l1t::HPSPFTau
8 #include "DataFormats/L1TParticleFlow/interface/PFCandidate.h" // l1t::PFCandidate, l1t::PFCandidateCollection, l1t::PFCandidateRef
12 #include <vector>
13 
15 public:
17  ~L1HPSPFTauBuilder() = default;
18 
19  void reset();
20  void setL1PFCandProductID(const edm::ProductID& l1PFCandProductID);
22  void setL1PFTauSeed(const l1t::PFCandidateRef& l1PFCandSeed);
23  //void setL1PFTauSeed(const reco::CaloJetRef& l1Jet_seed);
24  void setL1PFTauSeed(const reco::CaloJetRef& l1JetSeed, const std::vector<l1t::PFCandidateRef>& l1PFCands);
25  void addL1PFCandidates(const std::vector<l1t::PFCandidateRef>& l1PFCands);
26  void buildL1PFTau();
27 
28  l1t::HPSPFTau getL1PFTau() const { return l1PFTau_; }
29 
30 private:
31  l1t::PFCandidateRefVector convertToRefVector(const std::vector<l1t::PFCandidateRef>& l1PFCands);
32 
33  bool isWithinSignalCone(const l1t::PFCandidate& l1PFCand);
34  bool isWithinStrip(const l1t::PFCandidate& l1PFCand);
35  bool isWithinIsolationCone(const l1t::PFCandidate& l1PFCand);
36 
38 
43 
44  bool useStrips_;
45  double stripSizeEta_;
46  double stripSizePhi_;
47 
50 
51  std::vector<L1HPSPFTauQualityCut> signalQualityCutsDzCutDisabled_;
52  std::vector<L1HPSPFTauQualityCut> signalQualityCutsDzCutEnabledPrimary_;
53  std::vector<L1HPSPFTauQualityCut> isolationQualityCutsDzCutDisabled_;
54  std::vector<L1HPSPFTauQualityCut> isolationQualityCutsDzCutEnabledPrimary_;
55  std::vector<L1HPSPFTauQualityCut> isolationQualityCutsDzCutEnabledPileup_;
67 
69 
70  std::vector<l1t::PFCandidateRef> signalAllL1PFCandidates_;
71  std::vector<l1t::PFCandidateRef> signalChargedHadrons_;
72  std::vector<l1t::PFCandidateRef> signalElectrons_;
73  std::vector<l1t::PFCandidateRef> signalNeutralHadrons_;
74  std::vector<l1t::PFCandidateRef> signalPhotons_;
75  std::vector<l1t::PFCandidateRef> signalMuons_;
76 
77  std::vector<l1t::PFCandidateRef> stripAllL1PFCandidates_;
78  std::vector<l1t::PFCandidateRef> stripElectrons_;
79  std::vector<l1t::PFCandidateRef> stripPhotons_;
80 
81  std::vector<l1t::PFCandidateRef> isoAllL1PFCandidates_;
82  std::vector<l1t::PFCandidateRef> isoChargedHadrons_;
83  std::vector<l1t::PFCandidateRef> isoElectrons_;
84  std::vector<l1t::PFCandidateRef> isoNeutralHadrons_;
85  std::vector<l1t::PFCandidateRef> isoPhotons_;
86  std::vector<l1t::PFCandidateRef> isoMuons_;
87 
88  std::vector<l1t::PFCandidateRef> sumAllL1PFCandidates_;
89  std::vector<l1t::PFCandidateRef> sumChargedHadrons_;
90  std::vector<l1t::PFCandidateRef> sumElectrons_;
91  std::vector<l1t::PFCandidateRef> sumNeutralHadrons_;
92  std::vector<l1t::PFCandidateRef> sumPhotons_;
93  std::vector<l1t::PFCandidateRef> sumMuons_;
94 
96 
97  bool debug_;
98 };
99 
100 #endif
std::vector< l1t::PFCandidateRef > signalAllL1PFCandidates_
std::vector< L1HPSPFTauQualityCut > isolationQualityCutsDzCutDisabled_
bool isWithinSignalCone(const l1t::PFCandidate &l1PFCand)
edm::ProductID l1PFCandProductID_
std::vector< l1t::PFCandidateRef > isoMuons_
void setL1PFCandProductID(const edm::ProductID &l1PFCandProductID)
std::vector< L1HPSPFTauQualityCut > isolationQualityCutsDzCutEnabledPrimary_
reco::Particle::LorentzVector stripP4_
std::vector< l1t::PFCandidateRef > sumChargedHadrons_
std::vector< L1HPSPFTauQualityCut > signalQualityCutsDzCutEnabledPrimary_
void addL1PFCandidates(const std::vector< l1t::PFCandidateRef > &l1PFCands)
std::vector< l1t::PFCandidateRef > stripAllL1PFCandidates_
std::vector< l1t::PFCandidateRef > signalChargedHadrons_
std::vector< l1t::PFCandidateRef > signalNeutralHadrons_
reco::FormulaEvaluator signalConeSizeFormula_
std::vector< l1t::PFCandidateRef > isoNeutralHadrons_
L1HPSPFTauBuilder(const edm::ParameterSet &cfg)
std::vector< l1t::PFCandidateRef > sumAllL1PFCandidates_
std::vector< l1t::PFCandidateRef > stripPhotons_
std::vector< l1t::PFCandidateRef > isoAllL1PFCandidates_
std::vector< L1HPSPFTauQualityCut > isolationQualityCutsDzCutEnabledPileup_
void setL1PFTauSeed(const l1t::PFCandidateRef &l1PFCandSeed)
bool isWithinIsolationCone(const l1t::PFCandidate &l1PFCand)
std::vector< l1t::PFCandidateRef > stripElectrons_
l1t::HPSPFTau l1PFTau_
bool isWithinStrip(const l1t::PFCandidate &l1PFCand)
std::vector< l1t::PFCandidateRef > signalElectrons_
std::vector< l1t::PFCandidateRef > isoElectrons_
std::vector< l1t::PFCandidateRef > sumPhotons_
l1t::PFCandidateRefVector convertToRefVector(const std::vector< l1t::PFCandidateRef > &l1PFCands)
void setVertex(const l1t::VertexWordRef &primaryVertex)
l1t::VertexWordRef primaryVertex_
std::vector< l1t::PFCandidateRef > isoChargedHadrons_
std::vector< L1HPSPFTauQualityCut > signalQualityCutsDzCutDisabled_
reco::CaloJetRef l1JetSeed_
std::vector< l1t::PFCandidateRef > isoPhotons_
std::vector< l1t::PFCandidateRef > sumElectrons_
l1t::HPSPFTau getL1PFTau() const
std::vector< l1t::PFCandidateRef > signalPhotons_
std::vector< l1t::PFCandidateRef > sumMuons_
std::vector< l1t::PFCandidateRef > signalMuons_
primaryVertex
hltOfflineBeamSpot for HLTMON
l1t::PFCandidateRef l1PFCandSeed_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Particle.h:21
~L1HPSPFTauBuilder()=default
std::vector< l1t::PFCandidateRef > sumNeutralHadrons_