Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking getByToken migration, part 1 (RecoTracker/CkfPattern and RecoTracker/DebugTools) #556

Merged
merged 12 commits into from Aug 19, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -30,8 +30,10 @@ KalmanAlignmentTrackRefitter::KalmanAlignmentTrackRefitter( const edm::Parameter
theDebugFlag( config.getUntrackedParameter<bool>( "debug", true ) )
{
TrackProducerBase< reco::Track >::setConf( config );
TrackProducerBase< reco::Track >::setSrc( config.getParameter< edm::InputTag >( "src" ),
config.getParameter< edm::InputTag >( "bsSrc" ) );
// --- GPetrucc: I can't understand where anything is read from the event, and who's the consumer.
// If there is one anywhere, it should do the consumes<T> calls and pass that to the setSrc
//TrackProducerBase< reco::Track >::setSrc( consumes<TrackCandidateCollection>(iConfig.getParameter<edm::InputTag>( "src" )),
// consumes<reco::BeamSpot>(iConfig.getParameter<edm::InputTag>( "beamSpot" )));
}


Expand Down
Expand Up @@ -22,8 +22,8 @@ TrackProducerWithSCAssociation::TrackProducerWithSCAssociation(const edm::Parame
theAlgo(iConfig)
{
setConf(iConfig);
setSrc( iConfig.getParameter<edm::InputTag>( "src" ),
iConfig.getParameter<edm::InputTag>( "beamSpot" ));
setSrc( consumes<TrackCandidateCollection>(iConfig.getParameter<edm::InputTag>( "src" )),
consumes<reco::BeamSpot>(iConfig.getParameter<edm::InputTag>( "beamSpot" )));
setAlias( iConfig.getParameter<std::string>( "@module_label" ) );

if ( iConfig.exists("clusterRemovalInfo") ) {
Expand Down
4 changes: 2 additions & 2 deletions RecoTracker/CkfPattern/interface/CkfTrackCandidateMaker.h
Expand Up @@ -24,12 +24,12 @@ class TransientInitialStateEstimator;

namespace cms
{
class CkfTrackCandidateMaker : public CkfTrackCandidateMakerBase, public edm::EDProducer
class CkfTrackCandidateMaker : public edm::EDProducer, public CkfTrackCandidateMakerBase
{
public:

explicit CkfTrackCandidateMaker(const edm::ParameterSet& conf):
CkfTrackCandidateMakerBase(conf){
CkfTrackCandidateMakerBase(conf, consumesCollector()){
produces<TrackCandidateCollection>();
}

Expand Down
5 changes: 3 additions & 2 deletions RecoTracker/CkfPattern/interface/CkfTrackCandidateMakerBase.h
Expand Up @@ -4,6 +4,7 @@
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"

#include "FWCore/ParameterSet/interface/ParameterSet.h"

Expand All @@ -28,7 +29,7 @@ namespace cms
class CkfTrackCandidateMakerBase {
public:

explicit CkfTrackCandidateMakerBase(const edm::ParameterSet& conf);
explicit CkfTrackCandidateMakerBase(const edm::ParameterSet& conf, edm::ConsumesCollector && iC);

virtual ~CkfTrackCandidateMakerBase();

Expand Down Expand Up @@ -65,7 +66,7 @@ namespace cms

RedundantSeedCleaner* theSeedCleaner;

edm::InputTag theSeedLabel;
edm::EDGetTokenT<edm::View<TrajectorySeed> > theSeedLabel;

unsigned int maxSeedsBeforeCleaning_;
// methods for debugging
Expand Down
4 changes: 2 additions & 2 deletions RecoTracker/CkfPattern/interface/CkfTrajectoryMaker.h
Expand Up @@ -24,13 +24,13 @@ class TransientInitialStateEstimator;

namespace cms
{
class CkfTrajectoryMaker : public CkfTrackCandidateMakerBase, public edm::EDProducer
class CkfTrajectoryMaker : public edm::EDProducer, public CkfTrackCandidateMakerBase
{
public:
typedef std::vector<Trajectory> TrajectoryCollection;

explicit CkfTrajectoryMaker(const edm::ParameterSet& conf):
CkfTrackCandidateMakerBase(conf)
CkfTrackCandidateMakerBase(conf, consumesCollector())
{
theTrackCandidateOutput=conf.getParameter<bool>("trackCandidateAlso");
theTrajectoryOutput=true;
Expand Down
6 changes: 3 additions & 3 deletions RecoTracker/CkfPattern/src/CkfTrackCandidateMakerBase.cc
Expand Up @@ -41,7 +41,7 @@ using namespace edm;
using namespace std;

namespace cms{
CkfTrackCandidateMakerBase::CkfTrackCandidateMakerBase(edm::ParameterSet const& conf) :
CkfTrackCandidateMakerBase::CkfTrackCandidateMakerBase(edm::ParameterSet const& conf, edm::ConsumesCollector && iC) :

conf_(conf),
theTrackCandidateOutput(true),
Expand All @@ -66,7 +66,7 @@ namespace cms{
// if (!conf.exists("src"))
// theSeedLabel = InputTag(conf_.getParameter<std::string>("SeedProducer"),conf_.getParameter<std::string>("SeedLabel"));
// else
theSeedLabel= conf.getParameter<edm::InputTag>("src");
theSeedLabel= iC.consumes<edm::View<TrajectorySeed> >(conf.getParameter<edm::InputTag>("src"));
if ( conf.exists("maxSeedsBeforeCleaning") )
maxSeedsBeforeCleaning_=conf.getParameter<unsigned int>("maxSeedsBeforeCleaning");

Expand Down Expand Up @@ -157,7 +157,7 @@ namespace cms{
// Step B: Retrieve seeds

edm::Handle<View<TrajectorySeed> > collseed;
e.getByLabel(theSeedLabel, collseed);
e.getByToken(theSeedLabel, collseed);

// Step C: Create empty output collection
std::auto_ptr<TrackCandidateCollection> output(new TrackCandidateCollection);
Expand Down
8 changes: 4 additions & 4 deletions RecoTracker/DeDx/plugins/DeDxDiscriminatorLearner.cc
Expand Up @@ -35,8 +35,8 @@ using namespace edm;

DeDxDiscriminatorLearner::DeDxDiscriminatorLearner(const edm::ParameterSet& iConfig) : ConditionDBWriter<PhysicsTools::Calibration::HistogramD3D>(iConfig)
{
m_tracksTag = iConfig.getParameter<edm::InputTag>("tracks");
m_trajTrackAssociationTag = iConfig.getParameter<edm::InputTag>("trajectoryTrackAssociation");
m_tracksTag = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("tracks"));
m_trajTrackAssociationTag = consumes<TrajTrackAssociationCollection>(iConfig.getParameter<edm::InputTag>("trajectoryTrackAssociation"));

usePixel = iConfig.getParameter<bool>("UsePixel");
useStrip = iConfig.getParameter<bool>("UseStrip");
Expand Down Expand Up @@ -137,11 +137,11 @@ void DeDxDiscriminatorLearner::algoAnalyze(const edm::Event& iEvent, const edm::


Handle<TrajTrackAssociationCollection> trajTrackAssociationHandle;
iEvent.getByLabel(m_trajTrackAssociationTag, trajTrackAssociationHandle);
iEvent.getByToken(m_trajTrackAssociationTag, trajTrackAssociationHandle);
const TrajTrackAssociationCollection TrajToTrackMap = *trajTrackAssociationHandle.product();

edm::Handle<reco::TrackCollection> trackCollectionHandle;
iEvent.getByLabel(m_tracksTag,trackCollectionHandle);
iEvent.getByToken(m_tracksTag,trackCollectionHandle);

unsigned track_index = 0;
for(TrajTrackAssociationCollection::const_iterator it = TrajToTrackMap.begin(); it!=TrajToTrackMap.end(); ++it, track_index++) {
Expand Down
4 changes: 2 additions & 2 deletions RecoTracker/DeDx/plugins/DeDxDiscriminatorLearner.h
Expand Up @@ -47,8 +47,8 @@ class DeDxDiscriminatorLearner : public ConditionDBWriter<PhysicsTools::Calibrat


// ----------member data ---------------------------
edm::InputTag m_trajTrackAssociationTag;
edm::InputTag m_tracksTag;
edm::EDGetTokenT<TrajTrackAssociationCollection> m_trajTrackAssociationTag;
edm::EDGetTokenT<reco::TrackCollection> m_tracksTag;

bool usePixel;
bool useStrip;
Expand Down
Expand Up @@ -50,8 +50,8 @@ class DeDxDiscriminatorLearnerFromCalibTree : public ConditionDBWriter<PhysicsTo


// ----------member data ---------------------------
edm::InputTag m_trajTrackAssociationTag;
edm::InputTag m_tracksTag;
edm::EDGetTokenT<TrajTrackAssociationCollection> m_trajTrackAssociationTag;
edm::EDGetTokenT<reco::TrackCollection> m_tracksTag;

bool usePixel;
bool useStrip;
Expand Down
8 changes: 4 additions & 4 deletions RecoTracker/DeDx/plugins/DeDxDiscriminatorProducer.cc
Expand Up @@ -51,8 +51,8 @@ DeDxDiscriminatorProducer::DeDxDiscriminatorProducer(const edm::ParameterSet& iC

produces<ValueMap<DeDxData> >();

m_tracksTag = iConfig.getParameter<edm::InputTag>("tracks");
m_trajTrackAssociationTag = iConfig.getParameter<edm::InputTag>("trajectoryTrackAssociation");
m_tracksTag = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("tracks"));
m_trajTrackAssociationTag = consumes<TrajTrackAssociationCollection>(iConfig.getParameter<edm::InputTag>("trajectoryTrackAssociation"));

usePixel = iConfig.getParameter<bool>("UsePixel");
useStrip = iConfig.getParameter<bool>("UseStrip");
Expand Down Expand Up @@ -231,11 +231,11 @@ void DeDxDiscriminatorProducer::produce(edm::Event& iEvent, const edm::EventSetu
ValueMap<DeDxData>::Filler filler(*trackDeDxDiscrimAssociation);

Handle<TrajTrackAssociationCollection> trajTrackAssociationHandle;
iEvent.getByLabel(m_trajTrackAssociationTag, trajTrackAssociationHandle);
iEvent.getByToken(m_trajTrackAssociationTag, trajTrackAssociationHandle);
const TrajTrackAssociationCollection TrajToTrackMap = *trajTrackAssociationHandle.product();

edm::Handle<reco::TrackCollection> trackCollectionHandle;
iEvent.getByLabel(m_tracksTag,trackCollectionHandle);
iEvent.getByToken(m_tracksTag,trackCollectionHandle);

edm::ESHandle<TrackerGeometry> tkGeom;
iSetup.get<TrackerDigiGeometryRecord>().get( tkGeom );
Expand Down
4 changes: 2 additions & 2 deletions RecoTracker/DeDx/plugins/DeDxDiscriminatorProducer.h
Expand Up @@ -65,8 +65,8 @@ class DeDxDiscriminatorProducer : public edm::EDProducer {


// ----------member data ---------------------------
edm::InputTag m_trajTrackAssociationTag;
edm::InputTag m_tracksTag;
edm::EDGetTokenT<TrajTrackAssociationCollection> m_trajTrackAssociationTag;
edm::EDGetTokenT<reco::TrackCollection> m_tracksTag;

bool usePixel;
bool useStrip;
Expand Down
8 changes: 4 additions & 4 deletions RecoTracker/DeDx/plugins/DeDxEstimatorProducer.cc
Expand Up @@ -63,8 +63,8 @@ DeDxEstimatorProducer::DeDxEstimatorProducer(const edm::ParameterSet& iConfig)
MaxNrStrips = iConfig.getUntrackedParameter<unsigned>("maxNrStrips" , 255);
MinTrackHits = iConfig.getUntrackedParameter<unsigned>("MinTrackHits" , 4);

m_tracksTag = iConfig.getParameter<edm::InputTag>("tracks");
m_trajTrackAssociationTag = iConfig.getParameter<edm::InputTag>("trajectoryTrackAssociation");
m_tracksTag = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("tracks"));
m_trajTrackAssociationTag = consumes<TrajTrackAssociationCollection>(iConfig.getParameter<edm::InputTag>("trajectoryTrackAssociation"));

usePixel = iConfig.getParameter<bool>("UsePixel");
useStrip = iConfig.getParameter<bool>("UseStrip");
Expand Down Expand Up @@ -138,11 +138,11 @@ void DeDxEstimatorProducer::produce(edm::Event& iEvent, const edm::EventSetup& i
ValueMap<DeDxData>::Filler filler(*trackDeDxEstimateAssociation);

Handle<TrajTrackAssociationCollection> trajTrackAssociationHandle;
iEvent.getByLabel(m_trajTrackAssociationTag, trajTrackAssociationHandle);
iEvent.getByToken(m_trajTrackAssociationTag, trajTrackAssociationHandle);
const TrajTrackAssociationCollection & TrajToTrackMap = *trajTrackAssociationHandle.product();

edm::Handle<reco::TrackCollection> trackCollectionHandle;
iEvent.getByLabel(m_tracksTag,trackCollectionHandle);
iEvent.getByToken(m_tracksTag,trackCollectionHandle);

size_t n = TrajToTrackMap.size();
std::vector<DeDxData> dedxEstimate(n);
Expand Down
5 changes: 3 additions & 2 deletions RecoTracker/DeDx/plugins/DeDxEstimatorProducer.h
Expand Up @@ -21,6 +21,7 @@
#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h"
#include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h"
#include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h"
#include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h"

#include "TFile.h"
#include "TChain.h"
Expand Down Expand Up @@ -50,8 +51,8 @@ class DeDxEstimatorProducer : public edm::EDProducer {
// ----------member data ---------------------------
BaseDeDxEstimator* m_estimator;

edm::InputTag m_trajTrackAssociationTag;
edm::InputTag m_tracksTag;
edm::EDGetTokenT<TrajTrackAssociationCollection> m_trajTrackAssociationTag;
edm::EDGetTokenT<reco::TrackCollection> m_tracksTag;

bool usePixel;
bool useStrip;
Expand Down
Expand Up @@ -58,8 +58,8 @@ DeDxEstimatorProducerPixelTripplet::DeDxEstimatorProducerPixelTripplet(const edm
MaxNrStrips = iConfig.getUntrackedParameter<unsigned>("maxNrStrips" , 255);
MinTrackHits = iConfig.getUntrackedParameter<unsigned>("MinTrackHits" , 4);

m_tracksTag = iConfig.getParameter<edm::InputTag>("tracks");
m_trajTrackAssociationTag = iConfig.getParameter<edm::InputTag>("trajectoryTrackAssociation");
m_tracksTag = consumes<reco::TrackCollection>(iConfig.getParameter<edm::InputTag>("tracks"));
m_trajTrackAssociationTag = consumes<TrajTrackAssociationCollection>(iConfig.getParameter<edm::InputTag>("trajectoryTrackAssociation"));

usePixel = iConfig.getParameter<bool>("UsePixel");
useStrip = iConfig.getParameter<bool>("UseStrip");
Expand Down Expand Up @@ -137,7 +137,7 @@ void DeDxEstimatorProducerPixelTripplet::produce(edm::Event& iEvent, const edm::
ValueMap<DeDxData>::Filler filler(*trackDeDxEstimateAssociation);

Handle<TrackCollection> trackCollHandle;
iEvent.getByLabel(m_trajTrackAssociationTag, trackCollHandle);
iEvent.getByToken(m_trajTrackAssociationTag, trackCollHandle);
const TrackCollection trackColl = *trackCollHandle.product();

size_t n = trackColl.size();
Expand Down
5 changes: 3 additions & 2 deletions RecoTracker/DeDx/plugins/DeDxEstimatorProducerPixelTripplet.h
Expand Up @@ -15,6 +15,7 @@
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
#include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
#include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h"
#include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h"

#include <ext/hash_map>

Expand Down Expand Up @@ -48,8 +49,8 @@ class DeDxEstimatorProducerPixelTripplet : public edm::EDProducer {
// ----------member data ---------------------------
BaseDeDxEstimator* m_estimator;

edm::InputTag m_trajTrackAssociationTag;
edm::InputTag m_tracksTag;
edm::EDGetTokenT<TrajTrackAssociationCollection> m_trajTrackAssociationTag;
edm::EDGetTokenT<reco::TrackCollection> m_tracksTag;

bool usePixel;
bool useStrip;
Expand Down
6 changes: 4 additions & 2 deletions RecoTracker/DeDx/plugins/HLTDeDxFilter.cc
Expand Up @@ -40,6 +40,8 @@ HLTDeDxFilter::HLTDeDxFilter(const edm::ParameterSet& iConfig) : HLTFilter(iConf
maxETA_ = iConfig.getParameter<double> ("maxETA");
inputTracksTag_ = iConfig.getParameter< edm::InputTag > ("inputTracksTag");
inputdedxTag_ = iConfig.getParameter< edm::InputTag > ("inputDeDxTag");
inputTracksToken_ = consumes<reco::TrackCollection>(iConfig.getParameter< edm::InputTag > ("inputTracksTag"));
inputdedxToken_ = consumes<edm::ValueMap<reco::DeDxData> >(iConfig.getParameter< edm::InputTag > ("inputDeDxTag"));

thisModuleTag_ = edm::InputTag(iConfig.getParameter<std::string>("@module_label"));

Expand Down Expand Up @@ -83,11 +85,11 @@ bool
}

edm::Handle<reco::TrackCollection> trackCollectionHandle;
iEvent.getByLabel(inputTracksTag_,trackCollectionHandle);
iEvent.getByToken(inputTracksToken_,trackCollectionHandle);
reco::TrackCollection trackCollection = *trackCollectionHandle.product();

edm::Handle<edm::ValueMap<reco::DeDxData> > dEdxTrackHandle;
iEvent.getByLabel(inputdedxTag_, dEdxTrackHandle);
iEvent.getByToken(inputdedxToken_, dEdxTrackHandle);
const edm::ValueMap<reco::DeDxData> dEdxTrack = *dEdxTrackHandle.product();

bool accept=false;
Expand Down
3 changes: 3 additions & 0 deletions RecoTracker/DeDx/plugins/HLTDeDxFilter.h
Expand Up @@ -8,6 +8,7 @@
*/

#include "HLTrigger/HLTcore/interface/HLTFilter.h"
#include "FWCore/Utilities/interface/EDGetToken.h"

namespace edm {
class ConfigurationDescriptions;
Expand All @@ -32,6 +33,8 @@ class HLTDeDxFilter : public HLTFilter {
double minPT_;
double minNOM_;
double maxETA_;
edm::EDGetToken inputTracksToken_;
edm::EDGetToken inputdedxToken_;
edm::InputTag inputTracksTag_;
edm::InputTag inputdedxTag_;
edm::InputTag thisModuleTag_;
Expand Down
Expand Up @@ -7,9 +7,9 @@
#include "FWCore/Framework/interface/EDProducer.h"

namespace cms {
class CkfDebugTrackCandidateMaker : public CkfTrackCandidateMakerBase, public edm::EDProducer {
class CkfDebugTrackCandidateMaker : public edm::EDProducer, public CkfTrackCandidateMakerBase {
public:
CkfDebugTrackCandidateMaker(const edm::ParameterSet& conf) : CkfTrackCandidateMakerBase(conf) {
CkfDebugTrackCandidateMaker(const edm::ParameterSet& conf) : CkfTrackCandidateMakerBase(conf, consumesCollector()) {
produces<TrackCandidateCollection>();
}

Expand Down
Expand Up @@ -58,6 +58,9 @@ namespace reco { namespace modules {
/// eta restrictions
double minEta_;
double maxEta_;

edm::EDGetTokenT<std::vector<Trajectory> > srcTraj_;
edm::EDGetTokenT<TrajTrackAssociationCollection > srcTass_;

/// storage
std::auto_ptr<reco::TrackCollection> selTracks_;
Expand Down
Expand Up @@ -49,12 +49,14 @@ namespace reco { namespace modules {
// return class, or -1 if rejected
bool select (const reco::BeamSpot &vertexBeamSpot, const reco::Track &tk);
// source collection label
edm::InputTag src_;
edm::InputTag beamspot_;
edm::EDGetTokenT<reco::TrackCollection> src_;
edm::EDGetTokenT<reco::BeamSpot> beamspot_;
// copy only the tracks, not extras and rechits (for AOD)
bool copyExtras_;
// copy also trajectories and trajectory->track associations
bool copyTrajectories_;
edm::EDGetTokenT<std::vector<Trajectory> > srcTraj_;
edm::EDGetTokenT<TrajTrackAssociationCollection > srcTass_;

// save all the tracks
bool keepAllTracks_;
Expand Down
24 changes: 19 additions & 5 deletions RecoTracker/FinalTrackSelectors/interface/DuplicateListMerger.h
Expand Up @@ -25,6 +25,7 @@
#include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
#include "DataFormats/TrackerRecHit2D/interface/BaseTrackerRecHit.h"
#include "DataFormats/TrackerRecHit2D/interface/OmniClusterRef.h"
#include "DataFormats/Common/interface/ValueMap.h"
#include <vector>
#include <algorithm>
#include <string>
Expand Down Expand Up @@ -56,12 +57,25 @@ namespace reco { namespace modules {
}

/// track input collection
edm::InputTag mergedTrackSource_;
edm::InputTag originalTrackSource_;
edm::InputTag candidateSource_;
struct ThreeTokens {
edm::InputTag tag;
edm::EDGetTokenT<reco::TrackCollection> tk;
edm::EDGetTokenT<std::vector<Trajectory> > traj;
edm::EDGetTokenT<TrajTrackAssociationCollection > tass;
ThreeTokens() {}
ThreeTokens(const edm::InputTag &tag_, edm::EDGetTokenT<reco::TrackCollection> && tk_, edm::EDGetTokenT<std::vector<Trajectory> > && traj_, edm::EDGetTokenT<TrajTrackAssociationCollection > && tass_) :
tag(tag_), tk(tk_), traj(traj_), tass(tass_) {}
};
ThreeTokens threeTokens(const edm::InputTag &tag) {
return ThreeTokens(tag, consumes<reco::TrackCollection>(tag), consumes<std::vector<Trajectory> >(tag), consumes<TrajTrackAssociationCollection >(tag));
}
ThreeTokens mergedTrackSource_, originalTrackSource_;
edm::EDGetTokenT<edm::View<DuplicateRecord> > candidateSource_;

edm::InputTag originalMVAVals_;
edm::InputTag mergedMVAVals_;
edm::InputTag originalMVAVals_;
edm::InputTag mergedMVAVals_;
edm::EDGetTokenT<edm::ValueMap<float> > originalMVAValsToken_;
edm::EDGetTokenT<edm::ValueMap<float> > mergedMVAValsToken_;

reco::TrackBase::TrackQuality qualityToSet_;
unsigned int diffHitsCut_;
Expand Down