Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-09-16 00:05:53

0001 #ifndef L2TauPixelTrackMatch_h
0002 #define L2TauPixelTrackMatch_h
0003 
0004 #include "FWCore/Framework/interface/global/EDProducer.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Utilities/interface/InputTag.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "DataFormats/Math/interface/Point3D.h"
0009 #include <vector>
0010 
0011 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0012 #include "DataFormats/TrackReco/interface/Track.h"
0013 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0014 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0015 
0016 /** class L2TauPixelTrackMatch
0017  * this producer creates a new L2 tau jet collection with jets' vertices redefined 
0018  * from vertex z (relative to beamspot) of dr-matched pixel tracks 
0019  * that are above some pt threshold and beamline x & y.
0020  */
0021 class L2TauPixelTrackMatch : public edm::global::EDProducer<> {
0022 public:
0023   explicit L2TauPixelTrackMatch(const edm::ParameterSet&);
0024   ~L2TauPixelTrackMatch() override;
0025   void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0026 
0027 private:
0028   struct TinyTrack {
0029     float pt, eta, phi;
0030     math::XYZPoint vtx;
0031   };
0032 
0033   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> m_jetSrc;
0034   float m_jetMinPt;
0035   float m_jetMaxEta;
0036   edm::EDGetTokenT<reco::TrackCollection> m_trackSrc;
0037   float m_trackMinPt;
0038   float m_deltaR;
0039   edm::EDGetTokenT<reco::BeamSpot> m_beamSpotTag;
0040 };
0041 
0042 #endif