CMS 3D CMS Logo

SeedFromGenericPairOrTriplet.h
Go to the documentation of this file.
1 #ifndef SpecialSeedGenerators_SeedFromGenericPairOrTriplet_h
2 #define SpecialSeedGenerators_SeedFromGenericPairOrTriplet_h
3 /*
4 Class that produces a TrajectorySeed from a generic hit pair or triplet withou the vertex constraint.
5 If used without B (e.g. cosmics) it checks the three hits are aligned.
6 If used with B it checks the initial state has a momentum greated than the threshold set in the cfg
7 */
8 //FWK
11 //DataFormats
15 //RecoLocal
17 //TrackingTools
23 //Geometry
25 //MagneticField
27 
28 #include <vector>
29 
31 public:
33  const TrackerGeometry* geom,
34  const TransientTrackingRecHitBuilder* builder,
37  const std::vector<int>& charges,
38  bool momFromPSet,
39  double errorRescaling);
41  void setMomentumTo(double mom) { theP = mom; };
42  bool momentumFromPSet() { return theSetMomentum; };
43  //builds a seed from a pair or triplet. it returns a null pointer if the seed does not pass the quality filter
44  std::vector<TrajectorySeed*> seed(const SeedingHitSet& hits,
46  const NavigationDirection& seedDir,
47  const edm::EventSetup& iSetup);
50  const NavigationDirection& seedDir,
51  const edm::EventSetup& iSetup,
52  int charge = -1) const;
55  const NavigationDirection& seedDir,
56  int charge = -1) const;
57 
58 private:
59  TrajectorySeed* buildSeed(const GlobalVector& momentum,
60  int charge,
61  //const TrackingRecHit* firsthit,
62  std::vector<const BaseTrackerRecHit*>& trHits,
63  const PropagationDirection& dir) const;
64  //initial error estimate
65  //CurvilinearTrajectoryError initialError(const TrackingRecHit* rechit);
66  //in the case of noB it returns false if 3 hist are not aligned
67  //if the B is on it returns false if the initial momentum is less than p
68  bool qualityFilter(const SeedingHitSet& hits) const;
69  bool qualityFilter(const GlobalVector& momentum) const;
75 
76  float theP;
78  std::vector<int> theCharges;
80 };
81 
82 #endif
Vector3DBase
Definition: Vector3DBase.h:8
SeedFromGenericPairOrTriplet::theP
float theP
Definition: SeedFromGenericPairOrTriplet.h:76
Propagator.h
CosmicGenFilterHelix_cfi.charges
charges
only generated particles of these IDs are considered
Definition: CosmicGenFilterHelix_cfi.py:6
SeedFromGenericPairOrTriplet::seedFromTriplet
TrajectorySeed * seedFromTriplet(const SeedingHitSet &hits, const PropagationDirection &dir, const NavigationDirection &seedDir, const edm::EventSetup &iSetup, int charge=-1) const
Definition: SeedFromGenericPairOrTriplet.cc:65
FreeTrajectoryState.h
TrackerGeometry.h
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
SeedFromGenericPairOrTriplet::~SeedFromGenericPairOrTriplet
~SeedFromGenericPairOrTriplet()
Definition: SeedFromGenericPairOrTriplet.h:40
SeedingHitSet
Definition: SeedingHitSet.h:6
SeedFromGenericPairOrTriplet::buildSeed
TrajectorySeed * buildSeed(const GlobalVector &momentum, int charge, std::vector< const BaseTrackerRecHit * > &trHits, const PropagationDirection &dir) const
Definition: SeedFromGenericPairOrTriplet.cc:205
SeedFromGenericPairOrTriplet::seed
std::vector< TrajectorySeed * > seed(const SeedingHitSet &hits, const PropagationDirection &dir, const NavigationDirection &seedDir, const edm::EventSetup &iSetup)
Definition: SeedFromGenericPairOrTriplet.cc:28
SeedFromGenericPairOrTriplet::SeedFromGenericPairOrTriplet
SeedFromGenericPairOrTriplet(const MagneticField *mf, const TrackerGeometry *geom, const TransientTrackingRecHitBuilder *builder, const Propagator *propagatorAlong, const Propagator *propagatorOpposite, const std::vector< int > &charges, bool momFromPSet, double errorRescaling)
Definition: SeedFromGenericPairOrTriplet.cc:11
SeedFromGenericPairOrTriplet::momentumFromPSet
bool momentumFromPSet()
Definition: SeedFromGenericPairOrTriplet.h:42
SeedFromGenericPairOrTriplet::theMagfield
const MagneticField * theMagfield
Definition: SeedFromGenericPairOrTriplet.h:70
Propagator
Definition: Propagator.h:44
TrackingRecHit.h
SeedingHitSet.h
SeedFromGenericPairOrTriplet::theTracker
const TrackerGeometry * theTracker
Definition: SeedFromGenericPairOrTriplet.h:71
HLTSiStripMonitoring_cff.errorRescaling
errorRescaling
Definition: HLTSiStripMonitoring_cff.py:192
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
TrajectorySeed.h
SeedFromGenericPairOrTriplet::thePropagatorOpposite
const Propagator * thePropagatorOpposite
Definition: SeedFromGenericPairOrTriplet.h:74
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
HLT_FULL_cff.propagatorOpposite
propagatorOpposite
Definition: HLT_FULL_cff.py:116
SeedFromGenericPairOrTriplet::thePropagatorAlong
const Propagator * thePropagatorAlong
Definition: SeedFromGenericPairOrTriplet.h:73
SeedFromGenericPairOrTriplet::seedFromPair
TrajectorySeed * seedFromPair(const SeedingHitSet &hits, const PropagationDirection &dir, const NavigationDirection &seedDir, int charge=-1) const
Definition: SeedFromGenericPairOrTriplet.cc:150
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:58
SeedFromGenericPairOrTriplet::theErrorRescaling
double theErrorRescaling
Definition: SeedFromGenericPairOrTriplet.h:79
PropagationDirection.h
HLT_FULL_cff.propagatorAlong
propagatorAlong
Definition: HLT_FULL_cff.py:118
NavigationDirection
NavigationDirection
Definition: NavigationDirection.h:4
SeedFromGenericPairOrTriplet::qualityFilter
bool qualityFilter(const SeedingHitSet &hits) const
Definition: SeedFromGenericPairOrTriplet.cc:292
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
TrajectorySeed
Definition: TrajectorySeed.h:18
EventSetup.h
TrajectoryStateTransform.h
TransientTrackingRecHitBuilder.h
SeedFromGenericPairOrTriplet::theBuilder
const TransientTrackingRecHitBuilder * theBuilder
Definition: SeedFromGenericPairOrTriplet.h:72
ParameterSet.h
NavigationDirection.h
SeedFromGenericPairOrTriplet
Definition: SeedFromGenericPairOrTriplet.h:30
MagneticField
Definition: MagneticField.h:19
TransientTrackingRecHitBuilder
Definition: TransientTrackingRecHitBuilder.h:6
SeedFromGenericPairOrTriplet::theSetMomentum
bool theSetMomentum
Definition: SeedFromGenericPairOrTriplet.h:77
SeedFromGenericPairOrTriplet::theCharges
std::vector< int > theCharges
Definition: SeedFromGenericPairOrTriplet.h:78
SeedFromGenericPairOrTriplet::setMomentumTo
void setMomentumTo(double mom)
Definition: SeedFromGenericPairOrTriplet.h:41
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
TrackerGeometry
Definition: TrackerGeometry.h:14