Go to the documentation of this file.00001
00002 #ifndef EgAmbiguityTools_H
00003 #define EgAmbiguityTools_H
00004
00005 class MultiTrajectoryStateTransform ;
00006 class MultiTrajectoryStateMode ;
00007
00008 #include "RecoEgamma/EgammaIsolationAlgos/interface/EgammaTowerIsolation.h"
00009 #include "RecoEgamma/EgammaIsolationAlgos/interface/EgammaRecHitIsolation.h"
00010 #include "RecoEgamma/EgammaIsolationAlgos/interface/ElectronTkIsolation.h"
00011
00012 #include "MagneticField/Engine/interface/MagneticField.h"
00013 #include "TrackingTools/MaterialEffects/interface/PropagatorWithMaterial.h"
00014 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00015
00016 #include "RecoTracker/MeasurementDet/interface/MeasurementTracker.h"
00017 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
00018 #include "Geometry/CaloTopology/interface/CaloTopology.h"
00019
00020 #include "FWCore/Framework/interface/ESHandle.h"
00021 #include "FWCore/Framework/interface/EventSetup.h"
00022 #include "FWCore/Framework/interface/Event.h"
00023
00024 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
00025 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
00026 #include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h"
00027 #include "DataFormats/GsfTrackReco/interface/GsfTrackFwd.h"
00028 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00029 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
00030 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00031 #include "DataFormats/TrackReco/interface/HitPattern.h"
00032 #include "DataFormats/Common/interface/ValueMap.h"
00033 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00034
00035 #include <list>
00036
00037 namespace EgAmbiguityTools
00038 {
00039
00040 float sharedEnergy
00041 ( const reco::CaloCluster *, const reco::CaloCluster *,
00042 edm::Handle<EcalRecHitCollection> & reducedEBRecHits,
00043 edm::Handle<EcalRecHitCollection> & reducedEERecHits ) ;
00044 float sharedEnergy
00045 ( const reco::SuperClusterRef &, const reco::SuperClusterRef &,
00046 edm::Handle<EcalRecHitCollection> & reducedEBRecHits,
00047 edm::Handle<EcalRecHitCollection> & reducedEERecHits ) ;
00048
00049
00050 int sharedHits( const reco::GsfTrackRef &, const reco::GsfTrackRef & ) ;
00051 int sharedDets( const reco::GsfTrackRef &, const reco::GsfTrackRef & ) ;
00052
00053
00054 bool isBetter( const reco::GsfElectron *, const reco::GsfElectron * ) ;
00055 struct isInnerMost
00056 {
00057 edm::ESHandle<TrackerGeometry> trackerHandle_ ;
00058 isInnerMost( edm::ESHandle<TrackerGeometry> & geom ) : trackerHandle_(geom) {}
00059 bool operator()( const reco::GsfElectron *, const reco::GsfElectron * ) ;
00060 } ;
00061
00062 }
00063
00064 #endif
00065
00066