Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:03

0001 #ifndef myTrackAnalyzer_h
0002 #define myTrackAnalyzer_h
0003 
0004 #include <memory>
0005 
0006 #include "FWCore/Framework/interface/Frameworkfwd.h"
0007 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0008 #include "FWCore/Framework/interface/Event.h"
0009 #include "FWCore/Framework/interface/MakerMacros.h"
0010 #include "FWCore/Utilities/interface/InputTag.h"
0011 
0012 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0013 #include "DataFormats/TrackReco/interface/Track.h"
0014 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
0015 
0016 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0017 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
0018 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0019 
0020 //add simhit info
0021 #include "SimTracker/TrackerHitAssociation/interface/TrackerHitAssociator.h"
0022 //--- for SimHit
0023 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
0024 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0025 
0026 //simtrack
0027 //#include "SimDataFormats/HepMCProduct/interface/HepMCProduct.h"
0028 #include "SimDataFormats/Track/interface/SimTrack.h"
0029 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
0030 #include "SimDataFormats/Vertex/interface/SimVertex.h"
0031 #include "SimDataFormats/Vertex/interface/SimVertexContainer.h"
0032 
0033 #include <iostream>
0034 #include <string>
0035 #include <map>
0036 #include <set>
0037 
0038 class SiStripHitAssociator;
0039 
0040 class myTrackAnalyzer : public edm::one::EDAnalyzer<> {
0041 public:
0042   typedef std::map<const TrackingRecHit*, int> sim_id_map;
0043   sim_id_map SimIdMap;
0044 
0045   explicit myTrackAnalyzer(const edm::ParameterSet& conf);
0046 
0047   ~myTrackAnalyzer() override = default;
0048 
0049   void analyze(const edm::Event& event, const edm::EventSetup& setup) override;
0050 
0051 private:
0052   TrackerHitAssociator::Config trackerHitAssociatorConfig_;
0053   const bool doPixel_, doStrip_;
0054   const edm::InputTag trackCollectionTag_;
0055   const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> tokGeo_;
0056   const edm::EDGetTokenT<reco::TrackCollection> tokTrack_;
0057   const edm::EDGetTokenT<edm::SimTrackContainer> tokSimTk_;
0058   const edm::EDGetTokenT<edm::SimVertexContainer> tokSimVtx_;
0059 };
0060 
0061 #endif