CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/RecoTracker/ConversionSeedGenerators/interface/PhotonConversionTrajectorySeedProducerFromQuadrupletsAlgo.h

Go to the documentation of this file.
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