21 produces<reco::PFV0Collection>();
22 produces<reco::PFRecTrackCollection>();
37 <<
" in run "<<iEvent.
id().
run();
47 for (
unsigned int il=0; il<
V0list_.size(); il++){
50 LogDebug(
"PFV0Producer")<<
V0list_[il]<<
" contains "<<V0coll->size()<<
" V0 candidates ";
51 for (
unsigned int iv=0;iv<V0coll->size();iv++){
53 vector<TrackRef> Tracks;
54 vector<PFRecTrackRef> PFTracks;
55 for(
unsigned int ndx = 0; ndx < V0->numberOfDaughters(); ndx++ ) {
57 Tracks.push_back( (dynamic_cast<const RecoChargedCandidate*>(V0->daughter(ndx)))->track() );
70 pfV0RecTrackColl->push_back(pfRecTrack);
74 if ((PFTracks.size()==2)&&(Tracks.size()==2)){
75 pfV0Coll->push_back(
PFV0(V0,PFTracks,Tracks));
85 iEvent.
put(pfV0RecTrackColl);
std::vector< edm::InputTag > V0list_
T getParameter(std::string const &) const
EventNumber_t event() const
reconstructed track used as an input to particle flow
PFV0Producer(const edm::ParameterSet &)
Constructor.
virtual void beginRun(const edm::Run &, const edm::EventSetup &) override
~PFV0Producer()
Destructor.
virtual void produce(edm::Event &, const edm::EventSetup &) override
Produce the PFRecTrack collection.
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
std::vector< PFV0 > PFV0Collection
collection of PFV0 objects
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
RefProd< PROD > getRefBeforePut()
XYZVectorD XYZVector
spatial vector with cartesian internal representation
PFTrackTransformer * pfTransformer_
PFTrackTransformer.
tuple idx
DEBUGGING if hasattr(process,"trackMonIterativeTracking2012"): print "trackMonIterativeTracking2012 D...
key_type key() const
Accessor for product key.
std::vector< PFRecTrack > PFRecTrackCollection
collection of PFRecTrack objects
virtual void endRun(const edm::Run &, const edm::EventSetup &) override