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 <memory>
51 
52 #include <string>
53 #include <vector>
54 
55 typedef std::pair<edm::ProcessHistoryID, std::vector<int>> TauIDConfigCache;
56 
57 class HLTTauRefProducer : public edm::global::EDProducer<edm::StreamCache<TauIDConfigCache>> {
58 public:
59  explicit HLTTauRefProducer(const edm::ParameterSet&);
60 
61  void produce(edm::StreamID, edm::Event&, edm::EventSetup const&) const override;
62 
63  std::unique_ptr<TauIDConfigCache> beginStream(edm::StreamID) const override {
64  return std::make_unique<TauIDConfigCache>();
65  }
66 
67 private:
69  using LorentzVectorCollection = std::vector<LorentzVector>;
70 
72  std::vector<edm::EDGetTokenT<reco::PFTauDiscriminator>> PFTauDis_;
73  std::vector<edm::EDGetTokenT<reco::TauDiscriminatorContainer>> PFTauDisCont_;
74  std::vector<std::string> PFTauDisContWPs_;
76  bool doPFTaus_;
78 
84  bool e_doID_;
86  double e_trackMinPt_;
87  double e_lipCut_;
88  double e_minIsoDR_;
89  double e_maxIsoDR_;
92  double e_zMmin_;
93  double e_zMmax_;
94  double e_FromZet_;
95 
97  bool doPhotons_;
99  double ptMinPhoton_;
100 
102  bool doMuons_;
103  double ptMinMuon_;
104 
106  bool doJets_;
107  double ptMinJet_;
108 
110  bool doTowers_;
111  double ptMinTower_;
112  double towerIsol_;
113 
115  bool doMET_;
116  double ptMinMET_;
117 
119 
120  void doPFTaus(edm::StreamID, edm::Event&) const;
121  void doMuons(edm::Event&) const;
122  void doElectrons(edm::Event&) const;
123  void doJets(edm::Event&) const;
124  void doPhotons(edm::Event&) const;
125  void doTowers(edm::Event&) const;
126  void doMET(edm::Event&) const;
127 };
128 
129 #endif
HLTTauRefProducer::e_maxIsoDR_
double e_maxIsoDR_
Definition: HLTTauRefProducer.h:89
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:101
edm::EDGetTokenT< reco::PFTauCollection >
HLTTauRefProducer::e_lipCut_
double e_lipCut_
Definition: HLTTauRefProducer.h:87
HLTTauRefProducer::doTowers_
bool doTowers_
Definition: HLTTauRefProducer.h:110
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:99
HLTTauRefProducer::e_zMmax_
double e_zMmax_
Definition: HLTTauRefProducer.h:93
HLTTauRefProducer::MET_
edm::EDGetTokenT< reco::CaloMETCollection > MET_
Definition: HLTTauRefProducer.h:114
HLTTauRefProducer::LorentzVectorCollection
std::vector< LorentzVector > LorentzVectorCollection
Definition: HLTTauRefProducer.h:69
PhotonFwd.h
HLTTauRefProducer
Definition: HLTTauRefProducer.h:57
HLTTauRefProducer::e_FromZet_
double e_FromZet_
Definition: HLTTauRefProducer.h:94
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:77
HLTTauRefProducer::etaMaxPFTau_
double etaMaxPFTau_
Definition: HLTTauRefProducer.h:77
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:83
HLTTauRefProducer::doMuons
void doMuons(edm::Event &) const
Definition: HLTTauRefProducer.cc:274
HLTTauRefProducer::e_ctfTrackCollection_
edm::EDGetTokenT< reco::TrackCollection > e_ctfTrackCollection_
Definition: HLTTauRefProducer.h:81
ProductProvenance.h
HLTTauRefProducer::e_doTrackIso_
bool e_doTrackIso_
Definition: HLTTauRefProducer.h:85
HLTTauRefProducer::phiMax_
double phiMax_
Definition: HLTTauRefProducer.h:118
edm::Hash< ProcessHistoryType >
HLTTauRefProducer::Electrons_
edm::EDGetTokenT< reco::GsfElectronCollection > Electrons_
Definition: HLTTauRefProducer.h:79
HLTTauRefProducer::LorentzVector
math::XYZTLorentzVectorD LorentzVector
Definition: HLTTauRefProducer.h:68
GsfElectron.h
edm::global::EDProducer
Definition: EDProducer.h:32
HLTTauRefProducer::etaMin_
double etaMin_
Definition: HLTTauRefProducer.h:118
HLTTauRefProducer::photonEcalIso_
double photonEcalIso_
Definition: HLTTauRefProducer.h:98
HLTTauRefProducer::ptMinMET_
double ptMinMET_
Definition: HLTTauRefProducer.h:116
HLTTauRefProducer::etaMax_
double etaMax_
Definition: HLTTauRefProducer.h:118
HLTTauRefProducer::doMET_
bool doMET_
Definition: HLTTauRefProducer.h:115
ElectronFwd.h
GsfElectronFwd.h
edm::ParameterSet
Definition: ParameterSet.h:47
HLTTauRefProducer::e_isoMaxSumPt_
double e_isoMaxSumPt_
Definition: HLTTauRefProducer.h:90
HLTTauRefProducer::PFTaus_
edm::EDGetTokenT< reco::PFTauCollection > PFTaus_
Definition: HLTTauRefProducer.h:71
Event.h
HLTTauRefProducer::doPFTaus_
bool doPFTaus_
Definition: HLTTauRefProducer.h:76
deltaR.h
HLTTauRefProducer::ptMinPFTau_
double ptMinPFTau_
Definition: HLTTauRefProducer.h:77
HLTTauRefProducer::ptMinTower_
double ptMinTower_
Definition: HLTTauRefProducer.h:111
LorentzVector.h
HLTTauRefProducer::ptMinMuon_
double ptMinMuon_
Definition: HLTTauRefProducer.h:103
HLTTauRefProducer::Towers_
edm::EDGetTokenT< CaloTowerCollection > Towers_
Definition: HLTTauRefProducer.h:109
GsfTrack.h
TauDiscriminatorContainer.h
HLTTauRefProducer::e_minIsoDR_
double e_minIsoDR_
Definition: HLTTauRefProducer.h:88
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:55
HLTTauRefProducer::e_trackMinPt_
double e_trackMinPt_
Definition: HLTTauRefProducer.h:86
HLTTauRefProducer::doElecFromZ_
bool doElecFromZ_
Definition: HLTTauRefProducer.h:91
HLTTauRefProducer::doMET
void doMET(edm::Event &) const
Definition: HLTTauRefProducer.cc:344
HLTTauRefProducer::doMuons_
bool doMuons_
Definition: HLTTauRefProducer.h:102
HLTTauRefProducer::PFTauDisCont_
std::vector< edm::EDGetTokenT< reco::TauDiscriminatorContainer > > PFTauDisCont_
Definition: HLTTauRefProducer.h:73
InputTag.h
HLTTauRefProducer::ptMinJet_
double ptMinJet_
Definition: HLTTauRefProducer.h:107
HLTTauRefProducer::PFTauDisContWPs_
std::vector< std::string > PFTauDisContWPs_
Definition: HLTTauRefProducer.h:74
HLTTauRefProducer::PFTauDis_
std::vector< edm::EDGetTokenT< reco::PFTauDiscriminator > > PFTauDis_
Definition: HLTTauRefProducer.h:72
Electron.h
HLTTauRefProducer::Photons_
edm::EDGetTokenT< reco::PhotonCollection > Photons_
Definition: HLTTauRefProducer.h:96
HLTTauRefProducer::doPhotons_
bool doPhotons_
Definition: HLTTauRefProducer.h:97
HLTTauRefProducer::doPFTaus
void doPFTaus(edm::StreamID, edm::Event &) const
Definition: HLTTauRefProducer.cc:138
Frameworkfwd.h
HLTTauRefProducer::phiMin_
double phiMin_
Definition: HLTTauRefProducer.h:118
HLTTauRefProducer::e_doID_
bool e_doID_
Definition: HLTTauRefProducer.h:84
PFTau.h
HLTTauRefProducer::phiMinPFTau_
double phiMinPFTau_
Definition: HLTTauRefProducer.h:77
Provenance.h
HLTTauRefProducer::e_ctfTrackCollectionSrc_
edm::InputTag e_ctfTrackCollectionSrc_
Definition: HLTTauRefProducer.h:82
HLTTauRefProducer::phiMaxPFTau_
double phiMaxPFTau_
Definition: HLTTauRefProducer.h:77
HLTTauRefProducer::Jets_
edm::EDGetTokenT< reco::CaloJetCollection > Jets_
Definition: HLTTauRefProducer.h:105
HLTTauRefProducer::beginStream
std::unique_ptr< TauIDConfigCache > beginStream(edm::StreamID) const override
Definition: HLTTauRefProducer.h:63
HLTTauRefProducer::doJets_
bool doJets_
Definition: HLTTauRefProducer.h:106
HLTTauRefProducer::e_zMmin_
double e_zMmin_
Definition: HLTTauRefProducer.h:92
ParameterSet.h
EDProducer.h
HLTTauRefProducer::doElectrons_
bool doElectrons_
Definition: HLTTauRefProducer.h:80
edm::Event
Definition: Event.h:73
edm::InputTag
Definition: InputTag.h:15
HLTTauRefProducer::towerIsol_
double towerIsol_
Definition: HLTTauRefProducer.h:112
HLTTauRefProducer::phID_
edm::ProcessHistoryID phID_
Definition: HLTTauRefProducer.h:75