23 LogInfo(
"VZeroProducer") <<
" constructor";
24 produces<reco::VZeroCollection>();
36 LogInfo(
"VZeroProducer") <<
" destructor";
61 for(
unsigned int i=0;
i<tracks.size();
i++)
72 LogTrace(
"MinBiasTracking") <<
"[VZeroProducer] using tracks :"
73 <<
" +" << positives.
size()
74 <<
" -" << negatives.
size();
76 auto result = std::make_unique<reco::VZeroCollection>();
79 if(positives.
size() > 0 && negatives.
size() > 0)
81 ipos!= positives.
end(); ipos++)
83 ineg!= negatives.
end(); ineg++)
87 if(theFinder.
checkTrackPair(**ipos,**ineg, vertices, data) ==
true)
105 <<
"[VZeroProducer] found candidates : " <<
result->size();
virtual void produce(edm::Event &ev, const edm::EventSetup &es)
T getParameter(std::string const &) const
math::GlobalPoint crossingPoint
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
float minImpactNegativeDaughter
std::vector< Track > TrackCollection
collection of Tracks
math::Error< dimension >::type Error
covariance error matrix (3x3)
std::vector< Vertex > VertexCollection
collection of Vertex objects
const_iterator end() const
Termination of iteration.
const_iterator begin() const
Initialize an iterator over the RefVector.
math::XYZPoint Point
point in the space
VZeroProducer(const edm::ParameterSet &pset)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
void add(const TrackBaseRef &r, float w=1.0)
add a reference to a Track
T const * product() const
float minImpactPositiveDaughter
char data[epos_bytes_allocation]
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
size_type size() const
Size of the RefVector.
bool checkTrackPair(const reco::Track &posTrack, const reco::Track &negTrack, const reco::VertexCollection *vertices, reco::VZeroData &data)