File indexing completed on 2024-04-06 12:28:01
0001 #ifndef PhotonConversionFinderFromTracks_H
0002 #define PhotonConversionFinderFromTracks_H
0003
0004 #include "FWCore/Framework/interface/Frameworkfwd.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0008 #include "FWCore/Framework/interface/ConsumesCollector.h"
0009
0010 #include "SeedForPhotonConversionFromQuadruplets.h"
0011 #include "RecoTracker/TkSeedGenerator/interface/FastHelix.h"
0012
0013 #include "PrintRecoObjects.h"
0014
0015 #include "DataFormats/VertexReco/interface/Vertex.h"
0016 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0017 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0018 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0019
0020 #include "CombinedHitQuadrupletGeneratorForPhotonConversion.h"
0021
0022 #include "RecoTracker/SpecialSeedGenerators/interface/ClusterChecker.h"
0023 #include "RecoTracker/TkTrackingRegions/interface/GlobalTrackingRegionProducerFromBeamSpot.h"
0024
0025 #include <sstream>
0026
0027 class PhotonConversionTrajectorySeedProducerFromQuadrupletsAlgo {
0028 public:
0029 PhotonConversionTrajectorySeedProducerFromQuadrupletsAlgo(const edm::ParameterSet&, edm::ConsumesCollector&& iC);
0030 ~PhotonConversionTrajectorySeedProducerFromQuadrupletsAlgo();
0031
0032 void analyze(const edm::Event& event, const edm::EventSetup& setup);
0033 TrajectorySeedCollection* getTrajectorySeedCollection() { return seedCollection; }
0034
0035 private:
0036 void loop();
0037 bool inspect(const TrackingRegion& region);
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050 const edm::ParameterSet _conf;
0051
0052 TrajectorySeedCollection* seedCollection;
0053 ClusterChecker theClusterCheck;
0054 edm::ParameterSet QuadCutPSet;
0055 bool theSilentOnClusterCheck;
0056
0057 std::unique_ptr<CombinedHitQuadrupletGeneratorForPhotonConversion> theHitsGenerator;
0058 std::unique_ptr<SeedForPhotonConversionFromQuadruplets> theSeedCreator;
0059 std::unique_ptr<GlobalTrackingRegionProducerFromBeamSpot> theRegionProducer;
0060
0061 typedef std::vector<std::unique_ptr<TrackingRegion> > Regions;
0062 typedef Regions::const_iterator IR;
0063 Regions regions;
0064
0065 edm::Handle<reco::VertexCollection> vertexHandle;
0066 reco::VertexCollection vertexCollection;
0067 reco::Vertex primaryVertex;
0068 edm::EDGetTokenT<reco::VertexCollection> token_vertex;
0069
0070 const edm::EventSetup* myEsetup;
0071 const edm::Event* myEvent;
0072
0073 PrintRecoObjects po;
0074
0075 std::stringstream ss;
0076 };
0077 #endif