Skip to content
Merged
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#include "FWCore/Framework/interface/ESProducer.h"
#include "FWCore/Framework/interface/ModuleFactory.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
#include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
#include "Geometry/CommonDetUnit/interface/GeomDet.h"
Expand All @@ -16,10 +18,12 @@ using namespace sistrip;
class SiStripRegionConnectivity : public edm::ESProducer {
public:
SiStripRegionConnectivity(const edm::ParameterSet&);
~SiStripRegionConnectivity() override;
~SiStripRegionConnectivity() override = default;

std::unique_ptr<SiStripRegionCabling> produceRegionCabling(const SiStripRegionCablingRcd&);

static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

private:
edm::ESGetToken<SiStripDetCabling, SiStripDetCablingRcd> detcablingToken_;
edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> tkgeomToken_;
Expand All @@ -45,7 +49,13 @@ SiStripRegionConnectivity::SiStripRegionConnectivity(const edm::ParameterSet& ps
tTopoToken_ = cc.consumes();
}

SiStripRegionConnectivity::~SiStripRegionConnectivity() {}
void SiStripRegionConnectivity::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.addUntracked<unsigned int>("EtaDivisions", 10);
Copy link
Contributor

Choose a reason for hiding this comment

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

The configs for SiStripRegionConnectivity are either set or linked in several other parts in CMSSW, see https://github.com/search?q=repo%3Acms-sw%2Fcmssw%20SiStripRegionConnectivity&type=code , and everywhere the parameters are set as in your CalibTracker/SiStripESProducers/python/SiStripRegionConnectivity_cfi.py : why are you defining as default parameters in the fillDescriptions method some different ones?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because these are the default values, as natively provided in the class:

: etadivisions_(pset.getUntrackedParameter<unsigned int>("EtaDivisions", 10)),
phidivisions_(pset.getUntrackedParameter<unsigned int>("PhiDivisions", 10)),
etamax_(pset.getUntrackedParameter<double>("EtaMax", 2.4))

Copy link
Contributor

Choose a reason for hiding this comment

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

Good point...

desc.addUntracked<unsigned int>("PhiDivisions", 10);
desc.addUntracked<double>("EtaMax", 2.4);
descriptions.addWithDefaultLabel(desc);
}

std::unique_ptr<SiStripRegionCabling> SiStripRegionConnectivity::produceRegionCabling(
const SiStripRegionCablingRcd& iRecord) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import FWCore.ParameterSet.Config as cms

SiStripRegionConnectivity = cms.ESProducer("SiStripRegionConnectivity",
EtaDivisions = cms.untracked.uint32(20),
PhiDivisions = cms.untracked.uint32(20),
EtaMax = cms.untracked.double(2.5)
from CalibTracker.SiStripESProducers.siStripRegionConnectivity_cfi import siStripRegionConnectivity as _siStripRegionConnectivity
SiStripRegionConnectivity = _siStripRegionConnectivity.clone(
EtaDivisions = 20,
PhiDivisions = 20,
EtaMax = 2.5
)


17 changes: 10 additions & 7 deletions RecoLocalTracker/Phase2TrackerRecHits/interface/Phase2StripCPE.h
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
#ifndef RecoLocalTracker_Phase2TrackerRecHits_Phase2StripCPE_H
#define RecoLocalTracker_Phase2TrackerRecHits_Phase2StripCPE_H

#include "RecoLocalTracker/ClusterParameterEstimator/interface/ClusterParameterEstimator.h"
#include "MagneticField/Engine/interface/MagneticField.h"
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
#include "Geometry/CommonDetUnit/interface/GeomDet.h"
#include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h"
#include "DataFormats/Phase2TrackerCluster/interface/Phase2TrackerCluster1D.h"
#include "CondFormats/SiPhase2TrackerObjects/interface/SiPhase2OuterTrackerLorentzAngle.h"

#include "DataFormats/Phase2TrackerCluster/interface/Phase2TrackerCluster1D.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "Geometry/CommonDetUnit/interface/GeomDet.h"
#include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h"
#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
#include "MagneticField/Engine/interface/MagneticField.h"
#include "RecoLocalTracker/ClusterParameterEstimator/interface/ClusterParameterEstimator.h"

class Phase2StripCPE final : public ClusterParameterEstimator<Phase2TrackerCluster1D> {
public:
Expand All @@ -24,6 +25,8 @@ class Phase2StripCPE final : public ClusterParameterEstimator<Phase2TrackerClust
float coveredStrips;
};

static void fillPSetDescription(edm::ParameterSetDescription& desc);

public:
Phase2StripCPE(edm::ParameterSet& conf,
const MagneticField&,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ class Phase2StripCPEESProducer : public edm::ESProducer {
public:
Phase2StripCPEESProducer(const edm::ParameterSet&);
std::unique_ptr<ClusterParameterEstimator<Phase2TrackerCluster1D> > produce(const TkPhase2OTCPERecord& iRecord);
static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

private:
enum CPE_t { DEFAULT, GEOMETRIC };
Expand Down Expand Up @@ -53,6 +54,19 @@ Phase2StripCPEESProducer::Phase2StripCPEESProducer(const edm::ParameterSet& p) {
}
}

void Phase2StripCPEESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.add<std::string>("ComponentType", "Phase2StripCPE");

{
edm::ParameterSetDescription paramsDesc;
Phase2StripCPE::fillPSetDescription(paramsDesc);
desc.add<edm::ParameterSetDescription>("parameters", paramsDesc);
}

descriptions.addWithDefaultLabel(desc);
}

std::unique_ptr<ClusterParameterEstimator<Phase2TrackerCluster1D> > Phase2StripCPEESProducer::produce(
const TkPhase2OTCPERecord& iRecord) {
std::unique_ptr<ClusterParameterEstimator<Phase2TrackerCluster1D> > cpe_;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import FWCore.ParameterSet.Config as cms

phase2StripCPEESProducer = cms.ESProducer("Phase2StripCPEESProducer",
ComponentType = cms.string('Phase2StripCPE'),
parameters = cms.PSet(LorentzAngle_DB = cms.bool(True),
TanLorentzAnglePerTesla = cms.double(0.07)
)
)
from RecoLocalTracker.Phase2TrackerRecHits.phase2StripCPEESProducer_cfi import phase2StripCPEESProducer as _phase2StripCPEESProducer
phase2StripCPEESProducer = _phase2StripCPEESProducer.clone(ComponentType = 'Phase2StripCPE',
parameters = dict(LorentzAngle_DB = True,
TanLorentzAnglePerTesla = 0.07))
5 changes: 5 additions & 0 deletions RecoLocalTracker/Phase2TrackerRecHits/src/Phase2StripCPE.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ Phase2StripCPE::Phase2StripCPE(edm::ParameterSet& conf,
fillParam();
}

void Phase2StripCPE::fillPSetDescription(edm::ParameterSetDescription& desc) {
desc.add<double>("TanLorentzAnglePerTesla", 0.07);
desc.add<bool>("LorentzAngle_DB", true);
}

Phase2StripCPE::LocalValues Phase2StripCPE::localParameters(const Phase2TrackerCluster1D& cluster,
const GeomDetUnit& detunit) const {
auto const& p = m_Params[detunit.index() - m_off];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
#define RecoLocalTracker_SiStripRecHitConverter_StripCPEfromTrackAngle_H

#include "RecoLocalTracker/SiStripRecHitConverter/interface/StripCPE.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"

class StripCPEfromTrackAngle : public StripCPE {
private:
Expand All @@ -27,6 +29,8 @@ class StripCPEfromTrackAngle : public StripCPE {
Algo m_algo;

public:
static void fillPSetDescription(edm::ParameterSetDescription& desc);

using AlgoParam = StripCPE::AlgoParam;
using AClusters = StripClusterParameterEstimator::AClusters;
using ALocalValues = StripClusterParameterEstimator::ALocalValues;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
#include "CalibTracker/Records/interface/SiStripDependentRecords.h"
#include "CondFormats/SiStripObjects/interface/SiStripBackPlaneCorrection.h"
#include "CondFormats/SiStripObjects/interface/SiStripConfObject.h"
#include "CondFormats/SiStripObjects/interface/SiStripLatency.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/ESProducer.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/ModuleFactory.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "RecoLocalTracker/Records/interface/TkStripCPERecord.h"
#include "FWCore/ParameterSet/interface/EmptyGroupDescription.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "RecoLocalTracker/ClusterParameterEstimator/interface/StripClusterParameterEstimator.h"

#include "CalibTracker/Records/interface/SiStripDependentRecords.h"

#include "RecoLocalTracker/ClusterParameterEstimator/interface/StripFakeCPE.h"
#include "RecoLocalTracker/Records/interface/TkStripCPERecord.h"
#include "RecoLocalTracker/SiStripRecHitConverter/interface/StripCPE.h"
#include "RecoLocalTracker/SiStripRecHitConverter/interface/StripCPEfromTrackAngle.h"
#include "RecoLocalTracker/SiStripRecHitConverter/interface/StripCPEgeometric.h"
#include "RecoLocalTracker/ClusterParameterEstimator/interface/StripFakeCPE.h"

#include "CondFormats/SiStripObjects/interface/SiStripBackPlaneCorrection.h"
#include "CondFormats/SiStripObjects/interface/SiStripConfObject.h"
#include "CondFormats/SiStripObjects/interface/SiStripLatency.h"

class StripCPEESProducer : public edm::ESProducer {
public:
StripCPEESProducer(const edm::ParameterSet&);
std::unique_ptr<StripClusterParameterEstimator> produce(const TkStripCPERecord&);

static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

private:
enum CPE_t { SIMPLE, TRACKANGLE, GEOMETRIC, FAKE };

Expand All @@ -35,6 +35,27 @@ class StripCPEESProducer : public edm::ESProducer {
edm::ESGetToken<SiStripLatency, SiStripLatencyRcd> latencyToken_;
};

void StripCPEESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.add<std::string>("ComponentName", "SimpleStripCPE");

edm::ParameterSetDescription cpeFromTrackAngleDesc;
StripCPEfromTrackAngle::fillPSetDescription(cpeFromTrackAngleDesc);

edm::ParameterSetDescription emptyDesc;

desc.ifValue(
edm::ParameterDescription<std::string>("ComponentType", "SimpleStripCPE", true),
"SimpleStripCPE" >> edm::ParameterDescription<edm::ParameterSetDescription>("parameters", emptyDesc, true) or
"StripCPEfromTrackAngle" >>
edm::ParameterDescription<edm::ParameterSetDescription>("parameters", cpeFromTrackAngleDesc, true) or
"StripCPEgeometric" >>
edm::ParameterDescription<edm::ParameterSetDescription>("parameters", emptyDesc, true) or
"FakeStripCPE" >> edm::EmptyGroupDescription());

descriptions.addDefault(desc);
}

StripCPEESProducer::StripCPEESProducer(const edm::ParameterSet& p) {
std::string name = p.getParameter<std::string>("ComponentName");
std::string type = name;
Expand All @@ -54,7 +75,7 @@ StripCPEESProducer::StripCPEESProducer(const edm::ParameterSet& p) {
throw cms::Exception("Unknown StripCPE type") << type;

cpeNum = enumMap[type];
parametersPSet = (p.exists("parameters") ? p.getParameter<edm::ParameterSet>("parameters") : p);
parametersPSet = p.getParameter<edm::ParameterSet>("parameters");
auto cc = setWhatProduced(this, name);
pDDToken_ = cc.consumes();
magfieldToken_ = cc.consumes();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,37 @@ StripCPEfromTrackAngle::StripCPEfromTrackAngle(edm::ParameterSet& conf,
const SiStripConfObject& confObj,
const SiStripLatency& latency)
: StripCPE(conf, mag, geom, lorentz, backPlaneCorrection, confObj, latency),
useLegacyError(conf.existsAs<bool>("useLegacyError") ? conf.getParameter<bool>("useLegacyError") : true),
maxChgOneMIP(conf.existsAs<float>("maxChgOneMIP") ? conf.getParameter<double>("maxChgOneMIP") : -6000.),
useLegacyError(conf.getParameter<bool>("useLegacyError")),
maxChgOneMIP(conf.getParameter<double>("maxChgOneMIP")),
m_algo(useLegacyError ? Algo::legacy : (maxChgOneMIP < 0 ? Algo::mergeCK : Algo::chargeCK)) {
mLC_P[0] = conf.existsAs<double>("mLC_P0") ? conf.getParameter<double>("mLC_P0") : -.326;
mLC_P[1] = conf.existsAs<double>("mLC_P1") ? conf.getParameter<double>("mLC_P1") : .618;
mLC_P[2] = conf.existsAs<double>("mLC_P2") ? conf.getParameter<double>("mLC_P2") : .300;

mHC_P[SiStripDetId::TIB - 3][0] = conf.existsAs<double>("mTIB_P0") ? conf.getParameter<double>("mTIB_P0") : -.742;
mHC_P[SiStripDetId::TIB - 3][1] = conf.existsAs<double>("mTIB_P1") ? conf.getParameter<double>("mTIB_P1") : .202;
mHC_P[SiStripDetId::TID - 3][0] = conf.existsAs<double>("mTID_P0") ? conf.getParameter<double>("mTID_P0") : -1.026;
mHC_P[SiStripDetId::TID - 3][1] = conf.existsAs<double>("mTID_P1") ? conf.getParameter<double>("mTID_P1") : .253;
mHC_P[SiStripDetId::TOB - 3][0] = conf.existsAs<double>("mTOB_P0") ? conf.getParameter<double>("mTOB_P0") : -1.427;
mHC_P[SiStripDetId::TOB - 3][1] = conf.existsAs<double>("mTOB_P1") ? conf.getParameter<double>("mTOB_P1") : .433;
mHC_P[SiStripDetId::TEC - 3][0] = conf.existsAs<double>("mTEC_P0") ? conf.getParameter<double>("mTEC_P0") : -1.885;
mHC_P[SiStripDetId::TEC - 3][1] = conf.existsAs<double>("mTEC_P1") ? conf.getParameter<double>("mTEC_P1") : .471;
mLC_P[0] = conf.getParameter<double>("mLC_P0");
mLC_P[1] = conf.getParameter<double>("mLC_P1");
mLC_P[2] = conf.getParameter<double>("mLC_P2");

mHC_P[SiStripDetId::TIB - 3][0] = conf.getParameter<double>("mTIB_P0");
mHC_P[SiStripDetId::TIB - 3][1] = conf.getParameter<double>("mTIB_P1");
mHC_P[SiStripDetId::TID - 3][0] = conf.getParameter<double>("mTID_P0");
mHC_P[SiStripDetId::TID - 3][1] = conf.getParameter<double>("mTID_P1");
mHC_P[SiStripDetId::TOB - 3][0] = conf.getParameter<double>("mTOB_P0");
mHC_P[SiStripDetId::TOB - 3][1] = conf.getParameter<double>("mTOB_P1");
mHC_P[SiStripDetId::TEC - 3][0] = conf.getParameter<double>("mTEC_P0");
mHC_P[SiStripDetId::TEC - 3][1] = conf.getParameter<double>("mTEC_P1");
}

void StripCPEfromTrackAngle::fillPSetDescription(edm::ParameterSetDescription& desc) {
desc.add<bool>("useLegacyError", true);
desc.add<double>("maxChgOneMIP", -6000.);
desc.add<double>("mLC_P0", -.326);
desc.add<double>("mLC_P1", .618);
desc.add<double>("mLC_P2", .300);
desc.add<double>("mTIB_P0", -.742);
desc.add<double>("mTIB_P1", .202);
desc.add<double>("mTID_P0", -1.026);
desc.add<double>("mTID_P1", .253);
desc.add<double>("mTOB_P0", -1.427);
desc.add<double>("mTOB_P1", .433);
desc.add<double>("mTEC_P0", -1.885);
desc.add<double>("mTEC_P1", .471);
}

float StripCPEfromTrackAngle::stripErrorSquared(const unsigned N,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ std::unique_ptr<TransientTrackingRecHitBuilder> MuonTransientTrackingRecHitBuild

void MuonTransientTrackingRecHitBuilderESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.add<string>("ComponentName");
descriptions.addDefault(desc);
desc.add<string>("ComponentName", "MuonRecHitBuilder");
descriptions.addWithDefaultLabel(desc);
}

DEFINE_FWK_EVENTSETUP_MODULE(MuonTransientTrackingRecHitBuilderESProducer);
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
import FWCore.ParameterSet.Config as cms

MuonTransientTrackingRecHitBuilderESProducer = cms.ESProducer("MuonTransientTrackingRecHitBuilderESProducer",
ComponentName = cms.string('MuonRecHitBuilder')
)



from RecoMuon.TransientTrackingRecHit.muonTransientTrackingRecHitBuilderESProducer_cfi import muonTransientTrackingRecHitBuilderESProducer as _muonTransientTrackingRecHitBuilderESProducer
MuonTransientTrackingRecHitBuilderESProducer = _muonTransientTrackingRecHitBuilderESProducer.clone()
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
#include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h"
#include "MagneticField/Engine/interface/MagneticField.h"
#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
#include "MagneticField/VolumeBasedEngine/interface/VolumeBasedMagneticField.h"
#include <string>
#include <memory>

#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/ModuleFactory.h"
#include "FWCore/Framework/interface/ESProducer.h"

#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/ModuleFactory.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include <string>
#include <memory>

#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "MagneticField/Engine/interface/MagneticField.h"
#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
#include "MagneticField/VolumeBasedEngine/interface/VolumeBasedMagneticField.h"
#include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h"
#include "TrackingTools/Records/interface/TrackingComponentsRecord.h"

class SteppingHelixPropagatorESProducer : public edm::ESProducer {
public:
SteppingHelixPropagatorESProducer(const edm::ParameterSet& p);
~SteppingHelixPropagatorESProducer() override;
~SteppingHelixPropagatorESProducer() override = default;
std::unique_ptr<Propagator> produce(const TrackingComponentsRecord&);

static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

private:
const edm::ParameterSet pset_;
edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magToken_;
Expand All @@ -41,8 +42,6 @@ SteppingHelixPropagatorESProducer::SteppingHelixPropagatorESProducer(const edm::
}
}

SteppingHelixPropagatorESProducer::~SteppingHelixPropagatorESProducer() {}

std::unique_ptr<Propagator> SteppingHelixPropagatorESProducer::produce(const TrackingComponentsRecord& iRecord) {
// if (_propagator){
// delete _propagator;
Expand Down Expand Up @@ -132,6 +131,30 @@ std::unique_ptr<Propagator> SteppingHelixPropagatorESProducer::produce(const Tra
return shProp;
}

void SteppingHelixPropagatorESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.add<std::string>("ComponentName", "SteppingHelixPropagator");
desc.add<bool>("NoErrorPropagation", false);
desc.add<std::string>("PropagationDirection", "alongMomentum");
desc.add<bool>("useTuningForL2Speed", false);
desc.add<bool>("useIsYokeFlag", true);
desc.add<double>("endcapShiftInZNeg", 0.0);
desc.add<bool>("SetVBFPointer", false);
desc.add<bool>("AssumeNoMaterial", false);
desc.add<double>("endcapShiftInZPos", 0.0);
desc.add<bool>("useInTeslaFromMagField", false);
desc.add<std::string>("VBFName", "VolumeBasedMagneticField");
desc.add<bool>("useEndcapShiftsInZ", false);
desc.add<bool>("sendLogWarning", false);
desc.add<bool>("useMatVolumes", true);
desc.add<bool>("debug", false);
desc.add<bool>("ApplyRadX0Correction", true)
->setComment("this sort of works but assumes a measurement at propagation origin ");
desc.add<bool>("useMagVolumes", true);
desc.add<bool>("returnTangentPlane", true);
descriptions.addWithDefaultLabel(desc);
}

#include "FWCore/Utilities/interface/typelookup.h"

DEFINE_FWK_EVENTSETUP_MODULE(SteppingHelixPropagatorESProducer);
Loading