93 produces< WMuNuCandidateCollection >();
100 LogTrace(
"")<<
"WMuNuCandidateCollection Stored in the Event";
118 LogError(
"") <<
">>> Muon collection does not exist !!!";
121 int muonCollectionSize = muonCollection->size();
126 LogError(
"") <<
">>> MET collection does not exist !!!";
133 if (muonCollectionSize<1)
return;
140 for (
int indx=0; indx<muonCollectionSize; indx++){
147 LogTrace(
"")<<
"Building WMuNu Candidate!";
149 LogTrace(
"") <<
"\t... W mass, W_et: "<<WCand->
massT()<<
", "<<WCand->
eT()<<
"[GeV]";
150 LogTrace(
"") <<
"\t... W_px, W_py: "<<WCand->
px()<<
", "<< WCand->
py() <<
"[GeV]";
154 WMuNuCandidates->push_back(*WCand);
157 std::sort(WMuNuCandidates->begin(),WMuNuCandidates->end(),
ptComparator);
~WMuNuProducer() override
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
common ppss p3p6s2 common epss epspn46 common const1 w2
virtual TrackRef innerTrack() const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< edm::View< reco::MET > > metToken_
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
#define DEFINE_FWK_MODULE(type)
double px() const final
x coordinate of momentum vector
double pt() const final
transverse momentum
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
void produce(edm::Event &, const edm::EventSetup &) override
bool isGlobalMuon() const override
double pz() const final
z coordinate of momentum vector
bool isNull() const
Checks for null.
std::vector< reco::WMuNuCandidate > WMuNuCandidateCollection
double py() const final
y coordinate of momentum vector
bool operator()(reco::WMuNuCandidate w1, reco::WMuNuCandidate w2) const
WMuNuProducer(const edm::ParameterSet &)
const reco::Muon & getMuon() const
const reco::MET & getNeutrino() const
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector