CMS 3D CMS Logo

ElectronSeedGenerator.h
Go to the documentation of this file.
1 #ifndef ElectronSeedGenerator_H
2 #define ElectronSeedGenerator_H
3 
17 
21 
25 
34 
40 
42 
44 public:
45  struct Tokens {
48  };
49 
54 
56 
57  void setupES(const edm::EventSetup& setup);
58  void run(edm::Event&,
59  const edm::EventSetup& setup,
61  const std::vector<const TrajectorySeedCollection*>& seedsV,
63 
64 private:
66  reco::BeamSpot const& beamSpot,
67  std::vector<reco::Vertex> const* vertices,
69 
70  const bool dynamicPhiRoad_;
73 
74  const float lowPtThresh_;
75  const float highPtThresh_;
76  const float nSigmasDeltaZ1_; // first z window size if not using the reco vertex
77  const float deltaZ1WithVertex_; // first z window size when using the reco vertex
78  const float sizeWindowENeg_;
79 
80  const float deltaPhi1Low_;
81  const float deltaPhi1High_;
82 
83  // so that deltaPhi1 = dPhi1Coef1_ + dPhi1Coef2_/clusterEnergyT
84  const double dPhi1Coef2_;
85  const double dPhi1Coef1_;
86 
87  const std::vector<const TrajectorySeedCollection*>* initialSeedCollectionVector_ = nullptr;
88 
91  std::unique_ptr<PropagatorWithMaterial> propagator_;
92 
93  // keep cacheIds to get records only when necessary
94  unsigned long long cacheIDMagField_ = 0;
95  unsigned long long cacheIDCkfComp_ = 0;
96  unsigned long long cacheIDTrkGeom_ = 0;
97 
98  const bool useRecoVertex_;
99 
100  const float deltaPhi2B_;
101  const float deltaPhi2F_;
102 
103  const float phiMin2B_;
104  const float phiMin2F_;
105  const float phiMax2B_;
106  const float phiMax2F_;
107 
110 };
111 
112 #endif // ElectronSeedGenerator_H
void seedsFromThisCluster(edm::Ref< reco::SuperClusterCollection > seedCluster, reco::BeamSpot const &beamSpot, std::vector< reco::Vertex > const *vertices, reco::ElectronSeedCollection &out)
edm::EDGetTokenT< reco::BeamSpot > token_bs
const edm::EDGetTokenT< std::vector< reco::Vertex > > verticesTag_
void setupES(const edm::EventSetup &setup)
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
std::vector< ConstRecHitPointer > RecHitContainer
edm::ESHandle< TrackerGeometry > trackerGeometry_
unsigned long long cacheIDMagField_
unsigned long long cacheIDTrkGeom_
edm::OwnVector< TrackingRecHit > PRecHitContainer
const std::vector< const TrajectorySeedCollection * > * initialSeedCollectionVector_
void run(edm::Event &, const edm::EventSetup &setup, const reco::SuperClusterRefVector &, const std::vector< const TrajectorySeedCollection * > &seedsV, reco::ElectronSeedCollection &)
TransientTrackingRecHit::RecHitPointer RecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
const edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
TransientTrackingRecHit::RecHitContainer RecHitContainer
std::vector< ElectronSeed > ElectronSeedCollection
collection of ElectronSeed objects
std::shared_ptr< TrackingRecHit const > RecHitPointer
std::unique_ptr< PropagatorWithMaterial > propagator_
PixelHitMatcher electronMatcher_
PixelHitMatcher positronMatcher_
ElectronSeedGenerator(const edm::ParameterSet &, const Tokens &)
edm::ESHandle< MagneticField > magField_
edm::EDGetTokenT< std::vector< reco::Vertex > > token_vtx
unsigned long long cacheIDCkfComp_