Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-10-01 22:41:01

0001 #ifndef CosmicRegionalSeedGenerator_h
0002 #define CosmicRegionalSeedGenerator_h
0003 
0004 //
0005 // Class:           CosmicRegionalSeedGenerator
0006 
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0009 #include "FWCore/Framework/interface/EDProducer.h"
0010 #include "FWCore/Framework/interface/Event.h"
0011 #include "FWCore/Framework/interface/EventSetup.h"
0012 #include "FWCore/Utilities/interface/InputTag.h"
0013 #include "FWCore/Framework/interface/ESHandle.h"
0014 
0015 #include "DataFormats/Common/interface/Handle.h"
0016 #include "DataFormats/Math/interface/Vector3D.h"
0017 #include "DataFormats/TrackReco/interface/Track.h"
0018 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0019 
0020 #include "RecoTracker/TkTrackingRegions/interface/TrackingRegionProducer.h"
0021 #include "RecoTracker/TkTrackingRegions/interface/GlobalTrackingRegion.h"
0022 #include "RecoTracker/SpecialSeedGenerators/interface/CosmicTrackingRegion.h"
0023 
0024 #include "DataFormats/HLTReco/interface/TriggerObject.h"
0025 #include "FWCore/Common/interface/TriggerNames.h"
0026 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
0027 #include "TrackingTools/Records/interface/TrackingComponentsRecord.h"
0028 #include "TrackingTools/GeomPropagators/interface/StateOnTrackerBound.h"
0029 #include "RecoTracker/MeasurementDet/interface/MeasurementTrackerEvent.h"
0030 
0031 // Math
0032 #include "Math/GenVector/VectorUtil.h"
0033 #include "Math/GenVector/PxPyPzE4D.h"
0034 
0035 //Geometry
0036 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0037 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0038 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0039 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0040 #include "FWCore/Framework/interface/ConsumesCollector.h"
0041 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
0042 #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h"
0043 #include "Geometry/Records/interface/IdealGeometryRecord.h"
0044 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0045 #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
0046 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0047 #include "TrackingTools/GeomPropagators/interface/Propagator.h"
0048 
0049 class CosmicRegionalSeedGenerator : public TrackingRegionProducer {
0050 public:
0051   explicit CosmicRegionalSeedGenerator(const edm::ParameterSet& conf, edm::ConsumesCollector&& iC);
0052 
0053   ~CosmicRegionalSeedGenerator() override {}
0054 
0055   std::vector<std::unique_ptr<TrackingRegion> > regions(const edm::Event& event,
0056                                                         const edm::EventSetup& es) const override;
0057 
0058 private:
0059   float ptMin_;
0060   float rVertex_;
0061   float zVertex_;
0062   float deltaEta_;
0063   float deltaPhi_;
0064 
0065   std::string regionBase_;
0066 
0067   edm::ESGetToken<Propagator, TrackingComponentsRecord> propagatorToken_;
0068   edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magfieldToken_;
0069 
0070   edm::InputTag recoMuonsCollection_;
0071   edm::InputTag recoTrackMuonsCollection_;
0072   edm::InputTag recoL2MuonsCollection_;
0073   edm::EDGetTokenT<reco::CaloJetCollection> recoCaloJetsToken_;
0074   edm::EDGetTokenT<reco::MuonCollection> recoMuonsToken_;
0075   edm::EDGetTokenT<reco::TrackCollection> recoTrackMuonsToken_;
0076   edm::EDGetTokenT<reco::RecoChargedCandidateCollection> recoL2MuonsToken_;
0077   edm::EDGetTokenT<MeasurementTrackerEvent> measurementTrackerEventToken_;
0078 
0079   bool doJetsExclusionCheck_;
0080   double deltaRExclusionSize_;
0081   double jetsPtMin_;
0082   edm::InputTag recoCaloJetsCollection_;
0083 };
0084 
0085 #endif