◆ Charge
◆ TrackingRegionsFromSuperClustersProducer()
Definition at line 146 of file TrackingRegionsFromSuperClustersProducer.cc.
168 auto superClustersTags = regionPSet.
getParameter<std::vector<edm::InputTag>>(
"superClusters");
179 for (
const auto&
tag : superClustersTags) {
References AlignmentProducer_cff::beamSpotTag, beamSpotToken_, looper::cfg, defaultZ_, deltaEtaRegion_, deltaPhiRegion_, edm::ParameterSet::getParameter(), RectangularEtaPhiTrackingRegion::kNever, measTrackerEventToken_, minBSDeltaZ_, nrSigmaForBSDeltaZ_, originHalfLength_, originRadius_, precise_, ptMin_, AlCaHLTBitMon_QueryRunRegistry::string, superClustersTokens_, GlobalPosition_Frontier_DevDB_cff::tag, useZInBeamspot_, useZInVertex_, validateConfigSettings(), verticesToken_, and whereToUseMeasTracker_.
◆ ~TrackingRegionsFromSuperClustersProducer()
TrackingRegionsFromSuperClustersProducer::~TrackingRegionsFromSuperClustersProducer |
( |
| ) |
|
|
inlineoverride |
◆ createTrackingRegion()
Definition at line 278 of file TrackingRegionsFromSuperClustersProducer.cc.
289 return std::make_unique<RectangularEtaPhiTrackingRegion>(fts.momentum(),
References ALCARECOTkAlJpsiMuMu_cff::charge, deltaEtaRegion_, deltaPhiRegion_, HCALHighEnergyHPDFilter_cfi::energy, reco::CaloCluster::energy(), trackingTools::ftsFromVertexToPoint(), originRadius_, reco::CaloCluster::position(), precise_, ptMin_, and whereToUseMeasTracker_.
Referenced by regions().
◆ fillDescriptions()
Definition at line 184 of file TrackingRegionsFromSuperClustersProducer.cc.
187 desc.
add<
double>(
"ptMin", 1.5);
188 desc.add<
double>(
"originRadius", 0.2);
189 desc.add<
double>(
"originHalfLength", 15.0)
190 ->setComment(
"z range is +/- this value except when using the beamspot (useZInBeamspot=true)");
191 desc.add<
double>(
"deltaPhiRegion", 0.4);
192 desc.add<
double>(
"deltaEtaRegion", 0.1);
193 desc.add<
bool>(
"useZInVertex",
false)
194 ->setComment(
"use the leading vertex position +/-orginHalfLength, mutually exclusive with useZInBeamspot");
195 desc.add<
bool>(
"useZInBeamspot",
true)
197 "use the beamspot position +/- nrSigmaForBSDeltaZ* sigmaZ_{bs}, mutually exclusive with useZInVertex");
198 desc.add<
double>(
"nrSigmaForBSDeltaZ", 3.0)
199 ->setComment(
"# of sigma to extend the z region when using the beamspot, only active if useZInBeamspot=true");
200 desc.add<
double>(
"minBSDeltaZ", 0.0)
201 ->setComment(
"a minimum value of the beamspot sigma z to use, only active if useZInBeamspot=true");
202 desc.add<
double>(
"defaultZ", 0.)
203 ->setComment(
"the default z position, only used if useZInVertex and useZInBeamspot are both false");
204 desc.add<
bool>(
"precise",
true);
205 desc.add<
std::string>(
"whereToUseMeasTracker",
"kNever");
207 ->setComment(
"only used if useZInBeamspot is true");
209 desc.add<std::vector<edm::InputTag>>(
"superClusters",
210 std::vector<edm::InputTag>{
edm::InputTag{
"hltEgammaSuperClustersToPixelMatch"}});
216 descriptions.
add(
"trackingRegionsFromSuperClusters", descRegion);
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), HLT_2018_cff::InputTag, edm::ParameterDescriptionNode::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.
◆ getVtxPos()
GlobalPoint TrackingRegionsFromSuperClustersProducer::getVtxPos |
( |
const edm::Event & |
iEvent, |
|
|
double & |
deltaZVertex |
|
) |
| const |
|
private |
Definition at line 246 of file TrackingRegionsFromSuperClustersProducer.cc.
251 if (!verticesHandle->empty()) {
253 const auto&
pv = verticesHandle->front();
265 const double bsSigmaZ =
std::sqrt(beamSpotHandle->sigmaZ() * beamSpotHandle->sigmaZ() +
266 beamSpotHandle->sigmaZ0Error() * beamSpotHandle->sigmaZ0Error());
References beamSpotToken_, qcdUeDQM_cfi::bsPos, defaultZ_, iEvent, SiStripPI::max, minBSDeltaZ_, nrSigmaForBSDeltaZ_, originHalfLength_, MetAnalyzer::pv(), fftjetvertexadder_cfi::sigmaZ, mathSSE::sqrt(), useZInBeamspot_, useZInVertex_, and verticesToken_.
Referenced by regions().
◆ regions()
Implements TrackingRegionProducer.
Definition at line 219 of file TrackingRegionsFromSuperClustersProducer.cc.
223 double deltaZVertex = 0;
234 auto superClustersHandle = getHandle(
iEvent, superClustersToken);
235 for (
auto& superClusterRef : *superClustersHandle) {
References createTrackingRegion(), edm::EventSetup::get(), get, getVtxPos(), iEvent, edm::EDGetTokenT< T >::isUninitialized(), measTrackerEventToken_, NEG, POS, superClustersTokens_, and hltSeeds_cff::trackingRegions.
◆ validateConfigSettings()
void TrackingRegionsFromSuperClustersProducer::validateConfigSettings |
( |
| ) |
const |
|
private |
◆ beamSpotToken_
◆ defaultZ_
double TrackingRegionsFromSuperClustersProducer::defaultZ_ |
|
private |
◆ deltaEtaRegion_
double TrackingRegionsFromSuperClustersProducer::deltaEtaRegion_ |
|
private |
◆ deltaPhiRegion_
double TrackingRegionsFromSuperClustersProducer::deltaPhiRegion_ |
|
private |
◆ measTrackerEventToken_
◆ minBSDeltaZ_
double TrackingRegionsFromSuperClustersProducer::minBSDeltaZ_ |
|
private |
◆ nrSigmaForBSDeltaZ_
double TrackingRegionsFromSuperClustersProducer::nrSigmaForBSDeltaZ_ |
|
private |
◆ originHalfLength_
double TrackingRegionsFromSuperClustersProducer::originHalfLength_ |
|
private |
◆ originRadius_
double TrackingRegionsFromSuperClustersProducer::originRadius_ |
|
private |
◆ precise_
bool TrackingRegionsFromSuperClustersProducer::precise_ |
|
private |
◆ ptMin_
double TrackingRegionsFromSuperClustersProducer::ptMin_ |
|
private |
◆ superClustersTokens_
◆ useZInBeamspot_
bool TrackingRegionsFromSuperClustersProducer::useZInBeamspot_ |
|
private |
◆ useZInVertex_
bool TrackingRegionsFromSuperClustersProducer::useZInVertex_ |
|
private |
◆ verticesToken_
◆ whereToUseMeasTracker_
std::unique_ptr< TrackingRegion > createTrackingRegion(const reco::SuperCluster &superCluster, const GlobalPoint &vtxPos, const double deltaZVertex, const Charge charge, const MeasurementTrackerEvent *measTrackerEvent, const MagneticField &magField) const