CMS 3D CMS Logo

SoftLepton.h
Go to the documentation of this file.
1 #ifndef RecoBTag_SoftLepton_SoftLepton_h
2 #define RecoBTag_SoftLepton_SoftLepton_h
3 
4 // -*- C++ -*-
5 //
6 // Package: SoftLepton
7 // Class: SoftLepton
8 //
16 //
17 // Original Author: fwyzard
18 // Created: Wed Oct 18 18:02:07 CEST 2006
19 //
20 
21 // system include files
22 #include <memory>
23 #include <map>
24 
25 // user include files
47 
49 
51 public:
52  explicit SoftLepton(const edm::ParameterSet& iConfig);
53  ~SoftLepton() override;
54  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
55 
56  struct TrackCompare {
58  return t1.key() < t2.key();
59  }
60  };
61 
62  typedef std::map<unsigned int, float> LeptonIds;
63  typedef std::map<edm::RefToBase<reco::Track>, LeptonIds, TrackCompare> Leptons;
64 
65  // generic interface, using a TrackRefVector for lepton tracks
68  const Leptons& leptons,
69  const reco::Vertex& primaryVertex) const;
70 
71 protected:
72  // generic interface, using a TrackRefVector for lepton tracks
73 
77 
78  static double relativeEta(const math::XYZVector& vector, const math::XYZVector& axis);
79 
80  static double boostedPPar(const math::XYZVector& vector, const math::XYZVector& axis);
81 
82 private:
83  void produce(edm::Event& event, const edm::EventSetup& setup) override;
84 
85  // configuration
100 
101  // service used to make transient tracks from tracks
103 
104  // algorithm configuration
105  unsigned int m_refineJetAxis;
106  double m_deltaRCut;
107  double m_chi2Cut;
108 
109  // specific for reco::Muons
111 
112  // nominal beam spot position
114 };
115 
116 #endif // RecoBTag_SoftLepton_SoftLepton_h
const edm::EDGetTokenT< reco::PFCandidateCollection > token_pfElectrons
Definition: SoftLepton.h:93
const edm::EDGetTokenT< edm::ValueMap< float > > token_leptonCands
Definition: SoftLepton.h:97
const edm::EDGetTokenT< edm::ValueMap< float > > token_leptonId
Definition: SoftLepton.h:99
const edm::EDGetTokenT< edm::View< reco::Muon > > token_muons
Definition: SoftLepton.h:94
const edm::EDGetTokenT< edm::View< reco::Electron > > token_electrons
Definition: SoftLepton.h:92
double m_chi2Cut
Definition: SoftLepton.h:107
const edm::EDGetTokenT< edm::View< reco::GsfElectron > > token_gsfElectrons
Definition: SoftLepton.h:91
SelectionType
Selector type.
Definition: MuonSelectors.h:19
void produce(edm::Event &event, const edm::EventSetup &setup) override
Definition: SoftLepton.cc:100
bool operator()(const edm::RefToBase< reco::Track > &t1, const edm::RefToBase< reco::Track > &t2) const
Definition: SoftLepton.h:57
const edm::InputTag m_leptons
Definition: SoftLepton.h:90
size_t key() const
Definition: RefToBase.h:219
static double relativeEta(const math::XYZVector &vector, const math::XYZVector &axis)
Definition: SoftLepton.cc:414
GlobalVector refineJetAxis(const edm::RefToBase< reco::Jet > &jet, const reco::TrackRefVector &tracks, const edm::RefToBase< reco::Track > &exclude=edm::RefToBase< reco::Track >()) const
Definition: SoftLepton.cc:337
const edm::EDGetTokenT< reco::VertexCollection > token_primaryVertex
Definition: SoftLepton.h:89
~SoftLepton() override
Definition: SoftLepton.cc:97
const edm::InputTag m_leptonId
Definition: SoftLepton.h:98
double m_deltaRCut
Definition: SoftLepton.h:106
const edm::InputTag m_leptonCands
Definition: SoftLepton.h:96
unsigned int m_refineJetAxis
Definition: SoftLepton.h:105
reco::SoftLeptonTagInfo tag(const edm::RefToBase< reco::Jet > &jet, const reco::TrackRefVector &tracks, const Leptons &leptons, const reco::Vertex &primaryVertex) const
Definition: SoftLepton.cc:293
const edm::EDGetTokenT< edm::View< reco::Jet > > token_jets
Definition: SoftLepton.h:88
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
SoftLepton(const edm::ParameterSet &iConfig)
Definition: SoftLepton.cc:70
std::map< unsigned int, float > LeptonIds
Definition: SoftLepton.h:62
static const reco::Vertex s_nominalBeamSpot
Definition: SoftLepton.h:113
muon::SelectionType m_muonSelection
Definition: SoftLepton.h:110
std::map< edm::RefToBase< reco::Track >, LeptonIds, TrackCompare > Leptons
Definition: SoftLepton.h:63
const edm::InputTag m_jets
Definition: SoftLepton.h:86
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: SoftLepton.cc:432
const TransientTrackBuilder * m_transientTrackBuilder
Definition: SoftLepton.h:102
const edm::EDGetTokenT< edm::View< reco::Track > > token_tracks
Definition: SoftLepton.h:95
primaryVertex
hltOfflineBeamSpot for HLTMON
const edm::EDGetTokenT< reco::JetTracksAssociationCollection > token_jtas
Definition: SoftLepton.h:87
Definition: event.py:1
static double boostedPPar(const math::XYZVector &vector, const math::XYZVector &axis)
Definition: SoftLepton.cc:421