26 using namespace isodeposit;
51 alpha_(cfg.getParameter<double>(
"alpha")),
52 beta_(cfg.getParameter<double>(
"beta")),
53 hltPath_(cfg.getParameter<
std::
string>(
"hltPath")) {
54 produces<vector<pat::CompositeCandidate> >();
67 bool isMCMatchTrue =
false;
75 unique_ptr<vector<pat::CompositeCandidate> > dimuonColl(
new vector<pat::CompositeCandidate>());
77 for (
unsigned int i = 0;
i < dimuons->size(); ++
i) {
83 float trueMass, truePt, trueEta, truePhi, trueY;
127 float zDau1SaEta = stAloneTrack1->eta();
128 float zDau2SaEta = stAloneTrack2->eta();
129 float zDau1SaPhi = stAloneTrack1->phi();
130 float zDau2SaPhi = stAloneTrack2->phi();
131 float zDau1SaPt, zDau2SaPt;
133 momentum = stAloneTrack1->momentum();
135 mu_mass = dau1->
mass();
137 zDau1SaPt = stAloneTrack1->pt();
138 zDau2SaPt = -stAloneTrack2->pt();
140 momentum = stAloneTrack2->momentum();
142 mu_mass = dau2->
mass();
144 zDau1SaPt = -stAloneTrack1->pt();
145 zDau2SaPt = stAloneTrack2->pt();
150 float zMassSa =
mass;
161 dimuonColl->push_back(dimuon);
Analysis-level particle class.
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool isNonnull() const
Checks for non-null.
virtual const PolarLorentzVector & polarP4() const =0
four-momentum Lorentz vector
bool getByToken(EDGetToken token, Handle< PROD > &result) const
stand alone muon component tag
std::vector< Vertex > VertexCollection
collection of Vertex objects
void addUserFloat(const std::string &label, float data, const bool overwrite=false)
Set user-defined float.
EDGetTokenT< BeamSpot > beamSpotToken_
EDGetTokenT< VertexCollection > primaryVerticesToken_
#define DEFINE_FWK_MODULE(type)
ZMuMuUserData(const edm::ParameterSet &)
bool isGlobalMuon() const override
void produce(edm::Event &, const edm::EventSetup &) override
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual const CandidateBaseRef & masterClone() const =0
EDGetTokenT< GenParticleMatch > zGenParticlesMatchToken_
virtual double eta() const =0
momentum pseudorapidity
virtual double pt() const =0
transverse momentum
XYZVectorD XYZVector
spatial vector with cartesian internal representation
virtual double mass() const =0
mass
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
EDGetTokenT< std::vector< reco::CompositeCandidate > > srcToken_
virtual double rapidity() const =0
rapidity
T get() const
get a component
virtual double phi() const =0
momentum azimuthal angle
Analysis-level muon class.
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.