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 // $Id: SoftLepton.h,v 1.14 2010/08/19 23:14:52 fwyzard Exp $
20 //
21 
22 // system include files
23 #include <memory>
24 #include <map>
25 
26 // user include files
41 
43 
44 class SoftLepton : public edm::EDProducer {
45 public:
46  explicit SoftLepton(const edm::ParameterSet& iConfig);
47  ~SoftLepton();
48 
49  struct TrackCompare :
50  public std::binary_function<edm::RefToBase<reco::Track>,
51  edm::RefToBase<reco::Track>, bool> {
53  const edm::RefToBase<reco::Track> &t2) const
54  { return t1.key() < t2.key();}
55  };
56 
57  typedef std::map<unsigned int, float> LeptonIds;
58  typedef std::map<edm::RefToBase<reco::Track>, LeptonIds, TrackCompare> Leptons;
59 
60  // generic interface, using a TrackRefVector for lepton tracks
64  const Leptons & leptons,
65  const reco::Vertex & primaryVertex
66  ) const;
67 
68 protected:
69  // generic interface, using a TrackRefVector for lepton tracks
70 
75  ) const;
76 
77  static double relativeEta(
78  const math::XYZVector& vector,
79  const math::XYZVector& axis
80  );
81 
82  static double boostedPPar(
83  const math::XYZVector& vector,
84  const math::XYZVector& axis
85  );
86 
87 private:
88  virtual void produce(edm::Event & event, const edm::EventSetup & setup);
89 
90  // configuration
96 
97  // service used to make transient tracks from tracks
99 
100  // algorithm configuration
101  unsigned int m_refineJetAxis;
102  double m_deltaRCut;
103  double m_chi2Cut;
104 
105  // specific for reco::Muons
107 
108  // nominal beam spot position
110 };
111 
112 #endif // RecoBTag_SoftLepton_SoftLepton_h
double m_chi2Cut
Definition: SoftLepton.h:103
SelectionType
Selector type.
Definition: MuonSelectors.h:19
bool operator()(const edm::RefToBase< reco::Track > &t1, const edm::RefToBase< reco::Track > &t2) const
Definition: SoftLepton.h:52
const edm::InputTag m_leptons
Definition: SoftLepton.h:93
static double relativeEta(const math::XYZVector &vector, const math::XYZVector &axis)
Definition: SoftLepton.cc:405
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:329
const edm::InputTag m_primaryVertex
Definition: SoftLepton.h:92
const edm::InputTag m_leptonId
Definition: SoftLepton.h:95
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:102
size_t key() const
Definition: RefToBase.h:228
const edm::InputTag m_leptonCands
Definition: SoftLepton.h:94
unsigned int m_refineJetAxis
Definition: SoftLepton.h:101
reco::SoftLeptonTagInfo tag(const edm::RefToBase< reco::Jet > &jet, const reco::TrackRefVector &tracks, const Leptons &leptons, const reco::Vertex &primaryVertex) const
Definition: SoftLepton.cc:287
tuple tracks
Definition: testEve_cfg.py:39
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
SoftLepton(const edm::ParameterSet &iConfig)
Definition: SoftLepton.cc:94
std::map< unsigned int, float > LeptonIds
Definition: SoftLepton.h:57
static const reco::Vertex s_nominalBeamSpot
Definition: SoftLepton.h:109
muon::SelectionType m_muonSelection
Definition: SoftLepton.h:106
std::map< edm::RefToBase< reco::Track >, LeptonIds, TrackCompare > Leptons
Definition: SoftLepton.h:58
const edm::InputTag m_jets
Definition: SoftLepton.h:91
const TransientTrackBuilder * m_transientTrackBuilder
Definition: SoftLepton.h:98
virtual void produce(edm::Event &event, const edm::EventSetup &setup)
Definition: SoftLepton.cc:115
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
static double boostedPPar(const math::XYZVector &vector, const math::XYZVector &axis)
Definition: SoftLepton.cc:412