91 recSimColl_AlgoA = theAssociator_algoA->associateRecoToSim(trackCollAlgoA, trackingParticleCollFakes, &iEvent, &iSetup);
92 recSimColl_AlgoB = theAssociator_algoB->associateRecoToSim(trackCollAlgoB, trackingParticleCollFakes, &iEvent, &iSetup);
94 simRecColl_AlgoA = theAssociator_algoA->associateSimToReco(trackCollAlgoA, trackingParticleCollEffic, &iEvent, &iSetup);
95 simRecColl_AlgoB = theAssociator_algoB->associateSimToReco(trackCollAlgoB, trackingParticleCollEffic, &iEvent, &iSetup);
101 recSimColl_AlgoA = *(recotosimCollectionH_AlgoA.
product());
105 recSimColl_AlgoB = *(recotosimCollectionH_AlgoB.
product());
109 simRecColl_AlgoA = *(simtorecoCollectionH_AlgoA.
product());
113 simRecColl_AlgoB = *(simtorecoCollectionH_AlgoB.
product());
117 std::vector<std::pair<TrackingParticleRef, double> > associatedTrackingParticles;
120 std::vector<std::pair<reco::TrackBaseRef, double> > associatedRecoTracks;
137 if(recSimColl_AlgoA.
find(recoTrack) != recSimColl_AlgoA.
end())
139 associatedTrackingParticles = recSimColl_AlgoA[recoTrack];
141 recoTracktoTP.
SetShared( associatedTrackingParticles.begin()->second );
160 outputAlgoA->push_back(recoTracktoTP);
174 if(recSimColl_AlgoB.
find(recoTrack) != recSimColl_AlgoB.
end())
176 associatedTrackingParticles = recSimColl_AlgoB[recoTrack];
178 recoTracktoTP.
SetShared( associatedTrackingParticles.begin()->second );
197 outputAlgoB->push_back(recoTracktoTP);
211 if(simRecColl_AlgoA.
find(tparticle) != simRecColl_AlgoA.
end())
213 associatedRecoTracks = simRecColl_AlgoA[tparticle];
234 if(simRecColl_AlgoB.
find(tparticle) != simRecColl_AlgoB.
end())
236 associatedRecoTracks = simRecColl_AlgoB[tparticle];
255 outputTP->push_back(tptoRecoTrack);
260 iEvent.
put(outputAlgoA,
"AlgoA");
261 iEvent.
put(outputAlgoB,
"AlgoB");
262 iEvent.
put(outputTP,
"TP");
void SetTrackingParticle(TrackingParticleRef tp)
const_iterator end() const
last iterator over the map (read only)
void SetTrackingParticle(TrackingParticleRef tp)
void SetShared_AlgoA(const float &mA)
edm::InputTag trackingParticleLabel_effic
const_iterator find(const key_type &k) const
find element with specified reference key
void SetShared(const float &m)
std::vector< RecoTracktoTP > RecoTracktoTPCollection
void SetRecoVertex(reco::VertexRef vertex)
std::string assocLabel_algoB
std::vector< TPtoRecoTrack > TPtoRecoTrackCollection
edm::InputTag beamSpotLabel
void SetRecoTrack_AlgoA(reco::TrackBaseRef track)
edm::InputTag trackingParticleLabel_fakes
std::string assocLabel_algoA
void SetTrackingParticleD0Dz(TrackingParticleRef tp, const reco::BeamSpot &bs, const MagneticField *bf, TPtoRecoTrack &TPRT)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
void SetRecoVertex_AlgoB(reco::VertexRef vertex)
void SetRecoVertex_AlgoA(reco::VertexRef vertex)
edm::InputTag vertexLabel_algoB
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
edm::InputTag vertexLabel_algoA
edm::InputTag trackLabel_algoA
void SetShared_AlgoB(const float &mB)
void SetRecoTrack(reco::TrackBaseRef track)
T const * product() const
edm::InputTag associatormap_algoA
T const * product() const
void SetBeamSpot(const math::XYZPoint &bs)
edm::InputTag associatormap_algoB
void SetBeamSpot(const math::XYZPoint &bs)
const Point & position() const
position
void SetRecoTrack_AlgoB(reco::TrackBaseRef track)
edm::Ref< TrackingParticleCollection > TrackingParticleRef
edm::InputTag trackLabel_algoB