00001 #ifndef PhotonConversionFinderFromTracks_H 00002 #define PhotonConversionFinderFromTracks_H 00003 00004 #include "FWCore/Framework/interface/Frameworkfwd.h" 00005 #include "FWCore/Framework/interface/EDAnalyzer.h" 00006 #include "FWCore/Framework/interface/Event.h" 00007 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00008 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00009 00010 #include "RecoTracker/ConversionSeedGenerators/interface/SeedForPhotonConversionFromQuadruplets.h" 00011 #include "RecoTracker/TkSeedGenerator/interface/FastHelix.h" 00012 00013 00014 #include "RecoTracker/ConversionSeedGenerators/interface/PrintRecoObjects.h" 00015 00016 #include "DataFormats/VertexReco/interface/Vertex.h" 00017 #include "DataFormats/VertexReco/interface/VertexFwd.h" 00018 #include "DataFormats/BeamSpot/interface/BeamSpot.h" 00019 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00020 00021 #include "RecoTracker/ConversionSeedGenerators/interface/CombinedHitQuadrupletGeneratorForPhotonConversion.h" 00022 00023 #include "RecoTracker/SpecialSeedGenerators/interface/ClusterChecker.h" 00024 #include "RecoTracker/TkTrackingRegions/plugins/GlobalTrackingRegionProducerFromBeamSpot.h" 00025 00026 #include "sstream" 00027 #include "boost/foreach.hpp" 00028 00029 class PhotonConversionTrajectorySeedProducerFromQuadrupletsAlgo{ 00030 00031 public: 00032 PhotonConversionTrajectorySeedProducerFromQuadrupletsAlgo(const edm::ParameterSet &); 00033 ~PhotonConversionTrajectorySeedProducerFromQuadrupletsAlgo(){}; 00034 00035 void init(); 00036 void clear(); 00037 00038 void analyze(const edm::Event & event, const edm::EventSetup & setup); 00039 TrajectorySeedCollection* getTrajectorySeedCollection(){return seedCollection;} 00040 00041 private: 00042 00043 void loop(); 00044 bool inspect(const TrackingRegion & region); 00045 00046 //Data Members 00047 const edm::ParameterSet _conf; 00048 00049 TrajectorySeedCollection *seedCollection; 00050 CombinedHitQuadrupletGeneratorForPhotonConversion * theHitsGenerator; 00051 SeedForPhotonConversionFromQuadruplets *theSeedCreator; 00052 GlobalTrackingRegionProducerFromBeamSpot* theRegionProducer; 00053 00054 edm::ParameterSet hitsfactoryPSet,creatorPSet,regfactoryPSet; 00055 00056 ClusterChecker theClusterCheck; 00057 bool theSilentOnClusterCheck; 00058 00059 typedef std::vector<TrackingRegion* > Regions; 00060 typedef Regions::const_iterator IR; 00061 Regions regions; 00062 00063 edm::Handle<reco::VertexCollection> vertexHandle; 00064 reco::VertexCollection vertexCollection; 00065 reco::Vertex primaryVertex; 00066 00067 const edm::EventSetup* myEsetup; 00068 const edm::Event* myEvent; 00069 00070 PrintRecoObjects po; 00071 00072 std::stringstream ss; 00073 00074 }; 00075 #endif