CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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();
55  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
56 
57  struct TrackCompare :
58  public std::binary_function<edm::RefToBase<reco::Track>,
59  edm::RefToBase<reco::Track>, bool> {
61  const edm::RefToBase<reco::Track> &t2) const
62  { return t1.key() < t2.key();}
63  };
64 
65  typedef std::map<unsigned int, float> LeptonIds;
66  typedef std::map<edm::RefToBase<reco::Track>, LeptonIds, TrackCompare> Leptons;
67 
68  // generic interface, using a TrackRefVector for lepton tracks
72  const Leptons & leptons,
74  ) const;
75 
76 protected:
77  // generic interface, using a TrackRefVector for lepton tracks
78 
83  ) const;
84 
85  static double relativeEta(
86  const math::XYZVector& vector,
87  const math::XYZVector& axis
88  );
89 
90  static double boostedPPar(
91  const math::XYZVector& vector,
92  const math::XYZVector& axis
93  );
94 
95 private:
96  virtual void produce(edm::Event & event, const edm::EventSetup & setup);
97 
98  // configuration
113 
114  // service used to make transient tracks from tracks
116 
117  // algorithm configuration
118  unsigned int m_refineJetAxis;
119  double m_deltaRCut;
120  double m_chi2Cut;
121 
122  // specific for reco::Muons
124 
125  // nominal beam spot position
127 };
128 
129 #endif // RecoBTag_SoftLepton_SoftLepton_h
const edm::EDGetTokenT< reco::PFCandidateCollection > token_pfElectrons
Definition: SoftLepton.h:106
const edm::EDGetTokenT< edm::ValueMap< float > > token_leptonCands
Definition: SoftLepton.h:110
const edm::EDGetTokenT< edm::ValueMap< float > > token_leptonId
Definition: SoftLepton.h:112
const edm::EDGetTokenT< edm::View< reco::Muon > > token_muons
Definition: SoftLepton.h:107
const edm::EDGetTokenT< edm::View< reco::Electron > > token_electrons
Definition: SoftLepton.h:105
double m_chi2Cut
Definition: SoftLepton.h:120
const edm::EDGetTokenT< edm::View< reco::GsfElectron > > token_gsfElectrons
Definition: SoftLepton.h:104
SelectionType
Selector type.
Definition: MuonSelectors.h:17
bool operator()(const edm::RefToBase< reco::Track > &t1, const edm::RefToBase< reco::Track > &t2) const
Definition: SoftLepton.h:60
auto const T2 &decltype(t1.eta()) t2
Definition: deltaR.h:16
const edm::InputTag m_leptons
Definition: SoftLepton.h:103
size_t key() const
Definition: RefToBase.h:235
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:102
const edm::InputTag m_leptonId
Definition: SoftLepton.h:111
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
double m_deltaRCut
Definition: SoftLepton.h:119
const edm::InputTag m_leptonCands
Definition: SoftLepton.h:109
unsigned int m_refineJetAxis
Definition: SoftLepton.h:118
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:101
tuple tracks
Definition: testEve_cfg.py:39
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:65
static const reco::Vertex s_nominalBeamSpot
Definition: SoftLepton.h:126
muon::SelectionType m_muonSelection
Definition: SoftLepton.h:123
std::map< edm::RefToBase< reco::Track >, LeptonIds, TrackCompare > Leptons
Definition: SoftLepton.h:66
const edm::InputTag m_jets
Definition: SoftLepton.h:99
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: SoftLepton.cc:409
const TransientTrackBuilder * m_transientTrackBuilder
Definition: SoftLepton.h:115
const edm::EDGetTokenT< edm::View< reco::Track > > token_tracks
Definition: SoftLepton.h:108
virtual void produce(edm::Event &event, const edm::EventSetup &setup)
Definition: SoftLepton.cc:96
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
const edm::EDGetTokenT< reco::JetTracksAssociationCollection > token_jtas
Definition: SoftLepton.h:100
static double boostedPPar(const math::XYZVector &vector, const math::XYZVector &axis)
Definition: SoftLepton.cc:398