67 produces<reco::PFRecTrackCollection>();
69 std::vector<InputTag>
tags = iConfig.
getParameter<vector<InputTag>>(
"TkColList");
75 for (
auto const&
tag : tags) {
98 auto PfTrColl = std::make_unique<reco::PFRecTrackCollection>();
102 bool foundgsf =
false;
113 pv = &*vertex->begin();
116 e(0, 0) = 0.0015 * 0.0015;
117 e(1, 1) = 0.0015 * 0.0015;
131 const vector<Trajectory> dummyTj(0);
140 const vector<Trajectory>* Tj = &dummyTj;
149 for (
unsigned int i = 0;
i < Tk.size();
i++) {
153 bool isMuCandidate =
false;
158 for (
unsigned j = 0;
j < recMuons->size();
j++) {
161 if (muonref->track() == trackRef && muonref->isGlobalMuon()) {
162 isMuCandidate =
true;
168 if (!isMuCandidate) {
177 for (
auto const& gsfTrack : *gsftrackcoll) {
178 if (gsfTrack.seedRef().isNull())
180 auto const&
seed = *(gsfTrack.extra()->seedRef());
182 if (ElSeed.ctfTrack().isNonnull()) {
183 if (ElSeed.ctfTrack() == trackRef) {
213 pftrack.setSTIP(stip);
214 PfTrColl->push_back(pftrack);
236 pftrack.setSTIP(stip);
237 PfTrColl->push_back(pftrack);
reconstructed track used as an input to particle flow
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool isNonnull() const
Checks for non-null.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
TrackQuality
track quality
#define DEFINE_FWK_MODULE(type)
PFTrackProducer(const edm::ParameterSet &)
Constructor.
const edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackToken_
std::vector< Track > TrackCollection
collection of Tracks
reco::TransientTrack build(const reco::Track *p) const
math::Error< dimension >::type Error
covariance error matrix (3x3)
edm::EDGetTokenT< reco::GsfTrackCollection > gsfTrackLabel_
edm::EDGetTokenT< reco::VertexCollection > vtx_h
std::vector< edm::EDGetTokenT< reco::TrackCollection > > tracksContainers_
bool getData(T &iHolder) const
U second(std::pair< T, U > const &p)
void endRun(const edm::Run &, const edm::EventSetup &) override
bool useQuality_
TRACK QUALITY.
math::XYZPoint Point
point in the space
edm::EDGetTokenT< reco::MuonCollection > muonColl_
void beginRun(const edm::Run &, const edm::EventSetup &) override
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldToken_
static TrackQuality qualityByName(const std::string &name)
bool isValid() const
is this point valid ?
T const * product() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
std::vector< edm::EDGetTokenT< std::vector< Trajectory > > > trajContainers_
T getParameter(std::string const &) const
void produce(edm::Event &, const edm::EventSetup &) override
Produce the PFRecTrack collection.
reco::TrackBase::TrackQuality trackQuality_
A PFTrack holds several trajectory points, which basically contain the position and momentum of a tra...
std::unique_ptr< PFTrackTransformer > pfTransformer_
PFTrackTransformer.