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 
48 
50 
52 public:
53  explicit SoftLepton(const edm::ParameterSet& iConfig);
54  ~SoftLepton() override;
55  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
56 
57  struct TrackCompare {
59  const edm::RefToBase<reco::Track> &t2) const
60  { return t1.key() < t2.key();}
61  };
62 
63  typedef std::map<unsigned int, float> LeptonIds;
64  typedef std::map<edm::RefToBase<reco::Track>, LeptonIds, TrackCompare> Leptons;
65 
66  // generic interface, using a TrackRefVector for lepton tracks
70  const Leptons & leptons,
72  ) const;
73 
74 protected:
75  // generic interface, using a TrackRefVector for lepton tracks
76 
81  ) const;
82 
83  static double relativeEta(
84  const math::XYZVector& vector,
85  const math::XYZVector& axis
86  );
87 
88  static double boostedPPar(
89  const math::XYZVector& vector,
90  const math::XYZVector& axis
91  );
92 
93 private:
94  void produce(edm::Event & event, const edm::EventSetup & setup) override;
95 
96  // configuration
111 
112  // service used to make transient tracks from tracks
114 
115  // algorithm configuration
116  unsigned int m_refineJetAxis;
117  double m_deltaRCut;
118  double m_chi2Cut;
119 
120  // specific for reco::Muons
122 
123  // nominal beam spot position
125 };
126 
127 #endif // RecoBTag_SoftLepton_SoftLepton_h
const edm::EDGetTokenT< reco::PFCandidateCollection > token_pfElectrons
Definition: SoftLepton.h:104
const edm::EDGetTokenT< edm::ValueMap< float > > token_leptonCands
Definition: SoftLepton.h:108
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:2
const edm::EDGetTokenT< edm::ValueMap< float > > token_leptonId
Definition: SoftLepton.h:110
const edm::EDGetTokenT< edm::View< reco::Muon > > token_muons
Definition: SoftLepton.h:105
const edm::EDGetTokenT< edm::View< reco::Electron > > token_electrons
Definition: SoftLepton.h:103
double m_chi2Cut
Definition: SoftLepton.h:118
const edm::EDGetTokenT< edm::View< reco::GsfElectron > > token_gsfElectrons
Definition: SoftLepton.h:102
SelectionType
Selector type.
Definition: MuonSelectors.h:17
void produce(edm::Event &event, const edm::EventSetup &setup) override
Definition: SoftLepton.cc:96
bool operator()(const edm::RefToBase< reco::Track > &t1, const edm::RefToBase< reco::Track > &t2) const
Definition: SoftLepton.h:58
const edm::InputTag m_leptons
Definition: SoftLepton.h:101
size_t key() const
Definition: RefToBase.h:250
static double relativeEta(const math::XYZVector &vector, const math::XYZVector &axis)
Definition: SoftLepton.cc:391
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:315
const edm::EDGetTokenT< reco::VertexCollection > token_primaryVertex
Definition: SoftLepton.h:100
~SoftLepton() override
Definition: SoftLepton.cc:91
const edm::InputTag m_leptonId
Definition: SoftLepton.h:109
double m_deltaRCut
Definition: SoftLepton.h:117
const edm::InputTag m_leptonCands
Definition: SoftLepton.h:107
unsigned int m_refineJetAxis
Definition: SoftLepton.h:116
reco::SoftLeptonTagInfo tag(const edm::RefToBase< reco::Jet > &jet, const reco::TrackRefVector &tracks, const Leptons &leptons, const reco::Vertex &primaryVertex) const
Definition: SoftLepton.cc:268
const edm::EDGetTokenT< edm::View< reco::Jet > > token_jets
Definition: SoftLepton.h:99
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
SoftLepton(const edm::ParameterSet &iConfig)
Definition: SoftLepton.cc:66
std::map< unsigned int, float > LeptonIds
Definition: SoftLepton.h:63
static const reco::Vertex s_nominalBeamSpot
Definition: SoftLepton.h:124
muon::SelectionType m_muonSelection
Definition: SoftLepton.h:121
std::map< edm::RefToBase< reco::Track >, LeptonIds, TrackCompare > Leptons
Definition: SoftLepton.h:64
const edm::InputTag m_jets
Definition: SoftLepton.h:97
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: SoftLepton.cc:409
const TransientTrackBuilder * m_transientTrackBuilder
Definition: SoftLepton.h:113
const edm::EDGetTokenT< edm::View< reco::Track > > token_tracks
Definition: SoftLepton.h:106
const edm::EDGetTokenT< reco::JetTracksAssociationCollection > token_jtas
Definition: SoftLepton.h:98
Definition: event.py:1
static double boostedPPar(const math::XYZVector &vector, const math::XYZVector &axis)
Definition: SoftLepton.cc:398