CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes
JetCoreMCtruthSeedGenerator Class Reference

#include <trackJet/JetCoreMCtruthSeedGenerator/plugins/JetCoreMCtruthSeedGenerator.cc>

Inheritance diagram for JetCoreMCtruthSeedGenerator:
edm::one::EDProducer< edm::one::SharedResources > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 JetCoreMCtruthSeedGenerator (const edm::ParameterSet &)
 
 ~JetCoreMCtruthSeedGenerator () override
 
- Public Member Functions inherited from edm::one::EDProducer< edm::one::SharedResources >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Public Attributes

bool inclusiveConeSeed_
 
double jetEta_
 
double jetPt_
 
double pitchX_ = 0.01
 
double pitchY_ = 0.015
 

Static Public Attributes

static constexpr int jetDimX = 30
 
static constexpr int jetDimY = 30
 

Private Member Functions

void beginJob () override
 
std::vector< PSimHitcoreHitsFilling (std::vector< PSimHit >, const GeomDet *, GlobalVector, const reco::Vertex &)
 
std::pair< std::vector< SimTrack >, std::vector< SimVertex > > coreTracksFilling (std::vector< PSimHit >, const std::vector< SimTrack >, const std::vector< SimVertex >)
 
std::pair< std::vector< SimTrack >, std::vector< SimVertex > > coreTracksFillingDeltaR (const std::vector< SimTrack >, const std::vector< SimVertex >, const GeomDet *, const reco::Candidate &, const reco::Vertex &)
 
const GeomDetDetectorSelector (int, const reco::Candidate &, GlobalVector, const reco::Vertex &, const TrackerTopology *const, const edmNew::DetSetVector< SiPixelCluster > &)
 
void endJob () override
 
std::pair< bool, Basic3DVector< float > > findIntersection (const GlobalVector &, const reco::Candidate::Point &, const GeomDet *)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
std::vector< std::array< double, 5 > > seedParFilling (std::pair< std::vector< SimTrack >, std::vector< SimVertex >>, const GeomDet *, const reco::Candidate &)
 
std::vector< GlobalVectorsplittedClusterDirections (const reco::Candidate &, const TrackerTopology *const, const PixelClusterParameterEstimator *, const reco::Vertex &, int, const edmNew::DetSetVector< SiPixelCluster > &)
 

Private Attributes

double centralMIPCharge_
 
double chargeFracMin_
 
edm::EDGetTokenT< edm::View< reco::Candidate > > cores_
 
double deltaR_
 
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecordgeomEsToken_
 
edm::ESHandle< GlobalTrackingGeometrygeometry_
 
edm::Handle< edmNew::DetSetVector< SiPixelCluster > > inputPixelClusters_
 
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClusters_
 
const edm::ESGetToken< PixelClusterParameterEstimator, TkPixelCPERecordpixelCPEEsToken_
 
edm::EDGetTokenT< std::vector< PSimHit > > PSimHitToken_
 
double ptMin_
 
edm::Handle< std::vector< PSimHit > > simhits_
 
edm::EDGetTokenT< std::vector< SimTrack > > simtracksToken_
 
edm::EDGetTokenT< std::vector< SimVertex > > simvertexToken_
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtTopoEsToken_
 
edm::EDGetTokenT< std::vector< reco::Vertex > > vertices_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Description: [one line class summary] Implementation: [Notes on implementation]

Definition at line 77 of file JetCoreMCtruthSeedGenerator.cc.

Constructor & Destructor Documentation

◆ JetCoreMCtruthSeedGenerator()

JetCoreMCtruthSeedGenerator::JetCoreMCtruthSeedGenerator ( const edm::ParameterSet iConfig)
explicit

Definition at line 159 of file JetCoreMCtruthSeedGenerator.cc.

163  vertices_(consumes<reco::VertexCollection>(iConfig.getParameter<edm::InputTag>("vertices"))),
167  simtracksToken_(consumes<std::vector<SimTrack>>(iConfig.getParameter<edm::InputTag>("simTracks"))),
168  simvertexToken_(consumes<std::vector<SimVertex>>(iConfig.getParameter<edm::InputTag>("simVertex"))),
169  PSimHitToken_(consumes<std::vector<PSimHit>>(iConfig.getParameter<edm::InputTag>("simHit"))),
170  ptMin_(iConfig.getParameter<double>("ptMin")),
171  deltaR_(iConfig.getParameter<double>("deltaR")),
172  chargeFracMin_(iConfig.getParameter<double>("chargeFractionMin")),
173  centralMIPCharge_(iConfig.getParameter<double>("centralMIPCharge")) {
174  produces<TrajectorySeedCollection>();
175  produces<reco::TrackCollection>();
176 }

◆ ~JetCoreMCtruthSeedGenerator()

JetCoreMCtruthSeedGenerator::~JetCoreMCtruthSeedGenerator ( )
override

Definition at line 178 of file JetCoreMCtruthSeedGenerator.cc.

178 {}

Member Function Documentation

◆ beginJob()

void JetCoreMCtruthSeedGenerator::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 495 of file JetCoreMCtruthSeedGenerator.cc.

495 {}

◆ coreHitsFilling()

std::vector< PSimHit > JetCoreMCtruthSeedGenerator::coreHitsFilling ( std::vector< PSimHit simhits,
const GeomDet globDet,
GlobalVector  bigClustDir,
const reco::Vertex jetVertex 
)
private

Definition at line 380 of file JetCoreMCtruthSeedGenerator.cc.

383  {
384  std::vector<PSimHit> goodSimHit;
385  for (const auto& sh : simhits) {
386  const GeomDet* det = geometry_->idToDet(sh.detUnitId());
387  if (det != globDet)
388  continue;
389  std::pair<bool, Basic3DVector<float>> interPair =
390  findIntersection(bigClustDir, (reco::Candidate::Point)jetVertex.position(), det);
391  if (interPair.first == false)
392  continue;
393  Basic3DVector<float> inter = interPair.second;
394  auto localInter = det->specificSurface().toLocal((GlobalPoint)inter);
395 
396  if (std::abs((sh.localPosition()).x() - localInter.x()) / pitchX_ <= jetDimX / 2 &&
397  std::abs((sh.localPosition()).y() - localInter.y()) / pitchY_ <= jetDimY / 2) {
398  goodSimHit.emplace_back(sh);
399  }
400  }
401  return goodSimHit;
402 }

References funct::abs(), findIntersection(), geometry_, GlobalTrackingGeometry::idToDet(), inter, jetDimX, jetDimY, pitchX_, pitchY_, reco::Vertex::position(), HLTBitAnalyser_cfi::simhits, GeomDet::specificSurface(), GloballyPositioned< T >::toLocal(), x, and y.

Referenced by produce().

◆ coreTracksFilling()

std::pair< std::vector< SimTrack >, std::vector< SimVertex > > JetCoreMCtruthSeedGenerator::coreTracksFilling ( std::vector< PSimHit goodSimHit,
const std::vector< SimTrack simtracksVector,
const std::vector< SimVertex simvertexVector 
)
private

Definition at line 404 of file JetCoreMCtruthSeedGenerator.cc.

407  {
408  std::vector<SimTrack> goodSimTrk;
409  std::vector<SimVertex> goodSimVtx;
410 
411  for (uint j = 0; j < simtracksVector.size(); j++) {
412  for (std::vector<PSimHit>::const_iterator it = goodSimHit.begin(); it != goodSimHit.end(); ++it) {
413  SimTrack st = simtracksVector[j];
414  if (st.trackId() == (*it).trackId()) {
415  for (uint v = 0; v < simvertexVector.size(); v++) {
416  SimVertex sv = simvertexVector[v];
417  if ((int)sv.vertexId() == (int)st.vertIndex()) {
418  goodSimTrk.emplace_back(st);
419  goodSimVtx.emplace_back(sv);
420  }
421  }
422  }
423  }
424  }
425  std::pair<std::vector<SimTrack>, std::vector<SimVertex>> output(goodSimTrk, goodSimVtx);
426  return output;
427 }

References createfilelist::int, dqmiolumiharvest::j, convertSQLitetoXML_cfg::output, pfDeepBoostedJetPreprocessParams_cfi::sv, CoreSimTrack::trackId(), parallelization::uint, findQualityFiles::v, and SimTrack::vertIndex().

Referenced by produce().

◆ coreTracksFillingDeltaR()

std::pair< std::vector< SimTrack >, std::vector< SimVertex > > JetCoreMCtruthSeedGenerator::coreTracksFillingDeltaR ( const std::vector< SimTrack simtracksVector,
const std::vector< SimVertex simvertexVector,
const GeomDet globDet,
const reco::Candidate jet,
const reco::Vertex jetVertex 
)
private

Definition at line 429 of file JetCoreMCtruthSeedGenerator.cc.

434  {
435  std::vector<SimTrack> goodSimTrk;
436  std::vector<SimVertex> goodSimVtx;
437 
438  GlobalVector jetDir(jet.px(), jet.py(), jet.pz());
439 
440  for (uint j = 0; j < simtracksVector.size(); j++) {
441  SimTrack st = simtracksVector[j];
442  GlobalVector trkDir(st.momentum().Px(), st.momentum().Py(), st.momentum().Pz());
443  if (st.charge() == 0)
444  continue;
445  if (Geom::deltaR(jetDir, trkDir) < deltaR_) {
446  for (uint v = 0; v < simvertexVector.size(); v++) {
447  SimVertex sv = simvertexVector[v];
448  if ((int)sv.vertexId() == (int)st.vertIndex()) {
449  goodSimTrk.emplace_back(st);
450  goodSimVtx.emplace_back(sv);
451  }
452  }
453  }
454  }
455  std::pair<std::vector<SimTrack>, std::vector<SimVertex>> output(goodSimTrk, goodSimVtx);
456  return output;
457 }

References CoreSimTrack::charge(), PbPb_ZMuSkimMuonDPG_cff::deltaR, deltaR_, createfilelist::int, dqmiolumiharvest::j, metsig::jet, CoreSimTrack::momentum(), convertSQLitetoXML_cfg::output, pfDeepBoostedJetPreprocessParams_cfi::sv, parallelization::uint, findQualityFiles::v, and SimTrack::vertIndex().

Referenced by produce().

◆ DetectorSelector()

const GeomDet * JetCoreMCtruthSeedGenerator::DetectorSelector ( int  llay,
const reco::Candidate jet,
GlobalVector  jetDir,
const reco::Vertex jetVertex,
const TrackerTopology * const  tTopo,
const edmNew::DetSetVector< SiPixelCluster > &  clusters 
)
private

Definition at line 316 of file JetCoreMCtruthSeedGenerator.cc.

321  {
322  struct trkNumCompare {
323  bool operator()(std::pair<int, const GeomDet*> x, std::pair<int, const GeomDet*> y) const {
324  return x.first > y.first;
325  }
326  };
327  std::set<std::pair<int, const GeomDet*>, trkNumCompare> track4detSet;
328 
329  double minDist = 0.0;
330  const GeomDet* output = nullptr;
331  for (const auto& detset : clusters) {
332  auto aClusterID = detset.id();
333  if (DetId(aClusterID).subdetId() != 1)
334  continue;
335  const GeomDet* det = geometry_->idToDet(aClusterID);
336  int lay = tTopo->layer(det->geographicalId());
337  if (lay != llay)
338  continue;
339  std::pair<bool, Basic3DVector<float>> interPair =
340  findIntersection(jetDir, (reco::Candidate::Point)jetVertex.position(), det);
341  if (interPair.first == false)
342  continue;
343  Basic3DVector<float> inter = interPair.second;
344  auto localInter = det->specificSurface().toLocal((GlobalPoint)inter);
345  if ((minDist == 0.0 || std::abs(localInter.x()) < minDist) && std::abs(localInter.y()) < 3.35) {
346  minDist = std::abs(localInter.x());
347  output = det;
348  }
349  } //detset
350  return output;
351 }

References funct::abs(), bsc_activity_cfg::clusters, findIntersection(), GeomDet::geographicalId(), geometry_, GlobalTrackingGeometry::idToDet(), inter, TrackerTopology::layer(), convertSQLitetoXML_cfg::output, reco::Vertex::position(), GeomDet::specificSurface(), GloballyPositioned< T >::toLocal(), x, and y.

Referenced by produce().

◆ endJob()

void JetCoreMCtruthSeedGenerator::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 498 of file JetCoreMCtruthSeedGenerator.cc.

498 {}

◆ fillDescriptions()

void JetCoreMCtruthSeedGenerator::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 501 of file JetCoreMCtruthSeedGenerator.cc.

501  {
503  desc.add<edm::InputTag>("vertices", edm::InputTag("offlinePrimaryVertices"));
504  desc.add<edm::InputTag>("pixelClusters", edm::InputTag("siPixelClustersPreSplitting"));
505  desc.add<edm::InputTag>("cores", edm::InputTag("jetsForCoreTracking"));
506  desc.add<double>("ptMin", 300);
507  desc.add<double>("deltaR", 0.3);
508  desc.add<double>("chargeFractionMin", 18000.0);
509  desc.add<edm::InputTag>("simTracks", edm::InputTag("g4SimHits"));
510  desc.add<edm::InputTag>("simVertex", edm::InputTag("g4SimHits"));
511  desc.add<edm::InputTag>("simHit", edm::InputTag("g4SimHits", "TrackerHitsPixelBarrelLowTof"));
512  desc.add<double>("centralMIPCharge", 2.);
513  desc.add<std::string>("pixelCPE", "PixelCPEGeneric");
514  descriptions.add("JetCoreMCtruthSeedGenerator", desc);
515 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ findIntersection()

std::pair< bool, Basic3DVector< float > > JetCoreMCtruthSeedGenerator::findIntersection ( const GlobalVector dir,
const reco::Candidate::Point vertex,
const GeomDet det 
)
private

Definition at line 306 of file JetCoreMCtruthSeedGenerator.cc.

307  {
309  Basic3DVector<float>(dir.x(), dir.y(), dir.z()));
310 
311  std::pair<bool, Basic3DVector<float>> pos = vertexPlane.position(det->specificSurface());
312 
313  return pos;
314 }

References DeadROC_duringRun::dir, StraightLinePlaneCrossing::position(), GeomDet::specificSurface(), and bphysicsOniaDQM_cfi::vertex.

Referenced by coreHitsFilling(), DetectorSelector(), and seedParFilling().

◆ produce()

void JetCoreMCtruthSeedGenerator::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::one::EDProducerBase.

Definition at line 180 of file JetCoreMCtruthSeedGenerator.cc.

180  {
181  auto result = std::make_unique<TrajectorySeedCollection>();
182  auto resultTracks = std::make_unique<reco::TrackCollection>();
183 
184  using namespace edm;
185  using namespace reco;
186 
187  geometry_ = iSetup.getHandle(geomEsToken_);
188 
189  const auto& inputPixelClusters_ = iEvent.get(pixelClusters_);
190  const auto& simtracksVector = iEvent.get(simtracksToken_);
191  const auto& simvertexVector = iEvent.get(simvertexToken_);
192  const auto& simhits_ = iEvent.get(PSimHitToken_);
193  const auto& vertices = iEvent.get(vertices_);
194  const auto& cores = iEvent.get(cores_);
195 
197  const TrackerTopology* const tTopo = &iSetup.getData(tTopoEsToken_);
198 
199  auto output = std::make_unique<edmNew::DetSetVector<SiPixelCluster>>();
200 
201  for (const auto& jet : cores) { //jet loop
202 
203  if (jet.pt() > ptMin_) {
204  std::set<long long int> ids;
205  const reco::Vertex& jetVertex = vertices[0];
206 
207  std::vector<GlobalVector> splitClustDirSet =
209  if (splitClustDirSet.empty()) { //if layer 1 is broken find direcitons on layer 2
210  splitClustDirSet = splittedClusterDirections(jet, tTopo, pixelCPE, jetVertex, 2, inputPixelClusters_);
211  }
212  if (inclusiveConeSeed_)
213  splitClustDirSet.clear();
214  splitClustDirSet.emplace_back(GlobalVector(jet.px(), jet.py(), jet.pz()));
215 
216  for (int cc = 0; cc < (int)splitClustDirSet.size(); cc++) {
217  GlobalVector bigClustDir = splitClustDirSet[cc];
218 
219  jetEta_ = jet.eta();
220  jetPt_ = jet.pt();
221 
222  const auto& jetVert = jetVertex; //trackInfo filling
223 
224  std::vector<PSimHit> goodSimHit;
225 
226  const GeomDet* globDet = DetectorSelector(
227  2, jet, bigClustDir, jetVertex, tTopo, inputPixelClusters_); //select detector mostly hitten by the jet
228 
229  if (globDet == nullptr)
230  continue;
231 
232  std::pair<std::vector<SimTrack>, std::vector<SimVertex>> goodSimTkVx;
233 
234  if (inclusiveConeSeed_) {
236  simtracksVector, simvertexVector, globDet, jet, jetVert);
237  } else {
238  std::vector<PSimHit> goodSimHit =
239  JetCoreMCtruthSeedGenerator::coreHitsFilling(simhits_, globDet, bigClustDir, jetVertex);
240  goodSimTkVx = JetCoreMCtruthSeedGenerator::coreTracksFilling(goodSimHit, simtracksVector, simvertexVector);
241  }
242  edm::LogInfo("PerfectSeeder") << "seed number in deltaR cone =" << goodSimTkVx.first.size();
243 
244  std::vector<std::array<double, 5>> seedVector =
245  JetCoreMCtruthSeedGenerator::seedParFilling(goodSimTkVx, globDet, jet);
246  edm::LogInfo("PerfectSeeder") << "seedVector.size()=" << seedVector.size();
247 
248  for (uint tk = 0; tk < seedVector.size(); tk++) {
249  for (int pp = 0; pp < 5; pp++) {
250  edm::LogInfo("PerfectSeeder")
251  << "seed " << tk << ", int par " << pp << "=" << seedVector[tk][pp] << std::endl;
252  }
253  LocalPoint localSeedPoint = LocalPoint(seedVector[tk][0], seedVector[tk][1], 0);
254  double track_theta = 2 * std::atan(std::exp(-seedVector[tk][2]));
255  double track_phi = seedVector[tk][3];
256  double pt = 1. / seedVector[tk][4];
257 
258  double normdirR = pt / sin(track_theta);
259  const GlobalVector globSeedDir(
260  GlobalVector::Polar(Geom::Theta<double>(track_theta), Geom::Phi<double>(track_phi), normdirR));
261  LocalVector localSeedDir = globDet->surface().toLocal(globSeedDir);
262 
263  int64_t seedid = (int64_t(localSeedPoint.x() * 200.) << 0) + (int64_t(localSeedPoint.y() * 200.) << 16) +
264  (int64_t(seedVector[tk][2] * 400.) << 32) + (int64_t(track_phi * 400.) << 48);
265  if (ids.count(seedid) != 0) {
266  edm::LogInfo("PerfectSeeder") << "seed not removed with DeepCore cleaner";
267  }
268  ids.insert(seedid);
269 
270  //Covariance matrix, currently the hadrcoded variances = NN residuals width (see documentation of DeepCore)
271  //in general: if are not compared with DeepCore but another algo-->to state-of-the art errors
272  //The "perfect seeds" has no intrinsic error, but the CTF needs errors to propagate...
273  float em[15] = {
274  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // (see LocalTrajectoryError for details), order as follow:
275  em[0] = 0.15 * 0.15; // q/pt
276  em[2] = 0.5e-5; // dxdz
277  em[5] = 0.5e-5; // dydz
278  em[9] = 2e-5; // x
279  em[14] = 2e-5; // y
280  long int detId = globDet->geographicalId();
281  LocalTrajectoryParameters localParam(localSeedPoint, localSeedDir, TrackCharge(1));
282  result->emplace_back(TrajectorySeed(PTrajectoryStateOnDet(localParam, pt, em, detId, /*surfaceSide*/ 0),
285 
286  GlobalPoint globalSeedPoint = globDet->surface().toGlobal(localSeedPoint);
288  resultTracks->emplace_back(
289  reco::Track(1,
290  1,
291  reco::Track::Point(globalSeedPoint.x(), globalSeedPoint.y(), globalSeedPoint.z()),
292  reco::Track::Vector(globSeedDir.x(), globSeedDir.y(), globSeedDir.z()),
293  1,
294  mm));
295  edm::LogInfo("PerfectSeeder") << "seed " << tk << ", out, pt=" << pt << ", eta=" << globSeedDir.eta()
296  << ", phi=" << globSeedDir.phi() << std::endl;
297  }
298 
299  } //bigcluster
300  } //jet > pt
301  } //jet
302  iEvent.put(std::move(result));
303  iEvent.put(std::move(resultTracks));
304 }

References alongMomentum, coreHitsFilling(), HLT_FULL_cff::cores, cores_, coreTracksFilling(), coreTracksFillingDeltaR(), DetectorSelector(), MillePedeFileConverter_cfg::e, PV3DBase< T, PVType, FrameType >::eta(), JetChargeProducer_cfi::exp, GeomDet::geographicalId(), geomEsToken_, geometry_, edm::EventSetup::getData(), edm::EventSetup::getHandle(), iEvent, inclusiveConeSeed_, inputPixelClusters_, createfilelist::int, metsig::jet, jetEta_, jetPt_, eostools::move(), convertSQLitetoXML_cfg::output, PV3DBase< T, PVType, FrameType >::phi(), pixelClusters_, HLT_FULL_cff::pixelCPE, pixelCPEEsToken_, createTree::pp, PSimHitToken_, DiDispStaMuonMonitor_cfi::pt, ptMin_, mps_fire::result, seedParFilling(), simhits_, simtracksToken_, simvertexToken_, funct::sin(), splittedClusterDirections(), GeomDet::surface(), Surface::toGlobal(), GloballyPositioned< T >::toLocal(), tTopoEsToken_, parallelization::uint, pwdgSkimBPark_cfi::vertices, vertices_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ seedParFilling()

std::vector< std::array< double, 5 > > JetCoreMCtruthSeedGenerator::seedParFilling ( std::pair< std::vector< SimTrack >, std::vector< SimVertex >>  goodSimTkVx,
const GeomDet globDet,
const reco::Candidate jet 
)
private

Definition at line 459 of file JetCoreMCtruthSeedGenerator.cc.

462  {
463  std::vector<std::array<double, 5>> output;
464  std::vector<SimTrack> goodSimTrk = goodSimTkVx.first;
465  std::vector<SimVertex> goodSimVtx = goodSimTkVx.second;
466 
467  edm::LogInfo("PerfectSeeder") << "goodSimTrk size" << goodSimTrk.size();
468  for (uint j = 0; j < goodSimTrk.size(); j++) {
469  SimTrack st = goodSimTrk[j];
470  SimVertex sv = goodSimVtx[j];
471  GlobalVector trkMom(st.momentum().x(), st.momentum().y(), st.momentum().z());
472  GlobalPoint trkPos(sv.position().x(), sv.position().y(), sv.position().z());
473  edm::LogInfo("PerfectSeeder") << "seed " << j << ", very int pt" << st.momentum().Pt()
474  << ", eta=" << st.momentum().Eta() << ", phi=" << st.momentum().Phi()
475  << "------ internal point=" << trkMom.x() << "," << trkMom.y() << "," << trkMom.z()
476  << "," << trkPos.x() << "," << trkPos.y() << "," << trkPos.z() << std::endl;
477 
478  std::pair<bool, Basic3DVector<float>> trkInterPair;
479  trkInterPair = findIntersection(trkMom, (reco::Candidate::Point)trkPos, globDet);
480  if (trkInterPair.first == false) {
481  GlobalVector jetDir(jet.px(), jet.py(), jet.pz());
482  continue;
483  }
484  Basic3DVector<float> trkInter = trkInterPair.second;
485 
486  auto localTrkInter = globDet->specificSurface().toLocal((GlobalPoint)trkInter); //trkInter->trkPos if par at vertex
487  std::array<double, 5> tkPar{
488  {localTrkInter.x(), localTrkInter.y(), st.momentum().Eta(), st.momentum().Phi(), 1 / st.momentum().Pt()}};
489  output.emplace_back(tkPar);
490  }
491  return output;
492 }

References findIntersection(), dqmiolumiharvest::j, metsig::jet, CoreSimTrack::momentum(), convertSQLitetoXML_cfg::output, GeomDet::specificSurface(), pfDeepBoostedJetPreprocessParams_cfi::sv, GloballyPositioned< T >::toLocal(), parallelization::uint, and PV3DBase< T, PVType, FrameType >::x().

Referenced by produce().

◆ splittedClusterDirections()

std::vector< GlobalVector > JetCoreMCtruthSeedGenerator::splittedClusterDirections ( const reco::Candidate jet,
const TrackerTopology * const  tTopo,
const PixelClusterParameterEstimator pixelCPE,
const reco::Vertex jetVertex,
int  layer,
const edmNew::DetSetVector< SiPixelCluster > &  clusters 
)
private

Definition at line 353 of file JetCoreMCtruthSeedGenerator.cc.

359  {
360  std::vector<GlobalVector> clustDirs;
361  for (const auto& detset_int : clusters) {
362  const GeomDet* det_int = geometry_->idToDet(detset_int.id());
363  int lay = tTopo->layer(det_int->geographicalId());
364  if (lay != layer)
365  continue; //NB: saved bigclusetr on all the layers!!
366  auto detUnit = *geometry_->idToDetUnit(detset_int.id());
367  for (const auto& aCluster : detset_int) {
368  GlobalPoint clustPos = det_int->surface().toGlobal(pixelCPE->localParametersV(aCluster, detUnit)[0].first);
369  GlobalPoint vertexPos(jetVertex.position().x(), jetVertex.position().y(), jetVertex.position().z());
370  GlobalVector clusterDir = clustPos - vertexPos;
371  GlobalVector jetDir(jet.px(), jet.py(), jet.pz());
372  if (Geom::deltaR(jetDir, clusterDir) < deltaR_) {
373  clustDirs.emplace_back(clusterDir);
374  }
375  }
376  }
377  return clustDirs;
378 }

References bsc_activity_cfg::clusters, PbPb_ZMuSkimMuonDPG_cff::deltaR, deltaR_, GeomDet::geographicalId(), geometry_, GlobalTrackingGeometry::idToDet(), GlobalTrackingGeometry::idToDetUnit(), metsig::jet, phase1PixelTopology::layer, TrackerTopology::layer(), HLT_FULL_cff::pixelCPE, reco::Vertex::position(), GeomDet::surface(), and Surface::toGlobal().

Referenced by produce().

Member Data Documentation

◆ centralMIPCharge_

double JetCoreMCtruthSeedGenerator::centralMIPCharge_
private

Definition at line 116 of file JetCoreMCtruthSeedGenerator.cc.

◆ chargeFracMin_

double JetCoreMCtruthSeedGenerator::chargeFracMin_
private

Definition at line 115 of file JetCoreMCtruthSeedGenerator.cc.

◆ cores_

edm::EDGetTokenT<edm::View<reco::Candidate> > JetCoreMCtruthSeedGenerator::cores_
private

Definition at line 107 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ deltaR_

double JetCoreMCtruthSeedGenerator::deltaR_
private

◆ geomEsToken_

const edm::ESGetToken<GlobalTrackingGeometry, GlobalTrackingGeometryRecord> JetCoreMCtruthSeedGenerator::geomEsToken_
private

Definition at line 99 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ geometry_

edm::ESHandle<GlobalTrackingGeometry> JetCoreMCtruthSeedGenerator::geometry_
private

◆ inclusiveConeSeed_

bool JetCoreMCtruthSeedGenerator::inclusiveConeSeed_
Initial value:
=
true

Definition at line 90 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ inputPixelClusters_

edm::Handle<edmNew::DetSetVector<SiPixelCluster> > JetCoreMCtruthSeedGenerator::inputPixelClusters_
private

Definition at line 106 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ jetDimX

constexpr int JetCoreMCtruthSeedGenerator::jetDimX = 30
staticconstexpr

Definition at line 88 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by coreHitsFilling().

◆ jetDimY

constexpr int JetCoreMCtruthSeedGenerator::jetDimY = 30
staticconstexpr

Definition at line 89 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by coreHitsFilling().

◆ jetEta_

double JetCoreMCtruthSeedGenerator::jetEta_

Definition at line 85 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ jetPt_

double JetCoreMCtruthSeedGenerator::jetPt_

Definition at line 84 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ pitchX_

double JetCoreMCtruthSeedGenerator::pitchX_ = 0.01

Definition at line 86 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by coreHitsFilling().

◆ pitchY_

double JetCoreMCtruthSeedGenerator::pitchY_ = 0.015

Definition at line 87 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by coreHitsFilling().

◆ pixelClusters_

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > JetCoreMCtruthSeedGenerator::pixelClusters_
private

Definition at line 105 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ pixelCPEEsToken_

const edm::ESGetToken<PixelClusterParameterEstimator, TkPixelCPERecord> JetCoreMCtruthSeedGenerator::pixelCPEEsToken_
private

Definition at line 100 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ PSimHitToken_

edm::EDGetTokenT<std::vector<PSimHit> > JetCoreMCtruthSeedGenerator::PSimHitToken_
private

Definition at line 110 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ ptMin_

double JetCoreMCtruthSeedGenerator::ptMin_
private

Definition at line 113 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ simhits_

edm::Handle<std::vector<PSimHit> > JetCoreMCtruthSeedGenerator::simhits_
private

Definition at line 111 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ simtracksToken_

edm::EDGetTokenT<std::vector<SimTrack> > JetCoreMCtruthSeedGenerator::simtracksToken_
private

Definition at line 108 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ simvertexToken_

edm::EDGetTokenT<std::vector<SimVertex> > JetCoreMCtruthSeedGenerator::simvertexToken_
private

Definition at line 109 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ tTopoEsToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> JetCoreMCtruthSeedGenerator::tTopoEsToken_
private

Definition at line 101 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

◆ vertices_

edm::EDGetTokenT<std::vector<reco::Vertex> > JetCoreMCtruthSeedGenerator::vertices_
private

Definition at line 104 of file JetCoreMCtruthSeedGenerator.cc.

Referenced by produce().

JetCoreMCtruthSeedGenerator::jetDimX
static constexpr int jetDimX
Definition: JetCoreMCtruthSeedGenerator.cc:88
Vector3DBase
Definition: Vector3DBase.h:8
PixelClusterParameterEstimator
Definition: PixelClusterParameterEstimator.h:15
DDAxes::y
CoreSimTrack::momentum
const math::XYZTLorentzVectorD & momentum() const
Definition: CoreSimTrack.h:19
edm::ESInputTag
Definition: ESInputTag.h:87
JetCoreMCtruthSeedGenerator::splittedClusterDirections
std::vector< GlobalVector > splittedClusterDirections(const reco::Candidate &, const TrackerTopology *const, const PixelClusterParameterEstimator *, const reco::Vertex &, int, const edmNew::DetSetVector< SiPixelCluster > &)
Definition: JetCoreMCtruthSeedGenerator.cc:353
SimVertex
Definition: SimVertex.h:5
TrackCharge
int TrackCharge
Definition: TrackCharge.h:4
GeomDet
Definition: GeomDet.h:27
JetCoreMCtruthSeedGenerator::centralMIPCharge_
double centralMIPCharge_
Definition: JetCoreMCtruthSeedGenerator.cc:116
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerTopology
Definition: TrackerTopology.h:16
Geom::Theta
Definition: Theta.h:12
pos
Definition: PixelAliasList.h:18
JetCoreMCtruthSeedGenerator::jetDimY
static constexpr int jetDimY
Definition: JetCoreMCtruthSeedGenerator.cc:89
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89281
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
JetCoreMCtruthSeedGenerator::cores_
edm::EDGetTokenT< edm::View< reco::Candidate > > cores_
Definition: JetCoreMCtruthSeedGenerator.cc:107
Geom::Spherical2Cartesian
Definition: CoordinateSets.h:58
TrackerTopology::layer
unsigned int layer(const DetId &id) const
Definition: TrackerTopology.cc:47
JetCoreMCtruthSeedGenerator::simtracksToken_
edm::EDGetTokenT< std::vector< SimTrack > > simtracksToken_
Definition: JetCoreMCtruthSeedGenerator.cc:108
CoreSimTrack::charge
float charge() const
charge
Definition: CoreSimTrack.cc:17
reco::Vertex::position
const Point & position() const
position
Definition: Vertex.h:114
JetCoreMCtruthSeedGenerator::pixelClusters_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClusters_
Definition: JetCoreMCtruthSeedGenerator.cc:105
JetCoreMCtruthSeedGenerator::jetPt_
double jetPt_
Definition: JetCoreMCtruthSeedGenerator.cc:84
DDAxes::x
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
align::LocalPoint
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:30
GlobalVector
Global3DVector GlobalVector
Definition: GlobalVector.h:10
findQualityFiles.v
v
Definition: findQualityFiles.py:179
parallelization.uint
uint
Definition: parallelization.py:124
JetCoreMCtruthSeedGenerator::inputPixelClusters_
edm::Handle< edmNew::DetSetVector< SiPixelCluster > > inputPixelClusters_
Definition: JetCoreMCtruthSeedGenerator.cc:106
JetCoreMCtruthSeedGenerator::coreTracksFillingDeltaR
std::pair< std::vector< SimTrack >, std::vector< SimVertex > > coreTracksFillingDeltaR(const std::vector< SimTrack >, const std::vector< SimVertex >, const GeomDet *, const reco::Candidate &, const reco::Vertex &)
Definition: JetCoreMCtruthSeedGenerator.cc:429
JetCoreMCtruthSeedGenerator::simvertexToken_
edm::EDGetTokenT< std::vector< SimVertex > > simvertexToken_
Definition: JetCoreMCtruthSeedGenerator.cc:109
cc
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
LocalTrajectoryParameters
Definition: LocalTrajectoryParameters.h:25
DetId
Definition: DetId.h:17
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
JetCoreMCtruthSeedGenerator::inclusiveConeSeed_
bool inclusiveConeSeed_
Definition: JetCoreMCtruthSeedGenerator.cc:90
HLT_FULL_cff.pixelCPE
pixelCPE
Definition: HLT_FULL_cff.py:50758
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
pfDeepBoostedJetPreprocessParams_cfi.sv
sv
Definition: pfDeepBoostedJetPreprocessParams_cfi.py:352
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
reco::Track
Definition: Track.h:27
JetCoreMCtruthSeedGenerator::chargeFracMin_
double chargeFracMin_
Definition: JetCoreMCtruthSeedGenerator.cc:115
Point3DBase< float, GlobalTag >
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
edm::View
Definition: CaloClusterFwd.h:14
JetCoreMCtruthSeedGenerator::PSimHitToken_
edm::EDGetTokenT< std::vector< PSimHit > > PSimHitToken_
Definition: JetCoreMCtruthSeedGenerator.cc:110
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
bphysicsOniaDQM_cfi.vertex
vertex
Definition: bphysicsOniaDQM_cfi.py:7
HLTBitAnalyser_cfi.simhits
simhits
SIM objects.
Definition: HLTBitAnalyser_cfi.py:21
JetCoreMCtruthSeedGenerator::DetectorSelector
const GeomDet * DetectorSelector(int, const reco::Candidate &, GlobalVector, const reco::Vertex &, const TrackerTopology *const, const edmNew::DetSetVector< SiPixelCluster > &)
Definition: JetCoreMCtruthSeedGenerator.cc:316
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
JetCoreMCtruthSeedGenerator::vertices_
edm::EDGetTokenT< std::vector< reco::Vertex > > vertices_
Definition: JetCoreMCtruthSeedGenerator.cc:104
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
Geom::Phi
Definition: Phi.h:52
JetCoreMCtruthSeedGenerator::geometry_
edm::ESHandle< GlobalTrackingGeometry > geometry_
Definition: JetCoreMCtruthSeedGenerator.cc:102
GeomDet::specificSurface
const Plane & specificSurface() const
Same as surface(), kept for backward compatibility.
Definition: GeomDet.h:40
JetCoreMCtruthSeedGenerator::findIntersection
std::pair< bool, Basic3DVector< float > > findIntersection(const GlobalVector &, const reco::Candidate::Point &, const GeomDet *)
Definition: JetCoreMCtruthSeedGenerator.cc:306
JetCoreMCtruthSeedGenerator::simhits_
edm::Handle< std::vector< PSimHit > > simhits_
Definition: JetCoreMCtruthSeedGenerator.cc:111
JetCoreMCtruthSeedGenerator::seedParFilling
std::vector< std::array< double, 5 > > seedParFilling(std::pair< std::vector< SimTrack >, std::vector< SimVertex >>, const GeomDet *, const reco::Candidate &)
Definition: JetCoreMCtruthSeedGenerator.cc:459
JetCoreMCtruthSeedGenerator::coreHitsFilling
std::vector< PSimHit > coreHitsFilling(std::vector< PSimHit >, const GeomDet *, GlobalVector, const reco::Vertex &)
Definition: JetCoreMCtruthSeedGenerator.cc:380
JetCoreMCtruthSeedGenerator::tTopoEsToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoEsToken_
Definition: JetCoreMCtruthSeedGenerator.cc:101
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
reco::TrackBase::Point
math::XYZPoint Point
point in the space
Definition: TrackBase.h:80
CoreSimTrack::trackId
unsigned int trackId() const
Definition: CoreSimTrack.h:31
JetCoreMCtruthSeedGenerator::pixelCPEEsToken_
const edm::ESGetToken< PixelClusterParameterEstimator, TkPixelCPERecord > pixelCPEEsToken_
Definition: JetCoreMCtruthSeedGenerator.cc:100
JetCoreMCtruthSeedGenerator::coreTracksFilling
std::pair< std::vector< SimTrack >, std::vector< SimVertex > > coreTracksFilling(std::vector< PSimHit >, const std::vector< SimTrack >, const std::vector< SimVertex >)
Definition: JetCoreMCtruthSeedGenerator.cc:404
edmNew::DetSetVector
Definition: DetSetNew.h:13
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
GlobalTrackingGeometry::idToDetUnit
const GeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: GlobalTrackingGeometry.cc:34
SimTrack
Definition: SimTrack.h:9
metsig::jet
Definition: SignAlgoResolutions.h:47
GloballyPositioned::toLocal
LocalPoint toLocal(const GlobalPoint &gp) const
Definition: GloballyPositioned.h:98
GlobalTrackingGeometry::idToDet
const GeomDet * idToDet(DetId) const override
Definition: GlobalTrackingGeometry.cc:44
JetCoreMCtruthSeedGenerator::pitchX_
double pitchX_
Definition: JetCoreMCtruthSeedGenerator.cc:86
JetCoreMCtruthSeedGenerator::geomEsToken_
const edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > geomEsToken_
Definition: JetCoreMCtruthSeedGenerator.cc:99
HLT_FULL_cff.cores
cores
Definition: HLT_FULL_cff.py:104293
TrajectorySeed
Definition: TrajectorySeed.h:18
SimTrack::vertIndex
int vertIndex() const
index of the vertex in the Event container (-1 if no vertex)
Definition: SimTrack.h:33
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
JetCoreMCtruthSeedGenerator::jetEta_
double jetEta_
Definition: JetCoreMCtruthSeedGenerator.cc:85
edm::EDConsumerBase::esConsumes
auto esConsumes()
Definition: EDConsumerBase.h:202
inter
int inter
Definition: CascadeWrapper.h:27
mps_fire.result
result
Definition: mps_fire.py:311
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
PTrajectoryStateOnDet
Definition: PTrajectoryStateOnDet.h:10
JetCoreMCtruthSeedGenerator::ptMin_
double ptMin_
Definition: JetCoreMCtruthSeedGenerator.cc:113
createTree.pp
pp
Definition: createTree.py:17
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:155
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
reco::Candidate::Point
math::XYZPoint Point
point in the space
Definition: Candidate.h:40
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
reco::TrackBase::CovarianceMatrix
math::Error< dimension >::type CovarianceMatrix
5 parameter covariance matrix
Definition: TrackBase.h:74
StraightLinePlaneCrossing
Definition: StraightLinePlaneCrossing.h:14
JetCoreMCtruthSeedGenerator::deltaR_
double deltaR_
Definition: JetCoreMCtruthSeedGenerator.cc:114
edm::InputTag
Definition: InputTag.h:15
alongMomentum
Definition: PropagationDirection.h:4
Basic3DVector< float >
reco::Vertex
Definition: Vertex.h:35
edm::OwnVector< TrackingRecHit >
JetCoreMCtruthSeedGenerator::pitchY_
double pitchY_
Definition: JetCoreMCtruthSeedGenerator.cc:87
reco::TrackBase::Vector
math::XYZVector Vector
spatial vector
Definition: TrackBase.h:77
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
pwdgSkimBPark_cfi.vertices
vertices
Definition: pwdgSkimBPark_cfi.py:7
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37