65 desc.add<
bool>(
"UseQuality",
true);
67 desc.add<std::vector<edm::InputTag>>(
"TkColList", {
edm::InputTag(
"generalTracks")});
70 desc.add<
bool>(
"TrajInEvents",
false);
71 desc.add<
bool>(
"GsfTracksInEvents",
true);
72 descriptions.
add(
"pfTrack",
desc);
82 produces<reco::PFRecTrackCollection>();
84 std::vector<InputTag>
tags = iConfig.
getParameter<vector<InputTag>>(
"TkColList");
113 auto PfTrColl = std::make_unique<reco::PFRecTrackCollection>();
117 bool foundgsf =
false;
131 e(0, 0) = 0.0015 * 0.0015;
132 e(1, 1) = 0.0015 * 0.0015;
146 const vector<Trajectory> dummyTj(0);
155 const vector<Trajectory>* Tj = &dummyTj;
164 for (
unsigned int i = 0;
i < Tk.size();
i++) {
168 bool isMuCandidate =
false;
173 for (
unsigned j = 0;
j < recMuons->size();
j++) {
176 if (muonref->track() == trackRef && muonref->isGlobalMuon()) {
177 isMuCandidate =
true;
183 if (!isMuCandidate) {
192 for (
auto const& gsfTrack : *gsftrackcoll) {
193 if (gsfTrack.seedRef().isNull())
195 auto const&
seed = *(gsfTrack.extra()->seedRef());
197 if (ElSeed.ctfTrack().isNonnull()) {
198 if (ElSeed.ctfTrack() == trackRef) {
228 pftrack.setSTIP(stip);
229 PfTrColl->push_back(pftrack);
251 pftrack.setSTIP(stip);
252 PfTrColl->push_back(pftrack);
reconstructed track used as an input to particle flow
T getParameter(std::string const &) const
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
TrackQuality
track quality
PFTrackProducer(const edm::ParameterSet &)
Constructor.
const edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackToken_
T const * product() const
std::vector< Track > TrackCollection
collection of Tracks
math::Error< dimension >::type Error
covariance error matrix (3x3)
bool isNonnull() const
Checks for non-null.
edm::EDGetTokenT< reco::GsfTrackCollection > gsfTrackLabel_
edm::EDGetTokenT< reco::VertexCollection > vtx_h
std::vector< edm::EDGetTokenT< reco::TrackCollection > > tracksContainers_
reco::TransientTrack build(const reco::Track *p) const
U second(std::pair< T, U > const &p)
bool isValid() const
is this point valid ?
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void endRun(const edm::Run &, const edm::EventSetup &) override
bool useQuality_
TRACK QUALITY.
math::XYZPoint Point
point in the space
#define DEFINE_FWK_MODULE(type)
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)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
std::vector< edm::EDGetTokenT< std::vector< Trajectory > > > trajContainers_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
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.