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