CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
CtfSpecialSeedGenerator Class Reference

#include <CtfSpecialSeedGenerator.h>

Inheritance diagram for CtfSpecialSeedGenerator:
edm::stream::EDProducer<>

Public Types

typedef TrajectoryStateOnSurface TSOS
 
- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Public Member Functions

void beginRun (edm::Run const &, edm::EventSetup const &) override
 
 CtfSpecialSeedGenerator (const edm::ParameterSet &conf)
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void produce (edm::Event &e, const edm::EventSetup &c) override
 
 ~CtfSpecialSeedGenerator () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Member Functions

bool buildSeeds (const edm::EventSetup &iSetup, const edm::Event &e, const OrderedSeedingHits &osh, const NavigationDirection &navdir, const PropagationDirection &dir, TrajectorySeedCollection &output)
 
bool postCheck (const TrajectorySeed &seed)
 
bool preliminaryCheck (const SeedingHitSet &shs, const edm::EventSetup &es)
 
bool run (const edm::EventSetup &c, const edm::Event &e, TrajectorySeedCollection &output)
 

Private Attributes

ClusterChecker check
 
edm::ParameterSet conf_
 
BoundPlane::BoundPlanePointer lowerScintillator
 
bool requireBOFF
 
edm::ESHandle< TransientTrackingRecHitBuildertheBuilder
 
std::vector< std::unique_ptr< OrderedHitsGenerator > > theGenerators
 
edm::ESHandle< MagneticFieldtheMagfield
 
int32_t theMaxSeeds
 
std::vector< NavigationDirectiontheNavDirs
 
std::vector< PropagationDirectionthePropDirs
 
std::unique_ptr< TrackingRegionProducertheRegionProducer
 
std::unique_ptr< SeedFromGenericPairOrTriplettheSeedBuilder
 
edm::ESHandle< TrackerGeometrytheTracker
 
BoundPlane::BoundPlanePointer upperScintillator
 
bool useScintillatorsConstraint
 

Detailed Description

Definition at line 40 of file CtfSpecialSeedGenerator.h.

Member Typedef Documentation

◆ TSOS

Definition at line 42 of file CtfSpecialSeedGenerator.h.

Constructor & Destructor Documentation

◆ CtfSpecialSeedGenerator()

CtfSpecialSeedGenerator::CtfSpecialSeedGenerator ( const edm::ParameterSet conf)

Definition at line 18 of file CtfSpecialSeedGenerator.cc.

19  : conf_(conf),
20  requireBOFF(conf.getParameter<bool>("requireBOFF")),
21  theMaxSeeds(conf.getParameter<int32_t>("maxSeeds")),
22  check(conf, consumesCollector())
23 
24 {
25  useScintillatorsConstraint = conf_.getParameter<bool>("UseScintillatorsConstraint");
26  edm::LogVerbatim("CtfSpecialSeedGenerator") << "Constructing CtfSpecialSeedGenerator";
27  produces<TrajectorySeedCollection>();
28 
29  edm::ParameterSet regfactoryPSet = conf_.getParameter<edm::ParameterSet>("RegionFactoryPSet");
30  std::string regfactoryName = regfactoryPSet.getParameter<std::string>("ComponentName");
31  theRegionProducer = std::unique_ptr<TrackingRegionProducer>{
32  TrackingRegionProducerFactory::get()->create(regfactoryName, regfactoryPSet, consumesCollector())};
33 
34  std::vector<edm::ParameterSet> pSets = conf_.getParameter<std::vector<edm::ParameterSet>>("OrderedHitsFactoryPSets");
35  std::vector<edm::ParameterSet>::const_iterator iPSet;
36  edm::ConsumesCollector iC = consumesCollector();
37  for (iPSet = pSets.begin(); iPSet != pSets.end(); iPSet++) {
38  std::string hitsfactoryName = iPSet->getParameter<std::string>("ComponentName");
39  theGenerators.emplace_back(OrderedHitsGeneratorFactory::get()->create(hitsfactoryName, *iPSet, iC));
40  }
41 }

References conf_, beamerCreator::create(), get, edm::ParameterSet::getParameter(), AlCaHLTBitMon_QueryRunRegistry::string, theGenerators, theRegionProducer, and useScintillatorsConstraint.

◆ ~CtfSpecialSeedGenerator()

CtfSpecialSeedGenerator::~CtfSpecialSeedGenerator ( )
overridedefault

Member Function Documentation

◆ beginRun()

void CtfSpecialSeedGenerator::beginRun ( edm::Run const &  ,
edm::EventSetup const &  iSetup 
)
override

Definition at line 47 of file CtfSpecialSeedGenerator.cc.

47  {
48  std::string builderName = conf_.getParameter<std::string>("TTRHBuilder");
49  iSetup.get<TransientRecHitRecord>().get(builderName, theBuilder);
50 
53 
54  edm::LogVerbatim("CtfSpecialSeedGenerator") << "Initializing...";
56  edm::ParameterSet upperScintPar = conf_.getParameter<edm::ParameterSet>("UpperScintillatorParameters");
57  edm::ParameterSet lowerScintPar = conf_.getParameter<edm::ParameterSet>("LowerScintillatorParameters");
58  RectangularPlaneBounds upperBounds(
59  upperScintPar.getParameter<double>("WidthInX"), upperScintPar.getParameter<double>("LenghtInZ"), 1);
60  GlobalPoint upperPosition(upperScintPar.getParameter<double>("GlobalX"),
61  upperScintPar.getParameter<double>("GlobalY"),
62  upperScintPar.getParameter<double>("GlobalZ"));
63  edm::LogVerbatim("CtfSpecialSeedGenerator") << "Upper Scintillator position x, y, z " << upperPosition.x() << ", "
64  << upperPosition.y() << ", " << upperPosition.z();
65  RectangularPlaneBounds lowerBounds(
66  lowerScintPar.getParameter<double>("WidthInX"), lowerScintPar.getParameter<double>("LenghtInZ"), 1);
67  GlobalPoint lowerPosition(lowerScintPar.getParameter<double>("GlobalX"),
68  lowerScintPar.getParameter<double>("GlobalY"),
69  lowerScintPar.getParameter<double>("GlobalZ"));
70  edm::LogVerbatim("CtfSpecialSeedGenerator") << "Lower Scintillator position x, y, z " << lowerPosition.x() << ", "
71  << lowerPosition.y() << ", " << lowerPosition.z();
72  TkRotation<float> rot(1, 0, 0, 0, 0, 1, 0, 1, 0);
73  upperScintillator = BoundPlane::build(upperPosition, rot, &upperBounds);
74  lowerScintillator = BoundPlane::build(lowerPosition, rot, &lowerBounds);
75  }
76 
77  edm::ESHandle<Propagator> propagatorAlongHandle;
78  iSetup.get<TrackingComponentsRecord>().get("PropagatorWithMaterial", propagatorAlongHandle);
79  edm::ESHandle<Propagator> propagatorOppositeHandle;
80  iSetup.get<TrackingComponentsRecord>().get("PropagatorWithMaterialOpposite", propagatorOppositeHandle);
81 
82  std::vector<edm::ParameterSet> pSets = conf_.getParameter<std::vector<edm::ParameterSet>>("OrderedHitsFactoryPSets");
83  std::vector<edm::ParameterSet>::const_iterator iPSet;
84  for (iPSet = pSets.begin(); iPSet != pSets.end(); iPSet++) {
85  std::string propagationDirection = iPSet->getParameter<std::string>("PropagationDirection");
86  if (propagationDirection == "alongMomentum")
87  thePropDirs.push_back(alongMomentum);
88  else
90  std::string navigationDirection = iPSet->getParameter<std::string>("NavigationDirection");
91  if (navigationDirection == "insideOut")
92  theNavDirs.push_back(insideOut);
93  else
94  theNavDirs.push_back(outsideIn);
95  edm::LogVerbatim("CtfSpecialSeedGenerator") << "hitsGenerator done";
96  }
97  bool setMomentum = conf_.getParameter<bool>("SetMomentum");
98  std::vector<int> charges;
99  if (setMomentum) {
100  charges = conf_.getParameter<std::vector<int>>("Charges");
101  }
102  theSeedBuilder = std::make_unique<SeedFromGenericPairOrTriplet>(theMagfield.product(),
105  propagatorAlongHandle.product(),
106  propagatorOppositeHandle.product(),
107  charges,
108  setMomentum,
109  conf_.getParameter<double>("ErrorRescaling"));
110  double p = 1;
111  if (setMomentum) {
112  p = conf_.getParameter<double>("SeedMomentum");
113  theSeedBuilder->setMomentumTo(p);
114  }
115 }

References alongMomentum, newFWLiteAna::build, CosmicGenFilterHelix_cfi::charges, conf_, edm::EventSetup::get(), get, edm::ParameterSet::getParameter(), insideOut, lowerScintillator, oppositeToMomentum, outsideIn, AlCaHLTBitMon_ParallelJobs::p, edm::ESHandle< T >::product(), makeMuonMisalignmentScenario::rot, AlCaHLTBitMon_QueryRunRegistry::string, theBuilder, theMagfield, theNavDirs, thePropDirs, theSeedBuilder, theTracker, upperScintillator, useScintillatorsConstraint, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ buildSeeds()

bool CtfSpecialSeedGenerator::buildSeeds ( const edm::EventSetup iSetup,
const edm::Event e,
const OrderedSeedingHits osh,
const NavigationDirection navdir,
const PropagationDirection dir,
TrajectorySeedCollection output 
)
private

Definition at line 157 of file CtfSpecialSeedGenerator.cc.

162  {
163  //SeedFromGenericPairOrTriplet seedBuilder(conf_, magfield.product(), tracker.product(), theBuilder.product());
164  edm::LogInfo("CtfSpecialSeedGenerator") << "osh.size() " << osh.size();
165  for (unsigned int i = 0; i < osh.size(); i++) {
166  SeedingHitSet shs = osh[i];
167  if (preliminaryCheck(shs, iSetup)) {
168  std::vector<TrajectorySeed*> seeds = theSeedBuilder->seed(shs, dir, navdir, iSetup);
169  for (std::vector<TrajectorySeed*>::const_iterator iSeed = seeds.begin(); iSeed != seeds.end(); iSeed++) {
170  if (!*iSeed) {
171  edm::LogError("CtfSpecialSeedGenerator") << "a seed pointer is null. skipping.";
172  continue;
173  }
174  if (postCheck(**iSeed)) {
175  output.push_back(**iSeed);
176  }
177  delete *iSeed;
178  edm::LogVerbatim("CtfSpecialSeedGenerator") << "Seed built";
179  }
180  }
181  }
182  if ((theMaxSeeds > 0) && (output.size() > size_t(theMaxSeeds))) {
183  edm::LogWarning("TooManySeeds") << "Too many seeds (" << output.size() << "), bailing out.\n";
184  output.clear();
185  return false;
186  }
187  return true;
188 }

References DeadROC_duringRun::dir, mps_fire::i, convertSQLitetoXML_cfg::output, postCheck(), preliminaryCheck(), InitialStep_cff::seeds, OrderedSeedingHits::size(), theMaxSeeds, and theSeedBuilder.

Referenced by run().

◆ endRun()

void CtfSpecialSeedGenerator::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
override

Definition at line 45 of file CtfSpecialSeedGenerator.cc.

45 { theSeedBuilder.reset(); }

References theSeedBuilder.

◆ postCheck()

bool CtfSpecialSeedGenerator::postCheck ( const TrajectorySeed seed)
private

Definition at line 242 of file CtfSpecialSeedGenerator.cc.

242  {
244  return true;
245 
246  PTrajectoryStateOnDet pstate = seed.startingState();
248  pstate, &(theTracker->idToDet(DetId(pstate.detId()))->surface()), &(*theMagfield));
249  const FreeTrajectoryState* state = theTSOS.freeState();
250  StraightLinePlaneCrossing planeCrossingLower(
252  StraightLinePlaneCrossing planeCrossingUpper(
254  std::pair<bool, StraightLinePlaneCrossing::PositionType> positionUpper =
255  planeCrossingUpper.position(*upperScintillator);
256  std::pair<bool, StraightLinePlaneCrossing::PositionType> positionLower =
257  planeCrossingLower.position(*lowerScintillator);
258  if (!(positionUpper.first && positionLower.first)) {
259  edm::LogVerbatim("CtfSpecialSeedGenerator::checkDirection") << "Scintillator plane not crossed";
260  return false;
261  }
262  LocalPoint positionUpperLocal = upperScintillator->toLocal((GlobalPoint)(positionUpper.second));
263  LocalPoint positionLowerLocal = lowerScintillator->toLocal((GlobalPoint)(positionLower.second));
264  if (upperScintillator->bounds().inside(positionUpperLocal) &&
265  lowerScintillator->bounds().inside(positionLowerLocal)) {
266  edm::LogVerbatim("CtfSpecialSeedGenerator::checkDirection")
267  << "position on Upper scintillator " << positionUpper.second;
268  edm::LogVerbatim("CtfSpecialSeedGenerator::checkDirection")
269  << "position on Lower scintillator " << positionLower.second;
270 
271  return true;
272  }
273  edm::LogVerbatim("CtfSpecialSeedGenerator::checkDirection")
274  << "scintillator not crossed in bounds: position on Upper scintillator " << positionUpper.second
275  << " position on Lower scintillator " << positionLower.second;
276  return false;
277 }

References alongMomentum, PTrajectoryStateOnDet::detId(), TrajectoryStateOnSurface::freeState(), TrackerGeometry::idToDet(), lowerScintillator, oppositeToMomentum, StraightLinePlaneCrossing::position(), fileCollector::seed, GeomDet::surface(), theMagfield, theTracker, trajectoryStateTransform::transientState(), upperScintillator, and useScintillatorsConstraint.

Referenced by buildSeeds().

◆ preliminaryCheck()

bool CtfSpecialSeedGenerator::preliminaryCheck ( const SeedingHitSet shs,
const edm::EventSetup es 
)
private

Definition at line 190 of file CtfSpecialSeedGenerator.cc.

190  {
192  es.get<TrackerTopologyRcd>().get(tTopo);
193 
194  std::vector<std::pair<unsigned int, unsigned int>> vSubdetLayer;
195  //std::vector<std::string> vSeedLayerNames;
196  bool checkHitsAtPositiveY = conf_.getParameter<bool>("SeedsFromPositiveY");
197  //***top-bottom
198  bool checkHitsAtNegativeY = conf_.getParameter<bool>("SeedsFromNegativeY");
199  //***
200  bool checkHitsOnDifferentLayers = conf_.getParameter<bool>("CheckHitsAreOnDifferentLayers");
201  unsigned int nHits = shs.size();
202  for (unsigned int iHit = 0; iHit < nHits; ++iHit) {
203  //hits for the seeds must be at positive y
204  auto trh = shs[iHit];
205  auto recHit = trh;
206  GlobalPoint hitPos = recHit->globalPosition();
207  //GlobalPoint point =
208  // theTracker->idToDet(iHits->geographicalId() )->surface().toGlobal(iHits->localPosition());
209  if (checkHitsAtPositiveY) {
210  if (hitPos.y() < 0)
211  return false;
212  }
213  //***top-bottom
214  if (checkHitsAtNegativeY) {
215  if (hitPos.y() > 0)
216  return false;
217  }
218  //***
219  //std::string name = iHits->seedinglayer().name();
220  //hits for the seeds must be in different layers
221  unsigned int subid = (*trh).geographicalId().subdetId();
222  unsigned int layer = tTopo->layer((*trh).geographicalId());
223  std::vector<std::pair<unsigned int, unsigned int>>::const_iterator iter;
224  //std::vector<std::string>::const_iterator iNames;
225  if (checkHitsOnDifferentLayers) {
226  for (iter = vSubdetLayer.begin(); iter != vSubdetLayer.end(); iter++) {
227  if (iter->first == subid && iter->second == layer)
228  return false;
229  }
230  /*
231  for (iNames = vSeedLayerNames.begin(); iNames != vSeedLayerNames.end(); iNames++){
232  if (*iNames == name) return false;
233  }
234  */
235  }
236  //vSeedLayerNames.push_back(iHits->seedinglayer().name());
237  vSubdetLayer.push_back(std::make_pair(subid, layer));
238  }
239  return true;
240 }

References conf_, edm::EventSetup::get(), get, edm::ParameterSet::getParameter(), phase1PixelTopology::layer, TrackerTopology::layer(), nHits, rpcPointValidation_cfi::recHit, SeedingHitSet::size(), and PV3DBase< T, PVType, FrameType >::y().

Referenced by buildSeeds().

◆ produce()

void CtfSpecialSeedGenerator::produce ( edm::Event e,
const edm::EventSetup c 
)
override

Definition at line 117 of file CtfSpecialSeedGenerator.cc.

117  {
118  // get Inputs
119  auto output = std::make_unique<TrajectorySeedCollection>();
120 
121  //check on the number of clusters
122  if (!requireBOFF || (theMagfield->inTesla(GlobalPoint(0, 0, 0)).mag() == 0.00)) {
123  size_t clustsOrZero = check.tooManyClusters(e);
124  if (!clustsOrZero) {
125  bool ok = run(iSetup, e, *output);
126  if (!ok) {
127  } // nothing to do
128  } else
129  edm::LogError("TooManyClusters") << "Found too many clusters (" << clustsOrZero << "), bailing out.\n";
130  }
131 
132  edm::LogVerbatim("CtfSpecialSeedGenerator") << " number of seeds = " << output->size();
133  e.put(std::move(output));
134 }

References check, MillePedeFileConverter_cfg::e, MagneticField::inTesla(), PV3DBase< T, PVType, FrameType >::mag(), eostools::move(), convertSQLiteXML::ok, convertSQLitetoXML_cfg::output, requireBOFF, run(), theMagfield, and ClusterChecker::tooManyClusters().

◆ run()

bool CtfSpecialSeedGenerator::run ( const edm::EventSetup c,
const edm::Event e,
TrajectorySeedCollection output 
)
private

Definition at line 136 of file CtfSpecialSeedGenerator.cc.

138  {
139  std::vector<std::unique_ptr<TrackingRegion>> regions = theRegionProducer->regions(e, iSetup);
140  bool ok = true;
141  for (auto iReg = regions.begin(); iReg != regions.end(); iReg++) {
142  if (!theSeedBuilder->momentumFromPSet())
143  theSeedBuilder->setMomentumTo((*iReg)->ptMin());
144  int i = 0;
145  for (auto iGen = theGenerators.begin(); iGen != theGenerators.end(); iGen++) {
146  ok = buildSeeds(iSetup, e, (*iGen)->run(**iReg, e, iSetup), theNavDirs[i], thePropDirs[i], output);
147  i++;
148  if (!ok)
149  break;
150  }
151  if (!ok)
152  break;
153  }
154  return ok;
155 }

References buildSeeds(), MillePedeFileConverter_cfg::e, mps_fire::i, convertSQLiteXML::ok, convertSQLitetoXML_cfg::output, theGenerators, theNavDirs, thePropDirs, theRegionProducer, and theSeedBuilder.

Referenced by produce().

Member Data Documentation

◆ check

ClusterChecker CtfSpecialSeedGenerator::check
private

Definition at line 91 of file CtfSpecialSeedGenerator.h.

Referenced by produce().

◆ conf_

edm::ParameterSet CtfSpecialSeedGenerator::conf_
private

Definition at line 69 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun(), CtfSpecialSeedGenerator(), and preliminaryCheck().

◆ lowerScintillator

BoundPlane::BoundPlanePointer CtfSpecialSeedGenerator::lowerScintillator
private

Definition at line 88 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun(), and postCheck().

◆ requireBOFF

bool CtfSpecialSeedGenerator::requireBOFF
private

Definition at line 89 of file CtfSpecialSeedGenerator.h.

Referenced by produce().

◆ theBuilder

edm::ESHandle<TransientTrackingRecHitBuilder> CtfSpecialSeedGenerator::theBuilder
private

Definition at line 72 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun().

◆ theGenerators

std::vector<std::unique_ptr<OrderedHitsGenerator> > CtfSpecialSeedGenerator::theGenerators
private

Definition at line 80 of file CtfSpecialSeedGenerator.h.

Referenced by CtfSpecialSeedGenerator(), and run().

◆ theMagfield

edm::ESHandle<MagneticField> CtfSpecialSeedGenerator::theMagfield
private

Definition at line 70 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun(), postCheck(), and produce().

◆ theMaxSeeds

int32_t CtfSpecialSeedGenerator::theMaxSeeds
private

Definition at line 90 of file CtfSpecialSeedGenerator.h.

Referenced by buildSeeds().

◆ theNavDirs

std::vector<NavigationDirection> CtfSpecialSeedGenerator::theNavDirs
private

Definition at line 82 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun(), and run().

◆ thePropDirs

std::vector<PropagationDirection> CtfSpecialSeedGenerator::thePropDirs
private

Definition at line 81 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun(), and run().

◆ theRegionProducer

std::unique_ptr<TrackingRegionProducer> CtfSpecialSeedGenerator::theRegionProducer
private

Definition at line 83 of file CtfSpecialSeedGenerator.h.

Referenced by CtfSpecialSeedGenerator(), and run().

◆ theSeedBuilder

std::unique_ptr<SeedFromGenericPairOrTriplet> CtfSpecialSeedGenerator::theSeedBuilder
private

Definition at line 85 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun(), buildSeeds(), endRun(), and run().

◆ theTracker

edm::ESHandle<TrackerGeometry> CtfSpecialSeedGenerator::theTracker
private

Definition at line 71 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun(), and postCheck().

◆ upperScintillator

BoundPlane::BoundPlanePointer CtfSpecialSeedGenerator::upperScintillator
private

Definition at line 87 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun(), and postCheck().

◆ useScintillatorsConstraint

bool CtfSpecialSeedGenerator::useScintillatorsConstraint
private

Definition at line 86 of file CtfSpecialSeedGenerator.h.

Referenced by beginRun(), CtfSpecialSeedGenerator(), and postCheck().

TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
TkRotation< float >
CtfSpecialSeedGenerator::check
ClusterChecker check
Definition: CtfSpecialSeedGenerator.h:91
CosmicGenFilterHelix_cfi.charges
charges
only generated particles of these IDs are considered
Definition: CosmicGenFilterHelix_cfi.py:6
MagneticField::inTesla
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
mps_fire.i
i
Definition: mps_fire.py:428
CtfSpecialSeedGenerator::theGenerators
std::vector< std::unique_ptr< OrderedHitsGenerator > > theGenerators
Definition: CtfSpecialSeedGenerator.h:80
SeedingHitSet
Definition: SeedingHitSet.h:6
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
CtfSpecialSeedGenerator::buildSeeds
bool buildSeeds(const edm::EventSetup &iSetup, const edm::Event &e, const OrderedSeedingHits &osh, const NavigationDirection &navdir, const PropagationDirection &dir, TrajectorySeedCollection &output)
Definition: CtfSpecialSeedGenerator.cc:157
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
TransientRecHitRecord
Definition: TransientRecHitRecord.h:14
CtfSpecialSeedGenerator::theSeedBuilder
std::unique_ptr< SeedFromGenericPairOrTriplet > theSeedBuilder
Definition: CtfSpecialSeedGenerator.h:85
CtfSpecialSeedGenerator::useScintillatorsConstraint
bool useScintillatorsConstraint
Definition: CtfSpecialSeedGenerator.h:86
oppositeToMomentum
Definition: PropagationDirection.h:4
TrackerTopology::layer
unsigned int layer(const DetId &id) const
Definition: TrackerTopology.cc:47
CtfSpecialSeedGenerator::lowerScintillator
BoundPlane::BoundPlanePointer lowerScintillator
Definition: CtfSpecialSeedGenerator.h:88
CtfSpecialSeedGenerator::upperScintillator
BoundPlane::BoundPlanePointer upperScintillator
Definition: CtfSpecialSeedGenerator.h:87
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
beamerCreator.create
def create(alignables, pedeDump, additionalData, outputFile, config)
Definition: beamerCreator.py:44
newFWLiteAna.build
build
Definition: newFWLiteAna.py:126
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
fileCollector.seed
seed
Definition: fileCollector.py:127
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
DetId
Definition: DetId.h:17
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
PTrajectoryStateOnDet::detId
unsigned int detId() const
Definition: PTrajectoryStateOnDet.h:65
TrajectoryStateOnSurface::freeState
FreeTrajectoryState const * freeState(bool withErrors=true) const
Definition: TrajectoryStateOnSurface.h:58
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
nHits
const caConstants::TupleMultiplicity *__restrict__ const HitsOnGPU *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ uint32_t nHits
Definition: BrokenLineFitOnGPU.h:27
CtfSpecialSeedGenerator::run
bool run(const edm::EventSetup &c, const edm::Event &e, TrajectorySeedCollection &output)
Definition: CtfSpecialSeedGenerator.cc:136
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
edm::ESHandle< Propagator >
Point3DBase< float, GlobalTag >
CtfSpecialSeedGenerator::theMaxSeeds
int32_t theMaxSeeds
Definition: CtfSpecialSeedGenerator.h:90
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
InitialStep_cff.seeds
seeds
Definition: InitialStep_cff.py:231
CtfSpecialSeedGenerator::postCheck
bool postCheck(const TrajectorySeed &seed)
Definition: CtfSpecialSeedGenerator.cc:242
edm::ParameterSet
Definition: ParameterSet.h:47
OrderedSeedingHits::size
virtual unsigned int size() const =0
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
trajectoryStateTransform::transientState
TrajectoryStateOnSurface transientState(const PTrajectoryStateOnDet &ts, const Surface *surface, const MagneticField *field)
Definition: TrajectoryStateTransform.cc:35
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
CtfSpecialSeedGenerator::preliminaryCheck
bool preliminaryCheck(const SeedingHitSet &shs, const edm::EventSetup &es)
Definition: CtfSpecialSeedGenerator.cc:190
PV3DBase::mag
T mag() const
Definition: PV3DBase.h:64
CtfSpecialSeedGenerator::theMagfield
edm::ESHandle< MagneticField > theMagfield
Definition: CtfSpecialSeedGenerator.h:70
SeedingHitSet::size
unsigned int size() const
Definition: SeedingHitSet.h:41
eostools.move
def move(src, dest)
Definition: eostools.py:511
CtfSpecialSeedGenerator::theNavDirs
std::vector< NavigationDirection > theNavDirs
Definition: CtfSpecialSeedGenerator.h:82
RectangularPlaneBounds
Definition: RectangularPlaneBounds.h:12
outsideIn
Definition: NavigationDirection.h:4
RunInfoPI::state
state
Definition: RunInfoPayloadInspectoHelper.h:16
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
CtfSpecialSeedGenerator::requireBOFF
bool requireBOFF
Definition: CtfSpecialSeedGenerator.h:89
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
insideOut
Definition: NavigationDirection.h:4
AlignmentPI::regions
regions
Definition: AlignmentPayloadInspectorHelper.h:76
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
PTrajectoryStateOnDet
Definition: PTrajectoryStateOnDet.h:10
StraightLinePlaneCrossing
Definition: StraightLinePlaneCrossing.h:14
ClusterChecker::tooManyClusters
size_t tooManyClusters(const edm::Event &e) const
Definition: ClusterChecker.cc:44
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
alongMomentum
Definition: PropagationDirection.h:4
Basic3DVector< float >
CtfSpecialSeedGenerator::theTracker
edm::ESHandle< TrackerGeometry > theTracker
Definition: CtfSpecialSeedGenerator.h:71
CtfSpecialSeedGenerator::conf_
edm::ParameterSet conf_
Definition: CtfSpecialSeedGenerator.h:69
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
CtfSpecialSeedGenerator::theBuilder
edm::ESHandle< TransientTrackingRecHitBuilder > theBuilder
Definition: CtfSpecialSeedGenerator.h:72
CtfSpecialSeedGenerator::theRegionProducer
std::unique_ptr< TrackingRegionProducer > theRegionProducer
Definition: CtfSpecialSeedGenerator.h:83
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
CtfSpecialSeedGenerator::thePropDirs
std::vector< PropagationDirection > thePropDirs
Definition: CtfSpecialSeedGenerator.h:81
TrackingComponentsRecord
Definition: TrackingComponentsRecord.h:12