Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:17

0001 #ifndef SegmentsTrackAssociator_H
0002 #define SegmentsTrackAssociator_H
0003 
0004 /** \class SegmentsTrackAssociator
0005  *
0006  *  tool which take as input a muon track and return a vector 
0007  *  with the segments used to fit it
0008  *
0009  *  \author C. Botta, G. Mila - INFN Torino
0010  */
0011 
0012 #include "FWCore/Framework/interface/Frameworkfwd.h"
0013 #include "FWCore/Framework/interface/Event.h"
0014 #include "FWCore/Framework/interface/MakerMacros.h"
0015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0016 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0017 #include "FWCore/Utilities/interface/InputTag.h"
0018 
0019 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0020 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
0021 #include "TrackingTools/PatternTools/interface/TrajectoryMeasurement.h"
0022 #include "TrackingTools/DetLayers/interface/DetLayer.h"
0023 #include "TrackingTools/PatternTools/interface/TrajMeasLessEstim.h"
0024 #include "RecoMuon/TrackingTools/interface/MuonPatternRecoDumper.h"
0025 #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h"
0026 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0027 #include "DataFormats/TrackReco/interface/Track.h"
0028 
0029 #include "DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h"
0030 #include "DataFormats/CSCRecHit/interface/CSCSegmentCollection.h"
0031 #include "FWCore/Framework/interface/ConsumesCollector.h"
0032 
0033 namespace edm {
0034   class ParameterSet;
0035   class Event;
0036   class EventSetup;
0037 }  // namespace edm
0038 class GlobalTrackingGeometryRecord;
0039 
0040 class SegmentsTrackAssociator {
0041 public:
0042   /// Constructor
0043   SegmentsTrackAssociator(const edm::ParameterSet&, edm::ConsumesCollector& iC);
0044 
0045   /// Destructor
0046   virtual ~SegmentsTrackAssociator();
0047 
0048   /// Get the analysis
0049   MuonTransientTrackingRecHit::MuonRecHitContainer associate(const edm::Event&,
0050                                                              const edm::EventSetup&,
0051                                                              const reco::Track&);
0052 
0053 private:
0054   // the counters
0055   int numRecHit;
0056   int numRecHitDT;
0057   int numRecHitCSC;
0058 
0059   // collection label
0060   edm::InputTag theDTSegmentLabel;
0061   edm::InputTag theCSCSegmentLabel;
0062   edm::InputTag theSegmentContainerName;
0063 
0064   edm::EDGetTokenT<DTRecSegment4DCollection> dtSegmentsToken;
0065   edm::EDGetTokenT<CSCSegmentCollection> cscSegmentsToken;
0066   edm::ESGetToken<GlobalTrackingGeometry, GlobalTrackingGeometryRecord> trackingGeometryToken;
0067 
0068   std::string metname;
0069 };
0070 
0071 #endif