33 produces<std::vector<unsigned int> >();
41 if (conf.
exists(
"overrideTrkQuals")) {
48 if (conf.
exists(
"TrackQuality")){
51 if ( !trackQuality.empty() ) {
57 trackToken = consumes<reco::TrackCollection>(trackCollectionTag);
64 std::auto_ptr<std::vector<unsigned int> > SimTrackIds(
new std::vector<unsigned int>());
70 std::vector<edm::Handle<edm::ValueMap<int> > > quals;
76 for (
size_t i = 0 ;
i!=trackCollection->size();++
i)
83 if ( quals.size()!=0) {
84 int qual=(*(quals[0]))[trackRef];
86 if ( qual < 0 ) {goodTk=
false;}
93 if ( !goodTk)
continue;
103 SimTrackIds->push_back(fsimhit->
simtrackId());
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::TrackCollection > trackToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< edm::EDGetTokenT< edm::ValueMap< int > > > overrideTrkQuals_
reco::TrackBase::TrackQuality trackQuality_
bool exists(std::string const ¶meterName) const
checks if a parameter exists
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const int & simtrackId() const
virtual void produce(edm::Event &e, const edm::EventSetup &es) override
double chi2() const
chi-squared of the fit
SimTrackIdProducer(const edm::ParameterSet &conf)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
trackingRecHit_iterator recHitsBegin() const
Iterator to first hit on the track.
static TrackQuality qualityByName(const std::string &name)
bool quality(const TrackQuality) const
Track quality.