CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ElectronSeedGenerator.h
Go to the documentation of this file.
1 #ifndef ElectronSeedGenerator_H
2 #define ElectronSeedGenerator_H
3 
17 
21 
25 
29 //#include "DataFormats/EgammaReco/interface/SuperCluster.h"
35 
40 
41 
43 class KFUpdator;
44 class PixelHitMatcher;
45 class MeasurementTracker;
46 class NavigationSchool;
47 class TrackerTopology;
48 
50 {
51  public:
52 
57 
60 
61  void setupES(const edm::EventSetup& setup);
62  void run(
64  const reco::SuperClusterRefVector &, const std::vector<float> & hoe1s, const std::vector<float> & hoe2s,
66 
67  private:
68 
69  void seedsFromThisCluster( edm::Ref<reco::SuperClusterCollection> seedCluster, float hoe1, float hoe2, reco::ElectronSeedCollection & out, const TrackerTopology *tTopo ) ;
70  void seedsFromRecHits( std::vector<std::pair<RecHitWithDist,ConstRecHitPointer> > & elePixelHits, PropagationDirection & dir, const GlobalPoint & vertexPos, const reco::ElectronSeed::CaloClusterRef & cluster, reco::ElectronSeedCollection & out, bool positron ) ;
71  void seedsFromTrajectorySeeds( const std::vector<SeedWithInfo> & elePixelSeeds, const reco::ElectronSeed::CaloClusterRef & cluster, float hoe1, float hoe2, reco::ElectronSeedCollection & out, bool positron ) ;
72  void addSeed( reco::ElectronSeed & seed, const SeedWithInfo * info, bool positron, reco::ElectronSeedCollection & out ) ;
73  bool prepareElTrackSeed( ConstRecHitPointer outerhit,ConstRecHitPointer innerhit, const GlobalPoint & vertexPos) ;
74 
77  // edm::InputTag initialSeeds_;
81 
84 
87  float nSigmasDeltaZ1_; // first z window size if not using the reco vertex
88  float deltaZ1WithVertex_; // first z window size when using the reco vertex
90  float phiMin2B_ ;
91  float phiMax2B_ ;
92  float phiMin2F_ ;
93  float phiMax2F_ ;
95  float deltaPhi2B_;
96  float deltaPhi2F_;
97 
98  // so that deltaPhi1 = deltaPhi1Coef1_ + deltaPhi1Coef2_/clusterEnergyT
99  double deltaPhi1Coef1_ ;
101 
104 
105  // edm::Handle<TrajectorySeedCollection> theInitialSeedColl;
107 
110  //edm::ESHandle<GeometricSearchTracker> theGeomSearchTracker;
113 
117 
119 
120 
123 
124  // keep cacheIds to get records only when necessary
125  unsigned long long cacheIDMagField_;
126 // unsigned long long cacheIDGeom_;
127  unsigned long long cacheIDNavSchool_;
128  unsigned long long cacheIDCkfComp_;
129  unsigned long long cacheIDTrkGeom_;
130 };
131 
132 #endif // ElectronSeedGenerator_H
133 
134 
unsigned long long cacheIDNavSchool_
PixelHitMatcher * myMatchEle
void setupES(const edm::EventSetup &setup)
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
const NavigationSchool * theNavigationSchool
const edm::EventSetup * theSetup
unsigned long long cacheIDMagField_
PropagationDirection
void run(edm::Event &, const edm::EventSetup &setup, const reco::SuperClusterRefVector &, const std::vector< float > &hoe1s, const std::vector< float > &hoe2s, TrajectorySeedCollection *seeds, reco::ElectronSeedCollection &)
edm::Handle< std::vector< reco::Vertex > > theVertices
std::vector< ConstRecHitPointer > RecHitContainer
unsigned long long cacheIDTrkGeom_
edm::OwnVector< TrackingRecHit > PRecHitContainer
TrajectorySeedCollection * theInitialSeedColl
PTrajectoryStateOnDet pts_
edm::ESHandle< TrackerGeometry > theTrackerGeometry
void seedsFromThisCluster(edm::Ref< reco::SuperClusterCollection > seedCluster, float hoe1, float hoe2, reco::ElectronSeedCollection &out, const TrackerTopology *tTopo)
std::vector< TrajectorySeed > TrajectorySeedCollection
TransientTrackingRecHit::RecHitPointer RecHitPointer
TransientTrackingRecHit::RecHitContainer RecHitContainer
PropagatorWithMaterial * thePropagator
edm::Handle< reco::BeamSpot > theBeamSpot
std::vector< ElectronSeed > ElectronSeedCollection
collection of ElectronSeed objects
ElectronSeedGenerator(const edm::ParameterSet &)
PixelHitMatcher * myMatchPos
tuple out
Definition: dbtoconf.py:99
void seedsFromRecHits(std::vector< std::pair< RecHitWithDist, ConstRecHitPointer > > &elePixelHits, PropagationDirection &dir, const GlobalPoint &vertexPos, const reco::ElectronSeed::CaloClusterRef &cluster, reco::ElectronSeedCollection &out, bool positron)
bool prepareElTrackSeed(ConstRecHitPointer outerhit, ConstRecHitPointer innerhit, const GlobalPoint &vertexPos)
void addSeed(reco::ElectronSeed &seed, const SeedWithInfo *info, bool positron, reco::ElectronSeedCollection &out)
edm::ESHandle< MagneticField > theMagField
const MeasurementTracker * theMeasurementTracker
dbl *** dir
Definition: mlp_gen.cc:35
void seedsFromTrajectorySeeds(const std::vector< SeedWithInfo > &elePixelSeeds, const reco::ElectronSeed::CaloClusterRef &cluster, float hoe1, float hoe2, reco::ElectronSeedCollection &out, bool positron)
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
unsigned long long cacheIDCkfComp_