Skip to content
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
#ifndef CRackSeedGenerator_h
#define CRackSeedGenerator_h

#include "FWCore/Framework/interface/EDProducer.h"
#include "FWCore/Framework/interface/stream/EDProducer.h"
#include "FWCore/Framework/interface/Event.h"
#include "DataFormats/Common/interface/Handle.h"
#include "FWCore/Framework/interface/EventSetup.h"

#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "RecoTracker/SpecialSeedGenerators/interface/SeedGeneratorForCRack.h"

class CRackSeedGenerator : public edm::EDProducer {
class CRackSeedGenerator : public edm::stream::EDProducer<> {
public:
explicit CRackSeedGenerator(const edm::ParameterSet& conf);

Expand All @@ -18,7 +18,6 @@ class CRackSeedGenerator : public edm::EDProducer {
void produce(edm::Event& e, const edm::EventSetup& c) override;

private:
edm::ParameterSet conf_;
SeedGeneratorForCRack cosmic_seed;
edm::EDGetTokenT<SiStripMatchedRecHit2DCollection> matchedrecHitsToken_;
edm::EDGetTokenT<SiStripRecHit2DCollection> rphirecHitsToken_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,18 @@
#include "Math/GenVector/PxPyPzE4D.h"

//Geometry
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
#include "DataFormats/JetReco/interface/CaloJetCollection.h"
#include "DataFormats/MuonReco/interface/MuonFwd.h"
#include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
#include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "Geometry/CommonDetUnit/interface/GeomDet.h"
#include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h"
#include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
#include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
#include "Geometry/Records/interface/IdealGeometryRecord.h"

#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
#include "DataFormats/MuonReco/interface/MuonFwd.h"
#include "DataFormats/JetReco/interface/CaloJetCollection.h"
#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
#include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
#include "TrackingTools/GeomPropagators/interface/Propagator.h"

class CosmicRegionalSeedGenerator : public TrackingRegionProducer {
public:
Expand All @@ -68,6 +68,9 @@ class CosmicRegionalSeedGenerator : public TrackingRegionProducer {
std::string thePropagatorName_;
std::string regionBase_;

edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> trackerToken_;
edm::ESGetToken<Propagator, TrackingComponentsRecord> propagatorToken_;

edm::InputTag recoMuonsCollection_;
edm::InputTag recoTrackMuonsCollection_;
edm::InputTag recoL2MuonsCollection_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,14 @@ class CtfSpecialSeedGenerator : public edm::stream::EDProducer<> {

private:
edm::ParameterSet conf_;

const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> theMFToken;
const edm::ESGetToken<TransientTrackingRecHitBuilder, TransientRecHitRecord> theBuilderToken;
const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> theTrackerToken;
const edm::ESGetToken<Propagator, TrackingComponentsRecord> thePropAlongToken;
const edm::ESGetToken<Propagator, TrackingComponentsRecord> thePropOppositeToken;
const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> theTopoToken;

edm::ESHandle<MagneticField> theMagfield;
edm::ESHandle<TrackerGeometry> theTracker;
edm::ESHandle<TransientTrackingRecHitBuilder> theBuilder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
//#include "RecoTracker/SpecialSeedGenerators/interface/SeedGeneratorFromLayerPairs.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h"
#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
#include "RecoTracker/TkHitPairs/interface/CosmicHitPairGenerator.h"
Expand All @@ -17,11 +18,14 @@
#include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
#include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h"
class PixelSeedLayerPairs;
class GeometricSearchTracker;
class TrackerRecoGeometryRecord;
class TransientRecHitRecord;

class SeedGeneratorForCRack {
public:
typedef TrajectoryStateOnSurface TSOS;
SeedGeneratorForCRack(const edm::ParameterSet &conf);
SeedGeneratorForCRack(const edm::ParameterSet &conf, edm::ConsumesCollector);
virtual ~SeedGeneratorForCRack(){};
void init(const SiStripRecHit2DCollection &collstereo,
const SiStripRecHit2DCollection &collrphi,
Expand All @@ -32,7 +36,13 @@ class SeedGeneratorForCRack {
void seeds(TrajectorySeedCollection &output, const edm::EventSetup &c, const TrackingRegion &region);

private:
edm::ParameterSet conf_;
// es tokens
const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> theMagfieldToken;
const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> theTrackerToken;
const edm::ESGetToken<GeometricSearchTracker, TrackerRecoGeometryRecord> theSearchTrackerToken;
const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> theTTopoToken;
const edm::ESGetToken<TransientTrackingRecHitBuilder, TransientRecHitRecord> theTTRHToken;

GlobalTrackingRegion region;
CosmicHitPairGenerator *thePairGenerator;
edm::ESHandle<MagneticField> magfield;
Expand All @@ -42,7 +52,6 @@ class SeedGeneratorForCRack {
PropagatorWithMaterial *thePropagatorAl;
PropagatorWithMaterial *thePropagatorOp;
const TransientTrackingRecHitBuilder *TTTRHBuilder;
std::string builderName;
std::string geometry;
float seedpt;
OrderedHitPairs HitPairs;
Expand Down
9 changes: 4 additions & 5 deletions RecoTracker/SpecialSeedGenerators/src/CRackSeedGenerator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,11 @@
#include "FWCore/Utilities/interface/InputTag.h"

using namespace std;
CRackSeedGenerator::CRackSeedGenerator(edm::ParameterSet const& conf) : conf_(conf), cosmic_seed(conf) {
CRackSeedGenerator::CRackSeedGenerator(edm::ParameterSet const& conf) : cosmic_seed(conf, consumesCollector()) {
edm::LogInfo("CRackSeedGenerator") << "Enter the CRackSeedGenerator";
matchedrecHitsToken_ =
consumes<SiStripMatchedRecHit2DCollection>(conf_.getParameter<edm::InputTag>("matchedRecHits"));
rphirecHitsToken_ = consumes<SiStripRecHit2DCollection>(conf_.getParameter<edm::InputTag>("rphirecHits"));
stereorecHitsToken_ = consumes<SiStripRecHit2DCollection>(conf_.getParameter<edm::InputTag>("stereorecHits"));
matchedrecHitsToken_ = consumes<SiStripMatchedRecHit2DCollection>(conf.getParameter<edm::InputTag>("matchedRecHits"));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
matchedrecHitsToken_ = consumes<SiStripMatchedRecHit2DCollection>(conf.getParameter<edm::InputTag>("matchedRecHits"));
matchedrecHitsToken_ = consumes(conf.getParameter<edm::InputTag>("matchedRecHits"));

the type is not needed anymore.
Perhaps it's more practical to do a more general purge of this old style consumes call in a separate PR.

rphirecHitsToken_ = consumes<SiStripRecHit2DCollection>(conf.getParameter<edm::InputTag>("rphirecHits"));
stereorecHitsToken_ = consumes<SiStripRecHit2DCollection>(conf.getParameter<edm::InputTag>("stereorecHits"));

produces<TrajectorySeedCollection>();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
#include <memory>
#include <string>

#include "TrackingTools/GeomPropagators/interface/Propagator.h"

#include "DataFormats/MuonReco/interface/Muon.h"
#include "DataFormats/JetReco/interface/CaloJet.h"
#include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
Expand Down Expand Up @@ -32,6 +30,9 @@ CosmicRegionalSeedGenerator::CosmicRegionalSeedGenerator(edm::ParameterSet const
thePropagatorName_ = toolsPSet.getParameter<std::string>("thePropagatorName");
regionBase_ = toolsPSet.getParameter<std::string>("regionBase");

trackerToken_ = iC.esConsumes();
propagatorToken_ = iC.esConsumes(edm::ESInputTag("", thePropagatorName_));

edm::ParameterSet collectionsPSet = conf_.getParameter<edm::ParameterSet>("CollectionsPSet");
recoMuonsCollection_ = collectionsPSet.getParameter<edm::InputTag>("recoMuonsCollection");
recoTrackMuonsCollection_ = collectionsPSet.getParameter<edm::InputTag>("recoTrackMuonsCollection");
Expand Down Expand Up @@ -90,14 +91,10 @@ std::vector<std::unique_ptr<TrackingRegion>> CosmicRegionalSeedGenerator::region
event.getByToken(recoCaloJetsToken_, caloJetsHandle);

//get the propagator
edm::ESHandle<Propagator> thePropagator;
// thePropagatorName = "AnalyticalPropagator"
es.get<TrackingComponentsRecord>().get(thePropagatorName_, thePropagator);
edm::ESHandle<Propagator> thePropagator = es.getHandle(propagatorToken_);

//get tracker geometry
edm::ESHandle<TrackerGeometry> theTrackerGeometry;
es.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
//const TrackerGeometry& theTracker(*theTrackerGeometry);
edm::ESHandle<TrackerGeometry> theTrackerGeometry = es.getHandle(trackerToken_);

//definition of the region
//+++++++++++++++++++++++++
Expand Down Expand Up @@ -242,13 +239,10 @@ std::vector<std::unique_ptr<TrackingRegion>> CosmicRegionalSeedGenerator::region
event.getByToken(recoCaloJetsToken_, caloJetsHandle);

//get the propagator
edm::ESHandle<Propagator> thePropagator;
// thePropagatorName = "AnalyticalPropagator"
es.get<TrackingComponentsRecord>().get(thePropagatorName_, thePropagator);
edm::ESHandle<Propagator> thePropagator = es.getHandle(propagatorToken_);

//get tracker geometry
edm::ESHandle<TrackerGeometry> theTrackerGeometry;
es.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
edm::ESHandle<TrackerGeometry> theTrackerGeometry = es.getHandle(trackerToken_);

//definition of the region
//+++++++++++++++++++++++++
Expand Down Expand Up @@ -378,13 +372,10 @@ std::vector<std::unique_ptr<TrackingRegion>> CosmicRegionalSeedGenerator::region
LogDebug("CosmicRegionalSeedGenerator") << "L2 muons collection size = " << L2MuonsHandle->size();

//get the propagator
edm::ESHandle<Propagator> thePropagator;
// thePropagatorName = "AnalyticalPropagator"
es.get<TrackingComponentsRecord>().get(thePropagatorName_, thePropagator);
edm::ESHandle<Propagator> thePropagator = es.getHandle(propagatorToken_);

//get tracker geometry
edm::ESHandle<TrackerGeometry> theTrackerGeometry;
es.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
edm::ESHandle<TrackerGeometry> theTrackerGeometry = es.getHandle(trackerToken_);

//definition of the region
//+++++++++++++++++++++++++
Expand Down
25 changes: 14 additions & 11 deletions RecoTracker/SpecialSeedGenerators/src/CtfSpecialSeedGenerator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ using namespace ctfseeding;

CtfSpecialSeedGenerator::CtfSpecialSeedGenerator(const edm::ParameterSet& conf)
: conf_(conf),
theMFToken(esConsumes<edm::Transition::BeginRun>()),
theBuilderToken(
esConsumes<edm::Transition::BeginRun>(edm::ESInputTag("", conf_.getParameter<std::string>("TTRHBuilder")))),
theTrackerToken(esConsumes<edm::Transition::BeginRun>()),
thePropAlongToken(esConsumes<edm::Transition::BeginRun>(edm::ESInputTag("", "PropagatorWithMaterial"))),
thePropOppositeToken(
esConsumes<edm::Transition::BeginRun>(edm::ESInputTag("", "PropagatorWithMaterialOpposite"))),
theTopoToken(esConsumes()),
requireBOFF(conf.getParameter<bool>("requireBOFF")),
theMaxSeeds(conf.getParameter<int32_t>("maxSeeds")),
check(conf, consumesCollector())
Expand Down Expand Up @@ -45,11 +53,9 @@ CtfSpecialSeedGenerator::~CtfSpecialSeedGenerator() = default;
void CtfSpecialSeedGenerator::endRun(edm::Run const&, edm::EventSetup const&) { theSeedBuilder.reset(); }

void CtfSpecialSeedGenerator::beginRun(edm::Run const&, const edm::EventSetup& iSetup) {
std::string builderName = conf_.getParameter<std::string>("TTRHBuilder");
iSetup.get<TransientRecHitRecord>().get(builderName, theBuilder);

iSetup.get<IdealMagneticFieldRecord>().get(theMagfield);
iSetup.get<TrackerDigiGeometryRecord>().get(theTracker);
theMagfield = iSetup.getHandle(theMFToken);
theBuilder = iSetup.getHandle(theBuilderToken);
theTracker = iSetup.getHandle(theTrackerToken);

edm::LogVerbatim("CtfSpecialSeedGenerator") << "Initializing...";
if (useScintillatorsConstraint) {
Expand All @@ -74,10 +80,8 @@ void CtfSpecialSeedGenerator::beginRun(edm::Run const&, const edm::EventSetup& i
lowerScintillator = BoundPlane::build(lowerPosition, rot, &lowerBounds);
}

edm::ESHandle<Propagator> propagatorAlongHandle;
iSetup.get<TrackingComponentsRecord>().get("PropagatorWithMaterial", propagatorAlongHandle);
edm::ESHandle<Propagator> propagatorOppositeHandle;
iSetup.get<TrackingComponentsRecord>().get("PropagatorWithMaterialOpposite", propagatorOppositeHandle);
edm::ESHandle<Propagator> propagatorAlongHandle = iSetup.getHandle(thePropAlongToken);
edm::ESHandle<Propagator> propagatorOppositeHandle = iSetup.getHandle(thePropOppositeToken);

std::vector<edm::ParameterSet> pSets = conf_.getParameter<std::vector<edm::ParameterSet>>("OrderedHitsFactoryPSets");
std::vector<edm::ParameterSet>::const_iterator iPSet;
Expand Down Expand Up @@ -188,8 +192,7 @@ bool CtfSpecialSeedGenerator::buildSeeds(const edm::EventSetup& iSetup,
}
//checks the hits are on diffrent layers
bool CtfSpecialSeedGenerator::preliminaryCheck(const SeedingHitSet& shs, const edm::EventSetup& es) {
edm::ESHandle<TrackerTopology> tTopo;
es.get<TrackerTopologyRcd>().get(tTopo);
edm::ESHandle<TrackerTopology> tTopo = es.getHandle(theTopoToken);

std::vector<std::pair<unsigned int, unsigned int>> vSubdetLayer;
//std::vector<std::string> vSeedLayerNames;
Expand Down
33 changes: 16 additions & 17 deletions RecoTracker/SpecialSeedGenerators/src/SeedGeneratorForCRack.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,40 +7,39 @@ void SeedGeneratorForCRack::init(const SiStripRecHit2DCollection& collstereo,
const SiStripRecHit2DCollection& collrphi,
const SiStripMatchedRecHit2DCollection& collmatched,
const edm::EventSetup& iSetup) {
iSetup.get<IdealMagneticFieldRecord>().get(magfield);
iSetup.get<TrackerDigiGeometryRecord>().get(tracker);
magfield = iSetup.getHandle(theMagfieldToken);
tracker = iSetup.getHandle(theTrackerToken);
thePropagatorAl = new PropagatorWithMaterial(alongMomentum, 0.1057, &(*magfield));
thePropagatorOp = new PropagatorWithMaterial(oppositeToMomentum, 0.1057, &(*magfield));
theUpdator = new KFUpdator();

// get the transient builder
TTTRHBuilder = &iSetup.getData(theTTRHToken);

edm::ESHandle<TransientTrackingRecHitBuilder> theBuilder;
GeometricSearchTracker const& track = iSetup.getData(theSearchTrackerToken);
TrackerTopology const& ttopo = iSetup.getData(theTTopoToken);

iSetup.get<TransientRecHitRecord>().get(builderName, theBuilder);
TTTRHBuilder = theBuilder.product();
edm::ESHandle<GeometricSearchTracker> track;
iSetup.get<TrackerRecoGeometryRecord>().get(track);
edm::ESHandle<TrackerTopology> httopo;
iSetup.get<TrackerTopologyRcd>().get(httopo);
CosmicLayerPairs cosmiclayers(geometry, collrphi, collmatched, *track, *httopo);
CosmicLayerPairs cosmiclayers(geometry, collrphi, collmatched, track, ttopo);
thePairGenerator = new CosmicHitPairGenerator(cosmiclayers, *tracker);
HitPairs.clear();
thePairGenerator->hitPairs(region, HitPairs);
LogDebug("CosmicSeedFinder") << "Initialized with " << HitPairs.size() << " hit pairs" << std::endl;
}

SeedGeneratorForCRack::SeedGeneratorForCRack(edm::ParameterSet const& conf)
: conf_(conf),
SeedGeneratorForCRack::SeedGeneratorForCRack(edm::ParameterSet const& conf, edm::ConsumesCollector iCC)
: theMagfieldToken(iCC.esConsumes()),
theTrackerToken(iCC.esConsumes()),
theSearchTrackerToken(iCC.esConsumes()),
theTTopoToken(iCC.esConsumes()),
theTTRHToken(iCC.esConsumes(edm::ESInputTag("", conf.getParameter<std::string>("TTRHBuilder")))),
region(conf.getParameter<double>("ptMin"),
conf.getParameter<double>("originRadius"),
conf.getParameter<double>("originHalfLength"),
conf.getParameter<double>("originZPosition")) {
seedpt = conf_.getParameter<double>("SeedPt");
builderName = conf_.getParameter<std::string>("TTRHBuilder");
geometry = conf_.getUntrackedParameter<std::string>("GeometricStructure", "STANDARD");
multipleScatteringFactor = conf_.getUntrackedParameter<double>("multipleScatteringFactor", 1.0);
seedMomentum = conf_.getUntrackedParameter<double>("SeedMomentum", 1);
seedpt = conf.getParameter<double>("SeedPt");
geometry = conf.getUntrackedParameter<std::string>("GeometricStructure", "STANDARD");
multipleScatteringFactor = conf.getUntrackedParameter<double>("multipleScatteringFactor", 1.0);
seedMomentum = conf.getUntrackedParameter<double>("SeedMomentum", 1);
}

void SeedGeneratorForCRack::run(TrajectorySeedCollection& output, const edm::EventSetup& iSetup) {
Expand Down