35 #include "Math/GenVector/VectorUtil.h" 50 produces<std::vector<float> >(
"TPmass");
70 std::unique_ptr<std::vector<float> > TPmass(
new std::vector<float>);
73 edm::LogWarning(
"TagProbe") <<
"Could not extract tag muons with input tag " 78 edm::LogWarning(
"TagProbe") <<
"Could not extract probe muons with input tag " 83 edm::LogWarning(
"TagProbe") <<
"Could not extract passing probe muons with input tag " 101 for( ; tag != vtags.
end(); ++
tag, ++itag )
105 for( ; probe != vprobes.
end(); ++probe, ++iprobe )
113 double delR = reco::deltaR<double>((*tag)->eta(),(*tag)->phi(),(*probe)->eta(),(*probe)->phi());
118 int sign = (*tag)->charge() * (*probe)->charge();
123 if (isPassing) TPmass->push_back(invMass);
153 for (
unsigned int iPassProbe = 0; iPassProbe < numPassingProbes; ++iPassProbe) {
155 if (passingProbeRef == probeRef) {
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
~TagProbeMassProducer() override
edm::Handle< reco::CandidateView > probes
edm::InputTag passingProbeCollection_
const_iterator end() const
edm::InputTag probeCollection_
VDouble InvariantMass(Tau)
RefToBase< value_type > refAt(size_type i) const
edm::Handle< reco::CandidateView > tags
#define DEFINE_FWK_MODULE(type)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
TagProbeMassProducer(const edm::ParameterSet &)
bool isPassingProbe(const unsigned int iprobe) const
const_iterator begin() const
edm::Handle< reco::CandidateView > passingProbes
edm::InputTag tagCollection_
void push_back(const RefToBase< T > &)
void produce(edm::Event &, const edm::EventSetup &) override