CMS 3D CMS Logo

HLTTauRefProducer.h
Go to the documentation of this file.
1 /*HLTTauRefProducer
2  Producer that creates LorentzVector Collections
3  from offline reconstructed quantities to be used
4  in Offline Trigger DQM etc
5 */
6 
7 #ifndef HLTTauRefProducer_h
8 #define HLTTauRefProducer_h
9 
21 
22 #include "TLorentzVector.h"
23 // TAU includes
27 
28 // ELECTRON includes
35 // MUON includes
39 #include "TLorentzVector.h"
41 
42 //Photon Includes
45 
46 //MET Includes
49 
50 #include <vector>
51 #include <string>
52 
53 typedef std::pair<edm::ProcessHistoryID, std::vector<int>> TauIDConfigCache;
54 
55 class HLTTauRefProducer : public edm::global::EDProducer<edm::StreamCache<TauIDConfigCache>> {
56 public:
57  explicit HLTTauRefProducer(const edm::ParameterSet&);
58 
59  void produce(edm::StreamID, edm::Event&, edm::EventSetup const&) const override;
60 
61  std::unique_ptr<TauIDConfigCache> beginStream(edm::StreamID) const override {
62  return std::unique_ptr<TauIDConfigCache>(new TauIDConfigCache());
63  }
64 
65 private:
67  using LorentzVectorCollection = std::vector<LorentzVector>;
68 
70  std::vector<edm::EDGetTokenT<reco::PFTauDiscriminator>> PFTauDis_;
71  std::vector<edm::EDGetTokenT<reco::TauDiscriminatorContainer>> PFTauDisCont_;
72  std::vector<std::string> PFTauDisContWPs_;
74  bool doPFTaus_;
76 
82  bool e_doID_;
84  double e_trackMinPt_;
85  double e_lipCut_;
86  double e_minIsoDR_;
87  double e_maxIsoDR_;
90  double e_zMmin_;
91  double e_zMmax_;
92  double e_FromZet_;
93 
95  bool doPhotons_;
97  double ptMinPhoton_;
98 
100  bool doMuons_;
101  double ptMinMuon_;
102 
104  bool doJets_;
105  double ptMinJet_;
106 
108  bool doTowers_;
109  double ptMinTower_;
110  double towerIsol_;
111 
113  bool doMET_;
114  double ptMinMET_;
115 
117 
118  void doPFTaus(edm::StreamID, edm::Event&) const;
119  void doMuons(edm::Event&) const;
120  void doElectrons(edm::Event&) const;
121  void doJets(edm::Event&) const;
122  void doPhotons(edm::Event&) const;
123  void doTowers(edm::Event&) const;
124  void doMET(edm::Event&) const;
125 };
126 
127 #endif
HLTTauRefProducer::e_maxIsoDR_
double e_maxIsoDR_
Definition: HLTTauRefProducer.h:87
edm::StreamID
Definition: StreamID.h:30
ProcessHistoryID.h
Handle.h
CaloJet.h
Muon.h
MessageLogger.h
HLTTauRefProducer::produce
void produce(edm::StreamID, edm::Event &, edm::EventSetup const &) const override
Definition: HLTTauRefProducer.cc:121
PFTauDiscriminator.h
HLTTauRefProducer::Muons_
edm::EDGetTokenT< reco::MuonCollection > Muons_
Definition: HLTTauRefProducer.h:99
edm::EDGetTokenT< reco::PFTauCollection >
HLTTauRefProducer::e_lipCut_
double e_lipCut_
Definition: HLTTauRefProducer.h:85
HLTTauRefProducer::doTowers_
bool doTowers_
Definition: HLTTauRefProducer.h:108
HLTTauRefProducer::doElectrons
void doElectrons(edm::Event &) const
Definition: HLTTauRefProducer.cc:227
math::XYZTLorentzVectorD
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
HLTTauRefProducer::ptMinPhoton_
double ptMinPhoton_
Definition: HLTTauRefProducer.h:97
HLTTauRefProducer::e_zMmax_
double e_zMmax_
Definition: HLTTauRefProducer.h:91
HLTTauRefProducer::MET_
edm::EDGetTokenT< reco::CaloMETCollection > MET_
Definition: HLTTauRefProducer.h:112
HLTTauRefProducer::LorentzVectorCollection
std::vector< LorentzVector > LorentzVectorCollection
Definition: HLTTauRefProducer.h:67
PhotonFwd.h
HLTTauRefProducer
Definition: HLTTauRefProducer.h:55
HLTTauRefProducer::e_FromZet_
double e_FromZet_
Definition: HLTTauRefProducer.h:92
HLTTauRefProducer::doPhotons
void doPhotons(edm::Event &) const
Definition: HLTTauRefProducer.cc:329
HLTTauRefProducer::doTowers
void doTowers(edm::Event &) const
Definition: HLTTauRefProducer.cc:304
HLTTauRefProducer::etaMinPFTau_
double etaMinPFTau_
Definition: HLTTauRefProducer.h:75
HLTTauRefProducer::etaMaxPFTau_
double etaMaxPFTau_
Definition: HLTTauRefProducer.h:75
HLTTauRefProducer::HLTTauRefProducer
HLTTauRefProducer(const edm::ParameterSet &)
Definition: HLTTauRefProducer.cc:29
CaloMETCollection.h
GenParticle.h
Photon.h
Track.h
CaloMET.h
HLTTauRefProducer::ptMinElectron_
double ptMinElectron_
Definition: HLTTauRefProducer.h:81
HLTTauRefProducer::doMuons
void doMuons(edm::Event &) const
Definition: HLTTauRefProducer.cc:274
HLTTauRefProducer::e_ctfTrackCollection_
edm::EDGetTokenT< reco::TrackCollection > e_ctfTrackCollection_
Definition: HLTTauRefProducer.h:79
ProductProvenance.h
HLTTauRefProducer::e_doTrackIso_
bool e_doTrackIso_
Definition: HLTTauRefProducer.h:83
HLTTauRefProducer::phiMax_
double phiMax_
Definition: HLTTauRefProducer.h:116
edm::Hash< ProcessHistoryType >
HLTTauRefProducer::Electrons_
edm::EDGetTokenT< reco::GsfElectronCollection > Electrons_
Definition: HLTTauRefProducer.h:77
HLTTauRefProducer::LorentzVector
math::XYZTLorentzVectorD LorentzVector
Definition: HLTTauRefProducer.h:66
GsfElectron.h
edm::global::EDProducer
Definition: EDProducer.h:32
HLTTauRefProducer::etaMin_
double etaMin_
Definition: HLTTauRefProducer.h:116
HLTTauRefProducer::photonEcalIso_
double photonEcalIso_
Definition: HLTTauRefProducer.h:96
HLTTauRefProducer::ptMinMET_
double ptMinMET_
Definition: HLTTauRefProducer.h:114
HLTTauRefProducer::etaMax_
double etaMax_
Definition: HLTTauRefProducer.h:116
HLTTauRefProducer::doMET_
bool doMET_
Definition: HLTTauRefProducer.h:113
ElectronFwd.h
GsfElectronFwd.h
edm::ParameterSet
Definition: ParameterSet.h:47
HLTTauRefProducer::e_isoMaxSumPt_
double e_isoMaxSumPt_
Definition: HLTTauRefProducer.h:88
HLTTauRefProducer::PFTaus_
edm::EDGetTokenT< reco::PFTauCollection > PFTaus_
Definition: HLTTauRefProducer.h:69
Event.h
HLTTauRefProducer::doPFTaus_
bool doPFTaus_
Definition: HLTTauRefProducer.h:74
deltaR.h
HLTTauRefProducer::ptMinPFTau_
double ptMinPFTau_
Definition: HLTTauRefProducer.h:75
HLTTauRefProducer::ptMinTower_
double ptMinTower_
Definition: HLTTauRefProducer.h:109
LorentzVector.h
HLTTauRefProducer::ptMinMuon_
double ptMinMuon_
Definition: HLTTauRefProducer.h:101
HLTTauRefProducer::Towers_
edm::EDGetTokenT< CaloTowerCollection > Towers_
Definition: HLTTauRefProducer.h:107
GsfTrack.h
TauDiscriminatorContainer.h
HLTTauRefProducer::e_minIsoDR_
double e_minIsoDR_
Definition: HLTTauRefProducer.h:86
edm::EventSetup
Definition: EventSetup.h:58
HLTTauRefProducer::doJets
void doJets(edm::Event &) const
Definition: HLTTauRefProducer.cc:289
TauIDConfigCache
std::pair< edm::ProcessHistoryID, std::vector< int > > TauIDConfigCache
Definition: HLTTauRefProducer.h:53
HLTTauRefProducer::e_trackMinPt_
double e_trackMinPt_
Definition: HLTTauRefProducer.h:84
HLTTauRefProducer::doElecFromZ_
bool doElecFromZ_
Definition: HLTTauRefProducer.h:89
HLTTauRefProducer::doMET
void doMET(edm::Event &) const
Definition: HLTTauRefProducer.cc:344
HLTTauRefProducer::doMuons_
bool doMuons_
Definition: HLTTauRefProducer.h:100
HLTTauRefProducer::PFTauDisCont_
std::vector< edm::EDGetTokenT< reco::TauDiscriminatorContainer > > PFTauDisCont_
Definition: HLTTauRefProducer.h:71
InputTag.h
HLTTauRefProducer::ptMinJet_
double ptMinJet_
Definition: HLTTauRefProducer.h:105
HLTTauRefProducer::PFTauDisContWPs_
std::vector< std::string > PFTauDisContWPs_
Definition: HLTTauRefProducer.h:72
HLTTauRefProducer::PFTauDis_
std::vector< edm::EDGetTokenT< reco::PFTauDiscriminator > > PFTauDis_
Definition: HLTTauRefProducer.h:70
Electron.h
HLTTauRefProducer::Photons_
edm::EDGetTokenT< reco::PhotonCollection > Photons_
Definition: HLTTauRefProducer.h:94
HLTTauRefProducer::doPhotons_
bool doPhotons_
Definition: HLTTauRefProducer.h:95
HLTTauRefProducer::doPFTaus
void doPFTaus(edm::StreamID, edm::Event &) const
Definition: HLTTauRefProducer.cc:138
Frameworkfwd.h
HLTTauRefProducer::phiMin_
double phiMin_
Definition: HLTTauRefProducer.h:116
HLTTauRefProducer::e_doID_
bool e_doID_
Definition: HLTTauRefProducer.h:82
PFTau.h
HLTTauRefProducer::phiMinPFTau_
double phiMinPFTau_
Definition: HLTTauRefProducer.h:75
Provenance.h
HLTTauRefProducer::e_ctfTrackCollectionSrc_
edm::InputTag e_ctfTrackCollectionSrc_
Definition: HLTTauRefProducer.h:80
HLTTauRefProducer::phiMaxPFTau_
double phiMaxPFTau_
Definition: HLTTauRefProducer.h:75
HLTTauRefProducer::Jets_
edm::EDGetTokenT< reco::CaloJetCollection > Jets_
Definition: HLTTauRefProducer.h:103
HLTTauRefProducer::beginStream
std::unique_ptr< TauIDConfigCache > beginStream(edm::StreamID) const override
Definition: HLTTauRefProducer.h:61
HLTTauRefProducer::doJets_
bool doJets_
Definition: HLTTauRefProducer.h:104
HLTTauRefProducer::e_zMmin_
double e_zMmin_
Definition: HLTTauRefProducer.h:90
ParameterSet.h
EDProducer.h
HLTTauRefProducer::doElectrons_
bool doElectrons_
Definition: HLTTauRefProducer.h:78
edm::Event
Definition: Event.h:73
edm::InputTag
Definition: InputTag.h:15
HLTTauRefProducer::towerIsol_
double towerIsol_
Definition: HLTTauRefProducer.h:110
HLTTauRefProducer::phID_
edm::ProcessHistoryID phID_
Definition: HLTTauRefProducer.h:73